Wie lässt man Zeilenumbrüche in Siunitx-Listen und -Bereichen im Mathematikmodus zu?

Wie lässt man Zeilenumbrüche in Siunitx-Listen und -Bereichen im Mathematikmodus zu?

Ich habe meine Diplomarbeit mit \numlistund \numrange(und den \SIVarianten davon) aus demsiunitxPaket. 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 siunitxHandbuch, 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 \...rangeund \...list-Befehle aus dem Mathematikmodus entfernen, sodass ich das \text{}um das list-separators 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.

Bildbeschreibung hier eingeben

verwandte Informationen