acro
v3.8 2022/04/01
Typeset Acronyms and other Abbreviations
Clemens Niederberger
https://github.com/cgnieder/acro/
acro allows you to dene and manage acronyms and abbreviations. It
can also be used for glossaries or nomenclatures.
Table of contents
I. Get started with acro 3
1. Licence 3
2. Glossary 3
3. Reading the manual 3
4. acro for the impatient 4
5. Seing options 5
5.1. Load-time options . . . . . . . 5
5.2. Setup command . . . . . . . . 5
II.
Comprehensive description
of creation and usage of
acronyms 6
6.
Declaring acronyms and other
abbreviations 6
6.1. Basic properties . . . . . . . . 7
6.2.
Properties related to plural and
indenite forms . . . . . . . . 8
6.3. Properties related to formatting 9
6.4.
Properties related to the cre-
ated pdf le . . . . . . . . . . 10
6.5. Futher properties . . . . . . . 10
6.6. Presets . . . . . . . . . . . . . 11
7. Using acronyms 11
8. Alternative short forms 13
9. The first or full appearance 14
10. Single appearances of an acronym 15
11. Printing the list 16
11.1.
The main command and its op-
tions . . . . . . . . . . . . . . 16
11.2. Add page numbers to the list . 17
11.3. Filter lists using tags . . . . . . 18
11.4. Local lists . . . . . . . . . . . . 19
12. Formaing 20
13. Plural forms and other endings 21
13.1.
The plural ending and the plu-
ral form . . . . . . . . . . . . . 21
13.2. Other endings . . . . . . . . . 23
14. Articles 23
14.1. Indenite forms . . . . . . . . 23
1
14.2. Other articles . . . . . . . . . 24
15. Foreign language acronyms 24
16. Uppercasing 26
17. Citing and indexing 27
17.1. Citing . . . . . . . . . . . . . . 27
17.2. Indexing . . . . . . . . . . . . 28
18. Barriers 29
19. Trailing tokens 30
19.1. What is it about? . . . . . . . 30
19.2. How does it work? . . . . . . 31
20. Using or reseing acronyms 32
21.
Bookmarks, backlinks and acces-
sibility support 32
21.1. Backlinks . . . . . . . . . . . . 32
21.2. Bookmarks . . . . . . . . . . . 33
21.3. pdf comments . . . . . . . . . 33
21.4. Accessibility support . . . . . 34
22. Localisation 35
23. Patches 36
III. Extending acro 37
24. Background 37
24.1. Templates . . . . . . . . . . . 37
24.2. Objects . . . . . . . . . . . . . 38
25. Templates 38
25.1. Pre-dened templates . . . . . 38
25.1.1. Acronym templates . . 38
25.1.2. List templates . . . . . 39
25.1.3. Heading templates . . 39
25.2. Dening new templates . . . . 40
25.3.
Commands to be used in tem-
plate denitions . . . . . . . . 41
25.3.1.
Commands for com-
mon uses . . . . . . . 41
25.3.2.
Commands for usage
in acronym templates 42
25.3.3.
Commands for usage
in list templates . . . . 42
25.4. New acronym templates . . . 43
25.5. New list templates . . . . . . . 44
25.6. New heading templates . . . . 46
26. Endings 46
27. Articles 47
28. Translations 48
29. Properties 49
30. Own acronym commands 50
30.1. Background . . . . . . . . . . 50
30.2.
Create commands for posses-
sive endings . . . . . . . . . . 51
31. Own acro style files 52
IV. Appendix 54
A. Examples 54
B. Acronyms 58
C. References 59
D. Index 60
2
Part I.
Get started with acro
1. Licence
Permission is granted to copy, distribute and/or modify this software under the terms of the
L
A
T
E
X Project Public License (
lppl
), version 1.3c or later (
http://www.latex-project.org/
lppl.txt). The software has the status “maintained.
2. Glossary
This manual repeatedly uses a number of terms which are explained in this section.
articles
Articles are prexes to acronyms, usually separated with a blank. Dierent types of
articles are mutually exclusive.
endings
Endings are postxes to acronyms, usually not separated from the acronym. Dierent
types of endings are mutually exclusive.
load-time option
A load-time
option
is a package option of acro which must be set as
option to \usepackage[options ]{acro}.
module
A
module
is something like a superordinate category for options. There are several
such modules like
list
or
pages
for example. Options belonging to a module typically
inuence certain objects. For instance options belonging to the
pages
inuence how page
numbers in the list of acronyms are handled.
option
An
option
is a package option of acro which must set with
\acsetup
. It cannot be
set as option to
\usepackage
. Options usually also can be set in the optional argument
of \ac and friends.
property
A
property
is an option to the second argument of the
\DeclareAcroym
command.
They are options of an individual acronym if you will.
template
A
template
determines how dierent objects of acro are printed. This includes
the acronyms themselves but also for example the list of acronyms as a whole.
translations Localisation strings which can be modied.
3. Reading the manual
This manual uses a certain color code in order to be able to distinguish options, properties and
templates visually from each other.
3
4. acro for the impatient
option = {value}
Options are displayed in yellow. For the description of options a certain nomenclature is used
which is explained in section 5. Some options belong to module which are displayed in red.
property = {value}
In order to distinguish them visually from options properties are displayed in blue. The nomen-
clature of properties is quite similar to the one of the options so it is not explained explicilty
but should be clear by analogy.
template
In order to distinguish them visually from options and properties templates are displayed in
green.
4. acro for the impatient
Acronyms are dened in the preamble via the command
\DeclareAcronym{id}{properties}
where
id
is a unique string to identify the acronym and
properties
is a key/value list of
acronym properties. These include:
short = {text} (required)
The short form of the acronym. This property is required: an acronym must have a short form.
long = {text} (required)
The long form of the acronym. This property is required: an acronym must have a description.
!
In its simplest form an acronym needs a short and a long form. Please note that both
properties must be set.
In the document acronyms are used with these commands:
\ac{id} \Ac{id}
\ac
prints the acronym
id
, the rst time with full description and every subsequent use only
the abbreviated form.
\Ac
does the same but uppercases the rst letter – this may be needed at
the beginning of a sentence.
\acs{id} \Acs{id}
\acs
prints the short form of the acronym
id
.
\Acs
does the same but uppercases the rst
letter.
\acl{id} \Acl{id}
\acl
prints the long form of the acronym
id
.
\Acl
does the same but uppercases the rst
letter.
4
5. Setting options
\acf{id} \Acf{id}
\acf
prints the full form of the acronym
id
.
\Acf
does the same but uppercases the rst letter.
Let’s say you dened CD as follows:
1 \DeclareAcronym{cd}{
2 short = CD ,
3 long = compact disc
4 }
Then the usage is
1 \begin{tabular}{ll}
2 first & \ac{cd} \\
3 second & \ac{cd} \\
4 long & \acl{cd} \\
5 short & \acs{cd} \\
6 full & \acf{cd}
7 \end{tabular}
rst compact disc ( CD)
second CD
long compact disc
short CD
full compact disc ( CD)
5. Seing options
5.1. Load-time options
acro knows only a small set of load-time options which can be used as argument to
\usepackage
:
upgrade = true|false Initial: false
When this option is used acro tries to give as much helpful and meaningful warning or error
messages when a deprecated or removed command, property, or option is used. This is especially
useful if you are upgrading from version 2.
You can still use version 2 by specifying using one of the following options:
1 \usepackage{acro}[=v2]
2 \usepackage{acro}[=version2]
5.2. Setup command
All options of acro that have not been mentioned in section 5.1 have to be set up either with
this command
\acsetup{options }
or as option to other commands. If the latter is possible then it is described when the corre-
sponding commands are explained. Options usually follow a key/value syntax and are always
described in the following way:
5
option
An option without a value. Those options are very rare if there are any.
option = {value} Initial: preset
An option where a value can be given. The pre-set value is given to the right.
option = choiceA|choiceB|choiceC Initial: choiceB
An option with a determined set of choices. The underlined value is chosen if the option is
given without value.
option = true|false
A boolean option with the only choices true and false.
optionmodule/
An option at a deeper level belonging to the module module.
All of the above is probably clear from an example (using real options):
1 \acsetup{
2 make-links = true , % boolean
3 index , % boolean
4 format = \emph , % standard
5 list / local , % boolean option of the list module
6 list / display = all % choice option of the list module
7 }
Part II.
Comprehensive description of
creation and usage of acronyms
6. Declaring acronyms and other abbreviations
All acronyms have to be declared in the preamble with the following command in order to be
used in the document. Any usage of an acronym which has not been declared leads to an error
message.
\DeclareAcronym{id}{list of properties}
The basic command for declaring an acronym where
id
is a unique string identifying the
acronym. Per default this is case sensitive which means id is dierent from ID, for example.
The command understands a number of properties which are listed in the following sections.
This is a comprehensive overview over the existing properties. Many properties are also
explained in more detail in later sections of this manual.
6
6. Declaring acronyms and other abbreviations
case-sensitive = true|false Initial: true
When this is set you can write the
id
of the acronym upper- or lower- or mixed case and it is
recognized by acro as the same. This might be useful when the acronym appears in the page
header, for example.
case-insensitive = true|false Initial: false
since v3.6
(2022/01/04)
The inverse of the option case-sensitive.
!
In its simplest form an acronym needs a short and a long form. Please note that both
properties must be set.
6.1. Basic properties
short = {text} (required)
The short form of the acronym. This property is required: an acronym must have a short form.
Maybe you mostly have simple acronyms where the
id
and short form are the same. In that
case you can use
use-id-as-short = true|false Initial: false
to use the
id
of the acronym as short form. For more complicated cases this would still allow
you to set the short form.
long = {text} (required)
The long form of the acronym. This property is required: an acronym must have a description.
alt = {text} (initially empty)
Alternative short form.
extra = {text} (initially empty)
Extra information to be added in the list of acronyms.
foreign = {long form in foreign language} (initially empty)
Can be useful when dealing with acronyms in foreign languages, see section 15 on page 24 for
details.
long-post = {text} (initially empty)
text is appended to the long form of the acronym in the text but not in the list of acronyms.
post = {text} (initially empty)
text is appended to the acronym in the text but not in the list of acronyms.
single = {text} if unused then equal to long
If provided
text
will be used instead of the long form if the acronym is only used a single time
and the option single has been set, see section 10 on page 15.
7
6. Declaring acronyms and other abbreviations
sort = {text} if unused then equal to short
If used the acronym will be sorted according to this property instead of its short form.
tag = {csv list} (initially empty)
The tag(s) of an acronym.
cite = [prenote][postnote]{citation keys} (initially empty)
A citation that is printed to the acronym according to an option explained later.
before-citation = {text} (initially empty)
text is prepended to the citation of the acronym when and where the citation is printed.
index = {text} (initially empty)
This property allows to overwrite the automatic index entry with an arbitrary one. See sec-
tion 17.2 on page 28 for details.
index-sort = {text} if unused then equal to sort
If you use the option
index
every occurrence of an acronym is recorded to the index and sorted
by its short form or (if set) by the value of the
sort
property. This property allows to set an
individual sorting option for the index. See section 17.2 on page 28 for details.
index-cmd = {index command} (initially empty)
This sets the indexing command for the acronym. If unused then the command set by the
corresponding option is used. See section 17.2 on page 28 for details.
6.2. Properties related to plural and indefinite forms
short-plural = {text} Initial: s
The plural ending appended to the short form.
short-plural-form = {text} (initially empty)
The plural short form of the acronym; replaces the short form when used instead of appending
the plural ending.
long-plural = {text} Initial: s
The plural ending appended to the long form.
long-plural-form = {text} (initially empty)
Plural long form of the acronym; replaces the long form when used instead of appending the
plural ending.
alt-plural = {text} Initial: s
The plural ending appended to the alternative form.
alt-plural-form = {text} (initially empty)
The plural alternative form of the acronym; replaces the alternative form when used instead of
appending the plural ending.
8
6. Declaring acronyms and other abbreviations
foreign-plural = {text} Initial: s
The plural ending appended to the foreign form.
foreign-plural-form = {text} (initially empty)
Plural foreign form of the acronym; replaces the foreign form when used instead of appending
the plural ending.
short-indefinite = {text} Initial: a
Indenite article for the short form.
long-indefinite = {text} Initial: a
Indenite article for the long form.
alt-indefinite = {text} Initial: a
Indenite article for the alternative form.
6.3. Properties related to formaing
format = {code} (initially empty)
The format used for both short and long form of the acronym.
short-format = {code} if unused then equal to format
The format used for the short form of the acronym.
long-format = {code} if unused then equal to format
The format used for the long form of the acronym.
first-long-format = {code} if unused then equal to long-format
The format used for the rst appearance of the long form of the acronym.
alt-format = {code} if unused then equal to short-format
The format used for the alternative form of the acronym. If this is not given the short format
will be used.
extra-format = {code} (initially empty)
The format used for the additional information of the acronym.
foreign-format = {code} (initially empty)
The format used for the foreign form of the acronym.
list-format = {code} if unused then equal to long-format
The format used for the long form of the acronym in the list if the list template supports it. All
pre-dened list templates do support it.
first-style = long-short|short-long|short|long|footnote (initially empty)
The style of the rst appearance of the acronym, see also section 9 on page 14.
subsequent-style = long-short|short-long|short|long|footnote (initially empty)
since v3.4
(2020/12/25)
The style of the appearance of the acronym after the rst time.
9
6. Declaring acronyms and other abbreviations
single-style = long-short|short-long|short|long|footnote (initially empty)
The style of a single appearance of the acronym, see also section 10 on page 15.
6.4. Properties related to the created pdf file
pdfstring = {pdfstring} if unused then equal to short
Used as
pdf
string replacement in bookmarks when used together with the hyperref [ORT21]
or the bookmark package [Obe20].
pdfcomment = {text}
Sets a tooltip description for an acronym. For actually getting tooltips you also need an
appropriate setting of the options
pdfcomment/cmd
and
pdfcomment/use
, see also section 21.3
on page 33.
short-acc = {text} if unused then equal to short
Sets the
ActualText
property as presented by the accsupp package for the short form of the
acronym.
long-acc = {text} if unused then equal to long
Sets the
ActualText
property as presented by the accsupp package for the long form of the
acronym.
alt-acc = {text} if unused then equal to alt
Sets the
ActualText
property as presented by the accsupp package for the alternative short
form of the acronym.
foreign-acc = {text} if unused then equal to foreign
Sets the
ActualText
property as presented by the accsupp package for the foreign form of the
acronym.
extra-acc = {text} if unused then equal to extra
Sets the
ActualText
property as presented by the accsupp package for the extra information of
the acronym.
single-acc = {text} if unused then equal to long-acc
Sets the
ActualText
property as presented by the accsupp package for a single appearance of
the acronym.
list-acc = {text} if unused then equal to list
Sets the
ActualText
property as presented by the accsupp package for the appearance in the
list of acronyms.
6.5. Futher properties
list = {text} if unused then equal to long
If specied this will be written in the list as description instead of the long form if the corre-
sponding list template supports it.
10
7. Using acronyms
foreign-babel = {language} (initially empty)
The babel [Bra22] or polyglossia [Cha21] language of the foreign form. This language is used
to wrap the entry with
\foreignlanguage{
language
}
if either babel or polyglossia is loaded.
You’ll need to take care that the corresponding language is loaded by babel or p olyglossia.
foreign-locale = {language} (initially empty)
The language name that is output when the option
locale/display
is used. If this property is
not set then the appropriate value might be derived from
foreign-babel
. See section 15 on
page 24 for details.
preset = {set name} (initially empty)
since v3.5
(2021/01/16)
Enables to load a set of properties that has been dened earlier with
\NewAcroPreset
, see
section 6.6.
uselist = {csv list of acronym ids} (initially empty)
since v3.5 If this property is given and all acronyms specied in this property have been used before the
rst time the current acronym is used it behaves as if it has been used before.
6.6. Presets
since v3.5
Sometimes it can be useful to have dierent kinds of acronyms or abbreviations or similar which
share a common set of properties. Such sets can be dened with these commands:
\NewAcroPreset{set name}{csv list of properties}
Denes the property set set name. Any valid property can be set in csv list of properties.
\RenewAcroPreset{set name}{csv list of properties}
Redenes the property set set name.
\DeclareAcroPreset{set name}{csv list of properties}
Denes or redenes the property set set name without checking.
7. Using acronyms
There are a number of commands to use acronyms with. Their names always follow the same
pattern which should make their usage intuitive immediately.
All of these commands have a starred form which means “don’t count this as usage”. All of
these commands also have an optional argument that allows to set options for that usage only.
\acrocommand
*
[options ]{id}
This is the general syntax of all of the commands listed below. The star and the optional
argument is left way for the sake of readability. A command
\acrocommand
does not actually
exist.
\ac{id} \Ac{id} \acp{id} \Acp{id} \iac{id} \Iac{id}
\ac
prints the acronym
id
, the rst time with full description and every subsequent use only
the abbreviated form.
\Ac
does the same but uppercases the rst letter – this may be needed
11
7. Using acronyms
at the beginning of a sentence. The commands
\acp
and
\Acp
, resp., print the corresponding
plural forms. The commands \iac and \Iac, resp., print indenite forms.
\acs{id} \Acs{id} \acsp{id} \Acsp{id} \iacs{id} \Iacs{id}
\acs
prints the short form of the acronym
id
.
\Acs
does the same but uppercases the rst letter.
The commands
\acsp
and
\Acsp
, resp., print the corresponding plural forms. The commands
\iacs and \Iacs, resp., print indenite forms.
\acl{id} \Acl{id} \aclp{id} \Aclp{id} \iacl{id} \Iacl{id}
\acl
prints the long form of the acronym
id
.
\Acl
does the same but uppercases the rst letter.
The commands
\aclp
and
\Aclp
, resp., print the corresponding plural forms. The commands
\iacl and \Iacl, resp., print indenite forms.
\aca{id} \Aca{id} \acap{id} \Acap{id} \iaca{id} \Iaca{id}
\aca
prints the alternative short form of the acronym
id
.
\Aca
does the same but uppercases
the rst letter. The commands
\acap
and
\Acap
, resp., print the corresponding plural forms.
The commands \iaca and \Iaca, resp., print indenite forms.
\acf{id} \Acf{id} \acfp{id} \Acfp{id} \iacf{id} \Iacf{id}
\acf
prints the full form of the acronym
id
.
\Acf
does the same but uppercases the rst letter.
The commands
\acfp
and
\Acfp
, resp., print the corresponding plural forms. The commands
\iacf and \Iacf, resp., print indenite forms.
The usage should be clear. Let’s assume you have dened an acronym UFO like this:
1 \DeclareAcronym{ufo}{
2 short = UFO ,
3 long = unidentified flying object ,
4 foreign = unbekanntes Flugobjekt ,
5 foreign-plural-form = unbekannte Flugobjekte ,
6 foreign-babel = ngerman ,
7 long-indefinite = an
8 }
The typical outputs look like this:
1 \ac{ufo} \\
2 \iac{ufo} \\
3 \iacl{ufo} \\
4 \Iacf{ufo} \\
5 \acfp{ufo}
unidentied ying object ( unbekanntes Flugobjekt, UFO)
a UFO
an unidentied ying object
12
8. Alternative short forms
An unidentied ying object ( unbekanntes Flugobjekt, UFO)
unidentied ying objects ( unbekannte Flugobjekte, UFOs)
!
In a number of contexts all acronym commands act as if their starred form is used: in the
table of contents, in the list of gures, and in the list of tables. The same is true for oats
and the measuring phase of common table environments like tabularx or ltxtable.
8. Alternative short forms
Sometimes expressions have two dierent short forms. And example might be
JPEG
which also
often is JPG. This is what the property alt is there for.
alt = {text}
Alternative short form.
Let’s dene JPEG:
1 \DeclareAcronym{jpg}{
2 short = JPEG ,
3 sort = jpeg ,
4 alt = JPG ,
5 long = Joint Photographic Experts Group
6 }
And let’s see how to use it:
1 \ac{jpg} \\
2 \ac{jpg} \\
3 \aca{jpg}
Joint Photographic Experts Group ( JPEG or JPG)
JPEG
JPG
As you can see the full form shows both short forms of the acronym. This could be changed
by altering the template for the full form, see section 25 on page 38 and section 9 on the next
page. The alternative form is also printed in the list of acronyms, see section A on page 58. This
can also be changed by altering the template for the list, again see section 25.
13
9. The rst or full appearance
9. The first or full appearance
If an acronym is used for the rst time with
\ac
(after any number of usages with the starred
forms of the usage commands listed in section 7 on page 11) or if an acronym is used
\acf
, then
the rst or full appearance of the acronym is printed.1
The rst or full appearance of an acronym is determined by this option:
first-style = long-short|short-long|short|long|footnote Initial: long-short
The style of the rst appearance of the acronym. This options sets the appearance for all
acronyms. Available options in reality are the names of all dened templates of the type
acronym. All pre-dened templates can be found in section 25.1 on page 38.
subsequent-style = long-short|short-long|short|long|footnote Initial: short
since v3.4
The style of the appearance of the acronym after the rst time. This options sets the appearance
for all acronyms. Available options in reality are the names of all dened templates of the type
acronym. All pre-dened templates can be found in section 25.1 on page 38.
It might be desirable to set the rst appearance of an acronym individually. This is possible by
setting the corresponding property:
first-style = long-short|short-long|short|long|footnote (initially empty)
The style of the rst appearance of the acronym.
Let’s again look at an example:
1 \acf[first-style=long-short]{cd} \\
2 \acf[first-style=short-long]{cd} \\
3 \acf[first-style=footnote]{cd} \\
4 \acf[first-style=long]{cd} \\
5 \acf[first-style=short]{cd}
compact disc ( CD)
CD ( compact disc)
CD
a
compact disc
CD
a. compact disc
This also demonstrates the use of the optional argument.
An example of an abbreviation that should have
long
as rst appearance might be
etc.
,
dened like this
1 \DeclareAcronym{etc}{
2 short = etc\acdot ,
3 long = et cetera ,
4 format = \textit ,
5 first-style = long ,
6 plural =
7 }
1. This usually requires at least two L
A
T
E
X runs until it is stable.
14
10. Single appearances of an acronym
and output like this:
1 \ac{etc}, \ac{etc} \ac{etc}.
et cetera, etc. etc.
The command
\acdot
is explained in section 19 on page 30. Basically it checks if a dot follows
and outputs a dot if not.
10. Single appearances of an acronym
If an acronym is used only once (not counting usages with the starred forms of the usage
commands listed in section 7 on page 11), then the single appearance of the acronym is printed.
2
The single appearance of an acronym is determined by this option:
single = true|false|number Initial: false
This option determines whether a single appearance of an acronym counts as usage. It might be
desirable in such cases that an acronym is simply printed as long form and not added to the list
of acronym. This is what this option does. With
number
the minimal number of usages can
be given that needs to be exceeded. single = {1} is the same as single = {true}.
single-style = long-short|short-long|short|long|footnote Initial: long
The style of the single appearance of an acronym. Can be used to determine how a single
appearance is printed if the option
single
has been set. This option sets the appearance for
all acronyms. Available options in reality are the names of all dened templates of the type
acronym. All pre-dened templates can be found in section 25.1 on page 38.
If you like you can also set the single appearance of an acronym individually:
single = {text} (initially empty)
If provided
text
will be used instead of whatever template (“style”) has been set for the single
appearance if the acronym is only used a single time and the option single has been set.3
single-style = long-short|short-long|short|long|footnote (initially empty)
The style of the single appearance of the acronym.
Let’s again look at an example. The acronym PNG is dened as follows:
1 \DeclareAcronym{png}{
2 short = PNG ,
3 long = Portable Network Graphics ,
4 first-style = short-long ,
5 single-style = short
6 }
2. This usually requires at least two L
A
T
E
X runs until it is stable.
3. Actually the template single is used which typesets the single property.
15
11. Printing the list
And it is used only once in this manual4:
1 \ac{png}
PNG
Please be aware that \acf would still print the full form, of course.
11. Printing the list
11.1. The main command and its options
The main idea is simple: just place
\printacronyms[options ]
where you want the list to appear. It may require several (most times two) L
A
T
E
X runs for it to
stabilize so look out for any warnings from acro requiring to re-run.
The options controlling the list are these:
template = description|tabular|longtable|supertabular|tabularray|lof|toclist/ Initial: description
Choose the template to create the list with. See more on this in sections 25 on page 38 and A on
page 54.
sort = true|falselist/ Initial: true
Decide whether to sort the list of acronyms alphabetically or to print it in order of denition.
display = all|usedlist/ Initial: used
Decide whether to print only the acronyms actually used in the document or all acronyms
which have been declared in the preamble.
exclude = {csv list of tags}list/ (initially empty)
Set a list of tags to exclude from the list. Only acronyms not belonging to one of these tags will
be included.
include = {csv list of tags}list/ (initially empty)
Set a list of tags to include in the list. Only acronyms belonging to one of these tags will be
included.
add = true|falselist/ (initially empty)
since v3.4 Set a list of tags to include in the list. These acronyms will be included in any case.
heading = none|section|section
*
|chapter|chapter
*
list/
Choose the heading template for the list of acronyms.
This only has an eect if the list template supports it. All pre-dened templates do support it.
4.
You will nd it in the list of acronyms in section A nonetheless as this document does
list/display = {all}
.
16
11. Printing the list
name = {text}list/ Initial: \acrotranslate{list-name}
Overwrites the text which is used in the heading.
This only has an eect if the list template supports heading templates and the heading templates
support it. All pre-dened heading templates do support this.
preamble = {text}list/ (initially empty)
Set a preamble to be placed between heading and actual list.
This only has an eect if the list template supports it. All pre-dened templates do support it.
display = true|falselist/locale/ Initial: false
This options determines whether the language of the foreign form is printed or not.
This only has an eect if the list template supports foreign forms. All pre-dened templates do
support them.
All these options can be set with
\acsetup
globally or locally as options to
\printacronyms
.
In the latter case omit the leading list:
1 \acsetup{list/display=all,list/exclude=units}
2 or
3 \printacronyms[display=all,exclude=units]
11.2. Add page numbers to the list
If you want to include the page numbers where the acronyms have been used in the list of
acronym you can use these options:
display = first|all|nonepages/ Initial: none
Decide whether to include page numbers in the list of acroynms and whether to add the rst
page or every page. When you choose
first
and have hyperref loaded you will also get a
backlink to that page.
use = true|falsepages/seq/ Initial: true
Turns a two-page range into
num
f. (sequens) and a three-page range into
num
. (sequentes)
when set to true.
pre = {code}pages/seq/ Initial: \,
code is inserted between the page number and the sequens or sequentes symbol.
threshold = {num}pages/seq/ Initial: 3
The threshold for a page range to be turned into sequentes. A page range above the threshold is
still typeset as a range: num1num2.
fill = {code}pages/ Initial: \acrodotfill
This is the code that is placed between acronym description and actual page numbers.
17
11. Printing the list
name = true|falsepages/ Initial: false
If set to true the page numbers are preceded with p. or pp.
\acrodotfill
since v3.5
Creates a dotted line like those in the table of contents. If the macro
\cftdotfill
is dened it
is equal to \cftdotfill{\cftdotsep}.
Additionally
since v3.3
(2020/11/21)
to setting these options with
\acsetup
they can be set as options to
\printacronyms
:
1 \printacronyms[pages={display=all,seq/use=false}]
11.3. Filter lists using tags
With the property
tag
you can assign one or more tags to an acronym. These tags can be used
to lter the list of acronyms.
tag = {csv list} (initially empty)
The tag(s) of an acronym.
exclude = {csv list of tags}list/ (initially empty)
Set a list of tags to exclude from the list. Only acronyms not belonging to one of these tags will
be included.
include = {csv list of tags}list/ (initially empty)
Set a list of tags to include in the list. Only acronyms belonging to one of these tags will be
included.
Let’s look at an example. This manual declares these two acronyms with the tag city:
1 \DeclareAcronym{la}{
2 short = LA ,
3 long = Los Angeles,
4 plural = ,
5 tag = city
6 }
7 \DeclareAcronym{ny}{
8 short = NY ,
9 long = New York ,
10 plural = ,
11 tag = city
12 }
We can now use this to either print a list without these acronyms by saying
18
11. Printing the list
1 \printacronyms[exclude=city]
or print a list with only these acronyms with
1 \printacronyms[include=city,heading=none]
LA Los Angeles
NY New York . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
!
If you use both
exclude
and
include
and list a tag in both
exclude
takes precedence
over include.
1 \printacronyms[exclude={a,b},include={b,c}]
would only print acronyms with tag c.
11.4. Local lists
Maybe you like a list of acronyms for each chapter in a book which only lists the acronyms
used within this chapter. You need to do three things: set
use = true|falsebarriers/ Initial: false
this option to true, place
\acbarrier
before a new chapter starts (this is not necessary for the rst chapter), and use
\printacronyms
with the option
local = true|falselist/ Initial: false
or set this option once in the preamble with \acsetup so it is applied to every list.
Please read more on barriers in section 18 on page 29.
!
Please don’t use page numbers together with local lists for the time being. If an acronym
appears in more than one list both lists would contain the same page numbers anstead
of only the ones local to barriers.
For the similar reasons please also don’t use make-links together with local lists.
This might be resolved on day.
19
12. Formatting
12. Formaing
acro has a number of options and parameters which can be used to inuence the formatting
of acronyms.
format = {code} (initially empty)
Sets the format for both the short and the long form.
short = {code}format/ (initially empty)
Sets the format for the short form.
long = {code}format/ (initially empty)
Sets the format for the long form.
first-long = {code}format/ (initially empty)
Sets the format for the rst appearance of the long form.
alt = {code}format/ (initially empty)
Sets the format for the alternative form.
extra = {code}format/ (initially empty)
Sets the format for the extra information.
foreign = {code}format/ (initially empty)
Sets the format for the foreign form.
list = {code}format/ (initially empty)
Sets the format for the long form in the list form.
While this options inuence the formatting of the acronyms globally you can also give each
acronym its own formatting individually:
format = {code} (initially empty)
The format used for both short and long form of the acronym.
short-format = {code} if unused then equal to format
The format used for the short form of the acronym.
long-format = {code} if unused then equal to format
The format used for the long form of the acronym.
first-long-format = {code} if unused then equal to long-format
The format used for the rst appearance of the long form of the acronym.
alt-format = {code} if unused then equal to short-format
The format used for the alternative form of the acronym. If this is not given the short format
will be used.
extra-format = {code} (initially empty)
The format used for the additional information of the acronym.
20
13. Plural forms and other endings
foreign-format = {code} (initially empty)
The format used for the foreign form of the acronym.
single-format = {code} if unused then equal to long-format
The format used for the acronym if the acronym is only used a single time.
list-format = {code} if unused then equal to long-format
The format used for the long form of the acronym in the list if the list template supports it. All
pre-dened list templates do support it.
first-style = long-short|short-long|short|long|footnote (initially empty)
The style of the rst appearance of the acronym, see also section 9 on page 14.
single-style = long-short|short-long|short|long|footnote (initially empty)
The style of a single appearance of the acronym, see also section 10 on page 15.
Per
Changed in
version v3.3
default the individual formatting instructions replace the global ones. This can be changed
through the option
replace = true|falseformat/ Initial: true
With this option active local options will replace the global ones.
Let’s see an example:
1 \DeclareAcronym{pdf}{
2 short = pdf ,
3 long = Portable Document Format ,
4 short-format = \scshape
5 }
1 \acsetup{format = \itshape}
2 \acf{pdf} \par
3 \acsetup{format/replace=false}
4 \acf{pdf}
Portable Document Format ( pdf)
Portable Document Format ( pdf)
13. Plural forms and other endings
13.1. The plural ending and the plural form
Not in all languages plural forms are as easy as always appending an “s”. Not even English.
Sometimes there’s other endings instead.
5
This is why acro has quite a number of dierent
5. German is full of such examples.
21
13. Plural forms and other endings
properties related to plural forms or endings:
short-plural = {text} Initial: s
The plural ending appended to the short form.
short-plural-form = {text} (initially empty)
The plural short form of the acronym; replaces the short form when used instead of appending
the plural ending.
long-plural = {text} Initial: s
The plural ending appended to the long form.
long-plural-form = {text} (initially empty)
Plural long form of the acronym; replaces the long form when used instead of appending the
plural ending.
alt-plural = {text} Initial: s
The plural ending appended to the alternative form.
alt-plural-form = {text} (initially empty)
The plural alternative form of the acronym; replaces the alternative form when used instead of
appending the plural ending.
foreign-plural = {text} Initial: s
The plural ending appended to the foreign form.
foreign-plural-form = {text} (initially empty)
Plural foreign form of the acronym; replaces the foreign form when used instead of appending
the plural ending.
There are two options which allow to change the default values for the whole document:
short-plural-ending = {text} Initial: s
Denes the plural ending for the short forms to be text.
long-plural-ending = {text} Initial: s
Denes the plural ending for the long forms to be text.
Now let’s see two simple examples demonstrating the two dierent kinds of plural settings:
1 \DeclareAcronym{sw}{
2 short = SW ,
3 long = Sammelwerk ,
4 long-plural = e
5 }
6 \DeclareAcronym{MP}{
7 short = MP ,
8 long = Member of Parliament ,
22
14. Articles
9 plural-form = Members of Parliament
10 }
The rst one has another plural ending than the usual “s”. The second one has a dierent
plural form altogether because appending an “s” would give a wrong form:
1 \acfp{sw} \par
2 \acfp{MP}
Sammelwerke ( SWs)
Members of Parliament ( MPs)
13.2. Other endings
Besides plural endings there are other ones like the genitive case, for example. This is why
acro generalized the concept. Section 26 on page 46 explains in detail how to dene and use
additional endings.
14. Articles
14.1. Indefinite forms
Indenite forms can be a problem if the short and the long form of acronyms have dierent
indenite articles.6
1 \acreset{ufo}%
2 a \ac{ufo} \par
3 an \ac{ufo}
a
unidentied ying object (
unbekanntes
Flugobjekt, UFO)
an UFO
And what good would it be to use a package like acro if you have to keep track of rst and
second uses, anyway? This is why
UFO
should be dened like we did on page 12. We then can
just use the dedicated commands and let them decide for us:
1 \acreset{ufo}%
2 \iac{ufo} \par
3 \iac{ufo}
an unidentied ying object (
unbekanntes
Flugobjekt, UFO)
a UFO
The commands which also output the indenite article all start with an “i” and have all
been described in section 7 on page 11 already:
\iac
,
\Iac
,
\iacs
,
\Iacs
,
\iacl
,
\Iacl
,
\iaca
,
\Iaca, \iacf, and \Iacf.
6. This may very well be a language specic issue.
23
15. Foreign language acronyms
14.2. Other articles
There might be cases – most likely depending on your language – when you would like to have
other articles behaving similar to the indenite ones. Section 27 explains in detail how to dene
and use additional articles.
15. Foreign language acronyms
Sometimes and in some elds more often than in others abbreviations are used that are derived
from another language. acro provides a number of properties for such cases:
foreign = {long form in foreign language} (initially empty)
Can be useful when dealing with acronyms in foreign languages, see section 15 for details.
foreign-plural = {text} Initial: s
The plural ending appended to the foreign form.
foreign-plural-form = {text} (initially empty)
Plural foreign form of the acronym; replaces the foreign form when used instead of appending
the plural ending.
foreign-format = {code} (initially empty)
The format used for the foreign form of the acronym.
foreign-babel = {language} (initially empty)
The babel or polyglossia language of the foreign form. This language is used to wrap the entry
with
\foreignlanguage{
language
}
if either babel or polyglossia is loaded. You’ll need to
take care that the corresponding language is loaded by babel or polyglossia.
foreign-locale = {language} (initially empty)
The language name that is output when the option
locale/display
is used. If this property is
not set then the appropriate value might be derived from foreign-babel.
There are also some options:
display = true|falseforeign/ Initial: true
Determine whether to hide or display the foreign form.
display = true|falselist/foreign/ Initial: true
since v3.2
(2020/05/10)
Determine whether to hide or display the foreign form in the list of acronyms.
display = true|falselocale/ Initial: false
This options determines whether the language of the foreign form is printed or not when the
full form of the acronym is printed.
display = true|falselist/locale/ Initial: false
The same but for the list of acronyms.
24
15. Foreign language acronyms
format = {code}locale/ Initial: \em\text
_
titlecase
_
first:n
Determines how said language is formatted when printed. The last command in
code
may
take a mandatory argument.
Let’s say you are writing a German document and are using the abbreviation
ECU
for
Steuergerät which stems from the English “Electronic Control Unit”. Then you can dene it as
follows:
1 \DeclareAcronym{ecu}{
2 short = ECU ,
3 long = Steuergerät ,
4 foreign = Electronic Control Unit ,
5 foreign-babel = english ,
6 foreign-locale = englisch
7 }
Now the abbreviation is introduced so that everyone understands the confusion:
1 \ac{ecu} \par
2 \acsetup{locale/display,locale/format=\emph}
3 \acf{ecu}
Steuergerät ( Electronic Control Unit, ECU)
Steuergerät (englisch: Electronic Control Unit, ECU)
The property
foreign-babel
is used for ensuring correct hyphenation as long as you use
babel or polyglossia and load the corresponding language, too. If you are writing your document
in English then acro is able to deduce the language used for the “locale” eld by itself:
1 \DeclareAcronym{eg}{
2 short = e.g\acdot ,
3 long = for example ,
4 foreign = exempli gratia ,
5 foreign-babel = latin ,
6 short-format = \textit ,
7 foreign-format = \textit
8 }
1 \acsetup{locale/display,first-style=short-long}
2 \acf{eg}
25
16. Uppercasing
e.g. (Latin: exempli gratia, for example)
16. Uppercasing
Depending on the kind of abbreviations you have and depending on their denition and maybe
also depending on your language the long and sometimes also the short forms need to start
with an uppercase letter at the beginning of a sentence while it starts with a lowercase letter
otherwise.
For this acr o provides uppercase versions for all predened acronym commands listed in
section 7. The usage is self-explaining:
1 There was \iacl{ufo} hovering \dots \par
2 \Aclp{ufo} were hovering \dots
There was an unidentied ying object hovering .. .
Unidentied ying objects were hovering .. .
If you dened them with uppercase letters to begin with then these commands have no eect,
of course.
1 \DeclareAcronym{ufo}{
2 short = UFO ,
3 long = Unidentified Flying Object
4 }
There are a number of options to control the uppercasing behavior:
firstuppercase/
The default setting. Converts the rst letter to uppercase.
titleuppercase/
This is just a synonym of first.
alluppercase/
Converts all letters to uppercase.
noneuppercase/
Converts all letters to lowercase
cmd = {command}uppercase/
All of the above options just choose the right command using this option internally. This means
you can choose a dierent behavior altogether by setting this option to something else. For
26
17. Citing and indexing
example you could use
\capitalisewords
from the package mfirstuc [Tal21]. The command
needs to have one mandatory argument.
There may be reasons to exclude short forms from being uppercased. This can be controlled
by this option:
short = true|falseuppercase/ Initial: true
It allows you to disable the mechanism for the short and alt properties.
17. Citing and indexing
17.1. Citing
Acronyms can be given cite keys. This makes it possible to add a citation reference automatically
when the acronym is used for the rst time.
Let’s see an example rst. NY has been dened like this:
1 \DeclareAcronym{ny}{
2 short = NY ,
3 long = New York ,
4 plural = ,
5 tag = city ,
6 cite = NewYork
7 }
The property cite will now trigger acro to input \cite{NewYork} after the acronym:
1 \ac{ny}
New York ( NY) [Wik20]
Depending on the citation style (and probably other factors, too) it might be desirable to add
the citation rather inside the parentheses together with the short form of the acronym and even
cited with a dierent command. For cases like these acro oers a number of options:
cmd = {citation command}cite/ Initial: \cite
Choose the command with which citations ar printed.
group = true|falsecite/ Initial: false
Decide whether to group citations with the short form in the parentheses. The template must
support this. acr o’s pre-dened templates do support it.
display = first|all|nonecite/ Initial: first
Decide whether to output the citation in the rst/full usage only or always or never.
pre = {text}cite/ Initial: \nobreakspace
Arbitrary code directly output before the citation.
27
17. Citing and indexing
cmd = {citation command}cite/group/ Initial: \cite
Choose the command with which grouped citations are printed.
pre = {text}cite/group/ Initial: ,
Arbitrary code directly output before the citation in the grouped case.
If for example you use biblatex’s
authoryear
style [Leh+22] you might want to have settings
like these:
1 \acsetup{
2 cite/group = true ,
3 cite/cmd = \parencite ,
4 cite/group/cmd = \cite
5 }
1 \acsetup{cite/display = all}
2 \acf{ny} \\
3 \ac{ny}
New York (NY, Wikipedia 2020)
NY (Wikipedia 2020)
17.2. Indexing
Maybe you want to add your acronyms to an index. In that case it is probably desirable to let
acro make this automatically. In the simplest case just enable it:
use = true|false|indexedindex/ Initial: false
Changed in
version v3.5
Enable indexing. If
indexed
is chosen only the acronyms for which the property
index
has
been set are indexed. With true all acronyms are indexed.
cmd = {index command}index/ Initial: \index
Choose a command for indexing.
disable = {code}index/ Initial: \def\@{}
Sometimes it is desirable to change the meaning of a command inside an index entry. For the
entries created by acro this can be achieved with this option.
clearindex/
This option clears the disable list.
While these options set global behavior there are also properties to set them for an acronym
individually.
28
18. Barriers
index = {text} (initially empty)
This property allows to overwrite the automatic index entry with an arbitrary one.
index-sort = {text} if unused then equal to sort
If you use the option
index
every occurrence of an acronym is recorded to the index and sorted
by its short form or (if set) by the value of the
sort
property. This property allows to set an
individual sorting option for the index.
no-index = true|false Initial: true
This property allows to exclude an acronym from being indexed.
This manual is an example for the indexing feature. Each acronym from section A on page 58
that has been used in this manual is also listed in the index.
18. Barriers
The main purpose of the concept of barriers is to be able to have local lists of acronyms. This
concept does a little bit more than that, though, which should become clear from the following
options:
use = true|falsebarriers/ Initial: false
Activate usage of barriers. Otherwise the command
\acbarrier
just does nothing except
writing a warning in the log.
reset = true|falsebarriers/ Initial: false
When set to true the acronym usage is reset for all acronyms at a barrier. The rst use of \ac
after a barrier will again look like the \acf.
single = true|falsebarriers/ Initial: false
When set to
true
a single usage of an acronym between two barriers with
\ac
will look according
to the chosen style as explained in section 10 on page 15. This option only has an eect when
the option single is used as well.
There are two natural barriers in a document:
\begin{document}
and
\end{document}
. You
can add an arbitrary number of additional barriers with
\acbarrier
For this command to have any eect you must set barriers/use to true!
!
It usually takes two or even three L
A
T
E
X runs until acronym usages between barriers are
properly counted.
29
19. Trailing tokens
19. Trailing tokens
19.1. What is it about?
acro has the possibility to look ahead for certain tokens and switch a boolean variable if it
nds them. Per default acro knows about three tokens: the “
dot
” (
.
), the “
dash
” (
-
) and the
babel-hyphen” (\babelhyphen).
You have seen an example for this already:
1 \DeclareAcronym{etc}{
2 short = etc\acdot ,
3 long = et cetera ,
4 format = \textit ,
5 first-style = long ,
6 plural =
7 }
The macro \acdot recognizes if a dot is directly following. It only prints a dot if it doesn’t.
1 \ac{etc} and \ac{etc}.
etc. and etc.
Another example: let’s say you’re a German scientist, you have
1 \DeclareAcronym{PU}{
2 short = PU ,
3 long = Polyurethan ,
4 long-plural = e
5 }
and you use it the rst time like this:
\ac{PU}-Hartschaum
then according to German
orthography and typesetting rules this should be printed as
“Polyurethan(PU)-Hartschaum”
i. e., with no space between long and short form:
1 \acf{PU}-Hartschaum
Polyurethan( PU)-Hartschaum
This works because the template
long-short7
uses
\acspace
at the appropriate place and
the manual setup does
7. The template that is used by default for the rst appearance.
30
19. Trailing tokens
1 \acsetup{trailing/activate = dash}
\acspace looks ahead for a trailing dash and adds a space it it doesn’t nd it.
19.2. How does it work?
Tokens to look for can be dened and activated through the following options:
define = token{name}trailing/
Denes token name and tells acro look for token if name is activated.
activate = {csv list of token names}trailing/
Tell acro to look for trailing tokens. This is done by giving a csv list of the internal names of
the tokens. Per default only dot is activated.
deactivate = {csv list of token names}trailing/
Tell acro not to look for trailing tokens. This is done by giving a csv list of the internal names
of the tokens.
The package itself does this:
1 \acsetup{
2 trailing/define = . {dot} ,
3 trailing/define = {, {comma}} ,
4 trailing/define = - {dash}
5 trailing/define = \babelhyphen {babel-hyphen} ,
6 trailing/activate = {dot,comma}
7 }
In order to make use of this mechanism there is the following command:
\aciftrailing{csv list of token names}{true}{false}
Check if one of the tokens listed in
csv list of token names
is following and either place
true
or false in the input stream.
This command is used to dene the two commands you already know:
\acdot
Inserts \abbrdot if no dot follows.
\acspace
Inserts a \space if no dash or babel-hyphen follows.
\abbrdot
Inserts .\@
The denitions are equivalent to the following code:
31
20. Using or resetting acronyms
1 \newcommand
*
\acdot{\aciftrailing{dot}{}{\abbrdot}}
2 \newcommand
*
\acspace{\aciftrailing{dash,babel-hyphen}{}{\space}}
You are of course free to redene them according to your needs.
20. Using or reseing acronyms
Sometimes it is necessary to mark an acronym as used before it actually has been used or to
mark an acronym as unused even though it has been used. You have already seen one of the
commands which make it possible:
\acuse{csv list of acronym ids}
Every acronym given in the list will be marked as used.
\acuseall
Every acronym is marked as used.
\acreset{csv list of acronym ids}
Every acronym given in the list will be reset.
\acresetall
Every acronym will be reset.
!
In a number of contexts all acronym commands act as if their starred form is used: in the
table of contents, in the list of gures, and in the list of tables. The same is true for oats
and the measuring phase of common table environments like tabularx or ltxtable.
21. Bookmarks, backlinks and accessibility support
21.1. Backlinks
When acro is used together with the package hyperref [ORT21] then you can make use of the
following option:
make-links = true|false Initial: false
If this is activated then every short or alternative appearance of an acronym will be linked to its
description in the list of acronyms.
link-only-first = true|false Initial: false
since v3.5
If this is activated in addition to
make-links
then only the rst short or alternative appearance
of an acronym will be linked to its description in the list of acronyms.
32
21. Bookmarks, backlinks and accessibility support
!
This will fail miserably together with local lists if an acronym appears in more than one
list. This might be resolved on day.
21.2. Bookmarks
Since bookmarks (which are created by the hyperref or the bo okmark packages [Obe20]) can only
contain simple text acro simplies the output of the acronym commands when they appear in
a bookmark. Although the output can be modied with a dedicated template-mechanism there is
no user interface at the moment. Contact me at
https://github.com/cgnieder/acro/issues
if you need it.
Acronyms have the property pdfstring:
pdfstring = {pdfstring} if unused then equal to short
Used as
pdf
string replacement for the short form in bookmarks when used together with the
hyperref [ORT21] or the bookmark package [Obe20].
This is for acronyms like
1 \DeclareAcronym{pdf}{
2 short = pdf ,
3 long = Portable Document Format ,
4 short-format = \scshape ,
5 pdfstring = PDF
6 }
where the bookmark would write “pdf” instead of “pdf” if the property where not set.
21.3. pdf comments
Some people like see comments in the
pdf
when they’re hovering with the mouse over the
short form of an acronym. This can be achieved.
use = true|falsepdfcomments/ Initial: false
This enables the creation of pdf comments.
cmd = {code}pdfcomments/ Initial: \pdftooltip{#1}{#2}
Chooses the command for actually creating the comment. You must refer to the printed output
in the
pdf
with
#1
and to the comment with
#2
. The default command
\pdftooltip
is provided
by the package pdfcomment [Kle18]. You must load it in order to use it.
Only acronyms where the corresponding property has been set will get comments:
pdfcomment = {text}
Sets a tooltip description for an acronym.
33
21. Bookmarks, backlinks and accessibility support
21.4. Accessibility support
acro supports the accsupp package [Obe19] when you also load hyperref. Then acro uses
1 \BeginAccSupp{ method = pdfstringdef , ActualText = {PDF} }
2 \textsc{pdf}%
3 \EndAccSupp{}%
for an acronym dened like this:
1 \DeclareAcronym{pdf}{
2 short = pdf ,
3 long = Portable Document Format ,
4 short-format = \scshape ,
5 pdfstring = PDF ,
6 short-acc = PDF
7 }
Without accessibility support when a string like “pdf” is copied from the
pdf
and pasted
you get “pdf. If you don’t care about that simply don’t load accsupp and ignore this section.
You have a few options to be able to manipulate what acro does here but I recommend to
stay with the default settings:
use = true|falseaccsupp/ Initial: true
When this is true and the package accsupp is loaded then accessibility support is used.
options = {text}accsupp/ (initially empty)
Additional option to be passed to
\BeginAccSupp
. See the accsupp manual for possible settings.
method = {method}accsupp/ Initial: pdfstringdef
The method used by \BeginAccSupp. See the accsupp manual for possible values.
The ActualText” that is used by acro always defaults to the values of the acronym properties
themselves. You can choose these values individually by setting the corresponding properties:
short-acc = {text} if unused then equal to short
Sets the
ActualText
property as presented by the accsupp package for the short form of the
acronym.
long-acc = {text} if unused then equal to long
Sets the
ActualText
property as presented by the accsupp package for the long form of the
acronym.
alt-acc = {text} if unused then equal to alt
Sets the
ActualText
property as presented by the accsupp package for the alternative short
form of the acronym.
34
22. Localisation
foreign-acc = {text} if unused then equal to foreign
Sets the
ActualText
property as presented by the accsupp package for the foreign form of the
acronym.
extra-acc = {text} if unused then equal to extra
Sets the
ActualText
property as presented by the accsupp package for the extra information of
the acronym.
single-acc = {text} if unused then equal to long-acc
Sets the
ActualText
property as presented by the accsupp package for a single appearance of
the acronym.
list-acc = {text} if unused then equal to list
Sets the
ActualText
property as presented by the accsupp package for the appearance in the
list of acronyms.
Extra care has to be taken for plural forms as these can not be picked up automatically right
now. You have to explicitly set them for the accessibility support, too:
1 \DeclareAcronym{ufo}{
2 short = UFO ,
3 long = unidentified flying object ,
4 foreign = unbekanntes Flugobjekt ,
5 foreign-plural-form = unbekannte Flugobjekte ,
6 foreign-acc-plural-form = unbekannte Flugobjekte ,
7 foreign-babel = ngerman ,
8 long-indefinite = an
9 }
!
Please note that this mechanism is disabled for inner acronyms if you have nested
denitions.
22. Localisation
There are places when acro uses text strings which depend on the language of the document.
In order to recognize the language from babel of polyglossia and print the strings in the correct
language acro uses the translations [Nie22].
If the language is detected incorrectly or you want acro to use another language than it
detects you can use the following option:
language = auto|language Initial: auto
The default setting
auto
lets acro detect the language setting automatically. Valid choices are
all language names known to the package translations. Mostly just type your language and it
should work.
35
23. Patches
Key English French German
list-name Acronyms Acronymes Abkürzungen
page p. p. S.
pages pp. p. S.
sequens f. sq. f.
sequentes . sqq. .
also also aussi auch
or or ou oder
and and et und
Tabl e 1: Available translation keywords.
acro only provides support for a handful of languages. You can easily teach acro your
language – see section 28 on page 48 – if it isn’t supported, yet.8
\acrotranslate{key}
This command fetches the translation of
key
for the current language. It is meant for usage in
template denitions.
Available keywords and their English, French, and German translations are shown in table 1.
23. Patches
In several situations it can lead to wrong results if acro marks an acronym as used too early
or at all. This is why it is possible to disable the mechanism which is responsible:
\acswitchoff
This disables the mechanism which marks acronyms as used. After this command every acronym
command like \ac acts like its starred version.
\acswitchon
This command enables the mechanism again.
In certain circumstances acro uses these commands itself. For example it is often preferable
that acronyms are not counted as used in oats, the table of contents or the lists of gures and
tables. This is why acro turns the mechanism o in these places.
Certain table environments typeset their contents twice for measurement purposes. acro
tries to disable the usage mechanism during these phases. The same is true for single line
captions from the caption package.
All these patches can be turned o:
floats = true|falsepatch/ Initial: true
En-/disable the floats patch.
8.
If you like you can always open an issue at
https://github.com/cgnieder/acro/issues
and provide your
translations so I can add them to ac r o.
36
lists = true|falsepatch/ Initial: true
En-/disable the lists patch for the table of contents, the list of gures and the list of tables.
tabularx = true|falsepatch/ Initial: true
En-/disable the tabularx patch.
longtable = true|falsepatch/ Initial: true
since v3.7
(2022/01/27)
En-/disable the longtable patch.
ltxtable = true|falsepatch/ Initial: true
En-/disable the ltxtable patch.
tabu = true|falsepatch/ Initial: true
En-/disable the tabu patch.
caption = true|falsepatch/ Initial: true
En-/disable the caption patch.
maketitle = true|falsepatch/ Initial: true
since v3.6 En-/disable the maketitle patch.
Part III.
Extending acro
24. Background
24.1. Templates
One of the core ideas of acro version 3.0 is the use of templates which manage how dierent
how anything is printed, from the output of
\ac
and friends to the list of acronyms. acro uses
three types of templates:
acronym
These templates can be used to dene acronym commands, see section 30 on page 50.
list These templates are used by the \printacronyms command.
heading
These templates only make sense if a list template uses
\acroheading
. This command
makes use of them.
How these templates are dened, which are available from the start and how they are used is
explained in section 25 on the following page.
37
25. Templates
24.2. Objects
acro uses certain kinds of objects in some of its commands. It is possible to denes own such
objects:
articles
Per default only the “indenite” article is dened. But it is possible to dene and add
other articles to acro. This is explained in section 14.2 on page 24.
endings
Per default only the ending “plural” is dened. But it is possible to dene and add
other endings to acro. This is explained in section 13.2 on page 23.
properties
You have already learned about properties. It is possible to dene and add further
acronym properties to acro. This is explained in section 29 on page 49.
translations
acro uses localisation strings at a number of places. It is possible to change
these strings and add further strings. This is explained in section 22 on page 35.
25. Templates
25.1. Pre-defined templates
25.1.1. Acronym templates
alt
Display the alternative form of an acronym.
first
This is a pseudo template which always displays what is set through the option
first-style
or
the property first-style.
footnote
A template for the rst appearance where the long form is printed in a footnote. This template
also contains a command
\acroendfootnotesince v3.7
at the end of the footnote text which in its default
denition does nothing.
long
Display the long form of an acronym.
long-short
A template for the rst appearance where the long form is printed and the short form follows
in parentheses.
short
Display the short form of an acronym.
short-long
A template for the rst appearance where the short form is printed and the long form follows
in parentheses.
38
25. Templates
single
A template which is used when the property
single
has been set and the option
single
has
been set and if the acronym is only used a single time.
show
A template which writes all properties of an acronym into the log le.
25.1.2. List templates
description
The default list style which places the short form in the item of a
description
environment
and adds the all the rest as description of the item.
lof
A style which mimicks the list of gures. This style does not support page ranges.
longtable
A style that uses a
longtable
environment for building the list. This needs the longtable
package [Car21] loaded.
supertabular
A
since v3.2
style that uses a
supertabular
environment for building the list. This needs the supertabular
package [BJ20] loaded.
tabularray
A
New
style that uses a custom table environment
actblr
based on
longtblr
. This needs the
tabularray package [Lyu21] loaded.
tabular
A style that uses a
tabular
environment for building the list. Since a
tabular
cannot break
across pages this is only suited for short lists.
toc
A style which mimicks the table of contents. This style does not support page ranges.
The templates tabular, longtable, and supertabular support the following option:
colspec = {value}templates/ Initial: >{\bfseries}lp{.7\linewidth}
New
It enables you to easily adjust the column specication of the standard table templates to your
needs. Please be aware that you need exactly two columns.
25.1.3. Heading templates
addchap
Only dened in a KOMA- Script class and if
\chapter
is dened. Uses
\addchap
for the heading.
addchap
*
since v3.6
Only dened in a KOMA-Script class and if
\chapter
is dened. Uses
\addchap
*
for the
heading.
39
25. Templates
addsec
Only dened in a KOMA-Script class. Uses \addsec for the heading.
addsec
*
since v3.6 Only dened in a KOMA-Script class. Uses \addsec
*
for the heading.
chapter
Only dened if \chapter is dened. Uses \chapter for the heading.
chapter
*
Uses \chapter
*
for the heading.
none
Displays nothing.
section
Uses \section for the heading.
section
*
Uses \section
*
for the heading.
25.2. Defining new templates
For the denition of templates these commends are available:
\NewAcroTemplate[type]{name}{code}
This denes a template of type
type
with the name
name
which inserts
code
when used. A
template of type type with name name must not exist. The default type is acronym.
\RenewAcroTemplate[type]{name}{code}
This re-denes a template of type
type
with the name
name
which inserts
code
when used.
A template of type type with name name must exist. The default type is acronym.
\SetupAcroTemplate[type]{name}{code}
Adds
since v3.2
code
to the beginning of the template
name
of type
type
. The default type is
acronym
.
\SetupNextAcroTemplate[type]{name}{code}
Adds
since v3.2
code
to the beginning of the next use of the template
name
of type
type
. The default
type is acronym.
\AcroTemplateType
Within a template this expands to the type of the current template.
\AcroTemplateName
Within a template this expands to the name of the current template.
How to use these commands is best explained by examples of how the existing templates
have been dened. The following sections will show several examples for their usage.
40
25. Templates
25.3. Commands to be used in template definitions
acro provides and uses a large number of commands that are meant to be used in template
denitions and that often are useless or will raise errors if used outside. Depending on their
purpose the commands can be used in dierent types of templates or only in certain types of
templates.
In the descriptions below a
indicates a fully expandable command when used in an
\edef
,
\write or in \expanded.
A
TF
always refers to a
true
and
false
branch and indicates that three commands exist:
one exactly as described, one with only the
T
and the
true
branch, and one with only the
F
and
the
false
branch. So
\acroifTF
means there is
\acroifTF
,
\acroifT
, and
\acroifF
, where
\acroifT and \acroifF each have an argument less than \acroifTF.
25.3.1. Commands for common uses
\acrolistname
Expands to whatever is currently set with list/name.
\acrowrite{property}
Prints the property
property
of the current acronym. Depending on the circumstances this
prints the property together with an article or an ending either in uppercase or lowercase form.
Default is the lowercase form without ending or article. The actual outcome is determined by
switches which are explained in section 30 on page 50.
\acroformat{type}{text}
This formats
text
according to
type
where
type
has either been set as property or as
option from the
format
module. Valid values are
short
,
long
,
alt
,
extra
,
foreign
,
list
, and
first-long.
\acroshow{property}
For debugging puposes: writes the property property of the current acronym to the log le.
\acroifTF{property}{true}{false}
Checks if the property
property
has been set for the current acronym and either leaves
true
or false in the input stream.
\acroifbooleanTF{property}{true}{false}
since v3.1
(2020/05/03)
Returns true if the boolean property property has been set to true and false otherwise.
\acroifallTF{properties}{true}{false}
Checks if all properties in the csv list
properties
have been set for the current acronym and
either leaves true or false in the input stream.
\acroifanyTF{properties}{true}{false}
Checks if any of the properties in the csv list
properties
has been set for the current acronym
and either leaves true or false in the input stream.
41
25. Templates
\acroiftagTF{tag}{true}{false}
Checks if the current acronym has been given the tag
tag
and either leaves
true
or
false
in
the input stream.
\acroifstarredTF{true}{false}
since v3.5
Checks if the current call of the acronym is a starred command or not and either leaves
true
or false in the input stream.
\AcroPropertiesMap{code}
Maps over all dened acronym properties. Within
code
you can refer to the current property
with #1.
\AcroAcronymsMap{code}
since v3.5
Maps over all dened acronyms. Within
code
you can refer to the current property with
#1
or
with \AcronymID.
\AcroMapBreak
since v3.5 Stops the map \AcroAcronymsMap and is usually used in combination with a boolean check.
\AcroPropertiesSet{id}{csv list of properties}
since v3.5 Allows the setting of properties of acronym id outside of \declareAcronym.
25.3.2. Commands for usage in acronym templates
\acroifusedTF{true}{false}
Checks if the current acronym has been used before and either leaves
true
or
false
in the
input stream.
\acroiffirstTF{true}{false}
Checks if the current usage of the current acronym is the rst time and either leaves true or
false in the input stream.
\acroifsingleTF{true}{false}
Checks if the current acronym is used a single time and either leaves
true
or
false
in the
input stream.
\acrogroupcite
25.3.3. Commands for usage in list templates
\acroifchapterTF{true}{false}
This just check if \chapter is dened. Used in the toc template.
\acroifpagesTF{true}{false}
This is
true
if the option
pages/display
is set, and the current acronym is not single, and has
at least one page number. false otherwise.
42
25. Templates
\acropages{rst}{range}
If
\acroifpagesTF
would be
false
this would do nothing. Otherwise, if
pages/display
is
first
it prints the rst page number, preceded by
rst
if
pages/name
is true. If
pages/display
is all it prints the page range, preceded by range if pages/name is true.
\acronopagerange
This disables page ranges. Used in the toc and lof templates.
\acroneedpages
since v3.4 This enables the page number displayed. Used in the toc and lof templates.
\acropagefill
If
\acroifpagesTF
would be
false
this would do nothing. Otherwise it prints whatever is set
by pages/fill.
\acronymsmap{code}
Maps over the acronyms in order of appearance in the list. Which acronyms these are depends
on settings. They might only have certain tags, be ones local to barriers, . . .
Within
code
#1
refers to the current
id
of the acronym. Also
\AcronymID
expands to the
current
id
. The latter is important for all the commands that check or print properties of
acronyms.
\acronymsmapTF{code}{true}{false}
This does the same as
\acronymsmap
and also leaves
true
in the input stream if the list is not
empty and false otherwise. This is useful to trigger a rerun warning.
\AcronymTable
This is an empty token list at the beginning of a list template.
\AcroAddRow{code}
Adds
code
to the right of
\AcronymTable
and ensures that
\AcronymID
has the correct global
denition for this code. With this the code for the
tabular
template and other table templates
can be built in a comfortable way.
\AcroNeedPackage{package }
Checks if the package package is loaded and throws an error otherwise.
\AcroRerun
Triggers acro to throw an “empty list” rerun warning.
25.4. New acronym templates
Some templates are quite short and self-explaining:
1 \NewAcroTemplate{short}{\acrowrite{short}}
Some are a little bit more elaborate:
43
25. Templates
1 \NewAcroTemplate{alt}{%
2 \acroifTF{alt}
3 {\acrowrite{alt}}
4 {\acrowrite{short}}%
5 }
And some templates need to do a lot more:
1 \NewAcroTemplate{long-short}{%
2 \acroiffirstTF{%
3 \acrowrite{long}%
4 \acspace(%
5 \acroifT{foreign}{\acrowrite{foreign}, }%
6 \acrowrite{short}%
7 \acroifT{alt}{ \acrotranslate{or} \acrowrite{alt}}%
8 \acrogroupcite
9 )%
10 }%
11 {\acrowrite{short}}%
12 }
25.5. New list templates
This section shows the denition of three templates: description, tabular, and toc.
First the description template:
1 \NewAcroTemplate[list]{description}{%
2 \acroheading
3 \acropreamble
4 \begin{description}
5 \acronymsmapF{%
6 \item[\acrowrite{short}\acroifT{alt}{/\acrowrite{alt}}]
7 \acrowrite{list}%
8 \acroifanyT{foreign,extra}{ (}%
9 \acroifT{foreign}{\acrowrite{foreign}\acroifT{extra}{, }}%
10 \acroifT{extra}{\acrowrite{extra}}%
11 \acroifanyT{foreign,extra}{)}%
12 \acropagefill
13 \acropages
14 {\acrotranslate{page}\nobreakspace}
15 {\acrotranslate{pages}\nobreakspace}%
16 }
17 {\item\AcroRerun}
18 \end{description}
44
25. Templates
19 }
The following shows how to dene templates using some kind of table environment. Special
care is necessary due to the way L
A
T
E
X tables work: rst the table body is built and only then
the table itself is printed:
1 \NewAcroTemplate[list]{tabular}{%
2 \AcroNeedPackage{array}%
3 \acronymsmapF{%
4 \AcroAddRow{
5 \acrowrite{short}%
6 \acroifT{alt}{/\acrowrite{alt}}
7 &
8 \acrowrite{list}%
9 \acroifanyT{foreign,extra}{ (}%
10 \acroifT{foreign}{\acrowrite{foreign}\acroifT{extra}{, }}%
11 \acroifT{extra}{\acrowrite{extra}}%
12 \acroifanyT{foreign,extra}{)}%
13 \acropagefill
14 \acropages
15 {\acrotranslate{page}\nobreakspace}
16 {\acrotranslate{pages}\nobreakspace}%
17 \tabularnewline
18 }%
19 }
20 {\AcroRerun}%
21 \acroheading
22 \acropreamble
23 \par\noindent
24 \begin{tabular}{>{\bfseries}lp{.7\linewidth}}
25 \AcronymTable
26 \end{tabular}
27 }
1 \NewAcroTemplate[list]{toc}{%
2 \acroheading
3 \acropreamble
4 \acronopagerange
5 \acronymsmapF{%
6 \contentsline{\acroifchapterTF{chapter}{section}}
7 {\acrowrite{short}\acroifT{alt}{/\acrowrite{alt}}}
8 {}{}%
9 \contentsline{\acroifchapterF{sub}section}
10 {
45
26. Endings
11 \acrowrite{list}%
12 \acroifT{foreign}{\acrowrite{foreign}\acroifT{extra}{, }}%
13 \acroifT{extra}{\acrowrite{extra}}%
14 \acroifanyT{foreign,extra}{)}%
15 }
16 {\acropages{}{}}
17 {}%
18 }
19 {\AcroRerun}
20 }
25.6. New heading templates
Let’s take a look at the two templates
section
and
section
*
which should give you enough
information to build your own:
1 \NewAcroTemplate[heading]{section} {\section {\acrolistname}}
2 \NewAcroTemplate[heading]{section
*
}{\section
*
{\acrolistname}}
26. Endings
Referring to section 13.2 on page 23 this section explains how to dene and use additional
endings.
\DeclareAcroEnding{name }{short default}{long default}
This command can be used to dene properties and options analoguous to the plural endings
which have been dened this way:
1 \DeclareAcroEnding{plural}{s}{s}
In general \DeclareAcroEnding{foo}{x}{y} denes these options
short-foo-ending = {value} Initial: x
long-foo-ending = {value} Initial: y
and these properties
short-foo = {value} Initial: x
short-foo-form = {value} (initially empty)
alt-foo = {value} Initial: x
46
27. Articles
alt-foo-form = {value} (initially empty)
long-foo = {value} Initial: y
long-foo-form = {value} (initially empty)
foreign-foo = {value} Initial: y
foreign-foo-form = {value} (initially empty)
single-foo = {value} Initial: y
single-foo-form = {value} (initially empty)
extra-foo = {value} Initial: y
extra-foo-form = {value} (initially empty)
In addition another command is dened which is meant to be used in template denitions.
\acrofoo
This command tells the template that the ending foo should be used.
Section 30 on page 50 has an example of how this can be used to dene a possessive ending and
commands that make use of them like this:
1 \acfg{MP}
Member’s of Parliament ( MP’s)
27. Articles
Referring to section 14.2 on page 24 this section explains how to dene and use additional
articles.
\DeclareAcroArticle{name }{default}
This command can be used to dene properties and options analoguous to the indenite article
which have been dened this way:
1 \DeclareAcroArticle{indefinite}{a}
In general \DeclareAcroArticle{foo}{x} denes the option
foo = {value} Initial: x
and these properties
short-foo = {value} Initial: x
47
28. Translations
alt-foo = {value} Initial: x
long-foo = {value} Initial: x
foreign-foo = {value} Initial: x
single-foo = {value} Initial: x
extra-foo = {value} Initial: x
In addition another command is dened which is meant to be used in template denitions.
\acrofoo
This command tells the template that the article foo should be used.
Section 30 on page 50 has examples of how this can be used to dene denite articles and
commands that make use of them like this:
1 \dacs{hadopi} \par
2 \dacl{hadopi}
l’HADOPI
la Haute Autorité pour la diusion des œuvres et la protection des droits sur l’Internet
28. Translations
For adding additional keywords, or for adding translations to existing keywords, or for changing
existing translations acro uses this command:
\DeclareAcroTranslation{key}{language=translation list}
With this command new translations keywords can be added and translations for existing
keywords can be changed.
\AddAcroTranslations{key}{language=translation list}
Basically the same but this time per language rather than per keyword.
As an example this is how acr o declares translations for the pages keyword:
1 \DeclareAcroTranslation{pages}{
2 Fallback = pp\abbrdot ,
3 English = pp\abbrdot ,
4 French = pp\abbrdot ,
5 German = S\abbrdot ,
6 Portuguese = pp\abbrdot
7 }
Translations for a language could be added this way9:
9. acro already has the translations for Italian.
48
29. Properties
1 \AddAcroTranslations{Italian}{
2 list-name = Acronimi ,
3 page = p\abbrdot ,
4 pages = pp\abbrdot ,
5 sequens = s\abbrdot ,
6 sequentes = ss\abbrdot ,
7 also = anche ,
8 and = e ,
9 or = o
10 }
The existing keywords had been shown in table 1 on page 36.
29. Properties
As you know from section 6 acro comes with quite a number of predened properties which
control various aspects of acronyms. However, there are cases when additional properties would
be nice to have and to use. It can be done with the following command:
\DeclareAcroProperty
*
?!|>{name }
This denes the new property
name
. The command has ve optional arguments most of
which you probably never need.
The optional star
*
ensures that each acronym gets a unique value for the property.
The optional question mark
?
creates a boolean property. That is a property that only can get
the values
true
or
false
and when it is used without value (not an empty value!) then
true
is
assumed.
The optional exclamation mark
!
creates a mandatory property. An error is raised if an acronym
does not set it.
The optional pipe
|
creates a static property which means its value is written to an auxiliary le
and read in again at begin document. Once set the value is the same throughout the document.
The optional greater as symbol
since v3.2 >
creates a display property. This additionally denes the two
boolean options
name
/display
and
list/
name
/display
, both initially set to true. If these
options are set to false the acronym commands or the list act as if the property
name
has not
been set. The foreign property is an example.
\DeclareAcroPropertyAlias
*
?!|>{name1}{name2}
This newly declares property
name1
and makes it an alias of property
name2
. This means
that
name1
gets the same value that
name2
has unless it is set explicitly. Property
name2
must exist.
\MakeAcroPropertyAlias{name1}{name2}
This makes property
name1
and makes it an alias of property
name2
. Both properties must
exist.
49
30. Own acronym commands
Exmaples for dening and using new properties are shown in section A,
for example, examples 8
or 9.
30. Own acronym commands
30.1. Background
You can dene own acronym commands or redene the existing ones with commands similar
to \NewDocumentCommand from the xparse package [L3P].
\NewAcroCommand{command}{arg. spec.}{co de}
This creates the new command
command
with the argument specication
10 so
arg. spec.
and
replacement text
code
. There are signicant dierences to
\NewDocumentCommand
: the new
command always has two additional arguments: an optional star and an optional argument for
options. You can ignore this fact in your denition, though. However, the command must at
least have one argument and the rst argument must refer to the
id
. Everything else is up to
you.
The new command has the suiting framework to recognize trailing tokens, count usage, index,
and add a citation if necessary.
\RenewAcroCommand{command}{arg. spec.}{co de}
Like \NewAcroCommand but redenes an existing command.
\UseAcroTemplate[type]{name}[argument number]arguments
The argument
type
defaults to
acronym
and
argument numb er
defaults to
1
. The command
must be followed by as many mandatory arguments as you specify with
argument number
.
All predened acronym templates use the rst argument as
id
so they must use one argument.
Let’s see an example. This is the denition of \ac:
1 \NewAcroCommand\ac{m}{\UseAcroTemplate{first}{#1}}
Equivalent denitions would be:
1 \NewAcroCommand\ac{m}{\UseAcroTemplate[acroynm]{first}{#1}}
2 \NewAcroCommand\ac{m}{\UseAcroTemplate[acroynm]{first}[1]{#1}}
3 \NewAcroCommand\ac{m}{\UseAcroTemplate{first}[1]{#1}}
4 \NewAcroCommand\ac{m}{\UseAcroTemplate{first}[2]{#1}{}}
There are a number of switch commands which determine a certain behavior. They tell the
following template how to interpret certain conditionals and how to use \acrowrite.
10. in the sense of an xparse command.
50
30. Own acronym commands
\acrocite
Tells acro to output the citation.
\acrodonotuse
Tells acro to not count this as usage.
\acroplural
Use plural form.
\acroindefinite
Use indenite article
\acroupper
Use uppercase form.
\acrofull
Use rst or full form.
Here is an example that makes use of them:
1 \NewAcroCommand\Iacs{m}{%
2 \acroupper\acroindefinite\UseAcroTemplate{short}{#1}%
3 }
30.2. Create commands for possessive endings
Let’s say you want to add an ending for the genitive case. First you dene the appropriate
ending:
1 \DeclareAcroEnding{possessive}{'s}{'s}
Then you dene commands which make use of this ending:
1 \NewAcroCommand\acg{m}{\acropossessive\UseAcroTemplate{first}{#1}}
2 \NewAcroCommand\acsg{m}{\acropossessive\UseAcroTemplate{short}{#1}}
3 \NewAcroCommand\aclg{m}{\acropossessive\UseAcroTemplate{long}{#1}}
4 \NewAcroCommand\acfg{m}{%
5 \acrofull
6 \acropossessive
7 \UseAcroTemplate{first}{#1}%
8 }
9 \NewAcroCommand\iacsg{m}{%
10 \acroindefinite
11 \acropossessive
12 \UseAcroTemplate{short}{#1}%
51
31. Own acro style les
13 }
You maybe also dene acronyms with corresponding properties11:
1 \DeclareAcronym{MP}{
2 short = MP ,
3 long = Member of Parliament ,
4 plural-form = Members of Parliament ,
5 long-possessive-form = Member's of Parliament
6 }
Now you can use it like this:
1 This is the \acg{MP} first day at work after \dots
This is the MP’s rst day at work after .. .
31. Own acro style files
When you want to use your denitions regarding acro repeatedly then it makes sense to put
them in a le which you put somewhere in your local L
A
T
E
X tree. There are three options:
1. Put them in a simple .tex le in \input it.
2. Put in in a .sty le and include it with \usepackage after acro.
3. Create a style le following this pattern decribed below.
acro.style.name .code.tex
This le should start with
1 \AcroStyle{name}
and input the le with \acsetup using the option
load-style = {name}
This is more or less the same as if you’d use the package variant but naturally ensures that you
load it after acro and in the future might provide other bells and whistles, too.
The command
11. Bear with me if this is incorrect: English is not my native language.
52
31. Own acro style les
\AcroStyle
*
{style }[details]
has an optional star which switches to expl3 syntax. It also has an optional argument
details
with the same purpose and usage as the one from
\ProvidesPackage
. A typical usage would
look like
1 \AcroStyle{abbrev}[2020/04/21 abbreviations with acro (CN)]
2 \NewDocumentCommand\newabbreviation{mmm}{%
3 \DeclareAcronym{#1}{ short = #2 , #3 , class = abbrev , no-index }%
4 }
5 \NewDocumentCommand\printabbreviations{O{}}{%
6 \printacronyms[#1,include=abbrev]%
7 }
53
Part IV.
Appendix
A. Examples
Example 1: Basic usage
Links: [T
E
X] [PDF] File: acro.example.basic.tex
7
8 \acsetup{
9 make-links ,
10 pages / display = first ,
11 pages / fill = {, }
12 }
13
14 \DeclareAcronym{CDMA}{
1 Intro
In the early nineties, GSM was deployed in many European countries. GSM of-
fered for the first time international roaming for mobile subscribers. The GSM’s
use of Time Division Multiple Access (TDMA) as its communication standard
was debated at length. And every now and then there are big discussion whether
Code Division Multiple Access (CDMA) should have been chosen over TDMA.
2 Furthermore
The reader could have forgotten all the nice acronyms, so we repeat the meaning
again.
If you want to know more about Global System for Mobile communication
(GSM), Time Division Multiple Access (TDMA), Code Division Multiple Access
(CDMA) and other acronyms, just read a book about mobile communication.
Just to mention it: There is another Used Acronym (UA), just for testing
purposes!
Figure
Figure 1: A float also admits references like GSM or Code Division Multiple
Access (CDMA).
2.1 Some chemistry and physics
Nicotinamide Adenine Dinucleotide (NAD
+
) is a major electron acceptor in the
oxidation of fuel molecules. The reactive part of NAD
+
is its nictinamide ring,
a pyridine derivate.
One mol consists of N
A
atoms or molecules. There is a relation between the
constant of Boltzmann and the Number of Avogadro:
k = R/N
A
(1)
Liquid Oxygen/Liquid Hydrogen (LOX /LH
2
)
2.2 Some testing fundamentals
When testing Integrated Circuits (ICs), one typically wants to identify func-
tional blocks to be tested separately. The latter are commonly indicated as
Blocks Under Test (BUTs). To test a BUT requires defining a testing strat-
egy. . .
Acronyms
LH
2
Liquid Hydrogen, 1
1
Example 2: Re-implement \acflike
Links: [T
E
X] [PDF] File: acro.example.acflike.tex
7 \RenewAcroCommand\acflike{mm}{%
8 \acroformat{long}{#2} (\UseAcroTemplate{short
}{#1})%
9 }
10
11 \begin{document}
12
13 \ac{cd} \par
14 \acflike{cd}{Rohling}
Compact Disc (CD)
Rohling (CD)
1
54
A. Examples
Example 3: Invisible command for backref
Links: [T
E
X] [PDF] [github] File: acro.example.issue-109.tex
7 pages/seq=false
8 }
9
10 \DeclareAcronym{ny}{
11 short = NY ,
12 long = New York ,
13 }
nothing
1
Example 4: Dening a denite article
Links: [T
E
X] [PDF] [github] File: acro.example.issue-111.tex
7 \NewAcroCommand\dacs{m}{\acrodefinite\
UseAcroTemplate{short}{#1}}
8 \NewAcroCommand\Dacs{m}{\acroupper\acrodefinite\
UseAcroTemplate{short}{#1}}
9 \NewAcroCommand\dacl{m}{\acrodefinite\
UseAcroTemplate{long}{#1}}
10 \NewAcroCommand\Dacl{m}{\acroupper\acrodefinite\
UseAcroTemplate{long}{#1}}
11
12 \DeclareAcronym{hadopi}{
13 short = HADOPI ,
14 long = Haute Autorit\'{e} pour la diffusion des
\oe uvres et la protection des
l’HADOPI
La Haute Autorité pour la Diffusion des Œuvres et la Protection des droits
sur Internet
1
Example 5: Write the list of acronyms to an external le
Links: [T
E
X] [PDF] [github] File: acro.example.issue-119.tex
7 \immediate\openout\acro@list\jobname.ac\relax
8 \immediate\write\acro@list{\string\begin{
description}}
9 \let\item\relax
10 \acronymsmapF{%
11 \immediate\write\acro@list{%
12 \space\space
13 \item[\acrofield{##1}{short}]
14 \acrofield{##1}{list}%
1
55
A. Examples
Example 6: Insert word between acronym and citation
Links: [T
E
X] [PDF] [github] File: acro.example.issue-154.tex
7 short = UC ,
8 long = Universal Composability ,
9 cite = xxx
10 }
11
12 \begin{document}
13
14 We use the \ac{uc}[ model] for\dots
We use the Universal Composability (UC) model [?] for. . .
1
Example 7: How to dene a possessive ending
Links: [T
E
X] [PDF] File: acro.example.possessive.tex
7 \NewAcroCommand\acsg{m}{\acropossessive\
UseAcroTemplate{short}{#1}}
8 \NewAcroCommand\aclg{m}{\acropossessive\
UseAcroTemplate{long}{#1}}
9 \NewAcroCommand\acfg{m}{%
10 \acrofull
11 \acropossessive
12 \UseAcroTemplate{first}{#1}%
13 }
14 \NewAcroCommand\iacsg{m}{%
Memb er’s of Parliament (MP’s)
MP’s
Memb er’s of Parliament
Memb er’s of Parliament (MP’s)
a MP’s
1
Example 8: Additional alternative form
Links: [T
E
X] [PDF] [forum] File: acro.example.texsx-505891.tex
7 \RenewAcroTemplate[list]{description}{%
8 \acroheading
9 \acropreamble
10 \begin{description}
11 \acronymsmapF{
12 \item [%
13 \acrowrite{short}%
14 \acroifT{alt}{/}\acrowrite{alt}%
Acronyms
four another description
one/two/three common description
1
56
A. Examples
Example 9: Foreign short form
Links: [T
E
X] [PDF] [forum] File: acro.example.texsx-507726.tex
7
8 \RenewAcroTemplate{long-short}{%
9 \acroiffirstTF{%
10 \acrowrite{long}\acspace
11 (%
12 \acrowrite{short}%
13 \acroifT{foreign}{, }%
14 \acrowrite{foreign}%
Datenschutz-Grundverordnung (DSGVO,
General Data Protection Regu-
lation“, GDPR)
Abk
¨
urzungen
DSGVO Datenschutz-Grundverordnung (
General Data Protection Regula-
tion“, GDPR)
1
Example 10: Species
Links: [T
E
X] [PDF] [forum] File: acro.example.texsx-513623.tex
7 #1 ,
8 tag = species ,
9 first-style= long ,
10 format = \itshape
11 }%
12 }
13 \newspecies{ecoli}{E.~coli}{Escherichia coli}
First use: Escherichia coli
Second use: E. coli
1
Example 11: Capitalization
Links: [T
E
X] [PDF] [forum] File: acro.example.texsx-515295.tex
7 short = 3-APA ,
8 long = \iupac{3-azido-1-propyl|amine}
9 }
10 \DeclareAcronym{CuAAC}{
11 short = \enquote{click} chemistry ,
12 long = copper(I)-catalyzed azide-alkyne
cycloaddition
13 }
1: 3-Az ido-1-propylamine
2: “Click” chemistry
3: Copper(I)-catalyzed azide-alkyne cycloaddition
1
57
B. Acronyms
Example 12: Articles and possessive forms
Links: [T
E
X] [PDF] [forum] File: acro.example.texsx-542461.tex
7 \NewAcroCommand\Dac{m}{\acroupper\acrodefinite\
UseAcroTemplate{first}{#1}}
8
9 \NewAcroCommand\Dacg{m}{%
10 \acroupper
11 \acrodefinite
12 \acropossessive
13 \UseAcroTemplate{first}{#1}%
14 }
Bob hails from the Centre for Spaghetti Studies (CSS).
Bob hails from CSS.
The Centre for Spaghetti Studies’ (CSS’s) mandate is broad.
CSS’s mandate is broad.
The Centre for Spaghetti Studies (CSS) scientists eat well.
CSS scientists eat well.
1
B. Acronyms
Below all abbreviations are listed which have been dened for the manual. The ones without
page numbers have been dened but haven’t been used.
CD compact disc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 14
c tan Comprehensive T
E
X Archive Network
e.g. for example (Latin: exempli gratia) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
ECU Steuergerät (Englisch: Electronic Control Unit) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
etc. et cetera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15, 30
HADOPI
Haute Autorité pour la diusion des œuvres et la protection des droits sur l’Internet
48
i d identication string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7, 43, 50
JPEG/ JPG Joint Photographic Experts Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
LA Los Angeles
l ppl L
A
T
E
X Project Public License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
MP Member of Parliament . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23, 47, 52
n ato Organisation des Nordatlantikvertrags (Englisch: North Atlantic Treaty Organization)
NY New York . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
p df Portable Document Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 21, 33 f.
PNG Portable Network Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
58
C. References
PU Polyurethan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
SW Sammelwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
T
E
X.sx T
E
X StackExchange
UFO unidentied ying object (German: unbekanntes Flugobjekt) . . . . . . . . . . . . . . 12 f., 23, 26
C. References
[BJ20] Johannes Braam s and Theo Jurriens.
supertabular. version 4.1g, Feb. 2, 2020 (or newer).
url: https://www.ctan.org/pkg/supertabular/.
[Bra22] Johannes Braam s, current maintainer: Javier Bezos.
babel. version 3.70, Jan. 26, 2022 (or newer).
url: https://www.ctan.org/pkg/babel/.
[Car21] David Carli sle. longtable. version 4.17, Sept. 1, 2021 (or newer).
url: https://www.ctan.org/pkg/longtable/.
[Cha21] François Charette, current maintainer: Arthur Reutenauer.
polyglossia. version 1.53, Apr. 12, 2021 (or newer).
url: https://www.ctan.org/pkg/polyglossia/.
[Kle18] Josef Kleber. pdfcomment. version 2.4a, Nov. 1, 2018 (or newer).
url: https://www.ctan.org/pkg/pdfcomment/.
[L3P] The L
A
T
E
X3 Project Team. xparse. Jan. 12, 2022 (or newer).
url: https://www.ctan.org/pkg/xparse/.
[Leh+22]
Philipp Lehma n et al., current maintainers: Philip Kime and Moritz Wem heuer.
biblatex. version 3.17, Feb. 2, 2022 (or newer).
url: https://www.ctan.org/pkg/biblatex/.
[Lyu21] Jianrui Lyu. tabularray. version 2021Q, Dec. 1, 2021 (or newer).
url: https://www.ctan.org/pkg/tabularray/.
[Nie22] Clemens Niede rberger. translations. version 1.12, Feb. 5, 2022 (or newer).
url: https://www.ctan.org/pkg/translations/.
[Obe19] Heiko Oberdiek. accsupp. version 0.6, Dec. 5, 2019 (or newer).
url: https://www.ctan.org/pkg/oberdiek/.
[Obe20] Heiko Oberdiek. bookmark. version 1.29, Nov. 6, 2020 (or newer).
url: https://www.ctan.org/pkg/bookmark/.
[ORT21] Heiko Oberd iek, Sebastian Rahtz, and The L
A
T
E
X3 Project Team.
hyperref. version 7.00m, June 7, 2021 (or newer).
url: https://www.ctan.org/pkg/hyperref/.
[Tal21] Nicola L.C. Talbot. mfirstuc. version 2.07, Oct. 15, 2021 (or newer).
url: https://www.ctan.org/pkg/glossaries/.
59
[Wik20] Wikipedia. New York City. 2020.
url: http://en.wikipedia.org/wiki/New
_
York
_
City (visited on 04/11/2020).
D. Index
Symbols
*
(symbol) . . . . . . . . . . . . . . . . . . . . 49
- (symbol) . . . . . . . . . . . . . . . . . . . . 30
. (symbol) . . . . . . . . . . . . . . . . . . . 30 f.
> (symbol) . . . . . . . . . . . . . . . . . . . . 49
? (symbol) . . . . . . . . . . . . . . . . . . . . 49
A
\abbrdot . . . . . . . . . . . . . . . 31 f., 48 f.
\Ac . . . . . . . . . . . . . . . . . . . . . . . . 4, 11
\ac . 4 f., 1116, 23, 25, 2730, 36 f.,
50, 54 .
\Aca . . . . . . . . . . . . . . . . . . . . . . . . . 12
\aca . . . . . . . . . . . . . . . . . . . . . . . . 12 f.
\Acap . . . . . . . . . . . . . . . . . . . . . . . . 12
\acap . . . . . . . . . . . . . . . . . . . . . . . . 12
\acbarrier . . . . . . . . . . . . . . . 19, 29
accsupp (package) . . . . . . . . 10, 34 f.
\acdot . . . . . . . . . . . . . 14 f., 25, 30 .
\Acf . . . . . . . . . . . . . . . . . . . . . . . 5, 12
\acf . . . . . 5, 12, 14, 16, 21, 25, 28 .
\acfg . . . . . . . . . . . . . . . . . . 47, 51, 56
\acflike . . . . . . . . . . . . . . . . . . . . . 54
\Acfp . . . . . . . . . . . . . . . . . . . . . . . . 12
\acfp . . . . . . . . . . . . . . . . . . . . . 12, 23
\acg . . . . . . . . . . . . . . . . . . . . . . . . 51 f.
\aciftrailing . . . . . . . . . . . . . . 31 f.
\Acl . . . . . . . . . . . . . . . . . . . . . . . 4, 12
\acl . . . . . . . . . . . . . . . . . . . . . 4 f., 12
\aclg . . . . . . . . . . . . . . . . . . . . . 51, 56
\Aclp . . . . . . . . . . . . . . . . . . . . . 12, 26
\aclp . . . . . . . . . . . . . . . . . . . . . . . . 12
\Acp . . . . . . . . . . . . . . . . . . . . . . . . 11 f.
\acp . . . . . . . . . . . . . . . . . . . . . . . . 11 f.
\acreset . . . . . . . . . . . . . . . . . . 23, 32
\acresetall . . . . . . . . . . . . . . . . . 32
\AcroAcronymsMap . . . . . . . . . . . . 42
\AcroAddRow . . . . . . . . . . . . . . 43, 45
\acrocite . . . . . . . . . . . . . . . . . . . . 51
\acrodefinite . . . . . . . . . . . . 55, 58
\acrodonotuse . . . . . . . . . . . . . . . 51
\acrodotfill . . . . . . . . . . . . . . . . 18
\acroendfootnote . . . . . . . . . . . . 38
\acrofield . . . . . . . . . . . . . . . . . . . 55
\acroformat . . . . . . . . . . . . . . 41, 54
\acrofull . . . . . . . . . . . . . . . . 51, 56
\acrogroupcite . . . . . . . . . . . 42, 44
\acroheading . . . . . . . . 37, 44 f., 56
\acroifTF . . . . . . . . . . . . . . . . . . . . 41
\acroifallTF . . . . . . . . . . . . . . . . 41
\acroifanyTF . . . . . . . . . . . . . . . . 41
\acroifanyT . . . . . . . . . . . . . . . . 44 .
\acroifbooleanTF . . . . . . . . . . . . 41
\acroifchapterTF . . . . . . . . . . . . 42
\acroifchapterF . . . . . . . . . . . . . 45
\acroifchapterTF . . . . . . . . . . . . 45
\acroiffirstTF . . . . . . . . . . . . . . 42
\acroiffirstTF . . . . . . . . . . . 44, 57
\acroifpagesTF . . . . . . . . . . . . . 42 f.
\acroifsingleTF . . . . . . . . . . . . . 42
\acroifstarredTF . . . . . . . . . . . . 42
\acroifT . . . . . . . . . . . . . . 44 ., 56 f.
\acroiftagTF . . . . . . . . . . . . . . . . 42
\acroifTF . . . . . . . . . . . . . . . . . . . . 44
\acroifusedTF . . . . . . . . . . . . . . . 42
\acroindefinite . . . . . . . . . . . . . 51
\acrolistname . . . . . . . . . . . . . . . 41
\AcroMapBreak . . . . . . . . . . . . . . . 42
\AcroNeedPackage . . . . . . . . . 43, 45
\acroneedpages . . . . . . . . . . . . . . 43
\acronopagerange . . . . . . . . . 43, 45
\AcronymID . . . . . . . . . . . . . . . . . 42 f.
\acronymsmap . . . . . . . . . . . . . . . . 43
\acronymsmapTF . . . . . . . . . . . . . . 43
\acronymsmapF . . . . . . . . . 44 f., 55 f.
\AcronymTable . . . . . . . . . . . . 43, 45
\acropagefill . . . . . . . . . . . . . 43 .
\acropages . . . . . . . . . . . . . . . 4346
\acroplural . . . . . . . . . . . . . . . . . 51
\acropossessive . . . . . . . 51, 56, 58
\acropreamble . . . . . . . . . . 44 f., 56
\AcroPropertiesMap . . . . . . . . . . 42
\AcroPropertiesSet . . . . . . . . . . 42
\AcroRerun . . . . . . . . . . . . . . . 4346
\acroshow . . . . . . . . . . . . . . . . . . . . 41
\AcroStyle . . . . . . . . . . . . . . . . . 52 f.
\AcroTemplateName . . . . . . . . . . . 40
\AcroTemplateType . . . . . . . . . . . 40
\acrotranslate . . . . . . . 17, 36, 44 f.
\acroupper . . . . . . . . . . . . 51, 55, 58
\acrowrite . . . . 41, 4346, 50, 56 f.
\Acs . . . . . . . . . . . . . . . . . . . . . . . 4, 12
\acs . . . . . . . . . . . . . . . . . . . . . 4 f., 12
\acsetup . . 5 f., 17 ., 21, 25, 28, 31,
52, 54
\acsg . . . . . . . . . . . . . . . . . . . . . 51, 56
\Acsp . . . . . . . . . . . . . . . . . . . . . . . . 12
\acsp . . . . . . . . . . . . . . . . . . . . . . . . 12
\acspace . . . . . . . . . . . . 30 ., 44, 57
\acswitchoff . . . . . . . . . . . . . . . . 36
\acswitchon . . . . . . . . . . . . . . . . . 36
activate . . . . . . . . . . . . . . . . . . . . . 31
\acuse . . . . . . . . . . . . . . . . . . . . . . . 32
\acuseall . . . . . . . . . . . . . . . . . . . . 32
add . . . . . . . . . . . . . . . . . . . . . . . . . . 16
\AddAcroTranslations . . . . . . 48 f.
addchap (template) . . . . . . . . . . . . 39
addchap
*
(template) . . . . . . . . . . . 39
addsec (template) . . . . . . . . . . . . . 40
addsec
*
(template) . . . . . . . . . . . . 40
all . . . . . . . . . . . . . . . . . . . . . . . . . . 26
alt . . . . . . . . . . . . . . . . . . . . . . . . . . 20
alt (property) . . . . . 7, 10, 13, 27, 34
alt (template) . . . . . . . . . . . . . . . . 38
alt-acc (property) . . . . . . . . . 10, 34
alt-format (property) . . . . . . 9, 20
alt-indefinite (property) . . . . . 9
alt-plural (property) . . . . . . 8, 22
alt-plural-form (property) . 8, 22
B
babel (package) . . . . . . . 11, 24 f., 35
barriers . . . . . . . . . . . . . . . . . . . . . 29
before-citation (property) . . . . 8
\BeginAccSupp . . . . . . . . . . . . . . . 34
Bez o s, Javier . . . . . . . . . . . . . . . . . 11
biblatex (package) . . . . . . . . . . . . . 28
bookmark (package) . . . . . . . 10, 33
Bra a ms, Johannes . . . . . . . . 11, 39
C
caption . . . . . . . . . . . . . . . . . . . . . . 37
caption (package) . . . . . . . . . . . . . 36
Car l isle, David . . . . . . . . . . . . . 39
case-insensitive . . . . . . . . . . . . . 7
case-sensitive . . . . . . . . . . . . . . . 7
CD . . . . . . . . . . . . . . . . . . . . . . . . 5, 14
chapter (template) . . . . . . . . . . . . 40
60
Index
chapter
*
(template) . . . . . . . . . . . 40
Cha r ette, François . . . . . . . . . 11
cite (property) . . . . . . . . . . . . . 8, 27
clear . . . . . . . . . . . . . . . . . . . . . . . . 28
cmd . . . . . . . . . . . . . . . . . . . . . 26 ., 33
colspec . . . . . . . . . . . . . . . . . . . . . . 39
D
\Dacl . . . . . . . . . . . . . . . . . . . . . . . . 55
\dacl . . . . . . . . . . . . . . . . . . . . . 48, 55
\Dacs . . . . . . . . . . . . . . . . . . . . . . . . 55
\dacs . . . . . . . . . . . . . . . . . . . . . 48, 55
deactivate . . . . . . . . . . . . . . . . . . . 31
\DeclareAcroArticle . . . . . . . . . 47
\DeclareAcroEnding . . . . . . . 46, 51
\DeclareAcronym . . 4 ., 1215, 18,
21 f., 25 ., 30, 33 .,
5255, 57
\declareAcronym . . . . . . . . . . . . . 42
\DeclareAcroPreset . . . . . . . . . . 11
\DeclareAcroProperty . . . . . . . 49
\DeclareAcroPropertyAlias . . 49
\DeclareAcroTranslation . . . . 48
define . . . . . . . . . . . . . . . . . . . . . . . 31
description (template) . . . . 39, 44
disable . . . . . . . . . . . . . . . . . . . . . . 28
display . . . 11, 16 f., 24, 27, 42 f., 49
E
e.g. . . . . . . . . . . . . . . . . . . . . . . . . . . 26
ECU . . . . . . . . . . . . . . . . . . . . . . . . . 25
etc. . . . . . . . . . . . . . . . . . . . . . . . 15, 30
exclude . . . . . . . . . . . . . . . . . 16, 18 f.
extra . . . . . . . . . . . . . . . . . . . . . . . . 20
extra (property) . . . . . . . . . 7, 10, 35
extra-acc (property) . . . . . . 10, 35
extra-format (property) . . . . 9, 20
F
fill . . . . . . . . . . . . . . . . . . . . . . 17, 43
first . . . . . . . . . . . . . . . . . . . . . . . . 26
first (template) . . . . . . . . . . . . . . 38
first-long . . . . . . . . . . . . . . . . . . . 20
first-long-format (property) . . 9,
20
first-style . . . . . . . . . . . . . . 14, 38
first-style
(property) 9, 14, 21, 38
floats . . . . . . . . . . . . . . . . . . . . . . . 36
footnote (template) . . . . . . . . . . . 38
foreign . . . . . . . . . . . . . . . . . . . . . . 20
foreign (property) 7, 10, 24, 35, 49
foreign-acc (property) . . . . 10, 35
foreign-babel (property) . 11, 24 f.
foreign-format (property) . . 9, 21,
24
foreign-locale (property) . 11, 24
foreign-plural (property) . . 9, 22,
24
foreign-plural-form
(property) 9,
22, 24
format . . . . . . . . . . . . . . . . . . . . . . . 41
format . . . . . . . . . . . . . . . . . . . . 20, 25
format (property) . . . . . . . . . . . 9, 20
G
group . . . . . . . . . . . . . . . . . . . . . . . . 27
H
HADOPI . . . . . . . . . . . . . . . . . . . . . 48
heading . . . . . . . . . . . . . . . . . . . . . . 16
hyperref (package) . . . . 10, 17, 32 .
I
\Iac . . . . . . . . . . . . . . . . . . . . 11 f., 23
\iac . . . . . . . . . . . . . . . . . . . . 11 f., 23
\Iaca . . . . . . . . . . . . . . . . . . . . . 12, 23
\iaca . . . . . . . . . . . . . . . . . . . . . 12, 23
\Iacf . . . . . . . . . . . . . . . . . . . . . 12, 23
\iacf . . . . . . . . . . . . . . . . . . . . . 12, 23
\Iacl . . . . . . . . . . . . . . . . . . . . . 12, 23
\iacl . . . . . . . . . . . . . . . . . . 12, 23, 26
\Iacs . . . . . . . . . . . . . . . . . . 12, 23, 51
\iacs . . . . . . . . . . . . . . . . . . . . . 12, 23
\iacsg . . . . . . . . . . . . . . . . . . . . 51, 56
id . . . . . . . . . . . . . . . . . . . . . . 7, 43, 50
include . . . . . . . . . . . . . . . . . 16, 18 f.
index . . . . . . . . . . . . . . . . . . . . . . 8, 29
index (property) . . . . . . . . . . . 8, 28 f.
index-cmd (property) . . . . . . . . . . . 8
index-sort (property) . . . . . . 8, 29
J
JPEG . . . . . . . . . . . . . . . . . . . . . . . . . 13
Jur r iens, Theo . . . . . . . . . . . . . . 39
K
Kim e, Philip . . . . . . . . . . . . . . . . . . 28
Kle b er, Josef . . . . . . . . . . . . . . . . 33
L
language . . . . . . . . . . . . . . . . . . . . . 35
Leh m an, Philipp . . . . . . . . . . . . . 28
link-only-first . . . . . . . . . . . . . 32
list . . . . . . . . . . . . . . . . . 3, 17, 41, 49
list . . . . . . . . . . . . . . . . . . . . . . . . . 20
list (property) . . . . . . . . . . . . 10, 35
list-acc (property) . . . . . . . . 10, 35
list-format (property) . . . . . 9, 21
list/display . . . . . . . . . . . . . . . . 16
lists . . . . . . . . . . . . . . . . . . . . . . . . 37
load-style . . . . . . . . . . . . . . . . . . . 52
local . . . . . . . . . . . . . . . . . . . . . . . . 19
locale . . . . . . . . . . . . . . . . . . . . 11, 24
lof (template) . . . . . . . . . . . . . 39, 43
long . . . . . . . . . . . . . . . . . . . . . . . . . 20
long (property) . . . . . . . . 4, 7, 10, 34
long (template) . . . . . . . . . . . . . . . 38
long-acc (property) . . . . . . 10, 34 f.
long-format (property) . . . . 9, 20 f.
long-indefinite (property) . . . . 9
long-plural (property) . . . . . 8, 22
long-plural-ending . . . . . . . . . . 22
long-plural-form (property) 8, 22
long-post (property) . . . . . . . . . . . 7
long-short (template) . . . . . . . . . 38
longtable . . . . . . . . . . . . . . . . . . . . 37
longtable (template) . . . . . . . . . . 39
longtable (package) . . . . . . . . . . . 39
lpp l . . . . . . . . . . . . . . . . . . . . . . . . . . 3
ltxtable . . . . . . . . . . . . . . . . . . . . . 37
Lyu, Jianrui . . . . . . . . . . . . . . . . . . 39
M
make-links . . . . . . . . . . . . . . . 19, 32
\MakeAcroPropertyAlias . . . . . 49
maketitle . . . . . . . . . . . . . . . . . . . . 37
method . . . . . . . . . . . . . . . . . . . . . . . 34
mfirstuc (package) . . . . . . . . . . . . 27
MP . . . . . . . . . . . . . . . . . . . . 23, 47, 52
N
name . . . . . . . . . . . . . . . . . 17 f., 41, 43
New York City . . . . . . . . . . . . . . . . . 27
\NewAcroCommand . . . 50 f., 55 f., 58
\NewAcroPreset . . . . . . . . . . . . . . 11
\NewAcroTemplate . . . . . 40, 4346
Nie d erberger, Clemens . . . . 35
no-index (property) . . . . . . . . . . . 29
none . . . . . . . . . . . . . . . . . . . . . . . . . 26
none (template) . . . . . . . . . . . . . . . 40
NY . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
O
Obe r diek, Heiko . . . . . . . 10, 32 .
options . . . . . . . . . . . . . . . . . . . . . . 34
P
pages . . . . . . . . . . . . . . . . . . . . . 3, 42 f.
pdf . . . . . . . . . . . . . . . . . . . . . . . . . . 21
pdf . . . . . . . . . . . . . . . . . . 10, 21, 33 f.
pdfcomment (property) . . . . . 10, 33
pdfcomment (package) . . . . . . . . 33
61
Index
pdfcomment/cmd . . . . . . . . . . . . . . 10
pdfcomment/use . . . . . . . . . . . . . . 10
pdfstring (property) . . . . . . 10, 33
PNG . . . . . . . . . . . . . . . . . . . . . . . . . 16
polyglossia (package) . . 11, 24 f., 35
post (property) . . . . . . . . . . . . . . . . 7
pre . . . . . . . . . . . . . . . . . . . . . . 17, 27 f.
preamble . . . . . . . . . . . . . . . . . . . . . 17
preset (property) . . . . . . . . . . . . . 11
\printacronyms . . . . 1619, 37, 53
PU . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
R
Rah t z, Sebastian . . . . . . . . 10, 32 f.
\RenewAcroCommand . . . . . . . . 50, 54
\RenewAcroPreset . . . . . . . . . . . . 11
\RenewAcroTemplate . . . . . 40, 56 f.
replace . . . . . . . . . . . . . . . . . . . . . . 21
reset . . . . . . . . . . . . . . . . . . . . . . . . 29
Reu t enauer, Arthur . . . . . . . . 11
S
section (template) . . . . . . . . . 40, 46
section
*
(template) . . . . . . . . 40, 46
\SetupAcroTemplate . . . . . . . . . . 40
\SetupNextAcroTemplate . . . . . 40
short . . . . . . . . . . . . . . . . . . . . . 20, 27
short (property) . 4, 7 f., 10, 27, 33 f.
short (template) . . . . . . . . . . . . . . 38
short-acc (property) . . . . . . . 10, 34
short-format (property) . . . . 9, 20
short-indefinite (property) . . . 9
short-long (template) . . . . . . . . . 38
short-plural (property) . . . . 8, 22
short-plural-ending . . . . . . . . . 22
short-plural-form (property) . . 8,
22
show (template) . . . . . . . . . . . . . . . 39
single . . . . . . . . . . . . . . 7, 15, 29, 39
single (property) . . . . . . . . 7, 15, 39
single (template) . . . . . . . . . . 15, 39
single-acc (property) . . . . . 10, 35
single-format (property) . . . . . 21
single-style . . . . . . . . . . . . . . . . 15
single-style (property) 10, 15, 21
sort . . . . . . . . . . . . . . . . . . . . . . . . . 16
sort (property) . . . . . . . . . . . . . 8, 29
subsequent-style . . . . . . . . . . . . 14
subsequent-style (property) . . . 9
supertabular (template) . . . . . . 39
supertabular (package) . . . . . . . . 39
SW . . . . . . . . . . . . . . . . . . . . . . . . . . 23
T
tabu . . . . . . . . . . . . . . . . . . . . . . . . . 37
tabular (template) . . . . . . . 39, 43 f.
tabularray (template) . . . . . . . . . 39
tabularray (package) . . . . . . . . . . 39
tabularx . . . . . . . . . . . . . . . . . . . . . 37
tag (property) . . . . . . . . . . . . . . 8, 18
Talbot, Nicola L.C. . . . . . . . . . . 27
template . . . . . . . . . . . . . . . . . . . . . 16
The L
A
T
E
X3 Project Team . 10,
32 f., 50
threshold . . . . . . . . . . . . . . . . . . . . 17
title . . . . . . . . . . . . . . . . . . . . . . . . 26
toc (template) . . . . . . . . . . . 39, 42 .
translations (package) . . . . . . . . . 35
U
UFO . . . . . . . . . . . . . . . . . 12 f., 23, 26
upgrade . . . . . . . . . . . . . . . . . . . . . . . 5
use . . . . . . . . . . . . . . 17, 19, 28 f., 33 f.
use-id-as-short . . . . . . . . . . . . . . 7
\UseAcroTemplate . . 50 f., 54 ., 58
uselist (property) . . . . . . . . . . . . 11
W
Wem h euer, Moritz . . . . . . . . . . 28
Wikiped i a . . . . . . . . . . . . . . . . . . 27
X
xparse (package) . . . . . . . . . . . . . . 50
62