% -------------------------------------------------------------------------- % the ACRO package % % Typeset Acronyms % % -------------------------------------------------------------------------- % Clemens Niederberger % Web: https://bitbucket.org/cgnieder/acro/ % E-Mail: contact@mychemistry.eu % -------------------------------------------------------------------------- % Copyright 2011--2019 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_en.tex, acro_en.pdf, 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