我想编写一个类似于包\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}