1% SPDX-License-Identifier: LPPL-1.3c 2 3%% 4%% This is file `export.bst', 5%% generated with the docstrip utility. 6%% 7%% The original source files were: 8%% 9%% bibexport.dtx (with options: `export') 10%% 11%% (c) 2005/02/27 Nicolas Markey <markey at lsv dot ens-cachan dot fr> 12%% All rights reserved. 13%% 14%% This work may be distributed and/or modified under the conditions of 15%% the LaTeX Project Public License, either version 1.3 of this license 16%% or (at your option) any later version. The latest version of the 17%% license is in 18%% 19%% http://www.latex-project.org/lppl.txt 20%% 21%% and version 1.3 or later is part of all distributions of LaTeX 22%% version 2003/12/01 or later. 23%% 24%% \CharacterTable 25%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z 26%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z 27%% Digits \0\1\2\3\4\5\6\7\8\9 28%% Exclamation \! Double quote \" Hash (number) \# 29%% Dollar \$ Percent \% Ampersand \& 30%% Acute accent \' Left paren \( Right paren \) 31%% Asterisk \* Plus \+ Comma \, 32%% Minus \- Point \. Solidus \/ 33%% Colon \: Semicolon \; Less than \< 34%% Equals \= Greater than \> Question mark \? 35%% Commercial at \@ Left bracket \[ Backslash \\ 36%% Right bracket \] Circumflex \^ Underscore \_ 37%% Grave accent \` Left brace \{ Vertical bar \| 38%% Right brace \} Tilde \~} 39%% 40FUNCTION{left.width}{#18} 41FUNCTION{right.width}{#55} 42FUNCTION{url.right.width}{#61} 43FUNCTION{left.short.width}{#10} %% for @preamble 44FUNCTION{right.long.width}{#63} 45FUNCTION{left.delim}{"{"} 46FUNCTION{right.delim}{"}"} 47ENTRY{ 48 address 49 author 50 booktitle 51 chapter 52 edition 53 editor 54 howpublished 55 institution 56 journal 57 key 58 month 59 note 60 number 61 organization 62 pages 63 publisher 64 school 65 series 66 title 67 type 68 volume 69 year 70 abstract 71 doi 72 eid 73 isbn 74 issn 75 language 76 url 77}{}{} 78FUNCTION{not} 79{ 80 {#0} 81 {#1} 82 if$ 83} 84FUNCTION{and} 85{ 86 'skip$ 87 {pop$ #0} 88 if$ 89} 90FUNCTION{or} 91{ 92 {pop$ #1} 93 'skip$ 94 if$ 95} 96INTEGERS{left.length right.length} 97STRINGS{ s t } 98FUNCTION{space.complete} 99{ 100 'left.length := 101 duplicate$ text.length$ left.length swap$ - 102 {duplicate$ #0 >} 103 { 104 swap$ " " * swap$ #1 - 105 } 106 while$ 107 pop$ 108} 109FUNCTION{split.string} 110{ 111 'right.length := 112 duplicate$ right.length #1 + #1 substring$ "" = 113 {""} 114 { 115 's := 116 right.length 117 {duplicate$ duplicate$ s swap$ #1 substring$ " " = not and} 118 {#1 -} 119 while$ 120 duplicate$ #2 < 121 { 122 pop$ " " s * "" 123 } 124 { 125 duplicate$ s swap$ #1 swap$ substring$ 126 swap$ 127 s swap$ global.max$ substring$ 128 } 129 if$ 130 } 131 if$ 132} 133FUNCTION{split.url} 134{ 135 'right.length := 136 duplicate$ right.length #1 + #1 substring$ "" = 137 {""} 138 { 139 's := 140 right.length 141 {duplicate$ duplicate$ s swap$ #1 substring$ "/" = not and} 142 {#1 -} 143 while$ 144 duplicate$ #2 < 145 { 146 pop$ " " s * "" 147 } 148 { 149 duplicate$ s swap$ #1 swap$ substring$ 150 swap$ #1 + 151 s swap$ global.max$ substring$ 152 } 153 if$ 154 } 155 if$ 156} 157FUNCTION{split.name} 158{ 159 'right.length := 160 duplicate$ right.length #1 + #1 substring$ "" = 161 {""} 162 { 163 's := 164 right.length 165 {duplicate$ duplicate$ s swap$ #5 substring$ " and " = not and} 166 {#1 -} 167 while$ 168 duplicate$ #2 < 169 { 170 pop$ " " s * "" 171 } 172 { 173 #4 + duplicate$ s swap$ #1 swap$ substring$ 174 swap$ 175 s swap$ global.max$ substring$ 176 } 177 if$ 178 } 179 if$ 180} 181FUNCTION{field.export} 182{ 183 duplicate$ missing$ 184 'skip$ 185 { 186 left.delim swap$ * right.delim * 187 swap$ 188 " " swap$ * " = " * left.width space.complete 189 swap$ "," * 190 {duplicate$ "" = not} 191 { 192 right.width split.string 't := 193 * 194 write$ newline$ 195 "" left.width space.complete t 196 } 197 while$ 198 } 199 if$ 200 pop$ pop$ 201} 202FUNCTION{abbrv.export} 203{ 204 duplicate$ missing$ 205 'skip$ 206 { 207 swap$ 208 " " swap$ * " = " * left.width space.complete 209 swap$ "," * 210 {duplicate$ "" = not} 211 { 212 right.width split.string 't := 213 * 214 write$ newline$ 215 "" left.width space.complete t 216 } 217 while$ 218 } 219 if$ 220 pop$ pop$ 221} 222FUNCTION{name.export} 223{ 224 duplicate$ missing$ 225 'skip$ 226 { 227 left.delim swap$ * right.delim * 228 swap$ 229 " " swap$ * " = " * left.width space.complete 230 swap$ "," * 231 {duplicate$ "" = not} 232 { 233 right.width split.name 't := 234 * 235 write$ newline$ 236 "" left.width space.complete t 237 } 238 while$ 239 } 240 if$ 241 pop$ pop$ 242} 243FUNCTION{url.export} 244{ 245 duplicate$ missing$ 246 'skip$ 247 { 248 left.delim swap$ * right.delim * 249 swap$ 250 " " swap$ * " = " * left.width space.complete 251 swap$ "," * 252 {duplicate$ "" = not} 253 { 254 url.right.width split.url 't := 255 * 256 write$ newline$ 257 "" left.width space.complete t 258 } 259 while$ 260 } 261 if$ 262 pop$ pop$ 263} 264MACRO{jan}{"export-jan"} 265MACRO{feb}{"export-feb"} 266MACRO{mar}{"export-mar"} 267MACRO{apr}{"export-apr"} 268MACRO{may}{"export-may"} 269MACRO{jun}{"export-jun"} 270MACRO{jul}{"export-jul"} 271MACRO{aug}{"export-aug"} 272MACRO{sep}{"export-sep"} 273MACRO{oct}{"export-oct"} 274MACRO{nov}{"export-nov"} 275MACRO{dec}{"export-dec"} 276MACRO{acmcs}{"export-acmcs"} 277MACRO{acta}{"export-acta"} 278MACRO{cacm}{"export-cacm"} 279MACRO{ibmjrd}{"export-ibmjrd"} 280MACRO{ibmsj}{"export-ibmsj"} 281MACRO{ieeese}{"export-ieeese"} 282MACRO{ieeetc}{"export-ieeetc"} 283MACRO{ieeetcad}{"export-ieeetcad"} 284MACRO{ipl}{"export-ipl"} 285MACRO{jacm}{"export-jacm"} 286MACRO{jcss}{"export-jcss"} 287MACRO{scp}{"export-scp"} 288MACRO{sicomp}{"export-sicomp"} 289MACRO{tocs}{"export-tocs"} 290MACRO{tods}{"export-tods"} 291MACRO{tog}{"export-tog"} 292MACRO{toms}{"export-toms"} 293MACRO{toois}{"export-poois"} 294MACRO{toplas}{"export-toplas"} 295MACRO{tcs}{"export-tcs"} 296INTEGERS{ intxt } 297FUNCTION{remove.exports.from.months} 298{ 299 #0 'intxt := 300 duplicate$ missing$ 301 'skip$ 302 {'t := 303 "" 304 {t #1 #1 substring$ "" = not} 305 { 306 t #1 #7 substring$ "export-" = 307 {intxt 308 {right.delim * #0 'intxt :=} 309 'skip$ 310 if$ 311 duplicate$ "" = 312 'skip$ 313 {" # " *} 314 if$ 315 t #8 #3 substring$ * 316 t #11 global.max$ substring$ 't :=} 317 {intxt 318 'skip$ 319 {duplicate$ "" = 320 {} 321 {" # " *} 322 if$ 323 left.delim * #1 'intxt :=} 324 if$ 325 t #1 #1 substring$ * 326 t #2 global.max$ substring$ 't :=} 327 if$ 328 } 329 while$ 330 intxt 331 {right.delim *} 332 'skip$ 333 if$ 334 } 335 if$ 336} 337FUNCTION{remove.export.from.journals} 338{ 339 duplicate$ missing$ 340 'skip$ 341 { 342 duplicate$ #1 #7 substring$ "export-" = 343 {#8 global.max$ substring$} 344 {left.delim swap$ 345 right.delim * *} 346 if$ 347 } 348 if$ 349} 350FUNCTION{entry.export.standard} 351{ 352 "address" address field.export 353 "author" author name.export 354 "booktitle" booktitle field.export 355 "chapter" chapter field.export 356 "crossref" crossref field.export 357 "edition" edition field.export 358 "editor" editor name.export 359 "howpublished" howpublished field.export 360 "institution" institution field.export 361 "journal" journal remove.export.from.journals abbrv.export 362 "key" key field.export 363 "month" month remove.exports.from.months abbrv.export 364 "note" note field.export 365 "number" number field.export 366 "organization" organization field.export 367 "pages" pages field.export 368 "publisher" publisher field.export 369 "school" school field.export 370 "series" series field.export 371 "type" type field.export 372 "title" title field.export 373 "volume" volume field.export 374 "year" year field.export 375} 376FUNCTION{entry.export.extra} 377{ 378 "abstract" abstract field.export 379 "doi" doi field.export 380 "eid" eid field.export 381 "isbn" isbn field.export 382 "issn" issn field.export 383 "language" language field.export 384 "url" url url.export 385} 386FUNCTION{entry.export} 387{ 388 entry.export.standard 389 entry.export.extra 390} 391FUNCTION{export} 392{ 393 "@" type$ * "{" * cite$ * "," * write$ newline$ 394 entry.export 395 "}" write$ newline$ newline$ 396} 397FUNCTION{preamble} 398{ 399preamble$ duplicate$ "" = 400 'pop$ 401 { 402 ",-------------------." write$ newline$ 403 "| PREAMBLE |" write$ newline$ 404 "`-------------------'" write$ newline$ newline$ 405 "@preamble{ " swap$ 406 quote$ swap$ * quote$ * 407 {duplicate$ "" = not} 408 { 409 right.long.width split.string 't := 410 * 411 write$ newline$ 412 "" left.short.width space.complete t 413 } 414 while$ 415 "}" write$ newline$ newline$ 416 pop$ pop$ 417 } 418if$ 419} 420FUNCTION{header} 421{ 422newline$ 423} 424FUNCTION{entries.header} 425{ 426 ",-------------------." write$ newline$ 427 "| BIBTEX ENTRIES |" write$ newline$ 428 "`-------------------'" write$ newline$ newline$ 429} 430FUNCTION{article}{export} 431FUNCTION{book}{export} 432FUNCTION{booklet}{export} 433FUNCTION{conference}{export} 434FUNCTION{habthesis}{export} 435FUNCTION{inbook}{export} 436FUNCTION{incollection}{export} 437FUNCTION{inproceedings}{export} 438FUNCTION{journals}{export} 439FUNCTION{manual}{export} 440FUNCTION{mastersthesis}{export} 441FUNCTION{misc}{export} 442FUNCTION{phdthesis}{export} 443FUNCTION{proceedings}{export} 444FUNCTION{techreport}{export} 445FUNCTION{unpublished}{export} 446READ 447EXECUTE{header} 448EXECUTE{preamble} 449EXECUTE{entries.header} 450ITERATE{export} 451%% 452%% 453%% End of file `export.bst'. 454