每页都有带有页眉的平行文本?

每页都有带有页眉的平行文本?

我有两份英文文本,它们是同一部作品的翻译,我想将它们并列起来:我不打算包含原始的非英语文本。顺便说一句,这是针对一份文档(约 100 页),而不是针对一本书。我实际上已经使用 创建了上述文档Open/Libre Office,因此我有一个工作副本。但我想使用 重新创建同一份文档TeX/LaTeX

Open/Libre Office使用了一个两列三行的表格(翻译文本占一行,其他两行是标题)。大约LaTeX一年前,我做了一些实验,使用表格完成任务取得了一些初步成功,但最终未能完成该项目。以下是成功部分以及最终失败的描述。

我只使用了大约一页文本进行初始测试。输出看起来很棒——比我的Open/Libre office文档好得多。但我的热情很快就消失了:我发现我尝试的所有表格包都缺乏生成跨页列的能力。换句话说,任何长度超过一页的列都会在页面底部被毫不留情地截断。在我这样的情况下,我有一列最终会长达数页,最终我只会得到一页的输出(overfull vbox我记得是错误的);不会生成任何后续页面。

我确实研究过其他ledpar专门用于创建平行文本的软件包(我相信?),并且也取得了一些成功。但在我看来,表格解决方案的输出看起来最好。我记得,我在尝试使用软件包引入我放在表格标题中的材料时遇到了问题parallel text,我认为在每一页上都有一个重复的标题(这将指示哪一列包含哪个翻译)。所以我很沮丧。

我仍然希望我可以在这个项目中使用表格,尽管这有点违反表格的预期用途。有人能就如何完成我在 中描述的任务提出建议吗TeX/LaTeX?在我看来,使用表格真的是不可能的吗?


更新:

感谢您迄今为止提供的答案。我不得不回去再看看我创建的实验文档,因为这是一段时间前做的,我的记忆有点模糊了。

我应该首先说明,我在 OP 中对我的文档的描述有些过于简单了——对此我深表歉意。而且,再次查看了我的示例文件后,我现在意识到我在使用表格包(是的,我确实尝试了longtables)和并行文本包(实际上是 ,parcolumns而不是ledpar)时都遇到了问题。使用表格后,最终输出看起来要好一些,但parcolumns实验的外观也不错。

我所描述的表格包的问题在于:表格列不允许超过页面长度(这似乎是编码到包中的限制——是的,longtable我相信甚至是包本身)。这是这个项目的一大障碍:我将在这个文档中设置许多超出页面长度的列——这让我想到了我在 OP 中给出的过于简单的描述以及我在使用该parcolumns包时遇到的问题。

文档实际上可能包含许多列块,并且该parcolumns包确实可以处理超出页面的列。我使用此包遇到的问题是插入表格标题:它们应该出现在文档的每一页上,而我很难做到这一点。

我可能暂时就到此为止了,因为此处对文档的更详细描述可能会造成混淆,并让我容易受到批评,被指责为“改变目标”。但最后我要指出的是,文档中实际上有几个子部分,每个子部分都需要有一组在每一页上重复的标题。

抱歉,我的开场白没有更加精确。


另一更新:

哇,这个论坛太棒了——这么多精彩的建议。非常感谢你们的帮助性评论和问题。TeX/LaTeX多年来,我一直在努力理解和使用,直到最近才有所收获。如果这个论坛在我刚开始学习时TeX/LaTeX(大约 10 年前)就存在,我现在会进步很多。

是的,这两个译本的段落长度确实会有所不同——有时差别很大。这是因为一个译本有时看起来更像是一个段落的摘要,而不是真正的译文。因此,保持两者同步是一项挑战。表格非常适合这样做,因为每个译本的每个段落都放在一个单元格中。这种技术的不良影响是在某些地方引入了大量无关的空白,但它确实保持了段落同步。

对于parcolumns,我使用段落来保持两个译文同步——效果与表格差不多。如果较长的译文能够以某种方式绕过较短的译文,以防其中一个译文比另一个译文长得多,那就太好了,但是对于我所说的标题,这可能不可行。

rdhs 提供的页眉建议启发了我继续使用parcolumns--非常感谢。我在我的Open/Libre Office文档中实现的页眉布局非常复杂,但产生了我需要的外观。实现它TeX/LaTeX注定是一个挑战。实际上需要的是 3 组页眉:一组用于页面(给出作品的标题);一组用于作品的每个部分(应包含像第 1 章、第 2 章这样的标题,并且应该跨越两列);一组用于每一列(包含类似于的标题translation 1, translation 2)。使用表格时,最后两个可以轻松完成,方法是指定前两个表格行是要在每一页上重复的表格标题,并且第一行的列合并且文本居中。描述的第一个页眉只是一个标准的页眉。

