Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Gnuplot-Ausgabe in PDFLaTeX

326 views
Skip to first unread message

Hannes Kuhnert

unread,
Jul 9, 2010, 10:00:03 AM7/9/10
to
Hallo,

ich verarbeite gerade die Ausgabe von Gnuplot mit PDFLaTeX weiter. Durch
langwierige Versuche bin ich dabei gelandet, mit Gnuplot EPS zu erzeugen und
das unter Benutzung von epstopdf (Ghostscript) einzubinden.

Zuletzt wollte ich die Qualität der Beschriftungen verbessern. Mitten im
Text soll zwischen aufrecht und kursiv gewechselt werden, griechische
Buchstaben und schöne Brüche hätte ich auch gerne dargestellt. Dazu bietet
sich PSfrag an, womit man bei in ein LaTeX-Dokument eingebundenem PostScript
LaTeX-Schnipsel einsetzen kann. Da, wie der Name schon andeutet, PSfrag
nicht mit PDFLaTeX funktioniert, ist die Idee, die Plots erst nach einer
„Vorbehandlung“ mit LaTeX in das eigentliche Dokument einzusetzen.

Bei dem PSfrag-Lauf kommt natürlich eine ganze Seite raus. Mit Hilfe des
Pakets „geometry“ werden die Papiergröße auf die aus der Gnuplot-
Eingabedatei gelesenen Werte und die Ränder auf Null gesetzt. Mit „parskip“
erhält man tatsächlich ein PostScript, dass den bearbeiteten Plot in
Originalanordnung zeigt. Das kann dann über Ghostscript im eigentlichen
Dokument benutzt werden.

Es funktioniert, elegant ist es aber nicht gerade. Gibt es eine bessere
Lösung?

Gnuplot hat ein paar merkwürdige Eigenschaften. Warum wird für EPS
die Schriftgröße halbiert? Kann man bei automatischer Achsenbeschriftung
auch die 0 rauslassen? In der Dokumentation scheint nichts dazu zu stehen,
was bei Gnuplot aber nicht viel bedeutet.

Wenn man ganz viel PostScript oder PDF einbindet, bindet man auch ganz viele
Schriften ein. Bei einer großen Arbeit hat man schnell 120 Schriftschnitte
drin, obwohl es nur zehn unterschiedliche sind. Lässt sich das automatisch
zusammenfassen?
--
Hannes Kuhnert, Chemnitz

Stefan Brinker

unread,
Jul 9, 2010, 12:58:14 PM7/9/10
to
Hallo,
da ich grad durch deine lange Beschreibung mangels Zeit und Kenntnis der
verschiedenen Sachen nicht durchsteige....
Hast du schon mal versucht, das Paket gnuplottex einzusetzen? Ich baue
mir damit direkt in den LaTeX-Quellcode den gnuplot-Code ein, dann hab
ich auch die Beschriftungen bereits eingefügt und alles ist bestens:-)

Hoffe das hilft!
Grüße
Stefan

Martin Schiewek

unread,
Jul 9, 2010, 1:07:00 PM7/9/10
to
Am 09.07.2010 16:00, schrieb Hannes Kuhnert:
> Hallo,
>
> ich verarbeite gerade die Ausgabe von Gnuplot mit PDFLaTeX weiter. Durch
> langwierige Versuche bin ich dabei gelandet, mit Gnuplot EPS zu erzeugen und
> das unter Benutzung von epstopdf (Ghostscript) einzubinden.
>
> Zuletzt wollte ich die Qualität der Beschriftungen verbessern. Mitten im
> Text soll zwischen aufrecht und kursiv gewechselt werden, griechische
> Buchstaben und schöne Brüche hätte ich auch gerne dargestellt. Dazu bietet
> sich PSfrag an, womit man bei in ein LaTeX-Dokument eingebundenem PostScript
> LaTeX-Schnipsel einsetzen kann. Da, wie der Name schon andeutet, PSfrag
> nicht mit PDFLaTeX funktioniert, ist die Idee, die Plots erst nach einer
> „Vorbehandlung“ mit LaTeX in das eigentliche Dokument einzusetzen.

Nimm in Gnuplot den terminal epslatex. Das erstellt zwei Dateien: eine
EPS-Datei mit allen Linien und und Punkten und ein Tex-File mit allen
Beschriftungen. In dein Hauptdokument bindest du dieses via
\input{gnuplot-tex-file} ein. Dieses wiederum beinhaltet den
\includegraphics{}-Befehl zum Einbinden des EPS-Files. Da der Aufruf
ohne Endung erfolgt, kannst du vorher epstopdf anwenden, damit
stattdessen das PDF eingebunden wird. Damit stehen dir alle
Möglichkeiten von Latex offen.

