当我调用该gmverse
包时,有时(我无法找到,具体取决于哪个标准)在节后出现太多早期的分页符,并且它会在某些页面中用非常夸张的空白打破一般的 LaTeX 垂直空间。
下面我给出的例子不是真正的 MWE,因为我无法分离出最小的情况。有很多情况,以下是我能产生的“最简约”的情况。如果我添加一些行或删除一些单词,垂直空间可能会在我尝试修复的位置消失,但它会在文档的后面出现:
\documentclass[a5paper,10pt]{book}
\usepackage{verse}
\usepackage{gmverse}
\usepackage{geometry}
\usepackage{lipsum}
\geometry{a5paper}
\begin{document}
\poemtitle{First title}
\begin{verse}
a\\
b\\
c\\
d
a\\
b\\
c\\
d
\end{verse}
\lipsum[1-2]
\poemtitle{second title}
\begin{verse}
a\\
a\\
a
\end{verse}
\end{document}
我得到了这个渲染:
因此,gmverse
全局破坏了 LaTeX 精细的垂直空间管理,我只需要它用于方括号和右对齐的法语悬挂(如这)
因此,也可以这样:
如果没有包裹我怎样才能获得法式悬挂gmverse
?
或者
修复垂直空间管理gmverse
?
答案1
我认为这gmverse
太过聪明了。
\documentclass[a5paper,10pt]{book}
\usepackage{verse}
\usepackage{gmverse}
\usepackage{geometry}
\usepackage{xpatch}
\usepackage{lipsum}
\geometry{a5paper}
\AtBeginDocument{%
\xpatchcmd{\verse}
{\penalty10000 \vfil\penalty\betweenstanzaspenalty\vfilneg\relax}
{\penalty\betweenstanzaspenalty}
{}{}%
}
\begin{document}
\poemtitle{First title}
\begin{verse}
a\\
b\\
c\\
d
a\\
b\\
c\\
d
\end{verse}
\lipsum[1-2]
\poemtitle{second title}
\begin{verse}
a\\
a\\
a
\end{verse}
\end{document}
读了我删除的那段代码后,我的印象是该包仅用于打印诗歌。使用和的技巧\vfil
(\vfilneg
在 TeXbook 中描述)很难“关闭”,而且确实在您展示的示例中没有关闭。
答案2
我尝试了您的 MWE,但没有使用verse
包,只是gmverse
。它的排版似乎与 @egreg 的答案类似,但有一个小问题,即它说\poemtitle
未定义,标题在常规字体中左对齐。也许你可以只使用gmverse
和 defunine 你自己\poemtitle
。