更改 \href 参数中的 URL 大小写

更改 \href 参数中的 URL 大小写

我想编写一个类似于包\href中的命令的宏hyperref,但它只接受一个参数。通过将参数变为小写,可以生成 URL。

这是一个简单的例子:

\documentclass{article}
\usepackage{hyperref}
\newcommand\mylink[1]{\href{www.\lowercase{#1}.com}{#1}}

\begin{document}
\mylink{MyURL}
\end{document}

但是\lowercase命令没有展开,链接指向www.\lowercase{MyURL}.com。有没有什么办法可以解决这个问题?

答案1

\newcommand\mylink[1]{\lowercase{\href{www.#1.com}}{#1}}

将工作。

根据评论中的要求,举一个更复杂的例子:

\documentclass{article}
\usepackage{hyperref}

\newcommand\mylink[1]{\lowercase{\href{www.#1.com}}{#1}}
\newcommand\mymail[2]{%
\lowercase{\def\tmpa{#1}}%
\uppercase{\def\tmpb{#2}}%
\href{mailto:\tmpa.\tmpb}{#1.#2}}

\begin{document}
\mylink{MyURL}

\mymail{David}{Example.ORG}

\end{document}

相关内容