这些标题应该在每一页上重复出现,并且任何给定页面上都可能有不止一组标题(例如,有一章非常短,占不到一页)。我实际上设法使用表格包实现了这种外观。但是,正如我所说,任何表格包都不允许超出页面的单元格(我之前说过超出页面的列,但说表格的单元格可能更准确)。所以实验失败了,我转而尝试parcolumns重新创建我在 中实现的布局Open/Libre Office

再次感谢大家的提示。这个论坛真的很棒(虽然使用起来有点混乱,至少对我来说)

詹姆士

答案1

atbegshi好的,这里有一个用于添加标题的技巧parcolumns

\documentclass{article}
\usepackage{parcolumns}
\usepackage{atbegshi}

\newcommand{\pcheaderfmt}[1]{{\large\sf\textbf{#1}}}
\newcommand{\pcheader}{}
\AtBeginShipout{\pcheader}

\begin{document}
\section{Latin and Piglatin}
    \renewcommand{\pcheader}
        {\par\noindent\pcheaderfmt{Latin}\hfill\pcheaderfmt{Piglatin}%
            \vspace{0.5ex}\hrule\vspace{1.5ex}}
    \pcheader
    \begin{parcolumns}{2}
    %
    \colchunk{Latin}
    %
    \colchunk{Piglatin}
    \colplacechunks
    %
    \colchunk{Latin}
    %
    \colchunk{Piglatin}
    %
    \end{parcolumns}
    \renewcommand{\pcheader}{}
\section{English and Pigenglish}
    \renewcommand{\pcheader}
        {\par\noindent\pcheaderfmt{English}\hfill\pcheaderfmt{Pigenglish?}%
            \vspace{0.5ex}\hrule\vspace{1.5ex}}
    \pcheader
    \begin{parcolumns}{2}
    %
    \colchunk{English}
    %
    \colchunk{Pigenglish}
    %
    \end{parcolumns}
    \renewcommand{\pcheader}{}
\end{document}

答案2

parcolumns包在这里可能有用。下面是 MWE - 有许多可以调整的选项(例如colwidths);请参阅文档以获取更多示例。

在此处输入图片描述

\documentclass{article}
\usepackage{parcolumns}
\usepackage{lipsum}

\begin{document}

\begin{parcolumns}{2}
 \colchunk{\section{1st column}
 \lipsum }

 \colchunk{\section{2nd column}
 \lipsum}
\end{parcolumns}

\end{document}

您可能还会发现以下帖子很有帮助:

如何在 LaTeX 中创建没有文本流的单独列?

答案3

我不确定我是否完全理解你的问题的要求,但在我看来,你可能想尝试一下longtable包装以及fancyhdr包裹。

\documentclass{article}
\usepackage{longtable}
\usepackage{fancyhdr}
\usepackage{lipsum}

\def\chapterName{}
\def\leftName{}
\def\rightName{}
\newcommand*{\Chapter}[3]{%
  \endlongtable%
  \gdef\chapterName{#1}%
  \gdef\leftName{#2}%
  \gdef\rightName{#3}%
  %% ELIMINATE THE || characters to remove the vertical rules
  \longtable[c]{||p{0.45\textwidth}|p{0.45\textwidth}||}
  \multicolumn{2}{c}{\Large\chapterName} \tabularnewline
  \textbf{\leftName} & \textbf{\rightName} \endhead
}
\let\Title=\chead
% \renewcommand{\headrulewidth}{0pt}  %% OPTIONAL

\begin{document}
\pagestyle{fancy}
\Title{A Polyglot Tale}
\begin{longtable}[c]{||p{0.45\textwidth}|p{0.45\textwidth}||}
\Chapter{The taming of Lipsum}{Language A}{Language B}
\lipsum[1] & \lipsum[2] \\
\lipsum[3] & \lipsum[4] \\
\Chapter{The breaking of Lipsum}{Language C}{Language D}
\lipsum[5] & \lipsum[6] \\
\lipsum[7] & \lipsum[8] 
\end{longtable}

\end{document}

这将在每个页眉上显示“多语言故事”,然后有一个连续的表头,其中包含章节名称,后面是语言名称。它目前有一个限制(嵌入到longtable)是没有单独的行(这里对应于一对段落)可以跨越页面。如果这是您的要求,那么就longtable无法帮助您。但如果这是可以接受的,那么长度就没有限制longtable……无论如何,这个特定的解决方案会longtable在每章结束时完成并重新启动环境。(此外,各种规则完全是可选的;它们用于显示页面和表格的范围。)

相关内容