标题高于对齐列

标题高于对齐列

使用align环境我有两列,一列用于派生,另一列用于创建派生的规则。但是我很确定有更好的方法可以做到这一点?

以下是我的想法:

\documentclass[fleqn]{article}
\usepackage{amsmath}
\usepackage[fleqn]{mathtools}
\begin{document}
\begin{itemize}
\item \begin{align*}
D&erivation\; &&Rule\\
S&\implies aA& S&\rightarrow aA\\
&\xRightarrow{i-1} a^iA&A&\rightarrow aA\\
&\implies a^ibB&A&\rightarrow bB\\
&\xRightarrow{j-2} a^bb^{j-2}B&B&\rightarrow bB\\
&\implies a^ibb^{j-2}b&B&\rightarrow b\\
&=a^ib^j
\end{align*}
\end{itemize}
\end{document}

答案1

由于您的示例显示您正在将此表放入项目列表中,我猜您希望列表标题与项目项目符号位于同一行。您可以使用来执行此操作aligned,但您必须明确指出数学。我还会强制双箭头的长度相同(使用幻影)并添加一些明确的间距以使其看起来更美观:

\documentclass[fleqn]{article}
\usepackage{amsmath}
\usepackage[fleqn]{mathtools}
\begin{document}
\begin{itemize}
\item  $\quad\begin{aligned}[t]
&Derivation\; &&Rule\\
S&\xRightarrow{\hphantom{j-2}} aA& S&\rightarrow aA\\
&\xRightarrow{i-1} a^iA&A&\rightarrow aA\\
&\xRightarrow{\hphantom{j-2}} a^ibB&A&\rightarrow bB\\
&\xRightarrow{j-2} a^bb^{j-2}B&B&\rightarrow bB\\
&\xRightarrow{\hphantom{j-2}} a^ibb^{j-2}b&\qquad B&\rightarrow b\\
&=a^ib^j
\end{aligned} $
\end{itemize}
\end{document}

在此处输入图片描述

答案2

我认为最大的障碍是派生块中不同大小的关系符号。我会用表格来解决,这是此代码中的最后一个变体:

\documentclass[fleqn]{article}

\usepackage{amsmath}
\usepackage[fleqn]{mathtools}

\begin{document}
original
\begin{align*}
D&erivation\; &&Rule\\
S&\implies aA& S&\rightarrow aA\\
&\xRightarrow{i-1} a^iA&A&\rightarrow aA\\
&\implies a^ibB&A&\rightarrow bB\\
&\xRightarrow{j-2} a^bb^{j-2}B&B&\rightarrow bB\\
&\implies a^ibb^{j-2}b&B&\rightarrow b\\
&=a^ib^j
\end{align*}

slightly simplified
\begin{align*}
  & \textrm{Derivation}             &   & \textrm{Rule}\\
S & \implies          aA            & S & \rightarrow aA\\
  & \xRightarrow{i-1} a^iA          & A & \rightarrow aA\\
  & \implies          a^ibB         & A & \rightarrow bB\\
  & \xRightarrow{j-2} a^bb^{j-2}B   & B & \rightarrow bB\\
  & \implies          a^ibb^{j-2}b  & B & \rightarrow b\\
  & = a^ib^j
\end{align*}

with \textbackslash{}alignat
\begin{alignat*}{4}
  & \rlap{\textrm{Derivation}} &&               &\qquad\qquad&   & \clap{\textrm{Rule}}\\
S & \implies                   && aA            &            & S & \;\rightarrow\; & aA\\
  & \xRightarrow{i-1}          && a^iA          &            & A & \;\rightarrow\; & aA\\
  & \implies                   && a^ibB         &            & A & \;\rightarrow\; & bB\\
  & \xRightarrow{j-2}          && a^bb^{j-2}B   &            & B & \;\rightarrow\; & bB\\
  & \implies                   && a^ibb^{j-2}b  &            & B & \;\rightarrow\; & b\\
  & =                          && a^ib^j        &            &   &                 &
\end{alignat*}

with a tabular\\[5pt]
\begin{tabular}{r@{\extracolsep{.5em}}c@{}l@{\extracolsep{10em}}r@{\extracolsep{0.5em}}c@{}l}
  \multicolumn{3}{c}{Derivation}             & \multicolumn{3}{c}{Rule}\\
  $S$ & $\implies$          & $aA$           & $S$ & $\rightarrow$ & $aA$\\
      & $\xRightarrow{i-1}$ & $a^iA$         & $A$ & $\rightarrow$ & $aA$\\
      & $\implies$          & $a^ibB$        & $A$ & $\rightarrow$ & $aA$\\
      & $\xRightarrow{j-2}$ & $a^bb^{j-2}B$  & $B$ & $\rightarrow$ & $bB$\\
      & $\implies$          & $a^ibb^{j-2}b$ & $B$ & $\rightarrow$ & $b$\\
      & $=$                 & $a^ib^j$       &     &               &
\end{tabular}
\end{document}

示例输出

相关内容