我发现了一些看起来像是错误的东西hyperref
,即,我在页面底部添加了可点击的标签fancyhdr
(请参阅tex.stackexchange.com/q/51574),并且中的一个选项hypersetyp
,它应该只是在盒装和彩色链接之间切换,如果我不添加解决方法,它会添加一行额外的行。
编辑:为了更容易找到:这个pdflatex 不会出现此问题(感谢 karlkoeller,见评论)。
梅威瑟:
\documentclass{article}
\usepackage[english]{babel}
\usepackage{fancyhdr}
\usepackage{hyperref}
\hypersetup{
colorlinks=true, % false: boxed links; true: colored links
linkcolor=black % color of internal links
}
\pagestyle{fancy}
\makeatletter
\renewcommand{\sectionmark}[1]{
\markboth{\protect\hyperlink{\@currentHref}{\thesection.\ #1}}{}
}
% writes section title to \leftmark; see fancyhdr documentation. The hyperlink-construct
% is so that the fancyhdr is clickable - \@currentHref contains current link
\makeatother
\lfoot{\leftmark}\cfoot{}\rfoot{Page \thepage}
\lhead{}\chead{}\rhead{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0.4pt}
\begin{document}
\section{Test}
\end{document}
如果colorlinks=true
被注释掉,那么花哨的页脚中的附加行就会消失,就像\sectionmark
定义略有不同的情况一样:
\renewcommand{\sectionmark}[1]{
\markboth{\hspace{0cm}\protect\hyperlink{\@currentHref}{\thesection.\ #1}}{}
}
我不知道我是否犯了一个明显的错误,但对我来说,-optioncolorlinks
不应该这样做。
编辑:我正在使用机构机器,可能没有所有东西的最新版本,但出于这个原因,我不久前要求更新所有内容,但结果没有改变。编辑 2:收到 IT 部门的回复,根据 CTAN,fancyhdr 和 hyperref 是最新的。
下面是一个图片比较(用普通 LaTeX 和 dvi2pdf 编译):
答案1
使垂直模式下的颜色特效不影响文本的位置是一件好事,但在 TeX 中很难做到。如果可能的话,最好将它们保持在水平模式(例如\textcolor
而不是\color
),或者在这里您可以强制段落以或开头,\leavevmode
就像您所做的\hspace{0pt}
那样,虽然效率稍低,但在这里可以完成相同的工作。您可能会争辩说 hyperref 应该为您做到这一点,但如果我在维护 hyperref,我会谨慎地更改可能改变曾经生成的每个超链接 latex 文档的内容:-)