diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /biblio/bibtex/contrib/directory/letter.bst |
Initial commit
Diffstat (limited to 'biblio/bibtex/contrib/directory/letter.bst')
-rw-r--r-- | biblio/bibtex/contrib/directory/letter.bst | 359 |
1 files changed, 359 insertions, 0 deletions
diff --git a/biblio/bibtex/contrib/directory/letter.bst b/biblio/bibtex/contrib/directory/letter.bst new file mode 100644 index 0000000000..b0b79725cf --- /dev/null +++ b/biblio/bibtex/contrib/directory/letter.bst @@ -0,0 +1,359 @@ +%% letter.bst +%% Copyright 1998-2003 Christophe Geuzaine <geuz@geuz.org> +% +% $Id: letter.bst,v 1.7 2003/09/15 05:40:31 geuzaine Exp $ +% +% This program can be redistributed and/or modified under the terms +% of the LaTeX Project Public License distributed from CTAN +% archives in directory macros/latex/base/lppl.txt; either +% version 1 of the License, or (at your option) any later version. +% +% BibTeX bibliography style `letter.bst' +% 'directory' database: all fields +% +% The parts you may want to customize are labeled with "CUSTOM" +% + +INTEGERS { nameptr namesleft numnames numaux len } +STRINGS { s t u v } + +% ------------------------------------------------------------ +% E N T R I E S +% ------------------------------------------------------------ + +ENTRY + { name + address + street + city + state + zip + country + p.address + p.street + p.city + p.state + p.zip + p.country + r.address + r.street + r.city + r.state + r.zip + r.country + w.title + w.name + w.address + w.street + w.city + w.state + w.zip + w.country + } + {} + {} + +% ------------------------------------------------------------ +% G E N E R A L +% ------------------------------------------------------------ + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +% ------------------------------------------------------------ +% F O R M A T S +% ------------------------------------------------------------ + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { +% CUSTOM uncomment one of the following lines to have the behaviour on the right + s nameptr "{ff }{vv }{ll}{, jj}" format.name$ 't := % Christophe de Geuzaine, jr +% s nameptr "{f. }{vv }{ll}{, jj}" format.name$ 't := % C. de Geuzaine, jr +% s nameptr "{vv }{ll}{ f.}{, jj}" format.name$ 't := % de Geuzaine C., jr +% s nameptr "{vv }{ll}{, ff}{, jj}" format.name$ 't := % de Geuzaine, Christophe, jr + + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { " {\dirandf} " * t * } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.name} +{ name empty$ + { "" } + { name format.names } + if$ +} + +FUNCTION {format.address} +{ address empty$ + { + street empty$ city empty$ state empty$ zip empty$ country empty$ + and and and and + { "" } + { " \dirnext " + street empty$ { "" * } { street " \dirnext " * * } if$ + city empty$ { "" * } { city " " * * } if$ + state empty$ { "" * } { state " " * * } if$ + zip empty$ { "" * } { zip " " * * } if$ + country empty$ { "" * } { country * } if$ + } + if$ + } + { " \dirnext " address * } + if$ +} + +FUNCTION {format.p.address} +{ p.address empty$ + { + p.street empty$ p.city empty$ p.state empty$ p.zip empty$ p.country empty$ + and and and and + { "" } + { " \dirnext " + p.street empty$ { "" * } { p.street " \dirnext " * * } if$ + p.city empty$ { "" * } { p.city " " * * } if$ + p.state empty$ { "" * } { p.state " " * * } if$ + p.zip empty$ { "" * } { p.zip " " * * } if$ + p.country empty$ { "" * } { p.country * } if$ + } + if$ + } + { " \dirnext " p.address * } + if$ +} + +FUNCTION {format.r.address} +{ r.address empty$ + { + r.street empty$ r.city empty$ r.state empty$ r.zip empty$ r.country empty$ + and and and and + { "" } + { " \dirnext " + r.street empty$ { "" * } { r.street " \dirnext " * * } if$ + r.city empty$ { "" * } { r.city " " * * } if$ + r.state empty$ { "" * } { r.state " " * * } if$ + r.zip empty$ { "" * } { r.zip " " * * } if$ + r.country empty$ { "" * } { r.country * } if$ + } + if$ + } + { " \dirnext " r.address * } + if$ +} + +FUNCTION {format.w.title} +{ w.title empty$ + { "" } + { " \dirnext " w.title * } + if$ +} + +FUNCTION {format.w.name} +{ w.name empty$ + { "" } + { " \dirnext " w.name * } + if$ +} + +FUNCTION {format.w.address} +{ w.address empty$ + { + w.street empty$ w.city empty$ w.state empty$ w.zip empty$ w.country empty$ + and and and and + { "" } + { " \dirnext " + w.street empty$ { "" * } { w.street " \dirnext " * * } if$ + w.city empty$ { "" * } { w.city " " * * } if$ + w.state empty$ { "" * } { w.state " " * * } if$ + w.zip empty$ { "" * } { w.zip " " * * } if$ + w.country empty$ { "" * } { w.country * } if$ + } + if$ + } + { " \dirnext " w.address * } + if$ +} + +% ------------------------------------------------------------ +% P E R S O N E N T R Y +% ------------------------------------------------------------ + +FUNCTION { person } +{ + "\diritem{" write$ + format.name write$ + "}{" write$ + "d." cite$ * write$ + "}" write$ + + newline$ + + "\diritem{" write$ + "\dirbegin " write$ + format.name write$ + format.p.address write$ + "\dirend " write$ + "}{" write$ + "p." cite$ * write$ + "}" write$ + + newline$ + + "\diritem{" write$ + "\dirbegin " write$ + format.name write$ + format.r.address write$ + "\dirend " write$ + "}{" write$ + "r." cite$ * write$ + "}" write$ + + newline$ + + "\diritem{" write$ + "\dirbegin " write$ + format.name write$ + format.w.title write$ + format.w.name write$ + format.w.address write$ + "\dirend " write$ + "}{" write$ + "w." cite$ * write$ + "}" write$ + + newline$ +} + +% ------------------------------------------------------------ +% C O M P A N Y E N T R Y +% ------------------------------------------------------------ + + +FUNCTION { company } +{ + "\diritem{" write$ + name write$ + "}{" write$ + "d." cite$ * write$ + "}" write$ + + newline$ + + "\diritem{" write$ + "\dirbegin " write$ + name write$ + format.address write$ + "\dirend " write$ + "}{" write$ + "p." cite$ * write$ + "}" write$ + + newline$ + + "\diritem{" write$ + "\dirbegin " write$ + name write$ + format.address write$ + "\dirend " write$ + "}{" write$ + "r." cite$ * write$ + "}" write$ + + newline$ + + "\diritem{" write$ + "\dirbegin " write$ + name write$ + format.address write$ + "\dirend " write$ + "}{" write$ + "w." cite$ * write$ + "}" write$ + + newline$ +} + +% ------------------------------------------------------------ +% P L A C E E N T R Y +% ------------------------------------------------------------ + +FUNCTION { place } +{ + "\diritem{" write$ + name write$ + "}{" write$ + "d." cite$ * write$ + "}" write$ + + newline$ + + "\diritem{" write$ + "\dirbegin " write$ + name write$ + format.address write$ + "\dirend " write$ + "}{" write$ + "p." cite$ * write$ + "}" write$ + + newline$ + + "\diritem{" write$ + "\dirbegin " write$ + name write$ + format.address write$ + "\dirend " write$ + "}{" write$ + "r." cite$ * write$ + "}" write$ + + newline$ + + "\diritem{" write$ + "\dirbegin " write$ + name write$ + format.address write$ + "\dirend " write$ + "}{" write$ + "w." cite$ * write$ + "}" write$ + + newline$ +} + +% ------------------------------------------------------------ +% M A I N +% ------------------------------------------------------------ + +READ +ITERATE {call.type$} + |