多页并行打印

多页并行打印

我正在尝试打印一份历史证词文本。我想打印大约 20 位证人的证词,使其平行排列,以便进行比较。这意味着 20 行(每行对应一位证人)的文本几乎相同,这样您就可以发现差异(查看图片)。每页最左边的列都需要相同,为相应行中的文本所来自的证人提供一个简短的标签。

遗憾的是,文本太长,需要很多页。我已经尝试了以下方法:

a) 由于我需要能够灵活地交换线路,因此任何旋转桌子的技巧都行不通。

b) Widesplit:我尝试过超宽表格的列分隔符但我需要一行中超过 9 个单元(需要单元才能进入下一页,我希望将所有内容放在一个表中以便能够交换行)。我想我将需要大约 20 行和 100 列,所以有很多页面。

\def\widesplit#1{%
\cleardoublepage
\def\row##1##2##3{##1}%
#1%
%\clearpage
\def\row##1##2##3{##2}%
#1%
\clearpage
\def\row##1##2##3{##3}%
#1%
\clearpage
}

附件是我尝试过的一个例子。

提前感谢!Benno在此处输入图片描述

答案1

将内容与布局和格式分开。

关键是要给所有项目一个系统的名称。

要管理 20 x 100 = 2000 元素文本数组,最实用的方法是使用电子表格(例如,LibeOffice Calc):(i)用于数据输入;(ii)用于多次重新排列项目(使用拖放),直到满意为止;(iii)用于使用 =CONCATENATE() 函数构建 Latex 代码以粘贴到 TeX 编辑器中。

如果命名已经系统化,循环就会派上用场。

在此示例中,仅用于说明,一个 20x5=100 个元素的数组,所有 20 个证人都说了同样的话。

前两行

第三行(图中:只有一些 W,因为文字很长)

第三行

平均能量损失

\documentclass{article}
\usepackage{pgffor}% for looping
%% +++++++++++++++++++++++++++++++++++++++
%% Populate text array
%%\expandafter\newcommand\csname W1/L1\endcsname{First line of text for W1}
%%\expandafter\newcommand\csname W1/L2\endcsname{Second line of text for W1}
%% etc ....
%% -------------------------------------
%% (dummy data, for illustration):
\foreach \z in {1,...,20}{%
\expandafter\gdef\csname W\z/L1\endcsname{The cat sat on the mat.}
\expandafter\gdef\csname W\z/L2\endcsname{The quick brown fox jumps over the lazy dog.}
\expandafter\gdef\csname W\z/L3\endcsname{Many volcanos erupt mulberry jam sandwiches under normal pressure. Many volcanos erupt mulberry jam sandwiches under normal pressure. Many volcanos erupt mulberry jam sandwiches under normal pressure. Many volcanos erupt mulberry jam sandwiches under normal pressure. Many volcanos erupt mulberry jam sandwiches under normal pressure. Many volcanos erupt mulberry jam sandwiches under normal pressure. }
\expandafter\gdef\csname W\z/L4\endcsname{xxx}
\expandafter\gdef\csname W\z/L5\endcsname{yyy}
}%


% +++++++++++++++++++++++++++++++++++++++
% display text
\newcommand{\showtest}{%
\foreach \y in {1,...,5}{% line by line
    \section*{L\y}
\foreach \x in {1,...,20}{% witness by witness
\noindent\fbox{W\x-L\y}: \csname W\x/L\y\endcsname\par
}%
\newpage
}%
}
% just for illustration
\usepackage{pgfpages}
\pgfpagesuselayout{2 on 1}%[a4paper,border shrink=5mm]

\begin{document}

\showtest

\end{document}

相关内容