xlcloud / papers / 2014 / kwapi / IEEEtran.bst @ 610b40cd
Historique | Voir | Annoter | Télécharger (57,83 ko)
1 | e542267e | Marcos Assuncao | %% |
---|---|---|---|
2 | e542267e | Marcos Assuncao | %% IEEEtran.bst |
3 | e542267e | Marcos Assuncao | %% BibTeX Bibliography Style file for IEEE Journals and Conferences (unsorted) |
4 | e542267e | Marcos Assuncao | %% Version 1.12 (2007/01/11) |
5 | e542267e | Marcos Assuncao | %% |
6 | e542267e | Marcos Assuncao | %% Copyright (c) 2003-2007 Michael Shell |
7 | e542267e | Marcos Assuncao | %% |
8 | e542267e | Marcos Assuncao | %% Original starting code base and algorithms obtained from the output of |
9 | e542267e | Marcos Assuncao | %% Patrick W. Daly's makebst package as well as from prior versions of |
10 | e542267e | Marcos Assuncao | %% IEEE BibTeX styles: |
11 | e542267e | Marcos Assuncao | %% |
12 | e542267e | Marcos Assuncao | %% 1. Howard Trickey and Oren Patashnik's ieeetr.bst (1985/1988) |
13 | e542267e | Marcos Assuncao | %% 2. Silvano Balemi and Richard H. Roy's IEEEbib.bst (1993) |
14 | e542267e | Marcos Assuncao | %% |
15 | e542267e | Marcos Assuncao | %% Support sites: |
16 | e542267e | Marcos Assuncao | %% http://www.michaelshell.org/tex/ieeetran/ |
17 | e542267e | Marcos Assuncao | %% http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/ |
18 | e542267e | Marcos Assuncao | %% and/or |
19 | e542267e | Marcos Assuncao | %% http://www.ieee.org/ |
20 | e542267e | Marcos Assuncao | %% |
21 | e542267e | Marcos Assuncao | %% For use with BibTeX version 0.99a or later |
22 | e542267e | Marcos Assuncao | %% |
23 | e542267e | Marcos Assuncao | %% This is a numerical citation style. |
24 | e542267e | Marcos Assuncao | %% |
25 | e542267e | Marcos Assuncao | %%************************************************************************* |
26 | e542267e | Marcos Assuncao | %% Legal Notice: |
27 | e542267e | Marcos Assuncao | %% This code is offered as-is without any warranty either expressed or |
28 | e542267e | Marcos Assuncao | %% implied; without even the implied warranty of MERCHANTABILITY or |
29 | e542267e | Marcos Assuncao | %% FITNESS FOR A PARTICULAR PURPOSE! |
30 | e542267e | Marcos Assuncao | %% User assumes all risk. |
31 | e542267e | Marcos Assuncao | %% In no event shall IEEE or any contributor to this code be liable for |
32 | e542267e | Marcos Assuncao | %% any damages or losses, including, but not limited to, incidental, |
33 | e542267e | Marcos Assuncao | %% consequential, or any other damages, resulting from the use or misuse |
34 | e542267e | Marcos Assuncao | %% of any information contained here. |
35 | e542267e | Marcos Assuncao | %% |
36 | e542267e | Marcos Assuncao | %% All comments are the opinions of their respective authors and are not |
37 | e542267e | Marcos Assuncao | %% necessarily endorsed by the IEEE. |
38 | e542267e | Marcos Assuncao | %% |
39 | e542267e | Marcos Assuncao | %% This work is distributed under the LaTeX Project Public License (LPPL) |
40 | e542267e | Marcos Assuncao | %% ( http://www.latex-project.org/ ) version 1.3, and may be freely used, |
41 | e542267e | Marcos Assuncao | %% distributed and modified. A copy of the LPPL, version 1.3, is included |
42 | e542267e | Marcos Assuncao | %% in the base LaTeX documentation of all distributions of LaTeX released |
43 | e542267e | Marcos Assuncao | %% 2003/12/01 or later. |
44 | e542267e | Marcos Assuncao | %% Retain all contribution notices and credits. |
45 | e542267e | Marcos Assuncao | %% ** Modified files should be clearly indicated as such, including ** |
46 | e542267e | Marcos Assuncao | %% ** renaming them and changing author support contact information. ** |
47 | e542267e | Marcos Assuncao | %% |
48 | e542267e | Marcos Assuncao | %% File list of work: IEEEabrv.bib, IEEEfull.bib, IEEEexample.bib, |
49 | e542267e | Marcos Assuncao | %% IEEEtran.bst, IEEEtranS.bst, IEEEtranSA.bst, |
50 | e542267e | Marcos Assuncao | %% IEEEtranN.bst, IEEEtranSN.bst, IEEEtran_bst_HOWTO.pdf |
51 | e542267e | Marcos Assuncao | %%************************************************************************* |
52 | e542267e | Marcos Assuncao | % |
53 | e542267e | Marcos Assuncao | % |
54 | e542267e | Marcos Assuncao | % Changelog: |
55 | e542267e | Marcos Assuncao | % |
56 | e542267e | Marcos Assuncao | % 1.00 (2002/08/13) Initial release |
57 | e542267e | Marcos Assuncao | % |
58 | e542267e | Marcos Assuncao | % 1.10 (2002/09/27) |
59 | e542267e | Marcos Assuncao | % 1. Corrected minor bug for improperly formed warning message when a |
60 | e542267e | Marcos Assuncao | % book was not given a title. Thanks to Ming Kin Lai for reporting this. |
61 | e542267e | Marcos Assuncao | % 2. Added support for CTLname_format_string and CTLname_latex_cmd fields |
62 | e542267e | Marcos Assuncao | % in the BST control entry type. |
63 | e542267e | Marcos Assuncao | % |
64 | e542267e | Marcos Assuncao | % 1.11 (2003/04/02) |
65 | e542267e | Marcos Assuncao | % 1. Fixed bug with URLs containing underscores when using url.sty. Thanks |
66 | e542267e | Marcos Assuncao | % to Ming Kin Lai for reporting this. |
67 | e542267e | Marcos Assuncao | % |
68 | e542267e | Marcos Assuncao | % 1.12 (2007/01/11) |
69 | e542267e | Marcos Assuncao | % 1. Fixed bug with unwanted comma before "et al." when an entry contained |
70 | e542267e | Marcos Assuncao | % more than two author names. Thanks to Pallav Gupta for reporting this. |
71 | e542267e | Marcos Assuncao | % 2. Fixed bug with anomalous closing quote in tech reports that have a |
72 | e542267e | Marcos Assuncao | % type, but without a number or address. Thanks to Mehrdad Mirreza for |
73 | e542267e | Marcos Assuncao | % reporting this. |
74 | e542267e | Marcos Assuncao | % 3. Use braces in \providecommand in begin.bib to better support |
75 | e542267e | Marcos Assuncao | % latex2html. TeX style length assignments OK with recent versions |
76 | e542267e | Marcos Assuncao | % of latex2html - 1.71 (2002/2/1) or later is strongly recommended. |
77 | e542267e | Marcos Assuncao | % Use of the language field still causes trouble with latex2html. |
78 | e542267e | Marcos Assuncao | % Thanks to Federico Beffa for reporting this. |
79 | e542267e | Marcos Assuncao | % 4. Added IEEEtran.bst ID and version comment string to .bbl output. |
80 | e542267e | Marcos Assuncao | % 5. Provide a \BIBdecl hook that allows the user to execute commands |
81 | e542267e | Marcos Assuncao | % just prior to the first entry. |
82 | e542267e | Marcos Assuncao | % 6. Use default urlstyle (is using url.sty) of "same" rather than rm to |
83 | e542267e | Marcos Assuncao | % better work with a wider variety of bibliography styles. |
84 | e542267e | Marcos Assuncao | % 7. Changed month abbreviations from Sept., July and June to Sep., Jul., |
85 | e542267e | Marcos Assuncao | % and Jun., respectively, as IEEE now does. Thanks to Moritz Borgmann |
86 | e542267e | Marcos Assuncao | % for reporting this. |
87 | e542267e | Marcos Assuncao | % 8. Control entry types should not be considered when calculating longest |
88 | e542267e | Marcos Assuncao | % label width. |
89 | e542267e | Marcos Assuncao | % 9. Added alias www for electronic/online. |
90 | e542267e | Marcos Assuncao | % 10. Added CTLname_url_prefix control entry type. |
91 | e542267e | Marcos Assuncao | |
92 | e542267e | Marcos Assuncao | |
93 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
94 | e542267e | Marcos Assuncao | %% DEFAULTS FOR THE CONTROLS OF THE BST STYLE %% |
95 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
96 | e542267e | Marcos Assuncao | |
97 | e542267e | Marcos Assuncao | % These are the defaults for the user adjustable controls. The values used |
98 | e542267e | Marcos Assuncao | % here can be overridden by the user via IEEEtranBSTCTL entry type. |
99 | e542267e | Marcos Assuncao | |
100 | e542267e | Marcos Assuncao | % NOTE: The recommended LaTeX command to invoke a control entry type is: |
101 | e542267e | Marcos Assuncao | % |
102 | e542267e | Marcos Assuncao | %\makeatletter |
103 | e542267e | Marcos Assuncao | %\def\bstctlcite{\@ifnextchar[{\@bstctlcite}{\@bstctlcite[@auxout]}} |
104 | e542267e | Marcos Assuncao | %\def\@bstctlcite[#1]#2{\@bsphack |
105 | e542267e | Marcos Assuncao | % \@for\@citeb:=#2\do{% |
106 | e542267e | Marcos Assuncao | % \edef\@citeb{\expandafter\@firstofone\@citeb}% |
107 | e542267e | Marcos Assuncao | % \if@filesw\immediate\write\csname #1\endcsname{\string\citation{\@citeb}}\fi}% |
108 | e542267e | Marcos Assuncao | % \@esphack} |
109 | e542267e | Marcos Assuncao | %\makeatother |
110 | e542267e | Marcos Assuncao | % |
111 | e542267e | Marcos Assuncao | % It is called at the start of the document, before the first \cite, like: |
112 | e542267e | Marcos Assuncao | % \bstctlcite{IEEEexample:BSTcontrol} |
113 | e542267e | Marcos Assuncao | % |
114 | e542267e | Marcos Assuncao | % IEEEtran.cls V1.6 and later does provide this command. |
115 | e542267e | Marcos Assuncao | |
116 | e542267e | Marcos Assuncao | |
117 | e542267e | Marcos Assuncao | |
118 | e542267e | Marcos Assuncao | % #0 turns off the display of the number for articles. |
119 | e542267e | Marcos Assuncao | % #1 enables |
120 | e542267e | Marcos Assuncao | FUNCTION {default.is.use.number.for.article} { #1 } |
121 | e542267e | Marcos Assuncao | |
122 | e542267e | Marcos Assuncao | |
123 | e542267e | Marcos Assuncao | % #0 turns off the display of the paper and type fields in @inproceedings. |
124 | e542267e | Marcos Assuncao | % #1 enables |
125 | e542267e | Marcos Assuncao | FUNCTION {default.is.use.paper} { #1 } |
126 | e542267e | Marcos Assuncao | |
127 | e542267e | Marcos Assuncao | |
128 | e542267e | Marcos Assuncao | % #0 turns off the forced use of "et al." |
129 | e542267e | Marcos Assuncao | % #1 enables |
130 | e542267e | Marcos Assuncao | FUNCTION {default.is.forced.et.al} { #0 } |
131 | e542267e | Marcos Assuncao | |
132 | e542267e | Marcos Assuncao | % The maximum number of names that can be present beyond which an "et al." |
133 | e542267e | Marcos Assuncao | % usage is forced. Be sure that num.names.shown.with.forced.et.al (below) |
134 | e542267e | Marcos Assuncao | % is not greater than this value! |
135 | e542267e | Marcos Assuncao | % Note: There are many instances of references in IEEE journals which have |
136 | e542267e | Marcos Assuncao | % a very large number of authors as well as instances in which "et al." is |
137 | e542267e | Marcos Assuncao | % used profusely. |
138 | e542267e | Marcos Assuncao | FUNCTION {default.max.num.names.before.forced.et.al} { #10 } |
139 | e542267e | Marcos Assuncao | |
140 | e542267e | Marcos Assuncao | % The number of names that will be shown with a forced "et al.". |
141 | e542267e | Marcos Assuncao | % Must be less than or equal to max.num.names.before.forced.et.al |
142 | e542267e | Marcos Assuncao | FUNCTION {default.num.names.shown.with.forced.et.al} { #1 } |
143 | e542267e | Marcos Assuncao | |
144 | e542267e | Marcos Assuncao | |
145 | e542267e | Marcos Assuncao | % #0 turns off the alternate interword spacing for entries with URLs. |
146 | e542267e | Marcos Assuncao | % #1 enables |
147 | e542267e | Marcos Assuncao | FUNCTION {default.is.use.alt.interword.spacing} { #1 } |
148 | e542267e | Marcos Assuncao | |
149 | e542267e | Marcos Assuncao | % If alternate interword spacing for entries with URLs is enabled, this is |
150 | e542267e | Marcos Assuncao | % the interword spacing stretch factor that will be used. For example, the |
151 | e542267e | Marcos Assuncao | % default "4" here means that the interword spacing in entries with URLs can |
152 | e542267e | Marcos Assuncao | % stretch to four times normal. Does not have to be an integer. Note that |
153 | e542267e | Marcos Assuncao | % the value specified here can be overridden by the user in their LaTeX |
154 | e542267e | Marcos Assuncao | % code via a command such as: |
155 | e542267e | Marcos Assuncao | % "\providecommand\BIBentryALTinterwordstretchfactor{1.5}" in addition to |
156 | e542267e | Marcos Assuncao | % that via the IEEEtranBSTCTL entry type. |
157 | e542267e | Marcos Assuncao | FUNCTION {default.ALTinterwordstretchfactor} { "4" } |
158 | e542267e | Marcos Assuncao | |
159 | e542267e | Marcos Assuncao | |
160 | e542267e | Marcos Assuncao | % #0 turns off the "dashification" of repeated (i.e., identical to those |
161 | e542267e | Marcos Assuncao | % of the previous entry) names. IEEE normally does this. |
162 | e542267e | Marcos Assuncao | % #1 enables |
163 | e542267e | Marcos Assuncao | FUNCTION {default.is.dash.repeated.names} { #1 } |
164 | e542267e | Marcos Assuncao | |
165 | e542267e | Marcos Assuncao | |
166 | e542267e | Marcos Assuncao | % The default name format control string. |
167 | e542267e | Marcos Assuncao | FUNCTION {default.name.format.string}{ "{f.~}{vv~}{ll}{, jj}" } |
168 | e542267e | Marcos Assuncao | |
169 | e542267e | Marcos Assuncao | |
170 | e542267e | Marcos Assuncao | % The default LaTeX font command for the names. |
171 | e542267e | Marcos Assuncao | FUNCTION {default.name.latex.cmd}{ "" } |
172 | e542267e | Marcos Assuncao | |
173 | e542267e | Marcos Assuncao | |
174 | e542267e | Marcos Assuncao | % The default URL prefix. |
175 | e542267e | Marcos Assuncao | FUNCTION {default.name.url.prefix}{ "[Online]. Available:" } |
176 | e542267e | Marcos Assuncao | |
177 | e542267e | Marcos Assuncao | |
178 | e542267e | Marcos Assuncao | % Other controls that cannot be accessed via IEEEtranBSTCTL entry type. |
179 | e542267e | Marcos Assuncao | |
180 | e542267e | Marcos Assuncao | % #0 turns off the terminal startup banner/completed message so as to |
181 | e542267e | Marcos Assuncao | % operate more quietly. |
182 | e542267e | Marcos Assuncao | % #1 enables |
183 | e542267e | Marcos Assuncao | FUNCTION {is.print.banners.to.terminal} { #1 } |
184 | e542267e | Marcos Assuncao | |
185 | e542267e | Marcos Assuncao | |
186 | e542267e | Marcos Assuncao | |
187 | e542267e | Marcos Assuncao | |
188 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
189 | e542267e | Marcos Assuncao | %% FILE VERSION AND BANNER %% |
190 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
191 | e542267e | Marcos Assuncao | |
192 | e542267e | Marcos Assuncao | FUNCTION{bst.file.version} { "1.12" } |
193 | e542267e | Marcos Assuncao | FUNCTION{bst.file.date} { "2007/01/11" } |
194 | e542267e | Marcos Assuncao | FUNCTION{bst.file.website} { "http://www.michaelshell.org/tex/ieeetran/bibtex/" } |
195 | e542267e | Marcos Assuncao | |
196 | e542267e | Marcos Assuncao | FUNCTION {banner.message} |
197 | e542267e | Marcos Assuncao | { is.print.banners.to.terminal |
198 | e542267e | Marcos Assuncao | { "-- IEEEtran.bst version" " " * bst.file.version * |
199 | e542267e | Marcos Assuncao | " (" * bst.file.date * ") " * "by Michael Shell." * |
200 | e542267e | Marcos Assuncao | top$ |
201 | e542267e | Marcos Assuncao | "-- " bst.file.website * |
202 | e542267e | Marcos Assuncao | top$ |
203 | e542267e | Marcos Assuncao | "-- See the " quote$ * "IEEEtran_bst_HOWTO.pdf" * quote$ * " manual for usage information." * |
204 | e542267e | Marcos Assuncao | top$ |
205 | e542267e | Marcos Assuncao | } |
206 | e542267e | Marcos Assuncao | { skip$ } |
207 | e542267e | Marcos Assuncao | if$ |
208 | e542267e | Marcos Assuncao | } |
209 | e542267e | Marcos Assuncao | |
210 | e542267e | Marcos Assuncao | FUNCTION {completed.message} |
211 | e542267e | Marcos Assuncao | { is.print.banners.to.terminal |
212 | e542267e | Marcos Assuncao | { "" |
213 | e542267e | Marcos Assuncao | top$ |
214 | e542267e | Marcos Assuncao | "Done." |
215 | e542267e | Marcos Assuncao | top$ |
216 | e542267e | Marcos Assuncao | } |
217 | e542267e | Marcos Assuncao | { skip$ } |
218 | e542267e | Marcos Assuncao | if$ |
219 | e542267e | Marcos Assuncao | } |
220 | e542267e | Marcos Assuncao | |
221 | e542267e | Marcos Assuncao | |
222 | e542267e | Marcos Assuncao | |
223 | e542267e | Marcos Assuncao | |
224 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%%%%%% |
225 | e542267e | Marcos Assuncao | %% STRING CONSTANTS %% |
226 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%%%%%% |
227 | e542267e | Marcos Assuncao | |
228 | e542267e | Marcos Assuncao | FUNCTION {bbl.and}{ "and" } |
229 | e542267e | Marcos Assuncao | FUNCTION {bbl.etal}{ "et~al." } |
230 | e542267e | Marcos Assuncao | FUNCTION {bbl.editors}{ "eds." } |
231 | e542267e | Marcos Assuncao | FUNCTION {bbl.editor}{ "ed." } |
232 | e542267e | Marcos Assuncao | FUNCTION {bbl.edition}{ "ed." } |
233 | e542267e | Marcos Assuncao | FUNCTION {bbl.volume}{ "vol." } |
234 | e542267e | Marcos Assuncao | FUNCTION {bbl.of}{ "of" } |
235 | e542267e | Marcos Assuncao | FUNCTION {bbl.number}{ "no." } |
236 | e542267e | Marcos Assuncao | FUNCTION {bbl.in}{ "in" } |
237 | e542267e | Marcos Assuncao | FUNCTION {bbl.pages}{ "pp." } |
238 | e542267e | Marcos Assuncao | FUNCTION {bbl.page}{ "p." } |
239 | e542267e | Marcos Assuncao | FUNCTION {bbl.chapter}{ "ch." } |
240 | e542267e | Marcos Assuncao | FUNCTION {bbl.paper}{ "paper" } |
241 | e542267e | Marcos Assuncao | FUNCTION {bbl.part}{ "pt." } |
242 | e542267e | Marcos Assuncao | FUNCTION {bbl.patent}{ "Patent" } |
243 | e542267e | Marcos Assuncao | FUNCTION {bbl.patentUS}{ "U.S." } |
244 | e542267e | Marcos Assuncao | FUNCTION {bbl.revision}{ "Rev." } |
245 | e542267e | Marcos Assuncao | FUNCTION {bbl.series}{ "ser." } |
246 | e542267e | Marcos Assuncao | FUNCTION {bbl.standard}{ "Std." } |
247 | e542267e | Marcos Assuncao | FUNCTION {bbl.techrep}{ "Tech. Rep." } |
248 | e542267e | Marcos Assuncao | FUNCTION {bbl.mthesis}{ "Master's thesis" } |
249 | e542267e | Marcos Assuncao | FUNCTION {bbl.phdthesis}{ "Ph.D. dissertation" } |
250 | e542267e | Marcos Assuncao | FUNCTION {bbl.st}{ "st" } |
251 | e542267e | Marcos Assuncao | FUNCTION {bbl.nd}{ "nd" } |
252 | e542267e | Marcos Assuncao | FUNCTION {bbl.rd}{ "rd" } |
253 | e542267e | Marcos Assuncao | FUNCTION {bbl.th}{ "th" } |
254 | e542267e | Marcos Assuncao | |
255 | e542267e | Marcos Assuncao | |
256 | e542267e | Marcos Assuncao | % This is the LaTeX spacer that is used when a larger than normal space |
257 | e542267e | Marcos Assuncao | % is called for (such as just before the address:publisher). |
258 | e542267e | Marcos Assuncao | FUNCTION {large.space} { "\hskip 1em plus 0.5em minus 0.4em\relax " } |
259 | e542267e | Marcos Assuncao | |
260 | e542267e | Marcos Assuncao | % The LaTeX code for dashes that are used to represent repeated names. |
261 | e542267e | Marcos Assuncao | % Note: Some older IEEE journals used something like |
262 | e542267e | Marcos Assuncao | % "\rule{0.275in}{0.5pt}\," which is fairly thick and runs right along |
263 | e542267e | Marcos Assuncao | % the baseline. However, IEEE now uses a thinner, above baseline, |
264 | e542267e | Marcos Assuncao | % six dash long sequence. |
265 | e542267e | Marcos Assuncao | FUNCTION {repeated.name.dashes} { "------" } |
266 | e542267e | Marcos Assuncao | |
267 | e542267e | Marcos Assuncao | |
268 | e542267e | Marcos Assuncao | |
269 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
270 | e542267e | Marcos Assuncao | %% PREDEFINED STRING MACROS %% |
271 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
272 | e542267e | Marcos Assuncao | |
273 | e542267e | Marcos Assuncao | MACRO {jan} {"Jan."} |
274 | e542267e | Marcos Assuncao | MACRO {feb} {"Feb."} |
275 | e542267e | Marcos Assuncao | MACRO {mar} {"Mar."} |
276 | e542267e | Marcos Assuncao | MACRO {apr} {"Apr."} |
277 | e542267e | Marcos Assuncao | MACRO {may} {"May"} |
278 | e542267e | Marcos Assuncao | MACRO {jun} {"Jun."} |
279 | e542267e | Marcos Assuncao | MACRO {jul} {"Jul."} |
280 | e542267e | Marcos Assuncao | MACRO {aug} {"Aug."} |
281 | e542267e | Marcos Assuncao | MACRO {sep} {"Sep."} |
282 | e542267e | Marcos Assuncao | MACRO {oct} {"Oct."} |
283 | e542267e | Marcos Assuncao | MACRO {nov} {"Nov."} |
284 | e542267e | Marcos Assuncao | MACRO {dec} {"Dec."} |
285 | e542267e | Marcos Assuncao | |
286 | e542267e | Marcos Assuncao | |
287 | e542267e | Marcos Assuncao | |
288 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%% |
289 | e542267e | Marcos Assuncao | %% ENTRY FIELDS %% |
290 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%% |
291 | e542267e | Marcos Assuncao | |
292 | e542267e | Marcos Assuncao | ENTRY |
293 | e542267e | Marcos Assuncao | { address |
294 | e542267e | Marcos Assuncao | assignee |
295 | e542267e | Marcos Assuncao | author |
296 | e542267e | Marcos Assuncao | booktitle |
297 | e542267e | Marcos Assuncao | chapter |
298 | e542267e | Marcos Assuncao | day |
299 | e542267e | Marcos Assuncao | dayfiled |
300 | e542267e | Marcos Assuncao | edition |
301 | e542267e | Marcos Assuncao | editor |
302 | e542267e | Marcos Assuncao | howpublished |
303 | e542267e | Marcos Assuncao | institution |
304 | e542267e | Marcos Assuncao | intype |
305 | e542267e | Marcos Assuncao | journal |
306 | e542267e | Marcos Assuncao | key |
307 | e542267e | Marcos Assuncao | language |
308 | e542267e | Marcos Assuncao | month |
309 | e542267e | Marcos Assuncao | monthfiled |
310 | e542267e | Marcos Assuncao | nationality |
311 | e542267e | Marcos Assuncao | note |
312 | e542267e | Marcos Assuncao | number |
313 | e542267e | Marcos Assuncao | organization |
314 | e542267e | Marcos Assuncao | pages |
315 | e542267e | Marcos Assuncao | paper |
316 | e542267e | Marcos Assuncao | publisher |
317 | e542267e | Marcos Assuncao | school |
318 | e542267e | Marcos Assuncao | series |
319 | e542267e | Marcos Assuncao | revision |
320 | e542267e | Marcos Assuncao | title |
321 | e542267e | Marcos Assuncao | type |
322 | e542267e | Marcos Assuncao | url |
323 | e542267e | Marcos Assuncao | volume |
324 | e542267e | Marcos Assuncao | year |
325 | e542267e | Marcos Assuncao | yearfiled |
326 | e542267e | Marcos Assuncao | CTLuse_article_number |
327 | e542267e | Marcos Assuncao | CTLuse_paper |
328 | e542267e | Marcos Assuncao | CTLuse_forced_etal |
329 | e542267e | Marcos Assuncao | CTLmax_names_forced_etal |
330 | e542267e | Marcos Assuncao | CTLnames_show_etal |
331 | e542267e | Marcos Assuncao | CTLuse_alt_spacing |
332 | e542267e | Marcos Assuncao | CTLalt_stretch_factor |
333 | e542267e | Marcos Assuncao | CTLdash_repeated_names |
334 | e542267e | Marcos Assuncao | CTLname_format_string |
335 | e542267e | Marcos Assuncao | CTLname_latex_cmd |
336 | e542267e | Marcos Assuncao | CTLname_url_prefix |
337 | e542267e | Marcos Assuncao | } |
338 | e542267e | Marcos Assuncao | {} |
339 | e542267e | Marcos Assuncao | { label } |
340 | e542267e | Marcos Assuncao | |
341 | e542267e | Marcos Assuncao | |
342 | e542267e | Marcos Assuncao | |
343 | e542267e | Marcos Assuncao | |
344 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%%%%%%% |
345 | e542267e | Marcos Assuncao | %% INTEGER VARIABLES %% |
346 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%%%%%%% |
347 | e542267e | Marcos Assuncao | |
348 | e542267e | Marcos Assuncao | INTEGERS { prev.status.punct this.status.punct punct.std |
349 | e542267e | Marcos Assuncao | punct.no punct.comma punct.period |
350 | e542267e | Marcos Assuncao | prev.status.space this.status.space space.std |
351 | e542267e | Marcos Assuncao | space.no space.normal space.large |
352 | e542267e | Marcos Assuncao | prev.status.quote this.status.quote quote.std |
353 | e542267e | Marcos Assuncao | quote.no quote.close |
354 | e542267e | Marcos Assuncao | prev.status.nline this.status.nline nline.std |
355 | e542267e | Marcos Assuncao | nline.no nline.newblock |
356 | e542267e | Marcos Assuncao | status.cap cap.std |
357 | e542267e | Marcos Assuncao | cap.no cap.yes} |
358 | e542267e | Marcos Assuncao | |
359 | e542267e | Marcos Assuncao | INTEGERS { longest.label.width multiresult nameptr namesleft number.label numnames } |
360 | e542267e | Marcos Assuncao | |
361 | e542267e | Marcos Assuncao | INTEGERS { is.use.number.for.article |
362 | e542267e | Marcos Assuncao | is.use.paper |
363 | e542267e | Marcos Assuncao | is.forced.et.al |
364 | e542267e | Marcos Assuncao | max.num.names.before.forced.et.al |
365 | e542267e | Marcos Assuncao | num.names.shown.with.forced.et.al |
366 | e542267e | Marcos Assuncao | is.use.alt.interword.spacing |
367 | e542267e | Marcos Assuncao | is.dash.repeated.names} |
368 | e542267e | Marcos Assuncao | |
369 | e542267e | Marcos Assuncao | |
370 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%%%%%% |
371 | e542267e | Marcos Assuncao | %% STRING VARIABLES %% |
372 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%%%%%% |
373 | e542267e | Marcos Assuncao | |
374 | e542267e | Marcos Assuncao | STRINGS { bibinfo |
375 | e542267e | Marcos Assuncao | longest.label |
376 | e542267e | Marcos Assuncao | oldname |
377 | e542267e | Marcos Assuncao | s |
378 | e542267e | Marcos Assuncao | t |
379 | e542267e | Marcos Assuncao | ALTinterwordstretchfactor |
380 | e542267e | Marcos Assuncao | name.format.string |
381 | e542267e | Marcos Assuncao | name.latex.cmd |
382 | e542267e | Marcos Assuncao | name.url.prefix} |
383 | e542267e | Marcos Assuncao | |
384 | e542267e | Marcos Assuncao | |
385 | e542267e | Marcos Assuncao | |
386 | e542267e | Marcos Assuncao | |
387 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%%%%%%%%% |
388 | e542267e | Marcos Assuncao | %% LOW LEVEL FUNCTIONS %% |
389 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%%%%%%%%% |
390 | e542267e | Marcos Assuncao | |
391 | e542267e | Marcos Assuncao | FUNCTION {initialize.controls} |
392 | e542267e | Marcos Assuncao | { default.is.use.number.for.article 'is.use.number.for.article := |
393 | e542267e | Marcos Assuncao | default.is.use.paper 'is.use.paper := |
394 | e542267e | Marcos Assuncao | default.is.forced.et.al 'is.forced.et.al := |
395 | e542267e | Marcos Assuncao | default.max.num.names.before.forced.et.al 'max.num.names.before.forced.et.al := |
396 | e542267e | Marcos Assuncao | default.num.names.shown.with.forced.et.al 'num.names.shown.with.forced.et.al := |
397 | e542267e | Marcos Assuncao | default.is.use.alt.interword.spacing 'is.use.alt.interword.spacing := |
398 | e542267e | Marcos Assuncao | default.is.dash.repeated.names 'is.dash.repeated.names := |
399 | e542267e | Marcos Assuncao | default.ALTinterwordstretchfactor 'ALTinterwordstretchfactor := |
400 | e542267e | Marcos Assuncao | default.name.format.string 'name.format.string := |
401 | e542267e | Marcos Assuncao | default.name.latex.cmd 'name.latex.cmd := |
402 | e542267e | Marcos Assuncao | default.name.url.prefix 'name.url.prefix := |
403 | e542267e | Marcos Assuncao | } |
404 | e542267e | Marcos Assuncao | |
405 | e542267e | Marcos Assuncao | |
406 | e542267e | Marcos Assuncao | % This IEEEtran.bst features a very powerful and flexible mechanism for |
407 | e542267e | Marcos Assuncao | % controlling the capitalization, punctuation, spacing, quotation, and |
408 | e542267e | Marcos Assuncao | % newlines of the formatted entry fields. (Note: IEEEtran.bst does not need |
409 | e542267e | Marcos Assuncao | % or use the newline/newblock feature, but it has been implemented for |
410 | e542267e | Marcos Assuncao | % possible future use.) The output states of IEEEtran.bst consist of |
411 | e542267e | Marcos Assuncao | % multiple independent attributes and, as such, can be thought of as being |
412 | e542267e | Marcos Assuncao | % vectors, rather than the simple scalar values ("before.all", |
413 | e542267e | Marcos Assuncao | % "mid.sentence", etc.) used in most other .bst files. |
414 | e542267e | Marcos Assuncao | % |
415 | e542267e | Marcos Assuncao | % The more flexible and complex design used here was motivated in part by |
416 | e542267e | Marcos Assuncao | % IEEE's rather unusual bibliography style. For example, IEEE ends the |
417 | e542267e | Marcos Assuncao | % previous field item with a period and large space prior to the publisher |
418 | e542267e | Marcos Assuncao | % address; the @electronic entry types use periods as inter-item punctuation |
419 | e542267e | Marcos Assuncao | % rather than the commas used by the other entry types; and URLs are never |
420 | e542267e | Marcos Assuncao | % followed by periods even though they are the last item in the entry. |
421 | e542267e | Marcos Assuncao | % Although it is possible to accommodate these features with the conventional |
422 | e542267e | Marcos Assuncao | % output state system, the seemingly endless exceptions make for convoluted, |
423 | e542267e | Marcos Assuncao | % unreliable and difficult to maintain code. |
424 | e542267e | Marcos Assuncao | % |
425 | e542267e | Marcos Assuncao | % IEEEtran.bst's output state system can be easily understood via a simple |
426 | e542267e | Marcos Assuncao | % illustration of two most recently formatted entry fields (on the stack): |
427 | e542267e | Marcos Assuncao | % |
428 | e542267e | Marcos Assuncao | % CURRENT_ITEM |
429 | e542267e | Marcos Assuncao | % "PREVIOUS_ITEM |
430 | e542267e | Marcos Assuncao | % |
431 | e542267e | Marcos Assuncao | % which, in this example, is to eventually appear in the bibliography as: |
432 | e542267e | Marcos Assuncao | % |
433 | e542267e | Marcos Assuncao | % "PREVIOUS_ITEM," CURRENT_ITEM |
434 | e542267e | Marcos Assuncao | % |
435 | e542267e | Marcos Assuncao | % It is the job of the output routine to take the previous item off of the |
436 | e542267e | Marcos Assuncao | % stack (while leaving the current item at the top of the stack), apply its |
437 | e542267e | Marcos Assuncao | % trailing punctuation (including closing quote marks) and spacing, and then |
438 | e542267e | Marcos Assuncao | % to write the result to BibTeX's output buffer: |
439 | e542267e | Marcos Assuncao | % |
440 | e542267e | Marcos Assuncao | % "PREVIOUS_ITEM," |
441 | e542267e | Marcos Assuncao | % |
442 | e542267e | Marcos Assuncao | % Punctuation (and spacing) between items is often determined by both of the |
443 | e542267e | Marcos Assuncao | % items rather than just the first one. The presence of quotation marks |
444 | e542267e | Marcos Assuncao | % further complicates the situation because, in standard English, trailing |
445 | e542267e | Marcos Assuncao | % punctuation marks are supposed to be contained within the quotes. |
446 | e542267e | Marcos Assuncao | % |
447 | e542267e | Marcos Assuncao | % IEEEtran.bst maintains two output state (aka "status") vectors which |
448 | e542267e | Marcos Assuncao | % correspond to the previous and current (aka "this") items. Each vector |
449 | e542267e | Marcos Assuncao | % consists of several independent attributes which track punctuation, |
450 | e542267e | Marcos Assuncao | % spacing, quotation, and newlines. Capitalization status is handled by a |
451 | e542267e | Marcos Assuncao | % separate scalar because the format routines, not the output routine, |
452 | e542267e | Marcos Assuncao | % handle capitalization and, therefore, there is no need to maintain the |
453 | e542267e | Marcos Assuncao | % capitalization attribute for both the "previous" and "this" items. |
454 | e542267e | Marcos Assuncao | % |
455 | e542267e | Marcos Assuncao | % When a format routine adds a new item, it copies the current output status |
456 | e542267e | Marcos Assuncao | % vector to the previous output status vector and (usually) resets the |
457 | e542267e | Marcos Assuncao | % current (this) output status vector to a "standard status" vector. Using a |
458 | e542267e | Marcos Assuncao | % "standard status" vector in this way allows us to redefine what we mean by |
459 | e542267e | Marcos Assuncao | % "standard status" at the start of each entry handler and reuse the same |
460 | e542267e | Marcos Assuncao | % format routines under the various inter-item separation schemes. For |
461 | e542267e | Marcos Assuncao | % example, the standard status vector for the @book entry type may use |
462 | e542267e | Marcos Assuncao | % commas for item separators, while the @electronic type may use periods, |
463 | e542267e | Marcos Assuncao | % yet both entry handlers exploit many of the exact same format routines. |
464 | e542267e | Marcos Assuncao | % |
465 | e542267e | Marcos Assuncao | % Because format routines have write access to the output status vector of |
466 | e542267e | Marcos Assuncao | % the previous item, they can override the punctuation choices of the |
467 | e542267e | Marcos Assuncao | % previous format routine! Therefore, it becomes trivial to implement rules |
468 | e542267e | Marcos Assuncao | % such as "Always use a period and a large space before the publisher." By |
469 | e542267e | Marcos Assuncao | % pushing the generation of the closing quote mark to the output routine, we |
470 | e542267e | Marcos Assuncao | % avoid all the problems caused by having to close a quote before having all |
471 | e542267e | Marcos Assuncao | % the information required to determine what the punctuation should be. |
472 | e542267e | Marcos Assuncao | % |
473 | e542267e | Marcos Assuncao | % The IEEEtran.bst output state system can easily be expanded if needed. |
474 | e542267e | Marcos Assuncao | % For instance, it is easy to add a "space.tie" attribute value if the |
475 | e542267e | Marcos Assuncao | % bibliography rules mandate that two items have to be joined with an |
476 | e542267e | Marcos Assuncao | % unbreakable space. |
477 | e542267e | Marcos Assuncao | |
478 | e542267e | Marcos Assuncao | FUNCTION {initialize.status.constants} |
479 | e542267e | Marcos Assuncao | { #0 'punct.no := |
480 | e542267e | Marcos Assuncao | #1 'punct.comma := |
481 | e542267e | Marcos Assuncao | #2 'punct.period := |
482 | e542267e | Marcos Assuncao | #0 'space.no := |
483 | e542267e | Marcos Assuncao | #1 'space.normal := |
484 | e542267e | Marcos Assuncao | #2 'space.large := |
485 | e542267e | Marcos Assuncao | #0 'quote.no := |
486 | e542267e | Marcos Assuncao | #1 'quote.close := |
487 | e542267e | Marcos Assuncao | #0 'cap.no := |
488 | e542267e | Marcos Assuncao | #1 'cap.yes := |
489 | e542267e | Marcos Assuncao | #0 'nline.no := |
490 | e542267e | Marcos Assuncao | #1 'nline.newblock := |
491 | e542267e | Marcos Assuncao | } |
492 | e542267e | Marcos Assuncao | |
493 | e542267e | Marcos Assuncao | FUNCTION {std.status.using.comma} |
494 | e542267e | Marcos Assuncao | { punct.comma 'punct.std := |
495 | e542267e | Marcos Assuncao | space.normal 'space.std := |
496 | e542267e | Marcos Assuncao | quote.no 'quote.std := |
497 | e542267e | Marcos Assuncao | nline.no 'nline.std := |
498 | e542267e | Marcos Assuncao | cap.no 'cap.std := |
499 | e542267e | Marcos Assuncao | } |
500 | e542267e | Marcos Assuncao | |
501 | e542267e | Marcos Assuncao | FUNCTION {std.status.using.period} |
502 | e542267e | Marcos Assuncao | { punct.period 'punct.std := |
503 | e542267e | Marcos Assuncao | space.normal 'space.std := |
504 | e542267e | Marcos Assuncao | quote.no 'quote.std := |
505 | e542267e | Marcos Assuncao | nline.no 'nline.std := |
506 | e542267e | Marcos Assuncao | cap.yes 'cap.std := |
507 | e542267e | Marcos Assuncao | } |
508 | e542267e | Marcos Assuncao | |
509 | e542267e | Marcos Assuncao | FUNCTION {initialize.prev.this.status} |
510 | e542267e | Marcos Assuncao | { punct.no 'prev.status.punct := |
511 | e542267e | Marcos Assuncao | space.no 'prev.status.space := |
512 | e542267e | Marcos Assuncao | quote.no 'prev.status.quote := |
513 | e542267e | Marcos Assuncao | nline.no 'prev.status.nline := |
514 | e542267e | Marcos Assuncao | punct.no 'this.status.punct := |
515 | e542267e | Marcos Assuncao | space.no 'this.status.space := |
516 | e542267e | Marcos Assuncao | quote.no 'this.status.quote := |
517 | e542267e | Marcos Assuncao | nline.no 'this.status.nline := |
518 | e542267e | Marcos Assuncao | cap.yes 'status.cap := |
519 | e542267e | Marcos Assuncao | } |
520 | e542267e | Marcos Assuncao | |
521 | e542267e | Marcos Assuncao | FUNCTION {this.status.std} |
522 | e542267e | Marcos Assuncao | { punct.std 'this.status.punct := |
523 | e542267e | Marcos Assuncao | space.std 'this.status.space := |
524 | e542267e | Marcos Assuncao | quote.std 'this.status.quote := |
525 | e542267e | Marcos Assuncao | nline.std 'this.status.nline := |
526 | e542267e | Marcos Assuncao | } |
527 | e542267e | Marcos Assuncao | |
528 | e542267e | Marcos Assuncao | FUNCTION {cap.status.std}{ cap.std 'status.cap := } |
529 | e542267e | Marcos Assuncao | |
530 | e542267e | Marcos Assuncao | FUNCTION {this.to.prev.status} |
531 | e542267e | Marcos Assuncao | { this.status.punct 'prev.status.punct := |
532 | e542267e | Marcos Assuncao | this.status.space 'prev.status.space := |
533 | e542267e | Marcos Assuncao | this.status.quote 'prev.status.quote := |
534 | e542267e | Marcos Assuncao | this.status.nline 'prev.status.nline := |
535 | e542267e | Marcos Assuncao | } |
536 | e542267e | Marcos Assuncao | |
537 | e542267e | Marcos Assuncao | |
538 | e542267e | Marcos Assuncao | FUNCTION {not} |
539 | e542267e | Marcos Assuncao | { { #0 } |
540 | e542267e | Marcos Assuncao | { #1 } |
541 | e542267e | Marcos Assuncao | if$ |
542 | e542267e | Marcos Assuncao | } |
543 | e542267e | Marcos Assuncao | |
544 | e542267e | Marcos Assuncao | FUNCTION {and} |
545 | e542267e | Marcos Assuncao | { { skip$ } |
546 | e542267e | Marcos Assuncao | { pop$ #0 } |
547 | e542267e | Marcos Assuncao | if$ |
548 | e542267e | Marcos Assuncao | } |
549 | e542267e | Marcos Assuncao | |
550 | e542267e | Marcos Assuncao | FUNCTION {or} |
551 | e542267e | Marcos Assuncao | { { pop$ #1 } |
552 | e542267e | Marcos Assuncao | { skip$ } |
553 | e542267e | Marcos Assuncao | if$ |
554 | e542267e | Marcos Assuncao | } |
555 | e542267e | Marcos Assuncao | |
556 | e542267e | Marcos Assuncao | |
557 | e542267e | Marcos Assuncao | % convert the strings "yes" or "no" to #1 or #0 respectively |
558 | e542267e | Marcos Assuncao | FUNCTION {yes.no.to.int} |
559 | e542267e | Marcos Assuncao | { "l" change.case$ duplicate$ |
560 | e542267e | Marcos Assuncao | "yes" = |
561 | e542267e | Marcos Assuncao | { pop$ #1 } |
562 | e542267e | Marcos Assuncao | { duplicate$ "no" = |
563 | e542267e | Marcos Assuncao | { pop$ #0 } |
564 | e542267e | Marcos Assuncao | { "unknown boolean " quote$ * swap$ * quote$ * |
565 | e542267e | Marcos Assuncao | " in " * cite$ * warning$ |
566 | e542267e | Marcos Assuncao | #0 |
567 | e542267e | Marcos Assuncao | } |
568 | e542267e | Marcos Assuncao | if$ |
569 | e542267e | Marcos Assuncao | } |
570 | e542267e | Marcos Assuncao | if$ |
571 | e542267e | Marcos Assuncao | } |
572 | e542267e | Marcos Assuncao | |
573 | e542267e | Marcos Assuncao | |
574 | e542267e | Marcos Assuncao | % pushes true if the single char string on the stack is in the |
575 | e542267e | Marcos Assuncao | % range of "0" to "9" |
576 | e542267e | Marcos Assuncao | FUNCTION {is.num} |
577 | e542267e | Marcos Assuncao | { chr.to.int$ |
578 | e542267e | Marcos Assuncao | duplicate$ "0" chr.to.int$ < not |
579 | e542267e | Marcos Assuncao | swap$ "9" chr.to.int$ > not and |
580 | e542267e | Marcos Assuncao | } |
581 | e542267e | Marcos Assuncao | |
582 | e542267e | Marcos Assuncao | % multiplies the integer on the stack by a factor of 10 |
583 | e542267e | Marcos Assuncao | FUNCTION {bump.int.mag} |
584 | e542267e | Marcos Assuncao | { #0 'multiresult := |
585 | e542267e | Marcos Assuncao | { duplicate$ #0 > } |
586 | e542267e | Marcos Assuncao | { #1 - |
587 | e542267e | Marcos Assuncao | multiresult #10 + |
588 | e542267e | Marcos Assuncao | 'multiresult := |
589 | e542267e | Marcos Assuncao | } |
590 | e542267e | Marcos Assuncao | while$ |
591 | e542267e | Marcos Assuncao | pop$ |
592 | e542267e | Marcos Assuncao | multiresult |
593 | e542267e | Marcos Assuncao | } |
594 | e542267e | Marcos Assuncao | |
595 | e542267e | Marcos Assuncao | % converts a single character string on the stack to an integer |
596 | e542267e | Marcos Assuncao | FUNCTION {char.to.integer} |
597 | e542267e | Marcos Assuncao | { duplicate$ |
598 | e542267e | Marcos Assuncao | is.num |
599 | e542267e | Marcos Assuncao | { chr.to.int$ "0" chr.to.int$ - } |
600 | e542267e | Marcos Assuncao | {"noninteger character " quote$ * swap$ * quote$ * |
601 | e542267e | Marcos Assuncao | " in integer field of " * cite$ * warning$ |
602 | e542267e | Marcos Assuncao | #0 |
603 | e542267e | Marcos Assuncao | } |
604 | e542267e | Marcos Assuncao | if$ |
605 | e542267e | Marcos Assuncao | } |
606 | e542267e | Marcos Assuncao | |
607 | e542267e | Marcos Assuncao | % converts a string on the stack to an integer |
608 | e542267e | Marcos Assuncao | FUNCTION {string.to.integer} |
609 | e542267e | Marcos Assuncao | { duplicate$ text.length$ 'namesleft := |
610 | e542267e | Marcos Assuncao | #1 'nameptr := |
611 | e542267e | Marcos Assuncao | #0 'numnames := |
612 | e542267e | Marcos Assuncao | { nameptr namesleft > not } |
613 | e542267e | Marcos Assuncao | { duplicate$ nameptr #1 substring$ |
614 | e542267e | Marcos Assuncao | char.to.integer numnames bump.int.mag + |
615 | e542267e | Marcos Assuncao | 'numnames := |
616 | e542267e | Marcos Assuncao | nameptr #1 + |
617 | e542267e | Marcos Assuncao | 'nameptr := |
618 | e542267e | Marcos Assuncao | } |
619 | e542267e | Marcos Assuncao | while$ |
620 | e542267e | Marcos Assuncao | pop$ |
621 | e542267e | Marcos Assuncao | numnames |
622 | e542267e | Marcos Assuncao | } |
623 | e542267e | Marcos Assuncao | |
624 | e542267e | Marcos Assuncao | |
625 | e542267e | Marcos Assuncao | |
626 | e542267e | Marcos Assuncao | |
627 | e542267e | Marcos Assuncao | % The output routines write out the *next* to the top (previous) item on the |
628 | e542267e | Marcos Assuncao | % stack, adding punctuation and such as needed. Since IEEEtran.bst maintains |
629 | e542267e | Marcos Assuncao | % the output status for the top two items on the stack, these output |
630 | e542267e | Marcos Assuncao | % routines have to consider the previous output status (which corresponds to |
631 | e542267e | Marcos Assuncao | % the item that is being output). Full independent control of punctuation, |
632 | e542267e | Marcos Assuncao | % closing quote marks, spacing, and newblock is provided. |
633 | e542267e | Marcos Assuncao | % |
634 | e542267e | Marcos Assuncao | % "output.nonnull" does not check for the presence of a previous empty |
635 | e542267e | Marcos Assuncao | % item. |
636 | e542267e | Marcos Assuncao | % |
637 | e542267e | Marcos Assuncao | % "output" does check for the presence of a previous empty item and will |
638 | e542267e | Marcos Assuncao | % remove an empty item rather than outputing it. |
639 | e542267e | Marcos Assuncao | % |
640 | e542267e | Marcos Assuncao | % "output.warn" is like "output", but will issue a warning if it detects |
641 | e542267e | Marcos Assuncao | % an empty item. |
642 | e542267e | Marcos Assuncao | |
643 | e542267e | Marcos Assuncao | FUNCTION {output.nonnull} |
644 | e542267e | Marcos Assuncao | { swap$ |
645 | e542267e | Marcos Assuncao | prev.status.punct punct.comma = |
646 | e542267e | Marcos Assuncao | { "," * } |
647 | e542267e | Marcos Assuncao | { skip$ } |
648 | e542267e | Marcos Assuncao | if$ |
649 | e542267e | Marcos Assuncao | prev.status.punct punct.period = |
650 | e542267e | Marcos Assuncao | { add.period$ } |
651 | e542267e | Marcos Assuncao | { skip$ } |
652 | e542267e | Marcos Assuncao | if$ |
653 | e542267e | Marcos Assuncao | prev.status.quote quote.close = |
654 | e542267e | Marcos Assuncao | { "''" * } |
655 | e542267e | Marcos Assuncao | { skip$ } |
656 | e542267e | Marcos Assuncao | if$ |
657 | e542267e | Marcos Assuncao | prev.status.space space.normal = |
658 | e542267e | Marcos Assuncao | { " " * } |
659 | e542267e | Marcos Assuncao | { skip$ } |
660 | e542267e | Marcos Assuncao | if$ |
661 | e542267e | Marcos Assuncao | prev.status.space space.large = |
662 | e542267e | Marcos Assuncao | { large.space * } |
663 | e542267e | Marcos Assuncao | { skip$ } |
664 | e542267e | Marcos Assuncao | if$ |
665 | e542267e | Marcos Assuncao | write$ |
666 | e542267e | Marcos Assuncao | prev.status.nline nline.newblock = |
667 | e542267e | Marcos Assuncao | { newline$ "\newblock " write$ } |
668 | e542267e | Marcos Assuncao | { skip$ } |
669 | e542267e | Marcos Assuncao | if$ |
670 | e542267e | Marcos Assuncao | } |
671 | e542267e | Marcos Assuncao | |
672 | e542267e | Marcos Assuncao | FUNCTION {output} |
673 | e542267e | Marcos Assuncao | { duplicate$ empty$ |
674 | e542267e | Marcos Assuncao | 'pop$ |
675 | e542267e | Marcos Assuncao | 'output.nonnull |
676 | e542267e | Marcos Assuncao | if$ |
677 | e542267e | Marcos Assuncao | } |
678 | e542267e | Marcos Assuncao | |
679 | e542267e | Marcos Assuncao | FUNCTION {output.warn} |
680 | e542267e | Marcos Assuncao | { 't := |
681 | e542267e | Marcos Assuncao | duplicate$ empty$ |
682 | e542267e | Marcos Assuncao | { pop$ "empty " t * " in " * cite$ * warning$ } |
683 | e542267e | Marcos Assuncao | 'output.nonnull |
684 | e542267e | Marcos Assuncao | if$ |
685 | e542267e | Marcos Assuncao | } |
686 | e542267e | Marcos Assuncao | |
687 | e542267e | Marcos Assuncao | % "fin.entry" is the output routine that handles the last item of the entry |
688 | e542267e | Marcos Assuncao | % (which will be on the top of the stack when "fin.entry" is called). |
689 | e542267e | Marcos Assuncao | |
690 | e542267e | Marcos Assuncao | FUNCTION {fin.entry} |
691 | e542267e | Marcos Assuncao | { this.status.punct punct.no = |
692 | e542267e | Marcos Assuncao | { skip$ } |
693 | e542267e | Marcos Assuncao | { add.period$ } |
694 | e542267e | Marcos Assuncao | if$ |
695 | e542267e | Marcos Assuncao | this.status.quote quote.close = |
696 | e542267e | Marcos Assuncao | { "''" * } |
697 | e542267e | Marcos Assuncao | { skip$ } |
698 | e542267e | Marcos Assuncao | if$ |
699 | e542267e | Marcos Assuncao | write$ |
700 | e542267e | Marcos Assuncao | newline$ |
701 | e542267e | Marcos Assuncao | } |
702 | e542267e | Marcos Assuncao | |
703 | e542267e | Marcos Assuncao | |
704 | e542267e | Marcos Assuncao | FUNCTION {is.last.char.not.punct} |
705 | e542267e | Marcos Assuncao | { duplicate$ |
706 | e542267e | Marcos Assuncao | "}" * add.period$ |
707 | e542267e | Marcos Assuncao | #-1 #1 substring$ "." = |
708 | e542267e | Marcos Assuncao | } |
709 | e542267e | Marcos Assuncao | |
710 | e542267e | Marcos Assuncao | FUNCTION {is.multiple.pages} |
711 | e542267e | Marcos Assuncao | { 't := |
712 | e542267e | Marcos Assuncao | #0 'multiresult := |
713 | e542267e | Marcos Assuncao | { multiresult not |
714 | e542267e | Marcos Assuncao | t empty$ not |
715 | e542267e | Marcos Assuncao | and |
716 | e542267e | Marcos Assuncao | } |
717 | e542267e | Marcos Assuncao | { t #1 #1 substring$ |
718 | e542267e | Marcos Assuncao | duplicate$ "-" = |
719 | e542267e | Marcos Assuncao | swap$ duplicate$ "," = |
720 | e542267e | Marcos Assuncao | swap$ "+" = |
721 | e542267e | Marcos Assuncao | or or |
722 | e542267e | Marcos Assuncao | { #1 'multiresult := } |
723 | e542267e | Marcos Assuncao | { t #2 global.max$ substring$ 't := } |
724 | e542267e | Marcos Assuncao | if$ |
725 | e542267e | Marcos Assuncao | } |
726 | e542267e | Marcos Assuncao | while$ |
727 | e542267e | Marcos Assuncao | multiresult |
728 | e542267e | Marcos Assuncao | } |
729 | e542267e | Marcos Assuncao | |
730 | e542267e | Marcos Assuncao | FUNCTION {capitalize}{ "u" change.case$ "t" change.case$ } |
731 | e542267e | Marcos Assuncao | |
732 | e542267e | Marcos Assuncao | FUNCTION {emphasize} |
733 | e542267e | Marcos Assuncao | { duplicate$ empty$ |
734 | e542267e | Marcos Assuncao | { pop$ "" } |
735 | e542267e | Marcos Assuncao | { "\emph{" swap$ * "}" * } |
736 | e542267e | Marcos Assuncao | if$ |
737 | e542267e | Marcos Assuncao | } |
738 | e542267e | Marcos Assuncao | |
739 | e542267e | Marcos Assuncao | FUNCTION {do.name.latex.cmd} |
740 | e542267e | Marcos Assuncao | { name.latex.cmd |
741 | e542267e | Marcos Assuncao | empty$ |
742 | e542267e | Marcos Assuncao | { skip$ } |
743 | e542267e | Marcos Assuncao | { name.latex.cmd "{" * swap$ * "}" * } |
744 | e542267e | Marcos Assuncao | if$ |
745 | e542267e | Marcos Assuncao | } |
746 | e542267e | Marcos Assuncao | |
747 | e542267e | Marcos Assuncao | % IEEEtran.bst uses its own \BIBforeignlanguage command which directly |
748 | e542267e | Marcos Assuncao | % invokes the TeX hyphenation patterns without the need of the Babel |
749 | e542267e | Marcos Assuncao | % package. Babel does a lot more than switch hyphenation patterns and |
750 | e542267e | Marcos Assuncao | % its loading can cause unintended effects in many class files (such as |
751 | e542267e | Marcos Assuncao | % IEEEtran.cls). |
752 | e542267e | Marcos Assuncao | FUNCTION {select.language} |
753 | e542267e | Marcos Assuncao | { duplicate$ empty$ 'pop$ |
754 | e542267e | Marcos Assuncao | { language empty$ 'skip$ |
755 | e542267e | Marcos Assuncao | { "\BIBforeignlanguage{" language * "}{" * swap$ * "}" * } |
756 | e542267e | Marcos Assuncao | if$ |
757 | e542267e | Marcos Assuncao | } |
758 | e542267e | Marcos Assuncao | if$ |
759 | e542267e | Marcos Assuncao | } |
760 | e542267e | Marcos Assuncao | |
761 | e542267e | Marcos Assuncao | FUNCTION {tie.or.space.prefix} |
762 | e542267e | Marcos Assuncao | { duplicate$ text.length$ #3 < |
763 | e542267e | Marcos Assuncao | { "~" } |
764 | e542267e | Marcos Assuncao | { " " } |
765 | e542267e | Marcos Assuncao | if$ |
766 | e542267e | Marcos Assuncao | swap$ |
767 | e542267e | Marcos Assuncao | } |
768 | e542267e | Marcos Assuncao | |
769 | e542267e | Marcos Assuncao | FUNCTION {get.bbl.editor} |
770 | e542267e | Marcos Assuncao | { editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } |
771 | e542267e | Marcos Assuncao | |
772 | e542267e | Marcos Assuncao | FUNCTION {space.word}{ " " swap$ * " " * } |
773 | e542267e | Marcos Assuncao | |
774 | e542267e | Marcos Assuncao | |
775 | e542267e | Marcos Assuncao | % Field Conditioners, Converters, Checkers and External Interfaces |
776 | e542267e | Marcos Assuncao | |
777 | e542267e | Marcos Assuncao | FUNCTION {empty.field.to.null.string} |
778 | e542267e | Marcos Assuncao | { duplicate$ empty$ |
779 | e542267e | Marcos Assuncao | { pop$ "" } |
780 | e542267e | Marcos Assuncao | { skip$ } |
781 | e542267e | Marcos Assuncao | if$ |
782 | e542267e | Marcos Assuncao | } |
783 | e542267e | Marcos Assuncao | |
784 | e542267e | Marcos Assuncao | FUNCTION {either.or.check} |
785 | e542267e | Marcos Assuncao | { empty$ |
786 | e542267e | Marcos Assuncao | { pop$ } |
787 | e542267e | Marcos Assuncao | { "can't use both " swap$ * " fields in " * cite$ * warning$ } |
788 | e542267e | Marcos Assuncao | if$ |
789 | e542267e | Marcos Assuncao | } |
790 | e542267e | Marcos Assuncao | |
791 | e542267e | Marcos Assuncao | FUNCTION {empty.entry.warn} |
792 | e542267e | Marcos Assuncao | { author empty$ title empty$ howpublished empty$ |
793 | e542267e | Marcos Assuncao | month empty$ year empty$ note empty$ url empty$ |
794 | e542267e | Marcos Assuncao | and and and and and and |
795 | e542267e | Marcos Assuncao | { "all relevant fields are empty in " cite$ * warning$ } |
796 | e542267e | Marcos Assuncao | 'skip$ |
797 | e542267e | Marcos Assuncao | if$ |
798 | e542267e | Marcos Assuncao | } |
799 | e542267e | Marcos Assuncao | |
800 | e542267e | Marcos Assuncao | |
801 | e542267e | Marcos Assuncao | % The bibinfo system provides a way for the electronic parsing/acquisition |
802 | e542267e | Marcos Assuncao | % of a bibliography's contents as is done by ReVTeX. For example, a field |
803 | e542267e | Marcos Assuncao | % could be entered into the bibliography as: |
804 | e542267e | Marcos Assuncao | % \bibinfo{volume}{2} |
805 | e542267e | Marcos Assuncao | % Only the "2" would show up in the document, but the LaTeX \bibinfo command |
806 | e542267e | Marcos Assuncao | % could do additional things with the information. IEEEtran.bst does provide |
807 | e542267e | Marcos Assuncao | % a \bibinfo command via "\providecommand{\bibinfo}[2]{#2}". However, it is |
808 | e542267e | Marcos Assuncao | % currently not used as the bogus bibinfo functions defined here output the |
809 | e542267e | Marcos Assuncao | % entry values directly without the \bibinfo wrapper. The bibinfo functions |
810 | e542267e | Marcos Assuncao | % themselves (and the calls to them) are retained for possible future use. |
811 | e542267e | Marcos Assuncao | % |
812 | e542267e | Marcos Assuncao | % bibinfo.check avoids acting on missing fields while bibinfo.warn will |
813 | e542267e | Marcos Assuncao | % issue a warning message if a missing field is detected. Prior to calling |
814 | e542267e | Marcos Assuncao | % the bibinfo functions, the user should push the field value and then its |
815 | e542267e | Marcos Assuncao | % name string, in that order. |
816 | e542267e | Marcos Assuncao | |
817 | e542267e | Marcos Assuncao | FUNCTION {bibinfo.check} |
818 | e542267e | Marcos Assuncao | { swap$ duplicate$ missing$ |
819 | e542267e | Marcos Assuncao | { pop$ pop$ "" } |
820 | e542267e | Marcos Assuncao | { duplicate$ empty$ |
821 | e542267e | Marcos Assuncao | { swap$ pop$ } |
822 | e542267e | Marcos Assuncao | { swap$ pop$ } |
823 | e542267e | Marcos Assuncao | if$ |
824 | e542267e | Marcos Assuncao | } |
825 | e542267e | Marcos Assuncao | if$ |
826 | e542267e | Marcos Assuncao | } |
827 | e542267e | Marcos Assuncao | |
828 | e542267e | Marcos Assuncao | FUNCTION {bibinfo.warn} |
829 | e542267e | Marcos Assuncao | { swap$ duplicate$ missing$ |
830 | e542267e | Marcos Assuncao | { swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ "" } |
831 | e542267e | Marcos Assuncao | { duplicate$ empty$ |
832 | e542267e | Marcos Assuncao | { swap$ "empty " swap$ * " in " * cite$ * warning$ } |
833 | e542267e | Marcos Assuncao | { swap$ pop$ } |
834 | e542267e | Marcos Assuncao | if$ |
835 | e542267e | Marcos Assuncao | } |
836 | e542267e | Marcos Assuncao | if$ |
837 | e542267e | Marcos Assuncao | } |
838 | e542267e | Marcos Assuncao | |
839 | e542267e | Marcos Assuncao | |
840 | e542267e | Marcos Assuncao | % IEEE separates large numbers with more than 4 digits into groups of |
841 | e542267e | Marcos Assuncao | % three. IEEE uses a small space to separate these number groups. |
842 | e542267e | Marcos Assuncao | % Typical applications include patent and page numbers. |
843 | e542267e | Marcos Assuncao | |
844 | e542267e | Marcos Assuncao | % number of consecutive digits required to trigger the group separation. |
845 | e542267e | Marcos Assuncao | FUNCTION {large.number.trigger}{ #5 } |
846 | e542267e | Marcos Assuncao | |
847 | e542267e | Marcos Assuncao | % For numbers longer than the trigger, this is the blocksize of the groups. |
848 | e542267e | Marcos Assuncao | % The blocksize must be less than the trigger threshold, and 2 * blocksize |
849 | e542267e | Marcos Assuncao | % must be greater than the trigger threshold (can't do more than one |
850 | e542267e | Marcos Assuncao | % separation on the initial trigger). |
851 | e542267e | Marcos Assuncao | FUNCTION {large.number.blocksize}{ #3 } |
852 | e542267e | Marcos Assuncao | |
853 | e542267e | Marcos Assuncao | % What is actually inserted between the number groups. |
854 | e542267e | Marcos Assuncao | FUNCTION {large.number.separator}{ "\," } |
855 | e542267e | Marcos Assuncao | |
856 | e542267e | Marcos Assuncao | % So as to save on integer variables by reusing existing ones, numnames |
857 | e542267e | Marcos Assuncao | % holds the current number of consecutive digits read and nameptr holds |
858 | e542267e | Marcos Assuncao | % the number that will trigger an inserted space. |
859 | e542267e | Marcos Assuncao | FUNCTION {large.number.separate} |
860 | e542267e | Marcos Assuncao | { 't := |
861 | e542267e | Marcos Assuncao | "" |
862 | e542267e | Marcos Assuncao | #0 'numnames := |
863 | e542267e | Marcos Assuncao | large.number.trigger 'nameptr := |
864 | e542267e | Marcos Assuncao | { t empty$ not } |
865 | e542267e | Marcos Assuncao | { t #-1 #1 substring$ is.num |
866 | e542267e | Marcos Assuncao | { numnames #1 + 'numnames := } |
867 | e542267e | Marcos Assuncao | { #0 'numnames := |
868 | e542267e | Marcos Assuncao | large.number.trigger 'nameptr := |
869 | e542267e | Marcos Assuncao | } |
870 | e542267e | Marcos Assuncao | if$ |
871 | e542267e | Marcos Assuncao | t #-1 #1 substring$ swap$ * |
872 | e542267e | Marcos Assuncao | t #-2 global.max$ substring$ 't := |
873 | e542267e | Marcos Assuncao | numnames nameptr = |
874 | e542267e | Marcos Assuncao | { duplicate$ #1 nameptr large.number.blocksize - substring$ swap$ |
875 | e542267e | Marcos Assuncao | nameptr large.number.blocksize - #1 + global.max$ substring$ |
876 | e542267e | Marcos Assuncao | large.number.separator swap$ * * |
877 | e542267e | Marcos Assuncao | nameptr large.number.blocksize - 'numnames := |
878 | e542267e | Marcos Assuncao | large.number.blocksize #1 + 'nameptr := |
879 | e542267e | Marcos Assuncao | } |
880 | e542267e | Marcos Assuncao | { skip$ } |
881 | e542267e | Marcos Assuncao | if$ |
882 | e542267e | Marcos Assuncao | } |
883 | e542267e | Marcos Assuncao | while$ |
884 | e542267e | Marcos Assuncao | } |
885 | e542267e | Marcos Assuncao | |
886 | e542267e | Marcos Assuncao | % Converts all single dashes "-" to double dashes "--". |
887 | e542267e | Marcos Assuncao | FUNCTION {n.dashify} |
888 | e542267e | Marcos Assuncao | { large.number.separate |
889 | e542267e | Marcos Assuncao | 't := |
890 | e542267e | Marcos Assuncao | "" |
891 | e542267e | Marcos Assuncao | { t empty$ not } |
892 | e542267e | Marcos Assuncao | { t #1 #1 substring$ "-" = |
893 | e542267e | Marcos Assuncao | { t #1 #2 substring$ "--" = not |
894 | e542267e | Marcos Assuncao | { "--" * |
895 | e542267e | Marcos Assuncao | t #2 global.max$ substring$ 't := |
896 | e542267e | Marcos Assuncao | } |
897 | e542267e | Marcos Assuncao | { { t #1 #1 substring$ "-" = } |
898 | e542267e | Marcos Assuncao | { "-" * |
899 | e542267e | Marcos Assuncao | t #2 global.max$ substring$ 't := |
900 | e542267e | Marcos Assuncao | } |
901 | e542267e | Marcos Assuncao | while$ |
902 | e542267e | Marcos Assuncao | } |
903 | e542267e | Marcos Assuncao | if$ |
904 | e542267e | Marcos Assuncao | } |
905 | e542267e | Marcos Assuncao | { t #1 #1 substring$ * |
906 | e542267e | Marcos Assuncao | t #2 global.max$ substring$ 't := |
907 | e542267e | Marcos Assuncao | } |
908 | e542267e | Marcos Assuncao | if$ |
909 | e542267e | Marcos Assuncao | } |
910 | e542267e | Marcos Assuncao | while$ |
911 | e542267e | Marcos Assuncao | } |
912 | e542267e | Marcos Assuncao | |
913 | e542267e | Marcos Assuncao | |
914 | e542267e | Marcos Assuncao | % This function detects entries with names that are identical to that of |
915 | e542267e | Marcos Assuncao | % the previous entry and replaces the repeated names with dashes (if the |
916 | e542267e | Marcos Assuncao | % "is.dash.repeated.names" user control is nonzero). |
917 | e542267e | Marcos Assuncao | FUNCTION {name.or.dash} |
918 | e542267e | Marcos Assuncao | { 's := |
919 | e542267e | Marcos Assuncao | oldname empty$ |
920 | e542267e | Marcos Assuncao | { s 'oldname := s } |
921 | e542267e | Marcos Assuncao | { s oldname = |
922 | e542267e | Marcos Assuncao | { is.dash.repeated.names |
923 | e542267e | Marcos Assuncao | { repeated.name.dashes } |
924 | e542267e | Marcos Assuncao | { s 'oldname := s } |
925 | e542267e | Marcos Assuncao | if$ |
926 | e542267e | Marcos Assuncao | } |
927 | e542267e | Marcos Assuncao | { s 'oldname := s } |
928 | e542267e | Marcos Assuncao | if$ |
929 | e542267e | Marcos Assuncao | } |
930 | e542267e | Marcos Assuncao | if$ |
931 | e542267e | Marcos Assuncao | } |
932 | e542267e | Marcos Assuncao | |
933 | e542267e | Marcos Assuncao | % Converts the number string on the top of the stack to |
934 | e542267e | Marcos Assuncao | % "numerical ordinal form" (e.g., "7" to "7th"). There is |
935 | e542267e | Marcos Assuncao | % no artificial limit to the upper bound of the numbers as the |
936 | e542267e | Marcos Assuncao | % least significant digit always determines the ordinal form. |
937 | e542267e | Marcos Assuncao | FUNCTION {num.to.ordinal} |
938 | e542267e | Marcos Assuncao | { duplicate$ #-1 #1 substring$ "1" = |
939 | e542267e | Marcos Assuncao | { bbl.st * } |
940 | e542267e | Marcos Assuncao | { duplicate$ #-1 #1 substring$ "2" = |
941 | e542267e | Marcos Assuncao | { bbl.nd * } |
942 | e542267e | Marcos Assuncao | { duplicate$ #-1 #1 substring$ "3" = |
943 | e542267e | Marcos Assuncao | { bbl.rd * } |
944 | e542267e | Marcos Assuncao | { bbl.th * } |
945 | e542267e | Marcos Assuncao | if$ |
946 | e542267e | Marcos Assuncao | } |
947 | e542267e | Marcos Assuncao | if$ |
948 | e542267e | Marcos Assuncao | } |
949 | e542267e | Marcos Assuncao | if$ |
950 | e542267e | Marcos Assuncao | } |
951 | e542267e | Marcos Assuncao | |
952 | e542267e | Marcos Assuncao | % If the string on the top of the stack begins with a number, |
953 | e542267e | Marcos Assuncao | % (e.g., 11th) then replace the string with the leading number |
954 | e542267e | Marcos Assuncao | % it contains. Otherwise retain the string as-is. s holds the |
955 | e542267e | Marcos Assuncao | % extracted number, t holds the part of the string that remains |
956 | e542267e | Marcos Assuncao | % to be scanned. |
957 | e542267e | Marcos Assuncao | FUNCTION {extract.num} |
958 | e542267e | Marcos Assuncao | { duplicate$ 't := |
959 | e542267e | Marcos Assuncao | "" 's := |
960 | e542267e | Marcos Assuncao | { t empty$ not } |
961 | e542267e | Marcos Assuncao | { t #1 #1 substring$ |
962 | e542267e | Marcos Assuncao | t #2 global.max$ substring$ 't := |
963 | e542267e | Marcos Assuncao | duplicate$ is.num |
964 | e542267e | Marcos Assuncao | { s swap$ * 's := } |
965 | e542267e | Marcos Assuncao | { pop$ "" 't := } |
966 | e542267e | Marcos Assuncao | if$ |
967 | e542267e | Marcos Assuncao | } |
968 | e542267e | Marcos Assuncao | while$ |
969 | e542267e | Marcos Assuncao | s empty$ |
970 | e542267e | Marcos Assuncao | 'skip$ |
971 | e542267e | Marcos Assuncao | { pop$ s } |
972 | e542267e | Marcos Assuncao | if$ |
973 | e542267e | Marcos Assuncao | } |
974 | e542267e | Marcos Assuncao | |
975 | e542267e | Marcos Assuncao | % Converts the word number string on the top of the stack to |
976 | e542267e | Marcos Assuncao | % Arabic string form. Will be successful up to "tenth". |
977 | e542267e | Marcos Assuncao | FUNCTION {word.to.num} |
978 | e542267e | Marcos Assuncao | { duplicate$ "l" change.case$ 's := |
979 | e542267e | Marcos Assuncao | s "first" = |
980 | e542267e | Marcos Assuncao | { pop$ "1" } |
981 | e542267e | Marcos Assuncao | { skip$ } |
982 | e542267e | Marcos Assuncao | if$ |
983 | e542267e | Marcos Assuncao | s "second" = |
984 | e542267e | Marcos Assuncao | { pop$ "2" } |
985 | e542267e | Marcos Assuncao | { skip$ } |
986 | e542267e | Marcos Assuncao | if$ |
987 | e542267e | Marcos Assuncao | s "third" = |
988 | e542267e | Marcos Assuncao | { pop$ "3" } |
989 | e542267e | Marcos Assuncao | { skip$ } |
990 | e542267e | Marcos Assuncao | if$ |
991 | e542267e | Marcos Assuncao | s "fourth" = |
992 | e542267e | Marcos Assuncao | { pop$ "4" } |
993 | e542267e | Marcos Assuncao | { skip$ } |
994 | e542267e | Marcos Assuncao | if$ |
995 | e542267e | Marcos Assuncao | s "fifth" = |
996 | e542267e | Marcos Assuncao | { pop$ "5" } |
997 | e542267e | Marcos Assuncao | { skip$ } |
998 | e542267e | Marcos Assuncao | if$ |
999 | e542267e | Marcos Assuncao | s "sixth" = |
1000 | e542267e | Marcos Assuncao | { pop$ "6" } |
1001 | e542267e | Marcos Assuncao | { skip$ } |
1002 | e542267e | Marcos Assuncao | if$ |
1003 | e542267e | Marcos Assuncao | s "seventh" = |
1004 | e542267e | Marcos Assuncao | { pop$ "7" } |
1005 | e542267e | Marcos Assuncao | { skip$ } |
1006 | e542267e | Marcos Assuncao | if$ |
1007 | e542267e | Marcos Assuncao | s "eighth" = |
1008 | e542267e | Marcos Assuncao | { pop$ "8" } |
1009 | e542267e | Marcos Assuncao | { skip$ } |
1010 | e542267e | Marcos Assuncao | if$ |
1011 | e542267e | Marcos Assuncao | s "ninth" = |
1012 | e542267e | Marcos Assuncao | { pop$ "9" } |
1013 | e542267e | Marcos Assuncao | { skip$ } |
1014 | e542267e | Marcos Assuncao | if$ |
1015 | e542267e | Marcos Assuncao | s "tenth" = |
1016 | e542267e | Marcos Assuncao | { pop$ "10" } |
1017 | e542267e | Marcos Assuncao | { skip$ } |
1018 | e542267e | Marcos Assuncao | if$ |
1019 | e542267e | Marcos Assuncao | } |
1020 | e542267e | Marcos Assuncao | |
1021 | e542267e | Marcos Assuncao | |
1022 | e542267e | Marcos Assuncao | % Converts the string on the top of the stack to numerical |
1023 | e542267e | Marcos Assuncao | % ordinal (e.g., "11th") form. |
1024 | e542267e | Marcos Assuncao | FUNCTION {convert.edition} |
1025 | e542267e | Marcos Assuncao | { duplicate$ empty$ 'skip$ |
1026 | e542267e | Marcos Assuncao | { duplicate$ #1 #1 substring$ is.num |
1027 | e542267e | Marcos Assuncao | { extract.num |
1028 | e542267e | Marcos Assuncao | num.to.ordinal |
1029 | e542267e | Marcos Assuncao | } |
1030 | e542267e | Marcos Assuncao | { word.to.num |
1031 | e542267e | Marcos Assuncao | duplicate$ #1 #1 substring$ is.num |
1032 | e542267e | Marcos Assuncao | { num.to.ordinal } |
1033 | e542267e | Marcos Assuncao | { "edition ordinal word " quote$ * edition * quote$ * |
1034 | e542267e | Marcos Assuncao | " may be too high (or improper) for conversion" * " in " * cite$ * warning$ |
1035 | e542267e | Marcos Assuncao | } |
1036 | e542267e | Marcos Assuncao | if$ |
1037 | e542267e | Marcos Assuncao | } |
1038 | e542267e | Marcos Assuncao | if$ |
1039 | e542267e | Marcos Assuncao | } |
1040 | e542267e | Marcos Assuncao | if$ |
1041 | e542267e | Marcos Assuncao | } |
1042 | e542267e | Marcos Assuncao | |
1043 | e542267e | Marcos Assuncao | |
1044 | e542267e | Marcos Assuncao | |
1045 | e542267e | Marcos Assuncao | |
1046 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
1047 | e542267e | Marcos Assuncao | %% LATEX BIBLIOGRAPHY CODE %% |
1048 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
1049 | e542267e | Marcos Assuncao | |
1050 | e542267e | Marcos Assuncao | FUNCTION {start.entry} |
1051 | e542267e | Marcos Assuncao | { newline$ |
1052 | e542267e | Marcos Assuncao | "\bibitem{" write$ |
1053 | e542267e | Marcos Assuncao | cite$ write$ |
1054 | e542267e | Marcos Assuncao | "}" write$ |
1055 | e542267e | Marcos Assuncao | newline$ |
1056 | e542267e | Marcos Assuncao | "" |
1057 | e542267e | Marcos Assuncao | initialize.prev.this.status |
1058 | e542267e | Marcos Assuncao | } |
1059 | e542267e | Marcos Assuncao | |
1060 | e542267e | Marcos Assuncao | % Here we write out all the LaTeX code that we will need. The most involved |
1061 | e542267e | Marcos Assuncao | % code sequences are those that control the alternate interword spacing and |
1062 | e542267e | Marcos Assuncao | % foreign language hyphenation patterns. The heavy use of \providecommand |
1063 | e542267e | Marcos Assuncao | % gives users a way to override the defaults. Special thanks to Javier Bezos, |
1064 | e542267e | Marcos Assuncao | % Johannes Braams, Robin Fairbairns, Heiko Oberdiek, Donald Arseneau and all |
1065 | e542267e | Marcos Assuncao | % the other gurus on comp.text.tex for their help and advice on the topic of |
1066 | e542267e | Marcos Assuncao | % \selectlanguage, Babel and BibTeX. |
1067 | e542267e | Marcos Assuncao | FUNCTION {begin.bib} |
1068 | e542267e | Marcos Assuncao | { "% Generated by IEEEtran.bst, version: " bst.file.version * " (" * bst.file.date * ")" * |
1069 | e542267e | Marcos Assuncao | write$ newline$ |
1070 | e542267e | Marcos Assuncao | preamble$ empty$ 'skip$ |
1071 | e542267e | Marcos Assuncao | { preamble$ write$ newline$ } |
1072 | e542267e | Marcos Assuncao | if$ |
1073 | e542267e | Marcos Assuncao | "\begin{thebibliography}{" longest.label * "}" * |
1074 | e542267e | Marcos Assuncao | write$ newline$ |
1075 | e542267e | Marcos Assuncao | "\providecommand{\url}[1]{#1}" |
1076 | e542267e | Marcos Assuncao | write$ newline$ |
1077 | e542267e | Marcos Assuncao | "\csname url@samestyle\endcsname" |
1078 | e542267e | Marcos Assuncao | write$ newline$ |
1079 | e542267e | Marcos Assuncao | "\providecommand{\newblock}{\relax}" |
1080 | e542267e | Marcos Assuncao | write$ newline$ |
1081 | e542267e | Marcos Assuncao | "\providecommand{\bibinfo}[2]{#2}" |
1082 | e542267e | Marcos Assuncao | write$ newline$ |
1083 | e542267e | Marcos Assuncao | "\providecommand{\BIBentrySTDinterwordspacing}{\spaceskip=0pt\relax}" |
1084 | e542267e | Marcos Assuncao | write$ newline$ |
1085 | e542267e | Marcos Assuncao | "\providecommand{\BIBentryALTinterwordstretchfactor}{" |
1086 | e542267e | Marcos Assuncao | ALTinterwordstretchfactor * "}" * |
1087 | e542267e | Marcos Assuncao | write$ newline$ |
1088 | e542267e | Marcos Assuncao | "\providecommand{\BIBentryALTinterwordspacing}{\spaceskip=\fontdimen2\font plus " |
1089 | e542267e | Marcos Assuncao | write$ newline$ |
1090 | e542267e | Marcos Assuncao | "\BIBentryALTinterwordstretchfactor\fontdimen3\font minus \fontdimen4\font\relax}" |
1091 | e542267e | Marcos Assuncao | write$ newline$ |
1092 | e542267e | Marcos Assuncao | "\providecommand{\BIBforeignlanguage}[2]{{%" |
1093 | e542267e | Marcos Assuncao | write$ newline$ |
1094 | e542267e | Marcos Assuncao | "\expandafter\ifx\csname l@#1\endcsname\relax" |
1095 | e542267e | Marcos Assuncao | write$ newline$ |
1096 | e542267e | Marcos Assuncao | "\typeout{** WARNING: IEEEtran.bst: No hyphenation pattern has been}%" |
1097 | e542267e | Marcos Assuncao | write$ newline$ |
1098 | e542267e | Marcos Assuncao | "\typeout{** loaded for the language `#1'. Using the pattern for}%" |
1099 | e542267e | Marcos Assuncao | write$ newline$ |
1100 | e542267e | Marcos Assuncao | "\typeout{** the default language instead.}%" |
1101 | e542267e | Marcos Assuncao | write$ newline$ |
1102 | e542267e | Marcos Assuncao | "\else" |
1103 | e542267e | Marcos Assuncao | write$ newline$ |
1104 | e542267e | Marcos Assuncao | "\language=\csname l@#1\endcsname" |
1105 | e542267e | Marcos Assuncao | write$ newline$ |
1106 | e542267e | Marcos Assuncao | "\fi" |
1107 | e542267e | Marcos Assuncao | write$ newline$ |
1108 | e542267e | Marcos Assuncao | "#2}}" |
1109 | e542267e | Marcos Assuncao | write$ newline$ |
1110 | e542267e | Marcos Assuncao | "\providecommand{\BIBdecl}{\relax}" |
1111 | e542267e | Marcos Assuncao | write$ newline$ |
1112 | e542267e | Marcos Assuncao | "\BIBdecl" |
1113 | e542267e | Marcos Assuncao | write$ newline$ |
1114 | e542267e | Marcos Assuncao | } |
1115 | e542267e | Marcos Assuncao | |
1116 | e542267e | Marcos Assuncao | FUNCTION {end.bib} |
1117 | e542267e | Marcos Assuncao | { newline$ "\end{thebibliography}" write$ newline$ } |
1118 | e542267e | Marcos Assuncao | |
1119 | e542267e | Marcos Assuncao | FUNCTION {if.url.alt.interword.spacing} |
1120 | e542267e | Marcos Assuncao | { is.use.alt.interword.spacing |
1121 | e542267e | Marcos Assuncao | {url empty$ 'skip$ {"\BIBentryALTinterwordspacing" write$ newline$} if$} |
1122 | e542267e | Marcos Assuncao | { skip$ } |
1123 | e542267e | Marcos Assuncao | if$ |
1124 | e542267e | Marcos Assuncao | } |
1125 | e542267e | Marcos Assuncao | |
1126 | e542267e | Marcos Assuncao | FUNCTION {if.url.std.interword.spacing} |
1127 | e542267e | Marcos Assuncao | { is.use.alt.interword.spacing |
1128 | e542267e | Marcos Assuncao | {url empty$ 'skip$ {"\BIBentrySTDinterwordspacing" write$ newline$} if$} |
1129 | e542267e | Marcos Assuncao | { skip$ } |
1130 | e542267e | Marcos Assuncao | if$ |
1131 | e542267e | Marcos Assuncao | } |
1132 | e542267e | Marcos Assuncao | |
1133 | e542267e | Marcos Assuncao | |
1134 | e542267e | Marcos Assuncao | |
1135 | e542267e | Marcos Assuncao | |
1136 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%%%%%%%% |
1137 | e542267e | Marcos Assuncao | %% LONGEST LABEL PASS %% |
1138 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%%%%%%%% |
1139 | e542267e | Marcos Assuncao | |
1140 | e542267e | Marcos Assuncao | FUNCTION {initialize.longest.label} |
1141 | e542267e | Marcos Assuncao | { "" 'longest.label := |
1142 | e542267e | Marcos Assuncao | #1 'number.label := |
1143 | e542267e | Marcos Assuncao | #0 'longest.label.width := |
1144 | e542267e | Marcos Assuncao | } |
1145 | e542267e | Marcos Assuncao | |
1146 | e542267e | Marcos Assuncao | FUNCTION {longest.label.pass} |
1147 | e542267e | Marcos Assuncao | { type$ "ieeetranbstctl" = |
1148 | e542267e | Marcos Assuncao | { skip$ } |
1149 | e542267e | Marcos Assuncao | { number.label int.to.str$ 'label := |
1150 | e542267e | Marcos Assuncao | number.label #1 + 'number.label := |
1151 | e542267e | Marcos Assuncao | label width$ longest.label.width > |
1152 | e542267e | Marcos Assuncao | { label 'longest.label := |
1153 | e542267e | Marcos Assuncao | label width$ 'longest.label.width := |
1154 | e542267e | Marcos Assuncao | } |
1155 | e542267e | Marcos Assuncao | { skip$ } |
1156 | e542267e | Marcos Assuncao | if$ |
1157 | e542267e | Marcos Assuncao | } |
1158 | e542267e | Marcos Assuncao | if$ |
1159 | e542267e | Marcos Assuncao | } |
1160 | e542267e | Marcos Assuncao | |
1161 | e542267e | Marcos Assuncao | |
1162 | e542267e | Marcos Assuncao | |
1163 | e542267e | Marcos Assuncao | |
1164 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%%%%% |
1165 | e542267e | Marcos Assuncao | %% FORMAT HANDLERS %% |
1166 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%%%%% |
1167 | e542267e | Marcos Assuncao | |
1168 | e542267e | Marcos Assuncao | %% Lower Level Formats (used by higher level formats) |
1169 | e542267e | Marcos Assuncao | |
1170 | e542267e | Marcos Assuncao | FUNCTION {format.address.org.or.pub.date} |
1171 | e542267e | Marcos Assuncao | { 't := |
1172 | e542267e | Marcos Assuncao | "" |
1173 | e542267e | Marcos Assuncao | year empty$ |
1174 | e542267e | Marcos Assuncao | { "empty year in " cite$ * warning$ } |
1175 | e542267e | Marcos Assuncao | { skip$ } |
1176 | e542267e | Marcos Assuncao | if$ |
1177 | e542267e | Marcos Assuncao | address empty$ t empty$ and |
1178 | e542267e | Marcos Assuncao | year empty$ and month empty$ and |
1179 | e542267e | Marcos Assuncao | { skip$ } |
1180 | e542267e | Marcos Assuncao | { this.to.prev.status |
1181 | e542267e | Marcos Assuncao | this.status.std |
1182 | e542267e | Marcos Assuncao | cap.status.std |
1183 | e542267e | Marcos Assuncao | address "address" bibinfo.check * |
1184 | e542267e | Marcos Assuncao | t empty$ |
1185 | e542267e | Marcos Assuncao | { skip$ } |
1186 | e542267e | Marcos Assuncao | { punct.period 'prev.status.punct := |
1187 | e542267e | Marcos Assuncao | space.large 'prev.status.space := |
1188 | e542267e | Marcos Assuncao | address empty$ |
1189 | e542267e | Marcos Assuncao | { skip$ } |
1190 | e542267e | Marcos Assuncao | { ": " * } |
1191 | e542267e | Marcos Assuncao | if$ |
1192 | e542267e | Marcos Assuncao | t * |
1193 | e542267e | Marcos Assuncao | } |
1194 | e542267e | Marcos Assuncao | if$ |
1195 | e542267e | Marcos Assuncao | year empty$ month empty$ and |
1196 | e542267e | Marcos Assuncao | { skip$ } |
1197 | e542267e | Marcos Assuncao | { t empty$ address empty$ and |
1198 | e542267e | Marcos Assuncao | { skip$ } |
1199 | e542267e | Marcos Assuncao | { ", " * } |
1200 | e542267e | Marcos Assuncao | if$ |
1201 | e542267e | Marcos Assuncao | month empty$ |
1202 | e542267e | Marcos Assuncao | { year empty$ |
1203 | e542267e | Marcos Assuncao | { skip$ } |
1204 | e542267e | Marcos Assuncao | { year "year" bibinfo.check * } |
1205 | e542267e | Marcos Assuncao | if$ |
1206 | e542267e | Marcos Assuncao | } |
1207 | e542267e | Marcos Assuncao | { month "month" bibinfo.check * |
1208 | e542267e | Marcos Assuncao | year empty$ |
1209 | e542267e | Marcos Assuncao | { skip$ } |
1210 | e542267e | Marcos Assuncao | { " " * year "year" bibinfo.check * } |
1211 | e542267e | Marcos Assuncao | if$ |
1212 | e542267e | Marcos Assuncao | } |
1213 | e542267e | Marcos Assuncao | if$ |
1214 | e542267e | Marcos Assuncao | } |
1215 | e542267e | Marcos Assuncao | if$ |
1216 | e542267e | Marcos Assuncao | } |
1217 | e542267e | Marcos Assuncao | if$ |
1218 | e542267e | Marcos Assuncao | } |
1219 | e542267e | Marcos Assuncao | |
1220 | e542267e | Marcos Assuncao | |
1221 | e542267e | Marcos Assuncao | FUNCTION {format.names} |
1222 | e542267e | Marcos Assuncao | { 'bibinfo := |
1223 | e542267e | Marcos Assuncao | duplicate$ empty$ 'skip$ { |
1224 | e542267e | Marcos Assuncao | this.to.prev.status |
1225 | e542267e | Marcos Assuncao | this.status.std |
1226 | e542267e | Marcos Assuncao | 's := |
1227 | e542267e | Marcos Assuncao | "" 't := |
1228 | e542267e | Marcos Assuncao | #1 'nameptr := |
1229 | e542267e | Marcos Assuncao | s num.names$ 'numnames := |
1230 | e542267e | Marcos Assuncao | numnames 'namesleft := |
1231 | e542267e | Marcos Assuncao | { namesleft #0 > } |
1232 | e542267e | Marcos Assuncao | { s nameptr |
1233 | e542267e | Marcos Assuncao | name.format.string |
1234 | e542267e | Marcos Assuncao | format.name$ |
1235 | e542267e | Marcos Assuncao | bibinfo bibinfo.check |
1236 | e542267e | Marcos Assuncao | 't := |
1237 | e542267e | Marcos Assuncao | nameptr #1 > |
1238 | e542267e | Marcos Assuncao | { nameptr num.names.shown.with.forced.et.al #1 + = |
1239 | e542267e | Marcos Assuncao | numnames max.num.names.before.forced.et.al > |
1240 | e542267e | Marcos Assuncao | is.forced.et.al and and |
1241 | e542267e | Marcos Assuncao | { "others" 't := |
1242 | e542267e | Marcos Assuncao | #1 'namesleft := |
1243 | e542267e | Marcos Assuncao | } |
1244 | e542267e | Marcos Assuncao | { skip$ } |
1245 | e542267e | Marcos Assuncao | if$ |
1246 | e542267e | Marcos Assuncao | namesleft #1 > |
1247 | e542267e | Marcos Assuncao | { ", " * t do.name.latex.cmd * } |
1248 | e542267e | Marcos Assuncao | { s nameptr "{ll}" format.name$ duplicate$ "others" = |
1249 | e542267e | Marcos Assuncao | { 't := } |
1250 | e542267e | Marcos Assuncao | { pop$ } |
1251 | e542267e | Marcos Assuncao | if$ |
1252 | e542267e | Marcos Assuncao | t "others" = |
1253 | e542267e | Marcos Assuncao | { " " * bbl.etal emphasize * } |
1254 | e542267e | Marcos Assuncao | { numnames #2 > |
1255 | e542267e | Marcos Assuncao | { "," * } |
1256 | e542267e | Marcos Assuncao | { skip$ } |
1257 | e542267e | Marcos Assuncao | if$ |
1258 | e542267e | Marcos Assuncao | bbl.and |
1259 | e542267e | Marcos Assuncao | space.word * t do.name.latex.cmd * |
1260 | e542267e | Marcos Assuncao | } |
1261 | e542267e | Marcos Assuncao | if$ |
1262 | e542267e | Marcos Assuncao | } |
1263 | e542267e | Marcos Assuncao | if$ |
1264 | e542267e | Marcos Assuncao | } |
1265 | e542267e | Marcos Assuncao | { t do.name.latex.cmd } |
1266 | e542267e | Marcos Assuncao | if$ |
1267 | e542267e | Marcos Assuncao | nameptr #1 + 'nameptr := |
1268 | e542267e | Marcos Assuncao | namesleft #1 - 'namesleft := |
1269 | e542267e | Marcos Assuncao | } |
1270 | e542267e | Marcos Assuncao | while$ |
1271 | e542267e | Marcos Assuncao | cap.status.std |
1272 | e542267e | Marcos Assuncao | } if$ |
1273 | e542267e | Marcos Assuncao | } |
1274 | e542267e | Marcos Assuncao | |
1275 | e542267e | Marcos Assuncao | |
1276 | e542267e | Marcos Assuncao | |
1277 | e542267e | Marcos Assuncao | |
1278 | e542267e | Marcos Assuncao | %% Higher Level Formats |
1279 | e542267e | Marcos Assuncao | |
1280 | e542267e | Marcos Assuncao | %% addresses/locations |
1281 | e542267e | Marcos Assuncao | |
1282 | e542267e | Marcos Assuncao | FUNCTION {format.address} |
1283 | e542267e | Marcos Assuncao | { address duplicate$ empty$ 'skip$ |
1284 | e542267e | Marcos Assuncao | { this.to.prev.status |
1285 | e542267e | Marcos Assuncao | this.status.std |
1286 | e542267e | Marcos Assuncao | cap.status.std |
1287 | e542267e | Marcos Assuncao | } |
1288 | e542267e | Marcos Assuncao | if$ |
1289 | e542267e | Marcos Assuncao | } |
1290 | e542267e | Marcos Assuncao | |
1291 | e542267e | Marcos Assuncao | |
1292 | e542267e | Marcos Assuncao | |
1293 | e542267e | Marcos Assuncao | %% author/editor names |
1294 | e542267e | Marcos Assuncao | |
1295 | e542267e | Marcos Assuncao | FUNCTION {format.authors}{ author "author" format.names } |
1296 | e542267e | Marcos Assuncao | |
1297 | e542267e | Marcos Assuncao | FUNCTION {format.editors} |
1298 | e542267e | Marcos Assuncao | { editor "editor" format.names duplicate$ empty$ 'skip$ |
1299 | e542267e | Marcos Assuncao | { ", " * |
1300 | e542267e | Marcos Assuncao | get.bbl.editor |
1301 | e542267e | Marcos Assuncao | capitalize |
1302 | e542267e | Marcos Assuncao | * |
1303 | e542267e | Marcos Assuncao | } |
1304 | e542267e | Marcos Assuncao | if$ |
1305 | e542267e | Marcos Assuncao | } |
1306 | e542267e | Marcos Assuncao | |
1307 | e542267e | Marcos Assuncao | |
1308 | e542267e | Marcos Assuncao | |
1309 | e542267e | Marcos Assuncao | %% date |
1310 | e542267e | Marcos Assuncao | |
1311 | e542267e | Marcos Assuncao | FUNCTION {format.date} |
1312 | e542267e | Marcos Assuncao | { |
1313 | e542267e | Marcos Assuncao | month "month" bibinfo.check duplicate$ empty$ |
1314 | e542267e | Marcos Assuncao | year "year" bibinfo.check duplicate$ empty$ |
1315 | e542267e | Marcos Assuncao | { swap$ 'skip$ |
1316 | e542267e | Marcos Assuncao | { this.to.prev.status |
1317 | e542267e | Marcos Assuncao | this.status.std |
1318 | e542267e | Marcos Assuncao | cap.status.std |
1319 | e542267e | Marcos Assuncao | "there's a month but no year in " cite$ * warning$ } |
1320 | e542267e | Marcos Assuncao | if$ |
1321 | e542267e | Marcos Assuncao | * |
1322 | e542267e | Marcos Assuncao | } |
1323 | e542267e | Marcos Assuncao | { this.to.prev.status |
1324 | e542267e | Marcos Assuncao | this.status.std |
1325 | e542267e | Marcos Assuncao | cap.status.std |
1326 | e542267e | Marcos Assuncao | swap$ 'skip$ |
1327 | e542267e | Marcos Assuncao | { |
1328 | e542267e | Marcos Assuncao | swap$ |
1329 | e542267e | Marcos Assuncao | " " * swap$ |
1330 | e542267e | Marcos Assuncao | } |
1331 | e542267e | Marcos Assuncao | if$ |
1332 | e542267e | Marcos Assuncao | * |
1333 | e542267e | Marcos Assuncao | } |
1334 | e542267e | Marcos Assuncao | if$ |
1335 | e542267e | Marcos Assuncao | } |
1336 | e542267e | Marcos Assuncao | |
1337 | e542267e | Marcos Assuncao | FUNCTION {format.date.electronic} |
1338 | e542267e | Marcos Assuncao | { month "month" bibinfo.check duplicate$ empty$ |
1339 | e542267e | Marcos Assuncao | year "year" bibinfo.check duplicate$ empty$ |
1340 | e542267e | Marcos Assuncao | { swap$ |
1341 | e542267e | Marcos Assuncao | { pop$ } |
1342 | e542267e | Marcos Assuncao | { "there's a month but no year in " cite$ * warning$ |
1343 | e542267e | Marcos Assuncao | pop$ ")" * "(" swap$ * |
1344 | e542267e | Marcos Assuncao | this.to.prev.status |
1345 | e542267e | Marcos Assuncao | punct.no 'this.status.punct := |
1346 | e542267e | Marcos Assuncao | space.normal 'this.status.space := |
1347 | e542267e | Marcos Assuncao | quote.no 'this.status.quote := |
1348 | e542267e | Marcos Assuncao | cap.yes 'status.cap := |
1349 | e542267e | Marcos Assuncao | } |
1350 | e542267e | Marcos Assuncao | if$ |
1351 | e542267e | Marcos Assuncao | } |
1352 | e542267e | Marcos Assuncao | { swap$ |
1353 | e542267e | Marcos Assuncao | { swap$ pop$ ")" * "(" swap$ * } |
1354 | e542267e | Marcos Assuncao | { "(" swap$ * ", " * swap$ * ")" * } |
1355 | e542267e | Marcos Assuncao | if$ |
1356 | e542267e | Marcos Assuncao | this.to.prev.status |
1357 | e542267e | Marcos Assuncao | punct.no 'this.status.punct := |
1358 | e542267e | Marcos Assuncao | space.normal 'this.status.space := |
1359 | e542267e | Marcos Assuncao | quote.no 'this.status.quote := |
1360 | e542267e | Marcos Assuncao | cap.yes 'status.cap := |
1361 | e542267e | Marcos Assuncao | } |
1362 | e542267e | Marcos Assuncao | if$ |
1363 | e542267e | Marcos Assuncao | } |
1364 | e542267e | Marcos Assuncao | |
1365 | e542267e | Marcos Assuncao | |
1366 | e542267e | Marcos Assuncao | |
1367 | e542267e | Marcos Assuncao | %% edition/title |
1368 | e542267e | Marcos Assuncao | |
1369 | e542267e | Marcos Assuncao | % Note: IEEE considers the edition to be closely associated with |
1370 | e542267e | Marcos Assuncao | % the title of a book. So, in IEEEtran.bst the edition is normally handled |
1371 | e542267e | Marcos Assuncao | % within the formatting of the title. The format.edition function is |
1372 | e542267e | Marcos Assuncao | % retained here for possible future use. |
1373 | e542267e | Marcos Assuncao | FUNCTION {format.edition} |
1374 | e542267e | Marcos Assuncao | { edition duplicate$ empty$ 'skip$ |
1375 | e542267e | Marcos Assuncao | { this.to.prev.status |
1376 | e542267e | Marcos Assuncao | this.status.std |
1377 | e542267e | Marcos Assuncao | convert.edition |
1378 | e542267e | Marcos Assuncao | status.cap |
1379 | e542267e | Marcos Assuncao | { "t" } |
1380 | e542267e | Marcos Assuncao | { "l" } |
1381 | e542267e | Marcos Assuncao | if$ change.case$ |
1382 | e542267e | Marcos Assuncao | "edition" bibinfo.check |
1383 | e542267e | Marcos Assuncao | "~" * bbl.edition * |
1384 | e542267e | Marcos Assuncao | cap.status.std |
1385 | e542267e | Marcos Assuncao | } |
1386 | e542267e | Marcos Assuncao | if$ |
1387 | e542267e | Marcos Assuncao | } |
1388 | e542267e | Marcos Assuncao | |
1389 | e542267e | Marcos Assuncao | % This is used to format the booktitle of a conference proceedings. |
1390 | e542267e | Marcos Assuncao | % Here we use the "intype" field to provide the user a way to |
1391 | e542267e | Marcos Assuncao | % override the word "in" (e.g., with things like "presented at") |
1392 | e542267e | Marcos Assuncao | % Use of intype stops the emphasis of the booktitle to indicate that |
1393 | e542267e | Marcos Assuncao | % we no longer mean the written conference proceedings, but the |
1394 | e542267e | Marcos Assuncao | % conference itself. |
1395 | e542267e | Marcos Assuncao | FUNCTION {format.in.booktitle} |
1396 | e542267e | Marcos Assuncao | { booktitle "booktitle" bibinfo.check duplicate$ empty$ 'skip$ |
1397 | e542267e | Marcos Assuncao | { this.to.prev.status |
1398 | e542267e | Marcos Assuncao | this.status.std |
1399 | e542267e | Marcos Assuncao | select.language |
1400 | e542267e | Marcos Assuncao | intype missing$ |
1401 | e542267e | Marcos Assuncao | { emphasize |
1402 | e542267e | Marcos Assuncao | bbl.in " " * |
1403 | e542267e | Marcos Assuncao | } |
1404 | e542267e | Marcos Assuncao | { intype " " * } |
1405 | e542267e | Marcos Assuncao | if$ |
1406 | e542267e | Marcos Assuncao | swap$ * |
1407 | e542267e | Marcos Assuncao | cap.status.std |
1408 | e542267e | Marcos Assuncao | } |
1409 | e542267e | Marcos Assuncao | if$ |
1410 | e542267e | Marcos Assuncao | } |
1411 | e542267e | Marcos Assuncao | |
1412 | e542267e | Marcos Assuncao | % This is used to format the booktitle of collection. |
1413 | e542267e | Marcos Assuncao | % Here the "intype" field is not supported, but "edition" is. |
1414 | e542267e | Marcos Assuncao | FUNCTION {format.in.booktitle.edition} |
1415 | e542267e | Marcos Assuncao | { booktitle "booktitle" bibinfo.check duplicate$ empty$ 'skip$ |
1416 | e542267e | Marcos Assuncao | { this.to.prev.status |
1417 | e542267e | Marcos Assuncao | this.status.std |
1418 | e542267e | Marcos Assuncao | select.language |
1419 | e542267e | Marcos Assuncao | emphasize |
1420 | e542267e | Marcos Assuncao | edition empty$ 'skip$ |
1421 | e542267e | Marcos Assuncao | { ", " * |
1422 | e542267e | Marcos Assuncao | edition |
1423 | e542267e | Marcos Assuncao | convert.edition |
1424 | e542267e | Marcos Assuncao | "l" change.case$ |
1425 | e542267e | Marcos Assuncao | * "~" * bbl.edition * |
1426 | e542267e | Marcos Assuncao | } |
1427 | e542267e | Marcos Assuncao | if$ |
1428 | e542267e | Marcos Assuncao | bbl.in " " * swap$ * |
1429 | e542267e | Marcos Assuncao | cap.status.std |
1430 | e542267e | Marcos Assuncao | } |
1431 | e542267e | Marcos Assuncao | if$ |
1432 | e542267e | Marcos Assuncao | } |
1433 | e542267e | Marcos Assuncao | |
1434 | e542267e | Marcos Assuncao | FUNCTION {format.article.title} |
1435 | e542267e | Marcos Assuncao | { title duplicate$ empty$ 'skip$ |
1436 | e542267e | Marcos Assuncao | { this.to.prev.status |
1437 | e542267e | Marcos Assuncao | this.status.std |
1438 | e542267e | Marcos Assuncao | "t" change.case$ |
1439 | e542267e | Marcos Assuncao | } |
1440 | e542267e | Marcos Assuncao | if$ |
1441 | e542267e | Marcos Assuncao | "title" bibinfo.check |
1442 | e542267e | Marcos Assuncao | duplicate$ empty$ 'skip$ |
1443 | e542267e | Marcos Assuncao | { quote.close 'this.status.quote := |
1444 | e542267e | Marcos Assuncao | is.last.char.not.punct |
1445 | e542267e | Marcos Assuncao | { punct.std 'this.status.punct := } |
1446 | e542267e | Marcos Assuncao | { punct.no 'this.status.punct := } |
1447 | e542267e | Marcos Assuncao | if$ |
1448 | e542267e | Marcos Assuncao | select.language |
1449 | e542267e | Marcos Assuncao | "``" swap$ * |
1450 | e542267e | Marcos Assuncao | cap.status.std |
1451 | e542267e | Marcos Assuncao | } |
1452 | e542267e | Marcos Assuncao | if$ |
1453 | e542267e | Marcos Assuncao | } |
1454 | e542267e | Marcos Assuncao | |
1455 | e542267e | Marcos Assuncao | FUNCTION {format.article.title.electronic} |
1456 | e542267e | Marcos Assuncao | { title duplicate$ empty$ 'skip$ |
1457 | e542267e | Marcos Assuncao | { this.to.prev.status |
1458 | e542267e | Marcos Assuncao | this.status.std |
1459 | e542267e | Marcos Assuncao | cap.status.std |
1460 | e542267e | Marcos Assuncao | "t" change.case$ |
1461 | e542267e | Marcos Assuncao | } |
1462 | e542267e | Marcos Assuncao | if$ |
1463 | e542267e | Marcos Assuncao | "title" bibinfo.check |
1464 | e542267e | Marcos Assuncao | duplicate$ empty$ |
1465 | e542267e | Marcos Assuncao | { skip$ } |
1466 | e542267e | Marcos Assuncao | { select.language } |
1467 | e542267e | Marcos Assuncao | if$ |
1468 | e542267e | Marcos Assuncao | } |
1469 | e542267e | Marcos Assuncao | |
1470 | e542267e | Marcos Assuncao | FUNCTION {format.book.title.edition} |
1471 | e542267e | Marcos Assuncao | { title "title" bibinfo.check |
1472 | e542267e | Marcos Assuncao | duplicate$ empty$ |
1473 | e542267e | Marcos Assuncao | { "empty title in " cite$ * warning$ } |
1474 | e542267e | Marcos Assuncao | { this.to.prev.status |
1475 | e542267e | Marcos Assuncao | this.status.std |
1476 | e542267e | Marcos Assuncao | select.language |
1477 | e542267e | Marcos Assuncao | emphasize |
1478 | e542267e | Marcos Assuncao | edition empty$ 'skip$ |
1479 | e542267e | Marcos Assuncao | { ", " * |
1480 | e542267e | Marcos Assuncao | edition |
1481 | e542267e | Marcos Assuncao | convert.edition |
1482 | e542267e | Marcos Assuncao | status.cap |
1483 | e542267e | Marcos Assuncao | { "t" } |
1484 | e542267e | Marcos Assuncao | { "l" } |
1485 | e542267e | Marcos Assuncao | if$ |
1486 | e542267e | Marcos Assuncao | change.case$ |
1487 | e542267e | Marcos Assuncao | * "~" * bbl.edition * |
1488 | e542267e | Marcos Assuncao | } |
1489 | e542267e | Marcos Assuncao | if$ |
1490 | e542267e | Marcos Assuncao | cap.status.std |
1491 | e542267e | Marcos Assuncao | } |
1492 | e542267e | Marcos Assuncao | if$ |
1493 | e542267e | Marcos Assuncao | } |
1494 | e542267e | Marcos Assuncao | |
1495 | e542267e | Marcos Assuncao | FUNCTION {format.book.title} |
1496 | e542267e | Marcos Assuncao | { title "title" bibinfo.check |
1497 | e542267e | Marcos Assuncao | duplicate$ empty$ 'skip$ |
1498 | e542267e | Marcos Assuncao | { this.to.prev.status |
1499 | e542267e | Marcos Assuncao | this.status.std |
1500 | e542267e | Marcos Assuncao | cap.status.std |
1501 | e542267e | Marcos Assuncao | select.language |
1502 | e542267e | Marcos Assuncao | emphasize |
1503 | e542267e | Marcos Assuncao | } |
1504 | e542267e | Marcos Assuncao | if$ |
1505 | e542267e | Marcos Assuncao | } |
1506 | e542267e | Marcos Assuncao | |
1507 | e542267e | Marcos Assuncao | |
1508 | e542267e | Marcos Assuncao | |
1509 | e542267e | Marcos Assuncao | %% journal |
1510 | e542267e | Marcos Assuncao | |
1511 | e542267e | Marcos Assuncao | FUNCTION {format.journal} |
1512 | e542267e | Marcos Assuncao | { journal duplicate$ empty$ 'skip$ |
1513 | e542267e | Marcos Assuncao | { this.to.prev.status |
1514 | e542267e | Marcos Assuncao | this.status.std |
1515 | e542267e | Marcos Assuncao | cap.status.std |
1516 | e542267e | Marcos Assuncao | select.language |
1517 | e542267e | Marcos Assuncao | emphasize |
1518 | e542267e | Marcos Assuncao | } |
1519 | e542267e | Marcos Assuncao | if$ |
1520 | e542267e | Marcos Assuncao | } |
1521 | e542267e | Marcos Assuncao | |
1522 | e542267e | Marcos Assuncao | |
1523 | e542267e | Marcos Assuncao | |
1524 | e542267e | Marcos Assuncao | %% how published |
1525 | e542267e | Marcos Assuncao | |
1526 | e542267e | Marcos Assuncao | FUNCTION {format.howpublished} |
1527 | e542267e | Marcos Assuncao | { howpublished duplicate$ empty$ 'skip$ |
1528 | e542267e | Marcos Assuncao | { this.to.prev.status |
1529 | e542267e | Marcos Assuncao | this.status.std |
1530 | e542267e | Marcos Assuncao | cap.status.std |
1531 | e542267e | Marcos Assuncao | } |
1532 | e542267e | Marcos Assuncao | if$ |
1533 | e542267e | Marcos Assuncao | } |
1534 | e542267e | Marcos Assuncao | |
1535 | e542267e | Marcos Assuncao | |
1536 | e542267e | Marcos Assuncao | |
1537 | e542267e | Marcos Assuncao | %% institutions/organization/publishers/school |
1538 | e542267e | Marcos Assuncao | |
1539 | e542267e | Marcos Assuncao | FUNCTION {format.institution} |
1540 | e542267e | Marcos Assuncao | { institution duplicate$ empty$ 'skip$ |
1541 | e542267e | Marcos Assuncao | { this.to.prev.status |
1542 | e542267e | Marcos Assuncao | this.status.std |
1543 | e542267e | Marcos Assuncao | cap.status.std |
1544 | e542267e | Marcos Assuncao | } |
1545 | e542267e | Marcos Assuncao | if$ |
1546 | e542267e | Marcos Assuncao | } |
1547 | e542267e | Marcos Assuncao | |
1548 | e542267e | Marcos Assuncao | FUNCTION {format.organization} |
1549 | e542267e | Marcos Assuncao | { organization duplicate$ empty$ 'skip$ |
1550 | e542267e | Marcos Assuncao | { this.to.prev.status |
1551 | e542267e | Marcos Assuncao | this.status.std |
1552 | e542267e | Marcos Assuncao | cap.status.std |
1553 | e542267e | Marcos Assuncao | } |
1554 | e542267e | Marcos Assuncao | if$ |
1555 | e542267e | Marcos Assuncao | } |
1556 | e542267e | Marcos Assuncao | |
1557 | e542267e | Marcos Assuncao | FUNCTION {format.address.publisher.date} |
1558 | e542267e | Marcos Assuncao | { publisher "publisher" bibinfo.warn format.address.org.or.pub.date } |
1559 | e542267e | Marcos Assuncao | |
1560 | e542267e | Marcos Assuncao | FUNCTION {format.address.publisher.date.nowarn} |
1561 | e542267e | Marcos Assuncao | { publisher "publisher" bibinfo.check format.address.org.or.pub.date } |
1562 | e542267e | Marcos Assuncao | |
1563 | e542267e | Marcos Assuncao | FUNCTION {format.address.organization.date} |
1564 | e542267e | Marcos Assuncao | { organization "organization" bibinfo.check format.address.org.or.pub.date } |
1565 | e542267e | Marcos Assuncao | |
1566 | e542267e | Marcos Assuncao | FUNCTION {format.school} |
1567 | e542267e | Marcos Assuncao | { school duplicate$ empty$ 'skip$ |
1568 | e542267e | Marcos Assuncao | { this.to.prev.status |
1569 | e542267e | Marcos Assuncao | this.status.std |
1570 | e542267e | Marcos Assuncao | cap.status.std |
1571 | e542267e | Marcos Assuncao | } |
1572 | e542267e | Marcos Assuncao | if$ |
1573 | e542267e | Marcos Assuncao | } |
1574 | e542267e | Marcos Assuncao | |
1575 | e542267e | Marcos Assuncao | |
1576 | e542267e | Marcos Assuncao | |
1577 | e542267e | Marcos Assuncao | %% volume/number/series/chapter/pages |
1578 | e542267e | Marcos Assuncao | |
1579 | e542267e | Marcos Assuncao | FUNCTION {format.volume} |
1580 | e542267e | Marcos Assuncao | { volume empty.field.to.null.string |
1581 | e542267e | Marcos Assuncao | duplicate$ empty$ 'skip$ |
1582 | e542267e | Marcos Assuncao | { this.to.prev.status |
1583 | e542267e | Marcos Assuncao | this.status.std |
1584 | e542267e | Marcos Assuncao | bbl.volume |
1585 | e542267e | Marcos Assuncao | status.cap |
1586 | e542267e | Marcos Assuncao | { capitalize } |
1587 | e542267e | Marcos Assuncao | { skip$ } |
1588 | e542267e | Marcos Assuncao | if$ |
1589 | e542267e | Marcos Assuncao | swap$ tie.or.space.prefix |
1590 | e542267e | Marcos Assuncao | "volume" bibinfo.check |
1591 | e542267e | Marcos Assuncao | * * |
1592 | e542267e | Marcos Assuncao | cap.status.std |
1593 | e542267e | Marcos Assuncao | } |
1594 | e542267e | Marcos Assuncao | if$ |
1595 | e542267e | Marcos Assuncao | } |
1596 | e542267e | Marcos Assuncao | |
1597 | e542267e | Marcos Assuncao | FUNCTION {format.number} |
1598 | e542267e | Marcos Assuncao | { number empty.field.to.null.string |
1599 | e542267e | Marcos Assuncao | duplicate$ empty$ 'skip$ |
1600 | e542267e | Marcos Assuncao | { this.to.prev.status |
1601 | e542267e | Marcos Assuncao | this.status.std |
1602 | e542267e | Marcos Assuncao | status.cap |
1603 | e542267e | Marcos Assuncao | { bbl.number capitalize } |
1604 | e542267e | Marcos Assuncao | { bbl.number } |
1605 | e542267e | Marcos Assuncao | if$ |
1606 | e542267e | Marcos Assuncao | swap$ tie.or.space.prefix |
1607 | e542267e | Marcos Assuncao | "number" bibinfo.check |
1608 | e542267e | Marcos Assuncao | * * |
1609 | e542267e | Marcos Assuncao | cap.status.std |
1610 | e542267e | Marcos Assuncao | } |
1611 | e542267e | Marcos Assuncao | if$ |
1612 | e542267e | Marcos Assuncao | } |
1613 | e542267e | Marcos Assuncao | |
1614 | e542267e | Marcos Assuncao | FUNCTION {format.number.if.use.for.article} |
1615 | e542267e | Marcos Assuncao | { is.use.number.for.article |
1616 | e542267e | Marcos Assuncao | { format.number } |
1617 | e542267e | Marcos Assuncao | { "" } |
1618 | e542267e | Marcos Assuncao | if$ |
1619 | e542267e | Marcos Assuncao | } |
1620 | e542267e | Marcos Assuncao | |
1621 | e542267e | Marcos Assuncao | % IEEE does not seem to tie the series so closely with the volume |
1622 | e542267e | Marcos Assuncao | % and number as is done in other bibliography styles. Instead the |
1623 | e542267e | Marcos Assuncao | % series is treated somewhat like an extension of the title. |
1624 | e542267e | Marcos Assuncao | FUNCTION {format.series} |
1625 | e542267e | Marcos Assuncao | { series empty$ |
1626 | e542267e | Marcos Assuncao | { "" } |
1627 | e542267e | Marcos Assuncao | { this.to.prev.status |
1628 | e542267e | Marcos Assuncao | this.status.std |
1629 | e542267e | Marcos Assuncao | bbl.series " " * |
1630 | e542267e | Marcos Assuncao | series "series" bibinfo.check * |
1631 | e542267e | Marcos Assuncao | cap.status.std |
1632 | e542267e | Marcos Assuncao | } |
1633 | e542267e | Marcos Assuncao | if$ |
1634 | e542267e | Marcos Assuncao | } |
1635 | e542267e | Marcos Assuncao | |
1636 | e542267e | Marcos Assuncao | |
1637 | e542267e | Marcos Assuncao | FUNCTION {format.chapter} |
1638 | e542267e | Marcos Assuncao | { chapter empty$ |
1639 | e542267e | Marcos Assuncao | { "" } |
1640 | e542267e | Marcos Assuncao | { this.to.prev.status |
1641 | e542267e | Marcos Assuncao | this.status.std |
1642 | e542267e | Marcos Assuncao | type empty$ |
1643 | e542267e | Marcos Assuncao | { bbl.chapter } |
1644 | e542267e | Marcos Assuncao | { type "l" change.case$ |
1645 | e542267e | Marcos Assuncao | "type" bibinfo.check |
1646 | e542267e | Marcos Assuncao | } |
1647 | e542267e | Marcos Assuncao | if$ |
1648 | e542267e | Marcos Assuncao | chapter tie.or.space.prefix |
1649 | e542267e | Marcos Assuncao | "chapter" bibinfo.check |
1650 | e542267e | Marcos Assuncao | * * |
1651 | e542267e | Marcos Assuncao | cap.status.std |
1652 | e542267e | Marcos Assuncao | } |
1653 | e542267e | Marcos Assuncao | if$ |
1654 | e542267e | Marcos Assuncao | } |
1655 | e542267e | Marcos Assuncao | |
1656 | e542267e | Marcos Assuncao | |
1657 | e542267e | Marcos Assuncao | % The intended use of format.paper is for paper numbers of inproceedings. |
1658 | e542267e | Marcos Assuncao | % The paper type can be overridden via the type field. |
1659 | e542267e | Marcos Assuncao | % We allow the type to be displayed even if the paper number is absent |
1660 | e542267e | Marcos Assuncao | % for things like "postdeadline paper" |
1661 | e542267e | Marcos Assuncao | FUNCTION {format.paper} |
1662 | e542267e | Marcos Assuncao | { is.use.paper |
1663 | e542267e | Marcos Assuncao | { paper empty$ |
1664 | e542267e | Marcos Assuncao | { type empty$ |
1665 | e542267e | Marcos Assuncao | { "" } |
1666 | e542267e | Marcos Assuncao | { this.to.prev.status |
1667 | e542267e | Marcos Assuncao | this.status.std |
1668 | e542267e | Marcos Assuncao | type "type" bibinfo.check |
1669 | e542267e | Marcos Assuncao | cap.status.std |
1670 | e542267e | Marcos Assuncao | } |
1671 | e542267e | Marcos Assuncao | if$ |
1672 | e542267e | Marcos Assuncao | } |
1673 | e542267e | Marcos Assuncao | { this.to.prev.status |
1674 | e542267e | Marcos Assuncao | this.status.std |
1675 | e542267e | Marcos Assuncao | type empty$ |
1676 | e542267e | Marcos Assuncao | { bbl.paper } |
1677 | e542267e | Marcos Assuncao | { type "type" bibinfo.check } |
1678 | e542267e | Marcos Assuncao | if$ |
1679 | e542267e | Marcos Assuncao | " " * paper |
1680 | e542267e | Marcos Assuncao | "paper" bibinfo.check |
1681 | e542267e | Marcos Assuncao | * |
1682 | e542267e | Marcos Assuncao | cap.status.std |
1683 | e542267e | Marcos Assuncao | } |
1684 | e542267e | Marcos Assuncao | if$ |
1685 | e542267e | Marcos Assuncao | } |
1686 | e542267e | Marcos Assuncao | { "" } |
1687 | e542267e | Marcos Assuncao | if$ |
1688 | e542267e | Marcos Assuncao | } |
1689 | e542267e | Marcos Assuncao | |
1690 | e542267e | Marcos Assuncao | |
1691 | e542267e | Marcos Assuncao | FUNCTION {format.pages} |
1692 | e542267e | Marcos Assuncao | { pages duplicate$ empty$ 'skip$ |
1693 | e542267e | Marcos Assuncao | { this.to.prev.status |
1694 | e542267e | Marcos Assuncao | this.status.std |
1695 | e542267e | Marcos Assuncao | duplicate$ is.multiple.pages |
1696 | e542267e | Marcos Assuncao | { |
1697 | e542267e | Marcos Assuncao | bbl.pages swap$ |
1698 | e542267e | Marcos Assuncao | n.dashify |
1699 | e542267e | Marcos Assuncao | } |
1700 | e542267e | Marcos Assuncao | { |
1701 | e542267e | Marcos Assuncao | bbl.page swap$ |
1702 | e542267e | Marcos Assuncao | } |
1703 | e542267e | Marcos Assuncao | if$ |
1704 | e542267e | Marcos Assuncao | tie.or.space.prefix |
1705 | e542267e | Marcos Assuncao | "pages" bibinfo.check |
1706 | e542267e | Marcos Assuncao | * * |
1707 | e542267e | Marcos Assuncao | cap.status.std |
1708 | e542267e | Marcos Assuncao | } |
1709 | e542267e | Marcos Assuncao | if$ |
1710 | e542267e | Marcos Assuncao | } |
1711 | e542267e | Marcos Assuncao | |
1712 | e542267e | Marcos Assuncao | |
1713 | e542267e | Marcos Assuncao | |
1714 | e542267e | Marcos Assuncao | %% technical report number |
1715 | e542267e | Marcos Assuncao | |
1716 | e542267e | Marcos Assuncao | FUNCTION {format.tech.report.number} |
1717 | e542267e | Marcos Assuncao | { number "number" bibinfo.check |
1718 | e542267e | Marcos Assuncao | this.to.prev.status |
1719 | e542267e | Marcos Assuncao | this.status.std |
1720 | e542267e | Marcos Assuncao | cap.status.std |
1721 | e542267e | Marcos Assuncao | type duplicate$ empty$ |
1722 | e542267e | Marcos Assuncao | { pop$ |
1723 | e542267e | Marcos Assuncao | bbl.techrep |
1724 | e542267e | Marcos Assuncao | } |
1725 | e542267e | Marcos Assuncao | { skip$ } |
1726 | e542267e | Marcos Assuncao | if$ |
1727 | e542267e | Marcos Assuncao | "type" bibinfo.check |
1728 | e542267e | Marcos Assuncao | swap$ duplicate$ empty$ |
1729 | e542267e | Marcos Assuncao | { pop$ } |
1730 | e542267e | Marcos Assuncao | { tie.or.space.prefix * * } |
1731 | e542267e | Marcos Assuncao | if$ |
1732 | e542267e | Marcos Assuncao | } |
1733 | e542267e | Marcos Assuncao | |
1734 | e542267e | Marcos Assuncao | |
1735 | e542267e | Marcos Assuncao | |
1736 | e542267e | Marcos Assuncao | %% note |
1737 | e542267e | Marcos Assuncao | |
1738 | e542267e | Marcos Assuncao | FUNCTION {format.note} |
1739 | e542267e | Marcos Assuncao | { note empty$ |
1740 | e542267e | Marcos Assuncao | { "" } |
1741 | e542267e | Marcos Assuncao | { this.to.prev.status |
1742 | e542267e | Marcos Assuncao | this.status.std |
1743 | e542267e | Marcos Assuncao | punct.period 'this.status.punct := |
1744 | e542267e | Marcos Assuncao | note #1 #1 substring$ |
1745 | e542267e | Marcos Assuncao | duplicate$ "{" = |
1746 | e542267e | Marcos Assuncao | { skip$ } |
1747 | e542267e | Marcos Assuncao | { status.cap |
1748 | e542267e | Marcos Assuncao | { "u" } |
1749 | e542267e | Marcos Assuncao | { "l" } |
1750 | e542267e | Marcos Assuncao | if$ |
1751 | e542267e | Marcos Assuncao | change.case$ |
1752 | e542267e | Marcos Assuncao | } |
1753 | e542267e | Marcos Assuncao | if$ |
1754 | e542267e | Marcos Assuncao | note #2 global.max$ substring$ * "note" bibinfo.check |
1755 | e542267e | Marcos Assuncao | cap.yes 'status.cap := |
1756 | e542267e | Marcos Assuncao | } |
1757 | e542267e | Marcos Assuncao | if$ |
1758 | e542267e | Marcos Assuncao | } |
1759 | e542267e | Marcos Assuncao | |
1760 | e542267e | Marcos Assuncao | |
1761 | e542267e | Marcos Assuncao | |
1762 | e542267e | Marcos Assuncao | %% patent |
1763 | e542267e | Marcos Assuncao | |
1764 | e542267e | Marcos Assuncao | FUNCTION {format.patent.date} |
1765 | e542267e | Marcos Assuncao | { this.to.prev.status |
1766 | e542267e | Marcos Assuncao | this.status.std |
1767 | e542267e | Marcos Assuncao | year empty$ |
1768 | e542267e | Marcos Assuncao | { monthfiled duplicate$ empty$ |
1769 | e542267e | Marcos Assuncao | { "monthfiled" bibinfo.check pop$ "" } |
1770 | e542267e | Marcos Assuncao | { "monthfiled" bibinfo.check } |
1771 | e542267e | Marcos Assuncao | if$ |
1772 | e542267e | Marcos Assuncao | dayfiled duplicate$ empty$ |
1773 | e542267e | Marcos Assuncao | { "dayfiled" bibinfo.check pop$ "" * } |
1774 | e542267e | Marcos Assuncao | { "dayfiled" bibinfo.check |
1775 | e542267e | Marcos Assuncao | monthfiled empty$ |
1776 | e542267e | Marcos Assuncao | { "dayfiled without a monthfiled in " cite$ * warning$ |
1777 | e542267e | Marcos Assuncao | * |
1778 | e542267e | Marcos Assuncao | } |
1779 | e542267e | Marcos Assuncao | { " " swap$ * * } |
1780 | e542267e | Marcos Assuncao | if$ |
1781 | e542267e | Marcos Assuncao | } |
1782 | e542267e | Marcos Assuncao | if$ |
1783 | e542267e | Marcos Assuncao | yearfiled empty$ |
1784 | e542267e | Marcos Assuncao | { "no year or yearfiled in " cite$ * warning$ } |
1785 | e542267e | Marcos Assuncao | { yearfiled "yearfiled" bibinfo.check |
1786 | e542267e | Marcos Assuncao | swap$ |
1787 | e542267e | Marcos Assuncao | duplicate$ empty$ |
1788 | e542267e | Marcos Assuncao | { pop$ } |
1789 | e542267e | Marcos Assuncao | { ", " * swap$ * } |
1790 | e542267e | Marcos Assuncao | if$ |
1791 | e542267e | Marcos Assuncao | } |
1792 | e542267e | Marcos Assuncao | if$ |
1793 | e542267e | Marcos Assuncao | } |
1794 | e542267e | Marcos Assuncao | { month duplicate$ empty$ |
1795 | e542267e | Marcos Assuncao | { "month" bibinfo.check pop$ "" } |
1796 | e542267e | Marcos Assuncao | { "month" bibinfo.check } |
1797 | e542267e | Marcos Assuncao | if$ |
1798 | e542267e | Marcos Assuncao | day duplicate$ empty$ |
1799 | e542267e | Marcos Assuncao | { "day" bibinfo.check pop$ "" * } |
1800 | e542267e | Marcos Assuncao | { "day" bibinfo.check |
1801 | e542267e | Marcos Assuncao | month empty$ |
1802 | e542267e | Marcos Assuncao | { "day without a month in " cite$ * warning$ |
1803 | e542267e | Marcos Assuncao | * |
1804 | e542267e | Marcos Assuncao | } |
1805 | e542267e | Marcos Assuncao | { " " swap$ * * } |
1806 | e542267e | Marcos Assuncao | if$ |
1807 | e542267e | Marcos Assuncao | } |
1808 | e542267e | Marcos Assuncao | if$ |
1809 | e542267e | Marcos Assuncao | year "year" bibinfo.check |
1810 | e542267e | Marcos Assuncao | swap$ |
1811 | e542267e | Marcos Assuncao | duplicate$ empty$ |
1812 | e542267e | Marcos Assuncao | { pop$ } |
1813 | e542267e | Marcos Assuncao | { ", " * swap$ * } |
1814 | e542267e | Marcos Assuncao | if$ |
1815 | e542267e | Marcos Assuncao | } |
1816 | e542267e | Marcos Assuncao | if$ |
1817 | e542267e | Marcos Assuncao | cap.status.std |
1818 | e542267e | Marcos Assuncao | } |
1819 | e542267e | Marcos Assuncao | |
1820 | e542267e | Marcos Assuncao | FUNCTION {format.patent.nationality.type.number} |
1821 | e542267e | Marcos Assuncao | { this.to.prev.status |
1822 | e542267e | Marcos Assuncao | this.status.std |
1823 | e542267e | Marcos Assuncao | nationality duplicate$ empty$ |
1824 | e542267e | Marcos Assuncao | { "nationality" bibinfo.warn pop$ "" } |
1825 | e542267e | Marcos Assuncao | { "nationality" bibinfo.check |
1826 | e542267e | Marcos Assuncao | duplicate$ "l" change.case$ "united states" = |
1827 | e542267e | Marcos Assuncao | { pop$ bbl.patentUS } |
1828 | e542267e | Marcos Assuncao | { skip$ } |
1829 | e542267e | Marcos Assuncao | if$ |
1830 | e542267e | Marcos Assuncao | " " * |
1831 | e542267e | Marcos Assuncao | } |
1832 | e542267e | Marcos Assuncao | if$ |
1833 | e542267e | Marcos Assuncao | type empty$ |
1834 | e542267e | Marcos Assuncao | { bbl.patent "type" bibinfo.check } |
1835 | e542267e | Marcos Assuncao | { type "type" bibinfo.check } |
1836 | e542267e | Marcos Assuncao | if$ |
1837 | e542267e | Marcos Assuncao | * |
1838 | e542267e | Marcos Assuncao | number duplicate$ empty$ |
1839 | e542267e | Marcos Assuncao | { "number" bibinfo.warn pop$ } |
1840 | e542267e | Marcos Assuncao | { "number" bibinfo.check |
1841 | e542267e | Marcos Assuncao | large.number.separate |
1842 | e542267e | Marcos Assuncao | swap$ " " * swap$ * |
1843 | e542267e | Marcos Assuncao | } |
1844 | e542267e | Marcos Assuncao | if$ |
1845 | e542267e | Marcos Assuncao | cap.status.std |
1846 | e542267e | Marcos Assuncao | } |
1847 | e542267e | Marcos Assuncao | |
1848 | e542267e | Marcos Assuncao | |
1849 | e542267e | Marcos Assuncao | |
1850 | e542267e | Marcos Assuncao | %% standard |
1851 | e542267e | Marcos Assuncao | |
1852 | e542267e | Marcos Assuncao | FUNCTION {format.organization.institution.standard.type.number} |
1853 | e542267e | Marcos Assuncao | { this.to.prev.status |
1854 | e542267e | Marcos Assuncao | this.status.std |
1855 | e542267e | Marcos Assuncao | organization duplicate$ empty$ |
1856 | e542267e | Marcos Assuncao | { pop$ |
1857 | e542267e | Marcos Assuncao | institution duplicate$ empty$ |
1858 | e542267e | Marcos Assuncao | { "institution" bibinfo.warn } |
1859 | e542267e | Marcos Assuncao | { "institution" bibinfo.warn " " * } |
1860 | e542267e | Marcos Assuncao | if$ |
1861 | e542267e | Marcos Assuncao | } |
1862 | e542267e | Marcos Assuncao | { "organization" bibinfo.warn " " * } |
1863 | e542267e | Marcos Assuncao | if$ |
1864 | e542267e | Marcos Assuncao | type empty$ |
1865 | e542267e | Marcos Assuncao | { bbl.standard "type" bibinfo.check } |
1866 | e542267e | Marcos Assuncao | { type "type" bibinfo.check } |
1867 | e542267e | Marcos Assuncao | if$ |
1868 | e542267e | Marcos Assuncao | * |
1869 | e542267e | Marcos Assuncao | number duplicate$ empty$ |
1870 | e542267e | Marcos Assuncao | { "number" bibinfo.check pop$ } |
1871 | e542267e | Marcos Assuncao | { "number" bibinfo.check |
1872 | e542267e | Marcos Assuncao | large.number.separate |
1873 | e542267e | Marcos Assuncao | swap$ " " * swap$ * |
1874 | e542267e | Marcos Assuncao | } |
1875 | e542267e | Marcos Assuncao | if$ |
1876 | e542267e | Marcos Assuncao | cap.status.std |
1877 | e542267e | Marcos Assuncao | } |
1878 | e542267e | Marcos Assuncao | |
1879 | e542267e | Marcos Assuncao | FUNCTION {format.revision} |
1880 | e542267e | Marcos Assuncao | { revision empty$ |
1881 | e542267e | Marcos Assuncao | { "" } |
1882 | e542267e | Marcos Assuncao | { this.to.prev.status |
1883 | e542267e | Marcos Assuncao | this.status.std |
1884 | e542267e | Marcos Assuncao | bbl.revision |
1885 | e542267e | Marcos Assuncao | revision tie.or.space.prefix |
1886 | e542267e | Marcos Assuncao | "revision" bibinfo.check |
1887 | e542267e | Marcos Assuncao | * * |
1888 | e542267e | Marcos Assuncao | cap.status.std |
1889 | e542267e | Marcos Assuncao | } |
1890 | e542267e | Marcos Assuncao | if$ |
1891 | e542267e | Marcos Assuncao | } |
1892 | e542267e | Marcos Assuncao | |
1893 | e542267e | Marcos Assuncao | |
1894 | e542267e | Marcos Assuncao | %% thesis |
1895 | e542267e | Marcos Assuncao | |
1896 | e542267e | Marcos Assuncao | FUNCTION {format.master.thesis.type} |
1897 | e542267e | Marcos Assuncao | { this.to.prev.status |
1898 | e542267e | Marcos Assuncao | this.status.std |
1899 | e542267e | Marcos Assuncao | type empty$ |
1900 | e542267e | Marcos Assuncao | { |
1901 | e542267e | Marcos Assuncao | bbl.mthesis |
1902 | e542267e | Marcos Assuncao | } |
1903 | e542267e | Marcos Assuncao | { |
1904 | e542267e | Marcos Assuncao | type "type" bibinfo.check |
1905 | e542267e | Marcos Assuncao | } |
1906 | e542267e | Marcos Assuncao | if$ |
1907 | e542267e | Marcos Assuncao | cap.status.std |
1908 | e542267e | Marcos Assuncao | } |
1909 | e542267e | Marcos Assuncao | |
1910 | e542267e | Marcos Assuncao | FUNCTION {format.phd.thesis.type} |
1911 | e542267e | Marcos Assuncao | { this.to.prev.status |
1912 | e542267e | Marcos Assuncao | this.status.std |
1913 | e542267e | Marcos Assuncao | type empty$ |
1914 | e542267e | Marcos Assuncao | { |
1915 | e542267e | Marcos Assuncao | bbl.phdthesis |
1916 | e542267e | Marcos Assuncao | } |
1917 | e542267e | Marcos Assuncao | { |
1918 | e542267e | Marcos Assuncao | type "type" bibinfo.check |
1919 | e542267e | Marcos Assuncao | } |
1920 | e542267e | Marcos Assuncao | if$ |
1921 | e542267e | Marcos Assuncao | cap.status.std |
1922 | e542267e | Marcos Assuncao | } |
1923 | e542267e | Marcos Assuncao | |
1924 | e542267e | Marcos Assuncao | |
1925 | e542267e | Marcos Assuncao | |
1926 | e542267e | Marcos Assuncao | %% URL |
1927 | e542267e | Marcos Assuncao | |
1928 | e542267e | Marcos Assuncao | FUNCTION {format.url} |
1929 | e542267e | Marcos Assuncao | { url empty$ |
1930 | e542267e | Marcos Assuncao | { "" } |
1931 | e542267e | Marcos Assuncao | { this.to.prev.status |
1932 | e542267e | Marcos Assuncao | this.status.std |
1933 | e542267e | Marcos Assuncao | cap.yes 'status.cap := |
1934 | e542267e | Marcos Assuncao | name.url.prefix " " * |
1935 | e542267e | Marcos Assuncao | "\url{" * url * "}" * |
1936 | e542267e | Marcos Assuncao | punct.no 'this.status.punct := |
1937 | e542267e | Marcos Assuncao | punct.period 'prev.status.punct := |
1938 | e542267e | Marcos Assuncao | space.normal 'this.status.space := |
1939 | e542267e | Marcos Assuncao | space.normal 'prev.status.space := |
1940 | e542267e | Marcos Assuncao | quote.no 'this.status.quote := |
1941 | e542267e | Marcos Assuncao | } |
1942 | e542267e | Marcos Assuncao | if$ |
1943 | e542267e | Marcos Assuncao | } |
1944 | e542267e | Marcos Assuncao | |
1945 | e542267e | Marcos Assuncao | |
1946 | e542267e | Marcos Assuncao | |
1947 | e542267e | Marcos Assuncao | |
1948 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%%%% |
1949 | e542267e | Marcos Assuncao | %% ENTRY HANDLERS %% |
1950 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%%%% |
1951 | e542267e | Marcos Assuncao | |
1952 | e542267e | Marcos Assuncao | |
1953 | e542267e | Marcos Assuncao | % Note: In many journals, IEEE (or the authors) tend not to show the number |
1954 | e542267e | Marcos Assuncao | % for articles, so the display of the number is controlled here by the |
1955 | e542267e | Marcos Assuncao | % switch "is.use.number.for.article" |
1956 | e542267e | Marcos Assuncao | FUNCTION {article} |
1957 | e542267e | Marcos Assuncao | { std.status.using.comma |
1958 | e542267e | Marcos Assuncao | start.entry |
1959 | e542267e | Marcos Assuncao | if.url.alt.interword.spacing |
1960 | e542267e | Marcos Assuncao | format.authors "author" output.warn |
1961 | e542267e | Marcos Assuncao | name.or.dash |
1962 | e542267e | Marcos Assuncao | format.article.title "title" output.warn |
1963 | e542267e | Marcos Assuncao | format.journal "journal" bibinfo.check "journal" output.warn |
1964 | e542267e | Marcos Assuncao | format.volume output |
1965 | e542267e | Marcos Assuncao | format.number.if.use.for.article output |
1966 | e542267e | Marcos Assuncao | format.pages output |
1967 | e542267e | Marcos Assuncao | format.date "year" output.warn |
1968 | e542267e | Marcos Assuncao | format.note output |
1969 | e542267e | Marcos Assuncao | format.url output |
1970 | e542267e | Marcos Assuncao | fin.entry |
1971 | e542267e | Marcos Assuncao | if.url.std.interword.spacing |
1972 | e542267e | Marcos Assuncao | } |
1973 | e542267e | Marcos Assuncao | |
1974 | e542267e | Marcos Assuncao | FUNCTION {book} |
1975 | e542267e | Marcos Assuncao | { std.status.using.comma |
1976 | e542267e | Marcos Assuncao | start.entry |
1977 | e542267e | Marcos Assuncao | if.url.alt.interword.spacing |
1978 | e542267e | Marcos Assuncao | author empty$ |
1979 | e542267e | Marcos Assuncao | { format.editors "author and editor" output.warn } |
1980 | e542267e | Marcos Assuncao | { format.authors output.nonnull } |
1981 | e542267e | Marcos Assuncao | if$ |
1982 | e542267e | Marcos Assuncao | name.or.dash |
1983 | e542267e | Marcos Assuncao | format.book.title.edition output |
1984 | e542267e | Marcos Assuncao | format.series output |
1985 | e542267e | Marcos Assuncao | author empty$ |
1986 | e542267e | Marcos Assuncao | { skip$ } |
1987 | e542267e | Marcos Assuncao | { format.editors output } |
1988 | e542267e | Marcos Assuncao | if$ |
1989 | e542267e | Marcos Assuncao | format.address.publisher.date output |
1990 | e542267e | Marcos Assuncao | format.volume output |
1991 | e542267e | Marcos Assuncao | format.number output |
1992 | e542267e | Marcos Assuncao | format.note output |
1993 | e542267e | Marcos Assuncao | format.url output |
1994 | e542267e | Marcos Assuncao | fin.entry |
1995 | e542267e | Marcos Assuncao | if.url.std.interword.spacing |
1996 | e542267e | Marcos Assuncao | } |
1997 | e542267e | Marcos Assuncao | |
1998 | e542267e | Marcos Assuncao | FUNCTION {booklet} |
1999 | e542267e | Marcos Assuncao | { std.status.using.comma |
2000 | e542267e | Marcos Assuncao | start.entry |
2001 | e542267e | Marcos Assuncao | if.url.alt.interword.spacing |
2002 | e542267e | Marcos Assuncao | format.authors output |
2003 | e542267e | Marcos Assuncao | name.or.dash |
2004 | e542267e | Marcos Assuncao | format.article.title "title" output.warn |
2005 | e542267e | Marcos Assuncao | format.howpublished "howpublished" bibinfo.check output |
2006 | e542267e | Marcos Assuncao | format.organization "organization" bibinfo.check output |
2007 | e542267e | Marcos Assuncao | format.address "address" bibinfo.check output |
2008 | e542267e | Marcos Assuncao | format.date output |
2009 | e542267e | Marcos Assuncao | format.note output |
2010 | e542267e | Marcos Assuncao | format.url output |
2011 | e542267e | Marcos Assuncao | fin.entry |
2012 | e542267e | Marcos Assuncao | if.url.std.interword.spacing |
2013 | e542267e | Marcos Assuncao | } |
2014 | e542267e | Marcos Assuncao | |
2015 | e542267e | Marcos Assuncao | FUNCTION {electronic} |
2016 | e542267e | Marcos Assuncao | { std.status.using.period |
2017 | e542267e | Marcos Assuncao | start.entry |
2018 | e542267e | Marcos Assuncao | if.url.alt.interword.spacing |
2019 | e542267e | Marcos Assuncao | format.authors output |
2020 | e542267e | Marcos Assuncao | name.or.dash |
2021 | e542267e | Marcos Assuncao | format.date.electronic output |
2022 | e542267e | Marcos Assuncao | format.article.title.electronic output |
2023 | e542267e | Marcos Assuncao | format.howpublished "howpublished" bibinfo.check output |
2024 | e542267e | Marcos Assuncao | format.organization "organization" bibinfo.check output |
2025 | e542267e | Marcos Assuncao | format.address "address" bibinfo.check output |
2026 | e542267e | Marcos Assuncao | format.note output |
2027 | e542267e | Marcos Assuncao | format.url output |
2028 | e542267e | Marcos Assuncao | fin.entry |
2029 | e542267e | Marcos Assuncao | empty.entry.warn |
2030 | e542267e | Marcos Assuncao | if.url.std.interword.spacing |
2031 | e542267e | Marcos Assuncao | } |
2032 | e542267e | Marcos Assuncao | |
2033 | e542267e | Marcos Assuncao | FUNCTION {inbook} |
2034 | e542267e | Marcos Assuncao | { std.status.using.comma |
2035 | e542267e | Marcos Assuncao | start.entry |
2036 | e542267e | Marcos Assuncao | if.url.alt.interword.spacing |
2037 | e542267e | Marcos Assuncao | author empty$ |
2038 | e542267e | Marcos Assuncao | { format.editors "author and editor" output.warn } |
2039 | e542267e | Marcos Assuncao | { format.authors output.nonnull } |
2040 | e542267e | Marcos Assuncao | if$ |
2041 | e542267e | Marcos Assuncao | name.or.dash |
2042 | e542267e | Marcos Assuncao | format.book.title.edition output |
2043 | e542267e | Marcos Assuncao | format.series output |
2044 | e542267e | Marcos Assuncao | format.address.publisher.date output |
2045 | e542267e | Marcos Assuncao | format.volume output |
2046 | e542267e | Marcos Assuncao | format.number output |
2047 | e542267e | Marcos Assuncao | format.chapter output |
2048 | e542267e | Marcos Assuncao | format.pages output |
2049 | e542267e | Marcos Assuncao | format.note output |
2050 | e542267e | Marcos Assuncao | format.url output |
2051 | e542267e | Marcos Assuncao | fin.entry |
2052 | e542267e | Marcos Assuncao | if.url.std.interword.spacing |
2053 | e542267e | Marcos Assuncao | } |
2054 | e542267e | Marcos Assuncao | |
2055 | e542267e | Marcos Assuncao | FUNCTION {incollection} |
2056 | e542267e | Marcos Assuncao | { std.status.using.comma |
2057 | e542267e | Marcos Assuncao | start.entry |
2058 | e542267e | Marcos Assuncao | if.url.alt.interword.spacing |
2059 | e542267e | Marcos Assuncao | format.authors "author" output.warn |
2060 | e542267e | Marcos Assuncao | name.or.dash |
2061 | e542267e | Marcos Assuncao | format.article.title "title" output.warn |
2062 | e542267e | Marcos Assuncao | format.in.booktitle.edition "booktitle" output.warn |
2063 | e542267e | Marcos Assuncao | format.series output |
2064 | e542267e | Marcos Assuncao | format.editors output |
2065 | e542267e | Marcos Assuncao | format.address.publisher.date.nowarn output |
2066 | e542267e | Marcos Assuncao | format.volume output |
2067 | e542267e | Marcos Assuncao | format.number output |
2068 | e542267e | Marcos Assuncao | format.chapter output |
2069 | e542267e | Marcos Assuncao | format.pages output |
2070 | e542267e | Marcos Assuncao | format.note output |
2071 | e542267e | Marcos Assuncao | format.url output |
2072 | e542267e | Marcos Assuncao | fin.entry |
2073 | e542267e | Marcos Assuncao | if.url.std.interword.spacing |
2074 | e542267e | Marcos Assuncao | } |
2075 | e542267e | Marcos Assuncao | |
2076 | e542267e | Marcos Assuncao | FUNCTION {inproceedings} |
2077 | e542267e | Marcos Assuncao | { std.status.using.comma |
2078 | e542267e | Marcos Assuncao | start.entry |
2079 | e542267e | Marcos Assuncao | if.url.alt.interword.spacing |
2080 | e542267e | Marcos Assuncao | format.authors "author" output.warn |
2081 | e542267e | Marcos Assuncao | name.or.dash |
2082 | e542267e | Marcos Assuncao | format.article.title "title" output.warn |
2083 | e542267e | Marcos Assuncao | format.in.booktitle "booktitle" output.warn |
2084 | e542267e | Marcos Assuncao | format.series output |
2085 | e542267e | Marcos Assuncao | format.editors output |
2086 | e542267e | Marcos Assuncao | format.volume output |
2087 | e542267e | Marcos Assuncao | format.number output |
2088 | e542267e | Marcos Assuncao | publisher empty$ |
2089 | e542267e | Marcos Assuncao | { format.address.organization.date output } |
2090 | e542267e | Marcos Assuncao | { format.organization "organization" bibinfo.check output |
2091 | e542267e | Marcos Assuncao | format.address.publisher.date output |
2092 | e542267e | Marcos Assuncao | } |
2093 | e542267e | Marcos Assuncao | if$ |
2094 | e542267e | Marcos Assuncao | format.paper output |
2095 | e542267e | Marcos Assuncao | format.pages output |
2096 | e542267e | Marcos Assuncao | format.note output |
2097 | e542267e | Marcos Assuncao | format.url output |
2098 | e542267e | Marcos Assuncao | fin.entry |
2099 | e542267e | Marcos Assuncao | if.url.std.interword.spacing |
2100 | e542267e | Marcos Assuncao | } |
2101 | e542267e | Marcos Assuncao | |
2102 | e542267e | Marcos Assuncao | FUNCTION {manual} |
2103 | e542267e | Marcos Assuncao | { std.status.using.comma |
2104 | e542267e | Marcos Assuncao | start.entry |
2105 | e542267e | Marcos Assuncao | if.url.alt.interword.spacing |
2106 | e542267e | Marcos Assuncao | format.authors output |
2107 | e542267e | Marcos Assuncao | name.or.dash |
2108 | e542267e | Marcos Assuncao | format.book.title.edition "title" output.warn |
2109 | e542267e | Marcos Assuncao | format.howpublished "howpublished" bibinfo.check output |
2110 | e542267e | Marcos Assuncao | format.organization "organization" bibinfo.check output |
2111 | e542267e | Marcos Assuncao | format.address "address" bibinfo.check output |
2112 | e542267e | Marcos Assuncao | format.date output |
2113 | e542267e | Marcos Assuncao | format.note output |
2114 | e542267e | Marcos Assuncao | format.url output |
2115 | e542267e | Marcos Assuncao | fin.entry |
2116 | e542267e | Marcos Assuncao | if.url.std.interword.spacing |
2117 | e542267e | Marcos Assuncao | } |
2118 | e542267e | Marcos Assuncao | |
2119 | e542267e | Marcos Assuncao | FUNCTION {mastersthesis} |
2120 | e542267e | Marcos Assuncao | { std.status.using.comma |
2121 | e542267e | Marcos Assuncao | start.entry |
2122 | e542267e | Marcos Assuncao | if.url.alt.interword.spacing |
2123 | e542267e | Marcos Assuncao | format.authors "author" output.warn |
2124 | e542267e | Marcos Assuncao | name.or.dash |
2125 | e542267e | Marcos Assuncao | format.article.title "title" output.warn |
2126 | e542267e | Marcos Assuncao | format.master.thesis.type output.nonnull |
2127 | e542267e | Marcos Assuncao | format.school "school" bibinfo.warn output |
2128 | e542267e | Marcos Assuncao | format.address "address" bibinfo.check output |
2129 | e542267e | Marcos Assuncao | format.date "year" output.warn |
2130 | e542267e | Marcos Assuncao | format.note output |
2131 | e542267e | Marcos Assuncao | format.url output |
2132 | e542267e | Marcos Assuncao | fin.entry |
2133 | e542267e | Marcos Assuncao | if.url.std.interword.spacing |
2134 | e542267e | Marcos Assuncao | } |
2135 | e542267e | Marcos Assuncao | |
2136 | e542267e | Marcos Assuncao | FUNCTION {misc} |
2137 | e542267e | Marcos Assuncao | { std.status.using.comma |
2138 | e542267e | Marcos Assuncao | start.entry |
2139 | e542267e | Marcos Assuncao | if.url.alt.interword.spacing |
2140 | e542267e | Marcos Assuncao | format.authors output |
2141 | e542267e | Marcos Assuncao | name.or.dash |
2142 | e542267e | Marcos Assuncao | format.article.title output |
2143 | e542267e | Marcos Assuncao | format.howpublished "howpublished" bibinfo.check output |
2144 | e542267e | Marcos Assuncao | format.organization "organization" bibinfo.check output |
2145 | e542267e | Marcos Assuncao | format.address "address" bibinfo.check output |
2146 | e542267e | Marcos Assuncao | format.pages output |
2147 | e542267e | Marcos Assuncao | format.date output |
2148 | e542267e | Marcos Assuncao | format.note output |
2149 | e542267e | Marcos Assuncao | format.url output |
2150 | e542267e | Marcos Assuncao | fin.entry |
2151 | e542267e | Marcos Assuncao | empty.entry.warn |
2152 | e542267e | Marcos Assuncao | if.url.std.interword.spacing |
2153 | e542267e | Marcos Assuncao | } |
2154 | e542267e | Marcos Assuncao | |
2155 | e542267e | Marcos Assuncao | FUNCTION {patent} |
2156 | e542267e | Marcos Assuncao | { std.status.using.comma |
2157 | e542267e | Marcos Assuncao | start.entry |
2158 | e542267e | Marcos Assuncao | if.url.alt.interword.spacing |
2159 | e542267e | Marcos Assuncao | format.authors output |
2160 | e542267e | Marcos Assuncao | name.or.dash |
2161 | e542267e | Marcos Assuncao | format.article.title output |
2162 | e542267e | Marcos Assuncao | format.patent.nationality.type.number output |
2163 | e542267e | Marcos Assuncao | format.patent.date output |
2164 | e542267e | Marcos Assuncao | format.note output |
2165 | e542267e | Marcos Assuncao | format.url output |
2166 | e542267e | Marcos Assuncao | fin.entry |
2167 | e542267e | Marcos Assuncao | empty.entry.warn |
2168 | e542267e | Marcos Assuncao | if.url.std.interword.spacing |
2169 | e542267e | Marcos Assuncao | } |
2170 | e542267e | Marcos Assuncao | |
2171 | e542267e | Marcos Assuncao | FUNCTION {periodical} |
2172 | e542267e | Marcos Assuncao | { std.status.using.comma |
2173 | e542267e | Marcos Assuncao | start.entry |
2174 | e542267e | Marcos Assuncao | if.url.alt.interword.spacing |
2175 | e542267e | Marcos Assuncao | format.editors output |
2176 | e542267e | Marcos Assuncao | name.or.dash |
2177 | e542267e | Marcos Assuncao | format.book.title "title" output.warn |
2178 | e542267e | Marcos Assuncao | format.series output |
2179 | e542267e | Marcos Assuncao | format.volume output |
2180 | e542267e | Marcos Assuncao | format.number output |
2181 | e542267e | Marcos Assuncao | format.organization "organization" bibinfo.check output |
2182 | e542267e | Marcos Assuncao | format.date "year" output.warn |
2183 | e542267e | Marcos Assuncao | format.note output |
2184 | e542267e | Marcos Assuncao | format.url output |
2185 | e542267e | Marcos Assuncao | fin.entry |
2186 | e542267e | Marcos Assuncao | if.url.std.interword.spacing |
2187 | e542267e | Marcos Assuncao | } |
2188 | e542267e | Marcos Assuncao | |
2189 | e542267e | Marcos Assuncao | FUNCTION {phdthesis} |
2190 | e542267e | Marcos Assuncao | { std.status.using.comma |
2191 | e542267e | Marcos Assuncao | start.entry |
2192 | e542267e | Marcos Assuncao | if.url.alt.interword.spacing |
2193 | e542267e | Marcos Assuncao | format.authors "author" output.warn |
2194 | e542267e | Marcos Assuncao | name.or.dash |
2195 | e542267e | Marcos Assuncao | format.article.title "title" output.warn |
2196 | e542267e | Marcos Assuncao | format.phd.thesis.type output.nonnull |
2197 | e542267e | Marcos Assuncao | format.school "school" bibinfo.warn output |
2198 | e542267e | Marcos Assuncao | format.address "address" bibinfo.check output |
2199 | e542267e | Marcos Assuncao | format.date "year" output.warn |
2200 | e542267e | Marcos Assuncao | format.note output |
2201 | e542267e | Marcos Assuncao | format.url output |
2202 | e542267e | Marcos Assuncao | fin.entry |
2203 | e542267e | Marcos Assuncao | if.url.std.interword.spacing |
2204 | e542267e | Marcos Assuncao | } |
2205 | e542267e | Marcos Assuncao | |
2206 | e542267e | Marcos Assuncao | FUNCTION {proceedings} |
2207 | e542267e | Marcos Assuncao | { std.status.using.comma |
2208 | e542267e | Marcos Assuncao | start.entry |
2209 | e542267e | Marcos Assuncao | if.url.alt.interword.spacing |
2210 | e542267e | Marcos Assuncao | format.editors output |
2211 | e542267e | Marcos Assuncao | name.or.dash |
2212 | e542267e | Marcos Assuncao | format.book.title "title" output.warn |
2213 | e542267e | Marcos Assuncao | format.series output |
2214 | e542267e | Marcos Assuncao | format.volume output |
2215 | e542267e | Marcos Assuncao | format.number output |
2216 | e542267e | Marcos Assuncao | publisher empty$ |
2217 | e542267e | Marcos Assuncao | { format.address.organization.date output } |
2218 | e542267e | Marcos Assuncao | { format.organization "organization" bibinfo.check output |
2219 | e542267e | Marcos Assuncao | format.address.publisher.date output |
2220 | e542267e | Marcos Assuncao | } |
2221 | e542267e | Marcos Assuncao | if$ |
2222 | e542267e | Marcos Assuncao | format.note output |
2223 | e542267e | Marcos Assuncao | format.url output |
2224 | e542267e | Marcos Assuncao | fin.entry |
2225 | e542267e | Marcos Assuncao | if.url.std.interword.spacing |
2226 | e542267e | Marcos Assuncao | } |
2227 | e542267e | Marcos Assuncao | |
2228 | e542267e | Marcos Assuncao | FUNCTION {standard} |
2229 | e542267e | Marcos Assuncao | { std.status.using.comma |
2230 | e542267e | Marcos Assuncao | start.entry |
2231 | e542267e | Marcos Assuncao | if.url.alt.interword.spacing |
2232 | e542267e | Marcos Assuncao | format.authors output |
2233 | e542267e | Marcos Assuncao | name.or.dash |
2234 | e542267e | Marcos Assuncao | format.book.title "title" output.warn |
2235 | e542267e | Marcos Assuncao | format.howpublished "howpublished" bibinfo.check output |
2236 | e542267e | Marcos Assuncao | format.organization.institution.standard.type.number output |
2237 | e542267e | Marcos Assuncao | format.revision output |
2238 | e542267e | Marcos Assuncao | format.date output |
2239 | e542267e | Marcos Assuncao | format.note output |
2240 | e542267e | Marcos Assuncao | format.url output |
2241 | e542267e | Marcos Assuncao | fin.entry |
2242 | e542267e | Marcos Assuncao | if.url.std.interword.spacing |
2243 | e542267e | Marcos Assuncao | } |
2244 | e542267e | Marcos Assuncao | |
2245 | e542267e | Marcos Assuncao | FUNCTION {techreport} |
2246 | e542267e | Marcos Assuncao | { std.status.using.comma |
2247 | e542267e | Marcos Assuncao | start.entry |
2248 | e542267e | Marcos Assuncao | if.url.alt.interword.spacing |
2249 | e542267e | Marcos Assuncao | format.authors "author" output.warn |
2250 | e542267e | Marcos Assuncao | name.or.dash |
2251 | e542267e | Marcos Assuncao | format.article.title "title" output.warn |
2252 | e542267e | Marcos Assuncao | format.howpublished "howpublished" bibinfo.check output |
2253 | e542267e | Marcos Assuncao | format.institution "institution" bibinfo.warn output |
2254 | e542267e | Marcos Assuncao | format.address "address" bibinfo.check output |
2255 | e542267e | Marcos Assuncao | format.tech.report.number output.nonnull |
2256 | e542267e | Marcos Assuncao | format.date "year" output.warn |
2257 | e542267e | Marcos Assuncao | format.note output |
2258 | e542267e | Marcos Assuncao | format.url output |
2259 | e542267e | Marcos Assuncao | fin.entry |
2260 | e542267e | Marcos Assuncao | if.url.std.interword.spacing |
2261 | e542267e | Marcos Assuncao | } |
2262 | e542267e | Marcos Assuncao | |
2263 | e542267e | Marcos Assuncao | FUNCTION {unpublished} |
2264 | e542267e | Marcos Assuncao | { std.status.using.comma |
2265 | e542267e | Marcos Assuncao | start.entry |
2266 | e542267e | Marcos Assuncao | if.url.alt.interword.spacing |
2267 | e542267e | Marcos Assuncao | format.authors "author" output.warn |
2268 | e542267e | Marcos Assuncao | name.or.dash |
2269 | e542267e | Marcos Assuncao | format.article.title "title" output.warn |
2270 | e542267e | Marcos Assuncao | format.date output |
2271 | e542267e | Marcos Assuncao | format.note "note" output.warn |
2272 | e542267e | Marcos Assuncao | format.url output |
2273 | e542267e | Marcos Assuncao | fin.entry |
2274 | e542267e | Marcos Assuncao | if.url.std.interword.spacing |
2275 | e542267e | Marcos Assuncao | } |
2276 | e542267e | Marcos Assuncao | |
2277 | e542267e | Marcos Assuncao | |
2278 | e542267e | Marcos Assuncao | % The special entry type which provides the user interface to the |
2279 | e542267e | Marcos Assuncao | % BST controls |
2280 | e542267e | Marcos Assuncao | FUNCTION {IEEEtranBSTCTL} |
2281 | e542267e | Marcos Assuncao | { is.print.banners.to.terminal |
2282 | e542267e | Marcos Assuncao | { "** IEEEtran BST control entry " quote$ * cite$ * quote$ * " detected." * |
2283 | e542267e | Marcos Assuncao | top$ |
2284 | e542267e | Marcos Assuncao | } |
2285 | e542267e | Marcos Assuncao | { skip$ } |
2286 | e542267e | Marcos Assuncao | if$ |
2287 | e542267e | Marcos Assuncao | CTLuse_article_number |
2288 | e542267e | Marcos Assuncao | empty$ |
2289 | e542267e | Marcos Assuncao | { skip$ } |
2290 | e542267e | Marcos Assuncao | { CTLuse_article_number |
2291 | e542267e | Marcos Assuncao | yes.no.to.int |
2292 | e542267e | Marcos Assuncao | 'is.use.number.for.article := |
2293 | e542267e | Marcos Assuncao | } |
2294 | e542267e | Marcos Assuncao | if$ |
2295 | e542267e | Marcos Assuncao | CTLuse_paper |
2296 | e542267e | Marcos Assuncao | empty$ |
2297 | e542267e | Marcos Assuncao | { skip$ } |
2298 | e542267e | Marcos Assuncao | { CTLuse_paper |
2299 | e542267e | Marcos Assuncao | yes.no.to.int |
2300 | e542267e | Marcos Assuncao | 'is.use.paper := |
2301 | e542267e | Marcos Assuncao | } |
2302 | e542267e | Marcos Assuncao | if$ |
2303 | e542267e | Marcos Assuncao | CTLuse_forced_etal |
2304 | e542267e | Marcos Assuncao | empty$ |
2305 | e542267e | Marcos Assuncao | { skip$ } |
2306 | e542267e | Marcos Assuncao | { CTLuse_forced_etal |
2307 | e542267e | Marcos Assuncao | yes.no.to.int |
2308 | e542267e | Marcos Assuncao | 'is.forced.et.al := |
2309 | e542267e | Marcos Assuncao | } |
2310 | e542267e | Marcos Assuncao | if$ |
2311 | e542267e | Marcos Assuncao | CTLmax_names_forced_etal |
2312 | e542267e | Marcos Assuncao | empty$ |
2313 | e542267e | Marcos Assuncao | { skip$ } |
2314 | e542267e | Marcos Assuncao | { CTLmax_names_forced_etal |
2315 | e542267e | Marcos Assuncao | string.to.integer |
2316 | e542267e | Marcos Assuncao | 'max.num.names.before.forced.et.al := |
2317 | e542267e | Marcos Assuncao | } |
2318 | e542267e | Marcos Assuncao | if$ |
2319 | e542267e | Marcos Assuncao | CTLnames_show_etal |
2320 | e542267e | Marcos Assuncao | empty$ |
2321 | e542267e | Marcos Assuncao | { skip$ } |
2322 | e542267e | Marcos Assuncao | { CTLnames_show_etal |
2323 | e542267e | Marcos Assuncao | string.to.integer |
2324 | e542267e | Marcos Assuncao | 'num.names.shown.with.forced.et.al := |
2325 | e542267e | Marcos Assuncao | } |
2326 | e542267e | Marcos Assuncao | if$ |
2327 | e542267e | Marcos Assuncao | CTLuse_alt_spacing |
2328 | e542267e | Marcos Assuncao | empty$ |
2329 | e542267e | Marcos Assuncao | { skip$ } |
2330 | e542267e | Marcos Assuncao | { CTLuse_alt_spacing |
2331 | e542267e | Marcos Assuncao | yes.no.to.int |
2332 | e542267e | Marcos Assuncao | 'is.use.alt.interword.spacing := |
2333 | e542267e | Marcos Assuncao | } |
2334 | e542267e | Marcos Assuncao | if$ |
2335 | e542267e | Marcos Assuncao | CTLalt_stretch_factor |
2336 | e542267e | Marcos Assuncao | empty$ |
2337 | e542267e | Marcos Assuncao | { skip$ } |
2338 | e542267e | Marcos Assuncao | { CTLalt_stretch_factor |
2339 | e542267e | Marcos Assuncao | 'ALTinterwordstretchfactor := |
2340 | e542267e | Marcos Assuncao | "\renewcommand{\BIBentryALTinterwordstretchfactor}{" |
2341 | e542267e | Marcos Assuncao | ALTinterwordstretchfactor * "}" * |
2342 | e542267e | Marcos Assuncao | write$ newline$ |
2343 | e542267e | Marcos Assuncao | } |
2344 | e542267e | Marcos Assuncao | if$ |
2345 | e542267e | Marcos Assuncao | CTLdash_repeated_names |
2346 | e542267e | Marcos Assuncao | empty$ |
2347 | e542267e | Marcos Assuncao | { skip$ } |
2348 | e542267e | Marcos Assuncao | { CTLdash_repeated_names |
2349 | e542267e | Marcos Assuncao | yes.no.to.int |
2350 | e542267e | Marcos Assuncao | 'is.dash.repeated.names := |
2351 | e542267e | Marcos Assuncao | } |
2352 | e542267e | Marcos Assuncao | if$ |
2353 | e542267e | Marcos Assuncao | CTLname_format_string |
2354 | e542267e | Marcos Assuncao | empty$ |
2355 | e542267e | Marcos Assuncao | { skip$ } |
2356 | e542267e | Marcos Assuncao | { CTLname_format_string |
2357 | e542267e | Marcos Assuncao | 'name.format.string := |
2358 | e542267e | Marcos Assuncao | } |
2359 | e542267e | Marcos Assuncao | if$ |
2360 | e542267e | Marcos Assuncao | CTLname_latex_cmd |
2361 | e542267e | Marcos Assuncao | empty$ |
2362 | e542267e | Marcos Assuncao | { skip$ } |
2363 | e542267e | Marcos Assuncao | { CTLname_latex_cmd |
2364 | e542267e | Marcos Assuncao | 'name.latex.cmd := |
2365 | e542267e | Marcos Assuncao | } |
2366 | e542267e | Marcos Assuncao | if$ |
2367 | e542267e | Marcos Assuncao | CTLname_url_prefix |
2368 | e542267e | Marcos Assuncao | missing$ |
2369 | e542267e | Marcos Assuncao | { skip$ } |
2370 | e542267e | Marcos Assuncao | { CTLname_url_prefix |
2371 | e542267e | Marcos Assuncao | 'name.url.prefix := |
2372 | e542267e | Marcos Assuncao | } |
2373 | e542267e | Marcos Assuncao | if$ |
2374 | e542267e | Marcos Assuncao | |
2375 | e542267e | Marcos Assuncao | |
2376 | e542267e | Marcos Assuncao | num.names.shown.with.forced.et.al max.num.names.before.forced.et.al > |
2377 | e542267e | Marcos Assuncao | { "CTLnames_show_etal cannot be greater than CTLmax_names_forced_etal in " cite$ * warning$ |
2378 | e542267e | Marcos Assuncao | max.num.names.before.forced.et.al 'num.names.shown.with.forced.et.al := |
2379 | e542267e | Marcos Assuncao | } |
2380 | e542267e | Marcos Assuncao | { skip$ } |
2381 | e542267e | Marcos Assuncao | if$ |
2382 | e542267e | Marcos Assuncao | } |
2383 | e542267e | Marcos Assuncao | |
2384 | e542267e | Marcos Assuncao | |
2385 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%%% |
2386 | e542267e | Marcos Assuncao | %% ENTRY ALIASES %% |
2387 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%%% |
2388 | e542267e | Marcos Assuncao | FUNCTION {conference}{inproceedings} |
2389 | e542267e | Marcos Assuncao | FUNCTION {online}{electronic} |
2390 | e542267e | Marcos Assuncao | FUNCTION {internet}{electronic} |
2391 | e542267e | Marcos Assuncao | FUNCTION {webpage}{electronic} |
2392 | e542267e | Marcos Assuncao | FUNCTION {www}{electronic} |
2393 | e542267e | Marcos Assuncao | FUNCTION {default.type}{misc} |
2394 | e542267e | Marcos Assuncao | |
2395 | e542267e | Marcos Assuncao | |
2396 | e542267e | Marcos Assuncao | |
2397 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%% |
2398 | e542267e | Marcos Assuncao | %% MAIN PROGRAM %% |
2399 | e542267e | Marcos Assuncao | %%%%%%%%%%%%%%%%%% |
2400 | e542267e | Marcos Assuncao | |
2401 | e542267e | Marcos Assuncao | READ |
2402 | e542267e | Marcos Assuncao | |
2403 | e542267e | Marcos Assuncao | EXECUTE {initialize.controls} |
2404 | e542267e | Marcos Assuncao | EXECUTE {initialize.status.constants} |
2405 | e542267e | Marcos Assuncao | EXECUTE {banner.message} |
2406 | e542267e | Marcos Assuncao | |
2407 | e542267e | Marcos Assuncao | EXECUTE {initialize.longest.label} |
2408 | e542267e | Marcos Assuncao | ITERATE {longest.label.pass} |
2409 | e542267e | Marcos Assuncao | |
2410 | e542267e | Marcos Assuncao | EXECUTE {begin.bib} |
2411 | e542267e | Marcos Assuncao | ITERATE {call.type$} |
2412 | e542267e | Marcos Assuncao | EXECUTE {end.bib} |
2413 | e542267e | Marcos Assuncao | |
2414 | e542267e | Marcos Assuncao | EXECUTE{completed.message} |
2415 | e542267e | Marcos Assuncao | |
2416 | e542267e | Marcos Assuncao | |
2417 | e542267e | Marcos Assuncao | %% That's all folks, mds. |