请看一下这个最小的例子...
\documentclass{article}
\usepackage{amsmath}
\numberwithin{equation}{section}
\usepackage{showframe} % only for demo
\begin{document}
\section{section 1}
\begin{flalign}
&&\begin{split}
a = b \\
b = c + d + e
\end{split}
\end{flalign}
\section{section 2}
\setcounter{equation}{1234}
\begin{flalign}
&&\begin{split}
a = b \\
b = c + d + e
\end{split}
\end{flalign}
\end{document}
它生成该文档...
我的问题是... 第 1 节中的方程位于第 2 节中的方程的右侧。这是方程编号长度的结果。如何垂直对齐方程的右侧?或者,如何使右对齐取决于最宽的方程编号?
答案1
我不确定这种不寻常格式的用途是什么。
这是一种方法,修改了来自的代码https://tex.stackexchange.com/a/240341/4427
\documentclass{article}
\usepackage{amsmath}
\usepackage{etoolbox}
\usepackage{lipsum}
\numberwithin{equation}{section}
\usepackage{showframe} % only for demo
\makeatletter
% detach \eqref processing from \tag processing
\let\tagform@ref\tagform@
\let\maketag@@@ref\maketag@@@
\patchcmd{\eqref}{\tagform@}{\tagform@ref}{}{}
\patchcmd{\tagform@ref}{\maketag@@@}{\maketag@@@ref}{}{}
% redefine \maketag@@@
\def\maketag@@@#1{\makebox[4pc][r]{\m@th\normalfont#1}}
\makeatother
\begin{document}
\section{section 1}
\begin{flalign}
&&\begin{aligned}
a = b \\
b = c + d + e
\end{aligned}
\end{flalign}
\section{section 2}
\setcounter{equation}{1234}
\begin{flalign}
&&\begin{aligned}
a = b \\
b = c + d + e
\end{aligned}
\end{flalign}
\end{document}
调整 4pc 的数量以适应。再做一些工作可以自动化。我不会用split
这个,但是aligned
。