是否可以调整 生成的脚注链接周围的框的大小hyperref
?具体来说,我想将框的底部移近内部对象的底部。
\documentclass[12pt]{article}
\usepackage{hyperref}
\begin{document}
The quick brown fox jumps over the lazy dog\footnote{and lands on a spike}.
\end{document}
答案1
您可以尝试使用 处理文件xelatex
。当我使用您的 MWE 执行此操作时,hyperref
会在脚注周围形成一个紧密的框。当我尝试使用 时pdflatex
,我收到的输出与您附加的图像相同。
答案2
pdflatex
“你可以[...]通过[...]黑客技术对其进行调整hyperref
”(Lars Kotthoff,https://tex.stackexchange.com/a/44032/6865), 因此:
\documentclass{article}
\usepackage{hyperref}
% If you like footnotesymbols instead of numbers:
%\def\thefootnote{\fnsymbol{footnote}}
\usepackage{ltxcmds}
\makeatletter
\renewcommand{\footnote}[2][\empty]{%
\nolinebreak%
\addtocounter{footnote}{+1}%
\xdef\sfootnote@number{\arabic{footnote}}%
\ltx@ifpackageloaded{hyperref}{% hyperref loaded
\ifHy@hyperfootnotes% option hyperfootnotes=true
\addtocounter{Hfootnote}{+1}%
% Code from the hyperref package
\global\let\Hy@saved@currentHref\@currentHref%
\hyper@makecurrent{Hfootnote}%
\global\let\Hy@footnote@currentHref\@currentHref%
\global\let\@currentHref\Hy@saved@currentHref%
% End of code form the hyperref package
\fi%
}{% hyperref not loaded, nothing to be done here
}%
\xdef\sfootnote@opt{#1}% contains the optional argument
\xdef\sfootnote@arabic{\arabic{footnote}}% is the Arabic footnotenumber
\edef\sfootnote@formated{\thefootnote}% could also be * or dagger
\ifx\sfootnote@opt\empty% i.e. no optional argument used
\footnotetext{\label{fnr:\sfootnote@arabic}#2}%
\else%
\ltx@ifpackageloaded{hyperref}{% hyperref loaded
\footnotetext[#1]{\phantomsection\label{fnr:\sfootnote@arabic}#2}%
}{% hyperref not loaded
\footnotetext[#1]{\label{fnr:\sfootnote@arabic}#2}%
}%
\fi%
\ltx@ifpackageloaded{hyperref}{% hyperref package loaded
\ifHy@hyperfootnotes% option hyperfootnotes=true
\hbox {\@textsuperscript {\normalfont \ref{fnr:\sfootnote@arabic}}}%
\else% option hyperfootnotes=false
\hbox {\@textsuperscript {\normalfont \ref*{fnr:\sfootnote@arabic}}}%
\fi%
}{% hyperref package not loaded
\hbox {\@textsuperscript {\normalfont \ref{fnr:\sfootnote@arabic}}}%
}%
}
\makeatother
\begin{document}
The quick\footnote{really fast} brown\footnote{maybe more like a dark red} fox
jumps over the\footnote[1]{custom footnote number: 1} lazy
dog\footnote{and escapes the hunt}.
\newpage
It is easier to test the hyperlinks when there is a second page!
\end{document}
脚注具有挑战性 -https://tex.stackexchange.com/search?q=footnote目前列出了近 400 个问题。因此,不能保证这适用于更复杂的情况,或适用于处理脚注的众多软件包中的某个。
答案3
pdflatex
如果不进行修改,您无法对其进行调整hyperref
。它使用 PDF 注释来显示链接,并且框的大小由Rect ...
PDF 内部的 定义。生成该框的代码是
/H.B {/Rect[pdf@llx pdf@lly pdf@urx pdf@ury]} def
即它使用由 确定的边界框坐标pdflatex
。您需要解决这个问题并调整不正确的边界框。
我建议您接受这个xelatex
答案。