-------------------------------------------------------------------------- the ACRO package Typeset Acronyms -------------------------------------------------------------------------- Clemens Niederberger Web: https://bitbucket.org/cgnieder/acro/ E-Mail: contact@mychemistry.eu -------------------------------------------------------------------------- Copyright 2011--2020 Clemens Niederberger This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 of this license or (at your option) any later version. The latest version of this license is in http://www.latex-project.org/lppl.txt and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later. This work has the LPPL maintenance status `maintained'. The Current Maintainer of this work is Clemens Niederberger. -------------------------------------------------------------------------- The acro package consists of the files - acro.sty, acro.definitions.tex, acro.cfg - acro-manual.tex, acro-manual.pdf, acro-manual.cls - acro.history, README -------------------------------------------------------------------------- If you have any ideas, questions, suggestions or bugs to report, please feel free to contact me. -------------------------------------------------------------------------- 2012/06/22 v0.1 - first public release 2012/06/23 v0.1a - bug fix, added `strict' and `macros' option and creation of shortcut macros - added capitalized version of long forms - added `sort' option 2012/06/24 v0.1b - added \Acf and \Acfp, added option `plural-ending' 2012/06/24 v0.1c - added excluded argument to \printacronyms 2012/06/24 v0.2 - renamed \NewAcronym => \DeclareAcronym \AcronymFormat => \DeclareAcronymFormat 2012/06/25 v0.2a - new first-style's: `short' and `reversed' 2012/06/25 v0.3 - new list formats: extra-tabular, extra-longtable, extra-tabular-rev, extra-longtable-rev - extra precaution when using \printacronyms to avoid errors. 2012/06/27 v0.3a - new option `list-caps', \Acp added 2012/06/29 v0.3b - extended the `text' template to the `acro-first' object - added `acro-first' instances `plain' and `plain-reversed' 2012/07/16 v0.3c - small adjustments to the documentation 2012/07/23 v0.3d - first CTAN version 2012/07/24 v0.3e - adapted to updated l3kernel 2012/09/28 v0.4 - added means to add citations to acronyms 2012/10/07 v0.4a - new options: "uc-cmd", "list-long-format" - preliminary language support, needs package `translations' 2012/11/30 v0.5 - added starred variants of the commands that won't mark an acronym as used - added \acreset{} - added preliminary support for pdf strings: in pdf strings always the singular lowercase short version is inserted (the equivalent of \acs) 2012/12/14 v0.6 - bug with not-colored links resolved - bug introduced with the last update (full expansion of the short entry) resolved - option `xspace' added 2013/01/02 v0.6a - \acuseall 2013/01/16 v1.0 - new syntax of \DeclareAcronym - new option `version' - new `accsupp' acronym property - new `sort' acronym property - new syntax of \printacronyms - new default: `sort=true' - new options `page-ranges', `next-page', `next-pages', `pages-name', `record-pages' - no automatic label placement for page number referencing any more 2013/01/26 v1.1 - bug fix in the plural detection - new keys `long-pre' and `long-post' - new keys `index', `index-sort' and `index-cmd' - new options `index' and `index-cmd' 2013/01/29 v1.1a - added `long-format' key - renamed `format' key into `short-format', kept `format' for compatibility reasons 2013/02/09 v1.2 - error message instead of hanging when an undefined acronym is used - added `first-long-format' key and `first-long-format' option - added \acflike and \acfplike - improvements and bug fixes to the page recording mechanism - new option `mark-as-used' - new keys: `short-indefinite', `alt-indefinite' and `long-indefinite' - new commands: \iac, \Iac, \iacs, \Iacs, \iaca, \Iaca, \iacl, \Iacl, \iacf, \Iacf, \iacflike and \Iacflike 2013/04/04 v1.2a - added Portuguese translations 2013/05/06 v1.3 - protected internal commands where appropriate - new option `sort' to \printacronyms - renamed options `print-acronyms/header' and `list-header' into `print-acronyms/heading' and `list-heading' - fix: added missing group to \printacronyms - add key `foreign' - rewritten page-recording: * most importantly: record them at shipout; this is done when \acro@used@once or \acro@used@twice are written to the aux file * no restrictions regarding \pagenumbering * options `page-ranges' and `record-pages' are deprecated * new options `following-page' and `following-pages' - disable \@noitemerr in the list of acronyms: we don't need it there but there are occasions when it is annoying - cleaned the sty file, added a few more comments 2013/05/09 v1.3a - Bug fix: corrected wrong argument checking in \Ac, thanks to Michel Voßkuhle 2013/05/30 v1.3b - obey \if@filesw 2013/06/16 v1.3c - added \leavevmode to \acro_get:n 2013/07/08 v1.3d - corrected wrong call of \leavevmode in the list (list-type=list) 2013/08/07 v1.3e - bug fix in the list when testing for used acronyms - new commands \acifused, \acfirstupper 2013/08/27 v1.4 - new property `list' 2013/09/02 v1.4a - bug fix: used acronyms are added to the list when the list is printed before the use - \DeclareAcronym may now be used after \begin{document} 2013/09/24 v1.4b - bug fix: only-used=false works again for only declared but unused acronyms (only if option single is not used) 2013/11/04 v1.4c - remove \hbox from the written short form - changed \__acro_make_link:nNN in a way that it doesn't box its when links are deactivated 2013/11/22 v1.4d - require `l3sort' independently from the `sort' option instead of at begin document in order to avoid conflicts with `babel' and `french' 2013/12/18 v1.5 - new option `label=true|false' that places \label{:} the first time an acronym is used - new option `pages=first|all' that determines if in the list of acronyms all appearances are listed or only the first time; implicitly sets `label=true' 2015/02/26 v1.6 - new `acro-title' instance `none' - change of expl3's tl uppercasing function (adapt to updates of l3kernel and friends - new package option `messages=silent|loud' - fix issue https://bitbucket.org/cgnieder/acro/issue/23/ - fix issue https://bitbucket.org/cgnieder/acro/issue/24/ - fix issue https://bitbucket.org/cgnieder/acro/issue/28/ - drop support for version 0 2015/04/08 v1.6a - more generalized user command definitions, see http://tex.stackexchange.com/q/236362/ for an application 2015/05/10 v1.6b - \ProcessKeysPackageOptions , - correct bug http://tex.stackexchange.com/q/236860/ : option `pages = first' works again 2015/08/16 v2.0 - fix https://bitbucket.org/cgnieder/acro/issue/36 - implement https://bitbucket.org/cgnieder/acro/issue/39 - implement https://bitbucket.org/cgnieder/acro/issue/40 (=> new option `group-cite-cmd') - add ideas for https://bitbucket.org/cgnieder/acro/issue/41 - implement https://bitbucket.org/cgnieder/acro/issue/18 - implement https://bitbucket.org/cgnieder/acro/issue/43 - further generalization for defining user commands: \NewAcroCommand, \NewPseudoAcroCommand and siblings - bug fix in indefinite versions with first-upper - add `short--form' equivalent to `long--form' (https://bitbucket.org/cgnieder/acro/issue/44) - implement https://bitbucket.org/cgnieder/acro/issue/35 - new option `single-form' 2015/08/25 v2.0a - fix https://bitbucket.org/cgnieder/acro/issue/38 and https://bitbucket.org/cgnieder/acro/issue/49 2015/08/29 v2.0b - fix https://bitbucket.org/cgnieder/acro/issue/44 - fix https://bitbucket.org/cgnieder/acro/issue/45 - implement https://bitbucket.org/cgnieder/acro/issue/42 2015/09/05 v2.1 - add list object type `list-of' that prints the list like a toc or lof, new option `list-short-width', - correct bug in the `plain' extra style - implemented `tooltip' property - remove \tl_to_lowercase:n 2015/10/03 v2.2 - fix https://bitbucket.org/cgnieder/acro/issue/52 - fix typo in `list-of' object - \DeclareAcroListStyle - \DeclareAcroListHeading - input `acro.cfg' if present - all acro commands have an optional argument: \ac*[]{} 2016/01/07 v2.2a - \prop_get:Nn => \prop_item:Nn 2016/01/21 v2.2b - fix issue #59 2016/02/02 v2.2c - fix issue #60 2016/03/14 v2.3 - foreign-format may be a macro taking an argument - \Aca, \Acsingle - properties `single' and `single-format', option `single-format' => issue #62 - property `first-style' => issue #61 - fix issue #64: long-post entry is now added *after* the endings - property `foreign-lang' - fix issue #65 2016/03/25 v2.4 - extend class mechanism: classes can be used like tags - add idea of `barriers' and list local to those barriers => new option `reset-at-barriers' => new option `local-to-barriers' for \printacronyms => new command \acbarrier 2016/04/14 v2.4a - if undefined acronym is used and `messages = silent' is active don't through error 2016/05/03 v2.4b - expand `pdfstring' property before saving => issue #69 - \ProvideAcroEnding can be used twice – it then just sets the defaults - the option -ending has a new syntax: * -ending = sets all endings to * -ending = / sets short endings to and long endings to - a single appearance should be treated like a first appearance as far as citations are concerned 2016/05/25 v2.5 - some of the entries added to the aux file need to be written \immediate in order to avoid this trap: http://tex.stackexchange.com/q/116001/ - cleaner interface for first-style template definitions - new `acro-first' instances `footnote-reversed' and `sidenote-reversed' - new commands \DeclareAcroFirstStyle, \DeclareAcroExtraStyle and \DeclareAcroPageStyle - add warning `ending-before-acronyms' to options setting the defaults of an ending; this should avoid confusion - property declaration for acronyms should be handled by internal functions - improvements in the list template code - logging info when an acronym is declared - remove deprecated options - new option `use-barriers' - new option `following-pages*' - option `page-ref' replaced by option `page-style' 2016/05/26 v2.5a - bug fix: remove erroneous group in `-ending' option 2016/05/30 v2.5b - fix issue #72 2016/07/20 v2.6 - \l__acro_use_acronyms_bool can be used to disable \ac e.g. in the trial phase of a table like `tabu'; interface: \acro_switch_off: and \acswitchoff - fix issue #79 - fix issue #74 - fix error: acronyms with same sort entry are not overwritten any more in the list of acronyms 2016/08/13 v2.6a - fix issues #80 and #81 2016/08/13 v2.6b - version stepped by accident 2016/08/16 v2.6c - really fixes issue #81 2016/08/30 v2.6d - fix issue #82 2016/09/04 v2.6e - fix issue in http://tex.stackexchange.com/q/270034/ 2017/01/22 v2.7 - rename \acro_get_property:nn into \__acro_get_property:nn - \acro_get_property:nn, \acro_get_property:nnTF, \acro_if_property:nnTF, retrieve property without error if not set - make \__acro_declare_property functions public - \acro_add_action:n (adds code to \acro_get:n) 2017/02/09 v2.7a - adapt to integration of l3sort into l3kernel 2017/06/21 v2.7b - fix issue #93 2017/08/28 v2.7c - fix issue #96 2018/01/30 v2.8 - fix issue #94 - document `format-include-endings', fix issue #99 - new property `post' - \aciffirst - resolve issue #95 2019/02/17 v2.9 - small redefinition of \acro_get_foreign:n which allows `foreign-sep' to be a & - fix issue #116 - implemented issue #112 2019/09/23 v2.10 - fix issue #120 - fix isuue #128 - fix issue #129 - fix issue #131 - new: \Acs \Acsp \Aca \Acap - new: `alt-format' - new: `uppercase-short' - a change to how usage is determined (see def. of \acro_is_used:nTF) 2019/10/02 v2.10a - fix newly introduced issue #135 2019/10/06 v2.10b - fix issue #137 - clearer documentation of `uppercase-short' - set the default of `uppercase-short' to `true' 2019/10/12 v2.10c - fix issue #139 2019/12/30 v2.10d - fix issue #76 - fix issue #141 - fix issue #143 2020/01/11 v2.11 - new commands \acpsingle and \Acpsingle - fix issues with optional arguments of the `cite' property - new properties `before-citation' and `after-citation' - new options `config-file-name' and `config-file-extension' - new option `case-sensitive' - rename the manual file and use a dedicated class for the manual - prefer lazy boolean evaluation when possible