![在 LaTeX 中计数](https://linux22.com/image/340083/%E5%9C%A8%20LaTeX%20%E4%B8%AD%E8%AE%A1%E6%95%B0.png)
我正在准备一个大型 LaTeX ( beamer
) 文档。文档中有几个测验(可怜的学生!)。我希望有某种计数器,在编写新测验时,我可以向其添加一 (1),而不必确切知道测验编号。例如,我可以定义一个变量并将其设置为 1,然后每次只增加 1 吗?如果可以,具体怎么做?
\documentclass{beamer}
\begin{document}
\frame{\frametitle{Quiz 1}\framesubtitle{}
\begin{itemize}
\item
Questions
\end{itemize}
}
\frame{\frametitle{Quiz 2}\framesubtitle{}
\begin{itemize}
\item
Questions
\end{itemize}
}
\frame{\frametitle{Quiz 3}\framesubtitle{}
\begin{itemize}
\item
Questions
\end{itemize}
}
\end{document}
TL;DR:我想枚举enumerate
环境之外的数字
答案1
我使用了“代码片段”并定义了一个quiznumber
计数器。
可以\pretocmd{\frame}{\stepcounter{quiznumber}}{}{}
使这个计数器自动增加。
使用framenumber
计数器也是可能的,但可能存在不包含测验的框架。
当然,如果中间有帧且没有测验,这个数字当然就不正确了。
在这种情况下,只需重置或调整测验号码即可\setcounter{quiznumber}{some value}
\documentclass{beamer}
\usepackage{etoolbox}
\newcounter{quiznumber}
\pretocmd{\frame}{\stepcounter{quiznumber}}{}{}
\begin{document}
\frame{\frametitle{Quiz \thequiznumber}\framesubtitle{}
Questions here
}
\frame{\frametitle{Quiz \thequiznumber}\framesubtitle{}
Questions here
}
\frame{\frametitle{Quiz \thequiznumber}\framesubtitle{}
Questions here
}
\frame{\frametitle{Quiz \thequiznumber}\framesubtitle{}
Questions here
}
\end{document}