Kommentarfunktion ausschalten

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Kommentarfunktion ausschalten

von chucky » Mi 28. Jul 2010, 15:24

Alles klar. Dann werd ich es so belassen wie es ist.

Danke für die Mühe.

von KOMA » Mi 28. Jul 2010, 12:37

chucky hat geschrieben:
KOMA hat geschrieben:Also dürfte es diesbezüglich kein Problem geben, solange man die gnuplot-Umgebung nicht im Argument eines LaTeX-Befehls verwendet.
Ist damit sowas gemeint?
\begin{figure}
	\begin{center}
		\begin{gnuplot}[terminal=epslatex]
[...]
		\end{gnuplot}
	\end{center}
\end{figure}
Nein. Damit ist so etwas gemeint:
\begin{figure]
\centerline{\begin{gnuplot}...\end{gnuplot}}
\end{figure}
Bei normalen Umgebungen wird der Inhalt nicht zu einem Befehlsargument. Das Problem bei Befehlsargumenten ist, dass das Argument komplett gelesen wird, bevor Teile des Arguments ausgeführt werden. Dabei werden dann auch bereits die Token gebildet. Der Kategorie-Code eines Zeichens zu diesem Zeitpunkt bestimmt, zu welcher Tokenklasse das Token gehört. Wenn also \begin{gnuplot} innerhalb eines Befehlsarguments steht, dann ändert diese Anweisung zwar den Kategorie-Code des % noch, aber das Prozent wurde bereits gelesen. In dem Fall wurde dann nicht einmal ein Token gebildet, sondern bereits beim Lesen alles bis zum Zeilnende weggeworfen.

Beispiel:
\newcommand{\machdas}{%
  \catcode`\%=12
  % Diese Zeile wirst Du nie wieder sehen
  \catcode`\%=14
}
\show\machdas
Da die gesamte Definition als Argument von \newcommand gelesen wird, ohne dass zuvor der Kategorie-Code von % geändert wurde, gibt die \show-Anweisung folgende Definition aus:
> \machdas=\long macro:
->\catcode `\%=12 \catcode `\%=14 .
Die Kommentarzeile ist also bereits weg und wurde nie Bestandteil der Definition von \machdas. Ändert man den Code jedoch in:
\catcode`\%=12
\newcommand{\machdas}{%
  % Diese Zeile, aber auch das Prozent davor ist Teil der Definition!
}
\catcode`\%=14
\show\machdas
Dann wird das Ergebnis so aussehen:
> \machdas=\long macro:
->% % Diese Zeile, aber auch das Prozent davor ist Teil der Definition! .
Dabei sind dann beide Prozentzeichen Token der Klasse 12 (other). Das Leerzeichen zwischen den beiden (und vor dem Ende-Markierungspunkt) kommt vom Zeilenumbruch.

von iTob » Mi 28. Jul 2010, 09:26

@KOMA
Ja, mag schon sein, das ich das mit diesem Paket "hinfrickeln" könnte, aber die Plots von TikZ sind einfach schöner... schon von vornherein ohne viel einstellen zu müssen...

von chucky » Mi 28. Jul 2010, 09:22

KOMA hat geschrieben:Also dürfte es diesbezüglich kein Problem geben, solange man die gnuplot-Umgebung nicht im Argument eines LaTeX-Befehls verwendet.
Ist damit sowas gemeint?
\begin{figure}
	\begin{center}
		\begin{gnuplot}[terminal=epslatex]
[...]
		\end{gnuplot}
	\end{center}
\end{figure}

von KOMA » Mi 28. Jul 2010, 08:04

Die Kurven bei gnuplot sind vielfältig konfigurierbar. Das geht auch bei Verwendung des Pakets. Wobei ich inzwischen auch eher tikz nehmen würde und sei es nur, weil ich mich lieber richtig in ein Paket/Konzept einarbeite als ein klein wenig in mehrere. Früher (so vor 18 Jahren?) habe ich aber sehr vieles mit gnuplot (ohne gnuplottex) gemacht. Manches hat zunächst eher mäßig gewirkt, nachdem an dem einen oder anderen Parameter gedreht wurde (bei 3D-plots ist der Sichtwinkel beispielsweise sehr entscheidend) hat sich das manchmal aber sehr dramatisch verbessert.

von iTob » Di 27. Jul 2010, 21:08

Aha... danke, aber das erzeugt keinen schönen glatten Graph (nimmt wohl put-Befehle im Hintergrund oder?)
Da bleib ich bei pgf/TikZ

von KOMA » Di 27. Jul 2010, 20:49

iTob hat geschrieben:Sag mal, mit welchem Paket wird die gnuplot-Umgebung zur verfügung gestellt?
Beispielsweise das Paket gnuplottex. Die dortige Umgebung gnuplotverbatimwrite setzte allerdings den Catcode des %-Zeichens (und aller anderen LaTeX-special-Characters) bereits auf 12 (other). Die Umgebung gnuplotverbatimwrite wiederum wird dort innerhalb der Umgebung gnuplot verwendet. Also dürfte es diesbezüglich kein Problem geben, solange man die gnuplot-Umgebung nicht im Argument eines LaTeX-Befehls verwendet.

Falls die Frage damit beantwortet ist, bitten den Status anpassen.

von iTob » Di 27. Jul 2010, 19:56

Danke! Das mit dem Beispiel eilt auch nicht ;-) Wenn du willst, kannst du auch einfach das Dokument schicken, in dem du es verwendest und ich suche mir dann selbst raus, was ich brauche...

von chucky » Di 27. Jul 2010, 17:09

Hm. Ich verstehs nicht.
-Also zuerst hatte ich versucht es in die Gruppe mit geschweiften Klammern zu nehmen und das ging nicht.
-Dann hab ich es so gemacht und das funktionierte:
\catcode`\%=12
...
\catcode`\%=14
-Dann habe ich es mit versucht zu verschönern mit:
\begin{figure}[pt, \catcode`\%=12] 
Und es funktionierte weiterhin.
-Jetzt hab ich "\catcode`\%=12" ganz rausgenommen und es geht immernoch.

Evt. ist es gar nicht Notwendig und ich hatte einen anderen Fehler drin. Obwohl der gleiche Code der in Latex nicht ging in gnuplot ohne latex funktionierte und das % definitiv in der gnuplot Umgebung als Kommentar funktioniert (habe ich gerade noch mal ausprobiert).

Wegen des Beispieles: Ich hab gerade ne habe Stunde versucht das blöde beispiel zu machen aber es geht nicht. Ich werds später noch mal versuchen.

von iTob » Di 27. Jul 2010, 16:11

Sag mal, mit welchem Paket wird die gnuplot-Umgebung zur verfügung gestellt?

Könntest du, damit ich das bei mir probieren kann, mal ein vollständiges Beispiel mit Dokumentenklasse, Präambel und allem drum und dran posten, bitte?

Viele Grüße
Tobi

Nach oben