如何将 \href 命令与 \StrSubstitute 一起使用?

如何将 \href 命令与 \StrSubstitute 一起使用?

我在获取输出时遇到困难,首先我想替换电子邮件 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}

在此处输入图片描述

不要忘记保护行尾。

相关内容