如何建议合理的分页位置

如何建议合理的分页位置

我目前正在排版一本南非荷兰语-英语双语圣经。有时我会得到丑陋的孤儿和寡妇。有没有什么方法可以将经文的开头标记为友好的分页符。在我的例子中,我希望页面按如下方式分页:...as I have done. \pagebreak ${}^{\mathbf{22}}$While the earth...

很难提供干净的源代码来解释我的困境,所以我将用一个更简单的例子来问同样的问题:给定一个跨越几页的非常长的段落(没有段落分隔符,句子之间没有换行符),我该怎么做才能告诉 Latex,如果页面需要分隔,则尝试在句号后分隔页面。

我尝试\pagebreak[#]在每个句号后插入,但#在 1、2、3 和 4 之间更改数字会导致我的请求被忽略或在每个 \pagebreak 实例后强制执行。

在此处输入图片描述

答案1

如果没有示例文档就很难提供建议。

你可以使用\pagebreak[1]0 或 2 或 3,具体取决于你想要的提示强度。4 强制分页,但是这会插入分页符提示当前文本行。

您可能想要一些不同的东西,如果您强制中断,您(我认为)想要强制换行,用空格填充行的其余部分,然后用垂直空格填充到页面底部,然后强制分页。

如果这就是你想要的,那么在 TeX 中很难做到这一点,因为分页符的异步特性,段落会被分成几行任何分页都会被考虑。


也就是说,如果您准备对 tex 的正常流程进行一些干预,您可以做类似这样的事情,首先在文本之后内联添加下一节诗句,如果结果列太高,则将其丢弃,输出该列,并在底部填充 vfil 和强制中断惩罚,然后重置诗句并在新列中开始新段落。

在此处输入图片描述

\documentclass[twocolumn]{article}
\showoutput
\setlength\textwidth{12cm}
\setlength\textheight{10\baselineskip}
\setlength\parindent{0pt}


\newcommand\myverse[1]{%
\setbox2\vbox{%
\parskip0pt
\parindent0pt
\unvcopy0
\setbox4\lastbox
\unskip
\unpenalty
\setbox6\lastbox
\copy6
\nobreak
\prevdepth\dp6
\ifvoid4 \else
\unhbox4\unskip\unskip\unpenalty
\hspace{1em plus .5em}%
\fi
\refstepcounter{enumi}\strut\textsuperscript{\textbf{\theenumi}}#1}%
\showthe\ht2
\ifdim\ht2<\textheight
\setbox0\box2
\else
\unvbox0
\setbox0\vbox{%
\vfil
\break
\strut\textsuperscript{\textbf{\theenumi}}#1}%
\fi}


\newenvironment{myverses}
{\setbox0\vbox{}\samepage}
{\unvbox0 }
\begin{document}
\begin{myverses}
\myverse{One two three four five six seven eight nine ten eleven.}
\myverse{Red green blue yellow One two three four five six seven eight nine ten eleven.}
\myverse{Red green blue yellow. One two three four five six seven eight nine ten eleven.}
\myverse{Car, one two train, three four bus, five six tram, seven eight boat, nine ten eleven.}
\myverse{One emacs two three four five six seven eight nine ten eleven.}
\myverse{Red green vim blue yellow One two three four five six seven eight nine ten eleven.}
\myverse{Red green blue sed yellow. One two three four five six seven eight nine ten eleven.}
\myverse{Car, one two train, three notepad four bus, five six tram, seven eight boat, nine ten eleven.}
\end{myverses}
\end{document}

相关内容