[LateX] Vektorgrafiken mit mathematischen Formeln einbinden?

G

Green Mamba

Gast
Hallo,

während meiner Diplomarbeit bin ich auf ein Problem gestoßen. Ich arbeite unter Linux, und benutze Kile, sowie momentan XFig (bin für Vorschläge auf bessere Software dankbar), um damit Vektorgrafiken im *.eps Format zu erstellen. Diese lassen sich ja recht einfach in Latex-Dokumente einbetten. Jetzt habe ich allerdings das Problem dass ich recht häufig (Thema hat was mit Computergrafik zu tun) Bilder mit eingebetteten Mathematischen Formeln erstellen muss. Laut Doku zu xfig kann man das als Text einfügen, und in den Eigenschaften des Textes "Special Flag" auf "special" stellen. Damit sollte es eigentlich möglich sein, eigene Formelausdrücke, welche in $eingebunden$ sind, in die Grafik einzufügen.
Allerdings werden die Formeln weiterhin als Text eingefügt, mitsamt der $-Zeichen. :(
Ich habe schon mehrere Grafikformate versucht, allerdings klappts bei keinem. Teilweise wird sogar der Text gar nicht mehr angezeigt. Zudem sollte die eingegebene Formel doch auch in der normalen Ansicht von XFig als Formel dargestellt werden, und nicht als Formelbeschreibung!?
Hat vielleicht jemand eine gute Alternative zu XFig? Die Bedienung ist ja, gelinde gesagt, etwas gewöhnungsbedürftig...

Viele Grüße,
Green Mamba
 
Also meine Heransgehensweise wäre folgende, wenn ich dich richtig verstanden habe:
1. Die mathematischen Formel, die in den Vektorgrafiken auftauchen sollen, erstmal in einem separaten Latex-Dokument abspeichern.
2. Dieses Dokument mit Latex2html übersetzen. Dabei werden alle Formeln als .ps-Bildchen ausgegeben.
3. Diese Bildchen nachträglich z. B. mit dem Gimp in die fertigen Grafiken einfügen. Unter Umständen geht das auch mit Latex und der Picture-Umgebung selber, da bin ich aber nicht sicher.

Das ist zwar leider ziemlich umständlich, sieht aber gut aus (weil du ja die Formeln mit Latex und somit den "guten" Fonts erzeugst).
Um deine zweite Frage zu beantworten: der Gimp kann eps erzeugen. Und es gibt noch ein anderes Programm, von dem mir dummerweise gerade der Name nicht einfällt. Das ist auch so ähnlich wie XFig. Ich denke weiter drüber nach. Wenn ich mich erinnere, dann schreib ich nochmal.
Ich hoffe, es war wenigstens partiell hilfreich.
 
Wenn ich das nach deinen 3 Schritten mache, hab ich die Grafik anschließend im Pixelformat, oder? Außerdem muss das doch einfacher gehen. Bei mir werden sicherlich dutzende dieser Grafiken zum Einsatz kommen, das wäre ein ganz schöner Aufwand. :(
Aber trotzdem vielen Dank schonmal für´s nachdenken. :)
Ich ging bislang übrigens immer davon aus, dass Gimp ausschließlich Pixelgrafiken ausgibt und bearbeitet.
 
Also, ich hab noch was gefunden:
http://latex.tugraz.at/fortgeschrittene.php#xfig

Da steht genau wie das funktioniert.
Das Wichtigste:
1. Du musst transfig installiert haben (fig2dev)
2. Starte XFig mit den richtigen Parametern: xfig -specialtext -latexfonts -startlatexFont default
3. Erzeuge ganz normal dein Bild mit Xfig und schreibe mit dem normalen Textmodus (flag auf special setzen) deine Formeln mit den $...$.
4. Abspeichern als datei.fig
5. Datei->Exportieren als "Combined PS/LaTeX (both parts)" .
6. Erhalte name und name_t.
7. mv name name.eps
8. Im Latex-Dokument einfach mit \input{name_t} die Sache einbinden

Hat bei mir gerade wunderbar funktioniert!
 
Wunderbar, jetzt funktionierts. :)
Allerdings bekomme ich jetzt bei dem einen Bild schon 6 (!) Latex-Fehler angezeigt.

Auszug aus der Logdatei schrieb:
Kapitel 2.
(./Grundlagen/Finite_Elemente.tex
(/usr/share/texmf/tex/latex/ucs/data/uni-0.def) (./Bilder/amoebe-test_t
<amoebe-test.eps>
! Missing $ inserted.
<inserted text>
$
l.14 }}}}

! Extra }, or forgotten $.
<argument> ...\updefault }{\color [rgb]{0,0,0}Q_1}
}
l.14 }}}}

! Extra }, or forgotten $.
<argument> ...updefault }{\color [rgb]{0,0,0}Q_1}}

l.14 }}}}

! Missing $ inserted.
<inserted text>
$
l.14 }}}}

! Missing } inserted.
<inserted text>
}
l.14 }}}}

! Missing } inserted.
<inserted text>
}
l.14 }}}}

)
Overfull \hbox (1.86066pt too wide) in paragraph at lines 3--9
[][][]
) (./Grundlagen/Materialeigenschaften.tex [2]) [3] [4]
Kapitel 3.

