标题包正在给我的文档添加垂直间距

标题包正在给我的文档添加垂直间距
\documentclass{article}

\usepackage[table]{xcolor}
\definecolor{background}{rgb}{1,0.62502,0}

\usepackage{caption}
\usepackage{lipsum}
\usepackage{hyperref}
\hypersetup{
  colorlinks   = true,
  urlcolor     = blue,
  linkcolor    = blue,   
  citecolor    = red    
  }
 \usepackage{wrapfig}

\begin{document}

\lipsum[1]
\begin{wrapfigure}{l}{6.5cm}
\noindent
\setlength{\fboxsep}{0pt}
\fcolorbox{background}{background}{
\begin{minipage}[t]{0.5\textwidth} 
\lipsum[4]
%\fcolorbox{frame color}{box background color}{text}
\end{minipage}}
\end{wrapfigure}
\lipsum[1]

\end{document}

在此处输入图片描述

迷你页面中的文本与其周围文本之间的垂直错位非常轻微,但很明显(请特别注意剪辑的底部以及 p 的底部如何在迷你页面中被切断但在换行文本的相邻行中大致可见)。当我从上面的代码中删除 \usepackage{caption} 时,迷你页面中的文本将与换行文本对齐:

在此处输入图片描述

我怎样才能阻止字幕包产生这种垂直错位?

答案1

caption这是包与之间的交互hyperref。您可以通过使用\showoutput和检查.log文件来发现这一点,您将看到插入了以下材料

........\glue -6.02773
........\rule(0.0+0.0)x*
........\penalty 10000
........\glue -6.0
........\glue 0.0
........\pdfdest name{figure.caption.1} xyz
........\penalty 10000
........\rule(0.0+0.0)x*
........\penalty 10000
........\glue 6.0
........\glue 0.0
........\glue(\parskip) 0.0
........\glue(\parskip) 0.0

这看起来好像胶合应该被取消,但显然并没有。设置包hypcap=false的选项caption会删除额外的垂直空间。hyperref然后锚点将被放置在您添加的任何标题处,而不是环境的开头。

示例输出

\documentclass{article}

\usepackage[table]{xcolor}
\definecolor{background}{rgb}{1,0.62502,0}

\usepackage{wrapfig}
\usepackage[hypcap=false]{caption}
\usepackage{lipsum}
\usepackage{hyperref}
\hypersetup{
  colorlinks   = true,
  urlcolor     = blue,
  linkcolor    = blue,
  citecolor    = red,
  }

\begin{document}

\lipsum[1]
\begin{wrapfigure}{l}{6.5cm}
  \setlength{\fboxsep}{0pt}%
\fcolorbox{background}{background}{%
\begin{minipage}[t]{0.5\textwidth}
\lipsum[4]
\end{minipage}}%
\end{wrapfigure}
\lipsum[1]

\end{document}

顺便说一句,我注释掉了(使用%)您设置中的几个行尾,它们引入了一些水平间距,这可能是也可能不是想要的。

相关内容