有没有一种好的方法可以在不使用 url 或 hyperref 包的情况下用波浪号编写 URL?

有没有一种好的方法可以在不使用 url 或 hyperref 包的情况下用波浪号编写 URL?

我想写 URL,但样式表不能与 url 或 hyperref 包一起使用。然后,如果我从我的 pdf 文件中复制 URL 并将其粘贴到浏览器中,波浪符号会变成 %2(+一个看起来像 o 的奇怪字符,上面有一些东西),我无法访问网站。我该如何处理这个问题?

答案1

编写 URL 的一个原始方式是以下\verb命令:

\verb|http://example.org/~user/index.html#start|

当然,这不会创建任何链接,包hyperref可以做到这一点。但是,一些 PDF 查看器使用启发式方法来检测文本中的链接。

答案2

/允许在、-和字符处断行_~可以添加更多)。我添加了sloppypar,因为即使这么多断点也可能给刷新算法带来压力。

\documentclass{article}
\usepackage[nopar]{lipsum}
%%%%%%%%%%%
\newcommand\fauxurl[1]{\bgroup\ttfamily\fauxurlhelp#1\relax\relax\egroup}
\def\fauxurlhelp#1#2\relax{%
  \ifx/#1#1\penalty0\else%
    \ifx-#1#1\penalty0\else%
      \ifx\_#1#1\penalty0\else%
        \ifx~#1\char"7E\penalty0\else#1%
  \fi\fi\fi\fi%
  \ifx\relax#2\relax\else\fauxurlhelp#2\relax\fi}
%%%%%%%%%%%
\begin{document}
\begin{sloppypar}
\lipsum[4]
\fauxurl{%
http://tex.stackexchange.com/questions/331979/is~there~a-good-way-to-write~urls-with-tilde-without-using-url-or-hyperref-packa%
}
\lipsum[2]
\end{sloppypar}
\end{document}

在此处输入图片描述

相关内容