Gleiche Schrift in LaTeX und Matplotlib mit siunitx

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: Gleiche Schrift in LaTeX und Matplotlib mit siunitx

von update.freak » Mi 19. Feb 2020, 13:24

danke für deine Antwort.
Mit diesem Impuls konnte ich eine Lösung finden.
Durch Einbinden von
\usepackage{sansmathfonts}
ist nun auch die Mathematikschrift im passenden Format.

Weiß jemand ob sansmathfonts die "richtige" Wahl bezüglich "helvet" ist?

von markusv » Mi 19. Feb 2020, 10:59

Kenne mich mit Matplotlib und Python nicht aus, aber mit der Einstellung
\usepackage[detect-all,locale=DE]{siunitx}
erreichst du auch im Dokument keine einheitliche Schriftart. Im Mathemodus wird weiterhin die Schriftart CM benutzt.
\documentclass{scrartcl}
\usepackage{helvet}                                            
\renewcommand{\familydefault}{\sfdefault}  
\usepackage[detect-all,locale=DE]{siunitx}
\begin{document}
	\(\SI{30}{\kilo\gram}\)
	
	\SI{30}{\kilo\gram}
\end{document}
erzeugt also zwei unterschiedliche Ausgaben.

Gleiche Schrift in LaTeX und Matplotlib mit siunitx

von update.freak » Mi 19. Feb 2020, 09:06

Hallo zusammen,

ich würde gerne sowohl in LaTeX als auch in Matplotlib mit siunitx die Schriftart Helvetica verwenden.
In LaTeX habe ich dies mit
\usepackage{helvet}                                             
\renewcommand{\familydefault}{\sfdefault}   
eingestellt.

Mein Pythoncode sieht wie folgt aus:
import matplotlib.pyplot as plt
import numpy as np
import locale

plt.rc('text', usetex=True)
plt.rcParams['text.latex.preamble'] = [
    r'\usepackage[detect-all,locale=DE]{siunitx}',  #SI-Einheiten, Komma
    r'\usepackage{helvet}',                         #Helvetica als Schrift
    r'\usepackage{icomma}']                        
locale.setlocale(locale.LC_NUMERIC, "de_DE.UTF-8")      
plt.ticklabel_format(useLocale=True)            

x = [1, 2, 3, 4]
y = [5, 6, 7.2, 8.1]
plt.plot(x, y, marker="o", label="setting1")
plt.xticks(np.arange(1.0, 4.2, step=0.5))
plt.xlabel("x (\si{\milli\metre})")
plt.ylabel("y (\si{\pascal})")
plt.legend()
plt.grid(True)

plt.savefig('test.pdf', bbox_inches='tight')

Das Problem daran ist, dass "Pa" (Pascal) von der Abbildung nicht mit dem "Pa" von LaTeX übereinstimmt, was die Schrift angeht.
Wie kann ich das realisieren?

Nach oben