如何在对齐环境中改变“列”宽度?

如何在对齐环境中改变“列”宽度?

我在对齐环境中具有以下内容:

\begin{align}
\bm{i}_t&=\sigma(\bm{W}^i\bm{x}_t+\bm{U}^i\bm{h}_{t-1}+\bm{b}^i)&&\text{Puerta }\mathit{input}\nonumber\\
\bm{f}_t&=\sigma(\bm{W}^f\bm{x}_t+\bm{U}^f\bm{h}_{t-1}+\bm{b}^f)&&\text{Puerta }\mathit{forget}\nonumber\\
\bm{o}_t&=\sigma(\bm{W}^o\bm{x}_t+\bm{U}^o\bm{h}_{t-1}+\bm{b}^o)&&\text{Puerta }\mathit{output}\nonumber\\[8pt]
\bm{g}_t&=\tanh(\bm{W}^c\bm{x}_t+\bm{U}^c\bm{h}_{t-1})&&{}\nonumber\\
\bm{c}_t&=\bm{f}_t\odot\bm{c}_{t-1}+\bm{i}_t\odot\bm{g}_t&&\text{Celda de memoria}\nonumber\\
\bm{h}_t&=\bm{o}_t\odot\tanh\bm{c}_{t}&&\text{Celda de salida}
\end{align}

看看它是什么样子的这里

在此处输入图片描述

对齐方式符合我的要求,但是我希望右侧的文本从更左侧开始(更靠近公式结束的位置)。我该怎么做?

答案1

最简单的方法将使用alignat环境(实际上我用它alignedat来简化你的代码),它使你可以完全控制对齐列之间的间距:我只是quad在第二行添加了一个,它在第一列中有最长的公式:

\documentclass{article}
\usepackage{mathtools, bm}

\begin{document}

\begin{align}
\bm{i}_t&=\sigma(\bm{W}^i\bm{x}_t+\bm{U}^i\bm{h}_{t-1}+\bm{b}^i)&&\text{Puerta }\mathit{input}\nonumber\\
\bm{f}_t&=\sigma(\bm{W}^f\bm{x}_t+\bm{U}^f\bm{h}_{t-1}+\bm{b}^f)&&\text{Puerta }\mathit{forget}\nonumber\\
\bm{o}_t&=\sigma(\bm{W}^o\bm{x}_t+\bm{U}^o\bm{h}_{t-1}+\bm{b}^o)&&\text{Puerta }\mathit{output}\nonumber\\[8pt]
\bm{g}_t&=\tanh(\bm{W}^c\bm{x}_t+\bm{U}^c\bm{h}_{t-1})&&{}\nonumber\\
\bm{c}_t&=\bm{f}_t\odot\bm{c}_{t-1}+\bm{i}_t\odot\bm{g}_t&&\text{Celda de memoria}\nonumber\\
\bm{h}_t&=\bm{o}_t\odot\tanh\bm{c}_{t}&&\text{Celda de salida}
\end{align}

\begin{equation}
\begin{alignedat}[b]{2}
\bm{i}_t&=\sigma(\bm{W}^i\bm{x}_t+\bm{U}^i\bm{h}_{t-1}+\bm{b}^i)&&\text{Puerta }\emph{input} \\
\bm{f}_t&=\sigma(\bm{W}^f\bm{x}_t+\bm{U}^f\bm{h}_{t-1}+\bm{b}^f)&\quad &\text{Puerta }\emph{forget} \\
\bm{o}_t&=\sigma(\bm{W}^o\bm{x}_t+\bm{U}^o\bm{h}_{t-1}+\bm{b}^o)&&\text{Puerta }\emph{output} \\[8pt]
\bm{g}_t&=\tanh(\bm{W}^c\bm{x}_t+\bm{U}^c\bm{h}_{t-1})&&{} \\
\bm{c}_t&=\bm{f}_t\odot\bm{c}_{t-1}+\bm{i}_t\odot\bm{g}_t&&\text{Celda de memoria} \\
\bm{h}_t&=\bm{o}_t\odot\tanh\bm{c}_{t}&&\text{Celda de salida}
\end{alignedat}
\end{equation}

\end{document} 

在此处输入图片描述

答案2

使用负数学空间不是一个好的解决方案\mkern-70mu,但它确实有效...这只是一个快速的替代方法。

\documentclass{article}
\usepackage[utf8]{inputenc}

\title{test}
\author{b}
\date{June 2020}

\usepackage{bm}
\usepackage{amsmath}

\begin{document}


\begin{align}
\bm{i}_t&=\sigma(\bm{W}^i\bm{x}_t+\bm{U}^i\bm{h}_{t-1}+\bm{b}^i)&&\mkern-70mu\text{Puerta }\mathit{input}\nonumber\\
\bm{f}_t&=\sigma(\bm{W}^f\bm{x}_t+\bm{U}^f\bm{h}_{t-1}+\bm{b}^f)&&\mkern-70mu\text{Puerta }\mathit{forget}\nonumber\\
\bm{o}_t&=\sigma(\bm{W}^o\bm{x}_t+\bm{U}^o\bm{h}_{t-1}+\bm{b}^o)&&\mkern-70mu\text{Puerta }\mathit{output}\nonumber\\[8pt]
\bm{g}_t&=\tanh(\bm{W}^c\bm{x}_t+\bm{U}^c\bm{h}_{t-1})&&{}\nonumber\\
\bm{c}_t&=\bm{f}_t\odot\bm{c}_{t-1}+\bm{i}_t\odot\bm{g}_t&&\mkern-70mu\text{Celda de memoria}\nonumber\\
\bm{h}_t&=\bm{o}_t\odot\tanh\bm{c}_{t}&&\mkern-70mu\text{Celda de salida}
\end{align}

\end{document}

在此处输入图片描述

相关内容