
Considere o seguinte:
\documentclass{article}
\begin{document}
What I have:
\[x^{1+1}\]
What I would like:
\[x^{1\,+\,1}\]
That is, I will like to have spacing around the operator as in `$1+1$'.\\[\baselineskip]
\textsf{Question:} How do I get the above throughout my document without having to add \verb|\,| on each side of the operator every time?
\end{document}
Responder1
Luatex possui primitivas para controlar o espaço adicionado entre cada classe em cada estilo matemático, portanto para controlar o espaço entre um mathord e um mathbin no estilo script:
\documentclass{article}
\begin{document}
$a+b x^{a+b}$
\Umathordbinspacing\scriptstyle=10mu
\Umathbinordspacing\scriptstyle=10mu
$a+b x^{a+b}$
\end{document}
Para motores TeX clássicos, você pode fazer
\documentclass{article}
\DeclareMathSymbol{\realplus}{\mathbin}{operators}{"2B}
\begin{document}
$a+b x^{a+b} +cx^{+c}$
%\Umathordbinspacing\scriptstyle=10mu
%\Umathbinordspacing\scriptstyle=10mu
\def\z{{\mskip\medmuskip{\realplus}\mskip\medmuskip}}
$a\z b x^{a \z b} \z cx^{\z c}$
\catcode`\+\active\let+\z
\catcode`\+12
\mathcode`\+="8000
$a+b x^{a+b} +cx^{+c}$
\end{document}
Mas não é tão bom, sempre adiciona espaço, então só funciona se +
for usado como um operador binário entre átomos matemáticos. Observe que o prefixo final +c
no último termo obtém o espaço amplo, o que não é realmente o que você deseja, você precisaria de um comando separado para acessar a prefix +
.
Em uma resposta vinculada por meio de comentários, sugeri uma construção \nonscript
que parece mais complicada, mas na verdade acho que tem a mesma falha.
A versão sugerida por egreg using \text
obtém o espaçamento correto, mas requer mais marcação do que apenas adicionar o espaço (embora, é claro, você possa definir seu próprio \sp
comando variante que cria sobrescritos usando esta construção).
Responder2
Não, você não quer isso. As regras para espaços matemáticos foram estudadas por Knuth através do exame de diversos documentos com conteúdos matemáticos produzidos durante um amplo período de tempo.
Talvez alguma tradição tipográfica nacional espace símbolos de operação e relação também em sobrescritos e subscritos. Isso não significa que seja bom: espaço apertado aliébom, em geral. Alguns contratempos ocasionais podem ser resolvidos manualmente: se você quiser um documento bonito, terá que trabalhar nele. Michelangelo não usou apenas martelo e cinzel para fazer seu famosoPietá.
Esta é uma imagem de um livro de Karl Weierstraß, “Theorie der Abel'schen Functionen: Erstes Heft”, 1856 (veja no Google Livros)
Você pode ver que as somas sobrescritas estão bem definidas, o que não é o caso das somas no tipo normal.
Aqui está um truque que me lembro de ter sido usado por Barbara Beeton:
\documentclass{article}
\usepackage{amsmath}
\catcode`^=12
\catcode`_=12
\begingroup\lccode`~=`^\lowercase{\endgroup\def~}{\SPACED\sp}
\begingroup\lccode`~=`_\lowercase{\endgroup\def~}{\SPACED\sb}
\AtBeginDocument{\mathcode`^="8000 \mathcode`_="8000 }
\makeatletter
\def\SPACED#1#2{#1{\text{$\m@th#2$}}}
\makeatother
\begin{document}
$\displaystyle x^{1+1}+\sum_{1\le k\le n}k^2$
The original: {\catcode`^=7 \catcode`_=8
$\displaystyle x^{1+1}+\sum_{1\le k\le n}k^2$}
\end{document}
Isso \displaystyle
é apenas a título de exemplo.
Não tenho dúvidas sobre qual versão eu escolheria.