Счетчики, которые будут использоваться в заголовках разделов (и подобных) (любой TeX)

Счетчики, которые будут использоваться в заголовках разделов (и подобных) (любой TeX)

Я использую LaTeX для заметок в университете. Заметки делятся на главы, которые являются отдельными уроками. Они пронумерованы. Легко потерять номер урока. Поэтому я хотел бы, чтобы LaTeX делал это вместо меня. Мне нужно создать счетчик и использовать его значение в названии глав. Что-то вроде \newtheorem, только это не может быть в заголовках разделов, потому что это приводит к ошибке

argument of \@sect has an extra }  

Мое оглавление начинается так:
Оглавление
Полное оглавление довольно длинное, поэтому я не буду приводить его здесь, так как считаю, что и этого достаточно. Как вы видите, есть главы с названиямиЛезионе xx(xx — число), главы озаглавленыЭсерцитация xx, и главыЭсерджизи(соответственно, Урок xx, Упражнение урок xx, Упражнения), поэтому мне понадобятся два независимых счетчика дляЛеционеиЭсерцитационечтобы не пришлось нумеровать их вручную и не рисковать оказаться (как я только что) с двумяЭсерцитация 14, нетЛеционе 22и нетЛеционе 25. Есть ли способ сделать это в LaTeX? И есть ли способ создать список всех теорем определенного вида (например, если я определил \newtheorem{defi}{Definizione}, создать список всех " defi"s)?

решение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>}.

Вот вывод обоих методов для оглавления:

Выход

Связанный контент