我尝试在文本中嵌入一个链接(包含大写和小写字母)。以下是代码片段:
\documentclass{article}
\usepackage[hidelinks]{hyperref}
\begin{document}
\href{http://goo.gl/maps/vcZfr}{Publications}
%% The above embedding could not redirect me to the correct link.
%% Instead it led me to https://goo.gl/MAPS/VCZFR
\end{document}
你能帮我解释一下为什么有些字母要大写吗?
答案1
hyperref
没有做任何类似的事情。问题的 MWE 在 PDF 文件 (pdflatex) 中给出以下内容:
/Subtype/Link/A<</Type/Action/S/URI/URI(http://goo.gl/maps/vcZfr)>>
URL 未发生改变。可能 位于\href
参数内部,之后会大写(例如 via \MakeUppercase
)。
解决方法是使用受保护的宏,它不受\MakeUppercase
或 的影响\uppercase
:
\documentclass{article}
\usepackage[hidelinks]{hyperref}
\protected\def\hrefvcZfr{\href{http://goo.gl/maps/vcZfr}}
\begin{document}
\href{http://goo.gl/maps/vcZfr}{Publications}
\MakeUppercase{\hrefvcZfr{Publications}}
\end{document}