
我有一個絕對值宏(使用\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}
生產:
您可以清楚地看到第二個範例(即您的文字)和子公式產生相同的對齊方式。
指數似乎應用於整個子公式,而不是作為變數的指數。