用于注释方程式的彩色括号

用于注释方程式的彩色括号

我正在尝试在 中实现我之前的 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一样

  1. 无需同时处理两种颜色(红色和当前颜色),
  2. 不需要对当前颜色进行硬编码。

在此处输入图片描述

\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}

相关内容