Es ist allerdings etwas nervig, die x- und ytics richtig zu setzen,
speziell wenn man größere Schriftarten hat, wie z.B. in Beamer. Man
sieht halt erst nach dem Latex-Lauf, dass die Zahlen an der Achse alle
überlappen. Wenn der Latexlauf etwas länger dauert, nervt das umso mehr.

Schönes WE!
Martin

Andreas Pöge

unread,
Jul 11, 2010, 3:07:25 AM7/11/10
to
Hallo,

> Es funktioniert, elegant ist es aber nicht gerade. Gibt es eine bessere
> Lösung?

es kommt vielleicht darauf an, was man mit Gnuplot macht. Ich lasse mir,
wenn ich z. B. Funktionsgraphen möchte, die Datenpunkte von Gnuplot in
ein File schreiben und plotte das dann direkt mit TiKZ/PGF.

Schöne Grüße
Andreas

Oliver Jennrich

unread,
Jul 11, 2010, 6:04:26 AM7/11/10
to
Andreas Pöge <andrea...@uni-bielefeld.de> writes:

Das ist sicher eine Möglichkeit. Aber warum nimmst du dann nicht gleich
'set term tikz'?

--
Space - The final frontier

Andreas Pöge

unread,
Jul 11, 2010, 11:32:30 AM7/11/10
to
Hi,

> Das ist sicher eine Möglichkeit. Aber warum nimmst du dann nicht gleich
> 'set term tikz'?

kannte ich ncoh gar nicht. Außerdem ist dann wohl die Frage, was man besser beherrscht, Gnuplot oder PGF. Bei mir ist
das definitiv das letztgenannte Programm, daher verwende ich Gnuplot hauptsächlich nur um Datenpunkte zu erzeugen...

GRuß
Andreas

>

Hannes Kuhnert

unread,
Jul 11, 2010, 1:18:54 PM7/11/10
to
Stefan Brinker schrieb:

> da ich grad durch deine lange Beschreibung mangels Zeit und Kenntnis der
> verschiedenen Sachen nicht durchsteige....
> Hast du schon mal versucht, das Paket gnuplottex einzusetzen?

Inzwischen schon – funktioniert gut, bis auf die fehlende Möglichkeit,
automatische Beschriftung nachträglich bearbeiten zu können.
--
Hannes Kuhnert, Chemnitz

Hannes Kuhnert

unread,
Jul 11, 2010, 1:20:31 PM7/11/10
to
Andreas Pöge schrieb:

> Ich lasse mir,
> wenn ich z. B. Funktionsgraphen möchte, die Datenpunkte von Gnuplot in
> ein File schreiben und plotte das dann direkt mit TiKZ/PGF.

Datenpunkte plotten, wenn eine explizite Funktion gegeben ist? Das klingt
nicht gesund.
--
Hannes Kuhnert, Chemnitz

Hannes Kuhnert

unread,
Jul 11, 2010, 12:56:47 PM7/11/10
to
Martin Schiewek schrieb:

> Nimm in Gnuplot den terminal epslatex. Das erstellt zwei Dateien: eine
> EPS-Datei mit allen Linien und und Punkten und ein Tex-File mit allen
> Beschriftungen. In dein Hauptdokument bindest du dieses via
> \input{gnuplot-tex-file} ein. Dieses wiederum beinhaltet den
> \includegraphics{}-Befehl zum Einbinden des EPS-Files. Da der Aufruf
> ohne Endung erfolgt, kannst du vorher epstopdf anwenden, damit
> stattdessen das PDF eingebunden wird. Damit stehen dir alle
> Möglichkeiten von Latex offen.

Da ich deinen Beitrag nicht richtig verstanden hatte, hab ich es erst mal
unnötig kompliziert gemacht: Ich ließ die Plots erst jeweils einzeln vom
„normalem“ LaTeX zusammenbauen und dann die fertigen Bildchen in das mit
PDFLaTeX zu produzierende Dokument einsetzen. Durch Zufall stieß ich im Web
auf die Information, dass epslatex auch mit PDFLaTeX funktionieren würde
(was du ja schon schriebst), worauf hin ich mein Skript nochmal umbaute.

Mit dieser direkteren Lösung fiel ein Problem auf: Gnuplot setzt, wenn der
Graph nicht die ganze Leinwand einnimmt, die Bounding Box falsch. Das führt
in PDFLaTeX bei Konvertierung des Roh-Plots mit epstopdf (Ghostscript) dazu,
dass weiter außen liegender Inhalt nicht erscheint.

