在多页对齐环境中获取段落列的更简单的方法?
在多页对齐环境中获取段落列的更简单的方法? 我正在寻找一个类似对齐的环境,它可以包含类似段落的文本列,也可以溢出到下一页。
这一页向我展示了如何使用 对齐环境跨越页面\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}
以便它处于整个对齐的范围内。