![公式宽度大于文本宽度](https://linux22.com/image/316794/%E5%85%AC%E5%BC%8F%E5%AE%BD%E5%BA%A6%E5%A4%A7%E4%BA%8E%E6%96%87%E6%9C%AC%E5%AE%BD%E5%BA%A6.png)
我有一个方程式,其宽度略宽于文档的宽度。我想将方程式居中,但不想更改文档的几何形状。我尝试了此问题中提到的方法:中心图形的宽度大于 \textwidth。但是,它不适用于方程环境。我怎样才能使方程居中?
上面的图片是我的MWE生成的,如下所示:
\documentclass[a4paper, 10pt]{article}
\usepackage{amsmath}
\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry}
\begin{document}
This is an equation:
\begin{align}
\left[
\begin{gathered}
Y_{m,k}^{\mathrm{ws_1}} \\
Q_{m,k}^{\mathrm{ws}} = \mathrm{cp} Fw_m \left(\mathrm{TC}_k^{\mathrm{up}}-\mathrm{TC}_k^{\mathrm{lo}}\right) \\
T_m^{\mathrm{ed}} \geq \mathrm{TC}_k^{\mathrm{up}}
\end{gathered}
\right] \vee
%
\left[
\begin{gathered}
Y_{m,k}^{\mathrm{ws_2}} \\
Q_{m,k}^{\mathrm{ws}} = \mathrm{cp} Fw_m \left(T_m^{\mathrm{ed}} - \mathrm{TC}_k^{\mathrm{lo}}\right) \\
\mathrm{TC}_k^{\mathrm{lo}} \leq T_m^{\mathrm{ed}} \leq \mathrm{TC}_k^{\mathrm{up}}
\end{gathered}
\right] \vee
%
\left[
\begin{gathered}
Y_{m,k}^{\mathrm{ws_3}} \\
Q_{m,k}^{\mathrm{ws}} = 0 \\
T_m^{\mathrm{ed}} \leq \mathrm{TC}_k^{\mathrm{lo}}
\end{gathered}
\right] & \quad \forall m, \; \forall k \in \mathrm{WM}
\end{align}
\end{document}
答案1
这个等式实际上并不比页面宽,但它是宽度足够大,如果将方程视为矩形框,则没有足够的空间将方程编号放在同一行上。
然而,由于底部有一个间隙,并且方程式编号已自动移出“通常”位置,您可以利用该amsmath
功能\raisetag
:
\documentclass[a4paper, 10pt]{article}
\usepackage{amsmath}
\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry}
\begin{document}
This is an equation:
\begin{align}
\raisetag{1\baselineskip}
\left[
\begin{gathered}
Y_{m,k}^{\mathrm{ws_1}} \\
Q_{m,k}^{\mathrm{ws}} = \mathrm{cp} Fw_m \left(\mathrm{TC}_k^{\mathrm{up}}-\mathrm{TC}_k^{\mathrm{lo}}\right) \\
T_m^{\mathrm{ed}} \geq \mathrm{TC}_k^{\mathrm{up}}
\end{gathered}
\right] \vee
%
\left[
\begin{gathered}
Y_{m,k}^{\mathrm{ws_2}} \\
Q_{m,k}^{\mathrm{ws}} = \mathrm{cp} Fw_m \left(T_m^{\mathrm{ed}} - \mathrm{TC}_k^{\mathrm{lo}}\right) \\
\mathrm{TC}_k^{\mathrm{lo}} \leq T_m^{\mathrm{ed}} \leq \mathrm{TC}_k^{\mathrm{up}}
\end{gathered}
\right] \vee
%
\left[
\begin{gathered}
Y_{m,k}^{\mathrm{ws_3}} \\
Q_{m,k}^{\mathrm{ws}} = 0 \\
T_m^{\mathrm{ed}} \leq \mathrm{TC}_k^{\mathrm{lo}}
\end{gathered}
\right] & \quad \forall m, \; \forall k \in \mathrm{WM}
\end{align}
\end{document}
完整文档位于amsmath
用户指南中:texdoc amsmath
。
编辑: 处理这个宽方程的另一种方法是人为地将其向左移动,让 latex 认为它比实际更窄。在结果开始投射到左边距之前,只有有限的空间可用于此,这是不可取的。这是替换命令的结果
\raisetag{1\baselineskip}
在上面的代码中
\mspace{-30mu}
(并在示例后面添加一些文本以显示左边距的位置):
答案2
另一个答案具有更高的通用性,但对于这个特定示例,您也可以采用简单的方法,使方程式不那么宽。在这里,只需将两个非常宽的元素稍微更改为
Q_{m,k}^{\mathrm{ws}} = \mathrm{cp} Fw_m \left(\mathrm{TC}_k^{\mathrm{up}}{-}\mathrm{TC}_k^{\mathrm{lo}}\right) \\
和
Q_{m,k}^{\mathrm{ws}} = \mathrm{cp} Fw_m \left(T_m^{\mathrm{ed}} {-} \mathrm{TC}_k^{\mathrm{lo}}\right) \\
分别。(例如,在 周围加上花括号-
,这会改变其周围的间距,因为它不再被视为二元运算符(至少那是我记得的解释),您可以对=
或任何带有间距的运算符/关系符号执行相同操作(例如\vee
))
正如我之前所说:这不适合一般方法,而且它会直接导致错误、不一致的间距,但有时你必须采取这样的措施。
答案3
gathered
这里一个非常简单的解决方案是用arraystretch替换环境bmatrix. In addition, all brackets will have the same height here.We can make the same interrow spacing as in gathered by adjusting
:
\documentclass[a4paper, 10pt]{article}
\usepackage{amsmath}
\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry}
\begin{document}
This is an equation:
\begin{align}
\left[
\begin{gathered}
Y_{m,k}^{\mathrm{ws_1}} \\
Q_{m,k}^{\mathrm{ws}} = \mathrm{cp} Fw_m \left(\mathrm{TC}_k^{\mathrm{up}}-\mathrm{TC}_k^{\mathrm{lo}}\right) \\
T_m^{\mathrm{ed}} \geq \mathrm{TC}_k^{\mathrm{up}}
\end{gathered}
\right] \vee
%
\left[
\begin{gathered}
Y_{m,k}^{\mathrm{ws_2}} \\
Q_{m,k}^{\mathrm{ws}} = \mathrm{cp} Fw_m \left(T_m^{\mathrm{ed}} - \mathrm{TC}_k^{\mathrm{lo}}\right) \\
\mathrm{TC}_k^{\mathrm{lo}} \leq T_m^{\mathrm{ed}} \leq \mathrm{TC}_k^{\mathrm{up}}
\end{gathered}
\right] \vee
%
\left[
\begin{gathered}
Y_{m,k}^{\mathrm{ws_3}} \\
Q_{m,k}^{\mathrm{ws}} = 0 \\
T_m^{\mathrm{ed}} \leq \mathrm{TC}_k^{\mathrm{lo}}
\end{gathered}
\right] & \quad \forall m, \; \forall k \in \mathrm{WM}
\end{align}
\end{document}