Como permitir quebras de linha em listas e intervalos siunitx no modo matemático?

Como permitir quebras de linha em listas e intervalos siunitx no modo matemático?

Escrevi minha tese usando \numliste \numrange(e \SIsuas variantes) dosiunitxpacote. Em alguns casos, usei essas macros no modo matemático, por exemplo, $\phi = \numlist{0.5;0.6;0.7}$, em contraste com os conselhos muito explícitos no siunitxmanual que só agora vejo. Com as configurações padrão, isso faz com que o separador final da lista seja impresso em texto matemático (ou seja, itálico). Então pensei, não tem problema, vou apenas agrupar os separadores na \text{}macro demathtools, problema resolvido. Infelizmente, isso evita que quebras de linha ocorram dentro da lista ou intervalo, independentemente de a lista ou intervalo ocorrer no modo matemático ou não.

Então, minha pergunta é: posso permitir quebras de linha onde preciso, alterando siunitxas configurações, ou preciso passar pela minha tese e remover todos os comandos \...rangee \...listdo modo matemático, para poder remover os \text{}s list-separator?

Demonstração:

\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}

Responder1

A mensagem que você vincula é realmente relevante.

\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}

Os espaços assim introduzidos participarão no estiramento ou encolhimento da linha.

insira a descrição da imagem aqui

informação relacionada