用括号和换行符标记方程式

用括号和换行符标记方程式

我以前从未使用过这个,所以请耐心等待。我正在尝试用括号标记动量流动守恒方程的各个部分,我以前也这样做过。但是,我不知道如何在标签中添加适当的换行符。以下是一个例子:

\begin{equation*}
    \underbrace{\oiiint\limits_V \rho\vec{F}_b\:\mathrm{d}V}_{\text{Body forces (acceleration, emf, etc.)}}
\end{equation*}

理想情况下,我希望在“Body Forces”和“(acceleration, emf, etc.)”之间有一个换行符。这些方程式对于熟悉的人来说太长了,而巨大的标签只会通过添加多余的空间(在某些情况下会使它超出页面)而扭曲方程式。有人知道怎么做吗?我尝试在我想要换行的地方添加以下所有内容,但无济于事:

\linebreak
\newline
\\

当我添加前两个命令时,它似乎只是在编译后删除了空格。当我尝试最后一个命令时,它根本无法编译。\text 命令来自 AMSMath,但我找不到有关如何添加换行符的任何文档。有什么想法吗?

编辑:下面是我试图标记的整个等式。

\begin{equation*}
    \overbrace{\underbrace{\oiiint\limits_{\vol} \rho \vec{f}_b\diff \vol}_{\text{Body forces (acceleration, emf, gravity, etc.)}}-\underbrace{\oiint\limits_SP\diff S}_{\text{Pressure forces}}+\underbrace{\phantom{\intup\limits_l}\vec{F}_\mu\phantom{\intup\limits_l}}_{\text{Viscous forces}}}^{\vec{F}}=\overbrace{\underbrace{\oiint\limits_S\left(\rho\vec{v}\cdot\mathrm{d}S\right)\vec{v}}_{m\frac{\dd v}{\dd t}}+\underbrace{\frac{\partial}{\partial t}\oiiint\limits_{\vol}\rho \vec{v}\diff \vol}_{\vec{v}\frac{\dd m}{\dd t}}}^{\frac{\dd}{\dd t}\left(m\vec{v}\right)}
\end{equation*}

它将打印这个结果: 动量守恒定律打印输出

如您所见,下支撑和随后的方程项分散了相当多。当它们超过项的宽度(下支撑本身的宽度)时,我们的想法是将它们压缩为多行解决方案。体力、粘性力以及可能的压力标签会受到我正在寻找的解决方案的影响。等式的右侧不会受到影响,因为标签小于下支撑本身。

以下是为了正确打印而在序言中需要包含的相关信息(我的文档中还有更多包,但我认为这些是打印该行所必需的唯一信息):

\usepackage{stix2}
\usepackage{amsmath}

\newcommand{\vol}{\makebox[0pt][l]{\ooalign{\hfil$V$\hfil\cr\kern0.09em--\hfil\cr}}}

\vol 是我在这个网站上找到的一个命令,我根据自己的喜好进行了修改。如果有一个解决方案同时包含 overbrace 和 underbrace 选项就好了,但我不确定是否存在这样的解决方案。感谢大家迄今为止的帮助!

另一处编辑:我想我不明白 MWE 是什么意思,所以也许下面就是你要找的东西?用 \begin{document} 之类的?

\documentclass[10pt,twoside,letterpaper,titlepage]{article}

\usepackage{amsmath}
\usepackage{stix2}

\newcommand{\vol}{\makebox[0pt][l]{\ooalign{\hfil$V$\hfil\cr\kern0.09em-- 
\hfil\cr}}}
\newcommand{\diff}{\,\mathrm{d}}
\newcommand{\dd}{\mathrm{d}}

\begin{document}

\begin{equation*}
\overbrace{\underbrace{\oiiint\limits_{\vol} \rho \vec{f}_b\diff \vol}_{\text{Body forces (acceleration, emf, gravity, etc.)}}-\underbrace{\oiint\limits_SP\diff S}_{\text{Pressure forces}}+\underbrace{\phantom{\intup\limits_l}\vec{F}_\mu\phantom{\int\limits_S}}_{\text{Viscous forces}}}^{\vec{F}}=\overbrace{\underbrace{\oiint\limits_S\left(\rho\vec{v}\cdot\mathrm{d}S\right)\vec{v}}_{m\frac{\dd v}{\dd t}}+\underbrace{\frac{\partial}{\partial t}\oiiint\limits_{\vol}\rho \vec{v}\diff \vol}_{\vec{v}\frac{\dd m}{\dd t}}}^{\frac{\dd}{\dd t}\left(m\vec{v}\right)}
\end{equation*}

