Vert Package:行间不需要的垂直空间

Vert Package:行间不需要的垂直空间

这个问题困扰了我一段时间。我对在窄页面上排版诗歌很感兴趣。我使用包verse来设置诗歌,使用geometry包来管理页面大小。当一行文本的长度刚好达到页边距时,会在行下插入一个垂直空格。

这是我的最小示例:

\documentclass{article}
\usepackage[paperheight=10in,paperwidth=5in,margin=1in]{geometry}
\usepackage{verse}
\begin{document}
\begin{verse}
% Works how I expect:
The quick brown fox jumped over the\\
Lazy dog.

% Make first line a bit longer, and now there is extra space between lines
The quick brown FOX jumped over The\\
Lazy dog.
\end{verse}
\end{document}

图片

答案1

正如 @tohecz 所注意到的,您有一个 overfull \hbox。这意味着该行长于一行,但 TeX 没有找到合适的位置来换行,而是让单词粘在边距中。

让这条线再长一点你就会明白为什么这会产生»额外的垂直空间«——新的一行开始了,但其中什么也没有:

\documentclass{article}
\usepackage[paperheight=10in,paperwidth=5in,margin=1in]{geometry}
\usepackage{verse}
\begin{document}

\begin{verse}
% Works how I expect:
The quick brown fox jumped over the\\
Lazy dog.

% Make first line a bit longer, and now there is extra space between lines
The quick brown FOX jumped over The\\
Lazy dog.

The quick brown FOX jumped over the the\\
Lazy dog.
\end{verse}

\end{document}

在此处输入图片描述

如果您无法重新措辞或更改文档的宽度或诗句的字体大小,那么这里有一个折衷的解决方案:

\begin{verse}
  The quick brown FOX jumped over \rlap{The}\\
  Lazy dog.
\end{verse}

\rlap{}让它的参数与右边重叠而没有宽度。

答案2

问题在于您的行比它应该的要长,正如日志中所示:

Overfull \hbox (3.10588pt too wide) in paragraph at lines 11--12

此外,如果你使用\documentclass[draft]{article}

当然,如果您的文档有缺陷,LaTeX 的行为将无法预测。

答案3

正如你在评论中所建议的那样,添加声明\raggedright为我解决了这个问题。我真的不确定为什么这不是 verse 环境中的默认设置。

相关内容