有没有办法附加环境定义,\appendenvironment
类似于\(re)newenvironment
?
具体来说,我想减少pmatrix
环境后的水平间距,使标点符号与右括号紧密贴合。默认间距为
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\begin{equation}
D_1 = \begin{pmatrix}
1 & -i & i & -1\\
1 & -i & i & -1\\
1 & -i & i & -1\\
1 & -i & i & -1
\end{pmatrix},
\end{equation}
\end{document}
添加\mkern-6mu
或\!\!
之后\end{pmatrix}
会产生更美观的外观。
是否有某种方法可以在pmatrix
不使用\renewenvironment
和复制整个环境定义到我的序言之后插入这个负空间?
答案1
然而坎帕 建议\xpatchcmd
我\AfterEndEnvironment
从etoolbox
包中使用一种方法,作为另一种替代方法,它\g@addto@macro
不需要额外的包,因为它是一个 LaTeX 内核宏。
我更喜欢这种\AfterEndEnvironment
方法,因为它更干净一些。
\documentclass{article}
\usepackage{mathtools}
\usepackage{etoolbox}
\begin{document}
\begin{equation}
D_1 = \begin{pmatrix}
1 & -i & i & -1\\
1 & -i & i & -1\\
1 & -i & i & -1\\
1 & -i & i & -1
\end{pmatrix},
\end{equation}
\AfterEndEnvironment{pmatrix}{\mkern-6mu}
\begin{equation}
D_1 = \begin{pmatrix}
1 & -i & i & -1\\
1 & -i & i & -1\\
1 & -i & i & -1\\
1 & -i & i & -1
\end{pmatrix},
\end{equation}
Now with bmatrix and then with \verb!\g@addto@macro\endbmatrix!
\begin{equation}
D_1 = \begin{bmatrix}
1 & -i & i & -1\\
1 & -i & i & -1\\
1 & -i & i & -1\\
1 & -i & i & -1
\end{bmatrix},
\end{equation}
\makeatletter
\g@addto@macro{\endbmatrix}{\mkern-6mu}%
\makeatother
\begin{equation}
D_1 = \begin{bmatrix}
1 & -i & i & -1\\
1 & -i & i & -1\\
1 & -i & i & -1\\
1 & -i & i & -1
\end{bmatrix},
\end{equation}
\end{document}