具有未定义参数的基本命令

具有未定义参数的基本命令

我想执行一个名为 \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}

相关内容