Als ich das PostScript-Terminal benutzte, ließ ich die Beschriftungen im
fertigen Plot von PSfrag auswechseln. Für epslatex ging ich dazu über, in
den einzelnen Gnuplot-LaTeX-Dateien die Beschriftungen tauschen zu lassen –
bis mir einfiel, dass ich im Epslatex-Terminal wahrscheinlich direkt in der
Gnuplot-Eingabe LaTeX-Code verwenden kann … was wohl Hauptvorteil gegenüber
dem einfachen PostScript-Terminal ist. Also hab ich das Skript wiedermal
umgedengelt.

Schön ist bei epslatex, dass man ein echtes Minus einsetzen kann, was mir
mit bei PSfrag nie gelang. (Warum setzt Gnuplot die „Tics“ nicht gleich im
Mathe-Modus?) Günstig ist außerdem, dass Schriften nur einmal eingebunden
werden.

> Es ist allerdings etwas nervig, die x- und ytics richtig zu setzen,
> speziell wenn man größere Schriftarten hat, wie z.B. in Beamer.

Das Achsenzeichnen und -beschriften scheint mir das Unangenehmste in Gnuplot
zu sein. Warum bspw. lassen sich die Achsen nicht direkt mit Pfeilen
versehen?

> Man
> sieht halt erst nach dem Latex-Lauf, dass die Zahlen an der Achse alle
> überlappen. Wenn der Latexlauf etwas länger dauert, nervt das umso mehr.

Man kann da ja auch eine kleine Sonder-Test-Seite benutzen.
--
Hannes Kuhnert, Chemnitz

Andreas Pöge

unread,
Jul 11, 2010, 1:47:06 PM7/11/10
to

> Datenpunkte plotten, wenn eine explizite Funktion gegeben ist? Das klingt
> nicht gesund.

Hä, wieso das denn? ... wie auch immer, vielleicht reden wir aneinander vorbei. Was ich meine steht im PGF-Manual auf
Seite 194 unter "18.4 Plotting Points Read From an External File". Funktioniert 1a, den Rest mach ich direkt mit TiKZ.

Gruß
Andreas

Oliver Jennrich

unread,
Jul 11, 2010, 2:12:38 PM7/11/10
to
Hannes Kuhnert <hannes....@gmx.de> writes:

Wenn du nicht gerade einen Analogplotter zur Ausgabe verwendest, wird
dir nichts anderes übrig bleiben.

Kai Kratt

unread,
Jul 12, 2010, 4:02:18 AM7/12/10
to
Ich hatte ein ähnliches Problem mit dem Rand und es wurde hier gelöst:
http://groups.google.com/group/comp.graphics.apps.gnuplot/browse_thread/thread/c68408528e8951db/d68439df0edf1c1e?hl=de#d68439df0edf1c1e

Man muss einmal etwas rumprobieren bis der gewünschte Rand mit der
Größe übereinstimmt. Bei mir funktioniert
set terminal epslatex size 6cm, 4cm header "\\small\
\figureversion{tabular}"
set lmargin 6
set bmargin 2.75
set rmargin 0.2
set tmargin 0.1

Ich setze dann die labels nicht mit xlabel/ylabel, sondern mit
set label "$t$/\\second" at 2,screen 0.05 center
set label "$F_x$/\\newton" at screen 0.01,first 0 center # rotate
by ...

Pfeile gibts so:
set arrow from screen 0.7, screen 0.05 to screen 0.8,screen 0.05
set arrow from screen 0.01, screen 0.7 to screen 0.01, screen 0.85

Wie schon erwähnt, die .eps Datei in ein .pdf umwandeln und die .tex
wie üblich einbinden

Dirk Krause

unread,
Jul 12, 2010, 7:16:06 AM7/12/10
to
Hannes Kuhnert <hannes....@gmx.de> wrote in
news:5kmjg7-...@zuhause.froschmaschine.net:

> Hallo,
>
> ich verarbeite gerade die Ausgabe von Gnuplot mit PDFLaTeX weiter.
> Durch langwierige Versuche bin ich dabei gelandet, mit Gnuplot EPS zu
> erzeugen und das unter Benutzung von epstopdf (Ghostscript)
> einzubinden.

...


> Es funktioniert, elegant ist es aber nicht gerade. Gibt es eine
> bessere Lösung?

...

