我正在尝试在 中实现我之前的 Powerpoint 演示文稿beamer
。
我有一个像
我想在 中创建类似的东西beamer
。
我写了一个如下的等式,但是我无法写出等式下面的描述,如图所示:
\begin{equation}
\partial _t(m_x m_yHu)+ \partial_x(m_yHuu)+\partial_y(m_xHvu)+\partial_z(m_xm_ywu)-m_xm_yf_cHv
\end{equation}
非常感谢任何帮助/建议。
答案1
操作符间距并不完美,但括号添加了一些水平填充,这可能就足够了:
\documentclass{beamer}% http://ctan.org/pkg/beamer
\usepackage{mathtools}% http://ctan.org/pkg/mathtools
\begin{document}
\begin{frame}
\[
\alert{\underbrace{\color{black}\partial _t(m_x m_yHu)}_
{\mathclap{\text{Local acceleration}}}}
{+}
\alert{\underbrace{\color{black}
\partial_x(m_yHuu) + \partial_y(m_xHvu) + \partial_z(m_xm_ywu)}_
{\text{Advective acceleration}}}
{-}
\alert{\underbrace{\color{black}m_xm_yf_cHv}_
{\substack{\text{Coriolis}\\\text{acceleration}}}}
\]
\end{frame}
\end{document}
一些亮点:
\alert
为s提供了颜色的选择\underbrace
,同时\color{black}
避免了表情的颜色变换。\text
(从amsmath
,加载者mathtools
) 可以轻松格式化上标/下标中的文本,而不必担心字体大小。- 由于第一个括号下的文本比数学组件宽,因此
\mathclap
将内容插入零宽度框中,以免影响周围组件的设置。 \substack
允许垂直堆叠元素,尤其是作为运算符下的下标,其\underbrace
本质上就是这样。- 用括号括住运算符
{<op>}
会消除它们的“二元运算符”间距。但是,由 s 插入的填充\underbrace
(在任一侧)可充当足够的缓冲区。这并不完美,但可能并不那么引人注目。
答案2
基于 Werner 的解决方案,您可以定义一个新命令以实现更多自动化。
在下面的代码中,我定义了一个名为\redub
(代表“红色下括号”) 的命令,它使用 _ 作为两个参数之间的分隔符,就像 和\underbrace
一样
- 无需同时处理两种颜色(红色和当前颜色),
- 不需要对当前颜色进行硬编码。
\documentclass{article}
\usepackage{xcolor}
\usepackage{mathtools}
\makeatletter
\newcommand{\redub}{}
\def\redub#1{%
\@ifnextchar_%
{\@redub{#1}}
{\@latex@warning{Missing argument for \string\redub}\@redub{#1}_{}}%
}
\def\@redub#1_#2{%
\colorlet{currentcolor}{.}%
\color{red}%
\underbrace{\color{currentcolor}#1}_{\color{red}#2}%
\color{currentcolor}%
}
\makeatother
\setlength{\parindent}{0pt}
\begin{document}
{
\color{blue} % only to demonstrate 1. and 2. (see the top of my answer)
A simple example:
\[
\redub{Ax=b}_{\mathclap{\text{my linear system}}}
\]
blah blah blah\ldots \\[1em]
}
A more involved example
\[
\redub{\partial _t(m_x m_yHu)}_{\mathclap{\text{Local acceleration}}}
{+}
\redub{\partial_x(m_yHuu) + \partial_y(m_xHvu) + \partial_z(m_xm_ywu)}_%
{\text{Advective acceleration}}
{-}
\redub{m_xm_yf_cHv}_{\substack{\text{Coriolis}\\\text{acceleration}}}
\]
\end{document}