在大型方程式的顶部/底部添加支撑

在大型方程式的顶部/底部添加支撑

我想排版一个很长的等式,其中包含两个大括号,它们的高度会根据内容动态调整。典型的方法是使用\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} 

在此处输入图片描述

相关内容