“lineno”与“balance”不兼容

“lineno”与“balance”不兼容

在按选项设置有两列的文件中,如果包有效,twocolumn则最后一页不能按包平衡。balancelineno

\documentclass[twocolumn]{book}
\usepackage{lipsum,balance}
\usepackage[switch]{lineno}
\begin{document}    
\twocolumn[

\begin{@twocolumnfalse}
\chapter{the first}
\end{@twocolumnfalse}
]
\linenumbers
\lipsum[1-8]
balabala
\balance
\end{document}

生成:

在此处输入图片描述

显然,最后一页是不平衡的。那么,如何在lineno工作的基础上平衡最后一页呢?


有时候pbalance会起作用,但是当有figure*参数的图形时,pbalance很难调整好。

\documentclass[twocolumn]{book}
\usepackage{lipsum,pbalance,stfloats,graphicx}
\usepackage[switch]{lineno}

%\shrinkLastPage{2.2in}

\begin{document}    
\twocolumn[

\begin{@twocolumnfalse}
\chapter{the first}
\end{@twocolumnfalse}
]
\linenumbers
\lipsum[1]
\par
\begin{figure*}[b]  
\centering
\includegraphics[width=0.4\textwidth]{example-image-a}
\end{figure*}
\lipsum[2-8]
balabala
\end{document}

生成:

在此处输入图片描述

答案1

你可能想尝试pbalance包裹警告:作者指出它是黑客行为并且属于测试版,因此它并不总是有效并且有时软件包会直接放弃;但它至少在测试文档上能起作用。

尝试 1

我们首先尝试按照文档进行操作,然后加载pbalance,这将为我们提供测试文档

\documentclass[twocolumn]{book}
\usepackage{lipsum,pbalance}
\usepackage[switch]{lineno}
\begin{document}    
\twocolumn[

\begin{@twocolumnfalse}
\chapter{the first}
\end{@twocolumnfalse}
]
\linenumbers
\lipsum[1-8]
balabala
\end{document}

输出朝着正确的方向:

在此处输入图片描述

尝试 2

第一次尝试几乎起作用了,但我们似乎可以将另一行从左列移到右列。根据文档,我们可以通过手动调整\shrinkLastPage。所以让我们试着目测一下断点应该在哪里。经过反复试验,我决定4.1in

\documentclass[twocolumn]{book}
\usepackage{lipsum,pbalance}
\usepackage[switch]{lineno}

\shrinkLastPage{4.1in}

\begin{document}    
\twocolumn[

\begin{@twocolumnfalse}
\chapter{the first}
\end{@twocolumnfalse}
]
\linenumbers
\lipsum[1-8]
balabala
\end{document}

而这一次几乎完全平衡了。

在此处输入图片描述

其他注意事项

由于您使用了book文档类,我假设您最终会使用它来平衡每个章节的最后一页。就目前情况而言,该pbalance包无法做到这一点。

然而,它使用的技巧可以手动实现,而且可能比\newpage按照我的评论建议使用. 基本上:在内容文档稳定后,请先编译文档。然后发出\enlargethispage{<len>}你应该把\balance(最后一页的第一栏)放在那里消极的手动确定长度以使两列保持平衡。对每一章重复此操作。

相关内容