我需要将三个较长的方程式组合在一起{subequations}
,以下是我的代码:
\begin{subequations}
\begin{align}
\begin{split}\label{4a}
x ={}& 11111111111111111111111111111
\end{split}\\
\begin{split}\label{4b}
y ={}& 2222222222222222222222222222222
\end{split}
\end{align}
\begin{align}
\begin{split}\label{4d}
xxxxxxxxxxxxxxxxxxx={}& aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\
&-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
\end{split}
\end{align}
\end{subequations}
1、公式1a、1b、1c 没有对齐,我需要将它们左对齐(如下图所示)。
2,1b 和 1c 之间有一个换行符,我需要将其删除。
有人能帮帮我吗?谢谢!
答案1
您可以通过设置长度\abovedisplayskip
(上方空间\begin{align}
)、\belowdisplayskip
(下方空间end{align}
)和\jot
(中方程之间的空间align
)来解决此问题。您的目标是让\belowdisplayskip+\abovedisplayskip=\jot
,因此方程 1(b) 和 1(c) 之间的空间等于 1(a) 和 1(b) 之间的空间。可以通过以下方式完成:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{subequations}
some text some text
\newlength{\someskip}
\setlength{\someskip}{\belowdisplayskip}%<- to save current \belowdisplayskip
\setlength{\belowdisplayskip}{0pt}
\begin{align}
\begin{split}\label{4a}
x ={}& 11111111111111111111111111111
\end{split}\\
\begin{split}\label{4b}
y ={}& 2222222222222222222222222222222
\end{split}
\end{align}%*
\setlength{\abovedisplayskip}{\jot}% *
\setlength{\belowdisplayskip}{\someskip}%* <- restore \belowdisplayskip to normal value
\begin{align}
\begin{split}\label{4d}
xxxxxxxxxxxxxxxxxxx={}& aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\
&-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
\end{split}
\end{align}
\end{subequations}
some text some text
\end{document}
% 在带有 * 的行末非常重要。否则会给出额外的行,并且您希望 \end{align} 和 \begin{align} 之间没有字符。
我添加了一些文本来直观地展示前后跳过的情况align
。
答案2
像这样?
\documentclass[fleqn]{article}
\usepackage{geometry}
\usepackage{mathtools}
%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\begin{document}
\begin{subequations}
\begin{gather}
x = 11111111111111111111111111111 \label{4a} \\
y = 2222222222222222222222222222222 \label{4b} \\
\begin{multlined}[t][0.75\linewidth]\label{4d}
xxxxxxxxxxxxxxxxxxx
= aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\
-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
\end{multlined}
\end{gather}
\end{subequations}
\end{document}
答案3
不确定你说的“将它们对齐到左侧”是什么意思。以下是对齐标志的方法=
。
请注意,这={}&
很少需要。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{subequations}
\begin{align}
\label{4a}
x &= 11111111111111111111111111111
\\
\label{4b}
y &= 2222222222222222222222222222222
\\
\begin{split}\label{4d}
xxxxxxxxxxxxxxxxxxx &= aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\
&\qquad-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
\end{split}
\end{align}
\end{subequations}
\end{document}
答案4
我会这样做:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{subequations}
\begin{align}
\label{4a}
& x = 11111111111111111111111111111
\\
\label{4b}
& y = 2222222222222222222222222222222
\\
& \begin{aligned}[b]
xxxxxxxxxxxxxxxxxxx= aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\
{}-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
\end{aligned}\label{4d}
\end{align}
\end{subequations}
\end{document}