用于显示名称、日期和超链接的宏不起作用?

用于显示名称、日期和超链接的宏不起作用?

我正在尝试创建一个采用 $4$ 个参数的宏。一个名称、一个日期、一个超链接地址和超链接的文本。我的宏是:

\newcommand\authordate[4]{\textbf{Author}: #1, #2. \\ \textbf{Source}:
\href{#3}{#4}}

但是它确实可以工作,如果我用以下命令调用它:

\authordate{Joe, 2017, http://www.google.com, Google}

我收到错误信息:

! Paragraph ended before \hyper@n@rmalise was complete.

它看起来应该是这样的:

作者:约翰,2017 年。

来源谷歌

有人知道我该如何修复它吗?

答案1

只是将我的评论转移到答案:您定义以下内容:

\newcommand\authordate[4]{\textbf{Author}: #1, #2. \\ \textbf{Source}:
\href{#3}{#4}}

表示[4]您希望它有 4 个参数。问题是:TeX 不会解释像 这样的列表a,b,c,d。它希望它们具有{a}{b}{c}{d}

因此您需要以下调用来让它完成其工作:

\authordate{Joe}{2017}{http://www.google.com}{Google}

相关内容