\end{document}

答案1

您的代码中有几个错误;的定义\vol不应该有\makebox[0pt],因为这会使符号的宽度为零。

\phantom应该是,所以只需使用垂直尺寸。这里\vphantom不需要\left和。\right

\vol为 STIX Two 字体做了改进,字距更小,上标和下标可调整大小。修改后的定义\diff还允许您将其用于衍生产品。

\documentclass[10pt,twoside,letterpaper,titlepage]{article}

\usepackage{amsmath}
\usepackage{stix2}
\usepackage{varwidth}

\newcommand{\vol}{%
  \mathord{\text{%
    \ooalign{\hfil$V$\hfil\cr\kern0.03em--\hfil\cr}%
  }}%
}
\newcommand{\diff}{\mathop{}\!\mathrm{d}}
%\newcommand{\dd}{\mathrm{d}} % not needed, just use \diff
\newcommand{\btext}[1]{\text{\begin{varwidth}[t]{\textwidth}\centering#1\end{varwidth}}}

\begin{document}

\begin{equation*}
\overbrace{
  \underbrace{\oiiint\limits_{\vol} \rho \vec{f}_b\diff \vol}
    _{\btext{Body forces  \\ (acceleration, emf, \\ gravity, etc.)}}
 -\underbrace{\oiint\limits_SP\diff S}_{\btext{Pressure \\ forces}}
 +\underbrace{\vphantom{\intup\limits_S}\vec{F}_\mu\vphantom{\int\limits_S}}
    _{\btext{Viscous \\ forces}}}^{\vec{F}}
 =\overbrace{\underbrace{\oiint\limits_S (\rho\vec{v}\cdot\diff S)\vec{v}}
    _{m\frac{\diff v}{\diff t}}
 +\underbrace{\frac{\partial}{\partial t}\oiiint\limits_{\vol}\rho \vec{v}\diff \vol}
    _{\vec{v}\frac{\diff m}{\diff t}}}^{\frac{\diff}{\diff t}(m\vec{v})}
\end{equation*}

\end{document}

对于长下标,我利用了varwidth使框尽可能宽的方法。该名称\btext代表“断线(跨行)文本”。

在此处输入图片描述

改进的版本,纠正了一些错误的间距:

\documentclass[10pt,twoside,letterpaper,titlepage]{article}

\usepackage{amsmath}
\usepackage{stix2}
\usepackage{varwidth}

\newcommand{\vol}{%
  \mathord{\text{%
    \ooalign{\hfil$V$\hfil\cr\kern0.03em--\hfil\cr}%
  }}%
}
\newcommand{\diff}{\mathop{}\!\mathrm{d}}
%\newcommand{\dd}{\mathrm{d}} % not needed, just use \diff
\newcommand{\btext}[1]{\text{\begin{varwidth}[t]{\textwidth}\centering#1\end{varwidth}}}

\newcommand{\ob}[2]{{\overbrace{#1}^{#2}}}
\newcommand{\ub}[2]{{\underbrace{#1}_{#2}}}


\begin{document}

\begin{equation*}
\ob{
  \ub{\oiiint\limits_{\vol} \rho \vec{f}_b\diff \vol}
     {\btext{Body forces  \\ (acceleration, \\ emf, gravity, etc.)}}
 -\ub{\oiint\limits_SP\diff S}{\btext{Pressure \\ forces}}
 +\ub{\vphantom{\intup\limits_S}\vec{F}_\mu\vphantom{\int\limits_S}}
     {\hspace{-2em}\btext{Viscous \\ forces}\hspace{-2em}}
   }{\vec{F}}
=
\ob{
   \ub{\oiint\limits_S (\rho\vec{v}\cdot\diff S)\vec{v}}{m\frac{\diff v}{\diff t}}
  +\ub{\frac{\partial}{\partial t}\oiiint\limits_{\vol}\rho \vec{v}\diff \vol}
       {\vec{v}\frac{\diff m}{\diff t}}
   }{\frac{\diff}{\diff t}(m\vec{v})}
\end{equation*}

\end{document}

最好使用定义的宏\ob,以便隐藏归因于其标准定义\ub的性质。\mathop\overbrace\underbrace

在此处输入图片描述

我会考虑避免过多的括号不足和过度使用。这里我还添加了一些\,上面代码中缺少但确实应该应用的部分。

\documentclass[10pt,twoside,letterpaper,titlepage]{article}

\usepackage{amsmath}
\usepackage{stix2}
\usepackage{varwidth}

\newcommand{\vol}{%
  \mathord{\text{%
    \ooalign{\hfil$V$\hfil\cr\kern0.03em--\hfil\cr}%
  }}%
}
\newcommand{\diff}{\mathop{}\!\mathrm{d}}
%\newcommand{\dd}{\mathrm{d}} % not needed, just use \diff
\newcommand{\btext}[1]{\text{\begin{varwidth}[t]{\textwidth}\centering#1\end{varwidth}}}

\newcommand{\ob}[2]{{\overbrace{#1}^{#2}}}
\newcommand{\ub}[2]{{\underbrace{#1}_{#2}}}


\begin{document}

The force $\vec{F}$ can be split as the sum of
\begin{align*}
&\oiiint\limits_{\vol} \rho \vec{f}_b\diff \vol && \text{Body forces (acceleration, emf, gravity, etc.)} \\
&\oiint\limits_SP\diff S && \text{Pressure forces} \\
&\vec{F}_\mu && \text{Viscous forces}
\end{align*}
and $\frac{\diff}{\diff t}(m\vec{v})=m\frac{\diff\vec{v}}{\diff t}+\vec{v}\,\frac{\diff m}{\diff t}$, where
\begin{align*}
m\frac{\diff\vec{v}}{\diff t}  &= \oiint\limits_S (\rho\vec{v}\cdot\diff S)\vec{v} \\
\vec{v}\,\frac{\diff m}{\diff t} &= \frac{\partial}{\partial t}\oiiint\limits_{\vol}\rho \vec{v}\diff \vol
\end{align*}
so we arrive at the main formula
\begin{equation*}
\oiiint\limits_{\vol} \rho \vec{f}_b\diff \vol +
\oiint\limits_SP\diff S +
\vec{F}_\mu
=
\oiint\limits_S (\rho\vec{v}\cdot\diff S)\vec{v} +
\frac{\partial}{\partial t}\oiiint\limits_{\vol}\rho \vec{v}\diff \vol
\end{equation*}

\end{document}

在此处输入图片描述

答案2

尝试:

\documentclass{article}
\usepackage{stix}
\usepackage{mathtools}
\newlength\ubwidth
\newcommand\parunderbrace[2]{\settowidth\ubwidth{$#1$}% founded somewhere on this site
                             \underbrace{#1}_{\parbox{\ubwidth}{%
                                \scriptsize\centering#2}}
                             }

\begin{document}
    \[
\parunderbrace{\oiiint\limits_V\rho\vec{F}_b\,\mathrm{d}V}{Body forces (acceleration, emf, etc.)}
    \]
\end{document}

在此处输入图片描述

附录: 你可以使用上面的解决方案轻松获得完整的方程。例如:

\documentclass{article}
\usepackage{stix2}
\usepackage{mathtools}
\usepackage{esdiff}
\newcommand{\dd}{\,\mathrm{d}}
\newlength\ubwidth
\newcommand\parunderbrace[2]{\settowidth\ubwidth{$#1$}% found somewhere on this site
                             \underbrace{#1}_{\parbox{\ubwidth}{%
                                \scriptsize\centering#2}}
                             }

\begin{document}
    \[
\overbrace{
\parunderbrace{\oiiint\limits_V\rho\vec{F}_b \dd V}{Body forces (acceleration, emf, etc.)}
+ 
\parunderbrace{\oiiint\limits_S\rho P \dd S}{Pressure forces}
+ 
\parunderbrace{\ \vphantom{\int\limits_S}\vec{F}_\mu\ }{Viscous forces}
           }^{\vec{F}}
= \overbrace{
\parunderbrace{\oiint\limits_S\left(\rho\vec{v}\cdot\dd S\right)\vec{v}}{$m\diff{d}{v}$}
+ \parunderbrace{\diffp{}{t}\oiiint\limits_{V}\rho \vec{v}\dd V}{$\vec{v}\diff{m}{t}$}
            }^{\diff{}{t} (m\vec{v})}
    \]
\end{document}

在此处输入图片描述

相关内容