使用宏全局切换链接

使用宏全局切换链接

我正在用现代简历。我们不确定她的主管是否希望在文档中添加链接,因此每次需要链接时,我都会写两次文本:

PhD student at the Weizmann Institute of Science
% PhD student at the \textcolor{cyan}{\href{http://www.weizmann.ac.il/}{Weizmann Institute of Science}}}

如果导师决定我们应该使用链接,我会注释掉取消链接的文本:

% PhD student at the Weizmann Institute of Science
PhD student at the \textcolor{cyan}{\href{http://www.weizmann.ac.il/}{Weizmann Institute of Science}}}

我不喜欢重复代码,所以我正在寻找一种方法来为我的链接样式定义 Tex 宏。也许是这样的:

PhD student at the {\myhref{http://www.weizmann.ac.il/}{Weizmann Institute of Science}}

在顶部定义\myhref一次,我可以在其中打开或关闭链接,并设置链接颜色(如果存在)。

有没有办法在 tex 中定义全局、自定义的宏?

答案1

这是我唯一能说的,平均能量损失。也许它对你有用。

\documentclass{article}
\usepackage{hyperref, etoolbox}

\newtoggle{supervisor}
%\toggletrue{supervisor}

\newcommand{\myhref}[2]{%
  \iftoggle{supervisor}%
    {\href{#1}{#2}}%
    {#2}%
}

\begin{document}
PhD student at the \myhref{http://www.weizmann.ac.il/}{Weizmann Institute of Science}
\end{document}

至于链接颜色,我建议您使用 hyperref 提供的选项(colorlinksurlcolor

答案2

这应该可行。

%% With link
\newcommand{\myhref}[2]{%
  \textcolor{cyan}{\href{#1}{#2}}}

%% Without link
% \newcommand{\myhref}[2]{#2}

相关内容