Я написал свою диссертацию, используя \numlist
и \numrange
(и \SI
их варианты) изsiunitx
package. В некоторых случаях я использовал эти макросы в математическом режиме, например, $\phi = \numlist{0.5;0.6;0.7}$
, в отличие от очень явного совета в siunitx
руководстве, который я только сейчас увидел. С настройками по умолчанию это приводит к тому, что конечный разделитель списка печатается в математическом тексте (т. е. курсивом). Поэтому я подумал, нет проблем, я просто оберну разделители в макросе \text{}
изmathtools
, проблема решена. К сожалению, это предотвращает переносы строк внутри списка или диапазона, независимо от того, находится ли список или диапазон в математическом режиме или нет.
Итак, мой вопрос: могу ли я разрешить переносы строк там, где они мне нужны, изменив siunitx
настройки, или мне придется пройтись по своей диссертации и удалить все команды \...range
и \...list
из математического режима, чтобы я мог удалить \text{}
вокруг list-separator
s?
Демонстрация:
\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}
Введенные таким образом пробелы будут способствовать растяжению или сжатию линии.