我需要使用带框的链接和不规则的右侧文本。问题是,当链接跨越两行时,尽管链接正确断开(使用 pdflatex 时),但链接文本周围的框会延伸到右边距。请考虑以下示例:
\documentclass{article}
\usepackage[textwidth=45mm]{geometry}
\usepackage[colorlinks=false]{hyperref}
\begin{document}
\raggedright
\href{http://www.ctan.org/}{The Comprehensive TeX Archive Network}
\end{document}
在输出中,链接框超出了“TeX”的末尾,并延伸到右边距,从而包围了一些空白。有没有办法让链接周围的框只延伸到文本的末尾,而不是右边距?
答案1
最简单的方法就是分别链接每个单词。如果有必要,也许可以阻止杂技链接框在单词之间画出垂直线,但这也许就足够了?
\documentclass{article}
\usepackage[textwidth=45mm]{geometry}
\usepackage[colorlinks=false]{hyperref}
\makeatletter
\let\oldhref\href
\def\href#1#2{%
\def\hrlink{\oldhref{#1}}%
\hrrsp#2 \relax}
\def\hrrsp#1 #2{%
\hrlink{#1}%
\ifx\relax#2%
\expandafter\@gobbletwo
\else
\ %
\fi
\hrrsp#2}
\begin{document}
\raggedright
\href{http://www.ctan.org/}{The Comprehensive TeX Archive Network}
\end{document}