\url
我似乎无法使用或命令创建指向 GitHub 上文件特定行的超链接\href
。以下返回 404 页面:
\documentclass{article}
\usepackage{url}
\begin{document}
\url{https://github.com/SeSodesa/zeffiro_interface/blob/49fb5f652134e869c93809f05fbd70f0a730bbc4/m/forward_scripts/brain/lead_field_eeg_fem.m#L167}
\end{document}
我将其追溯到这样一个事实:\url
和似乎都用其 URL 编码的对应项\href
替换了行号符号,但 GitHub 无法理解这种情况发生的上下文。当我在生成的链接中将替换为时,URL 又可以正常工作。#
%23
%23
#
那么我的问题是,我该如何解决这个问题?这个链接相当丑陋,最终超出了页面边界,所以我想用一个简短的描述来替换它,\href
但仍然保留一个可用的链接。
编辑:我认为问题可能是链接位于脚注内。代码
\usepackage{url}
\begin{document}
\footnote{\url{https://github.com/SeSodesa/zeffiro_interface/blob/49fb5f652134e869c93809f05fbd70f0a730bbc4/m/forward_scripts/brain/lead_field_eeg_fem.m#L167}}
\end{document}
产生错误
! Illegal parameter number in definition of \Hy@tempa.
<to be read again>
当数字符号#
被转义时,没有错误,但是产生的链接\url
不起作用:https://github.com/SeSodesa/zeffiro_interface/blob/49fb5f652134e869c93809f05fbd70f0a730bbc4/m/forward_scripts/brain/lead_field_eeg_fem.m%23L167。
编辑2:看起来该链接在 Adobe Acrobat 中确实有效...我正在使用 Skim 来阅读该文档。
答案1
根据文档,该\url
参数不能包含任何%
、#
、 或,或者如果用于另一个命令的参数中^^
则以 结尾。\
也就是说,这对我来说确实有效(苏门答腊 PDF 阅读器):
\documentclass{article}
\usepackage{xurl,hyperref}
\begin{document}
Test\footnote{\url{https://github.com/SeSodesa/zeffiro_interface/blob/49fb5f652134e869c93809f05fbd70f0a730bbc4/m/forward_scripts/brain/lead_field_eeg_fem.m\#L167}}
\end{document}