我想使用 hypersetup 命令为文档中的链接添加下划线。但是,这会为在下划线上带有下划线(例如 ap、q、g、j、y)的链接添加下划线,而为在基线上没有下划线的链接添加下划线。
本质上,我在这里说明了这个问题:https://alexwlchan.net/2017/10/latex-underlines/
有什么方法可以使我适应作者的解决方案,以使用超设置边框添加下划线,或者仅定义与设置边框的基线的设定距离?
梅威瑟:
\documentclass[a4paper, 12pt]{article}
\usepackage{hyperref}
\usepackage{xcolor}
\hypersetup{%
pdfborderstyle={/S/U/W 0.5}%
}
\begin{document}
\url{http://www.example.com} \\
\url{www.hhhhh.com}
\end{document}
答案1
您可以像这样注入 \strut :
\documentclass[a4paper, 12pt]{article}
\usepackage{hyperref}
\usepackage{xcolor}
\hypersetup{%
pdfborderstyle={/S/U/W 0.5}%
}
\makeatletter
\usepackage{xpatch}
\AtBeginDocument{
\apptocmd\Hy@colorlink{\strut}{}{\fail}
}
\begin{document}
\url{http://www.example.com} \\
\url{www.hhhhh.com}
\end{document}
答案2
欢迎来到 TeX.SX!您可以重新定义原始命令以包含一个支柱,这是一个不可见的排版元素,其最小高度包括上升部和下降部高度。但是,\url
省略 http:// 的命令不会链接到任何地方。如果您不想显示该部分,我建议您使用\href
。我已修改了这两个命令以在下面包含一个支柱。请注意,您需要转义特殊字符,例如\#
或\%
。
\documentclass[a4paper, 12pt]{article}
\usepackage{hyperref}
\usepackage{xcolor}
\let\oldurl\url
\renewcommand{\url}[1]{\oldurl{#1}\strut}
\let\oldhref\href
\renewcommand{\href}[2]{\oldhref{#1}{#2}\strut}
\hypersetup{%
pdfborderstyle={/S/U/W 0.5}%
}
\begin{document}
\oldurl{http://www.example.com} \\
\url{www.hhhhh.com}\\
\href{https://www.overleaf.com}{www.overleaf.com}
\end{document}