我经常\newcommand
在另一个里面使用\newcommand
,而且它通常效果很好。
但这种情况并非如此:
\documentclass[10pt]{article}
\usepackage{amsmath}
\begin{document}
\bgroup
\makeatletter
\renewcommand*{\maketag@@@}[1]{\hbox{\m@th\normalfont{\makebox[1sp][r]{#1}}}}
\makeatother
\[1+1=2\tag{abcdefghijklmnopqrstuvwxyz}\]
\egroup
\[1+1=2\]
\end{document}
此代码删除了标签的水平空间,以便两个方程式正确对齐。我想将其定义为命令,因此请尝试以下命令:
\documentclass[10pt]{article}
\usepackage{amsmath}
\newcommand{\nospacetag}[1]{%
\makeatletter
\renewcommand*\maketag@@@[1]{\hbox{\m@th\normalfont{\makebox[1sp][r]{##1}}}}
\makeatother
#1
}
\begin{document}
\nospacetag{\[1+1=2\tag{abcdefghijklmnopqrstuvwxyz}\]}
\[1+1=2\]
\end{document}
但是出现了乳胶错误。