在宏中写入时,hyperrefs 具有不同的间距

在宏中写入时,hyperrefs 具有不同的间距

假设我想创建一个这样的超链接:

A link is placed \href{www.google.com}{here} to google.

渲染“ \href{www.google.com}{此处} 放置了一个指向 google 的链接。”

然后我决定为此制作一个宏:

\newcommand\Myhref[2]{
\href{#1}{#2}
}
A link is placed \Myhref{www.google.com}{here} to google.

渲染“ \Myhref{www.google.com}{此处} 放置了一个指向 google 的链接。”

第二个例子的间距不正确。

动机是我想应用一种非常自定义的样式(带有下划线、颜色和字体大小),这对于\hypersetup全局样式来说太复杂了。所以我编写了一个宏,将样式应用于超链接文本。但间距完全不对。

答案1

你留下了行尾空格。%在行尾的两个地方添加空格,例如

\newcommand\Myhref[2]{%<-------- here
\href{#1}{#2}%        <-------- and here
}

然后你就可以出发了。

\documentclass{article}
\usepackage{hyperref}
\newcommand\Myhref[2]{%<-------- here
\href{#1}{#2}%        %<-------- and here
}

\begin{document}
  A link is placed \href{www.google.com}{here} to google.

  A link is placed \Myhref{www.google.com}{here} to google.
\end{document}

在此处输入图片描述

相关内容