如何解决较长的乘法表达式?

如何解决较长的乘法表达式?

考虑以下表达式:

\documentclass[12pt, a4paper]{report}
\usepackage{amsfonts, graphicx, verbatim, mathtools,amssymb, amsthm, mathrsfs,amsmath}
\begin{document}
       \begin{align*}
    S\left(t\right)&\geq  S\left(t\right)\exp \left\lbrace {-\int_0^t \left[\beta_A A\left(\tau\right) +\beta_I I\left(\tau\right) \right]\;\mathrm{d}\tau-\mu t -\rho t} \right \rbrace\\[1ex]
    &+\exp \left\lbrace {-\int_0^t \left[\beta_A A\left(\tau\right) +\beta_I I\left(\tau\right) \right]\;\mathrm{d}\tau-\mu t -\rho t} \right \rbrace \left \lbrace\int_0^t b(1-\nu)  \exp\left \lbrace{\int_0^\tau \left[\beta_A A\left(\zeta\right) +\beta_I I\left(\zeta\right) \right]\;\mathrm{d}\zeta+\mu \tau +\rho \tau}\right \rbrace\;\mathrm{d}\tau\right \rbrace.
    \end{align*}
\end{document}

编写此文的“理想”方式是什么?

答案1

您应该做的第一件事是消除所有\left/\right对,因为它们除了引入虚假空格外什么都不做。我还将为微分定义一个宏,并为其提供运算符间距(\,而不是\;)。最后一个术语周围的括号对我来说是多余的。

\documentclass[12pt, a4paper]{report}

\usepackage{amsmath}

\newcommand*{\diff}{\mathop{}\!\mathrm{d}} % common definition

\begin{document}

\[
S(t) \geq
\begin{aligned}[t]
&S(t)\exp\biggl\lbrace {-\int_0^t [\beta_A A(\tau) +\beta_I I(\tau) ] \diff\tau-\mu t -\rho t} \biggr\rbrace\\[1ex]
&+\exp \biggl\lbrace {-\int_0^t [\beta_A A(\tau) +\beta_I I(\tau) ]\diff\tau-\mu t -\rho t} \biggr\rbrace \\
&\qquad\times \int_0^t b(1-\nu)  \exp\biggl\lbrace{\int_0^\tau [\beta_A A(\zeta) +\beta_I I(\zeta) ]\diff\zeta+\mu \tau +\rho \tau}\biggr\rbrace\diff\tau.
\end{aligned}
\]

\end{document}

在此处输入图片描述

请注意,mathtools载荷amsmathgraphicx,以及amssymb载荷amsfonts。您的

\usepackage{amsfonts, graphicx, verbatim, mathtools,amssymb, amsthm, mathrsfs,amsmath}

因此可以简化为

\usepackage{verbatim,mathtools,amssymb, amsthm, mathrsfs}

答案2

另一种选择是将其拆分为多个语句,例如

\documentclass[12pt, a4paper]{report}
\usepackage{verbatim, mathtools,amssymb, amsthm, mathrsfs}
\begin{document}
    \begin{equation*}
        S(t) \ge S(t) \exp[- J(t) ] + \exp[-J(t)] K(t)
    \end{equation*}
    where
    \begin{align*}
        J(t) &= \int_0^t [\beta_A A(\tau) + \beta_I I(\tau)] \; \mathrm{d}\tau - \mu t - \rho t\\
        K(t) &= \int_0^t b(1-\nu)  \exp\left \lbrace{\int_0^\tau [\beta_A A(\zeta) +\beta_I I(\zeta) ] \; \mathrm{d}\zeta+\mu \tau +\rho \tau}\right \rbrace\;\mathrm{d}\tau
    \end{align*}
\end{document}

给出结果

在此处输入图片描述

答案3

这种multlined环境的布局适合您吗?

无关amsfont:在加载时您无需加载,amssymb因为后者会为您加载。同样,amsmath 如果您加载,则无需加载mathtools

\documentclass[12pt, a4paper]{report}
\usepackage{graphicx, verbatim, mathtools,amssymb, amsthm, mathrsfs}

\begin{document}

       \begin{align*}
    S\left(t\right)&\geq S\left(t\right)\exp \left\lbrace {-\int_0^t \left[\beta_A A\left(\tau\right) +\beta_I I\left(\tau\right) \right]\;\mathrm{d}\tau-\mu t -\rho t} \right \rbrace\\[1ex]
    &\phantom{\geq}+\begin{multlined}[t]\exp \left\lbrace {-\int_0^t \left[\beta_A A\left(\tau\right) +\beta_I I\left(\tau\right) \right]\;\mathrm{d}\tau-\mu t -\rho t} \right \rbrace \times \\
    \left \lbrace\int_0^t b(1-\nu) \exp\left \lbrace{\int_0^\tau \left[\beta_A A\left(\zeta\right) +\beta_I I\left(\zeta\right) \right]\;\mathrm{d}\zeta+\mu \tau +\rho \tau}\right \rbrace\;\mathrm{d}\tau\right \rbrace.\end{multlined}
    \end{align*}

\end{document} 

在此处输入图片描述

答案4

您已经得到了几个不错的答案。由于问题已加标签typography,而且您询问了一种理想的解决方法,因此我觉得一种与其他方法不同的方法可能会引起您的兴趣(可能目前对您来说不太适用,因为您使用的是 LaTeX 而不是 ConTeXt,但对其他用户来说可能适用)。

我认为,排版这种公式的理想方式可能不是基于数学对齐,而是基于某种段落类型的数学环境。它还有一个优点,就是可以将其分解到栅栏内,尽管这里没有必要。(在标记和语音阅读支持方面,它也可能会更好,但我们先不谈这个。)

我们用以下方式定义这样的环境

\defineformula[long][
    split=yes,
    textalign=middle,
    hang=yes,
    distance=1em,
    spaceinbetween=.5\lineheight,
]

然后我们可以排版公式,或多或少就像你做的一样(我删除了一些\left(因为\right)它们在那些地方没有添加任何内容,并且还添加了一些格式。)

\startlongformula
    S(t) 
    \alignhere 
        \geq 
        S(t) 
        \exp 
        \left\lbrace 
            -\int_{0}^{t} 
            \left[
                \beta_{A} A(\tau) +\beta_{I} I(\tau) 
            \right]
            \dd\tau
            -\mu t -\rho t
        \right\rbrace
    \breakhere
    \skiphere[1]
        +\exp
        \left\lbrace 
            -\int_{0}^{t} 
            \left[
                \beta_{A} A(\tau) + \beta_{I} I(\tau) 
            \right]
            \dd\tau
            -\mu t -\rho t 
        \right\rbrace 
    \breakhere
    \skiphere[2]
        \times
        \left(
            \int_{0}^{t} b(1-\nu)  
            \exp
            \left\lbrace
                \int_{0}^{\tau} 
                \left[
                    \beta_{A} A(\zeta) + \beta_{I} I(\zeta)
                \right]
                \dd\zeta 
                + \mu \tau +\rho \tau
            \right\rbrace
            \dd\tau
        \right).
\stoplongformula

值得注意的\alignhere是设置对齐点的 (本例中其实不需要,但如果有另一行,它会很有用)、\breakhere插入换行符的 以及缩进第二行和第三行的\skiphere[1]和。(在差分类中给出了广告集,不需要用空格固定。)\skiphere[2]\dd

输出如下所示:

多行公式

相关内容