Serifenlose im Text/Diagram/siunitx, Serifen bei Mathe Thema ist als GELÖST markiert

Formelsatz für Mathematik, Naturwissenschaften und Technik


orikson

Serifenlose im Text/Diagram/siunitx, Serifen bei Mathe

Beitrag von orikson »

Hallo,

ich arbeite mich seit ca. einer Woche in Latex ein und habe schon fast mein Wunschlayout zusammen (auch dank der Suche in diesem Forum :D ), bei zwei Stellen komme ich aber seit Tagen nicht weiter. Ich möchte generell serifenlose Schriften verwenden, lediglich im abgesetztem Mathemodus (mit align) sollen Serifen verwendet werden.

Das vermutlich kleinere Problem ist die Achsenbeschriftung in Diagrammen. Ich habe zwar die Beschreibung umformatieren können, die Beschriftung der einzelnen Werte ist aber nach wie vor mit Serifen.

Das zweite und größere Problem ist die Kombination von siunitx, der Matheumgebung und dem Schriftstil.
Wenn ich in einem Text eine Zahl mittels \SI{2.5}{\percent} ausgebe möchte ich diese ebenfalls serifenlos haben. Bei den meisten Einheiten und den Zahlen funktioniert das auch, beim Prozentzeichen und dem Komma seltsamerweise nicht....
Wird eine \SI Ausgabe jedoch in einer align-Umgebung aufgerufen, soll die Ausgabe mit Serifen erfolgen.

Gibt es zur Verwendung von \SI oder \num eigentlich Empfehlungen, wo man diese am besten verwendet oder besser nicht?

Hier mein "Minimalbeispiel", das beide Probleme zeigt:
\documentclass[12pt, a4paper]{scrreprt}

% direkte Eingabe von Umlauten
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

% Die primär verwendete Sprache ist Deutsch nach der neuen Rechtschreibung
\usepackage[english, ngerman]{babel}

% Alle Schriftarten ohne Serifen
\usepackage{textcomp}
\renewcommand{\familydefault}{\sfdefault}

% Zusätzliche mathematische Umgebungen.
\usepackage{amsmath}
\usepackage{amsfonts}
% Zusätzliche mathematische Symbole.
\usepackage{amssymb}

% Formeln nicht kursiv schreiben
\DeclareOldFontCommand{\rm}{ }{\mathrm}
\everymath{\rm}
\everydisplay{\rm}

% einbinden der pgfplot-Graphen
\usepackage{tikz}

% pgfplots kann Graphen zeichnen
\usepackage{pgfplots}
\pgfplotsset{compat=newest,
			 tick label style = {font=\sf},
			 every axis label = {font=\sf},
			 legend style = {font=\sf},
			 label style = {font=\sf}
			 }

% Einheitliche Deklaration von SI-Einheiten
\usepackage[locale=DE,
			per=frac,
			sticky-per,
			detect-weight]{siunitx}

% deutsche Konfiguration für siunitx aktivieren
\uselanguage{German}
\languagealias{ngerman}{German}
\SendSettingsToPgf

% Beginn des eigentlichen Dokuments
\begin{document}

diese eingebundene Formel \( \num{5000 }/ \SI{8}{\newton} \cdot \SI{6.5}{\volt\per\newton}  = \SI{48}{\newton\meter} \) soll ohne Serifen sein \\\

ebenso Zahlen wie \SI{50}{\volt}, die direkt im Text vorkommen. Dazu wählen auch Kommas und Einheiten. \SI{5.9}{\percent} ist ein gutes Beispiel wie es \textbf{nicht} sein sollte! \\\

Im Mathemodus soll aber trotzdem mit Serifen gearbeitet werden, das gilt auch für die si-Funktionen:
\begin{align}
U = \SI{230}{\volt} \cdot \sqrt{2}  = \SI{325.22}{\volt} \\
5000 + ( 350 \cdot 2 ) = 5700 \\
100 + (\frac{\SI{50}{\volt\per\cm}}{\SI{2}{\cm}} ) = 125
\end{align}

\textbf{dicker Text mit \SI{137}{\meter\per\second\squared} dicken Einheiten}\\\

\begin{figure}
\begin{tikzpicture}
	\begin{axis}[
	xlabel = {Werte in $\lbrack$ \si{\volt} $\rbrack$},
	xmin = {89},
	xmax = {131},
	ylabel = {irgendwas},
	ymin = {91},
	ymax = {107},
	yticklabel = {\pgfmathprintnumber\tick{\si{\percent}}}]
	\end{axis}
\end{tikzpicture}
\end{figure}

\end{document}

orikson

Beitrag von orikson »

Ich habe sämtliche Probleme mittlerweile selbst lösen können.

Serifenlose Schriften für siunitx
In die Präambel muss folgendes:
\usepackage{siunitx}
\sisetup{%
detect-weight, % Schrifttyp übernehmen (bold, kursiv etc)
detect-family, %Schriftart des Umgebungstextes übernehmen (mit/ohne Serifen)
mode=text}
Dadurch sind alle von siunitx erzeugen Zahlen und Einheiten ohne Serifen, auch in Mathe-Umgebungen und Plots (mit tikz und pgfplots).

Bleibt aber noch das Problem mit den Serifen in Diagrammen, welche mit pgfplots in einer tikzpicture Umgebung. Darüber findet man viel, leider ist das meiste - sorry - einfach nur Müll! Es wird empfohlen für jedes einzelne Element von pgfplots den style einzeln anzupassen, also in etwa so (wieder in die Präambel):
\pgfplotsset{%
every titel/.append style = {font=\sansmath\sffamily},
every axis label/.append style = {font=\sansmath\sffamily},
every tick label/.append style = {font=\sansmath\sffamily},
...,
}
Wie gesagt, meiner Meinung nach ist das eine ziemlich hässliche und umständliche Methode, ins besondere da das ganze auch für Nodes etc. wiederholt werden muss. Durchs tikz-Manual habe ich mit dann folgenden Befehl zusammengesucht:
\tikzset{ every picture/.style = {font=\sansmath\sffamily} }
Damit wird für jeden Text innerhalb von \begin{tikzpicture} ... \end{tikzpicture} die angegebene Schriftart verwendet, ganz egal ob label, node, caption oder was auch immer! Schade dass man dafür erst zwei Wochen suchen muss, gibt's da einen Grund dafür?

Wie man jedoch in eingebundenen Formeln (also im Fließtext stehende) serifenlose, in abgegrenzten Formeln (in einer align-Umgebung) aber Serifen behält, konnte ich bislang nicht rausfinden...

orikson

Beitrag von orikson »

Außerdem wollte ich noch erwähnen dass das sansmath Paket natürlich benötigt wird und man es auch explizit anschalten muss. Die Auswirkungen betreffen aber "nur" die Mathematischen Formeln
\usepackage[eulergreek]{sansmath}
\sansmath

Antworten