答案1
这里有 4 种不同的左对齐方式\flalign*
,以及\fleqn
的环境nccmath
允许的两种左对齐方式\displayindent
:
\documentclass{article}
\usepackage[showframe]{geometry}%
\usepackage{mathtools, nccmath}
\usepackage{array}
\usepackage{stackengine}
\setstackEOL{\\}
\begin{document}
\begin{flalign*}
\intertext{with \texttt{flalign*}: }
100000 + 1 & = 100001 &\\
1 + 1 & = 2 &
\end{flalign*}
\begin{flalign*}
& 100000 + 1 = 100001 & \\
& 1 + 1 = 2
\end{flalign*}
\begin{flalign*}
100000 & + 1 = 100001 & \\
\mathrlap{1} \phantom{000000} & + 1 = 2
\end{flalign*}
\begin{flalign*}
\begin{gathered}
100000 + 1 = 100001 \\
1 + 1 = 2
\end{gathered}
& &
\end{flalign*}
\begin{fleqn}[2em]
\begin{align*}
\intertext{with \texttt{fleqn}: }
100000 + 1 & = 100001 \\
1 + 1 & = 2
\end{align*}
\end{fleqn}
\begin{fleqn}[2em]
\begin{gather*}
100000 + 1 = 100001 \\
1 + 1 = 2
\end{gather*}
\end{fleqn}
\end{document}
答案2
在我看来,只左对齐一些方程式是没有意义的,所以我首先提供了一个版本fleqn
\documentclass{article}
\usepackage[fleqn]{amsmath}
\usepackage{lipsum} % just for the example
\setlength{\mathindent}{0pt} % don't do this, please!
\begin{document}
\lipsum*[2]
\begin{alignat*}{3}
&10000 &&+1 &&= 10001 \\
&1 &&+10 &&= 11
\end{alignat*}
\lipsum[3]
\end{document}
不过,\mathindent
我不建议将其设置为零。
如果您不想使用fleqn
而只想左对齐这些方程式,则可以alignedat
在内部使用flalign
:
\documentclass{article}
\usepackage{amsmath}
\usepackage{lipsum} % just for the example
\begin{document}
\lipsum*[2]
\begin{flalign*}
\begin{alignedat}{3}
&10000 &&+1 &&= 10001 \\
&1 &&+10 &&= 11
\end{alignedat}
&&
\end{flalign*}
\lipsum[3]
\end{document}
两种情况下的输出是相同的(flalign
当然,没有的其他方程式会有不同的位置)。
答案3
您可以使用 TABstack(取决于 OP 的 MWE 是否描述了完整要求)。间隙定义为\setstackaligngap{<length>}
(默认 1em)。
注意:tabstackengine
默认对齐需要=&
而不是&=
。
\documentclass[a4paper]{article}
\usepackage{tabstackengine}
\stackMath
\begin{document}
\noindent\alignLongstack{
& 100000 & + 1 = & 100001\\
& 1 & + 1 = & 2\\
}
\setstackaligngap{3em}
\noindent\alignLongstack{
& 100000 & + 1 = & 100001\\
& 1 & + 1 = & 2\\
}
\end{document}
答案4
请尝试以下操作:
\documentclass{article}
\usepackage{amsmath}
\setlength{\arraycolsep}{1pt}
% only for demonstrate page layout and show some dummy text
\usepackage{lipsum}
\usepackage{showframe}
\renewcommand*\ShowFrameColor{\color{red}}
%%%%
\begin{document}
\lipsum[2]
\begin{flalign*}
\begin{array}{@{}lll}
100000 & + 1 & = 100001 \\
1 & + 1 & = 2
\end{array} &&
\end{flalign*}
\lipsum[2]
\end{document}
但是,如果所有方程式都应该左对齐,则使用 amsmath 中的选项是明智的,例如
\usepackage[fleqn]{amsmath}
对文档中的所有方程式都执行此操作。