
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:
\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 \medmuskip
which is 4.0mu plus 2.0mu minus 4.0mu
, o segundo \thinmuskip
which is 3.0mu
. Para evitar a cola use apenas \!
ou, mais simples, apenas \mkern
:
\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 = 1em
esse 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 \medmuskip
e \thickmuskip
sã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 amsmath
para 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.