如何编写宏来自动创建带有投影仪中的项目的框架?

如何编写宏来自动创建带有投影仪中的项目的框架?

我想要一个像这样的定义

\def\tag{......}
\def\printtag{......}

\tag{1.1}{
  title
  aa
  bb
  cc
}

\printtag{1.1}

实现

\frame{\frametitle{title}
\begin{itemize}
    \item aa
    \item bb
\end{itemize}
}

答案1

使用稍微调整过的语法(标题和逗号代替换行符的参数,因为 TeX 看不到换行符):

投影机

\documentclass{beamer}

\newcommand\mytag[3]{%
    \expandafter\gdef\csname someframe:#1\endcsname{%
        \begin{frame}{#2}
            \begin{itemize}
                \forcsvlist{\item}{#3}
            \end{itemize}
        \end{frame}}
}
\newcommand\printtag[1]{\csname someframe:#1\endcsname}

\mytag{1.1}{title}{
  aa,
  bb,
  cc
}

\begin{document}
\printtag{1.1}
\end{document}

相关内容