
Примите во внимание следующее:
\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}
решение1
В Luatex имеются примитивы для управления пробелом, добавляемым между каждым классом в каждом математическом стиле, например, для управления пробелом между mathord и mathbin в стиле скрипта:
\documentclass{article}
\begin{document}
$a+b x^{a+b}$
\Umathordbinspacing\scriptstyle=10mu
\Umathbinordspacing\scriptstyle=10mu
$a+b x^{a+b}$
\end{document}
Для классических движков TeX Вы можете сделать
\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}
Но это не так хорошо, он всегда добавляет пробел, поэтому работает только если +
используется как бинарный оператор между атомами mathord. Обратите внимание, что последний префикс +c
в последнем члене получает широкий пробел, что на самом деле не то, что вам нужно, вам понадобится отдельная команда для доступа к префиксу +
.
В ответе, ссылка на который размещена в комментариях, я предложил конструкцию \nonscript
, которая выглядит более сложной, но на самом деле, я думаю, у нее тот же недостаток.
Версия, предложенная egreg, использует \text
правильный интервал, но для нее требуется больше разметки, чем просто добавление пробела (хотя, конечно, вы можете определить свой собственный вариант \sp
команды, которая создает надстрочные индексы с помощью этой конструкции).
решение2
Нет, вам это не нужно. Правила для математических пространств были изучены Кнутом путем изучения нескольких документов с математическим содержанием, созданных в течение большого периода времени.
Возможно, некоторые национальные типографские традиции также размещают символы операций и отношений в надстрочных и подстрочных индексах. Это не значит, что это хорошо: плотный интервал тамявляетсяхорошо, в общем. Некоторые случайные неудачи можно исправить вручную: если вы хотите красивый документ, вы должны работать над ним. Микеланджело не просто использовал молоток и зубило, чтобы создать свой знаменитыйПьета.
Это изображение из книги Карла Вейерштрасса «Теория функций Абеля: первая сила», 1856 г. (см. в Google Книгах)
Вы можете видеть, что суммы в верхних индексах установлены плотно, чего нельзя сказать о суммах, набранных обычным шрифтом.
Вот трюк, который, как я помню, использовала Барбара Битон:
\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}
Это \displaystyle
просто пример.
У меня нет сомнений, какой вариант я выберу.