在对齐环境中对齐多行文本

在对齐环境中对齐多行文本

我想使用对齐环境的右侧来呈现下一行的原因。如果解释需要多行,则对齐失败。这可以通过添加水平空格来直观地实现,但应该有更好的方法。

如何修复此问题?

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
  a + b &= \quad \text{short reason} \\
  c + d &= \quad \text{a really long and} \\
        &\phantom{=} \quad \text{complicated reason} \notag \\
  e + f \text{.}
\end{align}
\end{document}

如果您编译上述代码,您就会明白我的意思。我不知道如何将编译后的代码添加到问题中。如果您知道如何将编译后的代码添加到问题中,请这样做。

在此处输入图片描述

答案1

一种选择是使用aligned如下所示的多行注释构造。

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
  a + b &= \quad \text{short reason} \\
  c + d &= \quad \begin{aligned}[t]&\text{a really long and} \\
                                   &\text{complicated reason}\end{aligned}\\
  e + f \text{.}
\end{align}
\end{document}

在此处输入图片描述

答案2

使用parbox

\documentclass{article}
\usepackage{amsmath}

\begin{document}
\begin{align}
  a + b &= \quad \text{short reason} \\
  c + d &= \quad \parbox[t]{0.35\textwidth}{
                    really long and complicated\\
                    reason in two lines} \\
  e + f &=\text{.}
\end{align}
\end{document}

在此处输入图片描述

(红线表示文本边框)

补充: 考虑到评论芭芭拉·贝顿,上述解决方案应为:

\documentclass{article}
\usepackage{amsmath}

\begin{document}
\begin{align}
  a + b & = \quad \text{short reason} \\
  c + d & = \quad \parbox[t]{0.35\textwidth}{\raggedright  % <--- 
                    really long and complicated\\
                    reason in two lines} \\
  e + f & = .
\end{align}
\end{document}

在这个简单的情况下,结果与第一种情况相同,但是如果单词真的很长,第一行放不下,则添加\ragged将避免第一行单词之间出现较大的空格。

答案3

@AboAmmar 答案的变体,但使用了包含文本和段落的环境:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
  a + b &= \quad \text{short reason} \\
  c + d &= \quad \begin{tabular}{@{}p{0.8\textwidth}}
                    really long and\\
                    complicated reason
                 \end{tabular} \\
  e + f &=\text{.}
\end{align}
\end{document}

生产

在此处输入图片描述

当然,0.8\textwidth可能需要进行调整...

答案4

另一种方法可能是使用\begin{center} line_one\\line_two \end{center}

\documentclass{article}
\usepackage{amsmath}

\begin{document}
\begin{center}
      \begin{equation}
        a + b = \quad \text{short reason}
      \end{equation}  
      \begin{equation}
        c + d = \quad \parbox[t]{0.35\textwidth}{
                        really long and complicated\\
                        reason in two lines}
      \end{equation}
      \begin{equation}
        e + f =\text{.}
      \end{equation}
\end{center}
\end{document}

结果如下图所示(绿色是手绘的,只是为了显示页面的边框) 在此处输入图片描述

相关内容