Statistiques
| Branche: | Révision :

xlcloud / papers / 2014 / kwapi / acronym.sty @ 10f7c1c4

Historique | Voir | Annoter | Télécharger (16,05 ko)

1 c286aa3e Marcos Assuncao
%%
2 c286aa3e Marcos Assuncao
%% This is file `acronym.sty',
3 c286aa3e Marcos Assuncao
%% generated with the docstrip utility.
4 c286aa3e Marcos Assuncao
%%
5 c286aa3e Marcos Assuncao
%% The original source files were:
6 c286aa3e Marcos Assuncao
%%
7 c286aa3e Marcos Assuncao
%% acronym.dtx  (with options: `acronym')
8 c286aa3e Marcos Assuncao
%%  Copyright 1995--2009  by Tobias Oetiker (tobi@oetiker.ch)
9 c286aa3e Marcos Assuncao
%%                        and individual authors listed elsewhere.
10 c286aa3e Marcos Assuncao
%%  All rights reserved.
11 c286aa3e Marcos Assuncao
%% 
12 c286aa3e Marcos Assuncao
%%  This work may be distributed and/or modified under the conditions of
13 c286aa3e Marcos Assuncao
%%  the LaTeX Project Public License, either version 1.3 of this license
14 c286aa3e Marcos Assuncao
%%  or (at your option) any later version. The latest version of the
15 c286aa3e Marcos Assuncao
%%  license is in
16 c286aa3e Marcos Assuncao
%% 
17 c286aa3e Marcos Assuncao
%%      http://www.latex-project.org/lppl.txt
18 c286aa3e Marcos Assuncao
%% 
19 c286aa3e Marcos Assuncao
%%  and version 1.3 or later is part of all distributions of LaTeX
20 c286aa3e Marcos Assuncao
%%  version 2003/12/01 or later.
21 c286aa3e Marcos Assuncao
%% 
22 c286aa3e Marcos Assuncao
%%  This work has the LPPL maintenance status "maintained".
23 c286aa3e Marcos Assuncao
%%  The Current Maintainer of this work is Tobias Oetiker (oetiker@ee.ethz.ch).
24 c286aa3e Marcos Assuncao
%% 
25 c286aa3e Marcos Assuncao
%% \CharacterTable
26 c286aa3e Marcos Assuncao
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
27 c286aa3e Marcos Assuncao
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
28 c286aa3e Marcos Assuncao
%%   Digits        \0\1\2\3\4\5\6\7\8\9
29 c286aa3e Marcos Assuncao
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
30 c286aa3e Marcos Assuncao
%%   Dollar        \$     Percent       \%     Ampersand     \&
31 c286aa3e Marcos Assuncao
%%   Acute accent  \'     Left paren    \(     Right paren   \)
32 c286aa3e Marcos Assuncao
%%   Asterisk      \*     Plus          \+     Comma         \,
33 c286aa3e Marcos Assuncao
%%   Minus         \-     Point         \.     Solidus       \/
34 c286aa3e Marcos Assuncao
%%   Colon         \:     Semicolon     \;     Less than     \<
35 c286aa3e Marcos Assuncao
%%   Equals        \=     Greater than  \>     Question mark \?
36 c286aa3e Marcos Assuncao
%%   Commercial at \@     Left bracket  \[     Backslash     \\
37 c286aa3e Marcos Assuncao
%%   Right bracket \]     Circumflex    \^     Underscore    \_
38 c286aa3e Marcos Assuncao
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
39 c286aa3e Marcos Assuncao
%%   Right brace   \}     Tilde         \~}
40 c286aa3e Marcos Assuncao
%%
41 c286aa3e Marcos Assuncao
%%
42 c286aa3e Marcos Assuncao
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
43 c286aa3e Marcos Assuncao
\ProvidesPackage{acronym}[2012/10/29
44 c286aa3e Marcos Assuncao
                          v1.38
45 c286aa3e Marcos Assuncao
                          Support for acronyms (Tobias Oetiker)]
46 c286aa3e Marcos Assuncao
\RequirePackage{suffix,xstring}
47 c286aa3e Marcos Assuncao
\newif\ifAC@footnote
48 c286aa3e Marcos Assuncao
\AC@footnotefalse
49 c286aa3e Marcos Assuncao
\DeclareOption{footnote}{\AC@footnotetrue}
50 c286aa3e Marcos Assuncao
\newif\ifAC@nohyperlinks
51 c286aa3e Marcos Assuncao
\AC@nohyperlinksfalse
52 c286aa3e Marcos Assuncao
\DeclareOption{nohyperlinks}{\AC@nohyperlinkstrue}
53 c286aa3e Marcos Assuncao
\newif\ifAC@printonlyused
54 c286aa3e Marcos Assuncao
\AC@printonlyusedfalse
55 c286aa3e Marcos Assuncao
\DeclareOption{printonlyused}{\AC@printonlyusedtrue}
56 c286aa3e Marcos Assuncao
\newif\ifAC@withpage
57 c286aa3e Marcos Assuncao
\AC@withpagefalse
58 c286aa3e Marcos Assuncao
\DeclareOption{withpage}{\AC@withpagetrue}
59 c286aa3e Marcos Assuncao
\newif\ifAC@smaller
60 c286aa3e Marcos Assuncao
\AC@smallerfalse
61 c286aa3e Marcos Assuncao
\DeclareOption{smaller}{\AC@smallertrue}
62 c286aa3e Marcos Assuncao
\newif\ifAC@dua
63 c286aa3e Marcos Assuncao
\AC@duafalse
64 c286aa3e Marcos Assuncao
\DeclareOption{dua}{\AC@duatrue}
65 c286aa3e Marcos Assuncao
\newif\ifAC@nolist
66 c286aa3e Marcos Assuncao
\AC@nolistfalse
67 c286aa3e Marcos Assuncao
\DeclareOption{nolist}{\AC@nolisttrue\AC@nohyperlinkstrue}
68 c286aa3e Marcos Assuncao
\ProcessOptions\relax
69 c286aa3e Marcos Assuncao
\ifAC@smaller
70 c286aa3e Marcos Assuncao
  \RequirePackage{relsize}
