![具有未定义参数的基本命令](https://linux22.com/image/474434/%E5%85%B7%E6%9C%89%E6%9C%AA%E5%AE%9A%E4%B9%89%E5%8F%82%E6%95%B0%E7%9A%84%E5%9F%BA%E6%9C%AC%E5%91%BD%E4%BB%A4.png)
我想执行一个名为 \footcite 的基本命令来编写文本,并将任意数量的引用写入脚注中。
它基本上就是这个命令\newcommand{\footcite}[2]{\footnote{#1 \cite{#2}}}
,但带有 2-n 个参数。它的一个用例是\footcite{LLM like ChatGPT or BERT}{chatgpt}{bert}
,
结果会是类似“LLM like ChatGPT or BERT [1] [2]”的脚注
我对 xparser 或宏等一无所知......
答案1
定义了一个命令\footcite
。它需要 2 个参数。第二个参数是一个列表。使用 对此列表执行循环\clist_map_inline:nn
。此处列表中的每个元素都由 给出,##1
并在其前面\cite
加上一个空格~
。
\documentclass[a4paper]{article}
\ExplSyntaxOn
\NewDocumentCommand \footcite { m m }
{
\footnote
{
#1
\clist_map_inline:nn {#2}
{ ~ \cite {##1} }
}
}
\ExplSyntaxOff
\begin{document}
Some text\footcite{LLM like ChatGPT or BERT}{chatgpt,bert}
\begin{thebibliography}{9}
\bibitem{chatgpt}
\emph{ChatGPT},
2024.
\bibitem{bert}
\emph{BERT},
2024.
\end{thebibliography}
\end{document}