Statistiques
| Branche: | Révision :

xlcloud / papers / 2014 / reservation / acronym.sty @ 848e7701

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

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