我想要一个像这样的定义
\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}