我在获取输出时遇到困难,首先我想替换电子邮件 ID 中的字符“_”[电子邮件保护]
我使用了\StrSubstitute{#1}{_}{\textunderscore}
第二个命令来获取电子邮件的超链接\href
,但这两个命令不能同时工作。那么如何才能实现替换和获取超链接呢?以下是我迄今为止尝试过的 MWE。
\documentclass[a4paper]{article}
\usepackage{hyperref}
\usepackage{xstring}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\newcommand{\Email}[1]{
Email: \href{\StrSubstitute{#1}{_}{\textunderscore}}{\StrSubstitute{#1}{_}{\textunderscore}}
}
\begin{document}
\Email{[email protected]}
\end{document}
答案1
首先,你不想在第一个参数中进行替换;其次,你不能使用\StrSubstitute
在这个论点。
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{xstring}
\usepackage{hyperref}
\newcommand{\Email}[1]{%
Email: %
\StrSubstitute{#1}{_}{\textunderscore}[\temp]%
\href{mailto:#1}{\temp}%
}
\begin{document}
\Email{[email protected]}
\end{document}
不要忘记保护行尾。