我想使用 \begin{align} 将文档中一行内的多个方程式(其中一个相当长)对齐。但是使用“&”作为间距会导致空格过长,并且某些部分的右对齐方式很奇怪。这导致文档中的方程式枚举被放置在下一个空行中。我正在使用带有 fleqn 选项的 amsmath。
我希望我的问题通过我的代码变得更加清晰:提前谢谢大家。
\documentclass[]{scrbook}
\usepackage[fleqn]{amsmath}
\usepackage{amssymb}
\begin{document}
{\setlength{\mathindent}{0cm}
\begin{subequations}\label{eq:MINLP}
\begin{align}
\mathrm{min} \quad &\sum_{j=1}^{NE}(y_{j}-V_{1,j})^{2}
\tag{\ref{eq:MINLP}}\\
\mathrm{s.t.} \quad & f_{j,k}(V_{n,j},V_{2n,j},V_{2n+1,j}) \le
M_{n,j,k}^{up}(1-\delta_{n,k}) && n \, \epsilon \, \mathcal{N}_{b},\,
k \, \epsilon \, \mathcal{F},\, j \, \epsilon \, \mathcal{E} \\
& f_{j,k}(V_{n,j},V_{2n,j},V_{2n+1,j}) \ge M_{n,j,k}^{lo}
(1-\delta_{n,k}) && n=a+b \\
\end{align}
\end{subequations}}
\end{document}
我想将以“n ...”开头的部分进一步向左推但仍保持对齐,以便方程式枚举 3.1a 位于同一行。
答案1
发布的代码没有显示的间距,但由于空行而产生错误,此版本运行时没有错误
\documentclass[]{scrbook}
\usepackage[fleqn]{amsmath}
\usepackage{amssymb}
\begin{document}
%\setlength{\mathindent}{0cm}
\begin{subequations}\label{eq:MINLP}
\begin{align}
\min &\sum_{j=1}^{NE}(y_{j}-V_{1,j})^{2}
\tag{\ref{eq:MINLP}}\\
\mathrm{s.t.} \quad & f_{j,k}(V_{n,j},V_{2n,j},V_{2n+1,j}) \le
M_{n,j,k}^{\mathrm{up}}(1-\delta_{n,k}) && n \in \mathcal{N}_{b},\,
k \in \mathcal{F},\, j \in \mathcal{E} \\
& f_{j,k}(V_{n,j},V_{2n,j},V_{2n+1,j}) \ge M_{n,j,k}^{\mathrm{lo}}
(1-\delta_{n,k}) && n=a+b
\end{align}
\end{subequations}
\end{document}