![如何在对齐环境中改变“列”宽度?](https://linux22.com/image/419021/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%AF%B9%E9%BD%90%E7%8E%AF%E5%A2%83%E4%B8%AD%E6%94%B9%E5%8F%98%E2%80%9C%E5%88%97%E2%80%9D%E5%AE%BD%E5%BA%A6%EF%BC%9F.png)
我在对齐环境中具有以下内容:
\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}