我正在尝试编写此代码。它编译时没有错误,但我想减少plus/minus
符号与\sum
符号之间的距离。我该怎么做?有人能帮我吗?
\begin{gather}
\begin{split}
&-\sum_{\forall l\in\phi^L\mid SB(l)=n} P_l^k
+\sum_{\forall l\in\phi^L\mid RB(l)=n} P_l^k
+\sum_{\forall g\in\phi^{G-n}} P_{ng}^k +R_n^k\\
=&\bar{P}_{nd}
+\hat P_{nd}\cdot u_n^{+k}
-\hat P_{nd}\cdot u_n^{-k}~~
\forall n\in\phi^N,\forall k\in\phi^{iteration}\\
\end{split}
\end{gather}
答案1
这是做事的方法。你应该 已经mathtools
安装;它是的扩展,amsmath
对于微调方程式布局非常有用。我使用mathclap{ … }
,但你可以用更详细的替换它\makebox[0pt]{$ … $}
。我还定义了一个\widebar
命令(采用mathx
字体,来自mathabx
(我没有加载,因为它重新定义了大多数数学符号),并重新定义\widehat
,它看起来比大写字母更好\hat
。最后,我split
用多对齐点环境替换环境alignedat
。
\documentclass[a4paper, 11pt]{book}
\usepackage[utf8]{inputenc}
\usepackage{geometry}
\usepackage{mathtools}
\DeclareFontFamily{U}{mathx}{\hyphenchar\font45}
\DeclareFontShape{U}{mathx}{m}{n}{ <-> mathx10}{}
\DeclareSymbolFont{mathx}{U}{mathx}{m}{n}
\DeclareFontSubstitution{U}{mathx}{m}{n}
\DeclareMathAccent{\widebar}{0}{mathx}{"73}
\DeclareMathAccent{\widehat}{0}{mathx}{"70}
\begin{document}
\begin{equation}
\begin{alignedat}{2}
\MoveEqLeft[8]\enspace ∑_{\substack{l ∈ ϕ^L\\ \mathclap{SB(l)=n}}} P_l^k
+∑_{\substack{ l ∈ ϕ^L\\\mathclap{RB(l)=n}}} P_l^k
+∑_{\mathclap{g ∈ ϕ^{G-n}}} P_{ng}^k +R_n^k\\%[-1.5ex]
& = \widebar{P}_{nd}
+\widehat P_{nd} · u_n^{+k}
-\widehat P_{nd} · u_n^{-k}
&\hspace{3em} & ∀ n ∈ ϕ^N,∀ k ∈ ϕ^{\text{iteration}}
\end{alignedat}
\end{equation}
\end{document}
答案2
我建议您执行以下操作:
加载
mathtools
包(该包是著名amsmath
包的超集删除所有
\forall
宏\mid
将前两个下标中的替换为s.t.
(“such that”),并使用\substack
宏在前两个下标表达式中引入换行符使用宏
\smashoperator
让下标材料突出到求和符号的左侧和右侧,而不会增加大量额外的空白 - 这解决了您在查询中发布的请求将解释性术语放在
\forall n\in\phi^N,\forall k\in\phi^{iteration}
显示的数学部分下方的一行上写为
\textit{SB}
、和\textit{RB}
,并\textrm{iteration}
认识到所涉及的字母组并不代表单字母变量的乘积可选:由于字母“l”(“ell”,而不是数字
1
)经常出现,我会使用\ell
而不是直接l
将其写出来。
通过这些调整,可以将所有数学材料放在一个可以使用“普通”equation
环境排版的文件中。
\documentclass{article}
\usepackage{mathtools}
\newcommand\st{\textrm{ s.t.}}
\begin{document}
\begin{equation}
-\smashoperator{\sum_{\substack{\ell\in\phi^\ell\st \\ \textit{SB}(\ell)=n}}} P_\ell^k
+\smashoperator{\sum_{\substack{\ell\in\phi^\ell\st\\ \textit{RB}(\ell)=n}}} P_\ell^k
+\smashoperator{\sum_{ g\in\phi^{G-n}}} P_{ng}^k +R_n^k\\
=\bar{P}_{nd}
+\widehat P_{nd}\cdot u_n^{+k}
-\widehat P_{nd}\cdot u_n^{-k}
\end{equation}
for all $n\in\phi^N$ and $k\in\phi^{\textup{iteration}}$.
\end{document}