当我发送电子邮件时,我喜欢[recipient]
在主题中包含一些字符,这样我就可以快速识别回复;请注意方括号。据我所知,这曾经href
在hyperref
包中使用 find 时有效,但今天我注意到,当我单击打开电子邮件客户端撰写邮件时,链接预览(我期望如此)和主题中会出现可见%20
字符(我不记得以前这是个问题)。
以下是 MWE:
% !TEX program = lualatexmk
% !TEX encoding = UTF-8 Unicode
\documentclass{article}
\usepackage{hyperref}
\begin{document}
Email: \href{mailto:[email protected]?subject=from documentation}{[email protected]}
Email: \href{mailto:[email protected]?subject=something from documentation}{[email protected]}
Email: \href{mailto:[email protected]?subject=[something] from documentation}{[email protected]}
\end{document}
当我将鼠标悬停在链接预览上时,这三个都会显示显式转义空格(我在 macOS 上使用 TeXShop 和 Preview)。当我单击前两个打开我的电子邮件客户端时,空格会在主题行中正确呈现。但是,引入方括号会使空格%20
出现在主题行中。
是什么导致了这种行为?有没有一种简单的方法可以让方括号不改变这种行为?我搜索了这个网站和文档hyperref
,没有找到与这个特定问题相关的内容。我可能错过了什么。
答案1
经过进一步的实验,似乎用和分别替换和可以[
解决问题,但我不完全明白为什么,因为没有必要用替换空格。]
%5B
%5D
%20
% !TEX program = lualatexmk
% !TEX encoding = UTF-8 Unicode
\documentclass{article}
\usepackage{hyperref}
\begin{document}
Email: \href{mailto:[email protected]?subject=from documentation}{[email protected]}
Email: \href{mailto:[email protected]?subject=something from documentation}{[email protected]}
Email: \href{mailto:[email protected]?subject=[something] from documentation}{[email protected]}
Email: \href{mailto:[email protected]?subject=%5Bsomething%5D from documentation}{[email protected]}
\end{document}
根据 Ulrike 的评论和链接,这似乎是 Apple 的 PDF 渲染的一个长期问题,这里的解决方案充其量只是一种变通方法。