我在大学里用 LaTeX 做笔记。笔记分为几章,每章都是单独的课程。它们都有编号。很容易忘记课程编号。所以我想用 LaTeX 代替我做这件事。我需要创建一个计数器并在章节标题中使用它的值。类似 的东西\newtheorem
,只是它不能放在章节标题中,因为它会产生错误
argument of \@sect has an extra }
我的目录是这样开始的:
整个目录相当长,所以我不会把所有内容都放在这里,因为我觉得这么多已经足够了。如你所见,有章节标题课程 xx(xx 为数字),章节标题埃塞尔西蒂奥内 xx以及埃塞尔吉齐(分别是课程 xx、练习课程 xx、练习),所以我需要两个独立的计数器莱齐奥内和埃塞尔西塔齐奥内以避免必须手动编号,并冒着发现自己(就像我刚才那样)有两个14, 不22 级和不25 级。有没有办法在 LaTeX 中做到这一点?有没有办法创建特定类型的所有定理的列表(例如,如果我定义了,则创建所有“ ”\newtheorem{defi}{Definizione}
的列表)?defi
答案1
这可能对你有用:
\documentclass{report}
\newcounter{le}
\setcounter{le}{0}
\newcommand{\lezione}[1]{Lezione~\arabic{le}:~#1}
\newcommand{\incle}[0]{\refstepcounter{le}}
\newcounter{ei}
\setcounter{ei}{0}
\newcommand{\esercizi}[0]{Esercizi~\arabic{ei}}
\newcommand{\incei}[0]{\refstepcounter{ei}}
\newcounter{ee}
\setcounter{ee}{0}
\newcommand{\esercitazione}[1]{Esercitazione~\arabic{ee}:~#1}
\newcommand{\incee}[0]{\refstepcounter{ee}}
\begin{document}
\tableofcontents
\incle
\chapter{\lezione{Foo}}
\incle
\chapter{\lezione{Bar}}
\incei
\chapter{\esercizi}
\incle
\chapter{\lezione{Baz}}
\incee
\chapter{\esercitazione{Bla}}
\end{document}
我定义了两个单独的命令来增加计数器并在命令中调用它\chapter
,以便保留\chapter
命令的所有可选功能。一个“更简单”的方法是合并它们,但这样就无法使用该\chapter
命令的选项。仅供参考,命令将是(用于讲座):
\newcounter{le}
\setcounter{le}{0}
\newcommand{\lezione}[1]{\refstepcounter{le}
\chapter{Lezione~\arabic{le}:~#1}}
并且文档中使用的命令很简单\lezione{<title>}
。
以下是两种方法的目录输出: