保护命令的参数不受命令的影响

保护命令的参数不受命令的影响

如何“保护”命令的参数免受命令的影响?

链接被中断\spacedallcaps

\documentclass{scrreprt}

\usepackage[pdfspacing]{classicthesis}

\begin{document}

\spacedallcaps{\href{http://it.wikipedia.org/wiki/Pagina_principale}{test}}

\end{document}

答案1

如果你只想要test间隔大写字母,显然

\href{http://it.wikipedia.org/wiki/Pagina_principale}{\spacedallcaps{test}}

就是答案。

但是如果你想要将章节标题变成链接(如果我没记错的话,在这种情况下classicthesis使用\spacedallcaps),那么你必须诉诸于一种黑客手段:

\documentclass{scrbook}
\usepackage[pdfspacing]{classicthesis}
\newcommand\mytemp{}

\begin{document}
\frontmatter
\tableofcontents
\mainmatter
\renewcommand\mytemp{http://it.wikipedia.org/wiki/Pagina_principale}
\chapter[test]{\href{\noexpand\mytemp}{test}}
\end{document}

问题在于不显示链接地址,\MakeUppercase否则它也会变成大写。

但是我不建议将章节标题变成链接;最好将链接放在章节文本的开头。

相关内容