Ich habe meine Diplomarbeit mit \numlist
und \numrange
(und den \SI
Varianten davon) aus demsiunitx
Paket. In einigen Fällen habe ich diese Makros im Mathematikmodus verwendet, zum Beispiel $\phi = \numlist{0.5;0.6;0.7}$
im Gegensatz zu den sehr expliziten Ratschlägen im siunitx
Handbuch, die ich erst jetzt sehe. Mit den Standardeinstellungen führt dies dazu, dass das letzte Trennzeichen der Liste im mathematischen Text gedruckt wird (also kursiv). Also dachte ich, kein Problem, ich umschließe die Trennzeichen einfach im \text{}
Makro vonmathtools
, Problem gelöst. Leider verhindert dies, dass Zeilenumbrüche innerhalb der Liste oder des Bereichs stattfinden, unabhängig davon, ob die Liste oder der Bereich im mathematischen Modus auftritt oder nicht.
Meine Frage ist also: Kann ich durch Ändern der Einstellungen Zeilenumbrüche dort zulassen, wo ich sie brauche siunitx
, oder muss ich meine Abschlussarbeit durchgehen und alle \...range
und \...list
-Befehle aus dem Mathematikmodus entfernen, sodass ich das \text{}
um das list-separator
s herum entfernen kann?
Demo:
\documentclass[draft]{article}
\usepackage{siunitx}
\usepackage[showframe]{geometry}
\geometry{width=0.5in}
\setlength{\parindent}{0pt}
\begin{document}
\SIrange{750}{1000}{\kelvin} % Breaks
\SIlist{0.5;0.6;0.7}{\percent} % Breaks
$\phi = \numlist{0.5;0.6;0.7}$ % Doesn't break and italics
\sisetup{%
range-phrase = {\text{ to }},
list-separator = {\text{, }},
list-final-separator = {\text{, and }},
list-pair-separator = {\text{ and }},
}%
\SIrange{750}{1000}{\kelvin} % Doesn't break
\SIlist{0.5;0.6;0.7}{\percent} % Doesn't break
$\phi = \numlist{0.5;0.6;0.7}$ % Doesn't break
\end{document}
Antwort1
Die von Ihnen verlinkte Nachricht ist tatsächlich relevant.
\documentclass[draft]{article}
\usepackage{siunitx}
\setlength{\parindent}{0pt}
\begin{document}
\sisetup{%
range-phrase = {\ \linebreak[0]\text{to}\ \nolinebreak},
list-separator = {\text{, }},
list-final-separator = {,\ \linebreak[0]\text{and }},
list-pair-separator = {\ \text{and}\ },
list-separator = {,\ \linebreak[0]}
}%
\parbox{0pt}{
\SIrange{750}{1000}{\kelvin} % Doesn't break
\SIlist{0.5;0.6;0.7}{\percent} % Doesn't break
$\phi = \numlist{0.5;0.6;0.7}$ % Doesn't break
}
\end{document}
Die so eingefügten Zwischenräume tragen zur Dehnung oder Schrumpfung der Linie bei.