If a non-toplevel macro has the
titleargument is present but no explicit
idargument is given, an Element ID is created automatically from the
title, by applying the following transformations:
Note how those rules leave non-ASCII Unicode characters untouched, except for:
- do a
idoutput format conversion on the title to remove for example any HTML tags that would be present in the conversion output
true(the default) do Latin normalization. This converts e.g.
true(the default) do Punctuation normalization. This converts e.g.
- convert consecutive sequences of all non
a-z0-9ASCII characters to a single hyphen
-. Note that this leaves non-ASCII characters untouched.
- strip leading or trailing hyphens
as capitalization and determining if something "is a letter or not" in those cases can be tricky.
- capitalization changes wher applicable, e.g.
For toplevel headers, see: the ID of the first header is derived from the filename.
So for example, the following automatic IDs would be generated: Table 2. "Examples of automatically generated IDs".
|title||id||latin normalization||punctuation normalization||comments|
|My favorite title||my-favorite-title|
|Ciro's markdown is awesome||ciro-s-markdown-is-awesome||
The Latin acute accented
Then, due to Latin normalization,
The Chinese character
|É你||é你||false||Same as the previous, but
|C++ is great||c-plus-plus-is-great||true||This is the effect of Punctuation normalization.|
|I love dogs.||i-love-dogs||
For the toplevel header, its ID is derived from the basename of the OurBigBook file without extension instead of from the