我正在尝试创建一个采用 $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}