在多页对齐环境中获取段落列的更简单的方法?

在多页对齐环境中获取段落列的更简单的方法?

在多页对齐环境中获取段落列的更简单的方法?

在多页对齐环境中获取段落列的更简单的方法? 我正在寻找一个类似对齐的环境,它可以包含类似段落的文本列,也可以溢出到下一页。

这一页向我展示了如何使用 对齐环境跨越页面\usepackage{amsmath}\allowdisplaybreaks[4]。但是,与表格环境不同,我无法指定特定列像段落一样运行并换行。

这一页向我展示了如何使用 在单元格内换行\parbox[t]{2in}{Some text.}。但是,如下面的 MWE 所示,它在代码中引入了很多额外的噪音。

有没有更简化的方法来实现这两个目标?

我最初使用longtable,但遇到了一个错误,表格后的文本溢出了底部边距,如下所示这里.我应用了补丁这里,但问题仍然存在。

然后我尝试了表格环境,没有封闭的表格环境,但它不会跨越多页。


平均能量损失

\documentclass[letterpaper]{article}
\usepackage[letterpaper]{geometry}
\usepackage{amsmath}\allowdisplaybreaks[4]
\begin{document}

\vspace*{2in}

Pretend that there is lots of text here.

\vspace*{3in}

I present the equation:

\[ a b c = x y z \]

where

\begin{align*}
   a & = \parbox[t]{2in}{\raggedright The quick brown fox jumped
   over the lazy dogs.}
\\[0.05in]
   b & = \parbox[t]{2in}{\raggedright The quick brown fox jumped
   over the lazy dogs.}
\\[0.05in]
   c & = \parbox[t]{2in}{\raggedright The quick brown fox jumped
   over the lazy dogs.}
\\[0.05in]
   x & = \parbox[t]{2in}{\raggedright The quick brown fox jumped
   over the lazy dogs.}
\\[0.05in]
   y & = \parbox[t]{2in}{\raggedright The quick brown fox jumped
   over the lazy dogs.}
\\[0.05in]
   z & = \parbox[t]{2in}{\raggedright The quick brown fox jumped
   over the lazy dogs.}
\end{align*}
\end{document}

\parbox简化命令的尝试失败

\parbox我尝试通过定义一个\TLpar处理所有细节的命令来简化命令的使用。我希望该命令在每次 调用时\TLpar查找长度。但是它仅使用定义 时的值:\ParWidth\TLpar\ParWidth\TLpar

\documentclass[letterpaper]{article}
\usepackage[letterpaper]{geometry}
\usepackage{amsmath}\allowdisplaybreaks[4]

% Command to put text into top-left-aligned paragraph box
\newlength{\ParWidth}
\setlength{\ParWidth}{4.5in}
\newcommand{\TLpar}[1]{\parbox[t]{\ParWidth}{\raggedright #1}}
\begin{document}

\vspace*{2in}

Pretend that there is lots of text here.

\vspace*{3in}

I present the equation:

\[ a b c = x y z \]

where

\begin{align*}
   \setlength{\ParWidth}{2in} % Doesn't work
   a & = \TLpar{The quick brown fox jumped over the lazy dogs.}
\\[0.05in]
   b & = \parbox[t]{2in}{\raggedright The quick brown fox jumped
   over the lazy dogs.}
\\[0.05in]
   c & = \parbox[t]{2in}{\raggedright The quick brown fox jumped
   over the lazy dogs.}
\\[0.05in]
   x & = \parbox[t]{2in}{\raggedright The quick brown fox jumped
   over the lazy dogs.}
\\[0.05in]
   y & = \parbox[t]{2in}{\raggedright The quick brown fox jumped
   over the lazy dogs.}
\\[0.05in]
   z & = \parbox[t]{2in}{\raggedright The quick brown fox jumped
   over the lazy dogs.}
\end{align*}
\end{document}

如果我定义\TLpar命令以接受第二个参数来指定段落宽度,那么这样做是可行的,但我需要在每次调用命令时提供参数\TLpar。这不是很精简,因为段落宽度在对齐环境的任何一次出现中都不会改变。

答案1

单元align格(像tabular蜂窝)是本地组,因此您的设置在实际使用之前\setlength首先会被丢弃。&

将 移至\setlength之前,\begin{align}以便它处于整个对齐的范围内。

相关内容