O que o caractere til (~) faz no modo matemático?

O que o caractere til (~) faz no modo matemático?

Que efeito o caractere til ~tem no modo matemático? É o mesmo espaço ininterrupto que existe no modo de texto? É um estilo ruim usar ~no modo matemático? Já vi isso ser usado em alguns exemplos, mas não o vi explicado em nenhuma das referências usuais do LaTeX.

Responder1

Usar ~ou \⍽(espaço de controle, apenas para deixar claro) no modo matemático não é equivalente, como mostra o exemplo a seguir:

\documentclass{article}
\begin{document}

$a=\ =b$

$a=~=b$

\end{document}

Isso produz

insira a descrição da imagem aqui

Por que é que? Porque a definição de ~é

1299 \DeclareRobustCommand{\nobreakspace}{%
1300    \leavevmode\nobreak\ }
1301 \catcode `\~=13
1302 \def~{\nobreakspace{}}

(os números das linhas são aqueles em latex.ltx). Assim, ~também adiciona um {}grupo que é significativo no modo matemático e explica a diferença na saída: na primeira linha temos (Ordemrepresenta um átomo da classe “comum”,Relpara um átomo da classe “relação binária”)

Ordem Rel <skip> Rel Ordem

e o TeX ignora saltos explícitos ao decidir qual espaçamento matemático inserir. Então, por regra, ele insere um espaço grosso entreOrdemeRele entreReleOrdem, mas não há espaço entreReleRel. O <skip>devido \⍽é inserido novamente ao converter a lista matemática em uma caixa horizontal.

No segundo caso temos

Ordem Rel <skip> Ordem Rel Ordem

porque no modo matemático {}conta como umOrdemátomo. Espaços grossos serão inseridos em ambos os lados do vazioOrdemátomo.

Portanto é melhor usar \⍽em vez de ~, para evitar surpresas. Contudo, o uso deve ser limitado à separação de partes de uma fórmula que precisam ser consideradas como palavras, normalmente em exibições. Não há diferença entre

\[
\sin\pi = 0\ \text{and}\ \cos\pi = -1
\]

e

\[
\sin\pi = 0 \text{ and } \cos\pi = -1
\]

Apenas uma questão de preferência pessoal, pois qualquer um usará o espaço entre palavras em relação à fonte atual fora da matemática, sem esticar ou diminuir. Para espaçar símbolos matemáticos o melhor é usar \mkernou \mskip(possivelmente o último, para o qual amsmathfornece a \mspaceinterface, análoga a \hspace).

Observe que no modo matemático inline \⍽\text{and}\⍽e \text{⍽and⍽}são diferentes, pois o primeiro insere espaços que podem participar do alongamento e da redução, enquanto o último insere espaços “congelados”. No entanto, algo como

the set $N_n(R)=\{\,x\in R: x^{n-1}\ne 0\ \text{and}\ x^{n}=0\,\}$

é mais apropriadamente escrito como

the set $N_n(R)=\{\,x\in R: x^{n-1}\ne 0$ and~$x^{n}=0\,\}$

para dar ao TeX mais chances de quebrar a linha adequadamente.

informação relacionada