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