对齐多行 RHS

对齐多行 RHS

我有以下 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}

我想要更改的突出显示的输出如下:

mwe plus 突出显示

  1. 我想移动行 (5) 中第二个方程的 RHS,以便地址位与=方程编号对齐。https://tex.stackexchange.com/a/44451/19326接近但方程编号居中。(https://tex.stackexchange.com/a/105639/19326也接近,但在这里我看不出如何处理第一列中的公式编号和对齐方式)。请注意,我想按变量名称对齐,而不是按符号对齐。特别注意等号和第一个变量之间留下的间隙,以便下面行的符号不会与等号垂直重叠)
  2. 我想添加相等的间距,我尝试过: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

行间距可以用 调整\vphantomaligned可以用 处理,[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}多字母标识符。

在此处输入图片描述

相关内容