Oft führe ich numerische Berechnungen mit python (+ Zusatzpaketen) durch und erstelle über das Modul matplotlib.pyplot 2D Grafiken. Ich schaffe es, dass die Beschriftungen mit \LaTeX gesetzt werden, allerdings muss ich die Schriftgröße vorgeben, was dazu führt, dass bei nachträglicher Skalierung des Diagramms im \LaTeX Dokument auch die Beschriftungen mitskaliert werden und die Schriftgrößen dann nicht mehr zum Rest des Dokumentes passen. Ich hätte aber gerne, dass die Schriftgrößen automatisch angepasst werden, z. B. auch dann, wenn ich die Basisschriftgröße für das gesamte Dokument ändere.

Die Daten mit einem anderen Programm zu plotten möchte ich vermeiden.

PS: Minimalbespiel kann bald folgen, wenn ich wieder an meinem Arbeitsrechner sitze.

gefragt 25 Aug '14, 07:42

feynman's gravatar image

feynman
9671431
Akzeptiert: 100%

bearbeitet 26 Aug '14, 08:08

Clemens's gravatar image

Clemens
19.0k113060

Ist dir das Paket "pythontex" bekannt? Hierbei kann man Python-Code in LaTeX unterbringen. Das Prinzip ist ähnlich wie mit Lua und LuaTeX. Das Skript wird dann zwischendurch nochmal an ein Pythonskript übergeben. Der größte Vorteil für dich wäre, dass es damit möglich ist LateX-Variablen in Python zu verwenden. Z.B. textwidth für die Erstellung der matplotlib-Grafiken. Eine Skalierung wäre dann nicht mehr nötig. Der größte Nachteil ist die etwas umständliche Einrichtung des Ganzen. Ich persönlich habe daher nicht viel Erfahrung damit. Aber vielleicht hilft es dir ja weiter.

(26 Aug '14, 03:51) Sylvan

Ab matplotlib 1.4.0 besteht nun die Möglichkeit tikz/pgf zu nutzen. Zur Zeit stellt das zumindest für mich die beste Möglichkeit dar.

Permanenter link

beantwortet 11 Okt '14, 05:34

feynman's gravatar image

feynman
9671431

bearbeitet 11 Okt '14, 05:36

Ich hatte das gleiche Problem für meine Doktorarbeit. Leider geht das nicht automatisch bzw. ich hatte keine zufriedenstellende Lösung gefunden.

Als Workaround hatte ich folgendes verwendet:

  1. Die Grösse der Matplotlib-Figure vorgeben siehe: Grösse ändern
  2. Schriftart der Matplotlib-Figure wie im Hauptdokument ändern rc('text.latex',preamble=r'\usepackage{myfont}') rc('text',usetex=True)
  3. Vom Python als PDF abspeichern plt.savefig('Matplotlib_export.pdf')
  4. Im Latex dann \includegraphics[scale=1.0]{Bilder/Matplotlib_export.pdf}

Der Vorteil/Nachteil ist, dass man am Anfang viel Zeit in Matplotlib investieren muss, um die Grafiken auf die richtige Grösse zu bekommen. Allerdings erhöht dies die spätere Qualität, da die Schriftartenskalierung einfach nicht gut funktioniert.

Permanenter link

beantwortet 25 Aug '14, 14:30

MarkusR's gravatar image

MarkusR
1

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×29
×1

Frage gestellt: 25 Aug '14, 07:42

Frage wurde angeschaut: 2,811 Mal

Zuletzt aktualisiert: 11 Okt '14, 05:36