Hallo,
ich verwende das MetaPost-Terminal, um GnuPlot-Ausgaben in LaTeX
einzubinden. In
http://www.fh-schmalkalden.de/schmalkaldenmedia/gos.pdf
findest Du in Kapitel 2.9 (GnuPlot und LaTeX) Details dazu.
Gruss,

Dirk

Martin Schiewek

unread,
Jul 12, 2010, 5:41:51 AM7/12/10
to
Am 11.07.2010 18:56, schrieb Hannes Kuhnert:
> Mit dieser direkteren Lösung fiel ein Problem auf: Gnuplot setzt, wenn der
> Graph nicht die ganze Leinwand einnimmt, die Bounding Box falsch. Das führt
> in PDFLaTeX bei Konvertierung des Roh-Plots mit epstopdf (Ghostscript) dazu,
> dass weiter außen liegender Inhalt nicht erscheint.

Das ist aber auch beim terminal "postscript eps" so. Wenn du z.B.
rmargin=0 setzt, dann ist der rechte tic an der x-Achse angeschnitten.

> Als ich das PostScript-Terminal benutzte, ließ ich die Beschriftungen im
> fertigen Plot von PSfrag auswechseln. Für epslatex ging ich dazu über, in
> den einzelnen Gnuplot-LaTeX-Dateien die Beschriftungen tauschen zu lassen –
> bis mir einfiel, dass ich im Epslatex-Terminal wahrscheinlich direkt in der
> Gnuplot-Eingabe LaTeX-Code verwenden kann

Ja, das ist der Sinn von epslatex. Wichtig ist nur, dass man den Code in
einfache Hochkommata statt Anführungszeichen setzt.

> (Warum setzt Gnuplot die „Tics“ nicht gleich im Mathe-Modus?)

Das ist mir auch schon negativ aufgefallen. Wie hast du es ändern können?

Gruß!
M.

Hannes Kuhnert

unread,
Jul 12, 2010, 7:45:07 AM7/12/10
to
Oliver Jennrich schrieb:

> Hannes Kuhnert <hannes....@gmx.de> writes:
>
>> Datenpunkte plotten, wenn eine explizite Funktion gegeben ist? Das klingt
>> nicht gesund.
>
> Wenn du nicht gerade einen Analogplotter zur Ausgabe verwendest, wird
> dir nichts anderes übrig bleiben.

Es macht aber einen Unterschied, ob das Ganze im Drucker(treiber) oder
irgendwo vorher diskretisiert wird.

Ich ging ja davon aus, dass Gnuplot wenn möglich die Funktion oder eine
diese näherungsweise darstellende Bezierkurve oder so in der Ausgabesprache
formuliert. Genaues Hinschauen offenbart allerdings, dass Gnuplot selbst
eine einfache Sinusfunktion in PostScript durch aneinandergereihte Strecken
darstellt.
--
Hannes Kuhnert, Chemnitz

Martin Schiewek

unread,
Jul 12, 2010, 7:52:20 AM7/12/10
to
> Ich ging ja davon aus, dass Gnuplot wenn möglich die Funktion oder eine
> diese näherungsweise darstellende Bezierkurve oder so in der Ausgabesprache
> formuliert. Genaues Hinschauen offenbart allerdings, dass Gnuplot selbst
> eine einfache Sinusfunktion in PostScript durch aneinandergereihte Strecken
> darstellt.

Es sind standardmäßig 100 Punkte vorgesehen, welche mit "set samples
<value>" geändert werden können.

Hannes Kuhnert

unread,
Jul 12, 2010, 8:25:01 AM7/12/10
to
Kai Kratt schrieb:

> Ich hatte ein ähnliches Problem mit dem Rand und es wurde hier gelöst:
>
http://groups.google.com/group/comp.graphics.apps.gnuplot/browse_thread/thread/c68408528e8951db/d68439df0edf1c1e?hl=de#d68439df0edf1c1e
>
> Man muss einmal etwas rumprobieren bis der gewünschte Rand mit der
> Größe übereinstimmt. Bei mir funktioniert
> set terminal epslatex size 6cm, 4cm header "\\small\
> \figureversion{tabular}"
> set lmargin 6
> set bmargin 2.75
> set rmargin 0.2
> set tmargin 0.1

Anders als geschrieben wurde bei dir nicht die Leinwandgröße, sondern die
Größe des Plotbereichs unpassend gesetzt. Gnuplot hat halt keine Ahnung, wie
groß das Resultat der LaTeX-Formulierungen ausfällt.