71 c286aa3e Marcos Assuncao
  \newcommand*{\acsfont}[1]{\textsmaller{#1}}
72 c286aa3e Marcos Assuncao
\else
73 c286aa3e Marcos Assuncao
  \newcommand*{\acsfont}[1]{#1}
74 c286aa3e Marcos Assuncao
\fi
75 c286aa3e Marcos Assuncao
\newcommand*{\acffont}[1]{#1}
76 c286aa3e Marcos Assuncao
\newcommand*{\acfsfont}[1]{#1}
77 c286aa3e Marcos Assuncao
\def\AC@hyperlink#1#2{#2}
78 c286aa3e Marcos Assuncao
\def\AC@hypertarget#1#2{#2}
79 c286aa3e Marcos Assuncao
\def\AC@phantomsection{}
80 c286aa3e Marcos Assuncao
\ifAC@nohyperlinks
81 c286aa3e Marcos Assuncao
\else
82 c286aa3e Marcos Assuncao
   \AtBeginDocument{%
83 c286aa3e Marcos Assuncao
      \@ifpackageloaded{hyperref}
84 c286aa3e Marcos Assuncao
         {\let\AC@hyperlink=\hyperlink
85 c286aa3e Marcos Assuncao
          \newcommand*\AC@raisedhypertarget[2]{%
86 c286aa3e Marcos Assuncao
             \Hy@raisedlink{\hypertarget{#1}{}}#2}%
87 c286aa3e Marcos Assuncao
          \let\AC@hypertarget=\AC@raisedhypertarget
88 c286aa3e Marcos Assuncao
          \def\AC@phantomsection{%
89 c286aa3e Marcos Assuncao
            \Hy@GlobalStepCount\Hy@linkcounter
90 c286aa3e Marcos Assuncao
            \edef\@currentHref{section*.\the \Hy@linkcounter}%
91 c286aa3e Marcos Assuncao
            \Hy@raisedlink{%
92 c286aa3e Marcos Assuncao
              \hyper@anchorstart{\@currentHref}\hyper@anchorend
93 c286aa3e Marcos Assuncao
            }%
94 c286aa3e Marcos Assuncao
          }%
95 c286aa3e Marcos Assuncao
         }{}}%
96 c286aa3e Marcos Assuncao
\fi
97 c286aa3e Marcos Assuncao
\AtBeginDocument{%
98 c286aa3e Marcos Assuncao
   \providecommand\texorpdfstring[2]{#1}%
99 c286aa3e Marcos Assuncao
   \providecommand\pdfstringdefDisableCommands[1]{}%
100 c286aa3e Marcos Assuncao
   \pdfstringdefDisableCommands{%
101 c286aa3e Marcos Assuncao
     \csname AC@starredfalse\endcsname
102 c286aa3e Marcos Assuncao
     \csname AC@footnotefalse\endcsname
103 c286aa3e Marcos Assuncao
     \let\AC@hyperlink\@secondoftwo
104 c286aa3e Marcos Assuncao
     \let\acsfont\relax
105 c286aa3e Marcos Assuncao
     \let\acffont\relax
106 c286aa3e Marcos Assuncao
     \let\acfsfont\relax
107 c286aa3e Marcos Assuncao
     \let\acused\relax
108 c286aa3e Marcos Assuncao
     \let\null\relax
109 c286aa3e Marcos Assuncao
     \def\AChy@call#1#2{%
110 c286aa3e Marcos Assuncao
        \ifx*#1\@empty
111 c286aa3e Marcos Assuncao
          \expandafter #2%
112 c286aa3e Marcos Assuncao
        \else
113 c286aa3e Marcos Assuncao
          #2{#1}%
114 c286aa3e Marcos Assuncao
        \fi
115 c286aa3e Marcos Assuncao
      }%
116 c286aa3e Marcos Assuncao
      \def\acs#1{\AChy@call{#1}\AC@acs}%
117 c286aa3e Marcos Assuncao
      \def\acl#1{\AChy@call{#1}\@acl}%
118 c286aa3e Marcos Assuncao
      \def\acf#1{\AChy@call{#1}\AChy@acf}%
119 c286aa3e Marcos Assuncao
      \def\ac#1{\AChy@call{#1}\@ac}%
120 c286aa3e Marcos Assuncao
      \def\acsp#1{\AChy@call{#1}\@acsp}%
121 c286aa3e Marcos Assuncao
      \def\aclp#1{\AChy@call{#1}\@aclp}%
122 c286aa3e Marcos Assuncao
      \def\acfp#1{\AChy@call{#1}\AChy@acfp}%
123 c286aa3e Marcos Assuncao
      \def\acp#1{\AChy@call{#1}\@acp}%
124 c286aa3e Marcos Assuncao
      \def\acfi#1{\AChy@call{#1}\AChy@acf}%
125 c286aa3e Marcos Assuncao
      \let\acsu\acs
126 c286aa3e Marcos Assuncao
      \let\aclu\acl
127 c286aa3e Marcos Assuncao
      \def\AChy@acf#1{\AC@acl{#1} (\AC@acs{#1})}%
128 c286aa3e Marcos Assuncao
      \def\AChy@acfp#1{\AC@aclp{#1} (\AC@acsp{#1})}%
129 c286aa3e Marcos Assuncao
   }%
130 c286aa3e Marcos Assuncao
}
131 c286aa3e Marcos Assuncao
\newtoks\AC@clearlist
132 c286aa3e Marcos Assuncao
\newcommand*\AC@addtoAC@clearlist[1]{%
133 c286aa3e Marcos Assuncao
  \global\AC@clearlist\expandafter{\the\AC@clearlist\AC@reset{#1}}%
134 c286aa3e Marcos Assuncao
}
135 c286aa3e Marcos Assuncao
\newcommand*\acresetall{\the\AC@clearlist\AC@clearlist={}}
136 c286aa3e Marcos Assuncao
\def\AC@reset#1{%
137 c286aa3e Marcos Assuncao
  \global\expandafter\let\csname ac@#1\endcsname\relax
138 c286aa3e Marcos Assuncao
}
139 c286aa3e Marcos Assuncao
\newcommand*\AC@used{@<>@<>@}
140 c286aa3e Marcos Assuncao
\newcommand{\AC@populated}{}
141 c286aa3e Marcos Assuncao
\newcommand*{\AC@logged}[1]{%
142 c286aa3e Marcos Assuncao
   \acronymused{#1}% mark it as used in the current run too
143 c286aa3e Marcos Assuncao
   \@bsphack
144 c286aa3e Marcos Assuncao
   \protected@write\@auxout{}{\string\acronymused{#1}}%
145 c286aa3e Marcos Assuncao
   \@esphack}
146 c286aa3e Marcos Assuncao
\AtBeginDocument{%
147 c286aa3e Marcos Assuncao
   \pdfstringdefDisableCommands{%
148 c286aa3e Marcos Assuncao
      \let\AC@logged\@gobble
149 c286aa3e Marcos Assuncao
   }%
150 c286aa3e Marcos Assuncao
}
151 c286aa3e Marcos Assuncao
\newcommand*{\acronymused}[1]{%
152 c286aa3e Marcos Assuncao
   \expandafter\ifx\csname acused@#1\endcsname\AC@used
153 c286aa3e Marcos Assuncao
      \relax
154 c286aa3e Marcos Assuncao
   \else
155 c286aa3e Marcos Assuncao
       \global\expandafter\let\csname acused@#1\endcsname\AC@used
156 c286aa3e Marcos Assuncao
       \global\let\AC@populated\AC@used
157 c286aa3e Marcos Assuncao
   \fi}
158 c286aa3e Marcos Assuncao
\newcommand*\newacro[1]{%
159 c286aa3e Marcos Assuncao
  \@ifnextchar[{\AC@newacro{#1}}{\AC@newacro{#1}[#1]}}
160 c286aa3e Marcos Assuncao
\newcommand\AC@newacro{}
161 c286aa3e Marcos Assuncao
\def\AC@newacro#1[#2]#3{%
162 c286aa3e Marcos Assuncao
   \expandafter\gdef\csname fn@#1\endcsname{{#2}{#3}}%
163 c286aa3e Marcos Assuncao
   }
164 c286aa3e Marcos Assuncao
\newcommand*\acrodef[1]{%
165 c286aa3e Marcos Assuncao
  \@ifnextchar[{\AC@acrodef{#1}}{\AC@acrodef{#1}[#1]}}
166 c286aa3e Marcos Assuncao
\newcommand\AC@acrodef{}
167 c286aa3e Marcos Assuncao
\def\AC@acrodef#1[#2]#3{%
168 c286aa3e Marcos Assuncao
   \@bsphack
169 c286aa3e Marcos Assuncao
   \protected@write\@auxout{}{\string\newacro{#1}[#2]{#3}}%
170 c286aa3e Marcos Assuncao
   \@esphack}
171 c286aa3e Marcos Assuncao
\def\bflabel#1{{\textbf{\textsf{#1}}\hfill}}
172 c286aa3e Marcos Assuncao
\newenvironment{AC@deflist}[1]%
173 c286aa3e Marcos Assuncao
        {\ifAC@nolist%
174 c286aa3e Marcos Assuncao
         \else%
175 c286aa3e Marcos Assuncao
            \raggedright\begin{list}{}%
176 c286aa3e Marcos Assuncao
                {\settowidth{\labelwidth}{\textbf{\textsf{#1}}}%
177 c286aa3e Marcos Assuncao
                \setlength{\leftmargin}{\labelwidth}%
178 c286aa3e Marcos Assuncao
                \addtolength{\leftmargin}{\labelsep}%
179 c286aa3e Marcos Assuncao
                \renewcommand{\makelabel}{\bflabel}}%
180 c286aa3e Marcos Assuncao
          \fi}%
181 c286aa3e Marcos Assuncao
        {\ifAC@nolist%
182 c286aa3e Marcos Assuncao
         \else%
183 c286aa3e Marcos Assuncao
            \end{list}%
184 c286aa3e Marcos Assuncao
         \fi}%
185 c286aa3e Marcos Assuncao
\newcommand{\acroextra}[1]{}
186 c286aa3e Marcos Assuncao
\newenvironment{acronym}[1][1]{%
187 c286aa3e Marcos Assuncao
   \providecommand*{\acro}{\AC@acro}%
188 c286aa3e Marcos Assuncao
   \providecommand*{\acroplural}{\AC@acroplural}%
189 c286aa3e Marcos Assuncao
   \providecommand*{\acroindefinite}{\AC@acroindefinite}%
190 c286aa3e Marcos Assuncao
   \long\def\acroextra##1{##1}%
191 c286aa3e Marcos Assuncao
   \def\@tempa{1}\def\@tempb{#1}%
192 c286aa3e Marcos Assuncao
   \ifx\@tempa\@tempb%
193 c286aa3e Marcos Assuncao
      \global\expandafter\let\csname ac@des@mark\endcsname\AC@used%
194 c286aa3e Marcos Assuncao
      \ifAC@nolist%
195 c286aa3e Marcos Assuncao
      \else%
196 c286aa3e Marcos Assuncao
         \begin{description}%
197 c286aa3e Marcos Assuncao
      \fi%
198 c286aa3e Marcos Assuncao
   \else%
199 c286aa3e Marcos Assuncao
      \begin{AC@deflist}{#1}%
200 c286aa3e Marcos Assuncao
   \fi%
201 c286aa3e Marcos Assuncao
  }%
202 c286aa3e Marcos Assuncao
  {%
203 c286aa3e Marcos Assuncao
   \ifx\AC@populated\AC@used\else%
204 c286aa3e Marcos Assuncao
      \ifAC@nolist%
205 c286aa3e Marcos Assuncao
      \else%
206 c286aa3e Marcos Assuncao
          \item[]\relax%
207 c286aa3e Marcos Assuncao
      \fi%
208 c286aa3e Marcos Assuncao
   \fi%
209 c286aa3e Marcos Assuncao
   \expandafter\ifx\csname ac@des@mark\endcsname\AC@used%
210 c286aa3e Marcos Assuncao
      \ifAC@nolist%
211 c286aa3e Marcos Assuncao
      \else%
212 c286aa3e Marcos Assuncao
        \end{description}%
213 c286aa3e Marcos Assuncao
      \fi%
214 c286aa3e Marcos Assuncao
   \else%
215 c286aa3e Marcos Assuncao
      \end{AC@deflist}%
216 c286aa3e Marcos Assuncao
   \fi}%
217 c286aa3e Marcos Assuncao
\newcommand*\AC@acro[1]{%
218 c286aa3e Marcos Assuncao
  \@ifnextchar[{\AC@@acro{#1}}{\AC@@acro{#1}[#1]}}
219 c286aa3e Marcos Assuncao
\newcommand\AC@@acro{}
220 c286aa3e Marcos Assuncao
\def\AC@@acro#1[#2]#3{%
221 c286aa3e Marcos Assuncao
  \ifAC@nolist%
222 c286aa3e Marcos Assuncao
  \else%
223 c286aa3e Marcos Assuncao
  \ifAC@printonlyused%
224 c286aa3e Marcos Assuncao
    \expandafter\ifx\csname acused@#1\endcsname\AC@used%
225 c286aa3e Marcos Assuncao
       \item[\protect\AC@hypertarget{#1}{\acsfont{#2}}] #3%
226 c286aa3e Marcos Assuncao
          \ifAC@withpage%
227 c286aa3e Marcos Assuncao
            \expandafter\ifx\csname r@acro:#1\endcsname\relax%
228 c286aa3e Marcos Assuncao
               \PackageInfo{acronym}{%
229 c286aa3e Marcos Assuncao
                 Acronym #1 used in text but not spelled out in
230 c286aa3e Marcos Assuncao
                 full in text}%
231 c286aa3e Marcos Assuncao
            \else%
232 c286aa3e Marcos Assuncao
               \dotfill\pageref{acro:#1}%
233 c286aa3e Marcos Assuncao
            \fi\\%
234 c286aa3e Marcos Assuncao
          \fi%
235 c286aa3e Marcos Assuncao
    \fi%
236 c286aa3e Marcos Assuncao
 \else%
237 c286aa3e Marcos Assuncao
    \item[\protect\AC@hypertarget{#1}{\acsfont{#2}}] #3%
238 c286aa3e Marcos Assuncao
 \fi%
239 c286aa3e Marcos Assuncao
 \fi%
240 c286aa3e Marcos Assuncao
 \begingroup
241 c286aa3e Marcos Assuncao
    \def\acroextra##1{}%
242 c286aa3e Marcos Assuncao
    \@bsphack
243 c286aa3e Marcos Assuncao
    \protected@write\@auxout{}%
244 c286aa3e Marcos Assuncao
       {\string\newacro{#1}[\string\AC@hyperlink{#1}{#2}]{#3}}%
245 c286aa3e Marcos Assuncao
    \@esphack
246 c286aa3e Marcos Assuncao
  \endgroup}
247 c286aa3e Marcos Assuncao
\newcommand*\newacroindefinite[3]{%
248 c286aa3e Marcos Assuncao
  \expandafter\gdef\csname fn@#1@IS\endcsname{#2}%
249 c286aa3e Marcos Assuncao
  \expandafter\gdef\csname fn@#1@IL\endcsname{#3}%
250 c286aa3e Marcos Assuncao
}
251 c286aa3e Marcos Assuncao
\newcommand*\acrodefindefinite[3]{%
252 c286aa3e Marcos Assuncao
  \@bsphack
253 c286aa3e Marcos Assuncao
  \protected@write\@auxout{}{\string\newacroindefinite{#1}{#2}{#3}}%
254 c286aa3e Marcos Assuncao
  \@esphack
255 c286aa3e Marcos Assuncao
}
256 c286aa3e Marcos Assuncao
\newcommand\AC@acroindefinite[3]{
257 c286aa3e Marcos Assuncao
  \@bsphack
258 c286aa3e Marcos Assuncao
  \protected@write\@auxout{}%
259 c286aa3e Marcos Assuncao
    {\string\newacroindefinite{#1}{\string\AC@hyperlink{#1}{#2}}{#3}}%
260 c286aa3e Marcos Assuncao
  \@esphack
261 c286aa3e Marcos Assuncao
}
262 c286aa3e Marcos Assuncao
\newcommand*\newacroplural[1]{%
263 c286aa3e Marcos Assuncao
  \@ifnextchar[%]
264 c286aa3e Marcos Assuncao
  {\AC@newacroplurali{#1}}{\AC@newacropluralii{#1}}%
265 c286aa3e Marcos Assuncao
}
266 c286aa3e Marcos Assuncao
\newcommand\AC@newacroplurali{}
267 c286aa3e Marcos Assuncao
\def\AC@newacroplurali#1[#2]#3{%
268 c286aa3e Marcos Assuncao
  \expandafter\gdef\csname fn@#1@PS\endcsname{#2}%
269 c286aa3e Marcos Assuncao
  \expandafter\gdef\csname fn@#1@PL\endcsname{#3}%
270 c286aa3e Marcos Assuncao
}
271 c286aa3e Marcos Assuncao
\newcommand\AC@newacropluralii[2]{%
272 c286aa3e Marcos Assuncao
  \expandafter\gdef\csname fn@#1@PL\endcsname{#2}%
273 c286aa3e Marcos Assuncao
}
274 c286aa3e Marcos Assuncao
\newcommand*\acrodefplural[1]{%
275 c286aa3e Marcos Assuncao
   \@ifnextchar[%]
276 c286aa3e Marcos Assuncao
   {\AC@acrodefplurali{#1}}{\AC@acrodefpluralii{#1}}%
277 c286aa3e Marcos Assuncao
}
278 c286aa3e Marcos Assuncao
\newcommand\AC@acrodefplurali{}
279 c286aa3e Marcos Assuncao
\def\AC@acrodefplurali#1[#2]#3{%
280 c286aa3e Marcos Assuncao
  \@bsphack
281 c286aa3e Marcos Assuncao
  \protected@write\@auxout{}{\string\newacroplural{#1}[#2]{#3}}%
282 c286aa3e Marcos Assuncao
  \@esphack
283 c286aa3e Marcos Assuncao
}
284 c286aa3e Marcos Assuncao
\newcommand\AC@acrodefpluralii[2]{%
285 c286aa3e Marcos Assuncao
  \@bsphack
286 c286aa3e Marcos Assuncao
  \protected@write\@auxout{}{\string\newacroplural{#1}{#2}}%
287 c286aa3e Marcos Assuncao
  \@esphack
288 c286aa3e Marcos Assuncao
}
289 c286aa3e Marcos Assuncao
\newcommand*\AC@acroplural[1]{%
290 c286aa3e Marcos Assuncao
   \@ifnextchar[%]
291 c286aa3e Marcos Assuncao
   {\AC@acroplurali{#1}}{\AC@acropluralii{#1}}%
292 c286aa3e Marcos Assuncao
}
293 c286aa3e Marcos Assuncao
\newcommand\AC@acroplurali{}
294 c286aa3e Marcos Assuncao
\def\AC@acroplurali#1[#2]#3{%
295 c286aa3e Marcos Assuncao
  \@bsphack
296 c286aa3e Marcos Assuncao
  \protected@write\@auxout{}%
297 c286aa3e Marcos Assuncao
    {\string\newacroplural{#1}[\string\AC@hyperlink{#1}{#2}]{#3}}%
298 c286aa3e Marcos Assuncao
  \@esphack
299 c286aa3e Marcos Assuncao
}
300 c286aa3e Marcos Assuncao
\newcommand\AC@acropluralii[2]{
301 c286aa3e Marcos Assuncao
  \@bsphack
302 c286aa3e Marcos Assuncao
  \protected@write\@auxout{}%
303 c286aa3e Marcos Assuncao
    {\string\newacroplural{#1}[\string\AC@hyperlink{#1}{\AC@acs{#1}}]{#2}}%
304 c286aa3e Marcos Assuncao
  \@esphack
305 c286aa3e Marcos Assuncao
}
306 c286aa3e Marcos Assuncao
\newcommand*\AC@aclp[1]{%
307 c286aa3e Marcos Assuncao
  \ifcsname fn@#1@PL\endcsname
308 c286aa3e Marcos Assuncao
  \csname fn@#1@PL\endcsname
309 c286aa3e Marcos Assuncao
  \else
310 c286aa3e Marcos Assuncao
  \AC@acl{#1}s%
311 c286aa3e Marcos Assuncao
  \fi
312 c286aa3e Marcos Assuncao
}
313 c286aa3e Marcos Assuncao
\newcommand*\AC@acsp[1]{%
314 c286aa3e Marcos Assuncao
  \ifcsname fn@#1@PS\endcsname
315 c286aa3e Marcos Assuncao
  \csname fn@#1@PS\endcsname
316 c286aa3e Marcos Assuncao
  \else
317 c286aa3e Marcos Assuncao
  \AC@acs{#1}s%
318 c286aa3e Marcos Assuncao
  \fi
319 c286aa3e Marcos Assuncao
}
320 c286aa3e Marcos Assuncao
321 c286aa3e Marcos Assuncao
\newif\ifAC@starred
322 c286aa3e Marcos Assuncao
\newcommand*\AC@get[3]{%
323 c286aa3e Marcos Assuncao
    \ifx#1\relax
324 c286aa3e Marcos Assuncao
       \PackageWarning{acronym}{Acronym `#3' is not defined}%
325 c286aa3e Marcos Assuncao
       \textbf{#3!}%
326 c286aa3e Marcos Assuncao
    \else
327 c286aa3e Marcos Assuncao
       \expandafter#2#1%
328 c286aa3e Marcos Assuncao
    \fi}
329 c286aa3e Marcos Assuncao
\newcommand*\AC@acs[1]{%
330 c286aa3e Marcos Assuncao
   \mbox{\expandafter\AC@get\csname fn@#1\endcsname\@firstoftwo{#1}}}
331 c286aa3e Marcos Assuncao
\newcommand*\AC@acl[1]{%
332 c286aa3e Marcos Assuncao
   \expandafter\AC@get\csname fn@#1\endcsname\@secondoftwo{#1}}
333 c286aa3e Marcos Assuncao
\newcommand*{\acs}{\AC@starredfalse\protect\acsa}%
334 c286aa3e Marcos Assuncao
\WithSuffix\newcommand\acs*{\AC@starredtrue\protect\acsa}%
335 c286aa3e Marcos Assuncao
\newcommand*{\acsa}[1]{%
336 c286aa3e Marcos Assuncao
   \texorpdfstring{\protect\@acs{#1}}{#1}}
337 c286aa3e Marcos Assuncao
\newcommand*{\@acs}[1]{%
338 c286aa3e Marcos Assuncao
   \acsfont{\AC@acs{#1}}%
339 c286aa3e Marcos Assuncao
%% having a footnote on acs sort of defeats the purpose
340 c286aa3e Marcos Assuncao
%%   \ifAC@footnote
341 c286aa3e Marcos Assuncao
%%      \footnote{\AC@acl{#1}{}}%
342 c286aa3e Marcos Assuncao
%%   \fi
343 c286aa3e Marcos Assuncao
   \ifAC@starred\else\AC@logged{#1}\fi}
344 c286aa3e Marcos Assuncao
\newcommand*{\acl}{\AC@starredfalse\protect\@acl}%
345 c286aa3e Marcos Assuncao
\WithSuffix\newcommand\acl*{\AC@starredtrue\protect\@acl}%
346 c286aa3e Marcos Assuncao
\newcommand*{\@acl}[1]{%
347 c286aa3e Marcos Assuncao
   \AC@acl{#1}%
348 c286aa3e Marcos Assuncao
   \ifAC@starred\else\AC@logged{#1}\fi}
349 c286aa3e Marcos Assuncao
\newcommand*\@verridelabel[1]{%
350 c286aa3e Marcos Assuncao
  \@bsphack
351 c286aa3e Marcos Assuncao
  \protected@write\@auxout{}{\string\undonewlabel{#1}}%
352 c286aa3e Marcos Assuncao
  \label{#1}%
353 c286aa3e Marcos Assuncao
  \@overriddenmessage rs{#1}%
354 c286aa3e Marcos Assuncao
  \@esphack
355 c286aa3e Marcos Assuncao
}%
356 c286aa3e Marcos Assuncao
\newcommand*\undonewlabel{\@und@newl@bel rs}%
357 c286aa3e Marcos Assuncao
\newcommand*\@und@newl@bel[3]{%
358 c286aa3e Marcos Assuncao
  \@ifundefined{#1@#3}%
359 c286aa3e Marcos Assuncao
  {%
360 c286aa3e Marcos Assuncao
    \global\expandafter\let\csname#2@#3\endcsname\@nnil
361 c286aa3e Marcos Assuncao
  }%
362 c286aa3e Marcos Assuncao
  {%
363 c286aa3e Marcos Assuncao
    \global\expandafter\let\csname#1@#3\endcsname\relax
364 c286aa3e Marcos Assuncao
  }%
365 c286aa3e Marcos Assuncao
}%
366 c286aa3e Marcos Assuncao
\newcommand*\@overriddenmessage[3]{%
367 c286aa3e Marcos Assuncao
  \expandafter\ifx\csname#2@#3\endcsname\@nnil
368 c286aa3e Marcos Assuncao
    \expandafter\@firstoftwo
369 c286aa3e Marcos Assuncao
  \else
370 c286aa3e Marcos Assuncao
    \@ifundefined{#1@#3}%
371 c286aa3e Marcos Assuncao
    {%
372 c286aa3e Marcos Assuncao
      \@ifundefined{#2@#3}%
373 c286aa3e Marcos Assuncao
      {\expandafter\@firstoftwo}%
374 c286aa3e Marcos Assuncao
      {\expandafter\@secondoftwo}%
375 c286aa3e Marcos Assuncao
    }%
376 c286aa3e Marcos Assuncao
    {\expandafter\@secondoftwo}%
377 c286aa3e Marcos Assuncao
  \fi
378 c286aa3e Marcos Assuncao
  {%
379 c286aa3e Marcos Assuncao
    \PackageInfo{acronym}{Label `#3' newly defined as it
380 c286aa3e Marcos Assuncao
    shall be overridden^^Jalthough it is yet undefined}%
381 c286aa3e Marcos Assuncao
    \global\expandafter\let\csname#2@#3\endcsname\empty
382 c286aa3e Marcos Assuncao
  }%
383 c286aa3e Marcos Assuncao
  {%
384 c286aa3e Marcos Assuncao
    \PackageInfo{acronym}{Label `#3' overridden}%
385 c286aa3e Marcos Assuncao
    \@ifundefined{#2@#3}{%
386 c286aa3e Marcos Assuncao
      \global\expandafter\let\csname#2@#3\endcsname\empty}{}%
387 c286aa3e Marcos Assuncao
    \expandafter\g@addto@macro\csname#2@#3\endcsname{i}%
388 c286aa3e Marcos Assuncao
  }%
389 c286aa3e Marcos Assuncao
}%
390 c286aa3e Marcos Assuncao
\newcommand*\ac@testdef[3]{%
391 c286aa3e Marcos Assuncao
  \@ifundefined{s@#2}\@secondoftwo\@firstofone
392 c286aa3e Marcos Assuncao
  {%
393 c286aa3e Marcos Assuncao
    \expandafter\ifx\csname s@#2\endcsname\empty
394 c286aa3e Marcos Assuncao
      \expandafter\@firstofone
395 c286aa3e Marcos Assuncao
    \else
396 c286aa3e Marcos Assuncao
      \expandafter\xdef\csname s@#2\endcsname{%
397 c286aa3e Marcos Assuncao
        \expandafter\expandafter
398 c286aa3e Marcos Assuncao
        \expandafter\@gobble
399 c286aa3e Marcos Assuncao
        \csname s@#2\endcsname
400 c286aa3e Marcos Assuncao
      }%
401 c286aa3e Marcos Assuncao
      \expandafter\@gobble
402 c286aa3e Marcos Assuncao
    \fi
403 c286aa3e Marcos Assuncao
  }%
404 c286aa3e Marcos Assuncao
  {%
405 c286aa3e Marcos Assuncao
    \@testdef{#1}{#2}{#3}%
406 c286aa3e Marcos Assuncao
  }%
407 c286aa3e Marcos Assuncao
}%
408 c286aa3e Marcos Assuncao
\protected@write\@auxout{}{%
409 c286aa3e Marcos Assuncao
  \string\reset@newl@bel
410 c286aa3e Marcos Assuncao
}%
411 c286aa3e Marcos Assuncao
\newcommand*\reset@newl@bel{%
412 c286aa3e Marcos Assuncao
  \ifx\@newl@bel\@testdef
413 c286aa3e Marcos Assuncao
    \let\@newl@bel\ac@testdef
414 c286aa3e Marcos Assuncao
    \let\undonewlabel\@gobble
415 c286aa3e Marcos Assuncao
  \fi
416 c286aa3e Marcos Assuncao
}%
417 c286aa3e Marcos Assuncao
\newcommand*\AC@placelabel[1]{%
418 c286aa3e Marcos Assuncao
  \expandafter\ifx\csname ac@#1\endcsname\AC@used
419 c286aa3e Marcos Assuncao
  \else
420 c286aa3e Marcos Assuncao
    {\AC@phantomsection\@verridelabel{acro:#1}}%
421 c286aa3e Marcos Assuncao
    \ifAC@starred\else%
422 c286aa3e Marcos Assuncao
    \global\expandafter\let\csname ac@#1\endcsname\AC@used
423 c286aa3e Marcos Assuncao
    \fi%
424 c286aa3e Marcos Assuncao
    \AC@addtoAC@clearlist{#1}%
425 c286aa3e Marcos Assuncao
  \fi
426 c286aa3e Marcos Assuncao
}%
427 c286aa3e Marcos Assuncao
\newcommand*{\acf}{\AC@starredfalse\protect\acfa}%
428 c286aa3e Marcos Assuncao
\WithSuffix\newcommand\acf*{\AC@starredtrue\protect\acfa}%
429 c286aa3e Marcos Assuncao
\newcommand*{\acfa}[1]{%
430 c286aa3e Marcos Assuncao
   \texorpdfstring{\protect\@acf{#1}}{\AC@acl{#1} (#1)}}
431 c286aa3e Marcos Assuncao
\newcommand*{\@acf}[1]{%
432 c286aa3e Marcos Assuncao
    \ifAC@footnote
433 c286aa3e Marcos Assuncao
       \acsfont{\AC@acs{#1}}%
434 c286aa3e Marcos Assuncao
       \footnote{\AC@placelabel{#1}\hskip\z@\AC@acl{#1}{}}%
435 c286aa3e Marcos Assuncao
    \else
436 c286aa3e Marcos Assuncao
       \acffont{%
437 c286aa3e Marcos Assuncao
          \AC@placelabel{#1}\hskip\z@\AC@acl{#1}%
438 c286aa3e Marcos Assuncao
          \nolinebreak[3] %
439 c286aa3e Marcos Assuncao
          \acfsfont{(\acsfont{\AC@acs{#1}})}%
440 c286aa3e Marcos Assuncao
        }%
441 c286aa3e Marcos Assuncao
     \fi
442 c286aa3e Marcos Assuncao
     \ifAC@starred\else\AC@logged{#1}\fi}
443 c286aa3e Marcos Assuncao
\newcommand*{\ac}{\AC@starredfalse\protect\@ac}%
444 c286aa3e Marcos Assuncao
\WithSuffix\newcommand\ac*{\AC@starredtrue\protect\@ac}%
445 c286aa3e Marcos Assuncao
\newcommand{\@ac}[1]{%
446 c286aa3e Marcos Assuncao
  \ifAC@dua
447 c286aa3e Marcos Assuncao
     \ifAC@starred\acl*{#1}\else\acl{#1}\fi%
448 c286aa3e Marcos Assuncao
  \else
449 c286aa3e Marcos Assuncao
     \expandafter\ifx\csname ac@#1\endcsname\AC@used%
450 c286aa3e Marcos Assuncao
     \ifAC@starred\acs*{#1}\else\acs{#1}\fi%
451 c286aa3e Marcos Assuncao
   \else
452 c286aa3e Marcos Assuncao
     \ifAC@starred\acf*{#1}\else\acf{#1}\fi%
453 c286aa3e Marcos Assuncao
   \fi
454 c286aa3e Marcos Assuncao
  \fi}
455 c286aa3e Marcos Assuncao
\newcommand{\@firstupper}[1]{%
456 c286aa3e Marcos Assuncao
    \StrLeft{#1}{1}[\firstletter]%
457 c286aa3e Marcos Assuncao
    \StrGobbleLeft{#1}{1}[\remainder]%
458 c286aa3e Marcos Assuncao
    \MakeUppercase\firstletter\remainder
459 c286aa3e Marcos Assuncao
}
460 c286aa3e Marcos Assuncao
\newcommand*{\iac}{\AC@starredfalse\protect\@iac}%
461 c286aa3e Marcos Assuncao
\WithSuffix\newcommand\iac*{\AC@starredtrue\protect\@iac}%
462 c286aa3e Marcos Assuncao
\newcommand*{\Iac}{\AC@starredfalse\protect\@Iac}%
463 c286aa3e Marcos Assuncao
\WithSuffix\newcommand\Iac*{\AC@starredtrue\protect\@Iac}%
464 c286aa3e Marcos Assuncao
\newcommand*{\@iaci}[1]{%
465 c286aa3e Marcos Assuncao
   \ifcsname fn@#1@IL\endcsname
466 c286aa3e Marcos Assuncao
     \ifAC@dua
467 c286aa3e Marcos Assuncao
        \csname fn@#1@IL\endcsname%
468 c286aa3e Marcos Assuncao
     \else
469 c286aa3e Marcos Assuncao
        \expandafter\ifx\csname ac@#1\endcsname\AC@used%
470 c286aa3e Marcos Assuncao
        \csname fn@#1@IS\endcsname%
471 c286aa3e Marcos Assuncao
      \else
472 c286aa3e Marcos Assuncao
        \csname fn@#1@IL\endcsname%
473 c286aa3e Marcos Assuncao
      \fi
474 c286aa3e Marcos Assuncao
     \fi
475 c286aa3e Marcos Assuncao
   \else
476 c286aa3e Marcos Assuncao
   a%
477 c286aa3e Marcos Assuncao
   \fi
478 c286aa3e Marcos Assuncao
}
479 c286aa3e Marcos Assuncao
\newcommand*{\@iac}[1]{%
480 c286aa3e Marcos Assuncao
   \@iaci{#1} \ifAC@starred\ac*{#1}\else\ac{#1}\fi%
481 c286aa3e Marcos Assuncao
}
482 c286aa3e Marcos Assuncao
\newcommand*{\@Iac}[1]{%
483 c286aa3e Marcos Assuncao
   \@firstupper{\@iaci{#1}} \ifAC@starred\ac*{#1}\else\ac{#1}\fi%
484 c286aa3e Marcos Assuncao
}
485 c286aa3e Marcos Assuncao
\newcommand*{\acsp}{\AC@starredfalse\protect\acspa}%
486 c286aa3e Marcos Assuncao
\WithSuffix\newcommand\acsp*{\AC@starredtrue\protect\acspa}%
487 c286aa3e Marcos Assuncao
\newcommand*{\acspa}[1]{%
488 c286aa3e Marcos Assuncao
   \texorpdfstring{\protect\@acsp{#1}}{\AC@acsp{#1}}}
489 c286aa3e Marcos Assuncao
\newcommand*{\@acsp}[1]{%
490 c286aa3e Marcos Assuncao
   \acsfont{\AC@acsp{#1}}%
491 c286aa3e Marcos Assuncao
   \ifAC@starred\else\AC@logged{#1}\fi}
492 c286aa3e Marcos Assuncao
\newcommand*{\aclp}{\AC@starredfalse\protect\@aclp}%
493 c286aa3e Marcos Assuncao
\WithSuffix\newcommand\aclp*{\AC@starredtrue\protect\@aclp}%
494 c286aa3e Marcos Assuncao
\newcommand*{\@aclp}[1]{%
495 c286aa3e Marcos Assuncao
   \AC@aclp{#1}%
496 c286aa3e Marcos Assuncao
   \ifAC@starred\else\AC@logged{#1}\fi}
497 c286aa3e Marcos Assuncao
\newcommand*{\acfp}{\AC@starredfalse\protect\acfpa}%
498 c286aa3e Marcos Assuncao
\WithSuffix\newcommand\acfp*{\AC@starredtrue\protect\acfpa}%
499 c286aa3e Marcos Assuncao
\newcommand*{\acfpa}[1]{%
500 c286aa3e Marcos Assuncao
   \texorpdfstring{\protect\@acfp{#1}}{\AC@aclp{#1} (\AC@acsp{#1})}}
501 c286aa3e Marcos Assuncao
\newcommand*{\@acfp}[1]{%
502 c286aa3e Marcos Assuncao
   \ifAC@footnote
503 c286aa3e Marcos Assuncao
      \acsfont{\AC@acsp{#1}}%
504 c286aa3e Marcos Assuncao
      \footnote{\AC@placelabel{#1}\hskip\z@\AC@aclp{#1}{}}%
505 c286aa3e Marcos Assuncao
   \else
506 c286aa3e Marcos Assuncao
      \acffont{%
507 c286aa3e Marcos Assuncao
         \AC@placelabel{#1}\hskip\z@\AC@aclp{#1}%
508 c286aa3e Marcos Assuncao
         \nolinebreak[3] %
509 c286aa3e Marcos Assuncao
         \acfsfont{(\acsfont{\AC@acsp{#1}})}%
510 c286aa3e Marcos Assuncao
         }%
511 c286aa3e Marcos Assuncao
   \fi
512 c286aa3e Marcos Assuncao
   \ifAC@starred\else\AC@logged{#1}\fi}
513 c286aa3e Marcos Assuncao
\newcommand*{\acp}{\AC@starredfalse\protect\@acp}%
514 c286aa3e Marcos Assuncao
\WithSuffix\newcommand\acp*{\AC@starredtrue\protect\@acp}%
515 c286aa3e Marcos Assuncao
\newcommand{\@acp}[1]{%
516 c286aa3e Marcos Assuncao
  \ifAC@dua
517 c286aa3e Marcos Assuncao
     \ifAC@starred\aclp*{#1}\else\aclp{#1}\fi%
518 c286aa3e Marcos Assuncao
  \else
519 c286aa3e Marcos Assuncao
   \expandafter\ifx\csname ac@#1\endcsname\AC@used
520 c286aa3e Marcos Assuncao
      \ifAC@starred\acsp*{#1}\else\acsp{#1}\fi%
521 c286aa3e Marcos Assuncao
   \else
522 c286aa3e Marcos Assuncao
      \ifAC@starred\acfp*{#1}\else\acfp{#1}\fi%
523 c286aa3e Marcos Assuncao
   \fi
524 c286aa3e Marcos Assuncao
  \fi}
525 c286aa3e Marcos Assuncao
\newcommand*{\acfi}{\AC@starredfalse\protect\acfia}%
526 c286aa3e Marcos Assuncao
\WithSuffix\newcommand\acfi*{\AC@starredtrue\protect\acfia}%
527 c286aa3e Marcos Assuncao
\newcommand{\acfia}[1]{%
528 c286aa3e Marcos Assuncao
  {\itshape \AC@acl{#1} \nolinebreak[3]} (\ifAC@starred\acs*{#1}\else\acs{#1}\fi)}
529 c286aa3e Marcos Assuncao
\newcommand{\acused}[1]{%
530 c286aa3e Marcos Assuncao
\global\expandafter\let\csname ac@#1\endcsname\AC@used%
531 c286aa3e Marcos Assuncao
\AC@addtoAC@clearlist{#1}}
532 c286aa3e Marcos Assuncao
\newcommand*{\acsu}{\AC@starredfalse\protect\acsua}%
533 c286aa3e Marcos Assuncao
\WithSuffix\newcommand\acsu*{\AC@starredtrue\protect\acsua}%
534 c286aa3e Marcos Assuncao
\newcommand{\acsua}[1]{%
535 c286aa3e Marcos Assuncao
   \ifAC@starred\acs*{#1}\else\acs{#1}\fi\acused{#1}}
536 c286aa3e Marcos Assuncao
\newcommand*{\aclu}{\AC@starredfalse\protect\aclua}%
537 c286aa3e Marcos Assuncao
\WithSuffix\newcommand\aclu*{\AC@starredtrue\protect\aclua}%
538 c286aa3e Marcos Assuncao
\newcommand{\aclua}[1]{%
539 c286aa3e Marcos Assuncao
   \ifAC@starred\acl*{#1}\else\acl{#1}\fi\acused{#1}}
540 c286aa3e Marcos Assuncao
\endinput
541 c286aa3e Marcos Assuncao
%%
542 c286aa3e Marcos Assuncao
%% End of file `acronym.sty'.