\numlist
私は、および\numrange
(および\SI
その派生語)を使用して論文を書きました。siunitx
パッケージ。いくつかのケースでは、これらのマクロを数式モードで使用しました。たとえば、今になって初めて目にした$\phi = \numlist{0.5;0.6;0.7}$
マニュアルの非常に明確なアドバイスとは対照的に、 です。デフォルト設定では、リストの最後の区切り文字が数式テキストで印刷されます(つまり、イタリック体)。そこで、問題ない、マクロsiunitx
で区切り文字を囲めばいい、と考えました。\text{}
mathtools
問題は解決しました。残念ながら、これにより、リストまたは範囲が数式モードであるかどうかに関係なく、リストまたは範囲内で改行が行われなくなります。
そこで質問なのですが、siunitx
設定を変更することで必要な場所で改行を許可できますか、それとも論文を調べて数式モードからすべての\...range
andコマンドを削除し、sの周りの\...list
を削除する必要がありますか?\text{}
list-separator
デモ:
\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}
答え1
あなたがリンクしたメッセージは確かに関連性があります。
\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}
このように導入されたスペースは、ラインの伸縮に関与します。