Bei mir wurde bei mittels „set size“ veränderter Plot-Größe (um rechts Platz
für die Legende zu schaffen) die Bounding Box fälschlicherweise ebenfalls
mit dem Plotbereichs-Faktor skaliert, sodass sie kleiner als die eigentliche
Leinwand wurde. Beim Konvertieren mit Ghostscript geht Inhalt außerhalb der
Bounding Box verloren; deshalb lasse ich die zweiten Bounding-Box-Angaben im
EPS durch willkürlich gewählte große Werte ersetzen. Bei der Einbindung in
LaTeX ist es egal, wenn die zu groß sind.

> Pfeile gibts so:
> set arrow from screen 0.7, screen 0.05 to screen 0.8,screen 0.05
> set arrow from screen 0.01, screen 0.7 to screen 0.01, screen 0.85

… wenn ich mich nicht irre passen die allerdings nur, wenn man sich auf den
ersten Quadranten beschränkt.

Meine Lösung
set arrow to 0,80 ls 10 size 0.1,15,30 filled
set arrow to 2*pi,0 ls 10 size 0.1,15,30 filled
formuliert direkter, allerdings müssen die Enden der Koordinatenachsen
manuell gesetzt werden. Das ist Mist.

Es wundert mich nach wie vor, dass es kein Pfeil-Attribut für die Achsen
gibt und die Achsenbeschriftungen nicht automatisch an die Achsenenden
gesetzt werden können. Möglicherweise sind die Gepflogenheiten anderswo
anders. Ich wiederhol mich gerade …
--
Hannes Kuhnert, Chemnitz

Hannes Kuhnert

unread,
Jul 12, 2010, 10:29:29 AM7/12/10
to
Martin Schiewek schrieb:

> Am 11.07.2010 18:56, schrieb Hannes Kuhnert:
>> Mit dieser direkteren Lösung fiel ein Problem auf: Gnuplot setzt, wenn
>> der Graph nicht die ganze Leinwand einnimmt, die Bounding Box falsch. Das
>> führt in PDFLaTeX bei Konvertierung des Roh-Plots mit epstopdf
>> (Ghostscript) dazu, dass weiter außen liegender Inhalt nicht erscheint.
>
> Das ist aber auch beim terminal "postscript eps" so. Wenn du z.B.
> rmargin=0 setzt, dann ist der rechte tic an der x-Achse angeschnitten.

Anscheinend wegen der Vorbehandlung des EPS durch LaTeX (zwecks Bearbeitung
der Beschriftungen mit PSfrag) schlug das Problem bei mir da nicht durch.

>> […]
>> – bis mir einfiel, dass ich im Epslatex-Terminal wahrscheinlich direkt in


>> der Gnuplot-Eingabe LaTeX-Code verwenden kann
>
> Ja, das ist der Sinn von epslatex. Wichtig ist nur, dass man den Code in
> einfache Hochkommata statt Anführungszeichen setzt.

Welchen Vorteil bringt das? Bei mir funktioniert es nämlich mit „"“.

>> (Warum setzt Gnuplot die „Tics“ nicht gleich im Mathe-Modus?)
>
> Das ist mir auch schon negativ aufgefallen. Wie hast du es ändern können?

Ich hab es nicht ändern können. Deshalb lasse ich im von Gnuplot ausgegeben
LaTeX-Code mittels ed „-“ (U+002D) durch „−“ (U+2212) ersetzen. Dafür
braucht man das Paket „uniinput“; alternativ kann man \ensuremath{-}
schreiben. Einfach so „−“ scheint LaTeX gar nicht setzen zu können.
--
Hannes Kuhnert, Chemnitz

Hannes Kuhnert

unread,
Jul 12, 2010, 10:49:57 AM7/12/10
to
Dirk Krause schrieb:

> ich verwende das MetaPost-Terminal, um GnuPlot-Ausgaben in LaTeX
> einzubinden. In
> http://www.fh-schmalkalden.de/schmalkaldenmedia/gos.pdf
> findest Du in Kapitel 2.9 (GnuPlot und LaTeX) Details dazu.

Arial eingebunden (Titelseite), das tut weh.

Als Vorteil gegenüber epslatex erkenne ich, dass man die Grafik leichter
bearbeiten kann. Allerdings ist mir unklar, in welchem Zusammenhang das
nützlich sein könnte.

Warum eigentlich erklärst du MetaPost-Gnuplot so ausführlich, wenn du wegen
DIN 461 (die an mir bisher spurlos vorüberging) PSTricks empfiehlst? Und
welche Eigenschaften von Gnuplot stehen mit DIN 461 im Widerspruch?
--
Hannes Kuhnert, Chemnitz

Martin Schiewek

