\#\#\#\# 在打印输出中变为“##”

\#\#\#\# 在打印输出中变为“##”

我想使用“####”来引用 URL,以替代许多可以替代它的四位数代码。但是这...

\documentclass{scrartcl}  
\usepackage{url}  
\usepackage{hyperref}

\begin{document}  
\url{\#\#\#\#}  
\end{document}

... 正在打印这个“##”。\detokenise{####}效果相同。没有hyperref它,它会像我想要的那样打印“####”。为什么?如何修复?

答案1

改用href

\href{http://####}{\texttt{\#\#\#\#}}  

答案2

hyperref\href正在清理和的参数。然后字符串中\url的 类别代码为 12(其他)。然后,两个标记被一个哈希替换为 package。#url

我不愿意改变中的规范化hyperref,因为规范化的字符串也用于其他上下文,例如\href或的 URL\url也用于链接注释。

但是这里没有有效的 URL,因此链接注释实际上没有目标。然后\Hurl可以使用已保存的\url包原件url

\documentclass{scrartcl}
\usepackage{hyperref}

\begin{document}
  \Hurl{####}
\end{document}

结果

相关内容