这个问题困扰了我一段时间。我对在窄页面上排版诗歌很感兴趣。我使用包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 环境中的默认设置。