![使用项目标签中的数字范围进行枚举](https://linux22.com/image/260028/%E4%BD%BF%E7%94%A8%E9%A1%B9%E7%9B%AE%E6%A0%87%E7%AD%BE%E4%B8%AD%E7%9A%84%E6%95%B0%E5%AD%97%E8%8C%83%E5%9B%B4%E8%BF%9B%E8%A1%8C%E6%9E%9A%E4%B8%BE.png)
我正在为课程准备讲课大纲。有些主题需要不止一堂课。我想创建一个enumerate
反映这一点的环境。
我希望最终得到类似
1. Topic 1.
2-3. Topic 2.
4. Topic 3.
5-6. Topic 4.
我知道我可以手动完成这个,例如,
\documentclass{article}
\begin{document}
\begin{enumerate}
\item [1.] Topic 1.
\item [2-3.] Topic 2.
\item [4.] Topic 3.
\item [5-6.] Topic 4.
\end{enumerate}
\end{document}
但是,如果我想在列表中间插入另一个主题,则需要手动重新执行所有操作。有没有办法使用一个或多个计数器来执行此操作?
答案1
\documentclass{article}
\def\itemrange#1{%
\addtocounter{enumi}{1}%
\edef\labelenumi{\theenumi--\noexpand\theenumi}%
\addtocounter{enumi}{-1}%
\addtocounter{enumi}{#1}%
\item
\def\labelenumi{\theenumi}}
\begin{document}
\begin{enumerate}
\item Topic 1.
\itemrange{1} Topic 2.
\item Topic 3.
\itemrange{1} Topic 4.
\end{enumerate}
\end{document}
答案2
免责声明:这是个人观点。大家可以自由发表不同意见。
我会这样做:
\documentclass{article}
\begin{document}
\begin{enumerate}
\item Topic 1
\item Topic 2
\begin{enumerate}
\item First session
\item Second session
\end{enumerate}
\item Topic 3
\item Topic 4
\begin{enumerate}
\item First session
\item Second session
\end{enumerate}
\end{enumerate}
\end{document}