等式中相乘分量的下括号

等式中相乘分量的下括号

来自其他来源(例如这里这里),我拼凑了一个方程,并用下括号标记了每个部分。

我想在这个部分添加一个下支撑:

\rm{tanh}(W_2x_t + U_2h_{t-1} + b_2)

但每当我这样做时,我都会收到一个错误:缺少插入$。

在下面的 MWE 的评论中,我包含了产生错误的代码。

我怎样才能在等式的这一部分添加下划线 - 它乘以一个已经有下划线的项,如果这有问题的话?

\documentclass{article}
\usepackage{mathtools}% Loads amsmath
\begin{document}
\[
c_t = 
    \underbrace{\sigma(W_3 x_t + U_3h_{t-1} + b_3)}_\text{forget gate} c_{t-1} +
    \underbrace{\sigma(W_1x_t + U_1h_{t-1} + b_1)}_\text{input gate} \rm{tanh}(W_2x_t + U_2h_{t-1} + b_2)
\]
\end{document}

%\[
%  c_t = 
%    \underbrace{\sigma(W_3 x_t + U_3h_{t-1} + b_3)}_\text{forget gate} c_{t-1} + 
%    \underbrace{\sigma(W_1x_t + U_1h_{t-1} + b_1)}_\text{input gate} \underbrace{\rm{tanh}(W_2x_t + U_2h_{t-1} + b_2)}_\text{c_{new_t}}
%\]

答案1

嗯,\text期望它的参数是文本。即在其参数中您不再处于数学模式,必须添加$…$才能在数学模式下获取文本。但是由于您根本不需要文本,请不要使用宏并写入\underbrace{…}_{c_{new_t}}

您可能还想进一步改进您的代码:

  1. 例如,使用 \tanh instead of using a deprecated font macro (\rm \DeclareMathOperator{\tanh}{tanh}`。). (If you need other operators, they should be defined with
  2. \text在必要时使用,例如c_{\text{new}_t}
\documentclass{article}
\usepackage{mathtools}% Loads amsmath

%\DeclareMathOperator{\tanh}{tanh}% already defined in that way …

\begin{document}
\[
c_t = 
    \underbrace{\sigma(W_3 x_t + U_3h_{t-1} + b_3)}_\text{forget gate} c_{t-1} +
    \underbrace{\sigma(W_1x_t + U_1h_{t-1} + b_1)}_\text{input gate} \underbrace{\tanh(W_2x_t + U_2h_{t-1} + b_2)}_{c_{\text{new}_t}}
\]
\end{document}

相关内容