我想排版一个很长的等式,其中包含两个大括号,它们的高度会根据内容动态调整。典型的方法是使用\left[ \right]
如上所示,括号似乎比其内容短。一个可能的解决方案是使用。但是,除非将其修改为大于默认值,否则\bigstrut
此方法无效。这意味着我必须定义自定义 strut 命令,如下所示\bigstrutjot
\newlength{\heightbigstrut}
\setlength{\heightbigstrut}{3mm}
\newcommand{\bigstrutX}[2][0]{
\ifthenelse{\equal{#1}{0}}
% No optional argument is provided
{\renewcommand{\bigstrutjot}{\heightbigstrut} \bigstrut[#2]}
% Optional argument provided
{\renewcommand{\bigstrutjot}{#1} \bigstrut[#2]}
}
结果将变成
这是我真正想要的结果。但是,上面的自定义代码不是最佳的,因为我需要手动确定顶部和底部支柱的高度。更改内容意味着我还必须更改支柱的长度
我的问题:有什么替代方法可以自动指定大支柱的高度?
\documentclass{article}
\usepackage{ifthen}
\usepackage[a4paper]{geometry}
\geometry{twoside=false, showframe=false}
% Horizontal
\geometry{inner=20mm, outer=20mm, includemp=true, bindingoffset=0mm, marginparsep=0mm, marginparwidth=0mm}
% Vertical
\geometry{top=20mm, vmarginratio=3:5, includehead=true, includefoot=true, headheight=8pt, headsep=14pt, footskip=5mm}
\usepackage{mathtools}
\usepackage{bigstrut}
\newlength{\heightbigstrut}
\setlength{\heightbigstrut}{3mm}
\newcommand{\bigstrutX}[2][0]{
\ifthenelse{\equal{#1}{0}}
% No optional argument is provided
{\renewcommand{\bigstrutjot}{\heightbigstrut} \bigstrut[#2]}
% Optional argument provided
{\renewcommand{\bigstrutjot}{#1} \bigstrut[#2]}
}
\begin{document}
\begin{equation*}
\min \left[
\begin{aligned}
& \sum\limits_{t \in T} \left(p_{t}^{\mathrm{buy}} P_{t}^{\mathrm{buy}} - p_{t}^{\mathrm{sell}} P_{t}^{\mathrm{sell}}\right) \Delta t
\\
&\left(
\sum\limits_{t \in T} \left(P_{t}^{L} p_{P}^{L} + P_{t}^{An} p_{P}^{An} + P_{t}^{IP} p_{P}^{IP}\right) +
E_{T}^{L} p_{E}^{L} + E_{T}^{An} p_{E}^{An} + E_{T}^{IP} p_{E}^{IP}
\right)
\end{aligned}
\right]
\end{equation*}
\end{document}
答案1
您的想法是对的,结果不是最佳的。不幸的是,我看不到真正自动化调整的方法。
在这种特殊情况下,添加虚拟上标就足够了。
下面我把所有的\left
和都改为手动调整栅栏大小:和\right
选择的尺寸太大了。\left
\right
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\begin{equation*}
\min \left[\;
\begin{aligned}
&\sum_{t \in T}^{} \bigl(
p_{t}^{\mathrm{buy}} P_{t}^{\mathrm{buy}} -
p_{t}^{\mathrm{sell}} P_{t}^{\mathrm{sell}}
\bigr) \Delta t
\\[1ex]
&+\Bigl(\,% <--- avoid clash with subscript
\sum_{t \in T} \bigl(
P_{t}^{L} p_{P}^{L} + P_{t}^{An} p_{P}^{An} + P_{t}^{IP} p_{P}^{IP}
\bigr) +
E_{T}^{L} p_{E}^{L} + E_{T}^{An} p_{E}^{An} + E_{T}^{IP} p_{E}^{IP}
\Bigr)
\end{aligned}
\;\right]
\end{equation*}
\end{document}
栅栏和表情之间留出一些间距似乎更好,请自行判断。
另一方面,我个人会使用multline
。
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\begin{multline*}
\min\biggl[\,
\sum_{t \in T}^{} \bigl(
p_{t}^{\mathrm{buy}} P_{t}^{\mathrm{buy}} -
p_{t}^{\mathrm{sell}} P_{t}^{\mathrm{sell}}
\bigr) \Delta t
\\
+\Bigl(\,% <--- avoid clash with subscript
\sum_{t \in T} \bigl(
P_{t}^{L} p_{P}^{L} + P_{t}^{An} p_{P}^{An} + P_{t}^{IP} p_{P}^{IP}
\bigr) +
E_{T}^{L} p_{E}^{L} + E_{T}^{An} p_{E}^{An} + E_{T}^{IP} p_{E}^{IP}
\Bigr)\biggr]
\end{multline*}
\end{document}