
У меня есть макрос для абсолютного значения (используя \DeclarePairedDelimiter
from mathtools
):
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
Это отлично работает с точки зрения регулировки размера заборов и т. д. Но позиция верхнего индекса, когда я использую, \abs{x}^2
слишком высока. Смотрите следующее:
Есть идеи, ошибка это или нет, и как ее исправить?
Редактировать:Похоже, что вышеуказанное поведение связано с тем, что DeclarePairedDelimiter
вызывает \mathclose
/ создает подформулу. Я не знаю, было ли это выбором дизайна или нет -- но я бы определенно хотел узнать, есть ли простой способ обойти это.
Вот мой код для вышеприведенного примера.
\documentclass{minimal}
\usepackage[active,tightpage]{preview}
\usepackage{varwidth,mathtools}
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
\begin{document}
\begin{preview}\begin{varwidth}{360pt}
The superscript following \verb'\abs{x}' is higher than that following \verb'\lvert x\rvert'.
Here is an example:
\begin{center}
\verb'\abs{x}^2 \lvert x\rvert^2' produces $\abs{x}^2 \lvert x\rvert^2$.
\end{center}
The same happens in displayed math:
\begin{equation*}
\abs{x}^2 \lvert x\rvert^2
\end{equation*}
\end{varwidth}\end{preview}
\end{document}
Заранее спасибо.
решение1
Это выбор дизайна в mathtools. Не все пользователи знают, \rvert
что лучше, чем |
, поэтому мы помогаем им, также это помогает нам, если кто-то хочет использовать )(
в качестве пары разделителей. За исключением повторения огражденного материала в \vpahntom
после ограждения, я не знаю лучшего метода.
Но в этом случае, поскольку вы используете правильные левые и правые ограждения, есть выход:
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
\reDeclarePairedDelimiterInnerWrapper{\abs}{nostar}{#1#2#3}
решение2
DeclarePairedDelimiter
создает подформулу.РЕДАКТИРОВАТЬкак предположил @Daleif, это связано с DeclarePairedDelimiter
вызовом \mathclose
правой фигурной скобки.
Это эквивалентно использованию фигурных скобок ( {
и }
), которые также создают математические подформулы, что иногда может вызывать проблемы с выравниванием. (Кстати, именно поэтому в математическом режиме обычно нет смежных фигурных скобок {}
).
Смотрите следующие примеры:
\documentclass{minimal}
\usepackage{amsmath,mathtools}
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
\begin{document}
\begin{gather}
\left|x\right|^2 \lvert x\rvert^2 \\
\abs{x}^{2} \lvert x\rvert^{2} \\
{|x|}^{2} \lvert x\rvert^{2}
\end{gather}
\end{document}
Производство:
Вы можете ясно видеть, что второй пример (то есть ваш текст) и подформула дают одинаковое выравнивание.
Похоже, что показатель степени применяется ко всей подформуле, а не переносится как показатель степени вашей переменной.