如何转义作为参数传递给新环境的特殊字符?

如何转义作为参数传递给新环境的特殊字符?

我想创建一个新环境,将其输入之一作为可能包含特殊字符的链接,并且我希望对其进行转义,而无需每个人手动转义每个字符。我无法verbatim在参数中使用环境,Google 和 ChatGPT 都无法理解/帮助它。

这是我在 cls 中的环境:

\newenvironment{rProjects}[4]{ % 4 input arguments - project title, brief description, project link name, project link
 {\bf #1} {#2} % Bold project name then description
 \ifthenelse{\equal{#3}{}}{}{
  \hfill \href{#3}{#4}
 }\smallskip
}{}

以下是我在 .tex 中使用它的方法

\begin{rProjects}{Project name}{description}{link with special characters}{link name}
\end{rProjects}

答案1

您可以尝试 v 类型:

\documentclass[]{article}

\usepackage{hyperref,ifthen}
\NewDocumentEnvironment{rProjects}{mmvm}{% 
 \textbf{#1} {#2} % Bold project name then description
  
 \ifthenelse{\equal{#3}{}}{}{
  \hfill \href{#3}{#4}
 }\smallskip
}{}

\begin{document}

\begin{rProjects}{Project name}{description}{https://abc.de&%blub xxx}{link name}
\end{rProjects}

\end{document}

但你应该测试一下你想要使用的特殊字符。我不确定是否所有字符都正确传递给了 hyperref。

相关内容