Anscheinend befinden sich diese Fehler im Code der Bilddateien. Was mach ich jetzt noch falsch?

//Edit
Niemand eine Idee? Wo sind denn all die diplomierten, die müssten doch die gleichen Probleme gehabt haben!? :D

//Edit2
Hallo? Weiß denn niemand Rat?
 
Zuletzt bearbeitet:
Puh, ab jetzt wird halt richtig eklig mit den Bildchen. Also wenn ich das richtig verstanden habe, dann kommen diese Bilder aus dem automatisch mit Xfig generierten Tex-File?
Hast du mal versucht, dieses Tex-File manuell zu editieren und dir die Zeile 14 angeschaut? Das wäre jetzt noch meine Idee dazu.

Tut mir leid, aber mehr fällt mir dazu nicht ein. Der Xfig-Code sollte schon richtig sein. Wenn es nicht allzu großer Aufwand ist, wie wärs, wenn du das Bild einfach mal neu erstellst? Oder lass zuerst einfach mal die Farben raus.

Ansonsten schick mir doch mal das .fig-File, das dieses spezielle Bild enthält. Dann versuche ich mal bei mir, das zum Laufen zu bringen.
 
Ok, also irgendwie lag es wohl an der fig-Datei. Ich habe zum testen nochmal eine neue Grafik erstellt, damit gehts dann plötzlich. :freak:
Gibts denn bei dieser Methode eine Möglichkeit, die Skalierung und Position der Grafik im Dokument vorzugeben? Die Position klappt auch schon, aber wie skaliere ich das? Momentan mache ich es folgendermaßen:
Code:
\begin{figure}[b]
\begin{center}
\input Bilder/test2_t
\caption{Test-Amöbe}
\end{center}
\end{figure}
Ach ja, und warum muss man die Bilddateien manuell in *.eps umbenennen? :confused_alt:

//Edit
Seltsam, sobald die Bilder etwas komplexer werden, gibts wieder Fehlermeldungen. :heul:
Ich hab ein einfaches Beispielbild angehangen. Ich kann mit einem Texteditor keinen wirklichen Fehler finden. :(
 

Anhänge

Zuletzt bearbeitet:
skaliert wird mit dem "\size" Befehl wenn ich mich richtig erinnere (meine Zeiten intensiver LaTeX Nutzung liegen schon Jahre zurueck).
 
Okay, ganz toll. Ich habe dein Beispiel runtergeladen. Bei mir kommt in Zeile 24 ein Fehler. Auszug aus test3_t:

\put(3736,-2041){\makebox(0,0)[lb]{\smash{{\SetFigFont{12}{14.4}{\familydefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}$Q_5$}%
}}}}
\put(3466,-2086){\makebox(0,0)[lb]{\smash{{\SetFigFont{12}{14.4}{\familydefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}$Q_6$}%
}}}}
\put(3106,-2086){\makebox(0,0)[lb]{\smash{{\SetFigFont{12}{14.4}{\familydefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}$Q_7$}%
}}}}

In Zeile 24 fehlt ein "$"-Zeichen! Ganz toll. Manuell reingemacht und schon funktioniert die Sache. Da erzeugt Xfig wohl fehlerhaften Output.


Zu der Skalierung:
Das geht auch. Du musst nur beim Exportieren in Xfig ganz oben in der Maske, wo man dann die Dateinamen festlegen muss, den "Magnification"-Faktor ändern. Es wird dir auch angezeigt, welche Größe das fertige Bild haben wird.

Es geht leider nicht im Tex-Dokument selber. Das kommt daher, dass du bei dieser Methode zwei Files erzeugst, hier test3_t und test3.eps. Das test3_t ist ein ganz gewöhnliches Tex-File, das du mit dem \include-Befehl einbindest. In diesem File wird dann das Eps eingebunden und zusätzlich weitere Sachen wie Beschriftung vorgenommen. Deswegen kannst du die Größe nur beim Exportieren aus Xfig ordentlich bestimmen, da dir sonst die Beschriftungen falsch gesetzt werden.

EDIT:
Das Ergebnis sieht bei mir dann so aus:
 

Anhänge

  • ergebnis.jpg
    ergebnis.jpg
    49,4 KB · Aufrufe: 236
Zuletzt bearbeitet:
Örgs, da fehlen ja alle Linien... :(
Ich werde morgen weiter dran rumtesten, habe heute leider keine Möglichkeit mehr dazu. Vielen Dank auf jeden Fall schon einmal. :)
 
So, ich bekomms jetzt momentan soweit ganz gut mit dem Pictex-Format hin. Bislang keine Probleme mehr. :)
Was ich jetzt noch suche wäre ein Latex-Editor, bei dem man gleich eine Voransicht integriert hat. Bei Kile kann man zwar auf die Voransicht gehen, während dessen ist Kile aber nicht mehr zugänglich. Schön wäre eine Anordnung wie hier bei dem LED-Editor:

main_medium.png


Diesen gibts leider nur für Windows. Kann man sowas mit Kile bewältigen? Oder gibts andere Alternativen? Ich würde gerne weiterhinn unter Linux schreiben, denn meine Testsoftware die ich für die DA erstellt habe läuft momentan nur unter Linux. Ist dann extrem hilfreich wenn man zwischendurch noch verschiedene Testfälle ausprobieren kann. :)
 
Zurück
Oben