我有以下 MWE:
\documentclass{report}
\usepackage{amsmath}
\begin{document}
\begin{align}
L_W&=\frac{L}{W} & \text{words per line}&=\frac{\text{bytes per line}}{\text{bytes per word}} \\
s&=\frac{l}{s} & \text{number of sets}&=\frac{\text{number of lines}}{\text{associativity}} \\
a_{off}&=ld_2(w) & \text{address offset bits}&=ld_2(\text{words per line}) \\
a_{s}&=ld_2(s) & \text{address set bits}&=ld_2(\text{number of sets}) \\
t&=a_b-a_s-a_{off} & \text{address tag bit}&=\begin{aligned}
&\text{address bits} \\
-&\text{address set bits}\\
-&\text{address offset bits}
\end{aligned}
\end{align}
\end{document}
我想要更改的突出显示的输出如下:
- 我想移动行 (5) 中第二个方程的 RHS,以便地址位与
=
方程编号对齐。https://tex.stackexchange.com/a/44451/19326接近但方程编号居中。(https://tex.stackexchange.com/a/105639/19326也接近,但在这里我看不出如何处理第一列中的公式编号和对齐方式)。请注意,我想按变量名称对齐,而不是按符号对齐。特别注意等号和第一个变量之间留下的间隙,以便下面行的符号不会与等号垂直重叠) - 我想添加相等的间距,我尝试过:https://tex.stackexchange.com/a/9151/19326(通过添加
\savebox\strutbox{$\vphantom{\frac{\text{bytes per line}}{\text{bytes per wordi}}\frac{L}{W}}$}
)但这仍然接缝给出不同的间距。(参见 3/4 之间的添加)(目前不包括,因为我担心这会向下延伸整个环境。
答案1
行间距可以用 调整\vphantom
;aligned
可以用 处理,[t]
这样第一行就与 齐平=
。但是,我甚至不会尝试将方程编号居中。
\documentclass{report}
\usepackage{amsmath}
\newcommand{\vphtextfr}{\vphantom{\frac{\text{by}}{\text{ty}}}}
\begin{document}
\begin{align}
L_W&=\frac{L}{W} &
\text{words per line}&=\frac{\text{bytes per line}}{\text{bytes per word}} \\
s&=\frac{l}{s} &
\text{number of sets}&=\frac{\text{number of lines}}{\text{associativity}} \\
a_\textup{off}&=\mathit{ld}_2(w) &
\text{address offset bits}&=\mathit{ld}_2(\text{words per line})\vphtextfr \\
a_{s}&=\mathit{ld}_2(s) &
\text{address set bits}&=\mathit{ld}_2(\text{number of sets})\vphtextfr \\
t&=a_b-a_s-a_\textup{off} &
\text{address tag bit}\vphtextfr&=
\begin{aligned}[t]
&\text{address bits} \\
-&\text{address set bits}\\
-&\text{address offset bits}
\end{aligned}
\end{align}
\end{document}
注意 的用法\textup{off}
:它不是三个量的乘积,而是一个单词。也用于\mathit{ld}
多字母标识符。