unread,
Jul 12, 2010, 11:35:43 AM7/12/10
to
>>> – bis mir einfiel, dass ich im Epslatex-Terminal wahrscheinlich direkt in
>>> der Gnuplot-Eingabe LaTeX-Code verwenden kann
>>
>> Ja, das ist der Sinn von epslatex. Wichtig ist nur, dass man den Code in
>> einfache Hochkommata statt Anführungszeichen setzt.
>
> Welchen Vorteil bringt das? Bei mir funktioniert es nämlich mit „"“.

OK, dann liege ich falsch. Ich hätte gedacht, dass der String nur
interpretiert wird, wenn er in einfach Hochkommata eingeschlossen ist.
Das gilt aber vielleicht nur in PS.

>>> (Warum setzt Gnuplot die „Tics“ nicht gleich im Mathe-Modus?)
>>
>> Das ist mir auch schon negativ aufgefallen. Wie hast du es ändern können?
>
> Ich hab es nicht ändern können. Deshalb lasse ich im von Gnuplot ausgegeben
> LaTeX-Code mittels ed „-“ (U+002D) durch „−“ (U+2212) ersetzen. Dafür
> braucht man das Paket „uniinput“; alternativ kann man \ensuremath{-}
> schreiben. Einfach so „−“ scheint LaTeX gar nicht setzen zu können.

Ich verstehe nicht, was das bewirken soll. Wenn am tic die z.B. Zahl
3.14 stehen soll, dann muss der Code dazu doch $3.14$ lauten. macht
Gnuplot aber nicht. Mit Komma als Dezimaltrenner müsste es sogar
$3{,}14$ lauten.

In einer Publikation (deutscher Text) sah das nicht so toll aus, weil
die Text-Zahlen an den Achsen ein eckiges Komma hatten, die
Mathemodus-Zahlen aufgrund der Matheschriftart dagegen ein rundes. Ich
hätte mir die Matheschriftart an den Achsen sehr gewünscht, habe es aber
aus Zeitgründen gelassen. Die Mehrheit sieht es sowieso nicht. :-)

Andrea Blomenhofer

unread,
Jul 13, 2010, 3:47:52 AM7/13/10
to
Hallo Hannes, hallo Martin,

On 12 Jul., 17:35, Martin Schiewek <donot...@invalid.invalid> wrote:
> >> Das ist mir auch schon negativ aufgefallen. Wie hast du es ändern können?
>
> > Ich hab es nicht ändern können. Deshalb lasse ich im von Gnuplot ausgegeben

> > LaTeX-Code mittels ed "-" (U+002D) durch "-" (U+2212) ersetzen. Dafür


> > braucht man das Paket "uniinput"; alternativ kann man \ensuremath{-}

> > schreiben. Einfach so "-" scheint LaTeX gar nicht setzen zu können.


>
> Ich verstehe nicht, was das bewirken soll. Wenn am tic die z.B. Zahl
> 3.14 stehen soll, dann muss der Code dazu doch $3.14$ lauten. macht
> Gnuplot aber nicht. Mit Komma als Dezimaltrenner müsste es sogar
> $3{,}14$ lauten.

man kann in Gnuplot das Format der Tics explizit vorgeben, und dabei
auch die $ gleich setzen lassen:

set format x '$%g$'
oder gleich sowas wie

set format x '\num{%g}'
bei Anwendung des Pakets siunitx

Mit
help format
in Gnuplot gibt's noch mehr Informationen.

Gruß,
Andrea

Andrea Blomenhofer

unread,
Jul 13, 2010, 3:50:34 AM7/13/10
to
On 13 Jul., 09:47, Andrea Blomenhofer <andrea_use...@freenet.de>
wrote:

> set format x '\num{%g}'
> bei Anwendung des Pakets siunitx

Nachtrag:
hab es in Gnuplot grade nicht getestet, wahrscheinlich sollten solche
LaTeX-Makros aber in double quotes gesetzt werden:

set format x "\num{%g}"

Gruß,
Andrea

Martin Schiewek

unread,
Jul 13, 2010, 3:53:44 AM7/13/10
to

Vielen Dank!
M.

Hannes Kuhnert

unread,
Jul 13, 2010, 6:42:20 AM7/13/10
to
>> Ich hab es nicht ändern können. Deshalb lasse ich im von Gnuplot
>> ausgegeben LaTeX-Code mittels ed „-“ (U+002D) durch „−“ (U+2212)
>> ersetzen. Dafür braucht man das Paket „uniinput“; alternativ kann man
>> \ensuremath{-} schreiben. Einfach so „−“ scheint LaTeX gar nicht setzen
>> zu können.

