Skip to main content
Logo image

Section 30 Advanced Numbering

View Source
This section demonstrates the numbering patterns used throughout PreTeXt. There are five subsections. Two intermediate subsections each have two subsubsections. This creates a total of seven divisions that are leaves of the document tree. In each leaf we have placed two numbered theorems, for a total of fourteen. There is no real content, this is just a demonstration.
Use values of 0 through 3 for the numbering.theorems.level parameter to see how these numbers change accordingly. It is easiest to compare if you use chunk.level < 2 so the theorems all land on the same page if you are previewing in HTML.

Subsection 30.1 One

A document leaf.

Subsection 30.2 Two

Further subdivided.

Subsubsection 30.2.1 Uno

A document leaf.

Subsubsection 30.2.2 Dos

A document leaf.

Subsection 30.3 Three

A document leaf.

Subsection 30.4 Four

Further subdivided. We include two theorems as numbered items in the introduction to test their numbers, which should always be logical.

Subsubsection 30.4.1 Uno

A document leaf.

Subsubsection 30.4.2 Dos

A document leaf.
Conclusion now. We include two theorems as numbered items in the conclusion to test their numbers, which are sometimes totally illogical and are inconsistent across output formats. To see the effect, set the level for numbering theorems to 3. See this GitHub Issue #139
for details.

Subsection 30.5 Five

A document leaf.

Subsection 30.6 Theorems in This Section

We have a lot of theorems in this section, so we illustrate including an automatic list of these here. We use the elements attribute to limit the list to theorem elements, and we use the scope attribute to limit the list to this section. You can use an introductory p like this one, or not. The list gets no title or visual separation, so use the usual subdivision elements to make that happen. The elements attribute can be a space-delimited list of many different elements. This list should not include the Fundamental Theorem of Calculus, Theorem 2.1. See a slightly different example in Appendix F.
Theorem 30.1 First Theorem
Theorem 30.2 Second Theorem
Theorem 30.3 First Theorem!
Theorem 30.4 Second Theorem?
Theorem 30.5 First Theorem?
Theorem 30.6 Second Theorem!
Theorem 30.7 First Theorem
Theorem 30.8 Second Theorem
Theorem 30.9 Good Numbered Theorem One
Theorem 30.10 Good Numbered Theorem Two
Theorem 30.11 First Theorem
Theorem 30.12 Second Theorem
Theorem 30.13 First Theorem
Theorem 30.14 Second Theorem
Theorem 30.15 Bad Numbered Theorem One
Theorem 30.16 Bad Numbered Theorem Two
Theorem 30.17 First Theorem
Theorem 30.18 Second Theorem

Subsection 30.7 A Title with ] a Right Bracket

has trouble with brackets that end up inside optional arguments, so this subsection title is only a check on the defense against that. And now an <exercise> with a title that could really be a problem.

Checkpoint 30.19. A Right Brace } and a Right Bracket].

The right brace is is used as a grouping character in so this is just a test of its behavior in titles.
A faux hint to get this exercise to migrate into a <solutions>.

Subsection 30.8 A Title with } a Right Brace

And now a right brace in a division title.

Subsection 30.9 A Title with \(a]b\) a Math Right Bracket

And now a right bracket within math in a division title.
We do not test a right brace within math, since it should be escaped, as is normal practice.

Subsection 30.10 Just an Exercise

Checkpoint 30.20. An Extraneous Exercise.

This exercise is here just as a test of the <solutions> division coming next. So it is serving a purpose, even if it is not apparent.
A hint, so this exercise looks identical in structure to the one in the previous subsection.

Solutions 30.11 Solutions

This is a <solutions> division, which will be a peer of the other <subsection> in this <section>. The default behavior is to look to the parent division (a <section> here) and collect all the hints, answers, and solutions from every <exercise> (and friends) inside this containing division. (There are just two, similar inline <exercise>.)
But instead of the default, we employ a @scope attribute to define the parent division of the exercises whose solutions will be shown. In this example we specify the <subsection> that is two back, the one which tests brackets in titles.

30.7 A Title with ] a Right Bracket

Checkpoint 30.19. A Right Brace } and a Right Bracket].
A faux hint to get this exercise to migrate into a <solutions>.