memoir
我在使用子图标题时遇到了一个奇怪的问题hyperref
。下面是一个工作示例:
\documentclass{memoir}
\usepackage{hyperref}
\newsubfloat{figure}
\begin{document}
\begin{figure}[tb]
\rule{\textwidth}{4ex}
\subcaption{}
\end{figure}
\end{document}
其结果如下:
如果我删除该hyperref
包并重新编译,间隙就会消失:
有人知道为什么会发生这种情况,以及如何解决吗?
答案1
解决方案是将以下内容放%
在线后面\rule
:
\documentclass{memoir}
\usepackage{hyperref}
\newsubfloat{figure}
\begin{document}
\begin{figure}[tb]
\rule{\textwidth}{4ex}%
\subcaption{}
\end{figure}
\end{document}
我猜想这\subcaption
是为了\unskip
删除换行符造成的空格,但hyperref
添加了一些内部代码,这些代码会阻止\unskip
返回那么远。由于空格\rule
很长,如果不删除,空格就会创建新行。或者,如果您的内容比更复杂,请在前面\textwidth
添加手册。\unskip
\subcaption
\rule
通常,在源代码行的末尾放置一个%
“and”}
是个好主意{
。如果不小心,这种虚假的空格就会经常出现。