Martin Schiewek schrieb:

> Ich verstehe nicht, was das bewirken soll.

Es setzt ein richtiges Minus ein. Damit ist optisch bis auf den minimal
anderen Abstand zwischen Minus und Zahl kein Unterschied zum Mathe-Satz
erkennbar. Andreas Lösungen sind durchaus „richtiger“.

> Wenn am tic die z.B. Zahl
> 3.14 stehen soll, dann muss der Code dazu doch $3.14$ lauten. macht
> Gnuplot aber nicht. Mit Komma als Dezimaltrenner müsste es sogar
> $3{,}14$ lauten.

Mit \usepackage{icomma} kann man direkt $3,14$ schreiben.

Gnuplot bietet „set decimalsign locale“ und „set decimalsign ","“, der
Unterschied zwischen beiden besteht darin, dass ersteres auch die Eingabe
betrifft.

> In einer Publikation (deutscher Text) sah das nicht so toll aus, weil
> die Text-Zahlen an den Achsen ein eckiges Komma hatten, die
> Mathemodus-Zahlen aufgrund der Matheschriftart dagegen ein rundes.

Bei mir ist die Schriftart, die für Zahlen und Buchstaben im Mathe-Modus
genommen wird, die, die auch allgemein für Text genommen wird. Eine Mischung
aus zwei Serifenschriften sieht typischerweise nicht gut aus.

> Die Mehrheit sieht es sowieso nicht. :-)

Das versteht sich von selbst.

Ein Dokument als Ganzes kann beim Leser aber durchaus formal einen positiven
Eindruck hinterlassen, ohne dass der das an Details festmachen könnte.
--
Hannes Kuhnert, Chemnitz

Dirk Krause

unread,
Jul 14, 2010, 12:06:07 PM7/14/10
to
Hannes Kuhnert <hannes....@gmx.de> wrote in
news:mlmrg7-...@zuhause.froschmaschine.net:

...


> Arial eingebunden (Titelseite), das tut weh.

Das ist dem Corporate Design geschuldet.

> Als Vorteil gegenüber epslatex erkenne ich, dass man die Grafik


> leichter bearbeiten kann. Allerdings ist mir unklar, in welchem

> Zusammenhang das nützlich sein könnte.

Z.B. wenn ich das Diagramm in ein Zentimeter-Maß bringen oder
anderweitig die Höhe/Breite vorgeben möchte.
Oder ich möchte im Diagramm die gleiche Schrift in der gleichen Größe
verwenden, wie im Text (geht sicherlich mit epslatex auch).

> Warum eigentlich erklärst du MetaPost-Gnuplot so ausführlich, wenn
> du wegen DIN 461 (die an mir bisher spurlos vorüberging) PSTricks
> empfiehlst?

Diagramme zu erstellen, gelingt mir mit GnuPlot leichter und schneller
als mit PSTricks. Daher verwende ich PSTricks nur, wenn das Diagramm
DIN-461-gerecht sein soll.
Wenn ich beide Möglichkeiten darstelle, hat der Leser je nach
Verwendungszweck des Diagrammes die Auswahl, welche Methode er benutzt.

> Und welche Eigenschaften von Gnuplot stehen mit DIN 461 im
> Widerspruch?

Es ist vermutlich möglich, mit GnuPlot Diagramme entsprechend DIN 461
zu erzeugen, vielleicht habe ich manche Einstellungen auch nur noch nicht
gefunden:
- Erstellung des Pfeils neben bzw. über dem Label für x- und y-Achse.
- Platzieren der Einheit zwischen vorletztem und letzten Skalenwert.
- Wenn die Skalenwert-Texte dicht beieinander stehen, wie lasse ich
den vorletzten Skalenwert weg und platziere an dessen Stelle die
Einheit?
Mit PSTricks empfand ich diese Dinge als vergleichsweise einfach
realisierbar.

Wie relevant DIN 461 ist, sehen unsere Profs unterschiedlich.
Einige achten stark darauf, haben diese DIN z.T. in ihren Laboren
ausliegen oder aushängen, weil bereits für die Laborversuche die Diagramme
DIN-gerecht sein sollen. Da würde ich davon ausgehen, dass
diese Profs dann bei Bachelor-, Master- und Diplomarbeiten
auch darauf achten.
Andere sehen das nicht so eng und schreiben die Einheiten in eckige
Klammern...
Es kommt auch auf den Studiengang an, in technischen Studiengängen
(z.B. Elektrotechnik, Maschinenbau) spielen DIN-Normen sicher eine
größere Rolle als in anderen Studiengängen.

Gruß,

