Espaçamento matemático embutido e espaçamento variável entre palavras

Espaçamento matemático embutido e espaçamento variável entre palavras

Digamos que eu queira reduzir o espaço entre duas letras no modo matemático em 2/18 quad. Indo para Die Hard 3, juntei 2 -3/18 quad \!e adicionei 4/18 quad com \:. O problema, porém, é que aparentemente o espaço positivo é comprimido de acordo com o espaçamento entre palavras da linha atual, enquanto o espaço negativo não. Então, em casos extremos, obtenho -6/18 quad, o que parece menos satisfatório no meu MWE e no mundo real:

captura de tela

\documentclass[a5paper]{article}
\newcommand{\md}{\ensuremath{M\!\!\:D}}
\begin{document}
a a a a a a a a a a a a a a a a a a a a a a $\md$ a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a

aaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaa $\md$ aaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaa aaaaaaaaaa aaaaaaaaaaa aaaaaaaaaaaaa aaaaaaaaaaaaa aaaaaaaa
\end{document}

Então, por que a matemática embutida está sujeita a ajustes normais de espaçamento entre palavras e como posso desligá-la? (Posso imaginar que isso levará a resultados problemáticos em muitas fórmulas, mesmo quando não estou fazendo uma aritmética de espaçamento tão estranha como eu fiz.)

Responder1

Há alguma cola em \:, mas não em \!: o primeiro usa \medmuskipwhich is 4.0mu plus 2.0mu minus 4.0mu, o segundo \thinmuskipwhich is 3.0mu. Para evitar a cola use apenas \!ou, mais simples, apenas \mkern:

Exemplo de saída

Segunda amostra

\documentclass[a5paper]{article}
\newcommand{\md}{\ensuremath{M\mkern-9mu D}}
\begin{document}
a a a a a a a a a a a a a a a a a a a a a a $\md$ a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a

aaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaa $\md$ aaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaa aaaaaaaaaa aaaaaaaaaaa aaaaaaaaaaaaa aaaaaaaaaaaaa
aaaaaaaa

\clearpage
\hbox{aa aa $\md$ aa aa}

\hbox spread 10pt{aa aa $\md$ aa aa}

\hbox spread 20pt{aa aa $\md$ aa aa}

\end{document}

Como 18mu = 1emesse espaçamento é muito menor do que você solicita, use -2mu-o.

Os números em minhas declarações acima vêm de:

\documentclass{article}
\begin{document}
\( \show\!\show\: \)
\showthe\thinmuskip
\showthe\medmuskip
\end{document}

que imprime as seguintes informações no arquivo de log:

> \!=macro:
->\mskip -\thinmuskip .
l.10 \( \show\!
               \show\: \)
> \:=macro:
->\mskip \medmuskip .
l.10 \( \show\!\show\:
                       \)
> 3.0mu.
l.11 \showthe\thinmuskip

> 4.0mu plus 2.0mu minus 4.0mu.
l.12 \showthe\medmuskip

Pelo que posso ver, no látex padrão, os saltos colados \medmuskipe \thickmuskipsão usados ​​apenas em torno de símbolos binários e de relação e na definição de \bmod.

Responder2

Basta dizer ao TeX para adicionar -2/18 de um em. Se o comando for usado em texto, faça

\newcommand{\md}{\textit{M\kern-0.11111em D}}

Um kernel nunca será esticado ou encolhido.

Carregue também amsmathpara usá-lo tanto em texto quanto em matemática:

\documentclass{article}
\usepackage{amsmath}
\newcommand{\md}{\textit{M\kern-0.11111em D}}

\begin{document}
a a a a a a \md{} a a a a a

a a a a a a $\md$ a a a a a

\end{document}

A pequena diferença se deve ao fato da correção de itálico ser aplicada no modo texto, mas não no modo matemático.

insira a descrição da imagem aqui

informação relacionada