来自其他来源(例如这里和这里),我拼凑了一个方程,并用下括号标记了每个部分。
我想在这个部分添加一个下支撑:
\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}}
。
您可能还想进一步改进您的代码:
- 例如,使用 \tanh
instead of using a deprecated font macro (
\rm \DeclareMathOperator{\tanh}{tanh}`。). (If you need other operators, they should be defined with
\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}