Dirk


Dirk Krause

unread,
Jul 14, 2010, 12:19:56 PM7/14/10
to
Dirk Krause <dev...@fh-schmalkalden.de> wrote in
news:Xns9DB5B8252CF74de...@141.35.1.30:

> - Erstellung des Pfeils neben bzw. über dem Label für x- und y-Achse.
> - Platzieren der Einheit zwischen vorletztem und letzten Skalenwert.
> - Wenn die Skalenwert-Texte dicht beieinander stehen, wie lasse ich
> den vorletzten Skalenwert weg und platziere an dessen Stelle die
> Einheit?
> Mit PSTricks empfand ich diese Dinge als vergleichsweise einfach
> realisierbar.

Habe gerade nochmal darüber nachgedacht. Anstatt die Einheit zwischen
vorletzten und letzten Skalenwert zu schreiben, kann man als Achsenlabel
natürlich auch einen Bruch Größe geteilt durch Einheit verwenden.
und für die Pfeile gibt es \rightarrow...
Da werde ich wohl bei Gelegenheit meine Anleitung etwas verbessern
und PSTricks zwar noch erwähnen, aber nicht so in den Vordergrund
stellen.

Hannes Kuhnert

unread,
Jul 14, 2010, 2:47:58 PM7/14/10
to
Dirk Krause schrieb:

> Hannes Kuhnert <hannes....@gmx.de> wrote in
> news:mlmrg7-...@zuhause.froschmaschine.net:
>
> ...
>> Arial eingebunden (Titelseite), das tut weh.
>
> Das ist dem Corporate Design geschuldet.

Naja, die „Vorschrift“, Arial zu verwenden, kennzeichnet eher die
Abwesenheit eines Corporate Designs. Es gibt da so merkwürdige „Lösungen“,
dass Schrift X Hausschrift und für die werbliche Kommunikation zu verwenden
sei, und ansonsten, weil die meisten Schreiber ja sowieso keine Lust haben,
die durchaus zur Verfügung gestellte Schrift zu installieren, Arial benutzt
werden soll.

Statt Arial kann man auch einfach Helvetica (Nimbus Sans …) nehmen. Die
wenigen Leute, die sowas zu erkennen vermögen, werden das eher begrüßen als
kritisieren.

>> Als Vorteil gegenüber epslatex erkenne ich, dass man die Grafik


>> leichter bearbeiten kann. Allerdings ist mir unklar, in welchem

>> Zusammenhang das nützlich sein könnte.
>
> Z.B. wenn ich das Diagramm in ein Zentimeter-Ma� bringen oder
> anderweitig die H�he/Breite vorgeben m�chte.

Indem ich Ränder und Plotbereich explizit vorgebe, kann ich das auch in
epslatex realisieren – so sieht mir das theoretisch aus, ich hab’s nicht
ausprobiert.

> Oder ich m�chte im Diagramm die gleiche Schrift in der gleichen Gr��e


> verwenden, wie im Text (geht sicherlich mit epslatex auch).

Epslatex hat die besondere Eigenschaft, dass das da automatisch so ist, wenn
man keine Schriftvorgaben setzt.

>> Und welche Eigenschaften von Gnuplot stehen mit DIN 461 im
>> Widerspruch?
>

> Es ist vermutlich m�glich, mit GnuPlot Diagramme entsprechend DIN 461


> zu erzeugen, vielleicht habe ich manche Einstellungen auch nur noch nicht
> gefunden:

> - Erstellung des Pfeils neben bzw. �ber dem Label f�r x- und y-Achse.

set arrow

> - Platzieren der Einheit zwischen vorletztem und letzten Skalenwert.

set label

> - Wenn die Skalenwert-Texte dicht beieinander stehen, wie lasse ich
> den vorletzten Skalenwert weg und platziere an dessen Stelle die
> Einheit?

set xtics bzw. set ytics

Das ist allerdings alles vollmanuell.

> Mit PSTricks empfand ich diese Dinge als vergleichsweise einfach
> realisierbar.
>
> Wie relevant DIN 461 ist, sehen unsere Profs unterschiedlich.
> Einige achten stark darauf, haben diese DIN z.T. in ihren Laboren

> ausliegen oder aush�ngen, weil bereits f�r die Laborversuche die Diagramme
> DIN-gerecht sein sollen.

Bei einer FH hätte ich das nicht erwartet.

Dein Artikel enthält übrigens trotz Benutzung von Nicht-ASCII-Zeichen keine
Zeichensatzdeklaration.
--
Hannes Kuhnert, Chemnitz

0 new messages