我正在尝试获得类似于{name1, name2}@server.com
wherename1
和的name2
超链接。这是我的代码:[email protected]
[email protected]
\usepackage{hyperref}
\{\href{mailto:[email protected]}{name1}
\href{mailto:[email protected]}{name2}\}@server.com
但在输出中,}@server.com
还有一个链接}@server.com
。我发现的唯一解决方案是在和之间留一个空格}
,@
但我不喜欢这样。有没有办法禁用的超链接,以便@
输出为{name1, name2}@server.com
和name1
具有name2
和的超[email protected]
链接[email protected]
?
答案1
这是 PDF 查看器的启发式方法,可将“}@server.com”转换为链接。至少在 AR9/Linux 中,如果点来自不同的字体(例如数学字体),则启发式方法会被击败:
\documentclass{article}
\usepackage{hyperref}
\begin{document}
\{\href{mailto:[email protected]}{name1},
\href{mailto:[email protected]}{name2}\}@server$.$com
\end{document}
使用不可见的显式空格字符的不同方法
下一个示例在后面插入一个明确的空格字符,@
以欺骗启发式方法,使其看到}@ server.com
而不是}@server.com
:
\documentclass{article}
\usepackage{hyperref}
\newfont{\spacefont}{phvr8r}
\newcommand*{\dummyspace}{%
\leavevmode
\rlap{\spacefont\symbol{32}}%
}
\begin{document}
\{\href{mailto:[email protected]}{name1},
\href{mailto:[email protected]}{name2}\}@\dummyspace server.com
\end{document}
评论:
- 显式空格字符有点棘手,因为 TeX 通常用水平跳过空格替换空格。因此,我使用了另一种字体,该字体在位置 32(空格)处有一个空格字符。
(在 TeX Live 2014 的 pdfTeX 3.14159265-2.6-1.40.15 预发布版本中,它触发了一个错误,请参阅pdfTeX 邮件列表上的错误报告。该错误现已(2014-05-23)修复。)