diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-12 23:53:54 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-12 23:53:54 +0000 |
commit | 7b88495055bdb274e261729831067187c86f9c9d (patch) | |
tree | a0ecbc5259e5ab402d114090b3328867ad308ffd /Master/texmf-dist/tex/latex/custom-bib | |
parent | 1c928cb5f3de722845096d870f64c87354a7e1a8 (diff) |
custom-bib
git-svn-id: svn://tug.org/texlive/trunk@809 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/custom-bib')
22 files changed, 15854 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/custom-bib/catalan.mbs b/Master/texmf-dist/tex/latex/custom-bib/catalan.mbs new file mode 100644 index 00000000000..a423cd6a93b --- /dev/null +++ b/Master/texmf-dist/tex/latex/custom-bib/catalan.mbs @@ -0,0 +1,324 @@ +%\iffalse THIS IS A META COMMENT +% File: catalan.mbs +% Copyright 1997-1999 Patrick W Daly +% Max-Planck-Institut f\"ur Aeronomie +% Max-Planck-Str. 2 +% D-37191 Katlenburg-Lindau +% Germany +% E-mail: daly@linmpi.mpg.de +% +% Copyright 1997, 1998 Robert Fuster +% Departament de Matem\`atica Aplicada +% Universitat Polit\`ecnica de Val\`encia +% E-46071 Val\`encia +% Spain +% E-mail: rfuster@mat.upv.es +% +% 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 any later version. +% +% It is part of the custom-bib collection, +% a contribution to the LaTeX2e system. +%==================================================================== +% A Language Definition File: CATALAN +% to be included with other master bibliography style files +%-------------------------------------------------------------------- +% (See version and date in the \ProvidesFile command below) +%-------------------------------------------------------------------- +% This file is self-documenting: simply LaTeX it! +%==================================================================== +% +%\fi + %------------------------------------------------------------------- + % Begin module: catalan.mbs + % \ProvidesFile{catalan.mbs}[2003/11/06 4.2 (PWD)] +%\iffalse +%<*a&!a> +% The following ensures that the driver part is not seen by makebst +% The driver part must not contain any \end other than \end{document} ! +\ifx\endoptions\undefined\let\tempx=\relax\else + \long\def\tempx#1\end#2{}\fi\tempx +%</a&!a> +%<*driver> + \NeedsTeXFormat{LaTeX2e}% + \documentclass[a4paper,10pt,twoside]{article}% + \usepackage{doc}% + \raggedbottom + \CodelineNumbered + \RecordChanges + % Comment out next line to print coding + \OnlyDescription + \setlength{\oddsidemargin}{0.5\paperwidth} + \addtolength{\oddsidemargin}{-0.5\textwidth} + \addtolength{\oddsidemargin}{-1in} + \setlength{\evensidemargin}{\oddsidemargin} + +\begin{document} + \DocInput{catalan.mbs} +\end{document} +%</driver> +% END OF META COMMENT \fi +% \CharacterTable +% {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 +% 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 +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \setcounter{StandardModuleDepth}{1} +% \setcounter{IndexColumns}{2} +% \setlength{\IndexMin}{10cm} +% +% \changes{2.0}{1998 May 17}{Initial version} +% \changes{2.1}{1998 Aug 17}{Add \texttt{bbl.etal}} +% \changes{2.2}{1999 Feb 1}{Add option \texttt{xedn}} +% \changes{2.2}{1999 Feb 24}{Update copyright notice} +% \changes{4.0}{1999 Oct 11}{For merlin 4.0} +% \changes{4.0a}{2002 Oct 18}{Fix bug in page number suppression} +% \changes{4.2}{2003 Nov 6}{Fix comma separator, consistent with \texttt{makebst} 4.1} +% +% \pagestyle{myheadings} +% \markboth{R. Fuster}{Catalan Bibliographies} +% +% \title{{\bfseries Catalan Language Definition File}\\ +% for master bibliographic style files} +% +% \author{Patrick W. Daly and Robert Fuster} +% +% \GetFileInfo{catalan.mbs} +% \date{This paper describes file \texttt{\filename},\\ +% version \fileversion{} from \filedate} +% +% \maketitle +% +% \MakeShortVerb{\|} +% +% \parskip=1ex \parindent=0pt +% +% \newcommand{\btx}{{\sc Bib}\TeX} +% \newcommand{\dtx}{\textsf{docstrip}} +% +% \section{Introduction} +% This file is to be used as a language definition file with master +% bibliographic files. The language it defines is +% \begin{quote}\bfseries Catalan\end{quote} +% +% This is not a self-sufficient \texttt{.mbs} file, but rather may +% be used together with one that contains language support via +% external definition files. +% +% See the documentation for \texttt{makebst} for formatting details. +% +% \section{The Menu Information} +% +% All the menu information is nested between \dtx{} guard options +% |%<*options>| \dots\ |%</options>|, and the last command is +% |\endoptions|. The rest of the file is nested between |%<*!options&!driver>| +% \dots\ |%</!options&!driver>| in order to exclude it if \dtx{} is used to +% extract only the menu information or the documentation driver. +% +% \begin{macrocode} +%<*options> +\mes{^^JOptions for CATALAN} +\wr{\spsp\spsp catalan,\pc: Catalan language} + +\beginoptiongroup{ABBREVIATE WORD `PAGINES':}{} +\optdef{*}{}{`P\string`agina(es)'}{(no abbreviation)} +\optdef{a}{ps}{`P\string`agina' abbreviated}{as p.} +\optdef{b}{pag}{`P\string`agina' abbreviated}{as p\string`ag.} +\optdef{x}{ppx}{`P\string`agina' omitted}{} +\getans +\endoptiongroup +\beginoptiongroup{ABBREVIATE WORD `EDITOR':}{} +\optdef{*}{}{`editor(s)'}{(no abbreviation)} +\optdef{a}{ed}{`editor' abbreviated}{as ed.} +\getans +\endoptiongroup +\beginoptiongroup{ABBREVIATE `MONTHS'::}{} +\optdef{*}{}{No abbreviations}{of gener, febrer, etcetera} +\optdef{a}{mab}{Abbreviations}{of months, as in abbrev.bst} +\getans +\endoptiongroup +\beginoptiongroup{OTHER ABBREVIATIONS:}{} +\optdef{*}{}{No abbreviations}{of Volum, Edici'o, Cap'itol} +\optdef{a}{abr}{Abbreviations}{of such words} +\getans +\endoptiongroup +\beginoptiongroup{EDITION NUMBERS:}{} +\optdef{*}{xedn}{Editions as in database}{saving much processing memory} +\optdef{w}{nom}{Write out editions}{as primera, segona, tercera, etc} +\optdef{a}{}{Numerical editions}{as 1a, 2a, 3a, etc} +\getans +\endoptiongroup +\endoptions +%</options> +% \end{macrocode} +% +% \StopEventually{\PrintChanges} +% +% \section{The Coding} +% \begin{macrocode} +%<*!options&!driver> + + % The language selected here is CATALAN +FUNCTION {bbl.and} +{ "i"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +%<!ed>{ "editors" } +%<ed>{ "eds." } + +FUNCTION {bbl.editor} +%<!ed>{ "editor" } +%<ed>{ "ed." } + +FUNCTION {bbl.edby} +{ "editat per" } + +FUNCTION {bbl.edition} +%<!abr>{ "edici\'o" } +%<abr>{ "ed." } + +FUNCTION {bbl.volume} +%<!abr>{ "volum" } +%<abr>{ "vol." } + +FUNCTION {bbl.of} +{ "de" } + +FUNCTION {bbl.number} +%<!abr>{ "n\'umero" } +%<abr>{ "n\'um." } + +FUNCTION {bbl.nr} +{ "n." } + +FUNCTION {bbl.in} +{ "dins" } + +FUNCTION {bbl.pages} +%<!ps&!pag>{ "p\`agines" } +%<pag>{ "p\`ags." } +%<ps>{ "ps." } +%<!ps&!pp&ppx>{ "" } + +FUNCTION {bbl.page} +%<!ps&!pag>{ "p\`agina" } +%<pag>{ "p\`ag." } +%<ps>{ "p." } +%<!ps&!pp&ppx>{ "" } + +%<*revdata> +FUNCTION {bbl.eidpp} +{ "p\`agines" } + +%</revdata> +FUNCTION {bbl.chapter} +%<!abr>{ "cap\'{\i}tol" } +%<abr>{ "cap." } + +FUNCTION {bbl.techrep} +%<!abr>{ "Report t{\`e}cnic" } +%<abr>{ "Rep. T{\`e}c." } + +FUNCTION {bbl.mthesis} +{ "Projecte F. de Carrera o Tesina de L." } + +FUNCTION {bbl.phdthesis} +{ "Tesi Doctoral" } + +%<*!xedn> +FUNCTION {bbl.first} +%<!nom>{ "1a" } +%<nom>{ "primera" } + +FUNCTION {bbl.second} +%<!nom>{ "2a" } +%<nom>{ "segona" } + +FUNCTION {bbl.third} +%<!nom>{ "3a" } +%<nom>{ "tercera" } + +FUNCTION {bbl.fourth} +%<!nom>{ "4a" } +%<nom>{ "quarta" } + +FUNCTION {bbl.fifth} +%<!nom>{ "5a" } +%<nom>{ "cinquena" } + +FUNCTION {bbl.th} +{ "a" } + +%</!xedn> +%<*!mab> +MACRO {jan} {"gener"} + +MACRO {feb} {"febrer"} + +MACRO {mar} {"mar\c{c}"} + +MACRO {apr} {"abril"} + +MACRO {may} {"maig"} + +MACRO {jun} {"juny"} + +MACRO {jul} {"juliol"} + +MACRO {aug} {"agost"} + +MACRO {sep} {"setembre"} + +MACRO {oct} {"octubre"} + +MACRO {nov} {"novembre"} + +MACRO {dec} {"desembre"} + +%</!mab> +%<*mab> +MACRO {jan} {"gen."} + +MACRO {feb} {"feb."} + +MACRO {mar} {"mar\c{c}"} + +MACRO {apr} {"abr."} + +MACRO {may} {"maig"} + +MACRO {jun} {"juny"} + +MACRO {jul} {"jul."} + +MACRO {aug} {"ag."} + +MACRO {sep} {"set."} + +MACRO {oct} {"oct."} + +MACRO {nov} {"nov."} + +MACRO {dec} {"des."} + +%</mab> +%</!options&!driver> + % End module: catalan.mbs + % \end{macrocode} +% \Finale diff --git a/Master/texmf-dist/tex/latex/custom-bib/dansk.mbs b/Master/texmf-dist/tex/latex/custom-bib/dansk.mbs new file mode 100644 index 00000000000..d3cd21194c8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/custom-bib/dansk.mbs @@ -0,0 +1,315 @@ +%\iffalse THIS IS A META COMMENT +% File: dansk.mbs +% Copyright 1995-1999 Patrick W Daly +% Max-Planck-Institut f\"ur Aeronomie +% Max-Planck-Str. 2 +% D-37191 Katlenburg-Lindau +% Germany +% E-mail: daly@linmpi.mpg.de +% +% Copyright (C) 1999, Brian Elmegaard +% Department of Energy Engineering, Technical University of Denmark +% Nils Koppels Alle +% DK-2800 Lyngby +% +% E-mail: brian.elmegaard@et.dtu.dk +% +% 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 any later version. +% +% It is part of the custom-bib collection, +% a contribution to the LaTeX2e system. +%==================================================================== +% A Language Definition File: DANISH +% to be included with other master bibliography style files +%-------------------------------------------------------------------- +% (See version and date in the \ProvidesFile command below) +%-------------------------------------------------------------------- +% This file is self-documenting: simply LaTeX it! +%==================================================================== +% + %------------------------------------------------------------------- + % Begin module: +%\fi + % \ProvidesFile{norsk.mbs}[2004/05/06 4.2a (RL/PWD)] +%\iffalse +%<*a&!a> +% The following ensures that the driver part is not seen by makebst +% The driver part must not contain any \end other than \end{document} ! +\ifx\endoptions\undefined\let\tempx=\relax\else + \long\def\tempx#1\end#2{}\fi\tempx +%</a&!a> +%<*driver> + \NeedsTeXFormat{LaTeX2e}% + \documentclass[a4paper,10pt,twoside]{article}% + \usepackage{doc}% + \raggedbottom + \CodelineNumbered + \RecordChanges + % Comment out next line to print coding + \OnlyDescription + \setlength{\oddsidemargin}{0.5\paperwidth} + \addtolength{\oddsidemargin}{-0.5\textwidth} + \addtolength{\oddsidemargin}{-1in} + \setlength{\evensidemargin}{\oddsidemargin} + +\begin{document} + \DocInput{dansk.mbs} +\end{document} +%</driver> +% END OF META COMMENT \fi +% \CharacterTable +% {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 +% 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 +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \setcounter{StandardModuleDepth}{1} +% \setcounter{IndexColumns}{2} +% \setlength{\IndexMin}{10cm} +% +% \changes{1.0}{1999 Nov 8}{Submitted to PWD by BE} +% \changes{4.0}{1999 Nov 10}{Converted for merlin 4.0} +% \changes{4.1}{2001 Jan 9}{Included corrections from Thomas Martin +% \changes{4.1a}{2002 Oct 18}{Fix bug in page number suppression} +% Widmann BE} +% \changes{4.2}{2003 Nov 6}{Fix comma separator, consistent with \texttt{makebst} 4.1} +% \changes{4.2a}{2004 May 6}{Add missing backslash in a menu text} +% +% \markboth{Brian Elmegaard}{Danish bibliographies} +% +% \title{{\bfseries Danish Language Definition File}\\ +% for master bibliographic style files} +% +% \author{Patrick W. Daly and Brian Elmegaard} +% +% \GetFileInfo{dansk.mbs} +% \date{This paper describes file \texttt{\filename},\\ +% version \fileversion{} from \filedate} +% +% \maketitle +% +% \MakeShortVerb{\|} +% +% \parskip=1ex \parindent=0pt +% +% \newcommand{\btx}{{\sc Bib}\TeX} +% \newcommand{\dtx}{\textsf{docstrip}} +% +% \section{Introduction} +% This file is to be used as a language definition file with master +% bibliographic files. The language it defines is +% \begin{quote}\bfseries Dansk\end{quote} +% +% This is not a self-sufficient \texttt{.mbs} file, but rather may +% be used together with one that contains language support via +% external definition files. +% +% See the documentation for \texttt{makebst} for formatting details. +% +% \section{The Menu Information} +% +% All the menu information is nested between \dtx{} guard options +% |%<*options>| \dots\ |%</options>|, and the last command is +% |\endoptions|. The rest of the file is nested between |%<*!options&!driver>| +% \dots\ |%</!options&!driver>| in order to exclude it if \dtx{} is used to +% extract only the menu information or the documentation driver. +% +% \begin{macrocode} +%<*options> +\mes{^^JOptions for DANSK} +\wr{\spsp\spsp dansk,\pc: Danish language} + +\beginoptiongroup{ABBREVIATE WORD `PAGES':}{} +\optdef{*}{}{`Side(r)'}{(no abbreviation)} +\optdef{a}{pp}{`Side' abbreviated}{as s. or pp.} +\optdef{x}{ppx}{`Side' omitted}{} +\getans +\endoptiongroup +\beginoptiongroup{ABBREVIATE WORD `EDITORS':}{} +\optdef{*}{}{`Redakt{\string\o}r(er)'}{(no abbreviation)} +\optdef{a}{ed}{`Redakt{\string\o}r' abbreviated}{as red.} +\getans +\endoptiongroup +\beginoptiongroup{OTHER ABBREVIATIONS:}{} +\optdef{*}{}{No abbreviations}{of bind, udgave, kapitel, osv.} +\optdef{a}{abr}{Abbreviations}{of such words} +\getans +\endoptiongroup +\beginoptiongroup{EDITION NUMBERS:}{} +\optdef{*}{xedn}{Editions as in database}{saving much processing memory} +\optdef{w}{}{Write out editions}{as f{\string\o}rste, anden, tredje, osv} +\optdef{n}{ord}{Numerical editions}{as 1., 2., 3., osv} +\getans +\endoptiongroup +\endoptions +%</options> +% \end{macrocode} +% +% \StopEventually{\PrintChanges} +% +% \section{The Coding} +% \begin{macrocode} +%<*!options&!driver> + + % The language selected here is DANSK + +FUNCTION {bbl.and} +{ "og"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +%<!ed>{ "redakt{\o}rer" } +%<ed>{ "red." } + +FUNCTION {bbl.editor} +%<!ed>{ "redakt{\o}r" } +%<ed>{ "red." } + +FUNCTION {bbl.edby} +{ "redigeret af" } + +FUNCTION {bbl.edition} +%<!abr>{ "udgave" } +%<abr>{ "udg." } + +FUNCTION {bbl.volume} +%<!abr>{ "bind" } +%<abr>{ "bd." } + +FUNCTION {bbl.of} +{ "af" } + +FUNCTION {bbl.number} +%<!abr>{ "nummer" } +%<abr>{ "nr." } + +FUNCTION {bbl.nr} +{ "nr." } + +FUNCTION {bbl.in} +{ "i" } + +FUNCTION {bbl.pages} +%<!pp&!ppx>{ "sider" } +%<pp>{ "pp." } +%<!pp&ppx>{ "" } + +FUNCTION {bbl.page} +%<!pp&!ppx>{ "side" } +%<pp>{ "s." } +%<!pp&ppx>{ "" } + +%<*revdata> +FUNCTION {bbl.eidpp} +{ "sider" } + +%</revdata> +FUNCTION {bbl.chapter} +%<!abr>{ "kapitel" } +%<abr>{ "kap." } + +FUNCTION {bbl.techrep} +%<!abr>{ "Teknisk rapport" } +%<abr>{ "Tekn. rap." } + +FUNCTION {bbl.mthesis} +{ "Speciale" } + +FUNCTION {bbl.phdthesis} +{ "ph.d.-afhandling" } + +%<*!xedn> +FUNCTION {bbl.first} +%<!ord>{ "F{\o}rste" } +%<ord>{ "1." } + +FUNCTION {bbl.second} +%<!ord>{ "Anden" } +%<ord>{ "2." } + +FUNCTION {bbl.third} +%<!ord>{ "Tredje" } +%<ord>{ "3." } + +FUNCTION {bbl.fourth} +%<!ord>{ "Fjerde" } +%<ord>{ "4." } + +FUNCTION {bbl.fifth} +%<!ord>{ "Femte" } +%<ord>{ "5." } + +FUNCTION {bbl.th} +{ "." } +%</!xedn> +%<*!abr> +MACRO {jan} {"Januar"} + +MACRO {feb} {"Februar"} + +MACRO {mar} {"Marts"} + +MACRO {apr} {"April"} + +MACRO {may} {"Maj"} + +MACRO {jun} {"Juni"} + +MACRO {jul} {"Juli"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"Oktober"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +%</!abr> +%<*abr> +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"Maj"} + +MACRO {jun} {"Jun."} + +MACRO {jul} {"Jul."} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sep."} + +MACRO {oct} {"Okt."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +%</abr> +%</!options&!driver> + % End module: dansk.mbs +% \end{macrocode} +% \Finale diff --git a/Master/texmf-dist/tex/latex/custom-bib/dutch.mbs b/Master/texmf-dist/tex/latex/custom-bib/dutch.mbs new file mode 100644 index 00000000000..c3b9ffb0259 --- /dev/null +++ b/Master/texmf-dist/tex/latex/custom-bib/dutch.mbs @@ -0,0 +1,326 @@ +%\iffalse THIS IS A META COMMENT +% File: dutch.mbs +% Copyright 1997-1999 Patrick W Daly +% Max-Planck-Institut f\"ur Aeronomie +% Max-Planck-Str. 2 +% D-37191 Katlenburg-Lindau +% Germany +% E-mail: daly@linmpi.mpg.de +% +% 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 any later version. +% +% It is part of the custom-bib collection, +% a contribution to the LaTeX2e system. +%==================================================================== +% A Language Definition File: DUTCH +% to be included with other master bibliography style files +%-------------------------------------------------------------------- +% (See version and date in the \ProvidesFile command below) +%-------------------------------------------------------------------- +% This file is self-documenting: simply LaTeX it! +%==================================================================== +% + %------------------------------------------------------------------- + % Begin module: +%\fi + % \ProvidesFile{dutch.mbs}[2003/11/06 4.2 (PWD/MG)] +%\iffalse +%<*a&!a> +% The following ensures that the driver part is not seen by makebst +% The driver part must not contain any \end other than \end{document} ! +\ifx\endoptions\undefined\let\tempx=\relax\else + \long\def\tempx#1\end#2{}\fi\tempx +%</a&!a> +%<*driver> + \NeedsTeXFormat{LaTeX2e}% + \documentclass[a4paper,10pt,twoside]{article}% + \usepackage{doc}% + \raggedbottom + \CodelineNumbered + \RecordChanges + % Comment out next line to print coding + \OnlyDescription + \setlength{\oddsidemargin}{0.5\paperwidth} + \addtolength{\oddsidemargin}{-0.5\textwidth} + \addtolength{\oddsidemargin}{-1in} + \setlength{\evensidemargin}{\oddsidemargin} + +\begin{document} + \DocInput{dutch.mbs} +\end{document} +%</driver> +% END OF META COMMENT \fi +% \CharacterTable +% {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 +% 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 +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \setcounter{StandardModuleDepth}{1} +% \setcounter{IndexColumns}{2} +% \setlength{\IndexMin}{10cm} +% +% \changes{1.0}{1997 Oct 30}{Initial version} +% \changes{1.2}{1998 Aug 17}{Add \texttt{bbl.etal}} +% \changes{1.3}{1999 Feb 1}{Add option \texttt{xedn}} +% \changes{1.3}{1999 Feb 24}{Update copyright notice} +% \changes{4.0}{1999 Oct 11}{For merlin 4.0} +% \changes{4.0a}{2002 Oct 18}{Fix bug in page number suppression} +% \changes{4.2}{2003 Nov 6}{Fix comma separator, consistent with \texttt{makebst} 4.1} +% +% \pagestyle{myheadings} +% \markboth{P. W. Daly and M. Gelderman}{Dutch Bibliographies} +% +% \title{{\bfseries Dutch Language Definition File}\\ +% for master bibliographic style files} +% +% \author{Patrick W. Daly and Maarten Gelderman} +% +% \GetFileInfo{dutch.mbs} +% \date{This paper describes file \texttt{\filename},\\ +% version \fileversion{} from \filedate} +% +% \maketitle +% +% \MakeShortVerb{\|} +% +% \parskip=1ex \parindent=0pt +% +% \newcommand{\btx}{{\sc Bib}\TeX} +% \newcommand{\dtx}{\textsf{docstrip}} +% +% \section{Introduction} +% This file is to be used as a language definition file with master +% bibliographic files. The language it defines is +% \begin{quote}\bfseries Dutch\end{quote} +% +% This is not a self-sufficient \texttt{.mbs} file, but rather may +% be used together with one that contains language support via +% external definition files. +% +% See the documentation for \texttt{makebst} for formatting details. +% +% \section{The Menu Information} +% +% All the menu information is nested between \dtx{} guard options +% |%<*options>| \dots\ |%</options>|, and the last command is +% |\endoptions|. The rest of the file is nested between |%<*!options&!driver>| +% \dots\ |%</!options&!driver>| in order to exclude it if \dtx{} is used to +% extract only the menu information or the documentation driver. +% +% \begin{macrocode} +%<*options> +\mes{^^JOptions for DUTCH} +\wr{\spsp\spsp dutch,\pc: Dutch language} + +\beginoptiongroup{ABBREVIATE WORD `PAGINA':}{} +\optdef{*}{}{`Pagina'}{(no abbreviation)} +\optdef{a}{pp}{`Pagina' abbreviated}{as pag.} +\optdef{x}{ppx}{`Pagina' omitted}{} +\getans +\endoptiongroup +\beginoptiongroup{ABBREVIATE WORD `REDACTIE':}{} +\optdef{*}{}{`Redactie'}{(no abbreviation)} +\optdef{a}{ed}{`Redactie' abbreviated}{as red.} +\getans +\endoptiongroup +\beginoptiongroup{OTHER ABBREVIATIONS:}{} +\optdef{*}{}{No abbreviations}{of volume, uitgave, hoofdstuk, etc} +\optdef{a}{abr}{Abbreviations}{of such words} +\getans +\endoptiongroup +\beginoptiongroup{EDITION NUMBERS:}{} +\optdef{*}{xedn}{Editions as in database}{saving much processing memory} +\optdef{w}{}{Write out editions}{as eerste, tweede, derde, etc} +\optdef{n}{ord}{Numerical editions}{as 1e, 2e, 3e, etc} +\getans +\endoptiongroup +\beginoptiongroup{ET AL.}{} +\optdef{*}{}{Et al}{as et al} +\optdef{a}{enan}{Et al as en anderen}{} +\optdef{e}{ea}{Et al as e.a}{} +\getans +\endoptiongroup +\endoptions +%</options> +% \end{macrocode} +% +% \StopEventually{\PrintChanges} +% +% \section{The Coding} +% \begin{macrocode} +%<*!options&!driver> + + % The language selected here is DUTCH +FUNCTION {bbl.and} +{ "en" } + +FUNCTION {bbl.etal} +%<!enan&!ea>{ "et~al." } +%<enan>{ "en anderen" } +%<ea>{ "e.a." } + +FUNCTION {bbl.editors} +%<!ed>{ "redactie" } +%<ed>{ "red." } + +FUNCTION {bbl.editor} +%<!ed>{ "redactie" } +%<ed>{ "red." } + +FUNCTION {bbl.edby} +{ "uitgegeven door" } + +FUNCTION {bbl.edition} +%<!abr>{ "uitgave" } +%<abr>{ "druk" } + +FUNCTION {bbl.volume} +%<!abr>{ "volume" } +%<abr>{ "vol." } + +FUNCTION {bbl.of} +{ "van" } + +FUNCTION {bbl.number} +%<!abr>{ "nummer" } +%<abr>{ "nr." } + +FUNCTION {bbl.nr} +{ "nr." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +%<!pp&!ppx>{ "pagina's" } +%<pp>{ "pag." } +%<!pp&ppx>{ "" } + +FUNCTION {bbl.page} +%<!pp&!ppx>{ "pagina" } +%<pp>{ "pag." } +%<!pp&ppx>{ "" } + +%<*revdata> +FUNCTION {bbl.eidpp} +{ "pagina's" } + +%</revdata> +FUNCTION {bbl.chapter} +%<!abr>{ "hoofdstuk" } +%<abr>{ "hfdst." } + +FUNCTION {bbl.techrep} +%<!abr>{ "Technisch Rapport" } +%<abr>{ "Tech. Rapp." } + +FUNCTION {bbl.mthesis} +{ "scriptie" } + +FUNCTION {bbl.phdthesis} +{ "proefschrift" } + +%<*!xedn> +FUNCTION {bbl.first} +%<!ord>{ "eerste" } +%<ord>{ "1e" } + +FUNCTION {bbl.second} +%<!ord>{ "tweede" } +%<ord>{ "2e" } + +FUNCTION {bbl.third} +%<!ord>{ "derde" } +%<ord>{ "3e" } + +FUNCTION {bbl.fourth} +%<!ord>{ "vierde" } +%<ord>{ "4e" } + +FUNCTION {bbl.fifth} +%<!ord>{ "vijfde" } +%<ord>{ "5e" } + +FUNCTION {bbl.st} +{ "e" } + +FUNCTION {bbl.nd} +{ "e" } + +FUNCTION {bbl.rd} +{ "e" } + +FUNCTION {bbl.th} +{ "e" } + +%</!xedn> +%<*!abr> +MACRO {jan} {"Januari"} + +MACRO {feb} {"Februari"} + +MACRO {mar} {"Maart"} + +MACRO {apr} {"April"} + +MACRO {may} {"Mei"} + +MACRO {jun} {"Juni"} + +MACRO {jul} {"Juli"} + +MACRO {aug} {"Augustus"} + +MACRO {sep} {"September"} + +MACRO {oct} {"Oktober"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +%</!abr> +%<*abr> +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mrt"} + +MACRO {apr} {"Apr."} + +MACRO {may} {"Mei"} + +MACRO {jun} {"Jun."} + +MACRO {jul} {"Jul."} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sep."} + +MACRO {oct} {"Okt."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +%</abr> +%</!options&!driver> + % End module: dutch.mbs +% \end{macrocode} +% \Finale diff --git a/Master/texmf-dist/tex/latex/custom-bib/english.mbs b/Master/texmf-dist/tex/latex/custom-bib/english.mbs new file mode 100644 index 00000000000..a0e7c9ce9ef --- /dev/null +++ b/Master/texmf-dist/tex/latex/custom-bib/english.mbs @@ -0,0 +1,359 @@ +%\iffalse THIS IS A META COMMENT +% File: english.mbs +% Copyright 1995-1999 Patrick W Daly +% Max-Planck-Institut f\"ur Aeronomie +% Max-Planck-Str. 2 +% D-37191 Katlenburg-Lindau +% Germany +% E-mail: daly@linmpi.mpg.de +% +% 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 any later version. +% +% It is part of the custom-bib collection, +% a contribution to the LaTeX2e system. +%==================================================================== +% A Language Definition File: ENGLISH +% to be included with other master bibliography style files +%-------------------------------------------------------------------- +% (See version and date in the \ProvidesFile command below) +%-------------------------------------------------------------------- +% This file is self-documenting: simply LaTeX it! +%==================================================================== +% + %------------------------------------------------------------------- + % Begin module: +%\fi + % \ProvidesFile{english.mbs}[2003/11/06 4.2 (PWD)] +%\iffalse +%<*a&!a> +% The following ensures that the driver part is not seen by makebst +% The driver part must not contain any \end other than \end{document} ! +\ifx\endoptions\undefined\let\tempx=\relax\else + \long\def\tempx#1\end#2{}\fi\tempx +%</a&!a> +%<*driver> + \NeedsTeXFormat{LaTeX2e}% + \documentclass[a4paper,10pt,twoside]{article}% + \usepackage{doc}% + \raggedbottom + \CodelineNumbered + \RecordChanges + % Comment out next line to print coding + \OnlyDescription + \setlength{\oddsidemargin}{0.5\paperwidth} + \addtolength{\oddsidemargin}{-0.5\textwidth} + \addtolength{\oddsidemargin}{-1in} + \setlength{\evensidemargin}{\oddsidemargin} + +\begin{document} + \DocInput{english.mbs} +\end{document} +%</driver> +% END OF META COMMENT \fi +% \CharacterTable +% {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 +% 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 +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \setcounter{StandardModuleDepth}{1} +% \setcounter{IndexColumns}{2} +% \setlength{\IndexMin}{10cm} +% +% \changes{1.0}{1995 Mar 15}{Initial version} +% \changes{1.1}{1995 May 4}{Do no abbreviate `edited by'} +% \changes{1.2}{1998 Aug 17}{Add \texttt{bbl.etal}} +% \changes{1.3}{1999 Feb 1}{Make consistent with merlin 3.88} +% \changes{1.3}{1999 Feb 24}{Update copyright notice} +% \changes{4.0}{1999 Oct 11}{For merlin 4.0} +% \changes{4.2}{2003 Nov 6}{Fix comma separator, consistent with \texttt{makebst} 4.1} +% +% \pagestyle{myheadings} +% \markboth{P. W. Daly}{English Bibliographies} +% +% \title{{\bfseries English Language Definition File}\\ +% for master bibliographic style files} +% +% \author{Patrick W. Daly} +% +% \GetFileInfo{english.mbs} +% \date{This paper describes file \texttt{\filename},\\ +% version \fileversion{} from \filedate} +% +% \maketitle +% +% \MakeShortVerb{\|} +% +% \parskip=1ex \parindent=0pt +% +% \newcommand{\btx}{{\sc Bib}\TeX} +% \newcommand{\dtx}{\textsf{docstrip}} +% +% \section{Introduction} +% This file is to be used as a language definition file with master +% bibliographic files. The language it defines is +% \begin{quote}\bfseries English\end{quote} +% +% This is not a self-sufficient \texttt{.mbs} file, but rather may +% be used together with one that contains language support via +% external definition files. +% +% See the documentation for \texttt{makebst} for formatting details. +% +% \section{The Menu Information} +% +% All the menu information is nested between \dtx{} guard options +% |%<*options>| \dots\ |%</options>|, and the last command is +% |\endoptions|. The rest of the file is nested between |%<*!options&!driver>| +% \dots\ |%</!options&!driver>| in order to exclude it if \dtx{} is used to +% extract only the menu information or the documentation driver. +% +% \begin{macrocode} +%<*options> +\mes{^^JOptions for ENGLISH} +\wr{\spsp\spsp english,\pc: English language} + +\beginoptiongroup{ABBREVIATE WORD `PAGES'}{} +\optdef{*}{}{`Page(s)'}{(no abbreviation)} +\optdef{a}{pp}{`Page' abbreviated}{as p. or pp.} +\optdef{x}{ppx}{`Page' omitted}{} +\getans +\endoptiongroup +\beginoptiongroup{ABBREVIATE WORD `EDITORS':}{} +\optdef{*}{}{`Editor(s)'}{(no abbreviation)} +\optdef{a}{ed}{`Editor' abbreviated}{as ed. or eds.} +\getans +\endoptiongroup +\beginoptiongroup{OTHER ABBREVIATIONS:}{} +\optdef{*}{}{No abbreviations}{of volume, edition, chapter, etc} +\optdef{a}{abr}{Abbreviations}{of such words} +\getans +\endoptiongroup +\beginoptiongroup{ABBREVIATION FOR `EDITION' + (if abbreviating words)} + {\if\ans a*\fi}% +\optdef{*}{}{`Edition' abbreviated as `edn'}{} +\optdef{a}{ednx}{`Edition' abbreviated as `ed'}{} +\getans +\beginoptiongroup{MONTHS WITH DOTS:}{} +\optdef{*}{}{Months with dots}{as Jan.} +\optdef{x}{mth-bare}{Months without dots}{as Feb Mar} +\getans +\endoptiongroup +\endoptiongroup +\beginoptiongroup{EDITION NUMBERS:}{} +\optdef{*}{xedn}{Editions as in database}{saving much processing memory} +\optdef{w}{}{Write out editions}{as first, second, third, etc} +\optdef{n}{ord}{Numerical editions}{as 1st, 2nd, 3rd, etc} +\getans +\endoptiongroup +\endoptions +%</options> +% \end{macrocode} +% +% \StopEventually{\PrintChanges} +% +% \section{The Coding} +% \begin{macrocode} +%<*!options&!driver> + + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +%<!ed>{ "editors" } +%<ed>{ "eds." } + +FUNCTION {bbl.editor} +%<!ed>{ "editor" } +%<ed>{ "ed." } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +%<!abr>{ "edition" } +%<abr&!ednx>{ "edn." } +%<abr&ednx>{ "ed." } + +FUNCTION {bbl.volume} +%<!abr>{ "volume" } +%<abr>{ "vol." } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +%<!abr>{ "number" } +%<abr>{ "no." } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +%<!pp&!ppx>{ "pages" } +%<pp>{ "pp." } +%<!pp&ppx>{ "" } + +FUNCTION {bbl.page} +%<!pp&!ppx>{ "page" } +%<pp>{ "p." } +%<!pp&ppx>{ "" } + +%<*revdata> +FUNCTION {bbl.eidpp} +{ "pages" } + +%</revdata> +FUNCTION {bbl.chapter} +%<!abr>{ "chapter" } +%<abr>{ "chap." } + +FUNCTION {bbl.techrep} +%<!abr>{ "Technical Report" } +%<abr>{ "Tech. Rep." } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +%<*!xedn> +FUNCTION {bbl.first} +%<!ord>{ "First" } +%<ord>{ "1st" } + +FUNCTION {bbl.second} +%<!ord>{ "Second" } +%<ord>{ "2nd" } + +FUNCTION {bbl.third} +%<!ord>{ "Third" } +%<ord>{ "3rd" } + +FUNCTION {bbl.fourth} +%<!ord>{ "Fourth" } +%<ord>{ "4th" } + +FUNCTION {bbl.fifth} +%<!ord>{ "Fifth" } +%<ord>{ "5th" } + +FUNCTION {bbl.st} +{ "st" } + +FUNCTION {bbl.nd} +{ "nd" } + +FUNCTION {bbl.rd} +{ "rd" } + +FUNCTION {bbl.th} +{ "th" } +% \end{macrocode} +% This function adds English endings for ordinals 1, 2, 3. However, if +% the second last digit is 1, then the ending is `th' for all last digits. +% So far, all other languages included do not have this problem, and it is +% sufficient to add the \textsl{th} equivalent. This might change with further +% languages. +% +% \begin{macrocode} +FUNCTION {eng.ord} +{ duplicate$ "1" swap$ * + #-2 #1 substring$ "1" = + { bbl.th * } + { duplicate$ #-1 #1 substring$ + duplicate$ "1" = + { pop$ bbl.st * } + { duplicate$ "2" = + { pop$ bbl.nd * } + { "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ + } + if$ +} + +%</!xedn> +%<*!abr> +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +%</!abr> +%<*abr> +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"Jun."} + +MACRO {jul} {"Jul."} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sep."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +%</abr> +%</!options&!driver> + % End module: english.mbs +% \end{macrocode} +% \Finale diff --git a/Master/texmf-dist/tex/latex/custom-bib/esperant.mbs b/Master/texmf-dist/tex/latex/custom-bib/esperant.mbs new file mode 100644 index 00000000000..3e5beddfaf8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/custom-bib/esperant.mbs @@ -0,0 +1,310 @@ +%\iffalse THIS IS A META COMMENT +% File: esperant.mbs +% Copyright 1995-1999 Patrick W Daly +% Max-Planck-Institut f\"ur Aeronomie +% Max-Planck-Str. 2 +% D-37191 Katlenburg-Lindau +% Germany +% E-mail: daly@linmpi.mpg.de +% +% 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 any later version. +% +% It is part of the custom-bib collection, +% a contribution to the LaTeX2e system. +%==================================================================== +% A Language Definition File: ESPERANTO +% to be included with other master bibliography style files +%-------------------------------------------------------------------- +% (See version and date in the \ProvidesFile command below) +%-------------------------------------------------------------------- +% This file is self-documenting: simply LaTeX it! +%==================================================================== +% + %------------------------------------------------------------------- + % Begin module: +%\fi + % \ProvidesFile{esperant.mbs}[2003/11/06 4.2 (PWD)] +%\iffalse +%<*a&!a> +% The following ensures that the driver part is not seen by makebst +% The driver part must not contain any \end other than \end{document} ! +\ifx\endoptions\undefined\let\tempx=\relax\else + \long\def\tempx#1\end#2{}\fi\tempx +%</a&!a> +%<*driver> + \NeedsTeXFormat{LaTeX2e}% + \documentclass[a4paper,10pt,twoside]{article}% + \usepackage{doc}% + \raggedbottom + \CodelineNumbered + \RecordChanges + % Comment out next line to print coding + \OnlyDescription + \setlength{\oddsidemargin}{0.5\paperwidth} + \addtolength{\oddsidemargin}{-0.5\textwidth} + \addtolength{\oddsidemargin}{-1in} + \setlength{\evensidemargin}{\oddsidemargin} + +\begin{document} + \DocInput{esperant.mbs} +\end{document} +%</driver> +% END OF META COMMENT \fi +% \CharacterTable +% {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 +% 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 +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \setcounter{StandardModuleDepth}{1} +% \setcounter{IndexColumns}{2} +% \setlength{\IndexMin}{10cm} +% +% \changes{1.0}{1995 Mar 15}{Initial version} +% \changes{1.1}{1995 May 4}{Do no abbreviate `edited by'} +% \changes{1.2}{1998 Aug 17}{Add \texttt{bbl.etal}} +% \changes{1.3}{1999 Feb 1}{Add option \texttt{xedn}} +% \changes{1.3}{1999 Feb 24}{Update copyright notice} +% \changes{4.0}{1999 Oct 11}{For merlin 4.0} +% \changes{4.0a}{2002 Oct 18}{Fix bug in page number suppression} +% \changes{4.2}{2003 Nov 6}{Fix comma separator, consistent with \texttt{makebst} 4.1} +% +% \pagestyle{myheadings} +% \markboth{P. W. Daly}{Esperanto Bibliographies} +% +% \title{{\bfseries Esperanto Language Definition File}\\ +% for master bibliographic style files} +% +% \author{Patrick W. Daly} +% +% \GetFileInfo{esperant.mbs} +% \date{This paper describes file \texttt{\filename},\\ +% version \fileversion{} from \filedate} +% +% \maketitle +% +% \MakeShortVerb{\|} +% +% \parskip=1ex \parindent=0pt +% +% \newcommand{\btx}{{\sc Bib}\TeX} +% \newcommand{\dtx}{\textsf{docstrip}} +% +% \section{Introduction} +% This file is to be used as a language definition file with master +% bibliographic files. The language it defines is +% \begin{quote}\bfseries Esperanto\end{quote} +% +% This is not a self-sufficient \texttt{.mbs} file, but rather may +% be used together with one that contains language support via +% external definition files. +% +% See the documentation for \texttt{makebst} for formatting details. +% +% \section{The Menu Information} +% +% All the menu information is nested between \dtx{} guard options +% |%<*options>| \dots\ |%</options>|, and the last command is +% |\endoptions|. The rest of the file is nested between |%<*!options&!driver>| +% \dots\ |%</!options&!driver>| in order to exclude it if \dtx{} is used to +% extract only the menu information or the documentation driver. +% +% \begin{macrocode} +%<*options> +\mes{^^JOptions for ESPERANTO} +\wr{\spsp\spsp esperanto,\pc: Esperanto language} + +\beginoptiongroup{ABBREVIATE WORD `PAGES':}{} +\optdef{*}{}{`Pa^go(j)'}{(no abbreviation)} +\optdef{a}{pp}{`Pa^go' abbreviated}{as p. or pp.} +\optdef{x}{ppx}{`Pa^goj' omitted}{} +\getans +\endoptiongroup +\beginoptiongroup{ABBREVIATE WORD `EDITORS':}{} +\optdef{*}{}{`Redaktoro{j}'}{(no abbreviation)} +\optdef{a}{ed}{`Redaktoro' abbreviated}{as red-o or red-oj} +\getans +\endoptiongroup +\beginoptiongroup{OTHER ABBREVIATIONS:}{} +\optdef{*}{}{No abbreviations}{of volumo, eldono, ^capitro, etc} +\optdef{a}{abr}{Abbreviations}{of such words} +\getans +\endoptiongroup +\beginoptiongroup{EDITION NUMBERS:}{} +\optdef{*}{xedn}{Editions as in database}{saving much processing memory} +\optdef{w}{}{Write out editions}{as unua, dua, tria, etc} +\optdef{n}{ord}{Numerical editions}{as 1-a, 2-a, 3-a, etc} +\getans +\endoptiongroup +\endoptions +%</options> +% \end{macrocode} +% +% \StopEventually{\PrintChanges} +% +% \section{The Coding} +% \begin{macrocode} +%<*!options&!driver> + + % The language selected here is ESPERANTO +FUNCTION {bbl.and} +{ "kaj"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +%<!ed>{ "redaktoroj" } +%<ed>{ "red-oj" } + +FUNCTION {bbl.editor} +%<!ed>{ "redaktoro" } +%<ed>{ "red-o" } + +FUNCTION {bbl.edby} +{ "redaktita de" } + +FUNCTION {bbl.edition} +%<!abr>{ "eldono" } +%<abr>{ "eld-o" } + +FUNCTION {bbl.volume} +%<!abr>{ "volumo" } +%<abr>{ "vol-o" } + +FUNCTION {bbl.of} +{ "el" } + +FUNCTION {bbl.number} +%<!abr>{ "numero" } +%<abr>{ "n-ro" } + +FUNCTION {bbl.nr} +{ "n-ro" } + +FUNCTION {bbl.in} +{ "en" } + +FUNCTION {bbl.pages} +%<!pp&!ppx>{ "pa\^goj" } +%<pp>{ "pp." } +%<!pp&ppx>{ "" } + +FUNCTION {bbl.page} +%<!pp&!ppx>{ "pa\^go" } +%<pp>{ "p\^g" } +%<!pp&ppx>{ "" } + +%<*revdata> +FUNCTION {bbl.eidpp} +{ "pa\^goj" } + +%</revdata> +FUNCTION {bbl.chapter} +%<!abr>{ "\^capitro" } +%<abr>{ "\^cap-o" } + +FUNCTION {bbl.techrep} +%<!abr>{ "Teknica Raporto" } +%<abr>{ "Tek-a Rap-o" } + +FUNCTION {bbl.mthesis} +{ "Magistra tezo" } + +FUNCTION {bbl.phdthesis} +{ "Doktora tezo" } + +%<*!xedn> +FUNCTION {bbl.first} +%<!ord>{ "Unua" } +%<ord>{ "1-a" } + +FUNCTION {bbl.second} +%<!ord>{ "Dua" } +%<ord>{ "2-a" } + +FUNCTION {bbl.third} +%<!ord>{ "Tria" } +%<ord>{ "3-a" } + +FUNCTION {bbl.fourth} +%<!ord>{ "Kvara" } +%<ord>{ "4-a" } + +FUNCTION {bbl.fifth} +%<!ord>{ "Kvina" } +%<ord>{ "5-a" } + +FUNCTION {bbl.th} +{ "-a" } + +%</!xedn> +%<*!abr> +MACRO {jan} {"januaro"} + +MACRO {feb} {"februaro"} + +MACRO {mar} {"marto"} + +MACRO {apr} {"aprilo"} + +MACRO {may} {"majo"} + +MACRO {jun} {"junio"} + +MACRO {jul} {"julio"} + +MACRO {aug} {"a\u{u}gusto"} + +MACRO {sep} {"septembro"} + +MACRO {oct} {"oktobro"} + +MACRO {nov} {"novembro"} + +MACRO {dec} {"decembro"} + +%</!abr> +%<*abr> +MACRO {jan} {"jan."} + +MACRO {feb} {"feb."} + +MACRO {mar} {"mar."} + +MACRO {apr} {"apr."} + +MACRO {may} {"maj."} + +MACRO {jun} {"jun."} + +MACRO {jul} {"jul."} + +MACRO {aug} {"a\u{u}g."} + +MACRO {sep} {"sep."} + +MACRO {oct} {"okt."} + +MACRO {nov} {"nov."} + +MACRO {dec} {"dec."} + +%</abr> +%</!options&!driver> + % End module: esperant.mbs +% \end{macrocode} +% \Finale diff --git a/Master/texmf-dist/tex/latex/custom-bib/finnish.mbs b/Master/texmf-dist/tex/latex/custom-bib/finnish.mbs new file mode 100644 index 00000000000..85574dea7b3 --- /dev/null +++ b/Master/texmf-dist/tex/latex/custom-bib/finnish.mbs @@ -0,0 +1,301 @@ +%\iffalse THIS IS A META COMMENT +% File: finnish.mbs +% Copyright 1995-1999 Patrick W Daly +% Max-Planck-Institut f\"ur Aeronomie +% Max-Planck-Str. 2 +% D-37191 Katlenburg-Lindau +% Germany +% E-mail: daly@linmpi.mpg.de +% +% 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 any later version. +% +% It is part of the custom-bib collection, +% a contribution to the LaTeX2e system. +%==================================================================== +% A Language Definition File: FINNISH +% to be included with other master bibliography style files +%-------------------------------------------------------------------- +% (See version and date in the \ProvidesFile command below) +%-------------------------------------------------------------------- +% This file is self-documenting: simply LaTeX it! +%==================================================================== +% + %------------------------------------------------------------------- + % Begin module: +%\fi + % \ProvidesFile{finnish.mbs}[2003/11/06 4.2 (PWD)] +%\iffalse +%<*a&!a> +% The following ensures that the driver part is not seen by makebst +% The driver part must not contain any \end other than \end{document} ! +\ifx\endoptions\undefined\let\tempx=\relax\else + \long\def\tempx#1\end#2{}\fi\tempx +%</a&!a> +%<*driver> + \NeedsTeXFormat{LaTeX2e}% + \documentclass[a4paper,10pt,twoside]{article}% + \usepackage{doc}% + \raggedbottom + \CodelineNumbered + \RecordChanges + % Comment out next line to print coding + \OnlyDescription + \setlength{\oddsidemargin}{0.5\paperwidth} + \addtolength{\oddsidemargin}{-0.5\textwidth} + \addtolength{\oddsidemargin}{-1in} + \setlength{\evensidemargin}{\oddsidemargin} + +\begin{document} + \DocInput{finnish.mbs} +\end{document} +%</driver> +% END OF META COMMENT \fi +% \CharacterTable +% {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 +% 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 +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \setcounter{StandardModuleDepth}{1} +% \setcounter{IndexColumns}{2} +% \setlength{\IndexMin}{10cm} +% +% \changes{1.0}{1995 Mar 15}{Initial version} +% \changes{1.1}{1995 May 4}{Do no abbreviate `edited by'} +% \changes{1.1a}{1995 May 11}{Correct \texttt{bbl.phdthesis}} +% \changes{1.2}{1995 Oct 25}{Remove \texttt{umlaut} option and \cs{qq}, +% replace with Raichle's trick} +% \changes{1.3}{1998 Aug 17}{Add \texttt{bbl.etal}} +% \changes{1.4}{1999 Feb 1}{Add option \texttt{xedn}} +% \changes{1.4}{1999 Feb 24}{Update copyright notice} +% \changes{1.4a}{1999 Sep 14}{Fix typo in edition query} +% \changes{4.0}{1999 Oct 11}{For merlin 4.0} +% \changes{4.0a}{2002 Oct 18}{Fix bug in page number suppression} +% \changes{4.2}{2003 Nov 6}{Fix comma separator, consistent with \texttt{makebst} 4.1} +% +% \pagestyle{myheadings} +% \markboth{P. W. Daly}{Finnish Bibliographies} +% +% \title{{\bfseries Finnish Language Definition File}\\ +% for master bibliographic style files} +% +% \author{Patrick W. Daly} +% +% \GetFileInfo{finnish.mbs} +% \date{This paper describes file \texttt{\filename},\\ +% version \fileversion{} from \filedate} +% +% \maketitle +% +% \MakeShortVerb{\|} +% +% \parskip=1ex \parindent=0pt +% +% \newcommand{\btx}{{\sc Bib}\TeX} +% \newcommand{\dtx}{\textsf{docstrip}} +% +% \section{Introduction} +% This file is to be used as a language definition file with master +% bibliographic files. The language it defines is +% \begin{quote}\bfseries Finnish\end{quote} +% +% The translations for Finnish were supplied by +% \begin{quote}\ttfamily "Niilo.Siljamo@Helsinki.FI"\end{quote} + +% This is not a self-sufficient \texttt{.mbs} file, but rather may +% be used together with one that contains language support via +% external definition files. +% +% Bernd Raichle points out that |\^^b| can be used in place of |\"| +% within \btx{} code. One can thus replace |Nelj\^^b{a}s| with |Nelj\^^b{a}s| +% and do away with the \texttt{umlaut} option. +% +% See the documentation for \texttt{makebst} for formatting details. +% +% \section{The Menu Information} +% +% All the menu information is nested between \dtx{} guard options +% |%<*options>| \dots\ |%</options>|, and the last command is +% |\endoptions|. The rest of the file is nested between |%<*!options&!driver>| +% \dots\ |%</!options&!driver>| in order to exclude it if \dtx{} is used to +% extract only the menu information or the documentation driver. +% +% \begin{macrocode} +%<*options> +\mes{^^JOptions for FINNISH} +\wr{\spsp\spsp finnish,\pc: Finnish language} + +\beginoptiongroup{ABBREVIATE WORD `SIVUT':}{} % `Pages' +\optdef{*}{}{`Sivu(t)'}{(no abbreviation)} +\optdef{a}{pp}{`Sivu' abbreviated}{as s. or ss.} +\optdef{x}{ppx}{`Sivu' omitted}{} +\getans +\endoptiongroup +\beginoptiongroup{ABBREVIATE WORD `TOIMITTAJAT':}{} % `Editors' +\optdef{*}{}{`Toimittaja(t)'}{(no abbreviation)} +\optdef{a}{ed}{`Toimittaja' abbreviated}{as toim.} +\getans +\endoptiongroup +\beginoptiongroup{OTHER ABBREVIATIONS:}{} +\optdef{*}{}{No abbreviations}{of other words} +\optdef{a}{abr}{Abbreviations}{of such words} +\getans +\endoptiongroup +\beginoptiongroup{EDITION NUMBERS:}{} +\optdef{*}{xedn}{Editions as in database}{saving much processing memory} +\optdef{w}{}{Write out editions}{as emsimm\string\"ainen, toinen, etc} +\optdef{n}{ord}{Numerical editions}{as 1., 2., etc} +\getans +\endoptiongroup +\endoptions +%</options> +% \end{macrocode} +% +% \StopEventually{\PrintChanges} +% +% \section{The Coding} +% \begin{macrocode} +%<*!options&!driver> + + % The language selected here is FINNISH +FUNCTION {bbl.and} +{ "ja"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +%<!ed>{ "toimittajat" } +%<ed>{ "toim." } + +FUNCTION {bbl.editor} +%<!ed>{ "toimittaja" } +%<ed>{ "toim." } + +FUNCTION {bbl.edby} +{ "toimittanut" } + +FUNCTION {bbl.edition} +%<!abr>{ "painos" } +%<abr>{ "painos" } + +FUNCTION {bbl.volume} +{ "osa" } + +FUNCTION {bbl.of} +{ "sarjasta" } + +FUNCTION {bbl.number} +%<!abr>{ "numero" } +%<abr>{ "no." } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "teoksessa" } + +FUNCTION {bbl.pages} +%<!pp&!ppx>{ "sivut" } +%<pp>{ "ss." } +%<!pp&ppx>{ "" } + + +FUNCTION {bbl.page} +%<!pp&!ppx>{ "sivu" } +%<pp>{ "s." } +%<!pp&ppx>{ "" } + +%<*revdata> +FUNCTION {bbl.eidpp} +{ "sivut" } + +%</revdata> +FUNCTION {bbl.chapter} +{ "luku" } + +FUNCTION {bbl.techrep} +%<!abr>{ "Tekninen Raportti" } +%<abr>{ "Tekn. Rap." } + +FUNCTION {bbl.mthesis} +{ "pro gradu" } + +FUNCTION {bbl.phdthesis} +{ "v\^^b{a}it\^^b{o}skirja" } + +%<*!xedn> +FUNCTION {bbl.first} +%<!ord>{ "Ensimm\^^b{a}inen" } +%<ord>{ "1." } + +FUNCTION {bbl.second} +%<!ord>{ "Toinen" } +%<ord>{ "2." } + +FUNCTION {bbl.third} +%<!ord>{ "Kolmas" } +%<ord>{ "3." } + +FUNCTION {bbl.fourth} +%<!ord>{ "Nelj\^^b{a}s" } +%<ord>{ "4." } + +FUNCTION {bbl.fifth} +%<!ord>{ "Viides" } +%<ord>{ "5." } + +FUNCTION {bbl.st} +{ "." } + +FUNCTION {bbl.nd} +{ "." } + +FUNCTION {bbl.rd} +{ "." } + +FUNCTION {bbl.th} +{ "." } + +%</!xedn> +MACRO {jan} {"tammikuu"} + +MACRO {feb} {"helmikuu"} + +MACRO {mar} {"maaliskuu"} + +MACRO {apr} {"huhtikuu"} + +MACRO {may} {"toukokuu"} + +MACRO {jun} {"kes\^^b{a}kuu"} + +MACRO {jul} {"hein\^^b{a}kuu"} + +MACRO {aug} {"elokuu"} + +MACRO {sep} {"syyskuu"} + +MACRO {oct} {"lokakuu"} + +MACRO {nov} {"marraskuu"} + +MACRO {dec} {"joulukuu"} + +%</!options&!driver> + % End module: finnish.mbs +% \end{macrocode} +% \Finale diff --git a/Master/texmf-dist/tex/latex/custom-bib/french.mbs b/Master/texmf-dist/tex/latex/custom-bib/french.mbs new file mode 100644 index 00000000000..cf2a561ff40 --- /dev/null +++ b/Master/texmf-dist/tex/latex/custom-bib/french.mbs @@ -0,0 +1,312 @@ +%\iffalse THIS IS A META COMMENT +% File: french.mbs +% Copyright 1995-2002 Patrick W Daly +% Max-Planck-Institut f\"ur Aeronomie +% Max-Planck-Str. 2 +% D-37191 Katlenburg-Lindau +% Germany +% E-mail: daly@linmpi.mpg.de +% +% 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 any later version. +% +% It is part of the custom-bib collection, +% a contribution to the LaTeX2e system. +%==================================================================== +% A Language Definition File: FRENCH +% to be included with other master bibliography style files +%-------------------------------------------------------------------- +% (See version and date in the \ProvidesFile command below) +%-------------------------------------------------------------------- +% This file is self-documenting: simply LaTeX it! +%==================================================================== +% + %------------------------------------------------------------------- + % Begin module: +%\fi + % \ProvidesFile{french.mbs}[2003/11/06 4.2 (PWD)] +%\iffalse +%<*a&!a> +% The following ensures that the driver part is not seen by makebst +% The driver part must not contain any \end other than \end{document} ! +\ifx\endoptions\undefined\let\tempx=\relax\else + \long\def\tempx#1\end#2{}\fi\tempx +%</a&!a> +%<*driver> + \NeedsTeXFormat{LaTeX2e}% + \documentclass[a4paper,10pt,twoside]{article}% + \usepackage{doc}% + \raggedbottom + \CodelineNumbered + \RecordChanges + % Comment out next line to print coding + \OnlyDescription + \setlength{\oddsidemargin}{0.5\paperwidth} + \addtolength{\oddsidemargin}{-0.5\textwidth} + \addtolength{\oddsidemargin}{-1in} + \setlength{\evensidemargin}{\oddsidemargin} + +\begin{document} + \DocInput{french.mbs} +\end{document} +%</driver> +% END OF META COMMENT \fi +% \CharacterTable +% {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 +% 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 +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \setcounter{StandardModuleDepth}{1} +% \setcounter{IndexColumns}{2} +% \setlength{\IndexMin}{10cm} +% +% \changes{1.0}{1995 Mar 15}{Initial version} +% \changes{1.1}{1995 May 4}{Do no abbreviate `edited by'} +% \changes{1.2}{1998 Aug 17}{Add \texttt{bbl.etal}} +% \changes{1.3}{1999 Feb 1}{Add option \texttt{xedn}} +% \changes{1.3}{1999 Feb 24}{Update copyright notice} +% \changes{4.0}{1999 Oct 11}{For merlin 4.0} +% \changes{4.0a}{2001 Aug 28}{Correct r\'edacteur} +% \changes{4.1}{2001 Jan 14}{Number of corrections by Olivier Dupuis} +% \changes{4.1a}{2002 Oct 18}{Fix bug in page number suppression} +% \changes{4.2}{2003 Nov 6}{Fix comma separator, consistent with \texttt{makebst} 4.1} +% +% \pagestyle{myheadings} +% \markboth{P. W. Daly}{French Bibliographies} +% +% \title{{\bfseries French Language Definition File}\\ +% for master bibliographic style files} +% +% \author{Patrick W. Daly} +% +% \GetFileInfo{french.mbs} +% \date{This paper describes file \texttt{\filename},\\ +% version \fileversion{} from \filedate} +% +% \maketitle +% +% \MakeShortVerb{\|} +% +% \parskip=1ex \parindent=0pt +% +% \newcommand{\btx}{{\sc Bib}\TeX} +% \newcommand{\dtx}{\textsf{docstrip}} +% +% \section{Introduction} +% This file is to be used as a language definition file with master +% bibliographic files. The language it defines is +% \begin{quote}\bfseries French\end{quote} +% +% This is not a self-sufficient \texttt{.mbs} file, but rather may +% be used together with one that contains language support via +% external definition files. +% +% See the documentation for \texttt{makebst} for formatting details. +% +% \section{The Menu Information} +% +% All the menu information is nested between \dtx{} guard options +% |%<*options>| \dots\ |%</options>|, and the last command is +% |\endoptions|. The rest of the file is nested between |%<*!options&!driver>| +% \dots\ |%</!options&!driver>| in order to exclude it if \dtx{} is used to +% extract only the menu information or the documentation driver. +% +% \begin{macrocode} +%<*options> +\mes{^^JOptions for FRENCH} +\wr{\spsp\spsp french,\pc: French language} + +\beginoptiongroup{ABBREVIATE WORD `PAGES':}{} +\optdef{*}{}{`Page(s)'}{(no abbreviation)} +\optdef{a}{pp}{`Page' abbreviated}{as p. or pp.} +\optdef{x}{ppx}{`Page' omitted}{} +\getans +\endoptiongroup +\beginoptiongroup{ABBREVIATE WORD `REDACTEUR':}{} +\optdef{*}{}{`R\string\'edacteur(s)'}{(no abbreviation)} +\optdef{a}{ed}{`R\string\'edacteur' abbreviated}{as R\string\'ed.} +\getans +\endoptiongroup +\beginoptiongroup{OTHER ABBREVIATIONS:}{} +\optdef{*}{}{No abbreviations}{of Tome, \string\'edition, chapitre} +\optdef{a}{abr}{Abbreviations}{of such words} +\getans +\endoptiongroup +\beginoptiongroup{EDITION NUMBERS:}{} +\optdef{*}{xedn}{Editions as in database}{saving much processing memory} +\optdef{w}{}{Write out editions}{as premi\string\`ere, deuxi\string\`eme,...} +\optdef{n}{ord}{Numerical editions}{as 1re, 2e, 3e, etc} +\getans +\endoptiongroup +\endoptions +%</options> +% \end{macrocode} +% +% \StopEventually{\PrintChanges} +% +% \section{The Coding} +% \begin{macrocode} +%<*!options&!driver> + + % The language selected here is FRENCH +FUNCTION {bbl.and} +{ "et"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +%<!ed>{ "r\'edacteurs" } +%<ed>{ "r\'eds." } + +FUNCTION {bbl.editor} +%<!ed>{ "r\'edacteur" } +%<ed>{ "r\'ed." } + +FUNCTION {bbl.edby} +{ "edit\'e par" } + +FUNCTION {bbl.edition} +%<!abr>{ "\'edition" } +%<abr>{ "\'ed." } + +FUNCTION {bbl.volume} +%<!abr>{ "tome" } +%<abr>{ "t." } + +FUNCTION {bbl.of} +{ "de" } + +FUNCTION {bbl.number} +%<!abr>{ "num\'ero" } +%<abr>{ "n\textsuperscript{o}\kern.2em\relax" } + +FUNCTION {bbl.nr} +{ "n\textsuperscript{o}\kern.2em\relax" } + +FUNCTION {bbl.in} +{ "dans" } + +FUNCTION {bbl.pages} +%<!pp&!ppx>{ "pages" } +%<pp>{ "p." } +%<!pp&ppx>{ "" } + +FUNCTION {bbl.page} +%<!pp&!ppx>{ "page" } +%<pp>{ "p." } +%<!pp&ppx>{ "" } + +%<*revdata> +FUNCTION {bbl.eidpp} +{ "pages" } + +%</revdata> +FUNCTION {bbl.chapter} +%<!abr>{ "chapitre" } +%<abr>{ "chap." } + +FUNCTION {bbl.techrep} +%<!abr>{ "Rapport technique" } +%<abr>{ "Rap. tech." } + +FUNCTION {bbl.mthesis} +{ "Th\`ese de ma\^itre" } + +FUNCTION {bbl.phdthesis} +{ "Th\`ese de doctorat" } + +%<*!xedn> +FUNCTION {bbl.first} +%<!ord>{ "Premi\`ere" } +%<ord>{ "1$^{\mbox{\scriptsize re}}$" } + +FUNCTION {bbl.second} +%<!ord>{ "Deuxi\`eme" } +%<ord>{ "2$^{\mbox{\scriptsize e}}$" } + +FUNCTION {bbl.third} +%<!ord>{ "Troisi\`eme" } +%<ord>{ "3$^{\mbox{\scriptsize e}}$" } + +FUNCTION {bbl.fourth} +%<!ord>{ "Quatri\`eme" } +%<ord>{ "4$^{\mbox{\scriptsize e}}$" } + +FUNCTION {bbl.fifth} +%<!ord>{ "Cinqui\`eme" } +%<ord>{ "5$^{\mbox{\scriptsize e}}$" } + +FUNCTION {bbl.th} +{ "$^{\mbox{\scriptsize e}}$" } + +%</!xedn> +%<*!abr> +MACRO {jan} {"janvier"} + +MACRO {feb} {"f\'evrier"} + +MACRO {mar} {"mars"} + +MACRO {apr} {"avril"} + +MACRO {may} {"mai"} + +MACRO {jun} {"juin"} + +MACRO {jul} {"juillet"} + +MACRO {aug} {"ao\^ut"} + +MACRO {sep} {"septembre"} + +MACRO {oct} {"octobre"} + +MACRO {nov} {"novembre"} + +MACRO {dec} {"d\'ecembre"} + +%</!abr> +%<*abr> +MACRO {jan} {"jan."} + +MACRO {feb} {"f\'ev."} + +MACRO {mar} {"mars"} + +MACRO {apr} {"avr."} + +MACRO {may} {"mai"} + +MACRO {jun} {"juin"} + +MACRO {jul} {"juil."} + +MACRO {aug} {"ao\^ut"} + +MACRO {sep} {"sept."} + +MACRO {oct} {"oct."} + +MACRO {nov} {"nov."} + +MACRO {dec} {"d\'ec."} + +%</abr> +%</!options&!driver> + % End module: french.mbs +% \end{macrocode} +% \Finale diff --git a/Master/texmf-dist/tex/latex/custom-bib/geojour.mbs b/Master/texmf-dist/tex/latex/custom-bib/geojour.mbs new file mode 100644 index 00000000000..9eb05791cf5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/custom-bib/geojour.mbs @@ -0,0 +1,404 @@ +%\iffalse THIS IS A META COMMENT +% File: physjour.mbs +% Copyright 1994-1999 Patrick W Daly +% Max-Planck-Institut f\"ur Aeronomie +% Max-Planck-Str. 2 +% D-37191 Katlenburg-Lindau +% Germany +% E-mail: daly@linmpi.mpg.de +% +% 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 any later version. +% +% It is part of the custom-bib collection, +% a contribution to the LaTeX2e system. +%==================================================================== +% A Journal Definition File for Geophysics journals +% to be included with other master bibliography style files +%-------------------------------------------------------------------- +% (See version and date in the \ProvidesFile command below) +%-------------------------------------------------------------------- +% This file is self-documenting: simply LaTeX it! +%==================================================================== +% + %------------------------------------------------------------------- + % Begin module: +%\fi + % \ProvidesFile{geojour.mbs}[2002/07/10 2.0h (PWD)] +%\iffalse +%<*a&!a> +% The following ensures that the driver part is not seen by makebst +% The driver part must not contain any \end other than \end{document} ! +\ifx\endoptions\undefined\let\tempx=\relax\else + \long\def\tempx#1\end#2{}\fi\tempx +%</a&!a> +%<*driver> + \NeedsTeXFormat{LaTeX2e}% + \documentclass[a4paper,10pt,twoside]{article}% + \usepackage{doc}% + \raggedbottom + \CodelineNumbered + \RecordChanges + % Comment out next line to print coding + \OnlyDescription + \setlength{\oddsidemargin}{0.5\paperwidth} + \addtolength{\oddsidemargin}{-0.5\textwidth} + \addtolength{\oddsidemargin}{-1in} + \setlength{\evensidemargin}{\oddsidemargin} + +\begin{document} + \DocInput{geojour.mbs} +\end{document} +%</driver> +% END OF META COMMENT \fi +% \CharacterTable +% {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 +% 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 +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \setcounter{StandardModuleDepth}{1} +% \setcounter{IndexColumns}{2} +% \setlength{\IndexMin}{10cm} +% +% \changes{1.0}{1996 Feb 2}{Initial version, contributed by N.S.} +% \changes{1.1}{1996 Jun 20}{Additions/correction by Martin Dix} +% \changes{2.0}{1996 Jun 26}{Reorganize with \texttt{physjour} and +% \texttt{photjour}} +% \changes{2.0a}{1997 May 26}{Correct grl abbreviation; add \texttt{pss}} +% \changes{2.0b}{1997 Sep 15}{Replace umlaut with Raichle trick} +% \changes{2.0c}{1998 Nov 25}{Add \texttt{pce} and \texttt{sp}} +% \changes{2.0d}{1998 Dec 22}{Add \texttt{empl}, \texttt{ass}, \texttt{expa}, +% and \texttt{sgp}} +% \changes{2.0e}{1999 Feb 24}{Update copyright notice} +% \changes{2.0f}{1999 Oct 8}{Revise some journal abbreviations} +% \changes{2.0g}{1999 Nov 16}{Get \texttt{pce} right} +% \changes{2.0h}{2002 Jul 10}{Add \texttt{jastp}} +% +% \pagestyle{myheadings} +% \markboth{P. W. Daly}{Geophysics Journal Names} +% +% \title{{\bfseries Geophysics Journal Definition File}\\ +% for master bibliographic style files} +% +% \author{Patrick W. Daly} +% +% \GetFileInfo{geojour.mbs} +% \date{This paper describes file \texttt{\filename},\\ +% version \fileversion{} from \filedate} +% +% \maketitle +% +% \MakeShortVerb{\|} +% +% \parskip=1ex \parindent=0pt +% +% \newcommand{\btx}{{\sc Bib}\TeX} +% \newcommand{\dtx}{\textsf{docstrip}} +% +% \section{Introduction} +% +% This file adds a list of preprogrammed geophysics journal names to +% bibliographic style files, in both full and abbreviated versions. +% These defined journal names will be added to those in the main master +% bibliography style file. +% +% This is not a self-sufficient \texttt{.mbs} file, but rather may +% be used together with one that contains support for +% external definition files. +% +% This file was contributed by +% \begin{quote} +% Niilo Siljamo, email \texttt{siljamo@rock.helsinki.fi}. +% \end{quote} +% with additions and corrections by +% \begin{quote} +% Martin Dix, email \texttt{mrd@dar.csiro.au} +% \end{quote} +% +% Version 2.0: I go through all journal names, checking for conflicts and +% duplications with \texttt{physjour.mbs} and \texttt{photjour.mbs}. +% Optical and physical journals removed; geophysical journals included +% from the others. Where one journal exists with multiple shorthands, +% all versions are kept. +% +% Version 2.0a: correct abbreviation for GRL; introduce \texttt{pss} for +% Planetary and Space Science, which for some wierd reason is keyed as +% \texttt{pps}, which I leave for compatibility. +% +% Version 2.0b: Fixes a problem with umlauts acting as string terminator. +% +% Versions 2.0c,d: Add more journals. +% +% Version 2.0e: revise copyright notice to LPPL standard. +% +% Version 2.0f: revise journal abbreviations as suggested by Conrado +% Badenas \texttt{Conrado.Badenas@uv.es} +% +% See the documentation for \texttt{makebst} for formatting details. +% +% \section{The Menu Information} +% +% All the menu information is nested between \dtx{} guard options +% |%<*options>| \dots\ |%</options>|, and the last command is +% |\endoptions|. The rest of the file is nested between |%<*!options>| +% \dots\ |%</!options>| in order to exclude it if \dtx{} is used to +% extract only the menu information. +% +% \begin{macrocode} +%<*options> +\mes{^^JGEOPHYSICS JOURNAL NAMES:} +\optdef{*}{}{Full geophysics journal names}{} +\optdef{a}{jabr}{Abbreviate geophysics names}{for journals} +\getans +\endoptions +%</options> +% \end{macrocode} +% +% \StopEventually{\PrintChanges} +% +% \section{The Coding} +% \begin{macrocode} +%<*!options> +%<*jabr> +MACRO {aisr} {"Adv. Space Res."} +MACRO {ag} {"Ann. Geophys."} +MACRO {anigeo} {"Ann. Geofis."} +MACRO {angl} {"Ann. Glaciol."} +MACRO {andmet} {"Ann. d. Meteor."} +MACRO {andgeo} {"Ann. d. Geophys."} +MACRO {andphy} {"Ann. Phys.-Paris"} +MACRO {afmgb} {"Arch. Meteor. Geophys. Bioklimatol."} +MACRO {atph} {"Atm\'osphera"} +MACRO {aao} {"Atmos. Ocean"} +MACRO {ass}{"Astrophys. Space Sci."} +MACRO {atenv} {"Atmos. Environ."} +MACRO {aujag} {"Aust. J. Agr. Res."} +MACRO {aumet} {"Aust. Meteorol. Mag."} +MACRO {blmet} {"Bound.-Lay. Meteorol."} +MACRO {bams} {"Bull. Amer. Meteorol. Soc."} +MACRO {cch} {"Clim. Change"} +MACRO {cdyn} {"Clim. Dynam."} +MACRO {cbul} {"Climatol. Bull."} +MACRO {cap} {"Contrib. Atmos. Phys."} +MACRO {dsr} {"Deep-Sea Res."} +MACRO {dhz} {"Dtsch. Hydrogr. Z."} +MACRO {dao} {"Dynam. Atmos. Oceans"} +MACRO {eco} {"Ecology"} +MACRO {empl}{"Earth, Moon and Planets"} +MACRO {envres} {"Environ. Res."} +MACRO {envst} {"Environ. Sci. Technol."} +MACRO {ecms} {"Estuarine Coastal Mar. Sci."} +MACRO {expa}{"Exper. Astron."} +MACRO {geoint} {"Geofis. Int."} +MACRO {geopub} {"Geofys. Publ."} +MACRO {geogeo} {"Geol. Geofiz."} +MACRO {gafd} {"Geophys. Astrophys. Fluid Dyn."} +MACRO {gfd} {"Geophys. Fluid Dyn."} +MACRO {geomag} {"Geophys. Mag."} +MACRO {georl} {"Geophys. Res. Lett."} +MACRO {grl} {"Geophys. Res. Lett."} +MACRO {ga} {"Geophysica"} +MACRO {gs} {"Geophysics"} +MACRO {ieeetap} {"IEEE Trans. Antenn. Propag."} +MACRO {ijawp} {"Int. J. Air Water Pollut."} +MACRO {ijc} {"Int. J. Climatol."} +MACRO {ijrs} {"Int. J. Remote Sens."} +MACRO {jam} {"J. Appl. Meteorol."} +MACRO {jaot} {"J. Atmos. Ocean. Technol."} +MACRO {jatp} {"J. Atmos. Terr. Phys."} +MACRO {jastp} {"J. Atmos. Solar-Terr. Phys."} +MACRO {jce} {"J. Climate"} +MACRO {jcam} {"J. Climate Appl. Meteor."} +MACRO {jcm} {"J. Climate Meteor."} +MACRO {jcy} {"J. Climatol."} +MACRO {jgr} {"J. Geophys. Res."} +MACRO {jga} {"J. Glaciol."} +MACRO {jh} {"J. Hydrol."} +MACRO {jmr} {"J. Mar. Res."} +MACRO {jmrj} {"J. Meteor. Res. Japan"} +MACRO {jm} {"J. Meteor."} +MACRO {jpo} {"J. Phys. Oceanogr."} +MACRO {jra} {"J. Rech. Atmos."} +MACRO {jaes} {"J. Aeronaut. Sci."} +MACRO {japca} {"J. Air Pollut. Control Assoc."} +MACRO {jas} {"J. Atmos. Sci."} +MACRO {jmts} {"J. Mar. Technol. Soc."} +MACRO {jmsj} {"J. Meteorol. Soc. Japan"} +MACRO {josj} {"J. Oceanogr. Soc. Japan"} +MACRO {jwm} {"J. Wea. Mod."} +MACRO {lao} {"Limnol. Oceanogr."} +MACRO {mwl} {"Mar. Wea. Log"} +MACRO {mau} {"Mausam"} +MACRO {meteor} {"``Meteor'' Forschungsergeb."} +MACRO {map} {"Meteorol. Atmos. Phys."} +MACRO {metmag} {"Meteor. Mag."} +MACRO {metmon} {"Meteor. Monogr."} +MACRO {metrun} {"Meteor. Rundsch."} +MACRO {metzeit} {"Meteor. Z."} +MACRO {metgid} {"Meteor. Gidrol."} +MACRO {mwr} {"Mon. Weather Rev."} +MACRO {nwd} {"Natl. Weather Dig."} +MACRO {nzjmfr} {"New Zeal. J. Mar. Freshwater Res."} +MACRO {npg} {"Nonlin. Proc. Geophys."} +MACRO {om} {"Oceanogr. Meteorol."} +MACRO {ocac} {"Oceanol. Acta"} +MACRO {oceanus} {"Oceanus"} +MACRO {paleoc} {"Paleoceanography"} +MACRO {pce} {"Phys. Chem. Earth"} +MACRO {pmg} {"Pap. Meteor. Geophys."} +MACRO {ppom} {"Pap. Phys. Oceanogr. Meteor."} +MACRO {physzeit} {"Phys. Z."} +MACRO {pps} {"Planet. Space Sci."} +MACRO {pss} {"Planet. Space Sci."} +MACRO {pag} {"Pure Appl. Geophys."} +MACRO {qjrms} {"Quart. J. Roy. Meteorol. Soc."} +MACRO {quatres} {"Quat. Res."} +MACRO {rsci} {"Radio Sci."} +MACRO {rse} {"Remote Sens. Environ."} +MACRO {rgeo} {"Rev. Geophys."} +MACRO {rgsp} {"Rev. Geophys. Space Phys."} +MACRO {rdgeo} {"Rev. Geofis."} +MACRO {revmeta} {"Rev. Meteorol."} +MACRO {sgp}{"Surveys in Geophys."} +MACRO {sp} {"Solar Phys."} +MACRO {ssr} {"Space Sci. Rev."} +MACRO {tellus} {"Tellus"} +MACRO {tac} {"Theor. Appl. Climatol."} +MACRO {tagu} {"Trans. Am. Geophys. Union (EOS)"} +MACRO {wrr} {"Water Resour. Res."} +MACRO {weather} {"Weather"} +MACRO {wafc} {"Weather Forecast."} +MACRO {ww} {"Weatherwise"} +MACRO {wmob} {"WMO Bull."} +MACRO {zeitmet} {"Z. Meteorol."} +%</jabr> +%<*!jabr> +MACRO {aisr} {"Advances in Space Research"} +MACRO {ag} {"Annales Geophysic\ae"} +MACRO {anigeo} {"Annali di Geofisica"} +MACRO {angl} {"Annals of Glaciology"} +MACRO {andmet} {"Annalen der Meteorologie"} +MACRO {andgeo} {"Annales de Geophysique"} +MACRO {andphy} {"Annales de Physique"} +MACRO {afmgb} {"Archiv f\^^b{u}r Meteorologie, Geophysik und Bioklimatologie"} +MACRO {ass}{"Astrophysics and Space Science"} +MACRO {atph} {"Atm\'osphera"} +MACRO {aao} {"Atmosphere-Ocean"} +MACRO {atenv} {"Atmospheric Environment"} +MACRO {aujag} {"Australian Journal of Agricultural Research"} +MACRO {aumet} {"Australian Meteorological Magazine"} +MACRO {blmet} {"Boundary-Layer Meteorology"} +MACRO {bams} {"Bulletin of the American Meteorological Society"} +MACRO {cch} {"Climatic Change"} +MACRO {cdyn} {"Climate Dynamics"} +MACRO {cbul} {"Climatological Bulletin"} +MACRO {cap} {"Contributions to Atmospheric Physics"} +MACRO {dsr} {"Deep-Sea Research"} +MACRO {dhz} {"Deutsche Hydrographische Zeitschrift"} +MACRO {dao} {"Dynamics of Atmospheres and Oceans"} +MACRO {eco} {"Ecology"} +MACRO {empl}{"Earth, Moon and Planets"} +MACRO {envres} {"Environmental Research"} +MACRO {envst} {"Environmental Science and Technology"} +MACRO {ecms} {"Estuarine and Coastal Marine Science"} +MACRO {expa}{"Experimental Astronomy"} +MACRO {geoint} {"Geofisica Internationale"} +MACRO {geopub} {"Geofysiske Publikasjoner"} +MACRO {geogeo} {"Geologiya i Geofizika"} +MACRO {gafd} {"Geophysical and Astrophysical Fluid Dynamics"} +MACRO {gfd} {"Geophysical Fluid Dynamics"} +MACRO {geomag} {"Geophysical Magazine"} +MACRO {georl} {"Geophysical Research Letters"} +MACRO {grl} {"Geophysical Research Letters"} +MACRO {ga} {"Geophysica"} +MACRO {gs} {"Geophysics"} +MACRO {ieeetap} {"IEEE Transactions on Antennas and Propagation"} +MACRO {ijawp} {"International Journal of Air and Water Pollution"} +MACRO {ijc} {"International Journal of Climatology"} +MACRO {ijrs} {"International Journal of Remote Sensing"} +MACRO {jam} {"Journal of Applied Meteorology"} +MACRO {jaot} {"Journal of Atmospheric and Oceanic Technology"} +MACRO {jatp} {"Journal of Atmospheric and Terrestrial Physics"} +MACRO {jastp} {"Journal of Atmospheric and Solar-Terrestrial Physics"} +MACRO {jce} {"Journal of Climate"} +MACRO {jcam} {"Journal of Climate and Applied Meteorology"} +MACRO {jcm} {"Journal of Climate Meteorology"} +MACRO {jcy} {"journal of Climatology"} +MACRO {jgr} {"Journal of Geophysical Research"} +MACRO {jga} {"Journal of Glaciology"} +MACRO {jh} {"Journal of Hydrology"} +MACRO {jmr} {"Journal of Marine Research"} +MACRO {jmrj} {"Journal of Meteorological Research, Japan"} +MACRO {jm} {"Journal of Meteorology"} +MACRO {jpo} {"Journal of Physical Oceanography"} +MACRO {jra} {"Journal de Recherches Atmospheriques"} +MACRO {jaes} {"Journal of the Aeronautical Sciences"} +MACRO {japca} {"Journal of the Air Pollution Control Association"} +MACRO {jas} {"Journal of the Atmospheric Sciences"} +MACRO {jmts} {"Journal of the Marine Technology Society"} +MACRO {jmsj} {"Journal of Meteorological Society of Japan"} +MACRO {josj} {"Journal of the Oceanographical Society of Japan"} +MACRO {jwm} {"Journal of Weather Modification"} +MACRO {lao} {"Limnology and Oceanography"} +MACRO {mwl} {"Mariners Weather Log"} +MACRO {mau} {"Mausam"} +MACRO {meteor} {"``Meteor'' Forschungsergebnisse"} +MACRO {map} {"Meteorology and Atmospheric Physics"} +MACRO {metmag} {"Meteorological Magazine"} +MACRO {metmon} {"Meteorological Monographs"} +MACRO {metrun} {"Meteorologische Rundschau"} +MACRO {metzeit} {"Meteorologische Zeitschrift"} +MACRO {metgid} {"Meteorologiya i Gidrologiya"} +MACRO {mwr} {"Monthly Weather Review"} +MACRO {nwd} {"National Weather Digest"} +MACRO {nzjmfr} {"New Zealand Journal of Marine and Freshwater Research"} +MACRO {npg} {"Nonlinear Processes in Geophysics"} +MACRO {om} {"Oceanography and Meteorology"} +MACRO {ocac} {"Oceanologica Acta"} +MACRO {oceanus} {"Oceanus"} +MACRO {paleoc} {"Paleoceanography"} +MACRO {pce} {"Physics and Chemistry of the Earth"} +MACRO {pmg} {"Papers in Meteorology and Geophysics"} +MACRO {ppom} {"Papers in Physical Oceanography and Meteorology"} +MACRO {physzeit} {"Physikalische Zeitschrift"} +MACRO {pps} {"Planetary and Space Science"} +MACRO {pss} {"Planetary and Space Science"} +MACRO {pag} {"Pure and Applied Geophysics"} +MACRO {qjrms} {"Quarterly Journal of the Royal Meteorological Society"} +MACRO {quatres} {"Quaternary Research"} +MACRO {rsci} {"Radio Science"} +MACRO {rse} {"Remote Sensing of the Environment"} +MACRO {rgeo} {"Reviews of Geophysics"} +MACRO {rgsp} {"Reviews of Geophysics and Space Physics"} +MACRO {rdgeo} {"Revista de Geofisica"} +MACRO {revmeta} {"Revista Meteorologica"} +MACRO {sgp}{"Surveys in Geophysics"} +MACRO {sp} {"Solar Phys."} +MACRO {ssr} {"Space Science Review"} +MACRO {tellus} {"Tellus"} +MACRO {tac} {"Theoretical and Applied Climatology"} +MACRO {tagu} {"Transactions, American Geophysical Union (EOS)"} +MACRO {wrr} {"Water Resources Research"} +MACRO {weather} {"Weather"} +MACRO {wafc} {"Weather and Forecasting"} +MACRO {ww} {"Weatherwise"} +MACRO {wmob} {"World Meteorological Organization Bulletin"} +MACRO {zeitmet} {"Zeitschrift f\^^b{u}r Meteorologie"} +%</!jabr> +%</!options> + % End module: geojour.mbs +% \end{macrocode} +% \Finale diff --git a/Master/texmf-dist/tex/latex/custom-bib/geophys.tex b/Master/texmf-dist/tex/latex/custom-bib/geophys.tex new file mode 100644 index 00000000000..f74e560cbe2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/custom-bib/geophys.tex @@ -0,0 +1,334 @@ +%% +%% This is file `geophys.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% shorthnd.ins (with options: `head') +%% physjour.mbs +%% geojour.mbs +%% shorthnd.ins (with options: `tail') +%% =============================================== +%% IMPORTANT NOTICE +%% See below for the copyright and distribution conditions. +%% +%% This is a generated file. +%% It may be distributed without the source files listed above. +%% =============================================== +%% Copyright 1998, 1999 Patrick W. Daly +%% +%% 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 any later version. +\documentclass{article} +\usepackage{longtable} + +\def\ACRO{\begingroup\catcode`\M=11\relax\catcode`\"=9\relax\acro} +\def\acro#1#2{\endgroup\ttfamily#1 & \raggedright #2 \tabularnewline} +\def\PF#1[#2]{\\\hline\multicolumn{2}{c}{File: \texttt{#1}, version: #2 + \rule[-.75em]{0pt}{2em}}\\\hline\\[-1ex]} +\setlength{\parindent}{0pt} +\setlength{\parskip}{1ex} + +\pagestyle{myheadings} +\markright{List of Journal Shorthands} +\begin{document} + +\title + {List of the Shorthands for Journal Names in Various \texttt{.mbs} Files} + +\author{Patrick W. Daly} + +\date{This is part of the \texttt{makebst} or \texttt{custom-bib} bundle} + +\maketitle + +\newcommand{\btx}{\textsc{Bib}\TeX} + +The shorthands here may be used in \btx\ database (\texttt{.bib}) files in +place of the full journal name. For example, instead of +\begin{verbatim} +journal = "Phys. Rev.", +\end{verbatim} +it is sufficient to give +\begin{verbatim} +journal = pr, +\end{verbatim} +The advantage of this is not only the convenience of typing a shorter form, +but also the automatic switching between the abbreviated (here ``Phys.\ +Rev.'')\ and full forms (``Physical Review'') depending on the bibliographic +style file. Thus the one database entry is reformatted automatically. + +There is a set of standard shorthands for computing science included in the +original \texttt{plain.bst}, \texttt{abbrv.bst}, \texttt{unsrt.bst}, and +\texttt{alpha.bst} files. These are built into \texttt{merlin.mbs} and are +always present in every \texttt{.bst} file generated from it. + +Whether or not the shorthand is present in your \texttt{.bst} file depends on +the inclusion of the proper \texttt{.mbs} source file during its creation with +the \texttt{makebst} program. Check the heading to the \texttt{.bst} file +to find out what source files went into its generation. + +You may make up your own list of journal names, abbreviated and full, by using +one of the existing \texttt{.mbs} files as a model. Include its name in +\texttt{shorthnd.ins} to obtain a listing of its shorthands too. + +\newpage + +\begingroup +\centering +\def\PC#1{\ifx#1\ProvidesFile \let\next=#1\else\let\next=\skipline\fi\next} +\def\skipline{\begingroup\catcode`\^^M=12 \SKPLNE} +{\catcode`\^^M=12 \endlinechar=-1 \gdef\SKPLNE#1^^M{\endgroup}} +\let\ProvidesFile=\PF +\catcode`\%=\active +\let%=\PC +\catcode`\M=0 +\begin{longtable}{lp{6cm}} + \PF{merlin.mbs}[(all)] +MACRO {acmcs} {"ACM Computing Surveys"} +MACRO {acta} {"Acta Informatica"} +MACRO {cacm} {"Communications of the ACM"} +MACRO {ibmjrd} {"IBM Journal of Research and Development"} +MACRO {ibmsj} {"IBM Systems Journal"} +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} +MACRO {ieeetc} {"IEEE Transactions on Computers"} +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} +MACRO {ipl} {"Information Processing Letters"} +MACRO {jacm} {"Journal of the ACM"} +MACRO {jcss} {"Journal of Computer and System Sciences"} +MACRO {scp} {"Science of Computer Programming"} +MACRO {sicomp} {"SIAM Journal on Computing"} +MACRO {tocs} {"ACM Transactions on Computer Systems"} +MACRO {tods} {"ACM Transactions on Database Systems"} +MACRO {tog} {"ACM Transactions on Graphics"} +MACRO {toms} {"ACM Transactions on Mathematical Software"} +MACRO {toois} {"ACM Transactions on Office Information Systems"} +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} +MACRO {tcs} {"Theoretical Computer Science"} + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{physjour.mbs}[2002/01/14 2.2 (PWD)] +MACRO {aa}{"Astronomy and Astrophysics"} +MACRO {aasup}{"Astronomy and Astrophysics, Supplement Series"} +MACRO {aj}{"Astronomical Journal"} +MACRO {aph} {"Acta Physica"} +MACRO {advp} {"Advances in Physics"} +MACRO {ajp} {"American Journal of Physics"} +MACRO {ajm} {"American Journal of Mathematics"} +MACRO {amsci} {"American Scientist"} +MACRO {anofd} {"Annals of Fluid Dynamics"} +MACRO {am} {"Annals of Mathematics"} +MACRO {ap} {"Annals of Physics"} +MACRO {adp} {"Annalen der Physik"} +MACRO {ao} {"Applied Optics"} +MACRO {apl} {"Applied Physics Letters"} +MACRO {app} {"Astroparticle Physics"} +MACRO {apj} {"Astrophysical Journal"} +MACRO {apjsup} {"Astrophysical Journal Supplement"} +MACRO {apss} {"Astrophysics and Space Science"} +MACRO {araa} {"Annual Review of Astronomy and Astrophysics"} +MACRO {baas} {"Bulletin of the American Astronomical Society"} +MACRO {baps} {"Bulletin of the American Physical Society"} +MACRO {cmp} {"Communications in Mathematical Physics"} +MACRO {cpam} {"Communications on Pure and Applied Mathematics"} +MACRO {cppcf} {"Comments on Plasma Physics and Controlled Fusion"} +MACRO {cpc} {"Computer Physics Communications"} +MACRO {cqg} {"Classical and Quantum Gravity"} +MACRO {cra} {"Comptes Rendus des S{\'e}ances de l'Acad{\'e}mie des Sciences A"} +MACRO {fed} {"Fusion Engineering and Design"} +MACRO {ft} {"Fusion Technology"} +MACRO {grg} {"General Relativity and Gravitation"} +MACRO {ieeens} {"IEEE Transactions on Nuclear Science"} +MACRO {ieeeps} {"IEEE Transactions on Plasma Science"} +MACRO {ijimw} {"International Journal of Infrared and Millimeter Waves"} +MACRO {ip} {"Infrared Physics"} +MACRO {irp} {"Infrared Physics"} +MACRO {jap} {"Journal of Applied Physics"} +MACRO {jasa} {"Journal of the Acoustical Society of America"} +MACRO {jcp} {"Journal of Computational Physics"} +MACRO {jetp} {"Soviet Physics--JETP"} +MACRO {jfe} {"Journal of Fusion Energy"} +MACRO {jfm} {"Journal of Fluid Mechanics"} +MACRO {jmp} {"Journal of Mathematical Physics"} +MACRO {jne} {"Journal of Nuclear Energy"} +MACRO {jnec} {"Journal of Nuclear Energy, Part C: Plasma Physics, Accelerators, Thermonuclear Research"} +MACRO {jnm} {"Journal of Nuclear Materials"} +MACRO {jpc} {"Journal of Physical Chemistry"} +MACRO {jpp} {"Journal of Plasma Physics"} +MACRO {jpsj} {"Journal of the Physical Society of Japan"} +MACRO {jsi} {"Journal of Scientific Instruments"} +MACRO {jvst} {"Journal of Vacuum Science and Technology"} +MACRO {nat} {"Nature"} +MACRO {nature} {"Nature"} +MACRO {nedf} {"Nuclear Engineering and Design/Fusion"} +MACRO {nf} {"Nuclear Fusion"} +MACRO {nim} {"Nuclear Instruments and Methods"} +MACRO {nimpr} {"Nuclear Instruments and Methods in Physics Research"} +MACRO {np} {"Nuclear Physics"} +MACRO {npb} {"Nuclear Physics B"} +MACRO {nt/f} {"Nuclear Technology/Fusion"} +MACRO {npbpc} {"Nuclear Physics B (Proceedings Supplements)"} +MACRO {inc} {"Il Nuovo Cimento"} +MACRO {nc} {"Nuovo Cimento"} +MACRO {pf} {"Physics of Fluids"} +MACRO {pfa} {"Physics of Fluids A: Fluid Dynamics"} +MACRO {pfb} {"Physics of Fluids B: Plasma Physics"} +MACRO {pl} {"Physics Letters"} +MACRO {pla} {"Physics Letters A"} +MACRO {plb} {"Physics Letters B"} +MACRO {prep} {"Physics Reports"} +MACRO {pnas} {"Proceedings of the National Academy of Sciences of the USA"} +MACRO {pp} {"Physics of Plasmas"} +MACRO {ppcf} {"Plasma Physics and Controlled Fusion"} +MACRO {phitrsl} {"Philosophical Transactions of the Royal Society of London"} +MACRO {prl} {"Physical Review Letters"} +MACRO {pr} {"Physical Review"} +MACRO {physrev} {"Physical Review"} +MACRO {pra} {"Physical Review A"} +MACRO {prb} {"Physical Review B"} +MACRO {prc} {"Physical Review C"} +MACRO {prd} {"Physical Review D"} +MACRO {pre} {"Physical Review E"} +MACRO {ps} {"Physica Scripta"} +MACRO {procrsl} {"Proceedings of the Royal Society of London"} +MACRO {rmp} {"Reviews of Modern Physics"} +MACRO {rsi} {"Review of Scientific Instruments"} +MACRO {science} {"Science"} +MACRO {sciam} {"Scientific American"} +MACRO {sam} {"Studies in Applied Mathematics"} +MACRO {sjpp} {"Soviet Journal of Plasma Physics"} +MACRO {spd} {"Soviet Physics--Doklady"} +MACRO {sptp} {"Soviet Physics--Technical Physics"} +MACRO {spu} {"Soviet Physics--Uspeki"} +MACRO {st} {"Sky and Telescope"} + % End module: physjour.mbs + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{geojour.mbs}[2002/07/10 2.0h (PWD)] +MACRO {aisr} {"Advances in Space Research"} +MACRO {ag} {"Annales Geophysic\ae"} +MACRO {anigeo} {"Annali di Geofisica"} +MACRO {angl} {"Annals of Glaciology"} +MACRO {andmet} {"Annalen der Meteorologie"} +MACRO {andgeo} {"Annales de Geophysique"} +MACRO {andphy} {"Annales de Physique"} +MACRO {afmgb} {"Archiv f\^^b{u}r Meteorologie, Geophysik und Bioklimatologie"} +MACRO {ass}{"Astrophysics and Space Science"} +MACRO {atph} {"Atm\'osphera"} +MACRO {aao} {"Atmosphere-Ocean"} +MACRO {atenv} {"Atmospheric Environment"} +MACRO {aujag} {"Australian Journal of Agricultural Research"} +MACRO {aumet} {"Australian Meteorological Magazine"} +MACRO {blmet} {"Boundary-Layer Meteorology"} +MACRO {bams} {"Bulletin of the American Meteorological Society"} +MACRO {cch} {"Climatic Change"} +MACRO {cdyn} {"Climate Dynamics"} +MACRO {cbul} {"Climatological Bulletin"} +MACRO {cap} {"Contributions to Atmospheric Physics"} +MACRO {dsr} {"Deep-Sea Research"} +MACRO {dhz} {"Deutsche Hydrographische Zeitschrift"} +MACRO {dao} {"Dynamics of Atmospheres and Oceans"} +MACRO {eco} {"Ecology"} +MACRO {empl}{"Earth, Moon and Planets"} +MACRO {envres} {"Environmental Research"} +MACRO {envst} {"Environmental Science and Technology"} +MACRO {ecms} {"Estuarine and Coastal Marine Science"} +MACRO {expa}{"Experimental Astronomy"} +MACRO {geoint} {"Geofisica Internationale"} +MACRO {geopub} {"Geofysiske Publikasjoner"} +MACRO {geogeo} {"Geologiya i Geofizika"} +MACRO {gafd} {"Geophysical and Astrophysical Fluid Dynamics"} +MACRO {gfd} {"Geophysical Fluid Dynamics"} +MACRO {geomag} {"Geophysical Magazine"} +MACRO {georl} {"Geophysical Research Letters"} +MACRO {grl} {"Geophysical Research Letters"} +MACRO {ga} {"Geophysica"} +MACRO {gs} {"Geophysics"} +MACRO {ieeetap} {"IEEE Transactions on Antennas and Propagation"} +MACRO {ijawp} {"International Journal of Air and Water Pollution"} +MACRO {ijc} {"International Journal of Climatology"} +MACRO {ijrs} {"International Journal of Remote Sensing"} +MACRO {jam} {"Journal of Applied Meteorology"} +MACRO {jaot} {"Journal of Atmospheric and Oceanic Technology"} +MACRO {jatp} {"Journal of Atmospheric and Terrestrial Physics"} +MACRO {jastp} {"Journal of Atmospheric and Solar-Terrestrial Physics"} +MACRO {jce} {"Journal of Climate"} +MACRO {jcam} {"Journal of Climate and Applied Meteorology"} +MACRO {jcm} {"Journal of Climate Meteorology"} +MACRO {jcy} {"journal of Climatology"} +MACRO {jgr} {"Journal of Geophysical Research"} +MACRO {jga} {"Journal of Glaciology"} +MACRO {jh} {"Journal of Hydrology"} +MACRO {jmr} {"Journal of Marine Research"} +MACRO {jmrj} {"Journal of Meteorological Research, Japan"} +MACRO {jm} {"Journal of Meteorology"} +MACRO {jpo} {"Journal of Physical Oceanography"} +MACRO {jra} {"Journal de Recherches Atmospheriques"} +MACRO {jaes} {"Journal of the Aeronautical Sciences"} +MACRO {japca} {"Journal of the Air Pollution Control Association"} +MACRO {jas} {"Journal of the Atmospheric Sciences"} +MACRO {jmts} {"Journal of the Marine Technology Society"} +MACRO {jmsj} {"Journal of Meteorological Society of Japan"} +MACRO {josj} {"Journal of the Oceanographical Society of Japan"} +MACRO {jwm} {"Journal of Weather Modification"} +MACRO {lao} {"Limnology and Oceanography"} +MACRO {mwl} {"Mariners Weather Log"} +MACRO {mau} {"Mausam"} +MACRO {meteor} {"``Meteor'' Forschungsergebnisse"} +MACRO {map} {"Meteorology and Atmospheric Physics"} +MACRO {metmag} {"Meteorological Magazine"} +MACRO {metmon} {"Meteorological Monographs"} +MACRO {metrun} {"Meteorologische Rundschau"} +MACRO {metzeit} {"Meteorologische Zeitschrift"} +MACRO {metgid} {"Meteorologiya i Gidrologiya"} +MACRO {mwr} {"Monthly Weather Review"} +MACRO {nwd} {"National Weather Digest"} +MACRO {nzjmfr} {"New Zealand Journal of Marine and Freshwater Research"} +MACRO {npg} {"Nonlinear Processes in Geophysics"} +MACRO {om} {"Oceanography and Meteorology"} +MACRO {ocac} {"Oceanologica Acta"} +MACRO {oceanus} {"Oceanus"} +MACRO {paleoc} {"Paleoceanography"} +MACRO {pce} {"Physics and Chemistry of the Earth"} +MACRO {pmg} {"Papers in Meteorology and Geophysics"} +MACRO {ppom} {"Papers in Physical Oceanography and Meteorology"} +MACRO {physzeit} {"Physikalische Zeitschrift"} +MACRO {pps} {"Planetary and Space Science"} +MACRO {pss} {"Planetary and Space Science"} +MACRO {pag} {"Pure and Applied Geophysics"} +MACRO {qjrms} {"Quarterly Journal of the Royal Meteorological Society"} +MACRO {quatres} {"Quaternary Research"} +MACRO {rsci} {"Radio Science"} +MACRO {rse} {"Remote Sensing of the Environment"} +MACRO {rgeo} {"Reviews of Geophysics"} +MACRO {rgsp} {"Reviews of Geophysics and Space Physics"} +MACRO {rdgeo} {"Revista de Geofisica"} +MACRO {revmeta} {"Revista Meteorologica"} +MACRO {sgp}{"Surveys in Geophysics"} +MACRO {sp} {"Solar Phys."} +MACRO {ssr} {"Space Science Review"} +MACRO {tellus} {"Tellus"} +MACRO {tac} {"Theoretical and Applied Climatology"} +MACRO {tagu} {"Transactions, American Geophysical Union (EOS)"} +MACRO {wrr} {"Water Resources Research"} +MACRO {weather} {"Weather"} +MACRO {wafc} {"Weather and Forecasting"} +MACRO {ww} {"Weatherwise"} +MACRO {wmob} {"World Meteorological Organization Bulletin"} +MACRO {zeitmet} {"Zeitschrift f\^^b{u}r Meteorologie"} + % End module: geojour.mbs +%% Copyright 1998, 1999 Patrick W. Daly +%% +%% 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 any later version. +\end{longtable} +\endgroup +\end{document} +\endinput +%% +%% End of file `geophys.tex'. diff --git a/Master/texmf-dist/tex/latex/custom-bib/german.mbs b/Master/texmf-dist/tex/latex/custom-bib/german.mbs new file mode 100644 index 00000000000..63ae1006cc3 --- /dev/null +++ b/Master/texmf-dist/tex/latex/custom-bib/german.mbs @@ -0,0 +1,335 @@ +%\iffalse THIS IS A META COMMENT +% File: german.mbs +% Copyright 1995-1999 Patrick W Daly +% Max-Planck-Institut f\"ur Aeronomie +% Max-Planck-Str. 2 +% D-37191 Katlenburg-Lindau +% Germany +% E-mail: daly@linmpi.mpg.de +% +% 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 any later version. +% +% It is part of the custom-bib collection, +% a contribution to the LaTeX2e system. +%==================================================================== +% A Language Definition File: GERMAN +% to be included with other master bibliography style files +%-------------------------------------------------------------------- +% (See version and date in the \ProvidesFile command below) +%-------------------------------------------------------------------- +% This file is self-documenting: simply LaTeX it! +%==================================================================== +% +%\fi + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{german.mbs}[2003/11/06 4.2 (PWD)] +%\iffalse +%<*a&!a> +% The following ensures that the driver part is not seen by makebst +% The driver part must not contain any \end other than \end{document} ! +\ifx\endoptions\undefined\let\tempx=\relax\else + \long\def\tempx#1\end#2{}\fi\tempx +%</a&!a> +%<*driver> + \NeedsTeXFormat{LaTeX2e}% + \documentclass[a4paper,10pt,twoside]{article}% + \usepackage{doc}% + \raggedbottom + \CodelineNumbered + \RecordChanges + % Comment out next line to print coding + \OnlyDescription + \setlength{\oddsidemargin}{0.5\paperwidth} + \addtolength{\oddsidemargin}{-0.5\textwidth} + \addtolength{\oddsidemargin}{-1in} + \setlength{\evensidemargin}{\oddsidemargin} + +\begin{document} + \DocInput{german.mbs} +\end{document} +%</driver> +% END OF META COMMENT \fi +% \CharacterTable +% {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 +% 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 +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \setcounter{StandardModuleDepth}{1} +% \setcounter{IndexColumns}{2} +% \setlength{\IndexMin}{10cm} +% +% \changes{1.0}{1995 Mar 15}{Initial version} +% \changes{1.1}{1995 May 4}{Do no abbreviate `edited by'} +% \changes{1.2}{1995 Jun 7}{Revisions suggested by Sven Hartrumpf} +% \changes{1.3}{1995 Aug 2}{Revisions suggested by Gerd Neugebauer, +% dissertation option, `Techn. Ber.'} +% \changes{1.3}{1995 Aug 2}{Techn. Ber. in braces to preserve case} +% \changes{1.3a}{1995 Aug 3}{Herausgeber abbreviated as Hg, sing and plural} +% \changes{1.4}{1995 Oct 25}{Remove \texttt{umlaut} option and \cs{qq}, +% replace with Raichle's trick} +% \changes{1.5}{1995 Nov 2}{Some bugs removed} +% \changes{1.6}{1998 Aug 17}{Add \texttt{bbl.etal}} +% \changes{1.7}{1999 Feb 1}{Add option \texttt{xedn}} +% \changes{1.7}{1999 Feb 24}{Update copyright notice} +% \changes{4.0}{1999 Oct 11}{For merlin 4.0} +% \changes{4.0a}{2002 Oct 18}{Fix bug in page number suppression} +% \changes{4.2}{2003 Nov 6}{Fix comma separator, consistent with \texttt{makebst} 4.1} +% +% \pagestyle{myheadings} +% \markboth{P. W. Daly}{German Bibliographies} +% +% \title{{\bfseries German Language Definition File}\\ +% for master bibliographic style files} +% +% \author{Patrick W. Daly} +% +% \GetFileInfo{german.mbs} +% \date{This paper describes file \texttt{\filename},\\ +% version \fileversion{} from \filedate} +% +% \maketitle +% +% \MakeShortVerb{\|} +% +% \parskip=1ex \parindent=0pt +% +% \newcommand{\btx}{{\sc Bib}\TeX} +% \newcommand{\dtx}{\textsf{docstrip}} +% +% \section{Introduction} +% This file is to be used as a language definition file with master +% bibliographic files. The language it defines is +% \begin{quote}\bfseries German\end{quote} +% +% This is not a self-sufficient \texttt{.mbs} file, but rather may +% be used together with one that contains language support via +% external definition files. +% +% See the documentation for \texttt{makebst} for formatting details. +% +% Some improvements to the translations have been contributed by +% Sven Hartrumpf of the Universit\"at Koblenz-Landau. +% +% Bernd Raichle points out that |\^^b| can be used in place of |\"| +% within \btx{} code. One can thus replace |M\qq{a}rz| with |M\^^b arz| +% and do away with the \texttt{umlaut} option. +% +% Some bugs have been removed on the advice of Gerd Neugebauer, Universit\"at +% Koblenz. +% +% \section{The Menu Information} +% +% All the menu information is nested between \dtx{} guard options +% |%<*options>| \dots\ |%</options>|, and the last command is +% |\endoptions|. The rest of the file is nested between |%<*!options&!driver>| +% \dots\ |%</!options&!driver>| in order to exclude it if \dtx{} is used to +% extract only the menu information or the documentation driver. +% +% \begin{macrocode} +%<*options> +\mes{^^JOptions for GERMAN} +\wr{\spsp\spsp german,\pc: German language} + + +\beginoptiongroup{ABBREVIATE WORD `SEITEN':}{} +\optdef{*}{}{`Seite(n)'}{(no abbreviation)} +\optdef{a}{pp}{`Seite' abbreviated}{as S.} +\optdef{x}{ppx}{`Seite' omitted}{} +\getans +\endoptiongroup +\beginoptiongroup{ABBREVIATE WORD `HERAUSGEBER':}{} +\optdef{*}{}{`Herausgeber'}{(no abbreviation)} +\optdef{a}{ed}{`Herausgeber' abbreviated}{as Hg.} +\getans +\endoptiongroup +\beginoptiongroup{OTHER ABBREVIATIONS:}{} +\optdef{*}{}{No abbreviations}{of Band, Auflage, Kapitel} +\optdef{a}{abr}{Abbreviations}{of such words} +\getans +\endoptiongroup +\beginoptiongroup{EDITION NUMBERS:}{} +\optdef{*}{xedn}{Editions as in database}{saving much processing memory} +\optdef{w}{}{Write out editions}{as erste, zweite, dritte, etc} +\optdef{n}{ord}{Numerical editions}{as 1., 2., 3., etc} +\getans +\endoptiongroup +\beginoptiongroup{ALTERNATIVE FOR PHD THESIS:}{} +\optdef{*}{ger-phd}{PhD as `Doktorarbeit}{} +\optdef{d}{}{PhD as `Dissertation'}{} +\getans +\endoptiongroup +\endoptions +%</options> +% \end{macrocode} +% +% \StopEventually{\PrintChanges} +% +% \section{The Coding} +% \begin{macrocode} +%<*!options&!driver> + + % The language selected here is GERMAN +FUNCTION {bbl.and} +{ "und"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +%<!ed>{ "Herausgeber" } +%<ed>{ "Hg." } + +FUNCTION {bbl.editor} +%<!ed>{ "Herausgeber" } +%<ed>{ "Hg." } + +FUNCTION {bbl.edby} +{ "herausgegeben von" } + +FUNCTION {bbl.edition} +%<!abr>{ "Auf\/lage" } +%<abr>{ "Aufl." } + +FUNCTION {bbl.volume} +%<!abr>{ "Band" } +%<abr>{ "Bd." } + +FUNCTION {bbl.of} +{ "von" } + +FUNCTION {bbl.number} +%<!abr>{ "Nummer" } +%<abr>{ "Nr." } + +FUNCTION {bbl.nr} +{ "Nr." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +%<!pp&!ppx>{ "Seiten" } +%<pp>{ "S." } +%<!pp&ppx>{ "" } + +FUNCTION {bbl.page} +%<!pp&!ppx>{ "Seite" } +%<pp>{ "S." } +%<!pp&ppx>{ "" } + +%<*revdata> +FUNCTION {bbl.eidpp} +{ "Seiten" } + +%</revdata> +FUNCTION {bbl.chapter} +%<!abr>{ "Kapitel" } +%<abr>{ "Kap." } + +FUNCTION {bbl.techrep} +%<!abr>{ "{Technischer Bericht}" } +%<abr>{ "{Techn.\ Ber.}" } + +FUNCTION {bbl.mthesis} +{ "Diplomarbeit" } + +FUNCTION {bbl.phdthesis} +%<ger-phd>{ "Doktorarbeit" } +%<!ger-phd>{ "Dissertation" } + +%<*!xedn> +FUNCTION {bbl.first} +%<!ord>{ "Erste" } +%<ord>{ "1." } + +FUNCTION {bbl.second} +%<!ord>{ "Zweite" } +%<ord>{ "2." } + +FUNCTION {bbl.third} +%<!ord>{ "Dritte" } +%<ord>{ "3." } + +FUNCTION {bbl.fourth} +%<!ord>{ "Vierte" } +%<ord>{ "4." } + +FUNCTION {bbl.fifth} +%<!ord>{ "F\^^b{u}nfte" } +%<ord>{ "5." } + +FUNCTION {bbl.th} +{ "." } + +%</!xedn> +%<*!abr> +MACRO {jan} {"Januar"} + +MACRO {feb} {"Februar"} + +MACRO {mar} {"M\^^b{a}rz"} + +MACRO {apr} {"April"} + +MACRO {may} {"Mai"} + +MACRO {jun} {"Juni"} + +MACRO {jul} {"Juli"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"Oktober"} + +MACRO {nov} {"November"} + +MACRO {dec} {"Dezember"} + +%</!abr> +%<*abr> +MACRO {jan} {"Jan."} + +MACRO {feb} {"Febr."} + +MACRO {mar} {"M\^^b{a}rz"} + +MACRO {apr} {"Apr."} + +MACRO {may} {"Mai"} + +MACRO {jun} {"Juni"} + +MACRO {jul} {"Juli"} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sept."} + +MACRO {oct} {"Okt."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dez."} + +%</abr> +%</!options&!driver> + % End module: german.mbs +% \end{macrocode} +% \Finale diff --git a/Master/texmf-dist/tex/latex/custom-bib/italian.mbs b/Master/texmf-dist/tex/latex/custom-bib/italian.mbs new file mode 100644 index 00000000000..5f6b012cb6f --- /dev/null +++ b/Master/texmf-dist/tex/latex/custom-bib/italian.mbs @@ -0,0 +1,308 @@ +%\iffalse THIS IS A META COMMENT +% File: italian.mbs +% Copyright 1995-1999 Patrick W Daly +% Max-Planck-Institut f\"ur Aeronomie +% Max-Planck-Str. 2 +% D-37191 Katlenburg-Lindau +% Germany +% E-mail: daly@linmpi.mpg.de +% +% 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 any later version. +% +% It is part of the custom-bib collection, +% a contribution to the LaTeX2e system. +%==================================================================== +% A Language Definition File: ITALIAN +% to be included with other master bibliography style files +%-------------------------------------------------------------------- +% (See version and date in the \ProvidesFile command below) +%-------------------------------------------------------------------- +% This file is self-documenting: simply LaTeX it! +%==================================================================== +% + %------------------------------------------------------------------- + % Begin module: +%\fi + % \ProvidesFile{italian.mbs}[2003/11/06 4.2 (PWD/GP)] +%\iffalse +%<*a&!a> +% The following ensures that the driver part is not seen by makebst +% The driver part must not contain any \end other than \end{document} ! +\ifx\endoptions\undefined\let\tempx=\relax\else + \long\def\tempx#1\end#2{}\fi\tempx +%</a&!a> +%<*driver> + \NeedsTeXFormat{LaTeX2e}% + \documentclass[a4paper,10pt,twoside]{article}% + \usepackage{doc}% + \raggedbottom + \CodelineNumbered + \RecordChanges + % Comment out next line to print coding + \OnlyDescription + \setlength{\oddsidemargin}{0.5\paperwidth} + \addtolength{\oddsidemargin}{-0.5\textwidth} + \addtolength{\oddsidemargin}{-1in} + \setlength{\evensidemargin}{\oddsidemargin} + +\begin{document} + \DocInput{italian.mbs} +\end{document} +%</driver> +% END OF META COMMENT \fi +% \CharacterTable +% {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 +% 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 +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \setcounter{StandardModuleDepth}{1} +% \setcounter{IndexColumns}{2} +% \setlength{\IndexMin}{10cm} +% +% \changes{1.1}{1998 Aug 17}{Add \texttt{bbl.etal}} +% \changes{1.2}{1999 Feb 1}{Add option \texttt{xedn}} +% \changes{1.2}{1999 Feb 24}{Update copyright notice} +% \changes{4.0}{1999 Oct 11}{For merlin 4.0} +% \changes{4.0a}{2002 Oct 18}{Fix bug in page number suppression} +% \changes{4.2}{2003 Nov 6}{Fix comma separator, consistent with \texttt{makebst} 4.1} +% +% \pagestyle{myheadings} +% \markboth{Giovanni Pensa}{Italian Bibliographies} +% +% \title{{\bfseries Italian Language Definition File}\\ +% for master bibliographic style files} +% +% \author{Patrick W. Daly \and Giovanni Pensa} +% +% \GetFileInfo{italian.mbs} +% \date{This paper describes file \texttt{\filename},\\ +% version \fileversion{} from \filedate} +% +% \maketitle +% +% \MakeShortVerb{\|} +% +% \parskip=1ex \parindent=0pt +% +% \newcommand{\btx}{{\sc Bib}\TeX} +% \newcommand{\dtx}{\textsf{docstrip}} +% +% \section{Introduction} +% This file is to be used as a language definition file with master +% bibliographic files. The language it defines is +% \begin{quote}\bfseries Italian\end{quote} +% +% This is not a self-sufficient \texttt{.mbs} file, but rather may +% be used together with one that contains language support via +% external definition files. +% +% See the documentation for \texttt{makebst} for formatting details. +% +% \section{The Menu Information} +% +% All the menu information is nested between \dtx{} guard options +% |%<*options>| \dots\ |%</options>|, and the last command is +% |\endoptions|. The rest of the file is nested between |%<*!options&!driver>| +% \dots\ |%</!options&!driver>| in order to exclude it if \dtx{} is used to +% extract only the menu information or the documentation driver. +% +% \begin{macrocode} +%<*options> +\mes{^^JOptions for ITALIAN} +\wr{\spsp\spsp italian,\pc: Italian language} + +\beginoptiongroup{ABBREVIATE WORD `PAGINE':}{} +\optdef{*}{}{`Pagina/e'}{(no abbreviation)} +\optdef{a}{pp}{`Pagina' abbreviated}{as pag.} +\optdef{x}{ppx}{`Pagina' omitted}{} +\getans +\endoptiongroup +\beginoptiongroup{ABBREVIATE WORD `CURATORI':}{} +\optdef{*}{}{`Curatore/i'}{(no abbreviation)} +\optdef{a}{ed}{`Curatore' abbreviated}{as cur.} +\getans +\endoptiongroup +\beginoptiongroup{OTHER ABBREVIATIONS:}{} +\optdef{*}{}{No abbreviations}{of volume, edizione, capitolo, etc} +\optdef{a}{abr}{Abbreviations}{of such words} +\getans +\endoptiongroup +\beginoptiongroup{EDITION NUMBERS:}{} +\optdef{*}{xedn}{Editions as in database}{saving much processing memory} +\optdef{w}{}{Write out editions}{as prima, seconda, terza, etc} +\optdef{n}{ord}{Numerical editions}{as 1a, 2a, 3a, etc} +\getans +\endoptiongroup +\endoptions +%</options> +% \end{macrocode} +% +% \StopEventually{\PrintChanges} +% +% \section{The Coding} +% \begin{macrocode} +%<*!options&!driver> + + % The language selected here is ITALIAN +FUNCTION {bbl.and} +{ "e" } + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +%<!ed>{ "curatori" } +%<ed>{ "cur." } + +FUNCTION {bbl.editor} +%<!ed>{ "curatore" } +%<ed>{ "cur." } + +FUNCTION {bbl.edby} +{ "curato da" } + +FUNCTION {bbl.edition} +%<!abr>{ "edizione" } +%<abr>{ "ed." } + +FUNCTION {bbl.volume} +%<!abr>{ "volume" } +%<abr>{ "vol." } + +FUNCTION {bbl.of} +{ "di" } + +FUNCTION {bbl.number} +%<!abr>{ "numero" } +%<abr>{ "no." } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +%<!pp&!ppx>{ "pagine" } +%<pp>{ "pp." } +%<!pp&ppx>{ "" } + +FUNCTION {bbl.page} +%<!pp&!ppx>{ "pagina" } +%<pp>{ "p." } +%<!pp&ppx>{ "" } + +%<*revdata> +FUNCTION {bbl.eidpp} +{ "pagine" } + +%</revdata> +FUNCTION {bbl.chapter} +%<!abr>{ "capitolo" } +%<abr>{ "cap." } + +FUNCTION {bbl.techrep} +%<!abr>{ "Rapporto Tecnico" } +%<abr>{ "Rap. Tecn." } + +FUNCTION {bbl.mthesis} +{ "Tesi di laurea" } + +FUNCTION {bbl.phdthesis} +{ "Tesi di dottorato" } + +%<*!xedn> +FUNCTION {bbl.first} +%<!ord>{ "Prima" } +%<ord>{ "1a" } + +FUNCTION {bbl.second} +%<!ord>{ "Seconda" } +%<ord>{ "2a" } + +FUNCTION {bbl.third} +%<!ord>{ "Terza" } +%<ord>{ "3a" } + +FUNCTION {bbl.fourth} +%<!ord>{ "Quarta" } +%<ord>{ "4a" } + +FUNCTION {bbl.fifth} +%<!ord>{ "Quinta" } +%<ord>{ "5a" } + +FUNCTION {bbl.th} +{ "a" } + +%</!xedn> +%<*!abr> +MACRO {jan} {"gennaio"} + +MACRO {feb} {"febbraio"} + +MACRO {mar} {"marzo"} + +MACRO {apr} {"aprile"} + +MACRO {may} {"maggio"} + +MACRO {jun} {"giugno"} + +MACRO {jul} {"luglio"} + +MACRO {aug} {"agosto"} + +MACRO {sep} {"settembre"} + +MACRO {oct} {"ottobre"} + +MACRO {nov} {"novembre"} + +MACRO {dec} {"dicembre"} + +%</!abr> +%<*abr> +MACRO {jan} {"gen."} + +MACRO {feb} {"feb."} + +MACRO {mar} {"mar."} + +MACRO {apr} {"apr."} + +MACRO {may} {"mag"} + +MACRO {jun} {"giu."} + +MACRO {jul} {"lug."} + +MACRO {aug} {"ago."} + +MACRO {sep} {"set."} + +MACRO {oct} {"ott."} + +MACRO {nov} {"nov."} + +MACRO {dec} {"dic."} + +%</abr> +%</!options&!driver> + % End module: italian.mbs +% \end{macrocode} +% \Finale diff --git a/Master/texmf-dist/tex/latex/custom-bib/makebst.tex b/Master/texmf-dist/tex/latex/custom-bib/makebst.tex new file mode 100644 index 00000000000..2800c8aa875 --- /dev/null +++ b/Master/texmf-dist/tex/latex/custom-bib/makebst.tex @@ -0,0 +1,310 @@ +%% +%% This is file `makebst.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% makebst.dtx (with options: `program,optlist,') +%% ============================================= +%% IMPORTANT NOTICE: +%% This is a generated file. +%% +%% It is subject to the same copyright conditions (see below) +%% as in the original file: makebst.dtx. +%% It may not be distributed without makebst.dtx. +%% +%% Full documentation can be obtained by LaTeXing that original file. +%% Only a few abbreviated comments remain here to describe the usage. +%% ============================================= +%% Copyright 1993-2003 Patrick W Daly +%% Max-Planck-Institut f\"ur Aeronomie +%% Max-Planck-Str. 2 +%% D-37191 Katlenburg-Lindau +%% Germany +%% E-mail: daly@linmpi.mpg.de +%% +%% With additions by Arthur Ogawa +%% E-mai: ogawa@teleport.com +%% +%% 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 any later version. +%% +%% This is a contributed file to the LaTeX2e system. +%% ------------------------------------------------- +\def\ProvidesFile#1 [#2 #3 #4]{\def\filename{#1}% + \def\fileversion{#3}\def\filedate{#2}} + \ProvidesFile{makebst} + [2003/09/08 4.1 (PWD, AO)] + % This file is to be run under TeX (or even LaTeX) + % It interactively asks questions about the bibliographic style file + % that you want to produce. When it is finished, it writes a docstrip + % driver file that produces that .bst file from the generic .mbs that + % you specified; optionally, it will call the docstrip run immediately. + % For details, read the documentation in the source file makebst.dtx. + %-------------------------------------------------------------------- +\newwrite\outfile +\newread\ttyin +\newread\infile +\newwrite\ttyout +\def\mes{\immediate\write\ttyout} +\def\wr#1{\immediate\write\outfile{#1}} +\def\umes#1{\mes{^^J#1}\wr{\pc#1}}% +\newlinechar=`\^^J +\def\MBswitch{\catcode`\{=12 \catcode`\}=12 + \catcode`\(=1 \catcode`\)=2\relax} +\def\defpar{\par} +\def\remblk#1 @@{#1} +\def\ask#1#2{\mes{#2}\read\ttyin to #1\ifx#1\defpar\def#1{}\else + \edef#1{\expandafter\remblk#1@@}\fi} +\def\groot#1.#2@@{#1} +\def\getroot#1{\expandafter\groot#1.@@} +\def\gext#1.#2.#3@@{#2} +\def\getext#1{\expandafter\gext#1..@@} +\def\MBaskfile#1(#2.#3)#4#5{% +\loop + \def\ans{#2.#3} +\if!#2! + \if!#3!\ask{#5}{#1}\fi + \ask{#5}{#1 (default extension=#3)}\else + \ask{#5}{#1 (default=\ans)} +\fi + \ifx#5\empty \edef#5{\ans}\fi + \edef\froot{\getroot#5} + \edef\fext{\getext#5} + \ifx\fext\empty \def\fext{#3}\fi + \edef#5{\froot.\fext} +\if#4i + \def\temp{Cannot find file `#5'} + \openin\infile#5\relax + \ifeof\infile \def\ans{}\fi \closein\infile +\else + \def\temp{There is no default} + \ifx\froot\empty \def\ans{}\fi +\fi + \ifx\ans\empty \mes{*** \temp} +\repeat} +{\catcode`\%=12 + \gdef\pc{%} + \gdef\pcpc{%% } +} +\def\spsp{\space\space} +\newcount\hours +\newcount\minutes +\def\SetTime{\hours=\time + \global\divide\hours by 60 + \minutes=\hours + \multiply\minutes by 60 + \advance\minutes by-\time + \global\multiply\minutes by-1 } +\SetTime +\def\now{\number\hours:\ifnum\minutes<10 0\fi\number\minutes} +\def\today{\number\year/\ifnum\month<10 0\fi\number\month + /\ifnum\day<10 0\fi\number\day} +\def\Now{\today\space at \now} +\def\optdef#1#2#3#4{% + \expandafter\def\csname opt@#1\endcsname{#2}% + \expandafter\def\csname txt@#1\endcsname{#3}% + \expandafter\def\csname cmt@#1\endcsname{#4}% + \edef\optlist{\optlist#1,}% + \def\OptAns{#1}% + \mes{(#1) #3\space #4}% +} +\def\optlist{} +\def\nxtopt#1,#2@@{#1} \def\rstopt#1,#2@@{#2} +\newif\ifsw +\def\getans{% + \edef\optlist{\optlist\pc,}% + \ask{\ans}{\spsp Select:}% + \expandafter\ifx\csname opt@\ans\endcsname\relax + \def\ans{*}% + \fi + \expandafter\ifx\csname opt@\ans\endcsname\relax + \let\ans\OptAns + \fi + \edef\ansx{\csname opt@\ans\endcsname} + \swtrue \loop + \edef\temp{\expandafter\nxtopt\optlist@@}% + \edef\optlist{\expandafter\rstopt\optlist@@}% + \if\temp\pc\swfalse\else + \if\temp\ans + \wropt\ans + \else + \ifoptlist\wrxopt\temp\fi + \fi + \expandafter\let\csname opt@\temp\endcsname\relax + \fi + \ifsw \repeat + \def\optlist{}% + \ifoptverbose + \wr{\pc------\string\ans=\ans (==\ansx)-------}% + \else + \ifoptlist + \wr{\pc--------------------}% + \fi + \fi +} +\def\wropt#1{% + \edef\tempx{\csname opt@#1\endcsname}% + \if!\tempx! + \wr{\spsp\spsp\pc: (def) + \csname txt@#1\endcsname + \ifoptverbose\space\csname cmt@#1\endcsname\fi + }% + \else + \wr{\spsp\tempx,\pc: + \csname txt@#1\endcsname + \ifoptverbose\space\csname cmt@#1\endcsname\fi + }% + \fi + \mes{\spsp You have selected: \csname txt@#1\endcsname}% +} +\def\wrxopt#1{% + \edef\tempx{\csname opt@#1\endcsname}% + \if!\tempx! + \wr{\pc\space\spsp\pc: (def) + \csname txt@#1\endcsname + \ifoptverbose\space\csname cmt@#1\endcsname\fi + }% + \else + \wr{\pc\space\tempx,\pc: + \csname txt@#1\endcsname + \ifoptverbose\space\csname cmt@#1\endcsname\fi + }% + \fi +} +\def\beginoptiongroup#1{\begingroup\activatestar\OGcontinue{#1}}% +\def\OGcontinue#1#2{% + \endgroup + \begingroup + \let\OGswitch\secondoftwo\def\tempa{#2}% + \ifx\tempa\empty\expandafter\firstoftwo\else\expandafter\secondoftwo\fi + {% + \activestar + }{% + \tempa + }% + \OGswitch{}{% + \let\wropt\wrxopt + \let\ask\nilans + \def\mes##1{}% + }% + \def\OGmessage{#1}% + \umes{\ifoptverbose<<\fi\OGmessage}% +} +\def\endoptiongroup{% + \ifoptverbose\umes{>>\OGmessage}\fi + \aftergroup\let\aftergroup\ans\expandafter + \endgroup + \ans +} +\def\activestar{\let\OGswitch\firstoftwo} +\def\activatestar{\catcode`\*13\relax} +{\activatestar\gdef*{\activestar}} +\def\firstoftwo#1#2{#1} +\def\secondoftwo#1#2{#2} +{\catcode`\$=12\gdef\nilans#1#2{\def\ans{$}}} +\mes{***********************************^^J% + * This is Make Bibliography Style *^^J% + ***********************************^^J% + It makes up a docstrip batch job to produce^^J% + a customized .bst file for running with BibTeX} + +\ask{\yn}{Do you want a description of the usage? (NO)} + +\if!\yn!\else\if\yn n\else\if\yn N\else +\mes{In the interactive dialogue that follows,^^J% + you will be presented with a series of menus.^^J% + In each case, one answer is the default, marked as (*),^^J% + and a mere carriage-return is sufficient to select it.^^J% + (If there is no * choice, then the default is the last choice.)^^J% + For the other choices, a letter is indicated^^J% + in brackets for selecting that option. If you select^^J% + a letter not in the list, default is taken.^^J^^J% + The final output is a file containing a batch job^^J% + which may be (La)TeXed to produce the desired BibTeX^^J% + bibliography style file. The batch job may be edited^^J% + to make minor changes, rather than running this program^^J% + once again.} +\fi\fi\fi +\MBaskfile{^^JEnter the name of the MASTER file}(merlin.mbs)i\mfile +\let\mroot=\froot +\let\mext=\fext +\edef\temp{\mroot.opt} +\openin\infile\temp\relax +\let\mnext=\mext +\ifeof\infile\else + \ask{\yn}{** Warning: a file `\temp' also exists^^J + \spsp Shall I read it for the menu information? (NO)^^J + \spsp (Answer `yes' only if you really know what you are doing)} +\if\yn y\def\mnext{opt}\else\if\yn Y\def\mnext{opt}\fi\fi +\mes{Menu information read from `\mroot.\mnext'} +\fi +\closein\infile +\MBaskfile{^^JName of the final OUTPUT .bst file?}(.bst)o\ofile +\let\oroot=\froot +\let\oext=\fext +\ask{\ans}{^^JGive a comment line to include in the style file.^^J% + Something like for which journals it is applicable.} +\immediate\openout\outfile\oroot.dbj +\wr{\pcpc Driver file to produce \oroot.\oext\space from \mroot.\mext} +\wr{\pcpc Generated with \filename, version \fileversion\space (\filedate)} +\wr{\pcpc Produced on \Now} +\wr{\pcpc} +\wr{\string\input\space docstrip} +\wr{} +\wr{\string\preamble} +\wr{----------------------------------------} +\wr{*** \ans\space ***} +\wr{} +\wr{\string\endpreamble} +\wr{} +\wr{\string\postamble} +\wr{End of customized bst file} +\wr{\string\endpostamble} +\wr{} +\wr{\string\keepsilent} +\wr{} +\wr{\string\askforoverwritefalse} +\begingroup\MBswitch +\wr(\string\def\string\MBopts{\string\from{\mroot.\mext}{\pc) +\endgroup +\newif\ifoptlist +\optlisttrue +\ifoptlist\else + \ask\yn{Do you want the unused option lines^^J% + \spsp to appear as comments in the output? (NO)} + \if!\yn!\else\if\yn n\else\if\yn N\else\optlisttrue\fi\fi\fi +\fi +\newif\ifoptverbose +\ifoptlist + \ifoptverbose\else + \ask\yn{Do you want verbose comments? (NO)} + \if!\yn!\else\if\yn n\else\if\yn N\else\optverbosetrue\fi\fi\fi + \fi +\fi +\edef\temp{\mroot.\mnext} +\let\endoptions=\endinput +\input\temp +\begingroup\MBswitch +\wr(\spsp}}) +\endgroup +\wr{\string\generate{\string\file{\oroot.\oext}{\string\MBopts}}} +\wr{\string\endbatchfile} + +\immediate\closeout\outfile +\mes{^^JFinished!!^^J% + Batch job written to file `\oroot.dbj'} +\def\ofile{\oroot.dbj} +\ask{\yn}{Shall I now run this batch job? (NO)} +\def\temp{\relax} +\if!\yn!\else\if\yn n\else\if\yn N\else +\def\temp{\input\ofile}\fi\fi\fi +{\catcode`\@=11 \ifx\@@end\undefined\else + \global\let\end=\@@end\fi} +\temp +\end +%% <<<<< End of generated file <<<<<< +%% +%% End of file `makebst.tex'. diff --git a/Master/texmf-dist/tex/latex/custom-bib/merlin.mbs b/Master/texmf-dist/tex/latex/custom-bib/merlin.mbs new file mode 100644 index 00000000000..6e5014dc22b --- /dev/null +++ b/Master/texmf-dist/tex/latex/custom-bib/merlin.mbs @@ -0,0 +1,9043 @@ +%\iffalse THIS IS A META COMMENT +% File: merlin.mbs +%% Copyright 1994-2005 Patrick W Daly +% Max-Planck-Institut f\"ur Sonnensystemforschung +% Max-Planck-Str. 2 +% D-37191 Katlenburg-Lindau +% Germany +% E-mail: daly@mps.mpg.de +% +% 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 any later version. +% +% It is part of the custom-bib collection, +% a contribution to the LaTeX2e system. +%==================================================================== +% Master Bibliography Style +% for customizing bibliographic style files (.bst) +% with the help of docstrip.tex +% and the auxiliary program makebst.tex +%-------------------------------------------------------------------- +% (See version and date in the \ProvidesFile command below) +%-------------------------------------------------------------------- +% This file supports numerical and author-year citation styles +% for natbib, harvard, astronom, authordate, apalike +% It also supports languages other than English +%-------------------------------------------------------------------- +% This file is self-documenting: simply LaTeX it! +% (Alternatively, extract documentation driver with option `driver') +%==================================================================== +% +%<*!tail> +% (The following notice appears in bst files generated from this file) + % =============================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files, listed above. + % + % This generated file 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 any later version. + % =============================================================== + % Name and version information of the main mbs file: +%\fi + % \ProvidesFile{merlin.mbs}[2005/10/17 4.14 (PWD, AO, DPC)] +%\iffalse +%</!tail> +%<*a&!a> +% The following ensures that the driver part is not seen by makebst +% The driver part must not contain any \end other than \end{document} ! +\ifx\endoptions\undefined\let\tempx=\relax\else + \long\def\tempx#1\end#2{}\fi\tempx +%</a&!a> +%<*driver> + \NeedsTeXFormat{LaTeX2e}% + \documentclass[a4paper,10pt,twoside]{article}% + \usepackage{doc}% + \raggedbottom + \CodelineNumbered + \RecordChanges + % Comment out next line to print coding + \OnlyDescription + \setlength{\oddsidemargin}{0.5\paperwidth} + \addtolength{\oddsidemargin}{-0.5\textwidth} + \addtolength{\oddsidemargin}{-1in} + \setlength{\evensidemargin}{\oddsidemargin} + +\begin{document} + \DocInput{merlin.mbs} +\end{document} +%</driver> +% END OF META COMMENT \fi +% \CharacterTable +% {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 +% 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 +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \CheckSum{450} +% \setcounter{StandardModuleDepth}{1} +% \setcounter{IndexColumns}{2} +% \setlength{\IndexMin}{10cm} +% +% \changes{1.0}{1993 Aug 16}{Initial version} +% \changes{2.0}{1994 Jan 31}{Add multilingual capabilities} +% \changes{2.1--2.5}{1995 May 2}{Changes to \texttt{babel.mbs} parallel 1.3--1.7 +% in \texttt{genbst.mbs}} +% \changes{1.3(2.1)}{1994 Jul 1}{Change documentation to \LaTeXe} +% \changes{1.3(2.1)a}{1994 Sep 1}{Alter wording of article title capitalization +% choice} +% \changes{1.4(2.2)}{1994 Sep 5}{Add full author name possibilities} +% \changes{1.4(2.2)}{1994 Sep 5}{Fix up some punctuations} +% \changes{1.4(2.2)a}{1994 Sep 7}{Add possibility to put titles in quotes} +% \changes{1.5(2.3)}{1994 Sep 15}{Accommodate new \texttt{harvard.sty}} +% \changes{1.5(2.3)}{1994 Sep 15}{Add full names for \texttt{natbib} v5.3} +% \changes{1.5(2.3)a}{1994 Oct 11}{Add option so year can contain any text} +% \changes{1.5(2.3)b}{1995 Jan 18}{Allow edited by to be in parentheses} +% \changes{1.5(2.3)b}{1995 Jan 18}{Allow (year) to have no punctuation +% following} +% \changes{1.5(2.3)c}{1995 Jan 20}{Journal volume numbers with more choice} +% \changes{1.6(2.4)}{1995 Feb 2}{Date with no punctuation preceding it} +% \changes{1.6(2.4)}{1995 Feb 2}{Editor names can be reversed like authors'} +% \changes{1.6(2.4)}{1995 Feb 2}{Can abbreviate `edited by' to `ed(s).'} +% \changes{1.6(2.4)}{1995 Feb 2}{Released version} +% \changes{1.7(2.5)}{1995 Feb 9}{Add \texttt{seq-key} option} +% \changes{3.0}{1995 Mar 15}{Becomes \texttt{merlin.mbs}, with language +% support in additional files} +% \changes{3.0}{1995 Feb 27}{Allow full author names to be reversed} +% \changes{3.0}{1995 Mar 1}{Add \texttt{isbn} field option} +% \changes{3.0}{1995 Mar 3}{Citation names can be bold or small caps} +% \changes{3.0}{1995 Mar 8}{Colon and space may follow year} +% \changes{3.0}{1995 Mar 15}{Names can be reversed, dotless intials} +% \changes{3.0}{1995 Mar 17}{Volume, number can be followed by semi-colon} +% \changes{3.0}{1995 Mar 20}{Allow word editor or ed to be in parentheses} +% \changes{3.0}{1995 Mar 20}{Abbreviated journal names can have dots removed} +% \changes{3.1}{1995 May 4}{Fix `edited by' so it is not abbreviated +% automatically with `editor'} +% \changes{3.1}{1995 May 6}{Re-do head/tail options to allow easy update of +% older \texttt{.dbj} files} +% \changes{3.2}{1995 May 19}{Minimum number of authors can be up to 6, not 5} +% \changes{3.2}{1995 May 19}{Allow date as part of journal spec., for medical +% journals} +% \changes{3.2}{1995 May 19}{Suppress `pages' and `pp'} +% \changes{3.2}{1995 May 19}{Allow date to be `1994 Jul', with or without dot} +% \changes{3.2}{1995 Jun 7}{Authors as Jones C.T.} +% \changes{3.2}{1995 Jun 16}{Sort without \emph{von} part} +% \changes{3.2}{1995 Jul 31}{Release as version 3.2} +% \changes{3.3}{1995 Aug 7}{Extra labels put in braces so they are treated +% as one unit by natbib} +% \changes{3.3}{1995 Aug 7}{Publisher's address can precede name} +% \changes{3.3}{1995 Sep 4}{Add full authors only if different from short list} +% \changes{3.4}{1995 Sep 5}{Add number of references as argument to +% \texttt{thebibliography} environment} +% \changes{3.4}{1995 Sep 28}{Fix placement of \texttt{bolden} in +% \texttt{format.vol.num.pages}} +% \changes{3.4}{1995 Sep 28}{Add possibility of date between volume and pages} +% \changes{3.4}{1995 Sep 28}{Word `and' can be in normal font in citations} +% \changes{3.5}{1995 Oct 4}{Tech Reports to have titles like books} +% \changes{3.5}{1995 Oct 9}{Delimit \texttt{\char`\\harvardyearright} properly} +% \changes{3.5}{1995 Oct 9}{Add option to sort by year (numerical only)} +% \changes{3.5}{1995 Oct 12}{Allow multiple journal-name files} +% \changes{3.5}{1995 Oct 16}{Allow months in dates even for author-year} +% \changes{3.5}{1995 Oct 24}{Fix sorting bug for limited number of authors} +% \changes{3.5}{1995 Oct 30}{Add \texttt{named} format for author--year cites} +% \changes{3.6}{1995 Nov 2}{Blocks can be separated by semi-colons} +% \changes{3.6}{1995 Nov 23}{Journal names in normal font} +% \changes{3.6}{1995 Nov 23}{Volume subnumber added to pages} +% \changes{3.6}{1995 Nov 24}{Book pages in parentheses} +% \changes{3.6}{1995 Dec 7}{Put Jr at end for AGU author style} +% \changes{3.6}{1995 Dec 7}{Put `and' in same font in list and citation} +% \changes{3.6}{1996 Jan 30}{Allow `et al' to be in normal font} +% \changes{3.6a}{1996 Feb 1}{Fix bugs with \texttt{xand} option} +% \changes{3.7}{1996 Feb 2}{Fix small caps with NFSS} +% \changes{3.7}{1996 Feb 5}{Fix clash of \texttt{emphasize} and +% \texttt{purify\$}} +% \changes{3.8}{1996 Feb 29}{Add \texttt{alpha}-type style} +% \changes{3.8}{1996 Mar 1}{Style alpha is never unsorted} +% \changes{3.8}{1996 Mar 12}{Allow blanks between blocks} +% \changes{3.8}{1996 Mar 12}{Publisher in parentheses} +% \changes{3.8}{1996 Mar 15}{Allow author-year to be sorted by year} +% \changes{3.8}{1996 Mar 16}{Cited `and' resets only one attribute} +% \changes{3.8}{1996 Mar 19}{Allow date to be between volume and number} +% \changes{3.81}{1996 Jun 17}{Add \texttt{\char`\\natexlab} for \texttt{natbib} 6.3} +% \changes{3.81}{1996 Jun 19}{Fix coding for adding `page' to journals} +% \changes{3.81}{1996 Jun 19}{Add `volume' to journals} +% \changes{3.81}{1996 Jun 19}{Remove word `in'} +% \changes{3.81}{1996 Jun 19}{Place publisher before chapter/pages} +% \changes{3.81}{1996 Jun 25}{Allow period after date} +% \changes{3.81}{1996 Jun 26}{Commas between blocks, except for article titles +% where period comes} +% \changes{3.81}{1996 Sep 12}{Allow comma before date} +% \changes{3.81}{1996 Sep 13}{Reorganize incollection organization and +% publisher} +% \changes{3.81}{1996 Sep 13}{Allow edition to come before publisher} +% \changes{3.81}{1996 Sep 16}{Allow author--year to be in citation order} +% \changes{3.81}{1996 Sep 16}{Publisher, address, date can all be in +% parentheses} +% \changes{3.81}{1996 Sep 18}{Remove extraneous hyphen before +% \texttt{\char`\\getans}} +% \changes{3.82}{1996 Nov 15}{Allow pages at end before notes} +% \changes{3.82}{1996 Nov 15}{Fix bug with quoted titles when title missing} +% \changes{3.82}{1996 Dec 16}{Fix bug that put comma before publisher in +% parentheses} +% \changes{3.82}{1996 Dec 16}{Allow AGU author style with full names} +% \changes{3.83}{1997 Feb 5}{Allow dash for repeated authors, periods +% before notes} +% \changes{3.83}{1997 Apr 25}{Change case of first note word if mid-sentence} +% \changes{3.84}{1997 Sep 16}{Option to break long page numbers} +% \changes{3.84}{1997 Oct 20}{Option for titles in guillemets} +% \changes{3.84}{1997 Oct 20}{Option to use underlining for emphasis} +% \changes{3.84}{1997 Oct 30}{Reorganize options for year in journal spec} +% \changes{3.84}{1997 Oct 30}{Multiple options in menu} +% \changes{3.85}{1998 Feb 10}{Fonts for names: can exclude first names, +% use-defined font allowed, improved coding for `and' and `et~al.'} +% \changes{3.86}{1998 Feb 25}{Use \texttt{format.date} consistently in place +% of \texttt{year} alone} +% \changes{3.86}{1998 Feb 25}{Suppress ISBN number when certain crossrefs +% are present} +% \changes{3.86}{1998 Feb 25}{Add option for comma between year and pages} +% \changes{3.86}{1998 Apr 20}{Bug with minimum 6 authors corrected} +% \changes{3.87}{1998 Jul 23}{Add \texttt{url} field for all styles} +% \changes{3.87}{1998 Jul 23}{Suppress months in numerical mode} +% \changes{3.87}{1998 Jul 23}{Author limitation now 99} +% \changes{3.87}{1998 Jul 23}{Add \texttt{annote} field and annotation} +% \changes{3.87}{1998 Aug 17}{Add \texttt{issn} field} +% \changes{3.87}{1998 Aug 17}{Correct spelling of `guillimet'} +% \changes{3.87}{1998 Aug 17}{Make \textsl{et~al.} a variable \texttt{bbl.etal}} +% \changes{3.87}{1998 Aug 17}{Add \texttt{language} field} +% \changes{3.87h}{1998 Oct 16}{Add html output possibilities} +% \changes{3.88}{1998 Nov 27}{Option to suppress edition conversion in English} +% \changes{3.88}{1998 Dec 2}{Conf. booktitles are upright if book titles are} +% \changes{3.88}{1998 Dec 2}{Various extra options for book pages, +% inproceedings, mainly for MPG Jahrbuch} +% \changes{3.88}{1998 Jan 13}{For html, newblock just adds period, no new line} +% \changes{3.88}{1999 Feb 1}{Do edition suppression properly} +% \changes{3.88}{1999 Feb 26}{Fix font handling of names} +% \changes{3.88}{1999 Feb 26}{Test for multipages for word `page(s)' in journals} +% \changes{3.89}{1999 May 12}{Missing years may be left blank, not just ????} +% \changes{3.89}{1999 May 12}{When key replaces author, leave year blank} +% \changes{3.89d1}{1999 Jul 20}{AO: %Arthur Ogawa (ogawa@teleport.com) +% Add new entries: collaboration, eid, eprint, numpages, per option +% \texttt{revdata}} +% \changes{3.89d1}{1999 Jul 20}{AO: Add reference component tags (\texttt{bibinfo} +% and friends)} +% \changes{4.00}{1999 Sept 17}{PWD: incorporate AO's changes with moderations} +% \changes{4.00}{2000 Jan 21}{PWD: add \texttt{archive} field} +% \changes{4.01}{2000 May 4}{PWD: Fix improper \texttt{change.case\$} and +% \texttt{bibinfo.check} ordering} +% \changes{4.02}{2000 June 27}{Fix bug with `in' with articles} +% \changes{4.03}{2002 Jan 14}{PWD: add \texttt{seq-yrr} for reversed year ordering} +% \changes{4.03}{2002 Jan 14}{PWD: add \texttt{thtit-x} to suppress thesis titles} +% \changes{4.03}{2002 Jan 14}{PWD: add line to define \texttt{natexlab} in aux file for harvard} +% \changes{4.03}{2002 Jan 14}{PWD: bug fix when both \texttt{pp-last} and \texttt{dt-jnl} given} +% \changes{4.04}{2002 Sep 13}{PWD: add support for Slovene/Slovenian language} +% \changes{4.05}{2002 Oct 21}{PWD: bug fix in \texttt{inproceedings} with +% \texttt{pp-last} and \texttt{dt-beg}} +% \changes{4.06}{2003 Apr 2}{PWD: add \texttt{nmd-2} and \texttt{nmd-3} for use with \texttt{nmdash}} +% \changes{4.10}{2003 May 28}{PWD: add DOI} +% \changes{4.10}{2003 June 3}{PWD: use \texttt{\backslash providecommand} +% instead of \TeX\ commands, but provide \texttt{noprov} option to undo it.} +% \changes{4.10}{2003 June 3}{PWD: make \texttt{eid} available not just for Rev\TeX} +% \changes{4.10}{2003 June 11}{PWD: add \texttt{pg-pre} for total book pages location} +% \changes{4.11}{2003 June 23}{PWD: fix DOI to have no space after colon} +% \changes{4.11}{2003 June 23}{PWD: add options \texttt{ser-vol} and \texttt{ser-ed}} +% \changes{4.11a}{2003 Aug 19}{PWD: fix bug with \texttt{ser-ed} option} +% \changes{4.12}{2003 Sep 8}{PWD: rename \texttt{noprov} to \texttt{plntx} for Plain \TeX\ compatibility} +% \changes{4.12a}{2003 Nov 6}{PWD: fix bug in which comma separators go on wrong side; change was +% originally made in \texttt{makebst} but not in \texttt{merlin}} +% \changes{4.13}{2004 Feb 9}{PWD: fix some bugs in \texttt{inbook} and \texttt{incollection}} +% \changes{4.13}{2004 Feb 9}{PWD: add option \texttt{nm-rvcx}} +% \changes{4.13}{2004 Feb 9}{PWD: add option \texttt{tit-col} for colon after titles} +% \changes{4.14}{2005 Oct 17}{PWD: add option \texttt{nm-rvvc}, spaceless initials with comma} +% \changes{4.14}{2005 Oct 17}{PWD: add option \texttt{etal-xc} to suppress comma before et al.} +% +% \pagestyle{myheadings} +% \markboth{P. W. Daly}{A General Master Bibliography Style} +% +% \title{{\bfseries A Master Bibliographic Style File}\\ +% for numerical, author--year, multilingual applications} +% +% \author{Patrick W. Daly} +% +% \GetFileInfo{merlin.mbs} +% \date{This paper describes file \texttt{\filename},\\ +% version \fileversion{} from \filedate +% \thanks{Work on \texttt{custom-bib}~4.00 was supported by the +% American Physical Society}} +% +% \maketitle +% +% \MakeShortVerb{\|} +% +% \parskip=1ex \parindent=0pt +% +% \newcommand{\btx}{{\sc Bib}\TeX} +% \newcommand{\dtx}{\textsf{docstrip}} +% +% \section{Introduction} +% A problem facing users of \btx{} is that there is no standard for +% formatting lists of references. Publishers and journals insist +% on completely arbitrary placement of commas, colons, and ordering of +% entries. Furthermore, author--year styles of citations are supported by +% certain special \LaTeX{} packages, but each for only a very limited +% number of bibliographic styles. Finally, most such style files are for +% English only, and any adaptations to other languages must duplicate the +% entire spectrum of such files. +% +% All of these obstacles are in principle easily overcome by simply +% reprogramming \btx{} by means of an appropriate \emph{bibliographic style +% file} (extension \texttt{.bst}). \btx{} is in fact extremely flexible; +% unfortunately its programming language is very low-level, permitting only +% the most basic of hacks for the normal user. +% +% The solution to this is a \emph{generic} or \emph{master bibliographic +% style file} (extension \texttt{.mbs}) containing \dtx{} options for +% alternative coding. By selecting the desired options, one can customize a +% \texttt{.bst} file to one's needs. +% +% This file, \texttt{\filename}, is my latest version of a general-purpose +% \texttt{.mbs} file to meet as many bibliographic needs as possible. +% It was originally assembled from Oren Patashnik's standard files {\tt +% plain.bst} and \texttt{unsrt.bst}, plus his non-standard file {\tt +% apalike.bst}, a very basic author--year citation style. +% It has since evolved extensively as I have added features found in +% available \texttt{.bst} files, and those demanded by publishers or +% suggested to me by many user/contributors. +% +% To produce a customized bibliographic style (\texttt{.bst}) file from this +% master file, simply \TeX{} or \LaTeX{} the `program' \texttt{makebst.tex}. +% When asked for the name of the master file, answer with +% \begin{quote}\tt\filename\end{quote} +% and then reply to the questions in the following menus. The last question +% is whether you want to generate the \texttt{.bst} file right away. +% +% More details on this process and on the options available are to be found +% in the rest of this article. +% +% \section{History of this File} +% +% Since the first release of this generic file, in November 1993, under the +% name \texttt{genbst.mbs}, I have received innumerable +% suggestions for additions, most of which I have tried to include. Often +% this has resulted in reorganizing the coding, and adding new functions. +% The resulting \texttt{.bst} files are now quite different from those of +% Patashnik, although the underlying ideas are the same. +% +% A second version was released shortly afterwards that paralleled the first +% one except that it included support for languages other than English. +% That file was named \texttt{babel.mbs}, following the \texttt{babel} +% system of Johannes Braams. Although I always viewed it as version 2 of +% \texttt{genbst.mbs}, all additions to the one were also included in the +% other. This of course was tedious and prone to error. I looked forward to +% the day when \texttt{babel.mbs} would become the only supported version. +% The reason I was reluctant to do that before was that the overhead per +% language was fairly high, and I dreaded to think how large the file would +% become when 20 or 30 languages were added. +% +% I then found a way to put the language definitions into separate files, +% one per language. This means that new languages do not burden the basic +% file, and that users need only keep those support files that might +% interest him or her. New ones may also be made up locally by hacking an +% existing language definition file. (The file \texttt{english.mbs} is +% supplied only for this purpose.) +% +% For this reason, \texttt{\filename} was released as version~3 of +% \texttt{genbst.mbs} and \texttt{babel.mbs}. In spite of the new name, it +% should be regarded as their direct successor. Needless to say, this means +% that the earlier two \texttt{.mbs} files will no longer be maintained. +% +% To include language support, all explicit English words like +% \textsl{editor} and \textsl{chapter} have been replaced by functions +% whose definitions may be altered in the resulting \texttt{.bst} file +% (less desirable method) or which may be redefined by an external +% language definition file (preferred method). Alternatively, one can select +% the pseudo-language named \texttt{babel} which inserts \LaTeX{} commands +% for the explicit words, the definitions of which must be +% contained in a file called {\tt babelbst.tex}. Only the languages English +% and \texttt{babel} are included internally to \texttt{\filename}; all +% others are contained in external language definition files. +% +% Another new feature is the possibility of including a file containing +% prestored shorthand designations for certain journal names. Such a file +% is provided for physics journals, but others could be made up using this +% one as a model. See Section~\ref{sec:jnames}. +% +% To take advantage of these external files, one must use +% \texttt{makebst} version~3; \texttt{\filename} may still be used with +% earlier versions, but without the external files. +% +% Version~4 arose out of a project by David Carlisle who created a variant +% of \texttt{\filename} for REV\TeX\ and the American Physical Society with +% the help of Mark Doyle of the APS. The main purpose was to add extra +% fields (see page~\pageref{sec:revtex}) that were needed. Subsequently +% Arthur Ogawa revised the code considerably, making it more rational, +% fixing some bugs and adding some extra features. +% +% I was then asked to incorporate all these changes into the official +% version of \texttt{\filename}. This required much debugging, since the +% Ogawa's rationalization upset several of the delicate interplays between +% various options. The result is version~4.0, the work on which has been +% supported by the American Physical Society. +% +% Version~4.0 contains the REV\TeX\ extra fields and the +% Carlisle-Doyle-Ogawa rewrites. An additional feature that derived from +% Carlisle's work on REV\TeX\ is the tagging of the text entries in the +% bibliography. This means the volume number is given as +% |\bibinfo{volume}{5}|. Normally only the number 5 is printed, but another +% program could use this to reconstruct the original database entries. +% +% Arthur Ogawa also added some features to \texttt{makebst} to provide a more +% verbose protocol. As a result, version~4 of \texttt{\filename} can only be +% used with version~4 of \texttt{makebst}. Older versions of \texttt{\filename} +% will still function with the newer \texttt{makebst}. Also, \texttt{.dbj} +% files created with older versions should still produce the same results with +% \texttt{\filename}~4. +% +% \def\temp{merlin.mbs}\ifx\temp\filename +% This file is now named after the legendary magician in the hope that it +% can produce wonders by incanting the right magic formulas. However, one +% should bear in mind that even Merlin was not omnipotent. It would be too +% much to hope that all bibliographic wishes will be fulfilled quickly and +% easily, but we shall try as best we can. Watch the wizardry at work! +% \fi +% +% \section{About Master Bibliographic Style Files} +% +% For details about how master bibliography style files are to be +% constructed, see the documentation on \texttt{makebst}. Here only a +% rough overview is given. +% +% \subsection{The \dtx{} Program} +% The \dtx{} program, written by Frank Mittelbach, is now a fundamental +% part of the \LaTeXe{} installation. Its original purpose is to remove +% comment lines from documented files, but has the secondary function of +% selecting alternative lines of coding. +% +% A master \btx{} bibliographic style file is one that, when processed by +% \dtx{} with selected options, produces a regular \btx{} \texttt{.bst} +% file with the desired features. +% +% In this sense, \dtx{} functions something like a C preprocessor. In fact, +% Oren Patashnik's original \texttt{.bst} files were all produced from a single +% source file by means of the preprocessor. The advantage of \dtx{} is that +% it is portable to all installations with \TeX. +% +% \subsection{The \dtx{} Batch Job} +% +% The \dtx{} program can be run either interactively, where the user must +% answer questions via the keyboard, or by means of a batch job where all +% the inputs are prepared in a file beforehand. For producing a \btx{} +% style file from a master file, the batch job method is the only feasible +% one, simply because of the large number of options available. (There is +% another reason for employing a batch job: the interactive method adds an +% |\endinput| command at the end, something that \btx{} will protest +% about.) +% +% The batch job files in general do not have any particular extension but I +% use \texttt{.dbj} for \emph{\dtx{} batch job}. These files are useful +% because they document the options used to produce the \texttt{.bst} file, +% and they may be edited to experiment with alternative options. +% +% \subsection{The \texttt{makebst} Program} +% +% It is possible to make up a batch job file by hand using the option +% information listed in Section~\ref{sec:options}, but my accompanying +% program \texttt{makebst} simplifies the task considerably. It reads menu +% information in the master file itself in order to present the user with +% an interactive list of choices, translating the answers into appropriate +% options that are then written to a batch job file. +% +% To run it, simply process \texttt{makebst.tex} with \TeX\ or \LaTeX, and +% answer the questions. The first of these is whether you want some +% instructions or not, and the second is the name of the \texttt{.mbs} that +% you want to use. The next query is about the name of the desired +% \texttt{.bst} file (which will also be the root name of the batch job). +% After that, all further questions come from menu information in the +% master file. +% +% At the very end, \texttt{makebst} asks if it should run the batch job for +% you. Isn't that a fine service? +% +% \section{Multilingual Adaptation} +% The original \texttt{.bst} files from Oren Patashnik contain explicit +% English words that are output into the final text. Since \LaTeX{} is +% increasingly being used for other languages, and since the official +% version since December 1991 also uses macros in place of explicit words, +% it seems appropriate for \btx{} to follow suit. +% +% In this master bibliographic style file {\tt\filename}, all explicit +% words have been replaced by functions: e.g., the word \textsl{editor} has +% become the function \texttt{bbl.editor}. Depending on the language option +% chosen, this function is defined to be the text {\tt"editor"}, +% {\tt"Redakteur"}, or {\tt"redacteur"}, for English, German, and French, +% respectively. +% +% There is another special `language' called \texttt{babel} that instead inserts +% the text |"\bbleditor{}"|; the definitions of these \LaTeX{} commands +% must be in a separate file named \texttt{babelbst.tex} that is read in at +% the start of the bibliography. +% +% Only English and \texttt{babel} are supported directly in +% \texttt{\filename}; all other language definitions are contained in +% separate definition files, e.g., \texttt{french.mbs}, \texttt{german.mbs}. +% +% The language selection is made during the \texttt{makebst} run, which +% asks for the name of the language definition file as the first menu item. If +% either English or \texttt{babel} is wanted, reply with the default, which +% is \texttt{\filename} itself; otherwise give the name of the desired +% language file. +% +% \begin{quote}\slshape +% \textbf{Note:} the language definition files can only be used with +% \texttt{makebst} version~3 or later, and +% +% with an external definition file, the \dtx{} run requires two passes +% through \texttt{\filename}, doubling the processing time. +% \end{quote} +% +% Apart from the language adaptation of the whole bibliography, there is also +% the possibility of switching languages for individual references, so as to +% hyphenate the title properly. This is done with the \texttt{language} field +% and the \verb!\setlanguage! command. +% +% \subsection{Adding a New Language Definition File} +% +% To create a new language definition file, simply take one of the existing +% ones, like \texttt{english.mbs}, and replace the explicit English words +% with their translations. There are, however, a number of points that can +% complicate this procedure. +% +% \begin{enumerate} +% \item +% Do not forget to change the documentation in the file, especially +% version number, date, author. +% +% \item +% There are option menus that need to be translated too. It might also be +% desirable to add or remove options. In most cases, the options in the +% language files involve possible abbreviations, like +% \begin{quote} +% \verb!\mes{^^JABBREVIATE WORD `PAGES':}!\\ +% \verb!\optdef{*}{}{`Page(s)'}{(no abbreviation)}!\\ +% \verb!\optdef{a}{pp}{`Page' abbreviated}{as p. or pp.}!\\ +% \verb!\getans! +% \end{quote} +% +% In this example, the option \texttt{pp} appears later in the definition +% \begin{quote} +% \verb!FUNCTION {bbl.pages}!\\ +% \verb+%<!pp>{ "pages" }+\\ +% \verb!%<pp>{ "pp." }! +% \end{quote} +% This a \emph{local} option, that only affects the coding in the definition +% file. It is possible to add more local options. +% +% \item +% However, all options, whether activated by the main file or by the +% definition file, apply to both. In other words, there really is no such +% thing as a local option. In the above example, \texttt{pp} is only +% local because it is never used in \texttt{\filename}. +% +% \item +% Add the name of the language as an option, with +% \begin{quote} +% \verb!\mes{^^JOptions for ENGLISH}!\\ +% \verb!\wr{\spsp\spsp english,\pc: English language}! +% \end{quote} +% (This is how options are added without |\optdef| and |\getans|.) The +% main file just might recognize it in order to take some +% language-specific action. The least it should do is add a comment at +% the start of the \texttt{.bst} file stating for which language it is to +% be used. +% +% \item +% There could be some problems with edition numbers due to language +% dependent ways of treating ordinal numbers (1st, 2nd, 3rd in English; +% 1$^{\mbox{\scriptsize re}}$, 2$^{\mbox{\scriptsize e}}$, +% 3$^{\mbox{\scriptsize e}}$ in French; 1., 2., 3., in German). Some +% accommodation already exists for the oddball language English, and +% further hacking may be needed for others. +% +% \item +% If there should be any need for a double-quote character in +% the translations (German needs it for umlauts) then there is trouble +% because the \btx{} strings do not allow it. Instead, use the command +% |\qq|, as in the German word |F\qq{u}nfte| for {\sl F\"unfte} (fifth). +% It is then vital to add the option \texttt{umlaut} with +% \begin{quote} +% \verb!\wr{\spsp\spsp umlaut,\pc: Activate umlaut command}! +% \end{quote} +% +% Bernd Raichle points out that |\^^b| can be used in place of |\"| +% within \btx{} code. One can thus replace |F\qq{u}nfte| with |F\^^b unfte| +% and do away with the \texttt{umlaut} option. +% +% \end{enumerate} +% +% \subsection{Changing \texttt{babelbst.tex} for a New Language} +% +% Alternatively, a new language can be added by +% modifying the file \texttt{babelbst.tex} and selecting the language {\tt +% babel} for the \texttt{.bst} file. If this is the only language to be used, +% then just change the English words in the definitions. +% +% However, some form of switching would be more desirable. With \TeX\ +% version 3, there is a |\language| parameter to control the hyphenation +% patterns, and this could be used to select the correct language. For +% example, if language 0 is English and language 1 German, then put the +% English version of \texttt{babelbst.tex} into \texttt{englbst.tex} and the +% German +% version in \texttt{germbst.tex}. Then \texttt{babelbst.tex} could contain: +% \begin{quote}\begin{verbatim} +% \ifcase\language \input{englbst} \or \input{germbst} +% \else \input{englbst} \fi +% \end{verbatim} +% \end{quote} +% +% This is of course installation dependent. +% +% \subsection{Extracting the Sample \texttt{babelbst.tex} File} +% +% A sample \texttt{babelbst.tex} (for English) is contained in this master +% file. Extract it with \dtx{} and the option \texttt{bblbst}. It may be +% edited (and possibly renamed) for other languages as needed. +% +% \subsection{Problem with Edition Numbers} +% Something to note here is the ordinal numbers for editions. \btx{} +% demands that the field \texttt{edition} be given in the database as a word +% \textsl{First}, \textsl{Second}, etc., or as \textsl{1st}, \textsl{2nd}, +% etc. This is bad policy +% because it is language dependent. So what I do is to test for the words +% \textsl{first} through \textsl{fifth} (case independently) and replace them +% with language-dependent equivalents. If the {\tt<ord>} option is selected, +% these equivalents are ordinal numbers for that language. Any other words +% cannot be interpreted and must be printed as is. +% +% However, if the \texttt{edition} is given as a number, with or without +% following letters, then the numbers 1 through 5 are replaced by their +% words; any higher numbers just have the ordinal ending (\textsl{th} +% in English) added to them. +% +% These numbers are only used with the word \textsl{edition} or +% its equivalent in other languages, so the translators need +% to provide only the one gender, e.g., feminine for both German and +% French. +% +% +% \section{Prestoring Names of Journals}\label{sec:jnames} +% +% The standard \texttt{.bst} files contain the names of some 20 journals +% in the field of computing, stored as macros for easy reference within the +% database \texttt{.bib} files. For example, the \textsl{Journal of +% Computer and System Sciences} can be referred to as \texttt{jcss}. +% With the option \texttt{jabr} (for journal abbreviation) this same +% shorthand produces \textsl{J.~Comput. Syst. Sci.}. +% +% Some \texttt{.bst} files for physics journals include additional journal +% names, and it is conceivable that other faculties might wish to prepare +% their own such lists, with each name present in a full or abbreviated +% form. Such an external file can now be added with \texttt{\filename} and +% \texttt{makebst} version~3. +% +% As a model, I supply a file \texttt{physjour.mbs} with the names of +% physics journals which I have taken from other \texttt{.bst} files. +% I also have a file \texttt{geojour.mbs} with the names of geophysics +% journals, and a contributed file \texttt{photjour.mbs} containing names of +% optics journals. +% +% In fact, version~3.5 can even include multiple journal-name files. +% Thus one can decide whether to include both, one, or none of the above +% files. +% +% \section{HTML Output} +% There is an option \texttt{html} to create a \texttt{.bst} file producing +% hypertext (HTML) output instead of the regular \LaTeX\ code. This is still +% experimental. The resulting \btx\ output will still be a file with extension +% \texttt{.bbl} and will contain the \LaTeX\ special characters, like |\"a| for +% \"a. One must go over the output to convert such characters to the HTML +% equivalents, and to remove curly braces. Only then can it be renamed +% \texttt{.html}. +% +% Three possible lists are offered: +% \begin{itemize} +% \item a simple paragraph for each entry, +% \item a numbered list, +% \item a description list with the key as the label. +% \end{itemize} +% +% \section{Updating Older \texttt{.dbj} Files}\label{sec:update} +% If you have existing \texttt{.dbj} files for generating \texttt{.bst} +% files from the older version \texttt{genbst.mbs}, these may be run with +% \texttt{\filename} by simply changing the name of the source +% \texttt{.mbs} file. For example, where the older \texttt{.dbj} file contains +% the line +% \begin{quote} +% |\generateFile{mystyle.bst}{f}{\from{genbst.mbs}{%| +% \end{quote} +% edit the file so that \texttt{genbst.mbs} is replaced by +% \texttt{\filename}. The resulting \texttt{mystyle.bst} file will then be +% an updated version of the older one, containing all the same features. +% +% Version~4 of \texttt{\filename} can only be used with version~4 of +% \texttt{makebst}, whereas older versions of \texttt{\filename} will still +% function with the newer \texttt{makebst}. Also, \texttt{.dbj} files created +% with older versions should still produce the same results with +% \texttt{\filename}~4, albeit with different coding. +% +% \section{Acknowledgements} +% I wish to thank all the people who have taken the trouble to send me +% suggestions or special requests. Admittedly, it has been out of +% self-interest on their part, since they had bibliographic needs to be +% met. And I have often questioned the need for many of their demands. Yet, +% that is part of the bibliographic jungle that I am trying to eliminate. +% If I thought that bibliographies were arbitrarily formatted before I +% started this project, I have more than sufficient confirmation since +% then. The fault lies not with the poor contributors, but with the +% publishers who cannot agree on a decent standard. +% +% I want to thank Frank Mittelbach, not only for creating \dtx{} +% in the first place, but also for sending me his bibliographic requirements, +% and for suggesting an improvement to \texttt{makebst}. +% +% David Carlisle has added the REV\TeX\ fields and |\bibinfo| tagging in a +% special variant of \texttt{\filename}; Arthur Ogawa then incorporated +% them into the main file, and overhauled much of the coding to make it +% more legible and rational. +% +% I especially wish to thank Mark Doyle and the American Physical +% Society for supporting the work on \texttt{custom-bib}~4.0. +% +% And finally, all of us must thank Oren Patashnik for providing \btx; +% without its flexibility and programmability (in spite of the complexity +% of the language) the master bibliographic styles would not be possible at +% all. +% +% \section{The Options}\label{sec:options} +% Here I present a list of all the \dtx{} options that are +% available in this file {\tt\filename}. +% The normal user can skip this section since he will probably make use +% of the menus via \texttt{makebst}. These are described in +% Section~\ref{sec:menu}. The menus provide much more informative prompts +% than the heavily abbreviated option names listed here. In other words, +% the options described in this section are meant for internal (programmer) +% usage, while the normal interface for the user is the menus. +% +% I have tried to avoid +% conflicts with mutually exclusive options by always letting one dominate if +% more than one has been specified. Such options have the same prefix, such +% as \texttt{nm-rev} and \texttt{nm-init}. +% If one uses \texttt{makebst} to produce the +% \dtx{} batch job, then it is impossible to give mutually +% exclusive options unless one edits the batch file oneself afterwards. +% (Anything is possible with computer freaks!) +% +% Most mutually exclusive options have the same prefix before the hyphen. +% +% \newenvironment{opt}{% +% \begin{list}{}{\labelwidth2cm \leftmargin2.5cm \labelsep1em \rightmargin0pt +% \def\makelabel##1{\ttfamily##1 \hfill}}}{\end{list}} +% \textbf{Citation style:} whether or not a numerical or author--year system +% is to be used. +% \begin{opt} +% \item[--] default is numerical, standard \LaTeX, as for {\tt +% plain.bst}.\\ +% |\bibitem{key}...| +% \item[cite] special for listing entire databases; the cite key is used +% as the label so it may be listed.\\ +% |\bibitem[key]{key}...| +% \item[ay] for author--year style of citations. Various forms of |\bibitem| +% are provided under this option, to support different types +% of \LaTeX{} styles for interfacing with the author--year system. +% \item[alph] for \texttt{alpha.bst} style of citations; essentially numerical +% but an abbreviation of the author names plus year is used as +% the label. First three letters of single author, or first letters +% of first three authors. +% \item[alf-1] with \texttt{alph}, uses first three letters of first author's +% name, regardless of how many authors. +% \item[alf-f] with \texttt{alph}, uses first author's whole name. +% \end{opt} +% +% For numerical style, one can select the HTML option, to output a +% hypertext file instead of a \LaTeX\ one. +% +% \begin{opt} +% \item[--] normal \LaTeX\ output; +% \item[html] for HTML output, one reference per paragraph +% \item[htlist] (with \texttt{html}) outputs to a numbered list; +% \item[htdes] (with \texttt{html}) outputs description list, with the key. +% \end{opt} +% +% If \texttt{ay} has been selected, then the type of author--year interface +% is selectable. Some of these, like \texttt{natbib} and \texttt{harvard} +% exist in two versions because of updates in these systems. +% \begin{opt} +% \item[--] default is the system I invented for my \texttt{natbib.sty}.\\ +% |\bibitem[author(year)]{key}...| +% \item[nat] for extended format of \texttt{natbib.sty} version 5.3\\ +% |\bibitem[author(year)full author]{key}...| +% \item[alk] for the \texttt{apalike.sty} of Oren Patashnik and related +% systems\\ +% |\bibitem[author, year]{key}...| +% \item[har] for the Harvard family of styles (with \texttt{harvard.sty}).\\ +% |\harvarditem[short]{long}{year}{key}...| +% \item[harnm] for the extended Harvard family, containing some extra commands +% used by \LaTeXe\ version 2.0.3 of \texttt{harvard.sty} +% \item[ast] for astronomy family of styles (with \texttt{astron.sty}).\\ +% |\bibitem[\protect\astroncite{author}{year}]{key}...| +% \item[cay] for the Chicago family of styles (with \texttt{chicago.sty}).\\ +% |\bibitem[\protect\citeauthoryear{long}{short}{year}]{key}...| +% \item[nmd] for the `named' variant of Chicago (with \texttt{named.sty}).\\ +% |\bibitem[\protect\citeauthoryear{author}{year}]{key}...| +% \item[cn] for the ``author--date'' group of styles (with {\tt +% authordate1-4.sty})\\ +% |\bibitem[\protect\citename{author, }year]{key}...| +% \end{opt} +% +% \textbf{Sequence:} the order in which the references are listed. +% \begin{opt} +% \item[--] default is alphabetical by all authors, date, title +% \item[seq-yr] order by year (ascending), authors, title +% \item[seq-yrr] order by year (descending), authors, title +% \item[seq-no] sequence by citation order +% \item[seq-lab] (author--year) by label, date, title (means that Daly +% precedes Daly and Williams, precedes Daly et al.) +% \item[seq-key] (author--year) like \texttt{seq-lab} except that for +% identical authors and year, the cite keyword is used +% instead of the title +% \item[vonx] ignore \emph{von} part of name when ordering (default is +% to consider \emph{von} as part of the whole surname) +% \end{opt} +% +% \textbf{Language selection:} the translations of certain explicit words. +% \begin{opt} +% \item[--] default is English, for \textsl{and}, \textsl{chapter}, +% \textsl{editor}, etc.; +% \item[babel] replace words with \LaTeX{} commands that are defined +% in the file \texttt{babelbst.tex}; +% \item[lang] adds the \texttt{language} field for switching language +% for one reference only by means of the \verb!\setlanguage! +% command in \texttt{babel}. +% \end{opt} +% +% If one of the external language definition files is used, then the name of +% its language should be in the list of active options. Many other language +% names are already included as options in this main file simply for the +% purpose of adding a comment at the start of the \texttt{.bst} file. +% +% The \texttt{language} field is intended to allow the hyphenation patterns +% to be switched temporarily so that titles can be set in the original +% language. +% +% \textbf{Annotation:} +% annotations are added either by means of the \texttt{annote} field, or +% with a \texttt{.tex} file of the same name as the citation key. +% \begin{opt} +% \item[--] no annotations +% \item[annote] annotations enabled, with \texttt{annote} field. +% \end{opt} +% +% \textbf{Missing names:} +% If the author and/or editor is missing, the standard \texttt{.bst} files +% use the \texttt{key} field in place of the names for purposes of ordering the +% entries. +% +% For author--year styles, the \texttt{key} field is even inserted in the +% reference list and in the label in place of the authors. Optionally, one can +% suppress the year in this case, which causes \texttt{natbib} (version~7) +% to print only that key text as a code designation for the work. +% +% \begin{opt} +% \item[--] year is inserted in the labels when \texttt{key} replaces authors +% \item[keyxyr] year is left blank in this case +% \end{opt} +% +% \textbf{Names formatting:} how initials and surnames are to be combined. +% \begin{opt} +% \item[--] default is full names, given names first +% \item[nm-revf] full names, surname first +% \item[nm-init] initials plus surname +% \item[nm-rev] surname plus initials +% \item[nm-rev1] surname plus initials (1st name only) then initials +% plus surname +% \item[nm-revv1] same as \texttt{nm-rev1} but with full names +% \item[nm-rv] as \texttt{nm-rev}, but initials without dots +% \item[nm-rvvc] as \texttt{nm-rev}, but initials without spaces +% \item[nm-rvv] as \texttt{nm-rev}, but initials without spaces or comma +% \item[nm-rvx] as \texttt{nm-rev}, but initials without dots or spaces +% \item[nm-rvcx] as \texttt{nm-rvx}, but with comma after surname +% \item[ed-rev] editors' names in collections are reversed the same as authors' +% \item[ed-au] editors are formatted with same routine as authors; this +% is an alias for \texttt{ed-rev}, which is kept only for +% compatibility +% \item[aunm-semi] a semi-colon is placed between author names instead of +% a comma +% \item[aunm-sl] a slash is placed between author names instead of a comma +% \item[nmdash] repeated author/editor names replaced by dash +% \item[nmd-2] with \texttt{nmdash}, uses 2 em dashes +% \item[nmd-3] with \texttt{nmdash}, uses 3 em dashes +% \item[jnrlab] include the junior part of name in citations (normally +% appears only in reference listing) +% \item[jnrlst] with one of the \texttt{nm-rev} type options, puts the +% junior part last, after the (reversed) first name +% \end{opt} +% +% \textbf{Number of names:} normally all names listed (in reference list) +% \begin{opt} +% \item[nmlm] limit number of names +% \item[x1...x90] (with \texttt{nmlm}) maximum number of names to appear; +% for over 9, give the tens and units separately, as +% \texttt{x20,x5} for 25 +% \item[m1...m90] (with \texttt{nmlm}) minimum number before \textsl{et al.} +% written; +% no check for consistency is taken; one \texttt{x} and +% one \texttt{m} number must be given, and {\tt x}$\le${\tt m} +% \end{opt} +% +% \textbf{Names font:} in the reference list +% \begin{opt} +% \item[--] default is names in normal typeface +% \item[nmft] names are in some special font +% \item[nmfted] editors' names in collections also get special fonts +% \item[nmft-sc] names in small caps +% \item[nmft-it] names in italics +% \item[nmft-bf] names in bold +% \item[nmft-def] names in user defined font |\bibnamefont{}|. +% \item[nmand-rm] `and' in normal font, not same as authors'. +% \item[fnm-rm] (with \texttt{nmft}) first names are in regular font +% \item[fnm-def] (with \texttt{nmft}) first names are in user defined +% font |\bibfnamefont{}|. +% \item[--] first names are in same font as the surnames. +% \end{opt} +% +% \textbf{Citation font:} what is written by the |\cite| command +% \begin{opt} +% \item[--] default is no special font +% \item[lab-it] cited names in italics +% \item[lab-sc] cited names in small caps +% \item[lab-bf] cited names in bold face +% \item[lab-def] cited names in user defined font |\bibnamefont{}|. +% \item[and-rm] word `and' in cited names in normal font +% \item[xlab-it] extra label (letter after year) in italics +% \end{opt} +% +% \textbf{Block punctuation:} between logical sections (not mutually +% exclusive) +% \begin{opt} +% \item[--] default is period after each logical section, including end +% \item[blk-com] use commas, except at very end (changes \textsl{In} to +% \textsl{in}) +% \item[blk-tit] like \texttt{blk-com} except period follows titles of +% articles and books +% \item[blk-tita] like \texttt{blk-com} except period follows article title +% \item[tit-col] with \texttt{blk-tit} or \texttt{blk-tita}, for colon instead of period +% \item[com-semi] with \texttt{blk-com}, uses semi-colon instead of comma +% \item[com-blank] with \texttt{blk-com}, uses blanks instead of comma +% \item[in-col] puts a colon after \textsl{In} or \textsl{in} for edited works +% \item[in-it] puts word \textsl{in} in italics (may be used with +% \texttt{in-col}) +% \item[in-x] suppresses the word \textsl{in} for edited works +% \item[fin-bare] no punctuation at the very end +% \item[au-col] puts a colon after the author/editor block +% \item[blknt] puts period before note +% \end{opt} +% +% \textbf{Date:} if missing +% +% \begin{opt} +% \item[--] Missing date replaced by ???? (author--year) +% \item[blkyear] Missing date left blank, even in label. +% \end{opt} +% +% \textbf{Date:} position and enclosure +% +% \begin{opt} +% \item[--] default is date at end, before notes; for author--year, +% date consists only of year, no month +% \item[dt-jnl] date at end as for default, except for journal articles +% where it follows the journal name as part of specification +% \item[dt-end] date goes after any notes +% \item[dt-beg] date goes after authors' names +% \item[yr-par] date in parentheses () +% \item[yr-brk] date in brackets [] +% \item[yr-com] date preceded by comma and space +% \item[yr-col] date preceded by colon and space +% \item[yr-per] date preceded by period and space +% \item[yr-blk] date preceded by space +% \item[dtrev] date as year month instead of month year +% \item[dtbf] date bold face +% \item[aymth] include month even for author-year +% \item[xmth] suppress month for numerical mode +% \item[yrp-x] suppresses punctuation following month, year when date +% is just after authors +% \item[yrp-col] adds colon and space after date when just after authors +% \item[yrp-semi] adds semi-colon and space after date when just after authors +% \item[yrp-per] adds period and space after date +% \item[yrpp-xsp] removes blank following year punctuation +% \item[note-yr] permits text (like ``in press'') in the \texttt{year} field +% \end{opt} +% +% \textbf{Article in journal:} style of title, volume, pages +% \begin{opt} +% \item[--] default is: Title. \textit{Journal}, vol(num):p1--p2 +% \item[injnl] adds word \textsl{in} before journal name, same style as +% for incollections +% \item[volp-sp] as above, but with a space, vol(num):~p1--p2 +% \item[volp-semi] semi-colon instead of colon: vol(num);~p1--p2 +% \item[volp-com] comma and space instead of colon: vol(num),~p1--p2 +% \item[volp-blk] only space instead of colon: vol(num)~p1--p2 +% \item[vol-bf] volume in bold +% \item[vol-it] volume in italics +% \item[vol-2bf] volume and number bold +% \item[vnum-x] no number for journals, only volume +% \item[vnum-sp] space between, as vol (num) +% \item[vnum-cm] replace vol(num) with vol, num +% \item[vnum-nr] replace vol(num) with vol, no. num +% \item[vnum-h] replace vol(num) with vol, \#num +% \item[vnum-b] replace vol(num) with vol num +% \item[jdt-v] year in parentheses attached to volume: vol(year) num +% \item[jdt-vs] as above, with space: vol (year) num +% \item[jdt-p] year precedes pages: vol(num), (year) p1--p2 +% \item[jdt-pc] as above, with comma: vol(num), (year), p1--p2 +% \item[jpg-1] only starting page given +% \item[pgsep-c] page numbers over 10,000 have comma +% \item[pgsep-s] page numbers over 10\,000 have space +% \item[pgsep-p] page numbers over 10.000 have period +% \item[jwdpg] include `page' or `pp' for articles +% \item[jwdvol] include `volume' or `vol' for articles +% \item[jnm-x] no punctuation after journal name +% \item[tit-it] article title in italics +% \item[tit-qq] article title in quotes +% \item[bt-rm] booktitle in upright font, not italic (this will be issued +% with \texttt{btit-rm} normally; separate options allow for +% more control if wanted +% \item[bt-qq] booktitle of incollection and inproceedings in quotes +% \item[qt-s] (with \texttt{tit-qq}) single instead of double quotes +% \item[qt-g] (with \texttt{tit-qq}) guillemets instead of quotes +% \item[qx] (with \texttt{tit-qq}) comma outside quotes +% \item[jtit-x] no article title (applies only to journals and +% collections) +% \item[atit-u] article title capitalized as in entry, default is +% sentence capitalization (first word and words following +% colons) +% \item[jxper] abbreviated journal names have periods removed, as +% `Phys Rev' +% \item[jttl-rm] name of journal not in italics +% \item[pp-last] pages appear at end, before any notes +% \end{opt} +% +% \textbf{Number and series:} for collections and inproceedings +% +% This is a confusing issue. The standard wants to print something like +% ``number 123 in Collected Works'', and issues a warning if there is a number +% without a series. However, for many such works, there is an identification +% number for the collection, such as ESA~SP-123. Giving this as the number +% without a series results in ``number ESA~SP-123'' and a warning. Setting the +% series to this code number produces desired results, but is illogical. +% +% Another problem is that this code number should often should appear just +% before the publisher name, +% whereas the standard places it elsewhere. +% +% \begin{opt} +% \item[--] default, number must have series, \textsl{number} is printed +% \item[num-xser] default behaviour if both number and series present, but if +% only number is there, it is printed without the word \textsl{number} and +% without a warning +% \item[numser] moves the number/series to just before the publisher/organization +% \item[ser-vol] for a book in a series with volume number, appears as ``\textit{Series-Name}, vol.~23'' +% rather than ``vol.~23 of \textit{Series-Name}'' +% \item[ser-ed] for incollection, inproceedings, the series and volume appear between +% the booktitle and the editors +% \end{opt} +% +% +% \textbf{Thesis title:} formatted like a book or article +% \begin{opt} +% \item[--] default is like a book title +% \item[thtit-a] titles of PhD and Master theses formatted like articles +% \item[thtit-x] no thesis title +% \end{opt} +% +% \textbf{Technical Report title:} formatted like book or article +% \begin{opt} +% \item[--] default is like an article title +% \item[trtit-b] titles of technical reports formatted like books +% \item[trnum-it] \textsl{technical report} and number italic +% \end{opt} +% +% \textbf{Books:} title font style, pages, and address location +% \begin{opt} +% \item[--] default is italicized +% \item[btit-rm] book title plain +% \item[bkpg-par] pages in books places in parentheses +% \item[bkpg-x] pages in books bare without word \textsl{pages} +% \item[add-pub] publisher's address before name, colon separated +% \item[pub-par] publisher and address in parentheses +% \item[pub-date] publisher with address and date in parentheses +% \item[pub-xc] with \texttt{pub-date}, suppresses comma before date +% \item[pub-xpar] with \texttt{pub-date} to suppress parentheses +% \item[pre-pub] publisher placed before chapter and page information +% \item[pre-edn] edition before publisher +% \item[pg-bk] add number of pages for books and booklets +% \item[pg-pre] with \texttt{pg-bk}, total pages comes before publisher +% \end{opt} +% +% \textbf{Abbreviations:} of various words, default is no abbreviations +% \begin{opt} +% \item[pp] abbreviate \textsl{page(s)} as \textsl{p.} and \textsl{pp.} +% \item[ppx] no word \textsl{page(s)} or abbreviation +% \item[ed] abbreviate \textsl{editor(s)} as \textsl{ed.} and +% \textsl{eds.} +% \item[ednx] abbreviates \textsl{edition} as \textsl{ed.} instead +% of \textsl{edn.} +% \item[abr] abbreviate \textsl{volume}, \textsl{edition}, +% \textsl{technical report}, etc. +% \item[mth-bare] months abbreviated without dots +% \item[jabr] abbreviate names of prestored journals +% \item[ord] write edition numbers as 1st, 2nd, instead as words. +% \item[xedn] suppress conversion of editions (for English) to avoid +% overflowing some \btx\ installations +% \end{opt} +% +% \textbf{Editor:} alternative for \emph{in edited} book, inbook, or proceedings. +% \begin{opt} +% \item[--] ``in \emph{names}, editors, \emph{title}'' +% \item[edpar] ``in \emph{names} (editors), \emph{title}'' +% \item[edparc] ``in \emph{names}, (editors) \emph{title}'' +% \item[edparxc] ``in \emph{names} (editors) \emph{title}'' +% \item[bkedcap] capitalizes ``Editor'' +% \end{opt} +% +% \textbf{Editor:} alternative for \emph{in edited} incollection or inproceedings. +% If none of these are selected, they are treated the same as an edited book. +% \begin{opt} +% \item[--] ``in \emph{names}, editors, \emph{title}'' +% \item[edby] ``in \emph{title}, edited by \emph{names}'' +% \item[edby-par] ``in \emph{title} (edited by \emph{names})'' +% \item[edby-parc] ``in \emph{title}, (edited by \emph{names})'' +% \item[edcap] (with \texttt{edby-par}) capitalizes ``Edited by'' or +% ``Editor'' +% \item[edbyx] (with \texttt{edby} or \texttt{edby-par}) replaces text +% \textsl{edited by} by \textsl{editor(s)} before the names, +% \item[edbyw] same as \texttt{edbyx} but with word \textsl{editor} only in +% parentheses +% \item[edbyy] (with \texttt{edby} or \texttt{edby-par}) replaces text +% \textsl{edited by} by \textsl{editor(s)} after the names, +% as ``in \emph{title}, \emph{names}, editors''. +% \end{opt} +% +% \textbf{ISBN, ISSN numbers:} include or not +% \begin{opt} +% \item[--] default is no ISBN number, ignore this field, +% \item[isbn] include an ISBN number as optional entry for books, booklets, +% incollections, inproceedings +% \item[issn] include an ISSN number for periodicals +% \end{opt} +% +% \textbf{URL address:} include or not, and how +% \begin{opt} +% \item[--] ignore URL field, +% \item[url] process URL field, +% \item[url-blk] (with \texttt{url}) URL text as regular blocked item, +% \item[url-nt] URL text treated as a note +% \item[url-nl] URL text added as new line below reference (Harvard style) +% \end{opt} +% +% \textbf{DOI number:} include or not +% \begin{opt} +% \item[--] default is not to include the Digital Object Identifier +% \item[doi] include the DOI number +% \item[agu-doi] place DOI number AGU style, as part of page designation +% +% \end{opt} +% +% \textbf{REV\TeX\ data fields:} for use with \texttt{revtex.bst}. +% \begin{opt} +% \item[--] Do not include extra fields for REV\TeX +% \item[revdata] Include fields \texttt{collaboration}, \texttt{eid}, +% \texttt{numpages} for REV\TeX. +% \end{opt} +% +% \textbf{Eprint field:} used by REV\TeX\ but can be used on its own. +% \begin{opt} +% \item[--] Do not include \texttt{eprint} and \texttt{archive} fields +% \item[eprint] Include \texttt{eprint} and \texttt{archive} fields. +% \end{opt} +% +% \textbf{Reference component tagging:} apply structure to the |\bibitem| contents. +% \begin{opt} +% \item[--] no tagging. +% \item[bibinfo] apply tags like |\bibinfo|, and |\eprint| to the fields of data +% in the content of the |\bibitem| statement. +% \end{opt} +% +% \textbf{Emphasis:} defines what `italicized' really means +% \begin{opt} +% \item[--] default is |\em| (can switch between |\it| +% and |\rm| +% \item[em-it] use |\it| instead (always italic) +% \item[em-x] no emphasis +% \item[em-ul] underline for emphasis (with or without \texttt{ulem}) +% \end{opt} +% +% \textbf{Special punctuation:} +% \begin{opt} +% \item[amper] use \& in place of \textsl{and} +% \item[varand] use command |\BIBand| in place of \textsl{and} +% \item[and-xcom] no comma before last \textsl{and} of an author list +% (citations and references) +% \item[and-com] add comma before \textsl{and} even for two authors (in list of +% references) +% \item[and-com-ed] the same as \texttt{and-com} but for editors in +% collections +% \item[xand] no \textsl{and} in an author list (references) +% \item[etal-it] \textsl{et al.} in italics +% \item[etal-rm] \textsl{et al.} in roman even if authors in different font +% \item[etal-xc] no comma before \textit{et al.} +% \end{opt} +% +% \textbf{Font commands:} +% \begin{opt} +% \item[--] use Plain \TeX\ (also \LaTeX~2.09) font commands +% \item[nfss] use |\textbf|, |\textit|, |\emph| in place of |\bf|, |\it|, +% and |\em|; only works then with \LaTeXe +% \end{opt} +% +% \textbf{Plain \TeX\ compatibility:} +% \begin{opt} +% \item[--] use \LaTeXe\ commands for testing, redefining commands +% \item[plntx] use \TeX\ for maximum compatibility +% \end{opt} +% +% +% \section{The Menu Information}\label{sec:menu} +% Here I describe the options and menu information for this particular +% master file \texttt{\filename}. To construct a \dtx{} driver file +% to generate a desired \texttt{.bst} file, simply process \texttt{makebst.tex} +% with \TeX\ or \LaTeX, and give +% \begin{quote}\tt\filename\end{quote} +% when prompted for the name of the master file. Then answer the questions +% in the menus that follow. The menu information is extracted from here. +% +% All the menu information is nested between \dtx{} guard options +% |%<*options>| \dots\ |%</options>|, and the last command is +% |\endoptions|. The rest of the file is nested between +% \begin{quote} +% |%<*!options&!driver&!bblbst>| \dots\ |</!options&!driver&!bblbst>| +% \end{quote} +% in order to exclude it if \dtx{} is used to +% extract the menu information, the documentation driver, or the +% \texttt{babelbst.tex} file. +% +% The main coding is divided into two sections, the \emph{head} and +% \emph{tail}; in between come any external language or journal name +% support files. The head part is marked with the \dtx{} guard option +% |<!tail>| and the tail with |<!head>|. This roundabout means of doing +% things makes it possible to process \texttt{\filename} with \texttt{.dbj} +% files that were generated for the older \texttt{genbst.mbs} file by +% simply changing the name of the source file as shown in +% Section~\ref{sec:update}. If both \texttt{head} and \texttt{tail} (and +% \texttt{exlang}) options are omitted, as they are in the older +% \texttt{.dbj} files, \texttt{\filename} is processed completely in one +% pass. To include external files, two passes are needed, one for each +% part, with the external file(s) coming in between. +% +% Note too that if the internal language commands are taken (i.e., if +% \texttt{exlang} option is not given) then the default language is +% English, which is tested for as |<!babel>|. This too permits the simple +% update of older \texttt{.dbj}, at least for English. +% +% \subsection*{Selecting Language} +% Explicit words in the bibliography style, such as \textsl{and}, +% \textsl{editor}, etc., +% are represented by functions \texttt{bbl.and}, \texttt{bbl.editor}, and so on. +% By default these functions translate to the normal English text, but +% other languages are also possible. +% +% The definitions of these functions for other languages are contained in +% external files. At this point, we can make use of features in +% \texttt{makebst} (version~3.0 or later) to ask for the name of such a +% definition file, and store it in |\cfile|. If no external file is +% specified, then the internal definitions are taken, for which there are +% two possibilities: English or \LaTeX{} commands (Babel). +% +% The commands |\MBswitch|, |\mes|, |\MBaskfile|, |\wr|, |\pc|, |\spsp| are +% defined in \texttt{makebst.tex}. +% +% If |\MBswitch| does not exist, then the version of \texttt{makebst} +% cannot support external files. +% +% \begin{macrocode} +%<*options> +\expandafter\ifx\csname beginoptiongroup\endcsname\relax + \mes{^^J******************^^J% + !!!!!! VERSION CLASH !!!!!!!!!^^J% + This mbs file requires makebst version 4.0 or more^^J% + You must update makebst to run it with this mbs file^^J% + No docstrip batch file can be produced on this run^^J% + ******************} + \let\temp\endinput\else\let\temp\relax\fi\temp + +\newif\ifnumerical +\newif\ifmytemp +\mes{<<< For more information about the meanings of^^J% + <<< the various options, see the section on ^^J% + <<< Menu Information in the .mbs file documentation.} + +\umes{EXTERNAL FILES:} +\expandafter\ifx\csname MBswitch\endcsname\relax + \mes{^^J**************^^J% + Makebst version is less than 3.0^^J% + Cannot add external file for language definition^^J% + **************} + \umes{No included files.}% + \def\cfile{}\def\jfile{}% +\else + \MBaskfile{^^JName of language definition file}(\mroot.\mext)i\cfile + \edef\ctemp{\mroot.\mext} + \ifx\ctemp\cfile\def\cfile{}\fi + \umes{Name of language file: \string\cfile=\cfile.}% +% \end{macrocode} +% +% A second type of external file that can be added is one containing names +% of journals that are to be prestored into the \texttt{.bst} file. +% Several file names are allowed here, with the root names separated by +% commas, and with the common extension added at the end. To assist later +% parsing of the names, an additional comma is added before the extension. +% +% Note that in this case |\MBaskfile| treats the file(s) as output, i.e., +% it does not check if the file(s) actually exist. +% +% The macro |\Mgetnext| allows the root names to be extracted from the +% list of file names. +% \begin{macrocode} + \def\jfile{} + \ask{\yn}{^^JInclude file(s) for extra journal names? (NO)} + \mytempfalse + \if!\yn!\else\if\yn n\else\if\yn N\else\mytemptrue\fi\fi\fi + \ifmytemp + \MBaskfile{^^JFile to include}(physjour,geojour,photjour.mbs)o\jfile + \edef\jfile{\froot,.\fext} + \umes{Name of included files: \string\jfile=\jfile.}% + \else + \umes{No included files.}% + \fi +\fi%MBswitch +\def\Mgetnext#1,#2.#3??{\def\froot{#1}\def\Mrest{#2}\def\fext{#3}} +% \end{macrocode} +% +% If no external files are specified, then both |\cfile| and |\jfile| are +% empty. In this case, do \emph{not} set the options \texttt{head} and +% \texttt{tail}, which control the \dtx{} passes through +% \texttt{filename}. Now only one pass is made. +% +% If there is an external definition file, or if an external list of +% journal names, then some extra text must be +% written to fit in with that already written by \texttt{makebst}. This is +% explained in that documentation. The |\MBswitch| command turns the curly +% braces |{..}| into normal characters, and the parentheses |(..)| take on +% their grouping functionality. This permits unbalances braces to be +% written to the output file. +% +% \begin{macrocode} +\if!\cfile\jfile!\else + \begingroup\MBswitch + \wr(\spsp head,\string\MBopta}) + \if!\cfile!\else + \wr(\string\from{\cfile}{\string\MBopta}) + \fi + \if!\jfile!\else + \let\jxfile\jfile + \loop +% \end{macrocode} +% +% Parse the list of journal name files, adding a new |\from| for each one. +% +% \begin{macrocode} + \expandafter\Mgetnext\jxfile?? + \wr(\string\from{\froot.\fext}{\string\MBopta}) + \edef\jxfile(\Mrest.\fext) + \if!\Mrest!\def\Mtst(1)\else\def\Mtst()\fi + \if!\Mtst! + \repeat + \fi + \wr(\string\from{\mroot.\mext}{tail,\string\MBopta}}) + \wr(\string\def\string\MBopta{\pc) + \endgroup +\fi +% \end{macrocode} +% +% Ask whether +% explicit English words wanted or \LaTeX{} commands whose definitions are +% to be found in the file \texttt{babelbst.tex}. +% +% \begin{macrocode} +\beginoptiongroup{INTERNAL LANGUAGE SUPPORT + (if no external language file)}% + {\if!\cfile!\relax*\fi}% +\optdef{*}{}{English}{words used explicitly} +\optdef{b}{babel}{Babel} + {(words replaced by commands defined in babelbst.tex)} +\getans +\endoptiongroup +\if!\cfile!\relax\else +\wr{\spsp\spsp exlang,\pc: External language file} +\fi +% \end{macrocode} +% +% \subsection*{Author--year or numerical} +% The first question is whether a numerical or author--year citation style +% is to be used. If the latter, the supporting system is my {\tt +% natbib.sty}, which expects |\bibitem| to have an optional argument +% containing the short form of the authors, plus year in parentheses. +% E.g., +% \begin{quote} +% |\bibitem[Daly et al.(1990)]{key}...| +% \end{quote} +% There is now a newer version of \texttt{natbib.sty} (v5.3) that +% supports an optional full author list too, as +% \begin{quote} +% |\bibitem[Daly et al.(1990)Daly, Keppler, and Williams]{key}...| +% \end{quote} +% Other systems are also supported, such as the Harvard family of +% bibliography styles (with \texttt{harvard.sty}), which have entries in the +% form +% \begin{quote} +% |\harvarditem[Daly et al.]{Daly, Keppler,|\\ +% | and Williams}{1990}{key}...| +% \end{quote} +% or the astronomy family (with \texttt{astron.sty}) with entries like +% \begin{quote} +% |\bibitem[\protect\astroncite{Daly et al.}{1990}]{key}...| +% \end{quote} +% or the Chicago family (with \texttt{chicago.sty}) with entries like +% \begin{quote} +% |\bibitem[\protect\citeautheryear{Daly, Keppler, and|\\ +% | Williams}{Daly et al.}{1990}]{key}...| +% \end{quote} +% or the `named' variant of Chicago (with \texttt{named.sty}) with entries like +% \begin{quote} +% |\bibitem[\protect\citeauthoryear{Daly et al.}{1990}]{key}...| +% \end{quote} +% or the so-called ``author--date'' group (with \texttt{authordate1-4.sty}) +% with entries of the form +% \begin{quote} +% |\bibitem[\protect\citename{Daly et al.}1990]{key}...| +% \end{quote} +% Finally, there is the \texttt{apalike} format of Oren Patashnik, for use +% with \texttt{apalike.sty} that has entries of the form +% \begin{quote} +% |\bibitem[Daly et al., 1990]{key}...| +% \end{quote} +% +% In addition to numerical or author--year citation styles, there is also a +% \texttt{cite} style available in which the label is the same as the cite +% key. This is for listing entire contents of databases with the cite key +% visible. +% +% A flag |\ifnumerical| is established because some of the following menu +% features depend on which system is to be used. +% +% The \texttt{alph} option produces labels as in \texttt{alpha.bst}; options +% \texttt{alf-1} and \texttt{alf-f} modify these. Standard is: first three +% letters of the single author (Dal90 for Daly, 1990) and first letters of +% first three authors (DK90 for Daly and Kopka, 1990). Alternatives are first +% three letters of the first author, no matter how many authors there are, and +% full name of first author. +% \begin{macrocode} +\beginoptiongroup{STYLE OF CITATIONS:}{} +\optdef{*}{}{Numerical}{as in standard LaTeX} +\optdef{a}{ay}{Author-year}{with some non-standard interface} +\optdef{b}{alph}{Alpha style, Jon90 or JWB90}{for single or multiple authors} +\optdef{o}{alph,alf-1}{Alpha style, Jon90}{even for multiple authors} +\optdef{f}{alph,alf-f}{Alpha style, Jones90}{(full name of first author)} +\optdef{c}{cite}{Cite key}{(special for listing contents of bib file)} +\getans +\endoptiongroup +\if\ans a\numericalfalse\else\numericaltrue\fi +\if\ans b\mytempfalse \else\mytemptrue \fi +\beginoptiongroup{HTML OUTPUT + (if non author-year citations)} + {\ifnumerical*\fi} +\optdef{*}{}{Normal LaTeX}{output} +\optdef{h}{html}{Hypertext}{output, in HTML code, in paragraphs} +\optdef{n}{html,htlist}{Hypertext list}{with sequence numbers} +\optdef{k}{html,htdes}{Hypertext with keys}{for viewing databases} +\getans +\endoptiongroup +\beginoptiongroup{AUTHOR--YEAR SUPPORT SYSTEM + (if author-year citations)} + {\ifnumerical\else*\fi} +\optdef{*}{nat}{Natbib}{for use with natbib v5.3 or later} +\optdef{o}{}{Older Natbib}{without full authors citations} +\optdef{l}{alk}{Apalike}{for use with apalike.sty} +\optdef{h}{har}{Harvard}{system with harvard.sty} +\optdef{a}{ast}{Astronomy}{system with astron.sty} +\optdef{c}{cay}{Chicago}{system with chicago.sty} +\optdef{n}{nmd}{Named}{system with named.sty} +\optdef{d}{cn}{Author-date}{system with authordate1-4.sty} +\getans +% \end{macrocode} +% The \texttt{harvard} family has been extended for \LaTeXe, and the new +% \texttt{.bst} files allow the word \textsl{and} and the brackets around years +% to be variable with commands. These features may be added too. +% The URL field used to be exclusively part of Harvard, but now exists +% independently of it too. +% +% \begin{macrocode} +\beginoptiongroup{HARVARD EXTENSIONS INCLUDED + (if Harvard support selected)} + {\if\ans h*\fi}% +\optdef{*}{harnm}{With Harvard extensions}{for LaTeX2e version of harvard.sty} +\optdef{n}{}{Older Harvard}{style, for LaTeX 2.09} +\getans +\endoptiongroup +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Language switching} +% A \texttt{language} field can be present to specify the original language of +% the reference; with \verb!\setlanguge!, the hyphenation patterns are set for +% setting the title in that language. +% \begin{macrocode} +\beginoptiongroup{LANGUAGE FIELD}{} +\optdef{*}{}{No language field}{} +\optdef{l}{lang}{Add language field}{to switch hyphenation patterns temporarily} +\getans +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Annotations} +% Annotations to a reference are additional information not normally printed +% out in the list of references. They are used for listing databases. +% The coding here was offered by Soren Dayton. +% \begin{macrocode} +\beginoptiongroup{ANNOTATIONS:}{} +\optdef{*}{}{No annotations}{will be recognized} +\optdef{a}{annote}{Annotations}{in annote field or in .tex file of citekey name} +\getans +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Ordering of the listed references} +% Choices here depend on citation style. The default in both cases is +% alphabetical order of all authors. For numerical style, one may also +% choose an unsorted order, which means the order is the same as the original +% citations. This corresponds to \texttt{unsrt.bst}. Order of citation is +% also offered for author--year for \texttt{natbib}-type styles that can +% also be used for numerical listings. +% +% Another possibility is to order first by year, then authors. This too only +% makes sense for numerical citations. However, it is offered for author--year +% in the event that a \texttt{natbib}-type style is used for numerical +% listings. +% +% For the alpha style, the ordering is by label only, so no option is +% offered here (|\ifnumerical| is \meta{true} and |\ifmytemp| is \meta{false}). +% +% For author--year, the second choice is by label. (The label is the +% optional |\bibitem| argument, and is what is printed in place of the +% |\cite| command.) With this option, all the papers with the same first +% author are ordered so that the one-author papers come first, followed by +% the two-author papers, followed by the multiple-author papers. This is a +% more sensible system for author--year citations, and is demanded by some +% journals (like JGR). +% +% One problem that can arise here is when two or more references have the +% same set of authors and year; normally they are then ordered by the +% title, ignoring initial words like \textsl{the} and \textsl{a}, with the +% letters a, b, +% c, \dots, added to the year. This can mean that a set of references with +% a natural sequence will be put into a different order. An alternative is +% to order them by the citation keyword instead of by title. This of course +% assumes that the keywords in this case reflect that natural sequence. +% \begin{macrocode} +\let\ans\relax +\beginoptiongroup{ORDERING OF REFERENCES + (if non-author/year and non-alph)} + {\ifnumerical\ifmytemp*\fi\fi}% +\optdef{*}{}{Alphabetical}{by all authors} +\optdef{c}{seq-no}{Citation order}{(unsorted, like unsrt.bst)} +\optdef{d}{seq-yr}{Year ordered}{and then by authors} +\optdef{r}{seq-yrr}{Reverse year ordered}{and then by authors} +\getans +\endoptiongroup +% +\beginoptiongroup{ORDERING OF REFERENCES + (if author-year citations)} + {\ifnumerical\else*\fi}% +\optdef{*}{}{Alphabetical}{by all authors} +\optdef{l}{seq-lab}{By label}% + {(Jones before Jones and James before Jones et al)} +\optdef{k}{seq-key}{By label and cite key}{instead of label and title, as above} +\optdef{d}{seq-yr}{Year ordered}{and then by authors (for publication lists)} +\optdef{r}{seq-yrr}{Reverse year ordered}{and then by authors (most recent first)} +\optdef{c}{seq-no}{Citation order}{(unsorted, only meaningful for numericals)} +\getans +\endoptiongroup +% \end{macrocode} +% The standard \btx\ styles consider the \emph{von} part of the name to be a +% fixed part of the surname. European usage tends to alphabetize ignoring these +% honorifics. +% \begin{macrocode} +\beginoptiongroup{ORDER ON VON PART + (if not citation order)} + {\if\ans c\else*\fi}% +\optdef{*}{}{Sort on von part}{(de la Maire before Defoe)} +\optdef{x}{vonx}{Sort without von part}{(de la Maire after Mahone)} +\getans +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Formatting author names} +% The default is that the full names of the authors are listed, given names +% first, unabbreviated. Of course, if only the initials have been given in +% the \texttt{.bib} file, then that is all that can appear in the list. Other +% possibilities are to use initials (even if full names in the \texttt{.bib} +% file) either before or after the surnames. A specialty of the journals of +% the American Geophysical Union is to have only the first name with +% reversed initials. +% +% If the reference is part of a larger work with editors, then the editor +% names appear later in the reference text, usually as ``edited by \dots'' +% or as ``\emph{names} (editors)''. In these cases, the editor names are +% not usually reversed (surname first) even if the authors' names are. +% An option is provided to format such editor names exactly as the authors'. +% \begin{macrocode} +\beginoptiongroup{AUTHOR NAMES:}{} +\optdef{*}{ed-au}{Full, surname last}{(John Frederick Smith)} +\optdef{f}{nm-revf}{Full, surname first}{(Smith, John Frederick)} +\optdef{i}{nm-init,ed-au}{Initials + surname}{(J. F. Smith)} +\optdef{r}{nm-rev}{Surname + initials}{(Smith, J. F.)} +\optdef{s}{nm-rv}{Surname + dotless initials}{(Smith J F)} +\optdef{w}{nm-rvvc}{Surname + comma + spaceless initials}{(Smith, J.F.)} +\optdef{x}{nm-rvx}{Surname + pure initials}{(Smith JF)} +\optdef{y}{nm-rvcx}{Surname + comma + pure initials}{(Smith, JF)} +\optdef{z}{nm-rvv}{Surname + spaceless initials}{(Smith J.F.)} +\optdef{a}{nm-rev1}{Only first name reversed, initials}% + {(AGU style: Smith, J. F., H. K. Jones)} +\optdef{b}{nm-revv1}{First name reversed, with full names}% + {(Smith, John Fred, Harry Kab Jones)} +\getans +\endoptiongroup +\mytempfalse +\if\ans f\mytemptrue\fi +\if\ans r\mytemptrue\fi +\if\ans s\mytemptrue\fi +\if\ans x\mytemptrue\fi +\if\ans y\mytemptrue\fi +\if\ans a\mytemptrue\fi +\if\ans b\mytemptrue\fi +\beginoptiongroup{EDITOR NAMES IN COLLECTIONS + (if author names reversed)} + {\ifmytemp*\fi} +\if\ans r +\optdef{*}{}{Editor names NOT reversed}{as edited by J. J. Smith} +\fi +\if\ans s +\optdef{*}{}{Editor names NOT reversed}{as edited by J J Smith} +\fi +\if\ans a +\optdef{*}{}{Editor names NOT reversed}{as edited by J. J. Smith} +\fi +\if\ans x +\optdef{*}{}{Editor names NOT reversed}{as edited by JJ Smith} +\fi +\if\ans f +\optdef{*}{}{Editor names NOT reversed}{as edited by John James Smith} +\fi +\if\ans y +\optdef{*}{}{Editor names NOT reversed}{as edited by J.J. Smith} +\fi +\if\ans b +\optdef{*}{}{Editor names NOT reversed}{as edited by John James Smith} +\fi +\optdef{r}{ed-rev}{Editor names reversed}{just like authors'} +\getans +\beginoptiongroup{POSITION OF JUNIOR + (if author names reversed)} + {} +\optdef{*}{jnrlst}{Junior comes last}{as Smith, John, Jr.} +\optdef{m}{}{Junior between}{as Smith, Jr., John} +\getans +\endoptiongroup +\endoptiongroup + +\beginoptiongroup{JUNIOR PART IN THE CITATION + (if author-year citations)} + {\ifnumerical\else*\fi}% +\optdef{*}{}{No `junior' part in the citations}{but in the ref listing} +\optdef{j}{jnrlab}{`Junior' in citations}{as well as in ref listing} +\getans +\endoptiongroup + +\beginoptiongroup{PUNCTUATION BETWEEN AUTHOR NAMES:}{} +\optdef{*}{}{Author names separated by commas}{} +\optdef{s}{aunm-semi}{Names separated by semi-colon}{} +\optdef{h}{aunm-sl}{Names separated by slash}{/} +\getans +\endoptiongroup + +\beginoptiongroup{ADJACENT REFERENCES WITH REPEATED NAMES:}{} +\optdef{*}{}{Author/editor names always present}{} +\optdef{d}{nmdash}{Repeated author/editor names replaced by dash}{} +\optdef{2}{nmdash,nmd-2}{Repeated author/editor names replaced by 2 dashes}{} +\optdef{3}{nmdash,nmd-3}{Repeated author/editor names replaced by 3 dashes}{} +\getans +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Number of authors} +% Normally the complete list of authors as given in the \texttt{.bib} file is +% presented in the reference list. However, some journals prefer to limit +% them to a maximum. If there are more than this maximum number of author +% names, then a minimum number plus \textsl{et al.} are listed. +% +% Because no test for consistency of the numbers is carried out in the +% \texttt{.bst} file itself (it might be possible, but I found it too complex), +% this is done here. +% \begin{macrocode} +\beginoptiongroup{NUMBER OF AUTHORS:}{} +\optdef{*}{}{All authors}{included in listing} +\optdef{l}{nmlm}{Limited authors}{(et al replaces missing names)} +\getans +\endoptiongroup +\if\ans l +\loop + \ask{\num}{Maximum number of authors (1-99)} + \ifnum\num>99\relax + \mes{*** Must be between 1 and 99} +\repeat +\def\parsenum#1#2{\if#2\relax\wr{\spsp\spsp x#1,\pc: Maximum of #1\space authors} + \else\wr{\spsp\spsp x#10,x#2,\pc: Maximum of #1#2\space authors}\fi} +\expandafter\parsenum\num\relax +\mes{\spsp You have selected maximum \num\space authors} +\edef\numx{\num} +\loop + \ask{\num}{Minimum number (before et al given) (1-\numx)} + \ifnum\num>\numx + \mes{*** Must be between 1 and \numx} +\repeat +\def\parsenum#1#2{\if#2\relax\wr{\spsp\spsp m#1,\pc: Minimum of #1\space authors} + \else\wr{\spsp\spsp m#10,m#2,\pc: Minimum of #1#2\space authors}\fi} +\expandafter\parsenum\num\relax +\mes{\spsp You have selected minimum \num\space authors} +\fi + +% \end{macrocode} +% +% \subsection*{Typeface of names} +% The author names in the list of references normally appear in the current +% typeface. This may be changed to small caps, bold, or italics. +% +% Alternatively, the surnames only can be formatted, with the first names in the +% regular font. One can also specify that the words `and' and `et~al.'\ should be +% in the regular font, or that `et~al.'\ be italic. +% +% Another possibility is that the names be put into a command |\bibnamefont{..}|, +% which must be defined in the \LaTeX\ document. By default, this command does +% not format its argument. There is also a |\bibfnamefont| command for the first +% names, to be user-defined. +% +% Editor names in a collection or in a book will not normally have these +% fonts applied to them; this may be additionally selected. +% +% \begin{macrocode} +\beginoptiongroup{TYPEFACE FOR AUTHORS IN LIST OF REFERENCES:}{} +\optdef{*}{}{Normal font for author names}{} +\optdef{s}{nmft,nmft-sc}{Small caps authors}{(\string\sc)} +\optdef{i}{nmft,nmft-it}{Italic authors}{(\string\it\space or \string\em)} +\optdef{b}{nmft,nmft-bf}{Bold authors}{(\string\bf)} +\optdef{u}{nmft,nmft-def}{User defined author font}{(\string\bibnamefont)} +\getans +\endoptiongroup +\mytempfalse +\if\ans i\mytemptrue\fi +\if\ans s\mytemptrue\fi +\if\ans b\mytemptrue\fi +\if\ans u\mytemptrue\fi +\beginoptiongroup{FONT FOR FIRST NAMES + (if non-default font for authors)} + {\ifmytemp*\fi}% +\optdef{*}{}{First names same font as surnames}{} +\optdef{r}{fnm-rm}{First names in normal font}{} +\optdef{u}{fnm-def}{First names in user defined font}{(\string\bibfnamefont)} +\getans +\beginoptiongroup{EDITOR NAMES IN INCOLLECTION ETC:}{} +\optdef{*}{}{Editors incollection normal font}{} +\optdef{a}{nmfted}{Editors incollection like authors}{font} +\getans +\endoptiongroup + +\beginoptiongroup{FONT FOR `AND' IN LIST:}{} +\optdef{*}{}{`And' in author font}{(JONES AND JAMES)} +\optdef{r}{nmand-rm}{`And' in normal font}{(JONES and JAMES)} +\getans +\endoptiongroup +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Names in Citation label} +% This applies to author--year style only. The label is the text written +% by the |\cite| command, and for author--year style, this is something like +% `Daly et al.\ (1990b)'. One may select italics for the authors and for the +% extra label attached to the year. The year always remains plain. +% +% This parallels the font selection for the names in the list of references +% except that there no choice for the first names, since only surnames +% are used in the labels. A user-defined |\citefontname| may also +% be selected, but this \emph{must} be defined by the user since there +% will be no default definition for it. +% +% If a font is selected for the cited authors, then the word `and' may be +% optionally put in the normal font. +% +% It is not possible to select the type of brackets for the year, since +% this is determined by the \LaTeX{} style option that manages the +% author--year citations. This is not standard \LaTeX, so that there are a +% number of private style files for achieving this. +% \begin{macrocode} +\beginoptiongroup{FONT OF CITATION LABELS IN TEXT + (if author-year citations)} + {\ifnumerical\else*\fi}% +\optdef{*}{}{Cited authors plain}{as result of \string\cite\space command} +\optdef{i}{lab,lab-it}{Cited authors italic}{} +\optdef{s}{lab,lab-sc}{Cited authors small caps}{} +\optdef{b}{lab,lab-bf}{Cited authors bold}{} +\optdef{u}{lab,lab-def}{User defined citation font}{(\string\citenamefont)} +\getans + +\mytempfalse +\if\ans i\mytemptrue\fi +\if\ans s\mytemptrue\fi +\if\ans b\mytemptrue\fi +\if\ans u\mytemptrue\fi +\beginoptiongroup{FONT FOR `AND' IN CITATIONS + (if non-default font for citation lables)} + {\ifmytemp*\fi}% +\optdef{*}{}{Cited `and' in author font}{} +\optdef{r}{and-rm}{Cited `and' in normal font}{} +\getans +\endoptiongroup +\beginoptiongroup{FONT OF EXTRA LABEL + (The extra letter on the year)}{} +\optdef{*}{}{Extra label plain}{} +\optdef{i}{xlab-it}{Extra label italic}{} +\getans +\endoptiongroup +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Label for missing author names} +% +% If the author and/or editor is missing, the standard \texttt{.bst} files +% use the \texttt{key} field in place of the names for purposes of ordering the +% entries. +% +% For author--year styles, the \texttt{key} field is even inserted in the +% reference list and in the label in place of the authors. Optionally, one can +% suppress the year in this case, which causes \texttt{natbib} (version~7) +% to print only that key text as a code designation for the work. Thus if +% \texttt{KEY = "CS1-345"} and there are no authors, then |\citep| produces +% (CS1-345) and |\citet| simply CS1-345. That is, they behave like +% |\citeauthor|. If \texttt{natbib} did not recognize the blank year, one would +% get (CS1-345, ) and CS1-345 (). (Earlier versions of \texttt{natbib} crash on +% a blank year.) +% \begin{macrocode} +\beginoptiongroup{LABEL WHEN AUTHORS MISSING + (if author-year citations)} + {\ifnumerical\else*\fi}% +\optdef{*}{keyxyr}{Year blank when KEY replaces missing author}{(for natbib 7.0)} +\optdef{y}{}{Year included when KEY replaces missing author}{} +\getans +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Missing date} +% A missing date can be set to ???? or simply left blank. In the latter case, +% \texttt{natbib} version~7 will print only the authors without any year +% punctuation or brackets. +% +% \begin{macrocode} +\beginoptiongroup{MISSING DATE + (if author-year citations)} + {\ifnumerical\else*\fi}% +\optdef{*}{}{Missing date set to ????}{in label and text} +\optdef{b}{blkyear}{Missing date left blank}{} +\getans +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Position of date} +% This applies to author--year style only. It makes sense to put the date +% immediately after the author list, since the two items (author and year) +% are the identifiers of the reference. Default position is at the +% end of the references, before any notes. It is also possible to place +% it even after the notes. +% +% Medical journals have a system where the date is part of the journal +% specification, as Lancet 1994;45(2):34--40. Otherwise the date appears at +% the end. +% \begin{macrocode} +\beginoptiongroup{DATE POSITION:}{} +\optdef{*}{}{Date at end}{} +\optdef{b}{dt-beg}{Date after authors}{} +\optdef{j}{dt-jnl}{Date part of journal spec.}{(as 1994;45:34-40) else at end} +\optdef{e}{dt-end}{Date at very end}{after any notes} +\getans +\endoptiongroup +\if\ans b\mytemptrue\else\if\ans j\mytemptrue\else\mytempfalse\fi\fi +% \end{macrocode} +% +% \subsection*{Format of date} +% The year may be enclosed in parentheses, brackets, or preceded by a +% colon. If none of these are selected, the date (month plus year) appears. +% For author--year, the date normally consists only of the year, no month, +% but this may be overridden. +% +% If the date comes just after the authors, then one might want special +% punctuation following it, like a colon, or space only. The latter is +% probably desirable if the date is brackets or parentheses. +% +% The date can even be put into bold face. +% \begin{macrocode} +\beginoptiongroup{DATE FORMAT + (if non author-year citations)} + {\ifnumerical*\fi}% +\optdef{*}{}{Plain month and year}{without any brackets} +\optdef{p}{yr-par}{Date in parentheses}{as (May 1993)} +\optdef{b}{yr-brk}{Date in brackets}{as [May 1993]} +\optdef{c}{yr-col}{Date preceded by colon}{as `: May 1993'} +\optdef{d}{yr-per}{Date preceded by period}{as `. May 1993'} +\optdef{m}{yr-com}{Date preceded by comma}{as `, May 1993'} +\optdef{s}{yr-blk}{Date preceded by space}{only, as ` May 1993'} +\getans +\beginoptiongroup{SUPPRESS MONTH:}{} +\optdef{*}{}{Date is month and year}{} +\optdef{x}{xmth}{Date is year only}{} +\getans +\endoptiongroup +\beginoptiongroup{REVERSED DATE + (if including month)} + {\if\ans x\else*\fi}% +\optdef{*}{}{Date as month year}{} +\optdef{r}{dtrev}{Date as year month}{} +\getans +\endoptiongroup +\endoptiongroup + +\beginoptiongroup{DATE FORMAT + (if author-year citations)} + {\ifnumerical\else*\fi}% +\optdef{*}{}{Year plain}{without any brackets} +\optdef{p}{yr-par}{Year in parentheses}{as (1993)} +\optdef{b}{yr-brk}{Year in brackets}{as [1993]} +\optdef{c}{yr-col}{Year preceded by colon}{as `: 1993'} +\optdef{d}{yr-per}{Year preceded by period}{as `. 1993'} +\optdef{m}{yr-com}{Date preceded by comma}{as `, 1993'} +\optdef{s}{yr-blk}{Year preceded by space}{only, as ` 1993'} +\getans +\beginoptiongroup{INCLUDE MONTHS:}{} +\optdef{*}{}{Date is year only}{without the month} +\optdef{m}{aymth}{Include month in date}{} +\getans +\endoptiongroup +\beginoptiongroup{REVERSED DATE + (if including month)} + {\if\ans m*\fi}% +\optdef{*}{}{Date as month year}{} +\optdef{r}{dtrev}{Date as year month}{} +\getans +\endoptiongroup +\endoptiongroup + +\beginoptiongroup{DATE PUNCTUATION + (if date not at end)} + {\ifmytemp*\fi}% +\optdef{*}{}{Date with standard block punctuation}{(comma or period)} +\optdef{c}{yrp-col}{Colon after date}{as 1994:} +\optdef{s}{yrp-semi}{Semi-colon after date}{as 1994;} +\optdef{p}{yrp-per}{Period after date}{even when blocks use commas} +\optdef{x}{yrp-x}{No punct. after date}{} +\getans +\beginoptiongroup{BLANK AFTER DATE:}{} +\optdef{*}{}{Space after date}{and punctuation} +\optdef{x}{yrpp-xsp}{No space after date}{as 1994:45} +\getans +\endoptiongroup +\endoptiongroup +\beginoptiongroup{DATE FONT:}{} +\optdef{*}{}{Date in normal font}{} +\optdef{b}{dtbf}{Date in bold face}{} +\getans +\endoptiongroup +% \end{macrocode} +% +% Normally in author--year citations, the \texttt{year} entry is truncated +% to the last 4 characters, which should be the 4 digits of the year. Some +% users have requested the possibility of suppressing this truncation so +% that they may put text in the \texttt{year} field, such as ``in press.'' +% Another use for it is when years are given as ``1968--72''. Actually, +% I have no idea why the year should be truncated at all. +% \begin{macrocode} +\beginoptiongroup{TRUNCATE YEAR + (if author-year citations)} + {\ifnumerical\else*\fi}% +\optdef{*}{note-yr}{Year text full}{as 1990--1993 or `in press'} +\optdef{t}{}{Year truncated}{to last 4 digits} +\getans +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Article title in journal} +% The title of an article in a journal or in a collection (a book, or +% conference proceedings) may appear plain, in italics, within single +% or double quotes or even in guillemets. The last is best with T1 coding; a +% poor man's version for OT1 is provided; \LaTeXe\ is required in both cases. +% +% Furthermore, it may have sentence capitalization (first +% word and word following colon) or be capitalized as in the \texttt{.bib} file +% entry. That is why it is recommended to capitalize the entry text as it +% should appear when fully capitalized, putting words that are always +% capitalized in braces. Example: +% \begin{quote} +% |TITLE="The Results of the {Giotto} Mission"| +% \end{quote} +% which produces either ``The results of the Giotto mission'' or ``The +% Results of the Giotto Mission'', depending on option. +% +% Additionally, the article titles may be fully suppressed. +% \begin{macrocode} +\beginoptiongroup{TITLE OF ARTICLE:}{} +\optdef{*}{}{Title plain}{with no special font} +\optdef{i}{tit-it}{Title italic}{(\string\em)} +\optdef{q}{tit-qq,qt-s}{Title and punctuation in single quotes}{(`Title,' ..)} +\optdef{d}{tit-qq}{Title and punctuation in double quotes}{(``Title,'' ..)} +\optdef{g}{tit-qq,qt-g}{Title and punctuation in guillemets}{(<<Title,>> ..)} +\optdef{x}{tit-qq,qt-s,qx}{Title in single quotes}{(`Title', ..)} +\optdef{y}{tit-qq,qx}{Title in double quotes}{(``Title'', ..)} +\optdef{z}{tit-qq,qt-g,qx}{Title in guillemets}{(<<Title>>, ..)} +\getans +\endoptiongroup +\mytempfalse +\if\ans q\mytemptrue\fi +\if\ans d\mytemptrue\fi +\if\ans g\mytemptrue\fi +\if\ans x\mytemptrue\fi +\if\ans y\mytemptrue\fi +\if\ans z\mytemptrue\fi +\beginoptiongroup{COLLECTION/PROCEEDINGS TITLES + (if quoted title)} + {\ifmytemp*\fi}% +\optdef{*}{bt-qq}{Quote collection and proceedings titles}{too} +\optdef{x}{}{Collection and proceedings titles not in quotes}{} +\getans +\endoptiongroup +\beginoptiongroup{CAPITALIZATION OF ARTICLE TITLE:}{} +\optdef{*}{}{Sentence style}{(capitalize first word and those in braces)} +\optdef{t}{atit-u}{Title style}{(just as in bib entry)} +\getans +\endoptiongroup + +\beginoptiongroup{ARTICLE TITLE PRESENT:}{} +\optdef{*}{}{Article title present}{in journals and proceedings} +\optdef{x}{jtit-x}{No article title}{} +\getans +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Journal names} +% Abbreviated journal names normally contain periods; the periods may be +% removed with this option. In fact, only letters, numbers, and spacing are +% retained. +% \begin{macrocode} +\beginoptiongroup{JOURNAL NAMES:}{} +\optdef{*}{}{Periods in journal names}{are retained, as `Phys. Rev.'} +\optdef{x}{jxper}{Dotless journal names}{as `Phys Rev'} +\getans +\endoptiongroup +% \end{macrocode} +% Journal name is normally printed in italics; can be left in normal font. +% \begin{macrocode} +\beginoptiongroup{JOURNAL NAME FONT:}{} +\optdef{*}{}{Journal name italics}{} +\optdef{r}{jttl-rm}{Journal name normal}{font} +\getans +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Title of Theses and Technical Reports} +% The title of a these (PhD or Master's) is normally treated the same +% as that of a book. Optionally, it may be formatted like that of +% an article. +% +% The title of a technical report is normally treated the same as that +% of an article. Optionally, it may be formatted like that of a book. +% +% \begin{macrocode} +\beginoptiongroup{THESIS TITLE:}{} +\optdef{*}{}{Thesis titles like books}{} +\optdef{a}{thtit-a}{Thesis title like article}{} +\optdef{x}{thtit-x}{No thesis title}{} +\getans +\endoptiongroup + +\beginoptiongroup{TECHNICAL REPORT TITLE:}{} +\optdef{*}{}{Tech. report title like articles}{} +\optdef{b}{trtit-b}{Tech. report title like books}{} +\getans +\endoptiongroup + +\beginoptiongroup{TECHNICAL REPORT NUMBER:}{} +\optdef{*}{}{Tech. report and number plain}{as `Tech. Rep. 123'} +\optdef{i}{trnum-it}{Tech. report and number italic}% + {as `{\string\it\space Tech. Rep. 123'}} +\getans +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Journal reference} +% Great diversity of opinion exists as to how a journal reference is to be +% formatted. It consists of a volume, possibly a number, and page limits. +% The number is really only necessary if the page numbers within one volume +% start at 1 for each physical `number'. Since journals are often bound +% together in one volume later, it makes more sense to number the pages +% continuously through the whole volume. +% +% I am only aware of one journal that used to reset the pagination for each +% `number', in which case the number was part of the page designation. +% I had erroneously provided an option \texttt{vnum-pg} to achieve this, but I +% now realize that instead, for this one journal, the database entries must +% contain \texttt{pages="(2)33--2(55)"}. This option has been removed at +% version 3.84. +% +% A number of styles for journal specifications are +% \begin{quote} +% \begin{tabular}{l@{\qquad}l} +% 21(2):33--55 & 21, no.\ 2: 33--55\\ +% \textbf{21}(2):33--55 & \textbf{21}, \#2, 33--55\\ +% \textit{21}(2), 33--55 & \textit{21} (2); 33--55 \\ +% 21(2) (1995) 33--55 & 21(1995), 33-55\\ +% 21(2) 33--55 & vol.~21 (2), pp.~33--55 +% \end{tabular} +% \end{quote} +% +% Here both start and stop page numbers have been given; often only the +% start page is wanted. +% +% It is also possible to include the year as part of the journal specification, +% in which case the year is always in parentheses, attached snugly or with space +% to the volume, or preceding the pages. +% +% \begin{macrocode} +\beginoptiongroup{JOURNAL VOLUME:}{} +\optdef{*}{}{Volume plain}{as vol(num)} +\optdef{i}{vol-it}{Volume italic}{as {\string\em\space vol}(num)} +\optdef{b}{vol-bf}{Volume bold}{as {\string\bf\space vol}(num)} +\optdef{d}{vol-2bf}{Volume and number bold}{as {\string\bf\space vol(num)}} +\getans +\endoptiongroup +% \end{macrocode} +% +% The form of the `number' is also given: in parentheses, with `no.', +% with \#, or omitted. The \texttt{vnum-b} option is meant to be used +% with \texttt{jdt-v} and \texttt{jdt-vs} but could be used alone. +% \begin{macrocode} +\beginoptiongroup{JOURNAL VOL AND NUMBER:}{} +\optdef{*}{}{Journal vol(num)}{as 34(2)} +\optdef{s}{vnum-sp}{Journal vol (num)}{as 34 (2)} +\optdef{c}{vnum-cm}{Journal vol, num}{as 34, 2} +\optdef{n}{vnum-nr}{Journal vol, no. num}{as 34, no. 2} +\optdef{h}{vnum-h}{Journal vol, \string\# number}{as 34, \string\#2} +\optdef{b}{vnum-b}{Journal vol number}{as 34 2} +\optdef{x}{vnum-x}{Journal vol, without number}{as 34} +\getans +\endoptiongroup + +\beginoptiongroup{VOLUME PUNCTUATION:}{} +\optdef{*}{}{Volume with colon}{as vol(num):ppp} +\optdef{s}{volp-sp}{Volume with colon and space}{as vol(num): ppp} +\optdef{h}{volp-semi}{Volume with semi-colon}{as vol(num); ppp} +\optdef{c}{volp-com}{Volume with comma}{as vol(num), ppp} +\optdef{b}{volp-blk}{Volume with blank}{as vol(num) ppp} +\getans +\endoptiongroup + +\beginoptiongroup{YEAR IN JOURNAL SPECIFICATION:}{} +\optdef{*}{}{Journal year like others}{as given by date position} +\optdef{v}{jdt-v}{Journal vol(year)}{as 34(1995)} +\optdef{s}{jdt-vs}{Journal vol (year)}{as 34 (1995)} +\optdef{p}{jdt-p}{Year with pages}{as 34(2), (1995) 1345--1387} +\optdef{c}{jdt-pc}{Year, comma, pages}{as 34(2), (1995), 1345--1387} +\getans +\endoptiongroup + +\beginoptiongroup{PAGE NUMBERS:}{} +\optdef{*}{}{Start and stop page numbers}{given} +\optdef{f}{jpg-1}{Only start page number}{} +\getans +\endoptiongroup + +\beginoptiongroup{LARGE PAGE NUMBERS:}{} +\optdef{*}{}{No separators for large page numbers}{} +\optdef{c}{pgsep-c}{Comma inserted over 9999}{as 11,234} +\optdef{s}{pgsep-s}{Thin space inserted over 9999}{as 11 234} +\optdef{p}{pgsep-p}{Period inserted over 9999}{as 11.234} +\getans +\endoptiongroup + +\beginoptiongroup{WORD `PAGE' IN ARTICLES:}{} +\optdef{*}{}{Article pages numbers only}{as 234-256} +\optdef{p}{jwdpg}{Include `page' in articles}{as pp. 234--256} +\getans +\endoptiongroup +% \end{macrocode} +% +% Some journals want page numbers at the end, even for books, proceedings, as +% well as for journals. +% \begin{macrocode} +\beginoptiongroup{POSITION OF PAGES:}{} +\optdef{*}{}{Pages given mid text}{as is normal} +\optdef{e}{pp-last}{Pages at end}{but before any notes} +\getans +\endoptiongroup + +\beginoptiongroup{WORD `VOLUME' IN ARTICLES:}{} +\optdef{*}{}{Article volume as number only}{as 21} +\optdef{p}{jwdvol}{Include `volume' in articles}{as vol. 21} +\getans +\endoptiongroup +% \end{macrocode} +% +% Fiddle with the format and location of the number/series for collections and +% inproceedings. +% \begin{macrocode} +\beginoptiongroup{NUMBER AND SERIES FOR COLLECTIONS:}{} +\optdef{*}{num-xser}{Allows number without series}{and suppresses word "number"} +\optdef{s}{}{Standard BibTeX}{as: "number 123 in Total Works"; error if number and no series} +\getans +\endoptiongroup + +\beginoptiongroup{POSITION OF NUMBER AND SERIES:}{} +\optdef{*}{}{After chapter and pages}{as in standard BibTeX} +\optdef{t}{numser}{Just before publisher}{or organization} +\getans +\endoptiongroup +% \end{macrocode} +% +% Fiddle with the format and location of series and volume with books and collections. +% \begin{macrocode} +\beginoptiongroup{VOLUME AND SERIES FOR BOOKS/COLLECTIONS:}{} +\optdef{*}{}{Vol. 23 of Series}{as in standard BibTeX} +\optdef{s}{ser-vol}{Series, vol. 23}{} +\getans +\endoptiongroup + +\beginoptiongroup{POSITION OF VOLUME AND SERIES FOR INCOLLECTIONS:}{} +\optdef{*}{}{Series and volume after the editors}{} +\optdef{e}{ser-ed}{Series and volume after booktitle}{and before editors} +\getans +\endoptiongroup +% \end{macrocode} +% +% It is possible to decide whether the journal name should be +% separated from the following specifications with a blank or comma. +% \begin{macrocode} +\beginoptiongroup{JOURNAL NAME PUNCTUATION:}{} +\optdef{*}{}{Comma after journal}{name} +\optdef{x}{jnm-x}{Space after journal}{name} +\getans +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Books} +% The title of a book (as opposed to an article in a book or journal) is +% normally italicized. This may be set to the regular font. +% +% The page numbers in books may be set in parentheses, as (pp.\ 345--350). +% \begin{macrocode} +\beginoptiongroup{BOOK TITLE:}{} +\optdef{*}{}{Book title italic}{(\string\em)} +\optdef{p}{btit-rm,bt-rm}{Book title plain}{(no font command)} +\getans +\endoptiongroup + +\beginoptiongroup{PAGES IN BOOKS:}{} +\optdef{*}{}{Pages in book plain}{as pp. 50-55} +\optdef{p}{bkpg-par}{Pages in book in parentheses}{as (pp. 50-55)} +\optdef{x}{bkpg-x}{Pages in book bare}{as 50-55} +\getans +\endoptiongroup +\beginoptiongroup{TOTAL PAGES OF A BOOK:}{} +\optdef{*}{}{Total book pages not printed}{} +\optdef{p}{pg-bk}{For book: 345 pages}{or pp.} +\optdef{a}{pg-bk,pg-pre}{Total book pages before publisher}{} +\getans +\endoptiongroup +% \end{macrocode} +% Some psychology journals wish to have the publisher's address preceding +% the name, separated by colon, as +% \begin{quote}New York: Wiley and Sons\end{quote} +% +% Some journals (e.g.\ Nature) put publisher in parentheses with date, +% as (Wiley and Sons, New York, 1983). These normally put the date in +% parentheses at the end anyway, so this is a merging of the two sets of +% parentheses. +% \begin{macrocode} +\beginoptiongroup{PUBLISHER ADDRESS:}{} +\optdef{*}{}{Publisher, address}{as Harcourt, New York} +\optdef{a}{add-pub}{Address: Publisher}{as New York: Harcourt} +\getans +\endoptiongroup + +\beginoptiongroup{PUBLISHER IN PARENTHESES:}{} +\optdef{*}{}{Publisher as normal block}{without parentheses} +\optdef{p}{pub-par}{Publisher in parentheses}{} +\optdef{d}{pub-date}{Publisher and date in parentheses}{(Oxford, 1994)} +\optdef{c}{pub-date,pub-xc}{Publisher and date in parentheses, no comma}{(Oxford 1994)} +\optdef{f}{pub-date,pub-xpar}{Publisher and date without parentheses}{Oxford, 1994} +\optdef{k}{pub-date,pub-xpar,pub-xc}{Publisher and date, no parentheses, no comma}{Oxford 1994} +\getans +\endoptiongroup + +\beginoptiongroup{PUBLISHER POSITION:}{} +\optdef{*}{}{Publisher after chapter, pages}{} +\optdef{p}{pre-pub}{Publisher before chapter, pages}{} +\optdef{e}{pre-edn}{Publisher after edition}{} +\getans +\endoptiongroup +% \end{macrocode} +% +% \subsection*{ISBN, ISSN, DOI numbers} +% Books normally possess an ISBN number. This may be included as an +% optional entry for \texttt{book}, \texttt{inbook}, \texttt{booklet}, +% \texttt{incollection}, \texttt{proceedings}, \texttt{inproceedings}. +% However, it should be suppressed for \texttt{inbook} etc.\ when +% there is a crossref to another book with the ISBN number. +% +% Periodicals contain an ISSN number. Add this to \texttt{article}, or +% course, but also to \texttt{inproceedings} and \texttt{proceedings}, since +% they are sometimes printed in a periodical. +% +% Journal articles that appear online are given a DOI number, something more +% robust than a URL that can change as machines are upgraded. +% The American Geophysical Union (AGU) uses the DOI as part of the +% page number substitution for electronic journals, placing the number +% where the pages would normally appear. +% \begin{macrocode} +\beginoptiongroup{ISBN NUMBER:}{} +\optdef{*}{isbn}{Include ISBN}{for books, booklets, etc.} +\optdef{x}{}{No ISBN}{} +\getans +\endoptiongroup + +\beginoptiongroup{ISSN NUMBER:}{} +\optdef{*}{issn}{Include ISSN}{for periodicals} +\optdef{x}{}{No ISSN}{} +\getans +\endoptiongroup + +\beginoptiongroup{DOI NUMBER:}{} +\optdef{*}{doi}{Include DOI}{as "doi: number"} +\optdef{a}{agu-doi,doi}{Insert DOI AGU style}{as part of page number} +\optdef{x}{}{No DOI}{} +\getans +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Editor of book without author} +% +% This is normally +% \begin{quote} +% J. K. James, editor +% \end{quote} +% but may also be +% \begin{quote} +% J. K. James, (editor)\\ +% J. K. James (editor), +% \end{quote} +% Alternatively, the word \textsl{editor} may be capitalized and/or +% abbreviated. +% +% \begin{macrocode} +\beginoptiongroup{`EDITOR' AFTER NAMES (EDITED BOOKS WITHOUT AUTHORS):}{} +\optdef{*}{}{Word `editor' after name}{} +\optdef{a}{edpar}{`Name (editor),'}{in parentheses, after name, comma after} +\optdef{b}{edpar,bkedcap}{`Name (Editor),'}{as above, editor upper case} +\optdef{c}{edparc}{`Name, (editor)'}{in parentheses, after name, comma between} +\optdef{d}{edparc,bkedcap}{`Name, (Editor)'}{as above, editor upper case} +\optdef{e}{edparxc}{`Name (editor)'}{in parentheses, after name, no commas} +\optdef{f}{edparxc,bkedcap}{`Name (Editor)'}{as above, editor upper case} +\getans +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Edited by} +% For an article within an edited collection, the normal form is +% \begin{quote} +% In J. K. James, editor, \emph{Title of Collection} \dots +% \end{quote} +% Alternative forms are +% \begin{quote} +% In J. K. James (editor), \emph{Title} \dots\\ +% In \emph{Title}, edited by J. K. James \dots\\ +% In \emph{Title} (Edited by J. K. James) \dots +% \end{quote} +% If none of the \texttt{edby} variations is used, then the same system is +% used as for edited books, i.e. \texttt{edpar} applies. +% \begin{macrocode} +\beginoptiongroup{EDITOR IN COLLECTIONS:}{} +\optdef{*}{}{Same as for edited book}{(names before booktitle)} +\optdef{b}{edby}{In booktitle, edited by .. }{(where .. is names)} +\optdef{p}{edby-par}{In booktitle (edited by ..)}{} +\optdef{c}{edby-parc}{In booktitle, (edited by ..)}{} +\optdef{e}{edby,edbyx}{In booktitle, editor ..}{} +\optdef{f}{edby,edbyw}{In booktitle, (editor) ..}{} +\optdef{k}{edby-par,edbyx}{In booktitle (editor..)}{} +\optdef{g}{edby-parc,edbyx}{In booktitle, (editor..)}{} +\optdef{j}{edby,edbyy}{In booktitle, .., editor}{} +\optdef{m}{edby-par,edbyy}{In booktitle (.., editor)}{} +\getans +\endoptiongroup +\mytempfalse +\if\ans p\mytemptrue\fi +\if\ans k\mytemptrue\fi +\if\ans c\mytemptrue\fi +\if\ans f\mytemptrue\fi +\beginoptiongroup{CAPITALIZE `EDITOR' OR `EDITED BY' + (if editor capitalizable)} + {\ifmytemp*\fi}% +\optdef{*}{}{`(editor,..)' or `(edited by..)'}{in lower case} +\optdef{c}{edcap}{`(Editor,..)' or `(Edited by..)'}{in upper case} +\getans +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Block punctuation} +% Blocks are logical sections of the reference specification, such as the +% author block, the journal block, editor block, etc. These are normally +% separated by periods, but alternatively a comma may be used. Another +% choice is to use commas except after titles where a period is given. +% +% \LaTeX\ offers an \texttt{openbib} option, which means that the blocks +% are not only new sentences, but new lines as well. This can only +% function when the default option here is taken, for then the command +% |\newblock| is placed between the blocks. This command is normally +% defined to do nothing, but \LaTeX\ redefines it to issue a new line +% when open bibliographies are wanted. +% \begin{macrocode} +\beginoptiongroup{PUNCTUATION BETWEEN SECTIONS (BLOCKS):}{} +\optdef{*}{}{\string\newblock\space after blocks} + {(periods or new lines with openbib option)} +\optdef{c}{blk-com}{Comma between blocks}{} +\optdef{s}{blk-com,com-semi}{Semi-colon between blocks}{} +\optdef{b}{blk-com,com-blank}{Blanks between blocks}{} +\optdef{t}{blk-tit}{Period after titles of articles, books, etc}{else commas} +\optdef{u}{blk-tit,tit-col}{Colon after titles of articles, books, etc}{else commas} +\optdef{a}{blk-tita}{Period after titles of articles}{else commas} +\optdef{d}{blk-tita,tit-col}{Colon after titles of articles}{else commas} +\getans +\endoptiongroup +\mytempfalse +\if\ans c\mytemptrue\fi +\if\ans s\mytemptrue\fi +\if\ans b\mytemptrue\fi +\if\ans t\mytemptrue\fi +\if\ans a\mytemptrue\fi +\beginoptiongroup{PUNCTUATION BEFORE NOTES + (if not using \string\newblock)} + {\ifmytemp*\fi}% +\optdef{*}{}{Notes have regular punctuation}{like all other blocks} +\optdef{p}{blknt}{Notes preceded by period}{} +\getans +\endoptiongroup +\beginoptiongroup{PUNCTUATION AFTER AUTHORS:}{} +\optdef{*}{}{Author block normal}{with regular block punctuation} +\optdef{c}{au-col}{Author block with colon}{} +\getans +\endoptiongroup +% \end{macrocode} +% +% \subsection*{\textsl{In} with colon} +% When referring to works in a collection, one begins the block describing +% that collection with \textsl{In}. Optionally, one may add a colon. +% \begin{macrocode} +\beginoptiongroup{PUNCTUATION AFTER `IN':}{} +\optdef{*}{}{Space after `in'}{for incollection or inproceedings} +\optdef{c}{in-col}{Colon after `in'}{(as `In: ...')} +\optdef{i}{in-it}{Italic `in'}{and space} +\optdef{d}{in-col,in-it}{Italic `in' and colon}{} +\optdef{x}{in-x}{No word `in'}{for edited works} +\getans +\endoptiongroup +\beginoptiongroup{`IN' WITH JOURNAL NAMES + (if using 'in' with collections)} + {\if\ans x\else*\fi} +\optdef{*}{}{No `in' before journal name}{} +\optdef{i}{injnl}{Add `in' before journal name}{in style for incollection} +\getans +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Final punctuation} +% The punctuation at the end of the reference is normally a period. This +% may be suppressed. +% \begin{macrocode} +\beginoptiongroup{FINAL PUNCTUATION:}{} +\optdef{*}{}{Period at very end}{of the listed reference} +\optdef{x}{fin-bare}{No period at end}{} +\getans +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Abbreviations} +% A number of words may be abbreviated: pages, editors, volume, chapter, +% and so on. The first two may be independently set to abbreviation, the +% rest with a single option. +% +% Additionally, the edition numbers may be +% output as words (first, second, etc.) or as numbers (1st, 2nd, etc.). +% (Recall that the input in the \texttt{.bib} file is always as English +% words.) +% \begin{macrocode} +\beginoptiongroup{ABBREVIATE WORD `PAGES' + (if not using external language file)} + {\if!\cfile!\relax*\fi}% +\optdef{*}{}{`Page(s)'}{(no abbreviation)} +\optdef{a}{pp}{`Page' abbreviated}{as p. or pp.} +\optdef{x}{ppx}{`Page' omitted}{} +\getans +\beginoptiongroup{ABBREVIATE WORD `EDITORS':}{} +\optdef{*}{}{`Editor(s)'}{(no abbreviation)} +\optdef{a}{ed}{`Editor' abbreviated}{as ed. or eds.} +\getans +\endoptiongroup + +\beginoptiongroup{OTHER ABBREVIATIONS:}{} +\optdef{*}{}{No abbreviations}{of volume, edition, chapter, etc} +\optdef{a}{abr}{Abbreviations}{of such words} +\getans +\endoptiongroup +\beginoptiongroup{ABBREVIATION FOR `EDITION' + (if abbreviating words)} + {\if\ans a*\fi}% +\optdef{*}{}{`Edition' abbreviated as `edn'}{} +\optdef{a}{ednx}{`Edition' abbreviated as `ed'}{} +\getans +\beginoptiongroup{MONTHS WITH DOTS:}{} +\optdef{*}{}{Months with dots}{as Jan.} +\optdef{x}{mth-bare}{Months without dots}{as Feb Mar} +\getans +\endoptiongroup +\endoptiongroup +\beginoptiongroup{EDITION NUMBERS:}{} +\optdef{*}{xedn}{Editions as in database}{saving much processing memory} +\optdef{w}{}{Write out editions}{as first, second, third, etc} +\optdef{n}{ord}{Numerical editions}{as 1st, 2nd, 3rd, etc} +\getans +\endoptiongroup +\endoptiongroup +% \end{macrocode} +% +% The above choices about abbreviations are made only if the internal +% languages are taken (English or \texttt{babel}). For an external language +% definition file, these choices, along with possible other ones, are made +% in the external file, which is read in at this point. +% \begin{macrocode} +\umes{Reading external language file \string\cfile=\cfile}% +\if!\cfile!\relax\else + \input\cfile +\fi +% \end{macrocode} +% +% This file contains the standard set of stored journal names present in +% the basic bibliography style files. If other files containing journal +% names are to be included, they may only contain the options \texttt{jabr} +% or \texttt{jaa} since these options are selected here. No option +% menus from the journal-name files will be read in. +% \begin{macrocode} +\beginoptiongroup{STORED JOURNAL NAMES:}{} +\optdef{*}{}{Full journal names}{for prestored journals} +\optdef{a}{jabr}{Abbreviated journal names}{} +\optdef{s}{jabr,jaa}{Abbreviated with astronomy shorthands}{like ApJ and AJ} +\getans +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Variations on \textsl{and}} +% It is possible to replace the word \textsl{and} with an ampersand \&, and to +% specify whether a comma is to precede \textsl{and} in a list of more than two +% names. +% +% A variable \textsl{and} may be provided for with the command |\BIBand| +% in place of the word. In this case, the command must be defined in the +% document file or some other package called. (This is intended for situations +% where an ampersand is wanted in parenthetical citations, but the word in +% textual ones.) +% +% \begin{macrocode} +\beginoptiongroup{AMPERSAND:}{} +\optdef{*}{}{Use word `and'}{in author lists} +\optdef{a}{amper}{Use ampersand}{in place of `and'} +\optdef{v}{varand}{Use \string\BIBand}{in place of `and'} +\getans +\endoptiongroup + +\beginoptiongroup{COMMA BEFORE `AND':}{} +\optdef{*}{}{Comma before `and'}{as `Tom, Dick, and Harry'} +\optdef{n}{and-xcom}{No comma before `and'}{as `Tom, Dick and Harry'} +\optdef{c}{and-com}{Comma even with 2 authors}{as `Tom, and Harry'} +\getans +\endoptiongroup +\beginoptiongroup{COMMA BEFORE `AND' EVEN FOR COLLECTION EDITORS + (if using comma before `and' with authors)} + {\if\ans c*\fi}% +\optdef{*}{and-com-ed}{Comma with 2 editors}{in collections} +\optdef{x}{}{Two editors without comma}{as `Tom and Harry'} +\getans +\endoptiongroup +\beginoptiongroup{NO `AND' IN REFERENCE LIST:}{} +\optdef{*}{}{With `and'}{before last author in reference list} +\optdef{x}{xand}{No `and'}{as `Tom, Dick, Harry'} +\getans +\endoptiongroup + +\beginoptiongroup{COMMA BEFORE `ET AL':}{} +\optdef{*}{}{Comma before `et al'}{in reference list} +\optdef{x}{etal-xc}{No comma before `et al'}{} +\getans +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Font of \textsl{et al}} +% One can chose that \textsl{et~al.}\ be put into italics. +% Or, if the authors are in a different font from the regular one, the +% \textsl{et~al.}\ can still be Roman. +% \begin{macrocode} +\beginoptiongroup{FONT OF `ET AL':}{} +\optdef{*}{}{Plain et al}{} +\optdef{i}{etal-it}{Italic et al}{} +\optdef{r}{etal-rm}{Roman et al}{even when authors something else} +\getans +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Additional Data Fields}\label{sec:revtex} +% \changes{3.89d1}{1999 July 20}{AO: add the revdata option group} +% The American Physical Society's REV\TeX\ package contains \btx\ support +% with a \texttt{bst} file generated from a variant of +% \texttt{\filename}. The extra fields are also available here. +% \begin{itemize} +% \item \textbf{collaboration}: A collaboration name associated with a +% reference. +% \item \textbf{eprint}: The e-print citation for the reference (Los Alamos +% or otherwise). E-print numbers can be turned into hyperlinks to the +% online article. The output is\\ +% \hspace*{2em}|\eprint{|\textit{eprint-spec}|}| +% \item \textbf{archive}: is an optional argument for |\eprint|, as\\ +% \hspace*{2em}|\eprint[|\textit{archive-des}|]{|\textit{eprint-spec}|}|\\ +% The \textit{archive-des} is some code such as \texttt{arXiv} that is +% translated to a base URL by a class or package file. The default definition +% of |\eprint| ignores \textit{archive-des} and prints \textit{eprint-spec} +% as a URL. +% \item \textbf{url}: A URL associated with the reference. Can be turned +% into a hyperlink. +% \end{itemize} +% +% A collaboration appears as part of the author list and the other two +% appear at the end of the citaton. The URL field can be selected +% independently of this option. +% +% In addition there are new fields for journals like Phys.\ Rev.~D that +% no longer use page numbers. +% \begin{itemize} +% \item \textbf{eid}: Electronic article identifier. +% \item \textbf{numpages}: Number of pages in an article. For use in +% conjunction with the \textbf{eid} field when page counts are +% desired. Deprecated when submitting to Phys.\ Rev. +% +% The \texttt{eprint} (with \texttt{archive}) and \texttt{url} fields may be +% included independently of the other REV\TeX\ fields. +% +% The \texttt{eid} field is now always included, although it is optional for +% the bibliography entries. This electronic identifier is a replacement for the +% page number in electronic journals: it is the sequence number in the printed +% volume. If present, it will be used in place of the page number. +% +% \end{itemize} +% +% \begin{macrocode} +\beginoptiongroup{ADDITIONAL REVTeX DATA FIELDS:}{} +\optdef{*}{}{No additional fields}{for REVTeX} +\optdef{r}{revdata,eprint,url,url-blk}{Include REVTeX data fields} + {collaboration, eid, eprint, archive, numpages, url} +\getans +\mytemptrue +\if\ans r\mytempfalse\fi +\beginoptiongroup{E-PRINT DATA FIELD: +(without REVTeX fields)} +{\ifmytemp*\fi} +\optdef{*}{}{Do not include eprint field}{} +\optdef{e}{eprint}{Include eprint and archive fields}{for electronic publications} +\getans +\endoptiongroup +% \end{macrocode} +% +% \subsection*{URL address} +% For electronic documents with an Internet address, add a URL entry. +% Harvard already has this, but here it is done for all styles. +% The URL text will be set with the \verb!\url! command in the \texttt{url} +% package by Donald Arseneau. This package must be loaded for the command +% to work right. It allows line breaks at punctuations. Otherwise, +% \verb!\texttt! is used instead, with no line breaks. The URL text is preceded +% by \verb!\urlprefix! which defaults to ``URL '' but may be redefined by the +% user to be whatever s/he wants. The final space must be included. +% +% Note: selecting the REV\TeX\ fields automatically includes this, so the +% offer only is made if REV\TeX\ has been rejected. +% +% \begin{macrocode} +\beginoptiongroup{URL ADDRESS: +(without REVTeX fields)}{\ifmytemp*\fi} +\optdef{*}{}{No URL}{for electronic (Internet) documents} +\optdef{u}{url,url-blk}{Include URL}{as regular item block} +\optdef{n}{url,url-nt}{URL as note}{} +\optdef{l}{url,url-nl}{URL on new line}{after rest of reference} +\getans +\endoptiongroup +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Reference Component Tagging} +% \changes{3.89d1}{1999 July 20}{AO: add the bibinfo option group} +% If reference component tagging is enabled, we +% apply tags like |\bibinfo| and |\eprint| to the fields of data +% in the content of the |\bibitem| statement. We also ensure that +% these commands have a default meaning within the scope of the |thebibliography| +% environment. The default definitions simply print the field and ignore the +% tag. However, other programs or packages might make use of the tag +% information to separate authors from title, for example. +% +% \begin{macrocode} +\beginoptiongroup{REFERENCE COMPONENT TAGS:}{} +\optdef{*}{}{No reference component tags} + {in the \string\bibitem\space entries} +\optdef{b}{bibinfo}{Reference component tags} + {like \string\bibinfo\space in the content of \string\bibitem} +\getans +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Define emphasis} +% In everything that been mentioned so far, italicization should be +% understood to mean `emphasize' in the \LaTeX{} sense. This means that the +% command |\em| is used. This is not the same as |\it|, which is always +% italics. Rather, with |\em|, the font style switches between |\rm| and +% |\it| depending on the context. Here one may choose to true italics, or +% to switch off italics altogether. +% \begin{macrocode} +\beginoptiongroup{EMPHASIS: + (affects all so-called italics)}{} +\optdef{*}{}{Use emphasis}{ie, \string\em, allows font switching} +\optdef{i}{em-it}{Use true italics}{ie, \string\it, absolute italics} +\optdef{x}{em-x}{No italics}{at all} +\optdef{u}{em-ul}{Underlining}{in place of italics, best with ulem package} +\getans +\endoptiongroup +% \end{macrocode} +% +% \subsection*{Plain \TeX\ compatibility} +% Bold face, italics, and emphasis are made with the \LaTeXe\ commands, +% which makes them incompatible with the obsolete \LaTeX2.09, and with +% Plain \TeX. There are also some extra testing for existing commands +% that best work with \LaTeXe\ syntax. +% +% If the bibliography style file is to be fully compatible with Plain \TeX, +% do not select the option \texttt{nfss} but do take \texttt{plntx}. +% \begin{macrocode} +\beginoptiongroup{COMPATIBILITY WITH PLAIN TEX:}{} +\optdef{*}{nfss}{Use LaTeX commands}{which may not work with Plain TeX} +\optdef{t}{plntx}{Use only Plain TeX}{commands for fonts and testing} +\getans +\endoptiongroup +% \end{macrocode} +% +% Terminate the options list. If a language definition file has been called, +% then we have a closing brace too many, so add another dummy opening brace. +% \begin{macrocode} +\if!\cfile\jfile!\else +\begingroup\MBswitch +\wr(,{\pc) +\endgroup +\fi + +\endoptions +%</options> +% \end{macrocode} +% \StopEventually{\PrintChanges} +% +% \section{The Bibliographic Coding} +% +% \begin{macrocode} +%<*!options&!driver&!bblbst> +%<*!tail> + % For use with BibTeX version 0.99a or later + %------------------------------------------------------------------- +%<*(!nmft&(nmft-it|nmft-sc|nmft-bf|nmft-def))|(!lab&(lab-it|lab-bf|lab-sc|lab-def))> + % WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING + % The input dbj file contains one of the options +%<nmft-it|nmft-sc|nmft-bf|nmft-def> % nmft-it, nmft-bf, nmft-sc, or nmft-def +%<lab-it|lab-sc|lab-bf|lab-def> % lab-it, lab-bf, lab-sc, or lab-def + % without the corresponding general option(s): +%<nmft-it|nmft-sc|nmft-bf|nmft-def> % nmft +%<lab-it|lab-sc|lab-bf|lab-def> % lab + % (You may be using an older dbj with a newer version of merlin.mbs) + % Please edit your dbj file to add the general option(s) and reprocess. + % +%</(!nmft&(nmft-it|nmft-sc|nmft-bf|nmft-def))|(!lab&(lab-it|lab-bf|lab-sc|lab-def))> +%<*!exlang> +%<!babel> % This bibliography style file is intended for texts in ENGLISH +%<*babel> + % This bibliography style file requires a file named babelbst.tex + % containing the definitions of word commands like \bbleditor, etc. +%</babel> +%</!exlang> +%<*exlang> + % This bibliography style file is intended for texts in +%<bahasa> % BAHASA +%<brazilian> % BRAZILIAN +%<catalan> % CATALAN +%<croatian> % CROATIAN +%<czech> % CZECH +%<danish> % DANISH +%<dansk> % DANSK +%<dutch> % DUTCH +%<english> % ENGLISH +%<esperanto> % ESPERANTO +%<finnish> % FINNISH +%<french> % FRENCH +%<galacian> % GALACIAN +%<german> % GERMAN +%<hungarian> % HUNGARIAN +%<italian> % ITALIAN +%<norwegian> % NORWEGIAN +%<norsk> % NORWEGIAN +%<polski> % POLISH +%<polish> % POLISH +%<portuguese> % PORTUGUESE +%<romanian> % ROMANIAN +%<russian> % RUSSIAN +%<slovak> % SLOVAK +%<slovenian> % SLOVENIAN +%<slovene> % SLOVENIAN +%<spanish> % SPANISH +%<swedish> % SWEDISH +%<turkish> % TURKISH +%</exlang> +%<*!html> +%<*ay> + % This is an author-year citation style bibliography. As such, it is + % non-standard LaTeX, and requires a special package file to function properly. + % Such a package is natbib.sty by Patrick W. Daly +%<*alk> + % or: apalike.sty by Oren Patashnik + % The form of the \bibitem entries is + % \bibitem[Jones et al., 1990]{key}... +%</alk> +%<*!(har|ast|alk|cay|nmd|cn)> + % The form of the \bibitem entries is + % \bibitem[Jones et al.(1990)]{key}... +%<nat> % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... + % The essential feature is that the label (the part in brackets) consists + % of the author names, as they should appear in the citation, with the year + % in parentheses following. There must be no space before the opening + % parenthesis! +%<nat> % With natbib v5.3, a full list of authors may also follow the year. + % In natbib.sty, it is possible to define the type of enclosures that is + % really wanted (brackets or parentheses), but in either case, there must + % be parentheses in the label. + % The \cite command functions as follows: + % \citet{key} ==>> Jones et al. (1990) +%<nat> % \citet*{key} ==>> Jones, Baker, and Smith (1990) + % \citep{key} ==>> (Jones et al., 1990) +%<nat> % \citep*{key} ==>> (Jones, Baker, and Smith, 1990) + % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) + % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990) + % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32) + % \citeauthor{key} ==>> Jones et al. +%<nat> % \citeauthor*{key} ==>> Jones, Baker, and Smith + % \citeyear{key} ==>> 1990 +%</!(har|ast|alk|cay|nmd|cn)> +%<*har> + % or: harvard.sty by Peter Williams and Thorsten Schnier +%<harnm> % (needs natbib v5.3 or harvard v2.0.3) + % The form of the bibitem entries is + % \harvarditem[Jones et al.]{Jones, Baker, and Smith}{1990}{key}... +%</har> +%<*cay> + % or: chicago.sty + % The form of the bibitem entries is + % \bibitem[\protect\citeauthoryear{Jones, Baker, and Smith} + % {Jones et al.}{1990}{key}... +%</cay> +%<*nmd> + % or: named.sty + % The form of the bibitem entries is + % \bibitem[\protect\citeauthoryear{Jones et al.}{1990}]{key}... +%</nmd> +%<*ast> + % or: astron.sty + % The form of the bibitem entries is + % \bibitem[\protect\astroncite{Jones et al.}{1990}]{key}... +%</ast> +%<*cn> + % or: authordate1-4.sty + % The form of the bibitem entries is + % \bibitem[\protect\citename{Jones et al.}1990]{key}... +%</cn> +%</ay> +%<*!ay> +%<*!alph&!cite> + % This is a numerical citation style, and as such is standard LaTeX. +%</!alph&!cite> +%<*alph> + % This is a labelled citation style similar to the standard alpha.bst, + % where labels are of the form Dal90 or DBK89. +%</alph> +%<*cite&!alph> + % This is a special pseudo-numerical bibliography style, intended to be + % used to list all the entries in a bib database +%</cite&!alph> + % It requires no extra package to interface to the main text. + % The form of the \bibitem entries is +%<!alph&!cite> % \bibitem{key}... +%<alph> % \bibitem[label]{key}... +%<!alph&cite> % \bibitem[key]{key}... +%<*!cite|alph> + % Usage of \cite is as follows: +%<*!alph&!cite> + % \cite{key} ==>> [#] + % \cite[chap. 2]{key} ==>> [#, chap. 2] + % where # is a number determined by the ordering in the reference list. +%</!alph&!cite> +%<*alph> + % \cite{key} ==>> [label] + % \cite[chap. 2]{key} ==>> [label, chap. 2] + % The order in the reference list is by label. +%</alph> +%<*seq-no&!alph> + % The order in the reference list is that by which the works were originally + % cited in the text, or that in the database. +%</seq-no&!alph> +%<*!seq-no&!alph> + % The order in the reference list is alphabetical by authors. +%</!seq-no&!alph> +%</!cite|alph> +%</!ay> +%</!html> +%<*html> + % This bibliographic style file produces HTML output instead of LaTeX. + % The LaTeX special characters are not translated, so that the output + % (which has the .bbl ending still) will have to be further massaged, + % and renamed with .html or .htm. The title and heading may also need + % to be revised. + % +%<htlist&!htdes> % The output is a numbered list. +%<htdes> % The output is an unnumbered list with the keys printed +%<htdes> % before each entry. +%<!htlist&!htdes> % The output is lists each entry as one paragraph. +%</html> + %--------------------------------------------------------------------- + +% \end{macrocode} +% +% \begin{macro}{`ENTRY'} +% \changes{1.5(2.3)}{1994 Sep 16}{Add URL entry type for \texttt{harnm} option} +% The new \texttt{harvard.sty} of \LaTeXe{} includes an entry URL, or +% rather it is included in the new \texttt{.bst} files for it. Add it +% here too, but only for option \texttt{harnm}. +% +% \changes{3.0}{1995 Mar 1}{Add optional entries \texttt{isbn}} +% Books normally have an ISBN number. +% This entry is (optionally) included, modelled after that in +% \texttt{xbtxbst.doc}. +% \changes{3.89d1}{1999 July 20}{AO: add the \texttt{revdata} data} +% +% \begin{macrocode} +ENTRY + { address +%<annote> annote +%<eprint> archive + author + booktitle + chapter +%<revdata> collaboration +%<doi> doi + edition + editor + eid +%<eprint> eprint + howpublished + institution +%<isbn> isbn +%<issn> issn + journal + key +%<lang> language + month + note + number +%<revdata> numpages + organization + pages + publisher + school + series + title + type +%<url|harnm|revdata> url + volume + year + } + {} +%<!ay&!alph> { label } +%<!ay&alph> { label extra.label sort.label } +%<ay> { label extra.label sort.label short.list } +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +% \end{macrocode} +% +% \begin{macro}{`init.state.consts'} +% \begin{macrocode} +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +% \end{macrocode} +% \end{macro} +% +% |s| and |t| are general-purpose scratch registers whose value does not persist +% past the end of a function. They also do not appear to be used to communicate +% between functions or to be clobbered within a sub-function call. Hopefully. +% \begin{macrocode} +STRINGS { s t} +% \end{macrocode} +% +% \begin{macro}{`output.nonnull'} +% \begin{macrocode} +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = +%<!blk-com|(!com-semi&!com-blank)> { ", " * write$ } +%<blk-com&com-semi> { "; " * write$ } +%<blk-com&!com-semi&com-blank> { " " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ +%<!html> "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`output'} +% \begin{macrocode} +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`output.check'} +% \begin{macrocode} +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`fin.entry'} +% \changes{3.87}{1998 Jul 23}{Add annotation} +% \changes{3.89d1}{1999 July 20}{AO: make ``babel compatible''} +% I have often been asked to add an annotation function. This suggestion is +% from Soren Dayton; it inputs a file with the same name as the cite key, or +% uses the text in the \texttt{annote} field. It will only work with \LaTeXe. +% \begin{macrocode} +FUNCTION {fin.entry} +%<*!fin-bare> +{ add.period$ + write$ +%</!fin-bare> +%<*fin-bare> +{ duplicate$ empty$ + 'pop$ + 'write$ + if$ +%</fin-bare> +%<html&htdes> "</dd>" write$ +%<html&!htdes&htlist> "</li>" write$ +%<html&!htdes&!htlist> "</p>" write$ + newline$ +%<*annote> +%<*!html> + annote missing$ + { "\bibAnnoteFile{" cite$ * "}" * write$ newline$ } + { "\bibAnnote{" cite$ * "}{" * annote * "}" * write$ newline$ + } + if$ +%</!html> +%<*html> + "<blockquote><strong>Key:</strong> " + cite$ * write$ + annote missing$ + { newline$ } + { "<br><strong>Annotation:</strong>" write$ newline$ + annote write$ newline$ + } + if$ + "</blockquote>" write$ newline$ +%</html> +%</annote> +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`new.block'} +% \begin{macrocode} +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`new.sentence'} +% \begin{macrocode} +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`add.blank'} +% \changes{1.5(2.3)b}{1995 Jan 10}{Add function} +% When text is printed with \texttt{output} or +% \texttt{output.check}, the \texttt{output.state} is set such that +% a comma will precede the next output text. For special effects, we want to +% suppress this comma, inserting a blank instead. Hence the +% \texttt{output.state} is changed to \texttt{before.all}, meaning no +% punctuation is to be inserted. +% \begin{macrocode} +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`add.colon'} +% \changes{3.4}{1995 Sep 28}{Add macro} +% \changes{3.83}{1997 Feb 5}{Simplify: just tack on colon} +% \begin{macrocode} +%<*au-col|tit-col> +FUNCTION {add.colon} +{ duplicate$ empty$ + 'skip$ + { ":" * add.blank } + if$ +} + +%</au-col|tit-col> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`no.blank.or.punct'} +% \changes{3.2}{1995 May 19}{Add function} +% \changes{3.2}{1995 May 30}{Present only for option \texttt{yrpp-xsp}} +% Another frill is to suppresss both blanks and punctuation. The |\hspace| +% permits a line break at this point. +% \begin{macrocode} +%<*yrpp-xsp> +FUNCTION {no.blank.or.punct} +%<*!html> +{ "\hspace{0pt}" * before.all 'output.state := +} +%</!html> +%<html>{ before.all 'output.state := } + +%</yrpp-xsp> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`date.block'} +% \changes{3.0}{1995 Mar 9}{Add function} +% \changes{3.81}{1996 Jun 25}{Add option \texttt{yrp-per}} +% The \texttt{date.block} function is used for special punctuating effects +% after the date. +% \begin{macrocode} +FUNCTION {date.block} +{ +%<*!yrp-x> +%<yrp-col> ":" * +%<*!yrp-col> +%<yrp-semi> ";" * +%<*!yrp-semi> +%<!blk-com&!blk-tit&!blk-tita> new.block +%<(blk-com|blk-tit|blk-tita)&!yrp-per> skip$ +%<(blk-com|blk-tit|blk-tita)&yrp-per> new.sentence +%</!yrp-semi> +%</!yrp-col> +%</!yrp-x> +%<*yrp-x|yrp-col|yrp-semi> +%<!yrpp-xsp> add.blank +%<yrpp-xsp> no.blank.or.punct +%</yrp-x|yrp-col|yrp-semi> +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`not'} +% \begin{macrocode} +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`and'} +% \begin{macrocode} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`or'} +% \begin{macrocode} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`non.stop'} +% \changes{1.4(2.2)a}{1994 Sep 8}{Add to test if last character +% is punctuation: . ! ?} +% This function (my invention) tests if the last character in the string +% on the stack is \texttt{. ! ?} by using \texttt{add.period\$}. It is to +% be used for conditional italic correction or adding commas. +% \begin{macrocode} +%<*!tit-it&tit-qq> +FUNCTION {non.stop} +{ duplicate$ + "}" * add.period$ + #-1 #1 substring$ "." = +} + +%</!tit-it&tit-qq> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`remove.dots'} +% \changes{4.00}{1999 Oct 8}{Add macro} +% This macro removes any periods from the string on the stack. To be used +% for undotting journal names, months, and juniors. Previously +% \texttt{purify\$} was used for this, but that removes more than just +% dots. +% \begin{macrocode} +%<*nm-rv|nm-rvx|nm-rvcx|mth-bare|jxper> +STRINGS {z} +FUNCTION {remove.dots} +{ 'z := + "" + { z empty$ not } + { z #1 #1 substring$ + z #2 global.max$ substring$ 'z := + duplicate$ "." = 'pop$ + { * } + if$ + } + while$ +} +%</nm-rv|nm-rvx|nm-rvcx|mth-bare|jxper> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`new.block.checka'} +% \begin{macrocode} +%<*!ay> +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} +%</!ay> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`new.block.checkb'} +% \begin{macrocode} +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`new.sentence.checka'} +% \begin{macrocode} +%<*!ay> +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} +%</!ay> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`new.sentence.checkb'} +% \begin{macrocode} +%<*!ay> +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} +%</!ay> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`field.or.null'} +% \begin{macrocode} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`emphasize'} +% Emphasis can be either italic or the alternating font. The font command +% may be NFSS or regular \LaTeX~2.09 declarations. +%\changes{1.3(2.1)}{1994 Jul 1}{Add \texttt{nfss} option} +%\changes{3.84}{1997 Oct 20}{Add \texttt{em-ul} option} +% \begin{macrocode} +FUNCTION {emphasize} +%<*!em-x> +{ duplicate$ empty$ + { pop$ "" } +%<html> { "<i>" swap$ * "</i>" * } +%<*!html> +%<em-ul> { "\uline{" swap$ * "}" * } +%<*!em-ul> +%<*!nfss> +%<!em-it> { "{\em " swap$ * "\/}" * } +%<em-it> { "{\it " swap$ * "\/}" * } +%</!nfss> +%<*nfss> +%<!em-it> { "\emph{" swap$ * "}" * } +%<em-it> { "\textit{" swap$ * "}" * } +%</nfss> +%</!em-ul> +%</!html> + if$ +} +%</!em-x> +%<em-x>{ skip$ } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`bolden'} +% The bold font command may be NFSS or the regular \LaTeX~2.09 declaration. +%\changes{1.3(2.1)}{1994 Jul 1}{Add \texttt{nfss} option} +% \begin{macrocode} +%<*nmft-bf|vol-bf|vol-2bf|lab-bf|dtbf> +FUNCTION {bolden} +{ duplicate$ empty$ + { pop$ "" } +%<html> { "<b>" swap$ * "</b>" * } +%<*!html> +%<!nfss> { "{\bf " swap$ * "}" * } +%<nfss> { "\textbf{" swap$ * "}" * } +%</!html> + if$ +} +%</nmft-bf|vol-bf|vol-2bf|lab-bf|dtbf> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`scaps'} +% To put text into small caps. +%\changes{3.0}{1995 Mar 3}{Add function} +% \begin{macrocode} +%<*lab-sc|nmft-sc> +FUNCTION {scaps} +{ duplicate$ empty$ + { pop$ "" } +%<html> { skip$ } +%<*!html> +%<!nfss> { "{\sc " swap$ * "}" * } +%<nfss> { "\textsc{" swap$ * "}" * } +%</!html> + if$ +} +%</lab-sc|nmft-sc> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`roman.list'} +% \changes{3.4}{1995 Sep 28}{Add function} +% \changes{3.85}{1998 Feb 6}{Remove function} +% \begin{macro}{`roman.cite'} +% \changes{3.8}{1996 Mar 16}{Add function} +% \changes{3.85}{1998 Feb 6}{Remove function} +% \end{macro} +% \end{macro} +% +% \begin{macro}{`bib.name.font'} +% \changes{3.85}{1998 Feb 6}{Add macro} +% \begin{macro}{`bib.fname.font'} +% \changes{3.85}{1998 Feb 6}{Add macro} +% \begin{macro}{`cite.name.font'} +% \changes{3.85}{1998 Feb 6}{Add macro} +% Define functions for formatting the author/editor names, one for the +% surnames (\texttt{bib.name.font}) and one for the first names +% (\texttt{bib.fname.font}). These could be identical, or the latter is +% deactivated if first names are not to be formatted, only the last names. +% +% For citations, we have \texttt{cite.name.font}. Here only surnames appear. +% +% It is also possible to have a user-defined font command for each, which the +% user must define in his work. These are |\bibnamefont{}| and |\bibfnamefont{}|, +% and some defaults are provided that simply repeat the arguments. Two commands +% are needed if \texttt{nmft-def} and \texttt{fnm-def} are both given. +% +% If neither \texttt{fnm-def} nor \texttt{fnm-rm} are given, then the first names +% are formatted the same as the surnames. +% \begin{macrocode} +%<*nmft> +FUNCTION {bib.name.font} +%<nmft-it>{ emphasize } +%<!nmft-it&nmft-bf>{ bolden } +%<!nmft-it&!nmft-bf&nmft-sc>{ scaps } +%<*!nmft-it&!nmft-bf&!nmft-sc&nmft-def> +{ duplicate$ empty$ + { pop$ "" } +%<!html> { "\bibnamefont{" swap$ * "}" * } +%<html> { skip$ } + if$ +} +%</!nmft-it&!nmft-bf&!nmft-sc&nmft-def> +FUNCTION {bib.fname.font} +%<!fnm-rm&!fnm-def>{ bib.name.font } +%<fnm-rm>{ skip$ } +%<*!fnm-rm&fnm-def> +{ duplicate$ empty$ + { pop$ "" } +%<!html> { "\bibfnamefont{" swap$ * "}" * } +%<html> { skip$ } + if$ +} +%</!fnm-rm&fnm-def> +%</nmft> +% \end{macrocode} +% +% \begin{macrocode} +%<*lab> +FUNCTION {cite.name.font} +%<lab-it>{ emphasize } +%<!lab-it&lab-bf>{ bolden } +%<!lab-it&!lab-bf&lab-sc>{ scaps } +%<*!lab-it&!lab-bf&!lab-sc&lab-def> +{ duplicate$ empty$ + { pop$ "" } +%<!html> { "\citenamefont{" swap$ * "}" * } +%<html> { skip$ } + if$ +} +%</!lab-it&!lab-bf&!lab-sc&lab-def> +%</lab> +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{`tie.or.space.prefix'} +% \changes{3.89d1}{1999 July 20}{AO: replace \texttt{tie.or.space.connect} with +% more flexible function} +% The function \texttt{tie.or.space.prefix} determines whether +% the top item on the stack requires a tie character and +% slips that (or a space character if not) ahead of it. +% At this point a font switch or other function can be applied to +% the top item on the stack, and the appropriate space found +% just ahead of it on the stack. +% +% The sequence \texttt{tie.or.space.prefix} \texttt{*} \texttt{*} is a common idiom +% for joining the top two stack objects with a tie or space +% depending on the length of the top object. +% +% Another idiom is to apply \texttt{tie.or.space.prefix}, apply a font switch, +% and then swap and join. In this case the tie or space follows the object. +% \begin{macrocode} +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`capitalize'} +% \changes{3.0}{1995 Mar 7}{Add capitalizing function} +% Capitalizing is easy for regular languages, but for \texttt{babel}, +% some trickery stuff is needed; definitions of |\capitalize| and +% |\Capitalize| are written to the \texttt{.bbl} file. +% \begin{macrocode} + +FUNCTION {capitalize} +%<!babel>{ "u" change.case$ "t" change.case$ } +%<babel>{ "\capitalize" swap$ * } + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`space.word'} +% \changes{2.0}{1994 Jan 31}{Add function to space out words; necessary +% for the multilingual functions.} +% The function \texttt{space.word} adds a space before and after the word or +% words currently on the stack. This was added for the \texttt{bbl.}$nnn$ +% functions, that contain only a word without spacing, but replace explicit +% text in the originals that were spaced out. Its seems more flexible to +% define the word functions to be without spacing. +% \begin{macrocode} +FUNCTION {space.word} +{ " " swap$ * " " * } +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. +% \end{macrocode} +% +% \begin{macrocode} +%<*!exlang> +% \end{macrocode} +% +% \begin{macro}{`bbl.xxx'} +% \changes{2.0}{1994 Jan 31}{Replace all explicit words with functions +% of the form \texttt{bbl.xxx}.} +% \changes{3.6}{1996 Jan 15}{Add option \texttt{varand}} +% \changes{3.83}{1997 Feb 25}{Add option \texttt{ednx}} +% \changes{3.83}{1997 Jun 9}{Make \texttt{\char`\\BIBand} protected} +% \changes{3.87}{1998 Aug 17}{Add \texttt{bbl.etal}} +% \changes{3.89d1}{1999 July 20}{AO: add \texttt{bbl.eidpp}} +% These are the default English words. There is no default language +% option: one of \texttt{english} or \texttt{babel} must be given. +% \begin{macrocode} +%<*!babel> + % The language selected here is ENGLISH +FUNCTION {bbl.and} +%<!varand|html>{ "and"} +%<varand&!html>{ "\protect\BIBand{}"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +%<!ed>{ "editors" } +%<ed>{ "eds." } + +FUNCTION {bbl.editor} +%<!ed>{ "editor" } +%<ed>{ "ed." } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +%<!abr>{ "edition" } +%<abr&!ednx>{ "edn." } +%<abr&ednx>{ "ed." } + +FUNCTION {bbl.volume} +%<!abr>{ "volume" } +%<abr>{ "vol." } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +%<!abr>{ "number" } +%<abr>{ "no." } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +%<!pp&!ppx>{ "pages" } +%<pp>{ "pp." } +%<!pp&ppx>{ "" } + +FUNCTION {bbl.page} +%<!pp&!ppx>{ "page" } +%<pp>{ "p." } +%<!pp&ppx>{ "" } + +%<*revdata> +FUNCTION {bbl.eidpp} +{ "pages" } + +%</revdata> +FUNCTION {bbl.chapter} +%<!abr>{ "chapter" } +%<abr>{ "chap." } + +FUNCTION {bbl.techrep} +%<!abr>{ "Technical Report" } +%<abr>{ "Tech. Rep." } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +%<*!xedn> +FUNCTION {bbl.first} +%<!ord>{ "First" } +%<ord>{ "1st" } + +FUNCTION {bbl.second} +%<!ord>{ "Second" } +%<ord>{ "2nd" } + +FUNCTION {bbl.third} +%<!ord>{ "Third" } +%<ord>{ "3rd" } + +FUNCTION {bbl.fourth} +%<!ord>{ "Fourth" } +%<ord>{ "4th" } + +FUNCTION {bbl.fifth} +%<!ord>{ "Fifth" } +%<ord>{ "5th" } + +FUNCTION {bbl.st} +{ "st" } + +FUNCTION {bbl.nd} +{ "nd" } + +FUNCTION {bbl.rd} +{ "rd" } + +FUNCTION {bbl.th} +{ "th" } + +%</!xedn> +%<*!abr> +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +%</!abr> +%<*abr> +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"Jun."} + +MACRO {jul} {"Jul."} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sep."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +%</abr> +%</!babel> +% \end{macrocode} +% +% Here are the definitions for \texttt{babel} option, i.e., explicit +% translations are not used, but rather only \LaTeX{} macros that must be +% defined in the file \texttt{babelbst.tex}. This could allow automatic +% language selection. +% \begin{macrocode} +%<*babel> + % The BABEL language selection is made here; definitions in babelbst.tex. +FUNCTION {bbl.and} +{ "\bbland{}"} + +FUNCTION {bbl.etal} +{ "\bbletal{}"} + +FUNCTION {bbl.editors} +%<!ed>{ "\bbleditors{}" } +%<ed>{ "\bbleds{}" } + +FUNCTION {bbl.editor} +%<!ed>{ "\bbleditor{}" } +%<ed>{ "\bbled{}" } + +FUNCTION {bbl.edby} +{ "\bbledby{}" } + +FUNCTION {bbl.edition} +%<!abr>{ "\bbledition{}" } +%<abr>{ "\bbledn{}" } + +FUNCTION {bbl.volume} +%<!abr>{ "\bblvolume{}" } +%<abr>{ "\bblvol{}" } + +FUNCTION {bbl.of} +{ "\bblof{}" } + +FUNCTION {bbl.number} +%<!abr>{ "\bblnumber{}" } +%<abr>{ "\bblno{}" } + +FUNCTION {bbl.nr} +{ "\bblno{}" } + +FUNCTION {bbl.in} +{ "\bblin{}" } + +FUNCTION {bbl.pages} +%<!pp&!ppx>{ "\bblpages{}" } +%<pp>{ "\bblpp{}" } +%<!pp&ppx>{ "" } + +FUNCTION {bbl.page} +%<!pp&!ppx>{ "\bblpage{}" } +%<pp>{ "\bblp{}" } +%<!pp&ppx>{ "" } + +FUNCTION {bbl.chapter} +%<!abr>{ "\bblchapter{}" } +%<abr>{ "\bblchap{}" } + +FUNCTION {bbl.techrep} +%<!abr>{ "\bbltechreport{}" } +%<abr>{ "\bbltechrep{}" } + +FUNCTION {bbl.mthesis} +{ "\bblmthesis{}" } + +FUNCTION {bbl.phdthesis} +{ "\bblphdthesis{}" } + +%<*revdata> +FUNCTION {bbl.eidpp} +{ "\bbleidpp{}" } + +%</revdata> +%<*!xedn> +FUNCTION {bbl.first} +%<!ord>{ "\bblfirst{}" } +%<ord>{ "\bblfirsto{}" } + +FUNCTION {bbl.second} +%<!ord>{ "\bblsecond{}" } +%<ord>{ "\bblsecondo{}" } + +FUNCTION {bbl.third} +%<!ord>{ "\bblthird{}" } +%<ord>{ "\bblthirdo{}" } + +FUNCTION {bbl.fourth} +%<!ord>{ "\bblfourth{}" } +%<ord>{ "\bblfourtho{}" } + +FUNCTION {bbl.fifth} +%<!ord>{ "\bblfifth{}" } +%<ord>{ "\bblfiftho{}" } + +FUNCTION {bbl.st} +{ "\bblst{}" } + +FUNCTION {bbl.nd} +{ "\bblnd{}" } + +FUNCTION {bbl.rd} +{ "\bblrd{}" } + +FUNCTION {bbl.th} +{ "\bblth{}" } + +%</!xedn> +MACRO {jan} {"\bbljan{}"} + +MACRO {feb} {"\bblfeb{}"} + +MACRO {mar} {"\bblmar{}"} + +MACRO {apr} {"\bblapr{}"} + +MACRO {may} {"\bblmay{}"} + +MACRO {jun} {"\bbljun{}"} + +MACRO {jul} {"\bbljul{}"} + +MACRO {aug} {"\bblaug{}"} + +MACRO {sep} {"\bblsep{}"} + +MACRO {oct} {"\bbloct{}"} + +MACRO {nov} {"\bblnov{}"} + +MACRO {dec} {"\bbldec{}"} + +%</babel> +% \end{macrocode} +% +% \begin{macro}{`eng.ord'} +% \changes{2.0}{1994 Jan 31}{Add function to format English ordinals.} +% This function adds English endings for ordinals 1, 2, 3. However, if +% the second last digit is 1, then the ending is `th' for all last digits. +% So far, all other languages included do not have this problem, and it is +% sufficient to add the \textsl{th} equivalent. This might change with further +% languages. +% +% This function must be included with \texttt{babel} too, since that includes +% English. This means that the language definition files must also provide +% for |\bblst|, |\bblnd|, and |\bblrd|, setting them all equal to |\bblth|. +% +% \begin{macrocode} +%<*(english|!exlang)&!xedn> +FUNCTION {eng.ord} +{ duplicate$ "1" swap$ * + #-2 #1 substring$ "1" = + { bbl.th * } + { duplicate$ #-1 #1 substring$ + duplicate$ "1" = + { pop$ bbl.st * } + { duplicate$ "2" = + { pop$ bbl.nd * } + { "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ + } + if$ +} + +%</(english|!exlang)&!xedn> +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%</!exlang> +% \end{macrocode} +% +% \begin{macrocode} +%</!tail> +% \end{macrocode} +% +% \begin{macrocode} +%<*!head> +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%<*!jabr> +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} +%</!jabr> +% \end{macrocode} +% +% \changes{4.00}{1999 Oct 8}{Revise journal abbreviations} +% Journal abbreviations have been revised from the original Patashnik +% ones with help of Conrado Badenas and the IUA recommendations. +% \begin{macrocode} +%<*jabr> +MACRO {acmcs} {"ACM Comput. Surv."} + +MACRO {acta} {"Acta Inf."} + +MACRO {cacm} {"Commun. ACM"} + +MACRO {ibmjrd} {"IBM J. Res. Dev."} + +MACRO {ibmsj} {"IBM Syst.~J."} + +MACRO {ieeese} {"IEEE Trans. Software Eng."} + +MACRO {ieeetc} {"IEEE Trans. Comput."} + +MACRO {ieeetcad} + {"IEEE Trans. Comput. Aid. Des."} + +MACRO {ipl} {"Inf. Process. Lett."} + +MACRO {jacm} {"J.~ACM"} + +MACRO {jcss} {"J.~Comput. Syst. Sci."} + +MACRO {scp} {"Sci. Comput. Program."} + +MACRO {sicomp} {"SIAM J. Comput."} + +MACRO {tocs} {"ACM Trans. Comput. Syst."} + +MACRO {tods} {"ACM Trans. Database Syst."} + +MACRO {tog} {"ACM Trans. Graphic."} + +MACRO {toms} {"ACM Trans. Math. Software"} + +MACRO {toois} {"ACM Trans. Office Inf. Syst."} + +MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} + +MACRO {tcs} {"Theor. Comput. Sci."} + +%</jabr> +% \end{macrocode} +% +% \begin{macro}{`bibinfo.check'} +% \changes{3.89d1}{1999 July 20}{AO: +% add functions \texttt{bibinfo.check}, \texttt{bibinfo.warn}, +% and \texttt{format.eprint}} +% Define functions that encapsulate the argument +% in a \TeX\ macro that allows for further processing when the +% bibliography is processed, or allows for a separate computer +% program to parse the |\bibitem| contents. +% +% The following table summarizes how each of the \btx{} entries +% is accessed for output; these are the points where +% the \texttt{format.bibinfo} or \texttt{bibinfo.check} functions +% are called. +% \subsubsection*{Trapped via \texttt{format.bibinfo}} +% \begin{description} +% \item[ \texttt{author} ]\texttt{format.names} +% \item[ \texttt{collaboration} ]\texttt{format.authors} +% \item[ \texttt{doi} ]\texttt{format.doi} +% \item[ \texttt{editor} ]\texttt{format.editors} (\texttt{book}, \texttt{inbook}, \texttt{proceedings}), \texttt{format.names.ed} (\texttt{format.in.ed.booktitle}) +% \item[ \texttt{eid} ]\texttt{format.journal.eid} (\texttt{format.vol.num.pages}, article) checks the output from \texttt{format.journal.pages} +% \item[ \texttt{isbn} ]\texttt{format.isbn} +% \item[ \texttt{issn} ]\texttt{format.issn} +% \item[ \texttt{journal} ]\texttt{format.article.crossref}, article +% \item[ \texttt{numpages} ]\texttt{format.journal.eid} +% \item[ \texttt{organization} ]\texttt{format.organization.address} (\texttt{inproceedings}, \texttt{proceedings}), \texttt{manual} +% \item[ \texttt{pages} ]\texttt{format.book}.pages (\texttt{book}, \texttt{booklet}), \texttt{format.pages} (\texttt{format.journal.pages}, \texttt{format.chapter.pages}, \texttt{article}, \texttt{inbook}, \texttt{incollection}, \texttt{inproceedings}) +% \item[ \texttt{publisher} ]\texttt{format.publisher.address} (like \texttt{output.check}, \texttt{inproceedings}, \texttt{proceedings}) +% \item[ \texttt{title} ]\texttt{format.title}, \texttt{format.btitle}, \texttt{misc}, \texttt{presort}, \texttt{bib.sort.order} +% \item[ \texttt{volume} ]\texttt{format.bvolume}, \texttt{format.vol.num.pages}, \texttt{format.book.crossref} +% \item[ \texttt{year} ]in optional argument of \texttt{\char`\\bibitem}, \texttt{format.date} (as part of date), \texttt{format.year}, \texttt{format.org.or.pub} +% \item[ \texttt{booktitle} ]\texttt{format.in.ed.booktitle} (\texttt{incollection}, \texttt{inproceedings}), \texttt{format.incoll.inproc.crossref} +% \item[ \texttt{howpublished} ]\texttt{booklet}, \texttt{misc} +% \item[ \texttt{edition} ]\texttt{convert.edition.format.edition} +% \item[ \texttt{institution} ]\texttt{techreport} +% \item[ \texttt{school} ]\texttt{mastersthesis}, \texttt{phdthesis} +% \item[ \texttt{address} ]\texttt{format.org.or.pub}, \texttt{booklet}, \texttt{manual}, \texttt{mastersthesis}, \texttt{phdthesis}, \texttt{techreport} +% \item[ \texttt{chapter} ]\texttt{format.chapter.pages} +% \item[ \texttt{number} ]\texttt{format.number.series}, \texttt{format.vol.num.pages}, \texttt{format.tr.number} +% \item[ \texttt{series} ]\texttt{format.bvolume}, \texttt{format.number.series}, \texttt{format.book.crossref} +% \item[ \texttt{type} ]\texttt{format.chapter.pages}, \texttt{format.thesis.type}, \texttt{format.tr.number} +% \item[ \texttt{month} ]\texttt{format.date} +% \item[ \texttt{note} ]\texttt{format.note} +% \item[ \texttt{annote} ]\texttt{fin.entry} +% \end{description} +% +% \subsubsection*{Encapsulated via \texttt{\char`\\url}} +% \begin{description} +% \item[ \texttt{url} ]\texttt{format.url} (\texttt{\char`\\harvardurl}, \texttt{\char`\\url}), \texttt{format.url} (\texttt{\char`\\url}), \texttt{format.note} (\texttt{\char`\\url}) +% \end{description} +% +% \subsubsection*{Encapsulated via \texttt{\char`\\eprint}} +% \begin{description} +% \item[ \texttt{eprint} ]\texttt{format.eprint} +% \item[ \texttt{archive} ]\texttt{format.eprint} +% \end{description} +% +% \subsubsection*{Not encapsulated:} +% \begin{description} +% \item[ \texttt{key} ]cite key +% \item[ \texttt{language} ]operand of \texttt{\char`\\selectlanguage} +% \end{description} +% +% \subsubsection*{\texttt{bibinfo} tag, but not a \btx{} field} +% \begin{description} +% \item[ \texttt{date} ]\texttt{format.date} +% \end{description} +% +% Provides robust access to fields, checking against \texttt{missing\$} +% and \texttt{empty\$}. A \dtx{} option allows giving +% a warning if either is the case. +% +% If not, it encapsulates the argument in a \TeX\ macro |\bibinfo|. +% The encapsulation is enabled by the \texttt{bibinfo} \dtx{} option: +% if turned off, it simply pops the unneeded object. +% +% \texttt{field} \texttt{string} \texttt{->} \texttt{encapsulated-field} +% +% \texttt{empty} \texttt{string} \texttt{->} \texttt{empty} +% Side effect: warning. +% \begin{macrocode} +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { +%<bibinfo.warning> swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ +%<!bibinfo.warning> pop$ pop$ + "" + } + { duplicate$ empty$ + { +%<bibinfo.warning> swap$ "empty " swap$ * " in " * cite$ * warning$ +%<!bibinfo.warning> swap$ pop$ + } + { swap$ +%<bibinfo> "\bibinfo{" swap$ * "}{" * swap$ * "}" * +%<!bibinfo> pop$ + } + if$ + } + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`bibinfo.warn'} +% Replaces \texttt{output.check} +% with \texttt{bibinfo.warn} followed by \texttt{output}. +% +% \texttt{field} \texttt{string} \texttt{->} \texttt{encapsulated-field} +% +% \texttt{empty} \texttt{string} \texttt{->} \texttt{empty} +% +% Side effect: warning if the field is empty. +% Note: if the \dtx{} option \texttt{bibinfo} is not in effect, +% then no encapsulation is done. +% \begin{macrocode} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ +%<bibinfo> "\bibinfo{" swap$ * "}{" * swap$ * "}" * +%<!bibinfo> pop$ + } + if$ + } + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.eprint'} +% \changes{4.00}{2000 Jan 21}{Add optional archive field} +% The access function for the \texttt{eprint} field. +% +% If the \texttt{bibinfo} \dtx{} option is selected, then this function +% encapsulates the argument in a \TeX\ macro |\eprint|. +% +% \texttt{->} \texttt{encapsulated-URL} +% \begin{macrocode} +%<*eprint> +FUNCTION {format.eprint} +{ eprint duplicate$ empty$ + 'skip$ + { "\eprint" + archive empty$ + 'skip$ + { "[" * archive * "]" * } + if$ + "{" * swap$ * "}" * + } + if$ +} +%</eprint> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`write.url'} +% \changes{1.5(2.3)}{1994 Sep 16}{Add \texttt{write.url} for option +% \texttt{harnm}} +% \changes{3.87}{1998 Jul 23}{Apply to non-Harvard styles} +% \changes{4.03}{2002 Jan 14}{Fix bug when both harnm and url-nl given} +% This function taken over from \texttt{agsm.sty}, the main \texttt{harvard} +% bib style. For non-Harvard styles that want to add the URL on a new line +% after the reference, use this function too, but defined slightly +% differently. +% \begin{macrocode} +%<*(harnm|url-nl)&!revdata> +FUNCTION {write.url} +%<*!html> +{ url empty$ + { skip$ } +%<harnm> { "\newline\harvardurl{" url * "}" * write$ newline$ } +%<!harnm&url-nl> { "\newline\urlprefix\url{" url * "}" * write$ newline$ } + if$ +} +%</!html> +%<*html> +{ url empty$ + { skip$ } + { "<br><a href=" quote$ * url * quote$ + * ">" * url * "</a>" * write$ newline$ } + if$ +} +%</html> + +%</(harnm|url-nl)&!revdata> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.url'} +% \changes{3.87}{1998 Jul 22}{Add function for regular URLs} +% A non-harvard version of URL is also made for regular styles. +% This is used only if the URL text is added as a regular item to the +% reference information, blocked if necessary. Alternatives are on a new line +% (Harvard-like) or in the note. +% \begin{macrocode} +%<*(url-blk&!harnm)|revdata> +FUNCTION {format.url} +{ url empty$ + { "" } +%<!html> { "\urlprefix\url{" url * "}" * } +%<html> { "<a href=" quote$ * url * quote$ +%<html> * ">" * url * "</a>" * } + if$ +} + +%</(url-blk&!harnm)|revdata> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.names'} +% \changes{1.5(2.3)}{1994 Sep 16}{Add \texttt{harvard} command for `and' with +% new option \texttt{harnm}} +% \changes{3.0}{1995 Feb 27}{Add option \texttt{nm-revf}} +% \changes{3.0}{1995 Mar 15}{Add option \texttt{nm-rvx}} +% \changes{3.2}{1995 Jun 7}{Add option \texttt{nm-rvv}} +% \changes{3.6}{1995 Dec 7}{Jr to go at end with \texttt{nm-rev1} (AGU style)} +% \changes{3.6}{1995 Dec 8}{Add option \texttt{nmand-rm}} +% \changes{3.6}{1996 Jan 30}{Add option \texttt{etal-rm}} +% \changes{3.7}{1996 Feb 5}{Add option \texttt{aunm-semi}} +% \changes{3.82}{1996 Dec 16}{Add option \texttt{nm-revv1} (AGU style with full +% names)} +% \changes{3.85}{1996 Feb 6}{Recode author font; allow first names different} +% \changes{3.88}{1999 Feb 25}{Add option \texttt{aunm-sl}} +% \changes{3.89}{1999 May 20}{Reset \texttt{t}; might still be ``others'' +% from last format function} +% \changes{3.89d1}{1999 July 20}{AO: encapsulate author name for later processing; +% trap empty author list; +% bring common braces to outer level for easier understanding of code.} +% \changes{4.00}{1999 Oct 7}{Add option \texttt{jnrlst} to put Jr. last} +% \changes{4.13}{2004 Feb 9}{Add option \texttt{nm-rvcx}} +% \changes{4.14}{2005 Oct 17}{Add option \texttt{nm-rvvc}} +% \changes{4.14}{2005 Oct 17}{Add option \texttt{etal-xc}} +% The \texttt{harvard} package now (version 2.0.3, for \LaTeXe) uses +% |\harvardand| in place of the word \textsl{and} so that it can be changed +% at run time. This is allowed for with the option \texttt{harnm}, which +% need not be used only with the \texttt{har} option. +% This seems like a useless feature for \texttt{.bst} files made from +% this multilanguage source. However, it is included anyway, which means +% if \texttt{harnm} option selected, one must redefine |\harvardand| +% in the document for the language being used. +% +% The location of the junior part for reversed name is not obvious. Prior +% to version 4.0, I always had it attached to the last name, as +% Smith, Jr, John, put it probably is better as Smith, John, Jr. For the +% AGU \texttt{nm-rev1} I always did it this way, probably because I had a +% good AGU example to follow. Dilemma: do I just change them all or add an +% option to do it? The option will maintain consistency with older +% versions, but this could also be considered a bug fix rather than a new +% feature. Solution: use the option, since I have found other \texttt{.bst} +% files from Beebe and Harvard that put junior between surname and first +% name. +% +% |bibinfo| is a variable used to store a string telling it whether the +% names being formatted are authors or editors, since this function is called +% for both purposes. Every call to this function must push the string onto the stack +% just before the call. +% \begin{macrocode} +STRINGS { bibinfo} +INTEGERS { nameptr namesleft numnames } + +% \end{macrocode} +% +% Stack note: if the names argument is a non-nil list, this function returns +% one object on the stack, the formatted list of names. +% +% \texttt{names`string} \texttt{bibinfo`string} \texttt{->} \texttt{author-list`string} +% \begin{macrocode} +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr +% \end{macrocode} +% Here is the author formatting when the names are not set in any special +% font, or when the entire name set in a single special font. +% \begin{macrocode} +%<*!(nmft&(fnm-rm|fnm-def))> +%<*!nm-rev1&!nm-revv1> +%<nm-init> "{f.~}{vv~}{ll}{, jj}" +%<*!nm-init> +%<nm-rev&!jnrlst> "{vv~}{ll}{, jj}{, f.}" +%<nm-rev&jnrlst> "{vv~}{ll}{, f.}{, jj}" +%<*!nm-rev> +%<nm-rv&!jnrlst> "{vv~}{ll}{ jj}{ f{~}}" +%<nm-rv&jnrlst> "{vv~}{ll}{ f{~}}{ jj}" +%<*!nm-rv> +%<nm-rvx&!jnrlst> "{vv~}{ll}{ jj}{ f{}}" +%<nm-rvx&jnrlst> "{vv~}{ll}{ f{}}{ jj}" +%<*!nm-rvx> +%<nm-rvcx&!jnrlst> "{vv~}{ll}{, jj}{, f{}}" +%<nm-rvcx&jnrlst> "{vv~}{ll}{, f{}}{, jj}" +%<*!nm-rvcx> +%<nm-rvv&!jnrlst> "{vv~}{ll}{ jj}{ f{.}.}" +%<nm-rvv&jnrlst> "{vv~}{ll}{ f{.}.}{ jj}" +%<*!nm-rvv> +%<nm-rvvc&!jnrlst> "{vv~}{ll}{, jj}{, f{.}.}" +%<nm-rvvc&jnrlst> "{vv~}{ll}{, f{.}.}{, jj}" +%<*!nm-rvvc> +%<nm-revf&!jnrlst> "{vv~}{ll}{, jj}{, ff}" +%<nm-revf&jnrlst> "{vv~}{ll}{, ff}{, jj}" +%<*!nm-revf> + "{ff~}{vv~}{ll}{, jj}" +%</!nm-revf> +%</!nm-rvvc> +%</!nm-rvv> +%</!nm-rvcx> +%</!nm-rvx> +%</!nm-rv> +%</!nm-rev> +%</!nm-init> +%</!nm-rev1&!nm-revv1> +%<*nm-rev1> + duplicate$ #1 > + { "{f.~}{vv~}{ll}{, jj}" } +%<!jnrlst> { "{vv~}{ll}{, jj}{, f.}" } +%<jnrlst> { "{vv~}{ll}{, f.}{, jj}" } + if$ +%</nm-rev1> +%<*!nm-rev1&nm-revv1> + duplicate$ #1 > + { "{ff~}{vv~}{ll}{, jj}" } +%<!jnrlst> { "{vv~}{ll}{, jj}{, ff}" } +%<jnrlst> { "{vv~}{ll}{, ff}{, jj}" } + if$ +%</!nm-rev1&nm-revv1> + format.name$ +%<nm-rv|nm-rvx> remove.dots +%<nmft&nmand-rm> bib.name.font +%</!(nmft&(fnm-rm|fnm-def))> +% \end{macrocode} +% Here is the author formatting when the first and last names are +% set in (possibly different) special fonts. +% +% \changes{4.00}{1999 Oct 7}{Junior part always in first name font} +% The junior part is optionally between the reversed names, or after them. +% \begin{macrocode} +%<*nmft&(fnm-rm|fnm-def)> +%<*!nm-rev1&!nm-revv1> +%<*nm-init> + "{f.}" format.name$ duplicate$ empty$ 'skip$ + { tie.or.space.prefix bib.fname.font swap$ * } + if$ + s nameptr + "{vv~}{ll}" format.name$ bib.name.font * + s nameptr + "{jj}" format.name$ duplicate$ empty$ 'skip$ + { bib.fname.font ", " swap$ * } + if$ +%</nm-init> +%<*!nm-init> +%<*nm-rev> + "{vv~}{ll}" format.name$ bib.name.font + s nameptr +%<!jnrlst> "{jj, }{f.}" +%<jnrlst> "{f.}{, jj}" + format.name$ duplicate$ empty$ 'skip$ + { bib.fname.font ", " swap$ * } + if$ +%</nm-rev> +%<*!nm-rev> +%<*nm-rv> + "{vv~}{ll}" format.name$ bib.name.font + s nameptr +%<!jnrlst> "{jj }{f{~}}" +%<jnrlst> "{f{~}}{ jj}" + format.name$ duplicate$ empty$ 'skip$ + { remove.dots bib.fname.font " " swap$ * } + if$ +%</nm-rv> +%<*!nm-rv> +%<*nm-rvx> + "{vv~}{ll}" format.name$ bib.name.font + s nameptr +%<!jnrlst> "{jj }{f{}}" +%<jnrlst> "{f{}}{ jj}" + format.name$ duplicate$ empty$ 'skip$ + { remove.dots bib.fname.font " " swap$ * } + if$ +%</nm-rvx> +%<*!nm-rvx> +%<*nm-rvcx> + "{vv~}{ll}" format.name$ bib.name.font + s nameptr +%<!jnrlst> "{jj, }{f{}}" +%<jnrlst> "{f{}}{, jj}" + format.name$ duplicate$ empty$ 'skip$ + { remove.dots bib.fname.font ", " swap$ * } + if$ +%</nm-rvcx> +%<*!nm-rvcx> +%<*nm-rvv> + "{vv~}{ll}" format.name$ bib.name.font + s nameptr +%<!jnrlst> "{jj }{f{.}.}" +%<jnrlst> "{f{.}.}{ jj}" + format.name$ duplicate$ empty$ 'skip$ + { bib.fname.font " " swap$ * } + if$ +%</nm-rvv> +%<*!nm-rvv> +%<*nm-rvvc> + "{vv~}{ll}" format.name$ bib.name.font + s nameptr +%<!jnrlst> "{jj, }{f{.}.}" +%<jnrlst> "{f{.}.}{, jj}" + format.name$ duplicate$ empty$ 'skip$ + { bib.fname.font ", " swap$ * } + if$ +%</nm-rvvc> +%<*!nm-rvvc> +%<*nm-revf> + "{vv~}{ll}" format.name$ bib.name.font + s nameptr +%<!jnrlst> "{jj, }{ff}" +%<jnrlst> "{ff}{, jj}" + format.name$ duplicate$ empty$ 'skip$ + { bib.fname.font ", " swap$ * } + if$ +%</nm-revf> +%<*!nm-revf> + "{ff}" format.name$ duplicate$ empty$ 'skip$ + { tie.or.space.prefix bib.fname.font swap$ * } + if$ + s nameptr + "{vv~}{ll}" format.name$ bib.name.font * + s nameptr + "{jj}" format.name$ duplicate$ empty$ 'skip$ + { bib.fname.font ", " swap$ * } + if$ +%</!nm-revf> +%</!nm-rvvc> +%</!nm-rvv> +%</!nm-rvcx> +%</!nm-rvx> +%</!nm-rv> +%</!nm-rev> +%</!nm-init> +%</!nm-rev1&!nm-revv1> +%<*nm-rev1> + nameptr #1 > + { "{f.}" format.name$ duplicate$ empty$ 'skip$ + { tie.or.space.prefix bib.fname.font swap$ * } + if$ + s nameptr + "{vv~}{ll}" format.name$ bib.name.font * + s nameptr + "{jj}" format.name$ duplicate$ empty$ 'skip$ + { bib.fname.font ", " swap$ * } + if$ + } + { "{vv~}{ll}" format.name$ bib.name.font + s nameptr +%<!jnrlst> "{jj, }{f.}" +%<jnrlst> "{f.}{, jj}" + format.name$ duplicate$ empty$ 'skip$ + { bib.fname.font ", " swap$ * } + if$ + } + if$ +%</nm-rev1> +%<*!nm-rev1&nm-revv1> + nameptr #1 > + { "{ff}" format.name$ duplicate$ empty$ 'skip$ + { tie.or.space.prefix bib.fname.font swap$ * } + if$ + s nameptr + "{vv~}{ll}" format.name$ bib.name.font * + s nameptr + "{jj}" format.name$ duplicate$ empty$ 'skip$ + { bib.fname.font ", " swap$ * } + if$ + } + { "{vv~}{ll}" format.name$ bib.name.font + s nameptr +%<!jnrlst> "{jj, }{ff}" +%<jnrlst> "{ff}{, jj}" + format.name$ duplicate$ empty$ 'skip$ + { bib.fname.font ", " swap$ * } + if$ + } + if$ +%</!nm-rev1&nm-revv1> + * +%</nmft&(fnm-rm|fnm-def)> + bibinfo bibinfo.check + 't := + nameptr #1 > + { +%<*nmlm> +%<m1> nameptr #1 +%<m2> nameptr #2 +%<m3> nameptr #3 +%<m4> nameptr #4 +%<m5> nameptr #5 +%<m6> nameptr #6 +%<m7> nameptr #7 +%<m8> nameptr #8 +%<m9> nameptr #9 +%<m0> nameptr #0 +%<m10> #10 + +%<m20> #20 + +%<m30> #30 + +%<m40> #40 + +%<m50> #50 + +%<m60> #60 + +%<m70> #70 + +%<m80> #80 + +%<m90> #90 + + #1 + = +%<x1> numnames #1 +%<x2> numnames #2 +%<x3> numnames #3 +%<x4> numnames #4 +%<x5> numnames #5 +%<x6> numnames #6 +%<x7> numnames #7 +%<x8> numnames #8 +%<x9> numnames #9 +%<x0> numnames #0 +%<x10> #10 + +%<x20> #20 + +%<x30> #30 + +%<x40> #40 + +%<x50> #50 + +%<x60> #60 + +%<x70> #70 + +%<x80> #80 + +%<x90> #90 + + > and + { "others" 't := + #1 'namesleft := } + 'skip$ + if$ +%</nmlm> + namesleft #1 > +%<!aunm-semi&!aunm-sl> { ", " * t * } +%<aunm-semi> { "; " * t * } +%<aunm-sl&!aunm-semi> { "/ " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ +%<(and-com|xand)&!aunm-semi&!aunm-sl> "," * +%<(and-com|xand)&aunm-semi> ";" * +%<(and-com|xand)&aunm-sl&!aunm-semi> "/" * +%<*!and-xcom&!and-com&!xand> + numnames #2 > +%<etal-xc> t "others" = not and +%<!aunm-semi&!aunm-sl> { "," * } +%<aunm-semi> { ";" * } +%<aunm-sl&!aunm-semi> { "/" * } + 'skip$ + if$ +%</!and-xcom&!and-com&!xand> + t "others" = + { +%<nmft&!nmand-rm&!(fnm-rm|fnm-def)&(etal-it|etal-rm)> bib.name.font +%<*!etal-it> +%<nmft&(nmand-rm|(fnm-rm|fnm-def))&!etal-rm> " " * bbl.etal bib.name.font * +%<!(nmft&(nmand-rm|(fnm-rm|fnm-def)))|etal-rm> " " * bbl.etal * +%</!etal-it> +%<etal-it> " " * bbl.etal emphasize * +%<nmft&!nmand-rm&!(fnm-rm|fnm-def)&!(etal-it|etal-rm)> bib.name.font + } +%<*!xand> + { +%<*!harnm> +%<!amper> bbl.and +%<amper> "\&" +%</!harnm> +%<harnm> "\harvardand{}" +%<nmft&!nmand-rm&(fnm-rm|fnm-def)> bib.name.font + space.word * t * + } +%</!xand> +%<xand> { " " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +%<*nmft&!nmand-rm&!(fnm-rm|fnm-def)> + t "others" = + 'skip$ + { bib.name.font } + if$ +%</nmft&!nmand-rm&!(fnm-rm|fnm-def)> + } if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.names.ed'} +% \changes{1.6(2.4)}{1995 Feb 2}{Add option \texttt{ed-rev} to allow editor +% to be formatted just like authors'} +% \changes{3.0}{1995 Feb 27}{Option \texttt{nm-revf} to act just as default} +% \changes{3.83}{1997 Feb 25}{Add option \texttt{and-com-ed} to replace +% \texttt{and-com} for collection editors} +% \changes{3.85}{1996 Feb 6}{Recode author font; allow first names different} +% \changes{3.88}{1999 Feb 25}{Add option \texttt{ed-au}, synonomous with +% \texttt{ed-rev}} +% \changes{3.88}{1999 Mar 18}{Bug fix: \texttt{and-com-ed} used correctly} +% \changes{3.89d1}{1999 July 20}{AO: encapsulate editor for later processing; +% trap empty editor list} +% When editors are used in place of authors to identify the work, the +% names are always formatted just like authors'. However, in collections, +% where ``edited by'' or ``\emph{names} (editors)'' are given, it is +% normal not to reverse the names, even if the authors' are. The option +% \texttt{ed-rev} sees to it that editor names are always formatted exactly +% like those of authors, being reversed if necessary. +% +% The option \texttt{ed-au} is identical to \texttt{ed-rev}, but is more +% logical. It means editors (in incollections) are formatted exactly like +% authors, with all the font, reversing, and number limitations. This is +% selected automatically with \texttt{nm-init} and \texttt{nm-} default to save +% programming memory. +% +% The option \texttt{nm-revf} in this case acts the same as the default +% when no \texttt{nm-} option given: full names with surname last. Therefore +% it is not necessary to test for it at all, since it, like the default, +% has the lowest priority: any other \texttt{nm-} option clobbers it. +% +% The options \texttt{aunm-semi} and \texttt{aunm-sl} will put a semi-colon or +% slash between editor names, just as for authors, when \texttt{ed-rev} not +% selected, in keeping with the idea that in this case both authors and editors +% are to be formatted the same. +% +% This function either dispatches to \texttt{format.names} or executes code +% which is similar. In the latter case, names are always presented first +% followed by surname (``last name''); name limit processing (\texttt{nmlm}) is not executed; +% and endgame processing differs in being qualified by \texttt{nmfted}. +% +% Stack note: if the names (second) argument is a non-nil list, this function returns +% with one object on the stack, the formatted list of names. +% +% \texttt{names`string} \texttt{bibinfo`string} \texttt{->} \texttt{author-list`string} +% \begin{macrocode} +FUNCTION {format.names.ed} +{ +%<ed-rev|ed-au> format.names +%<*!ed-rev&!ed-au> + 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr +% \end{macrocode} +% Editor name is handled as a single object, with no separation of first and last name. +% \begin{macrocode} +%<*!(nmft&nmfted&(fnm-rm|fnm-def))> +%<nm-init|nm-rev|nm-rev1> "{f.~}{vv~}{ll}{, jj}" +%<*!nm-init&!nm-rev&!nm-rev1> +%<nm-revv1> "{ff~}{vv~}{ll}{, jj}" +%<*!nm-revv1> +%<nm-rv> "{f{~}~}{vv~}{ll}{ jj}" +%<*!nm-rv> +%<nm-rvx> "{f{}~}{vv~}{ll}{ jj}" +%<*!nm-rvx> +%<nm-rvcx> "{f{}~}{vv~}{ll}{ jj}" +%<*!nm-rvcx> +%<nm-rvv|nm-rvvc> "{f{.}.~}{vv~}{ll}{ jj}" +%<*!nm-rvv&!nm-rvvc> + "{ff~}{vv~}{ll}{, jj}" +%</!nm-rvv&!nm-rvvc> +%</!nm-rvcx> +%</!nm-rvx> +%</!nm-rv> +%</!nm-revv1> +%</!nm-init&!nm-rev&!nm-rev1> + format.name$ +%<nm-rv|nm-rvx|nm-rvcx> remove.dots +%<nmft&nmfted&nmand-rm> bib.name.font +%</!(nmft&nmfted&(fnm-rm|fnm-def))> +% \end{macrocode} +% Editor first and last name handled separately. +% \begin{macrocode} +%<*(nmft&nmfted&(fnm-rm|fnm-def))> +%<*nm-init|nm-rev|nm-rev1> + "{f.}" format.name$ duplicate$ empty$ 'skip$ + { tie.or.space.prefix bib.fname.font swap$ * } + if$ + s nameptr + "{vv~}{ll}" format.name$ bib.name.font * + s nameptr + "{jj}" format.name$ duplicate$ empty$ 'skip$ + { bib.fname.font ", " swap$ * } + if$ +%</nm-init|nm-rev|nm-rev1> +%<*!nm-init&!nm-rev&!nm-rev1> +%<*nm-revv1> + "{ff}" format.name$ duplicate$ empty$ 'skip$ + { tie.or.space.prefix bib.fname.font swap$ * } + if$ + s nameptr + "{vv~}{ll}" format.name$ bib.name.font * + s nameptr + "{jj}" format.name$ duplicate$ empty$ 'skip$ + { bib.fname.font ", " swap$ * } + if$ +%</nm-revv1> +%<*!nm-revv1> +%<*nm-rv> + "{f{~}}" format.name$ duplicate$ empty$ 'skip$ + { tie.or.space.prefix bib.fname.font swap$ * } + if$ + s nameptr + "{vv~}{ll}" format.name$ bib.name.font * + s nameptr + "{jj}" format.name$ duplicate$ empty$ 'skip$ + { remove.dots bib.fname.font " " swap$ * } + if$ +%</nm-rv> +%<*!nm-rv> +%<*nm-rvx|nm-rvcx> + "{f{}}" format.name$ duplicate$ empty$ 'skip$ + { tie.or.space.prefix bib.fname.font swap$ * } + if$ + s nameptr + "{vv~}{ll}" format.name$ bib.name.font * + s nameptr + "{jj}" format.name$ duplicate$ empty$ 'skip$ + { remove.dots bib.fname.font " " swap$ * } + if$ +%</nm-rvx|nm-rvcx> +%<*!nm-rvx&!nm-rvcx> +%<*nm-rvv> + "{f{.}.}" format.name$ duplicate$ empty$ 'skip$ + { tie.or.space.prefix bib.fname.font swap$ * } + if$ + s nameptr + "{vv~}{ll}" format.name$ bib.name.font * + s nameptr + "{jj}" format.name$ duplicate$ empty$ 'skip$ + { bib.fname.font " " swap$ * } + if$ +%</nm-rvv> +%<*!nm-rvv> + "{ff}" format.name$ duplicate$ empty$ 'skip$ + { tie.or.space.prefix bib.fname.font swap$ * } + if$ + s nameptr + "{vv~}{ll}" format.name$ bib.name.font * + s nameptr + "{jj}" format.name$ duplicate$ empty$ 'skip$ + { bib.fname.font ", " swap$ * } + if$ +%</!nm-rvv> +%</!nm-rvx&!nm-rvcx> +%</!nm-rv> +%</!nm-revv1> +%</!nm-init&!nm-rev&!nm-rev1> + * +%</(nmft&nmfted&(fnm-rm|fnm-def))> + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > +%<!aunm-semi&!aunm-sl> { ", " * t * } +%<aunm-semi> { "; " * t * } +%<aunm-sl&!aunm-semi> { "/ " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ +%<(and-com-ed|xand)&!aunm-semi&!aunm-sl> "," * +%<(and-com-ed|xand)&aunm-semi> ";" * +%<(and-com-ed|xand)&aunm-sl&!aunm-semi> "/" * +%<*!and-xcom&!and-com-ed&!xand> + numnames #2 > +%<etal-xc> t "others" = not and +%<!aunm-semi&!aunm-sl> { "," * } +%<aunm-semi> { ";" * } +%<aunm-sl&!aunm-semi> { "/" * } + 'skip$ + if$ +%</!and-xcom&!and-com-ed&!xand> + t "others" = + { + +%<nmft&nmfted&!nmand-rm&!(fnm-rm|fnm-def)&(etal-it|etal-rm)> bib.name.font +%<*!etal-it> +%<nmft&nmfted&(nmand-rm|(fnm-rm|fnm-def))&!etal-rm> " " * bbl.etal bib.name.font * +%<!(nmft&nmfted&(nmand-rm|(fnm-rm|fnm-def)))|etal-rm> " " * bbl.etal * +%</!etal-it> +%<etal-it> " " * bbl.etal emphasize * +%<nmft&nmfted&!nmand-rm&!(fnm-rm|fnm-def)&!(etal-it|etal-rm)> bib.name.font + } +%<*!xand> + { +%<*!harnm> +%<!amper> bbl.and +%<amper> "\&" +%</!harnm> +%<harnm> "\harvardand{}" +%<nmft&nmfted&!nmand-rm&(fnm-rm|fnm-def)> bib.name.font + space.word * t * + } +%</!xand> +%<xand> { " " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +%<*nmft&nmfted&!nmand-rm&!(fnm-rm|fnm-def)> + t "others" = + 'skip$ + { bib.name.font } + if$ +%</nmft&nmfted&!nmand-rm&!(fnm-rm|fnm-def)> + } if$ +%</!ed-rev&!ed-au> +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.key'} +% \begin{macrocode} +%<*ay> +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +%</ay> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.authors'} +% +% \changes{3.89d1}{1999 July 20}{AO: Add code to emit collaboration.} +% \begin{macrocode} +FUNCTION {format.authors} +{ author "author" format.names +%<*revdata> + duplicate$ empty$ 'skip$ + { collaboration "collaboration" bibinfo.check + duplicate$ empty$ 'skip$ + { " (" swap$ * ")" * } + if$ + * + } + if$ +%</revdata> +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`get.bbl.editor'} +% \changes{3.89d1}{1999 July 20}{AO: access function for editor text entity} +% Use this function universally when accessing the ``editor'' text entity. +% \begin{macrocode} +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.editors'} +% \changes{3.0}{1995 Mar 20}{Add option \texttt{edpar}} +% \changes{3.83}{1997 Feb 4}{Add option \texttt{edparc}} +% \changes{3.89d1}{1999 July 20}{AO: encapsulate editors for further processing.} +% \changes{4.00}{1999 Oct 6}{Add option \texttt{edparxc}} +% The option \texttt{edpar} puts the word `editor' in parentheses. +% In \texttt{genbst.mbs}, this occurred automatically with the option +% \texttt{ed}, to abbreviate `editor' to `ed'. In \texttt{babel.mbs}, +% this was not the case, because of complications with the word functions. +% Now this possibility is added as a special option, which means there is +% some inconsistency with older \texttt{.dbj} files that called \texttt{ed}: +% the abbreviated `ed' is not put in parentheses unless \texttt{edpar} is +% also called. +% +% Note that the code here is very similar to code in \texttt{format.in.ed.booktitle}; +% the two should be kept coordinated. +% \begin{macrocode} +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { +%<!edpar&!edparxc> "," * + " " * + get.bbl.editor +%<bkedcap> capitalize +%<edpar|edparc|edparxc> "(" swap$ * ")" * + * + } + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.in.editors'} +% \changes{3.0}{1995 Mar 20}{Add option \texttt{edpar}} +% \changes{3.83}{1997 Feb 4}{Add option \texttt{edparc}} +% \changes{3.89d1}{1999 July 20}{AO: code subsumed into +% \texttt{format.in.ed.booktitle}} +% See the note about the option \texttt{edpar} above. +% +% \end{macro} +% +% \begin{macro}{`format.book.pages'} +% \changes{3.88}{1998 Dec 2}{Add function} +% \changes{3.89d1}{1999 July 20}{AO: encapsulate pages for further processing.} +% \begin{macrocode} +%<*pg-bk> +FUNCTION {format.book.pages} +{ pages "pages" bibinfo.check + duplicate$ empty$ 'skip$ + { " " * bbl.pages * } + if$ +} +%</pg-bk> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.isbn'} +% \changes{3.0}{1995 Mar 1}{Add function} +% \changes{3.89d1}{1999 July 20}{AO: encapsulate isbn for further processing} +% \begin{macrocode} +%<*isbn> +FUNCTION {format.isbn} +{ isbn "isbn" bibinfo.check + duplicate$ empty$ 'skip$ + { +%<!blk-com&!blk-tit&!blk-tita> new.block + "ISBN " swap$ * + } + if$ +} + +%</isbn> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.issn'} +% \changes{3.87}{1998 Aug 17}{Add function} +% \changes{3.89d1}{1999 July 20}{AO: encapsulate issn for further processing} +% \begin{macrocode} +%<*issn> +FUNCTION {format.issn} +{ issn "issn" bibinfo.check + duplicate$ empty$ 'skip$ + { +%<!blk-com&!blk-tit&!blk-tita> new.block + "ISSN " swap$ * + } + if$ +} + +%</issn> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.doi'} +% \changes{4.10}{2003 May 28}{Add function} +% \begin{macrocode} +%<*doi> +FUNCTION {format.doi} +{ doi "doi" bibinfo.check + duplicate$ empty$ 'skip$ + { +%<!blk-com&!blk-tit&!blk-tita> new.block +%<!html> "\doi{" swap$ * "}" * +%<html> "doi:" swap$ * + } + if$ +} +%</doi> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`select.language'} +% \changes{3.87}{1998 Aug 17}{Add function} +% The \texttt{language} field code has been provided by Bernd Feige, of the +% University of Freiburg. +% \begin{macrocode} +%<*lang> +FUNCTION {select.language} +{ duplicate$ empty$ + 'pop$ + { language empty$ + 'skip$ + { "{\selectlanguage{" language * "}" * swap$ * "}" * } + if$ + } + if$ +} + +%</lang> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.note'} +% \changes{3.83}{1997 Apr 25}{Add macro} +% \changes{3.83}{1997 May 26}{Fix so unmatched brace warning suppressed} +% \changes{3.87}{1998 Jul 23}{Add option \texttt{url-nt}} +% Notes should be entered as though they were a sentence on their own. +% However, if they appear mid-sentence rather than after a block or sentence, +% the first letter must be lowercase. Thus if a note begins with a proper +% noun, it must be in braces. To avoid a warning about unmatched braces +% with the \texttt{change.case\$} function, check first if the leading +% character is an opening brace. +% +% With options \texttt{url,url-nt}, the URL text is treated as a note, and +% added here. It is output directly, not prepended to the note text. This +% means, if the note is to be a new sentence, the URL text starts that +% sentence, and the regular note is added to that sentence, comma between. +% \changes{3.89d1}{1999 July 20}{AO: encapsulate note for further processing} +% \changes{4.00}{1999 Sep 14}{PWD: remove url with \texttt{revdata}} +% +% \begin{macrocode} +FUNCTION {format.note} +{ +%<*url-nt&!revdata> + url empty$ + 'skip$ +%<!html> { "\urlprefix\url{" url * "}" * output } +%<html> { "<a href=" quote$ * url * quote$ +%<html> * ">" * url * "</a>" * output } + if$ +%</url-nt&!revdata> + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.title'} +% \changes{1.4(2.2)a}{1994 Sep 7}{Add enquote function to put titles in quotes, +% such that punctuation is inside quotes.} +% \changes{3.8}{1996 Apr 17}{Fix bug in quoted title and \texttt{blk-com}} +% \changes{3.83}{1997 Feb 4}{Add \texttt{qx} option, for comma outside +% quotes} +% For a quoted title, any punctuation in the title goes inside the quote. +% Otherwise, the comma or period following the title also goes inside. +% Exception is with \texttt{qx} option, in which case the comma goes +% outside, even when punctuation present; for period (\texttt{!blk-com}) +% is added outside only when punctuation is absent. +% +% \changes{3.89d1}{1999 July 20}{AO: encapsulate title for further processing.} +% \changes{4.01}{2000 May 4}{Put \texttt{change.case\$} before \texttt{bibinfo.check}} +% \begin{macrocode} +FUNCTION {format.title} +{ title +%<*!atit-u> + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ +%</!atit-u> + "title" bibinfo.check +%<*tit-it|tit-qq|lang> + duplicate$ empty$ 'skip$ + { +%<tit-it> emphasize +%<*!tit-it&tit-qq> + "\enquote{" swap$ * +%<*!qx> +%<*blk-com> + non.stop +%<!com-semi&!com-blank> { ",} " * } +%<com-semi> { ";} " * } +%<!com-semi&com-blank> { "} " * } + { "} " * } + if$ +%</blk-com> +%<!blk-com> add.period$ "}" * +%</!qx> +%<*qx> +%<*blk-com> +%<!com-semi&!com-blank> "}, " * +%<com-semi> "}; " * +%<!com-semi&com-blank> "} " * +%</blk-com> +%<!blk-com> "}" * +%</qx> +%</!tit-it&tit-qq> +%<lang> select.language + } + if$ +%</tit-it|tit-qq|lang> +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`end.quote.title'} +% \changes{3.82}{1996 Nov 15}{Add macro to finish off quoted titles} +% For a quoted title, the punctuation appears in the quotes. For commas +% between block, this means the inter-block punctuation is already present, +% so it must be suppressed after every \texttt{format.title output}. This +% is done by setting the \texttt{output.state} to \texttt{before.all}, but +% only if there really was a title. Call this macro every time after +% titles are output. +% \begin{macrocode} +%<*blk-com&tit-qq> +FUNCTION {end.quote.title} +{ title empty$ + 'skip$ + { before.all 'output.state := } + if$ +} +%</blk-com&tit-qq> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`end.quote.btitle'} +% \changes{3.84}{1997 Oct 31}{Add function} +% Similar to |end.quote.title| except that it is only applied if titles of +% proceedings and collections are quoted, and if +% neither \texttt{edby}, \texttt{edby-par}, nor \texttt{edby-par} are selected +% (this is the default case in the relevant menu of the \texttt{makebst.tex} run). +% These options add text after the booktitle, +% so additional punctuation need not be suppressed. Unless there is no editor! +% +% Note: this function is called after the result of \texttt{format.in.ed.booktitle} +% has been output, and attempts to predict what that output had been. +% Would it not be better to call this function while that result is still +% on the stack? +% \begin{macrocode} +%<*bt-qq> +FUNCTION {end.quote.btitle} +{ booktitle empty$ + 'skip$ +%<!edby&!edby-par&!edby-parc> { before.all 'output.state := } +%<*edby|edby-par|edby-parc> + { editor empty$ + { before.all 'output.state := } + 'skip$ + if$ + } +%</edby|edby-par|edby-parc> + if$ +} +%</bt-qq> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`make.full.names'} +% \changes{1.1}{1993 Nov 12}{Add key labels to \texttt{calc.long.label} and +% get {\tt'author} and {\tt'editor} in right order when author +% missing.} +% \changes{1.4(2.2)}{1994 Sep 5}{Remove \texttt{calc.long.label} and +% \texttt{format.long.lab.names}, replacing them with +% \texttt{format.full.names}, \texttt{make.full.names}, and adding +% \texttt{author.editor.key}, \texttt{author.key}, and \texttt{editor.key}} +% \changes{1.4(2.2)a}{1994 Sep 7}{Remove option \texttt{and-com} from +% \texttt{make.full.names}} +% \changes{1.5(2.3)}{1994 Sep 15}{Add full names for \texttt{natbib} v5.3} +% \changes{3.6}{1995 Dec 8}{Suppress `and' in full list if suppressed in short} +% \changes{3.6}{1995 Dec 8}{Font of `and' in lists same as in citations} +% \changes{3.85}{1996 Feb 6}{Recode author font} +% \changes{3.89}{1999 May 20}{Fix location of \texttt{and-xcom} code} +% In versions before 2.2, there were two functions \texttt{calc.long.label} +% and \texttt{format.long.lab.names} that made up the string +% \texttt{long.label} for each entry. This contains the full author list. +% However, there was a bug in the one routine, entered by mistake when an +% earlier bug was removed, and more seriously, the string +% \texttt{long.label} was limited to \texttt{entry.max\$} characters, 100 on +% my system. Author lists were truncated. Thus, \texttt{make.full.names} +% is used instead to enter the full list of names directly in the +% \texttt{output.bibitem} function, without an intermediate string. This +% involves changing the order of some function definitions, especially +% \texttt{output.bibitem} must come later. +% \changes{3.89}{1999 May 20}{Reset \texttt{t}; might still be ``others'' +% from last format function} +% \changes{3.98}{1999 May 28}{Fix bug with \texttt{harnm}, missing brace} +% \begin{macrocode} +%<*har|cay|nat> +FUNCTION {format.full.names} +{'s := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ +%<lab&and-rm> cite.name.font + 't := + nameptr #1 > + { +%<*nmlm> +%<m1> nameptr #1 +%<m2> nameptr #2 +%<m3> nameptr #3 +%<m4> nameptr #4 +%<m5> nameptr #5 +%<m6> nameptr #6 +%<m7> nameptr #7 +%<m8> nameptr #8 +%<m9> nameptr #9 +%<m0> nameptr #0 +%<m10> #10 + +%<m20> #20 + +%<m30> #30 + +%<m40> #40 + +%<m50> #50 + +%<m60> #60 + +%<m70> #70 + +%<m80> #80 + +%<m90> #90 + + #1 + = +%<x1> numnames #1 +%<x2> numnames #2 +%<x3> numnames #3 +%<x4> numnames #4 +%<x5> numnames #5 +%<x6> numnames #6 +%<x7> numnames #7 +%<x8> numnames #8 +%<x9> numnames #9 +%<x0> numnames #0 +%<x10> #10 + +%<x20> #20 + +%<x30> #30 + +%<x40> #40 + +%<x50> #50 + +%<x60> #60 + +%<x70> #70 + +%<x80> #80 + +%<x90> #90 + + > and + { "others" 't := + #1 'namesleft := } + 'skip$ + if$ +%</nmlm> + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { +%<lab&!and-rm&(etal-it|etal-rm)> cite.name.font +%<*!etal-it> +%<lab&and-rm&!etal-rm> " " * bbl.etal cite.name.font * +%<!lab|!and-rm|etal-rm> " " * bbl.etal * +%</!etal-it> +%<etal-it> " " * bbl.etal emphasize * +%<lab&!and-rm&!(etal-it|etal-rm)> cite.name.font + } + { +%<*!harnm> +%<*!and-xcom> + numnames #2 > + { "," * } + 'skip$ + if$ +%</!and-xcom> +%<!amper> bbl.and +%<amper> "\&" +%</!harnm> +%<harnm> "\harvardand{}" + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +%<*lab&!and-rm> + t "others" = + 'skip$ + { cite.name.font } + if$ +%</lab&!and-rm> +} + +FUNCTION {author.editor.key.full} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {author.key.full} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {editor.key.full} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.full + { type$ "proceedings" = + 'editor.key.full + 'author.key.full + if$ + } + if$ +} + +%</har|cay|nat> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`output.bibitem'} +%\changes{1.1}{1993 Nov 12}{Test for missing year, set to {\tt????}.} +% The \texttt{output.bibitem} function formats the |\bibitem| entries. +%\changes{1.4(2.2)}{1994 Sep 5}{Move to later location, add +% \texttt{make.full.names} instead of inserting string \texttt{long.label}} +%\changes{1.5(2.3)}{1994 Sep 16}{Add option \texttt{nat} for full author list +% for \texttt{natbib.sty} version~5.3} +% \changes{3.84}{1997 Nov 18}{For \texttt{nat}, put label in braces} +% A user has pointed out to me that if the label argument in square brackets +% are put into braces (within the squares) it is then resistent to any +% problems if square braces should appear within the label. Do this, but +% only for the \texttt{nat} option. +% \begin{macrocode} +FUNCTION {output.bibitem} +{ newline$ +%<*!html> +%<*ay> +%<!har&!nat> "\bibitem[" write$ +%<!har&nat> "\bibitem[{" write$ +%<har> "\harvarditem" write$ +%<nmd> "\protect\citeauthoryear{" write$ +%<ast> "\protect\astroncite{" write$ +%<cay> "\protect\citeauthoryear{" make.full.names * "}{" * write$ +%<cn> "\protect\citename{" write$ +%<!har> label write$ +%<har> make.full.names duplicate$ label = +%<har> 'skip$ +%<har> { "[" label * "]" * write$ } +%<har> if$ +%<har> "{" swap$ * "}{" * write$ +%<har> year duplicate$ empty$ +%<cn> ", }" year duplicate$ empty$ +%<cay|nmd|ast> "}{" year duplicate$ empty$ +%<(har|cn|cay|nmd|ast)&blkyear> { pop$ "" } +%<(har|cn|cay|nmd|ast)&!blkyear> { pop$ "????" } +%<har|cn|cay|nmd|ast> 'skip$ +%<har|cn|cay|nmd|ast> if$ +%<har> extra.label * "}{" * write$ +%<cn> * extra.label * "]{" * write$ +%<cay|nmd|ast> * extra.label * "}]{" * write$ +%<alk> "]{" write$ +%<!(har|cay|nmd|ast|alk|cn|nat)> ")]{" write$ +%<nat> ")" make.full.names duplicate$ short.list = +%<nat> { pop$ } +%<nat> { * } +%<nat> if$ +%<nat> "}]{" * write$ +%</ay> +%<!ay&!(cite|alph)> "\bibitem{" write$ +%<!ay&(cite|alph)> "\bibitem[" label * "]{" * write$ + cite$ write$ + "}" write$ + newline$ + "" +%</!html> +%<*html> +%<*htdes> + "<dt><strong><tt>" write$ + cite$ write$ + "</tt></strong></dt>" write$ newline$ + "<dd>" +%</htdes> +%<htlist&!htdes> "<li>" +%<!htlist&!htdes> "<p>" +%</html> + before.all 'output.state := +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`if.digit'} +% \changes{3.84}{1997 Sep 16}{Add macro} +% Add \texttt{if.digit} and \texttt{n.separate} to convert large page numbers +% to a separated number. +% \begin{macrocode} +%<*pgsep-c|pgsep-s|pgsep-p> +FUNCTION {if.digit} +{ duplicate$ "0" = + swap$ duplicate$ "1" = + swap$ duplicate$ "2" = + swap$ duplicate$ "3" = + swap$ duplicate$ "4" = + swap$ duplicate$ "5" = + swap$ duplicate$ "6" = + swap$ duplicate$ "7" = + swap$ duplicate$ "8" = + swap$ "9" = or or or or or or or or or +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`n.separate'} +% \changes{3.84}{1997 Sep 16}{Add macro for options \texttt{pgsep-c}, +% \texttt{pgsep-s}, \texttt{pgsep-p}} +% Large page numbers are to be separated in threes, with thin space, comma +% or period. The number must be 5 digits before the separation occurs. +% No provision is made for numbers of 7 or more digits. +% \begin{macrocode} +FUNCTION {n.separate} +{ 't := + "" + #0 'numnames := + { t empty$ not } + { t #-1 #1 substring$ if.digit + { numnames #1 + 'numnames := } + { #0 'numnames := } + if$ + t #-1 #1 substring$ swap$ * + t #-2 global.max$ substring$ 't := + numnames #5 = + { duplicate$ #1 #2 substring$ swap$ + #3 global.max$ substring$ +%<pgsep-c> "," swap$ * * +%<pgsep-p> "." swap$ * * +%<pgsep-s&!html> "\," swap$ * * +%<pgsep-s&html> " " swap$ * * + } + 'skip$ + if$ + } + while$ +} +%</pgsep-c|pgsep-s|pgsep-p> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`n.dashify'} +% \begin{macrocode} +FUNCTION {n.dashify} +{ +%<pgsep-c|pgsep-s|pgsep-p> n.separate + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`word.in'} +% \changes{2.0}{1994 Jan 31}{Function \texttt{word.in} constructed out of +% \texttt{bbl.in} or \texttt{bbl.iin}.} +% \changes{3.0}{1995 Feb 16}{Use only \texttt{bbl.in} and capitalize it +% as necessary; remove \texttt{bbl.iin}} +% \changes{3.81}{1996 Jun 19}{Add option \texttt{in-x} to suppress `in'} +% \changes{4.01}{2000 May 4}{Add option \texttt{in-it} to italicize `in'} +% The function \texttt{word.in} prints the word \textsl{in} for references +% that are +% contained in a larger work, or in conference proceedings. One may have a +% colon after the word with the option \texttt{in-col}. If blocks of text are +% to be separated with commas (option \texttt{blk-com}) then the word remains +% in lower case, as it is defined in \texttt{bbl.in}; but if blocks act as +% sentences, then it must be capitalized. +% \begin{macrocode} +FUNCTION {word.in} +%<in-x>{ "" } +%<*!in-x> +%<blk-com|blk-tita>{ bbl.in +%<!blk-com&!blk-tita>{ bbl.in capitalize +%<in-col> ":" * +%<in-it> emphasize + " " * } +%</!in-x> + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.date'} +% \changes{1.4(2.2)}{1994 Sep 6}{Add option \texttt{yr-per} to put period +% before date} +% \changes{1.5(2.3)}{1994 Sep 16}{Add \texttt{harvard} bracket names to year +% with new option \texttt{harnm}} +% \changes{1.6(2.4)}{1995 Feb 2}{Add \texttt{yr-blk} for no punctuation before +% the date} +% \changes{3.2}{1995 May 19}{Add \texttt{dtrev} option for year month} +% \changes{3.2}{1995 May 19}{Add \texttt{mth-bare} for dotless abbreviation +% of months} +% \changes{3.4}{1995 Sep 28}{Add \texttt{volp-dt} for date after volume} +% \changes{3.5}{1995 Oct 9}{Add brace pair after +% \texttt{\char`\\harvardyearright}} +% \changes{3.5}{1995 Oct 16}{Add \texttt{aymth} option for months in dates} +% \changes{3.8}{1996 Mar 19}{Add \texttt{vnum-dt} option} +% \changes{3.81}{1996 Sep 12}{Add \texttt{yr-com} option} +% \changes{3.82}{1996 Dec 12}{Fix bug that left off extra label for plain year} +% \changes{3.84}{1997 Oct 30}{Replace \texttt{volp-dt} with \texttt{jdt-p}} +% \changes{3.84}{1997 Oct 30}{Replace \texttt{vnum-dt} with \texttt{jdt-vs}} +% \changes{3.84}{1997 Oct 30}{Add \texttt{jdt-v}} +% \changes{3.85}{1998 Feb 10}{Do \texttt{yr-blk} right} +% \changes{3.86}{1998 Feb 25}{Add \texttt{jdt-pc} to add comma after year} +% \changes{3.87}{1998 Jul 23}{Add \texttt{xmth} to suppress month for numericals} +% \changes{3.87}{1998 Jul 23}{For \texttt{harnm}, suppress punctuation before date} +% \changes{3.89}{1999 May 12}{Add \texttt{blkyear} option} +% \changes{3.89d1}{1999 July 20}{AO: encapsulate the date for further processing} +% The new \texttt{harvard.sty} allows variable brackets around the date +% in the reference list. It uses |\harvardyearleft| and |\harvardyearright| +% in the \texttt{.bst} files. Allow this with the option \texttt{harnm}, +% which could actually be used without the \texttt{har} option. Note that +% this overrides the other year formatting options. +% \begin{macrocode} +%<*ay> +FUNCTION {format.date} +{ year "year" bibinfo.check duplicate$ empty$ + { +%<*!blkyear> + "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" +%</!blkyear> + } + 'skip$ + if$ +%<*aymth> + month "month" bibinfo.check duplicate$ empty$ + 'skip$ + { +%<dtrev> swap$ + " " * swap$ + } + if$ + * +%<mth-bare> remove.dots +%</aymth> +%<dtbf> bolden + extra.label * +%<*!harnm> +%<*yr-par|yr-brk|yr-col|yr-blk|yr-com|yr-per> + before.all 'output.state := +%<yr-par> " (" swap$ * ")" * +%<!yr-par&yr-brk> " [" swap$ * "]" * +%<!yr-par&!yr-brk&yr-col> ": " swap$ * +%<!yr-par&!yr-brk&!yr-col&yr-com> ", " swap$ * +%<!yr-par&!yr-brk&!yr-col&!yr-com&yr-per> after.sentence 'output.state := +%<!yr-par&!yr-brk&!yr-col&!yr-com&!yr-per&yr-blk> " " swap$ * +%</yr-par|yr-brk|yr-col|yr-blk|yr-com|yr-per> +%</!harnm> +%<harnm> before.all 'output.state := +%<harnm> " \harvardyearleft " swap$ * "\harvardyearright{}" * +} +%</ay> +%<*!ay> +FUNCTION {format.date} +{ +%<!xmth> month "month" bibinfo.check +%<xmth> "" + duplicate$ empty$ + year "year" bibinfo.check duplicate$ empty$ + { swap$ 'skip$ + { "there's a month but no year in " cite$ * warning$ } + if$ + * + } + { swap$ 'skip$ + { +%<showstack> month year +%<!dtrev> swap$ + " " * swap$ + } + if$ + * +%<mth-bare> remove.dots + } + if$ +%<dtbf> bolden +%<*yr-par|yr-brk|yr-col|yr-com|yr-per|yr-blk> + duplicate$ empty$ + 'skip$ + { + before.all 'output.state := +%<yr-par> " (" swap$ * ")" * +%<!yr-par&yr-brk> " [" swap$ * "]" * +%<!yr-par&!yr-brk&yr-col> ": " swap$ * +%<!yr-par&!yr-brk&!yr-col&yr-com> ", " swap$ * +%<!yr-par&!yr-brk&!yr-col&!yr-com&yr-per> after.sentence 'output.state := +%<!yr-par&!yr-brk&!yr-col&!yr-com&!yr-per&yr-blk> " " swap$ * + } + if$ +%</yr-par|yr-brk|yr-col|yr-com|yr-per|yr-blk> +} +%</!ay> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.year'} +% \changes{3.84}{1997 Oct 30}{Add function} +% For the options that put the year into the journal specifications, use a +% special formatter separate from the regular date formatter. +% The year is always in parentheses (except for appended to journal name). +% \changes{3.89d1}{1999 July 20}{AO: encapsulate year for further processing} +% \begin{macrocode} +%<*jdt-p|jdt-pc|jdt-v|jdt-vs> +FUNCTION{format.year} +{ year "year" bibinfo.check duplicate$ empty$ + { "empty year in " cite$ * +%<ay&!blkyear> "; set to ????" * + warning$ +%<ay&!blkyear> pop$ "????" + } + { +%<!ay&jdt-vs> " (" swap$ * ")" * +%<!ay&!jdt-vs> "(" swap$ * ")" * + } + if$ +%<*ay> + extra.label * +%<jdt-vs> " (" swap$ * ")" * +%<!jdt-vs> "(" swap$ * ")" * +%</ay> +} +%</jdt-p|jdt-pc|jdt-v|jdt-vs> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.btitle'} +% \changes{3.89d1}{1999 July 20}{AO: encapsulate title for further processing.} +% \begin{macrocode} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { +%<!btit-rm> emphasize +%<lang> select.language + } + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`either.or.check'} +% \begin{macrocode} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.bvolume'} +% \changes{4.11}{2003 Jun 23}{Add \texttt{ser-vol}} +% \begin{macrocode} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ +%<*!ser-vol> + { swap$ bbl.of space.word * swap$ + emphasize * } +%</!ser-vol> +%<ser-vol> { emphasize ", " * swap$ * } + if$ + "volume and number" number either.or.check + } + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.number.series'} +% \begin{macrocode} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } +%<*num-xser> + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } +%</num-xser> +%<*!num-xser> + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } +%</!num-xser> + if$ + } + { "" } + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`is.num'} +% \changes{2.0}{1994 Jan 31}{Add function to test for digit.} +% \changes{3.87h}{1998 Nov 27}{Option to suppress to save wiz-functions} +% This function takes the single-character string on the stack and returns +% 1 if it is a digit, else 0. +% \begin{macrocode} +%<*!xedn> +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`extract.num'} +% \changes{2.0}{1994 Jan 31}{Add function to extract leading number from +% a literal string.} +% \changes{3.87h}{1998 Nov 27}{Option to suppress to save wiz-functions} +% This function tests the string on the stack to see if it begins with a +% number. If so, that number is left on the stack; if the string contains +% no numbers at the start, it is left unchanged. The idea is to convert +% \textsl{1st} to \textsl{1} and leave \textsl{first} as is. +% This is used by {\tt convert.edition}. +% \begin{macrocode} +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`convert.edition'} +% \changes{2.0}{1994 Jan 31}{Add function to convert \texttt{edition} entry +% text from word to a function} +% \changes{3.87h}{1998 Nov 27}{Option to suppress to save wiz-functions} +% \changes{3.89d1}{1999 July 20}{AO: change calling sequence: arg on stack} +% The function \texttt{convert.edition} takes the text in the field +% \texttt{edition} and changes it to the language-specific equivalent. As +% originally planned for \btx, this field should contain the words +% \textsl{First}, \textsl{Second}, etc. Being so explicit, +% it is not so easy to translate, nor to +% convert to \textsl{1st}, \textsl{2nd}, etc., if one wanted. +% This function carries out the translation, by changing +% \textsl{first} or \textsl{1} to \texttt{bbl.first}, and so +% on. The field is reduced to lower case to make it case insensitive. If no +% translation is found, then the original text in \texttt{edition} is used +% instead, as it stands. However, if the original is a number greater than +% the maximum for which text is provided, then \texttt{bbl.th} is added to +% it. +% \begin{macrocode} +FUNCTION {convert.edition} +{ extract.num "l" change.case$ 's := + s "first" = s "1" = or + { bbl.first 't := } + { s "second" = s "2" = or + { bbl.second 't := } + { s "third" = s "3" = or + { bbl.third 't := } + { s "fourth" = s "4" = or + { bbl.fourth 't := } + { s "fifth" = s "5" = or + { bbl.fifth 't := } + { s #1 #1 substring$ is.num +%<!english&exlang> { s bbl.th * 't := } +%<english|!exlang> { s eng.ord 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} +%</!xedn> + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.edition'} +% \changes{2.0}{1994 Jan 31}{Add call to \texttt{convert.edition}} +% This function formats the text for the edition specification, such as +% ``Second edition''. It combines the edition number with the word +% \textsl{edition}. +% \changes{3.89d1}{1999 July 20}{AO: encapsulate edition for further processing.} +% \changes{4.01}{2000 May 4}{Put \texttt{change.case\$} before \texttt{bibinfo.check}} +% \begin{macrocode} +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { +%<!xedn> convert.edition + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +INTEGERS { multiresult } +% \end{macrocode} +% +% \begin{macro}{`multi.page.check'} +% \begin{macrocode} +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.pages'} +% \changes{3.6}{1995 Nov 24}{Add option \texttt{bkpg-par}} +% \changes{3.88}{1998 Dec 2}{Add option \texttt{bkpg-x}} +% \changes{3.89d1}{1999 July 20}{AO: encapsulate pages for further processing.} +% \changes{4.00}{1999 Dec 10}{Add \texttt{!ppx} test to avoid extra space} +% \begin{macrocode} +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { +%<!bkpg-x&!ppx> bbl.pages swap$ + n.dashify + } + { +%<!bkpg-x&!ppx> bbl.page swap$ + } + if$ +%<!bkpg-x&!ppx> tie.or.space.prefix + "pages" bibinfo.check +%<!bkpg-x&!ppx> * * +%<bkpg-par> "(" swap$ * ")" * + } + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`first.page'} +% \begin{macrocode} +%<*jpg-1> +FUNCTION {first.page} +{ 't := + "" + { t empty$ not t #1 #1 substring$ "-" = not and } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + while$ +} + +%</jpg-1> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.journal.pages'} +% \changes{3.82}{1996 Nov 15}{Remove from \texttt{format.vol.num.pages} to +% be a separate function} +% \changes{3.84}{1997 Oct 30}{Remove option \texttt{vnum-pg}} +% \changes{3.84}{1997 Oct 30}{Replace \texttt{volp-dt} with \texttt{jdt-p}} +% +% \changes{3.89d1}{1999 July 20}{AO: encapsulate pages for further processing.} +% +% Note: this function gets called with something on the stack. +% It may be the volume and number. +% \begin{macrocode} +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { +%<volp-sp> ": " * +%<*!volp-sp> +%<volp-blk> " " * +%<*!volp-blk> +%<volp-com> ", " * +%<*!volp-com> +%<volp-semi> "; " * +%<!volp-semi> ":" * +%</!volp-com> +%</!volp-blk> +%</!volp-sp> +%<!jdt-v&!jdt-vs&jdt-p> format.year * " " * +%<!jdt-v&!jdt-vs&!jdt-p&jdt-pc> format.year * ", " * + swap$ +%<jpg-1> first.page +%<!jpg-1> n.dashify +%<*jwdpg> + pages multi.page.check + 'bbl.pages + 'bbl.page + if$ + swap$ tie.or.space.prefix +%</jwdpg> + "pages" bibinfo.check +%<jwdpg> * * + * + } + if$ + } + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.journal.eid'} +% +% \changes{3.89d1}{1999 July 20}{AO: add function to emit the eid information.} +% This function is called with something on the stack (journal vol, number) +% and appends \texttt{eid} and \texttt{numpages} if those field are non-empty. +% Very similar to \texttt{format.journal.pages}. +% +% For the AGU style of including the DOI as part of the EID, the DOI number +% is appended too. +% \begin{macrocode} +FUNCTION {format.journal.eid} +{ eid "eid" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ 'skip$ + { +%<volp-sp> ": " * +%<*!volp-sp> +%<volp-blk> " " * +%<*!volp-blk> +%<volp-com> ", " * +%<*!volp-com> +%<volp-semi> "; " * +%<!volp-semi> ":" * +%</!volp-com> +%</!volp-blk> +%</!volp-sp> + } + if$ + swap$ * +%<*revdata> + numpages empty$ 'skip$ + { bbl.eidpp numpages tie.or.space.prefix + "numpages" bibinfo.check * * + " (" swap$ * ")" * * + } + if$ +%</revdata> + } + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.vol.num.pages'} +% \changes{1.4(2.2)}{1994 Sep 6}{Add option \texttt{volp-sp} to put space +% after colon in vol:~page.} +% \changes{1.5(2.3)c}{1995 Jan 20}{Add options \texttt{vnum-h}, +% \texttt{vnum-nr} and \texttt{vnum-x} for various formats of +% journal vol number} +% \changes{1.7(2.5)}{1995 Feb 9}{Add options \texttt{vnum-sp} and +% \texttt{vnum-cm}} +% \changes{3.0}{1995 Mar 17}{Add option \texttt{volp-semi}} +% \changes{3.4}{1995 Sep 28}{Put \texttt{bolden} in right place for +% \texttt{vol-2bf} option} +% \changes{3.8}{1996 Mar 19}{Put date between volume and number} +% \changes{3.8}{1996 Mar 19}{Add possibilitity of `page' word} +% \changes{3.81}{1996 Jun 19}{Activate \texttt{jwdpg} option properly} +% \changes{3.81}{1996 Jun 19}{Add possibilitity of `volume' word} +% \changes{3.82}{1996 Nov 15}{Add option \texttt{pp-last}} +% Version 3.84, I have rationalized several options that placed the date in the +% journal specifications. It was rather chaotic before, but now it should be +% more systematic. This means some options have been removed, something that I +% do not like to do. +% +% The option \texttt{pp-last} suppresses the pages in the formatting macros, and +% sees to it that the pages are added just before any notes in those entries +% that take pages. This applies to more than just \texttt{article}, but to +% \texttt{inbook}, \texttt{incollection} as well. +% +% \changes{3.89d1}{1999 July 20}{AO: encapsulate the volume and number for +% further processing.} +% \begin{macrocode} +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { +%<jwdvol> bbl.volume swap$ tie.or.space.prefix + "volume" bibinfo.check +%<jwdvol> * * + } + if$ +%<vol-bf&!vol-2bf> bolden +%<!vol-bf&!vol-2bf&vol-it> emphasize +%<jdt-v|jdt-vs> format.year * +%<*!vnum-x> + number "number" bibinfo.check duplicate$ empty$ 'skip$ + { + swap$ duplicate$ empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + swap$ +%<vnum-sp> "~(" swap$ * ")" * +%<!vnum-sp&vnum-cm> ", " swap$ * +%<!vnum-sp&!vnum-cm&vnum-nr> ", " bbl.nr * number tie.or.space.prefix pop$ * swap$ * +%<!vnum-sp&!vnum-cm&!vnum-nr&vnum-h> ", \#" swap$ * +%<!vnum-sp&!vnum-cm&!vnum-nr&!vnum-h&vnum-b> " " swap$ * +%<!vnum-sp&!vnum-cm&!vnum-nr&!vnum-h&!vnum-b> "(" swap$ * ")" * + } + if$ * +%<!vol-bf&vol-2bf> bolden +%</!vnum-x> +%<*!pp-last> + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ +%</!pp-last> +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.chapter.pages'} +% \changes{3.89d1}{1999 July 20}{AO: encapsulate series and chapter for +% further processing.} +% \begin{macrocode} +FUNCTION {format.chapter.pages} +{ chapter empty$ +%<!pp-last> 'format.pages +%<pp-last> { "" } + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * +%<*!pp-last> + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ +%</!pp-last> + } + if$ +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`bt.enquote'} +% \changes{3.84}{1997 Oct 31}{Add function} +% \changes{3.89d1}{1999 July 20}{AO: trap \texttt{empty\$} argument} +% This is to place the booktitle for proceedings and collections into quotes. +% If punctuation is to be included, then add a comma unless a stop already +% exists, or add a period under the only circumstances that +% |format.in.ed.booktitle| is followed by |new.sentence|. +% \begin{macrocode} +%<*bt-qq> +FUNCTION {bt.enquote} +{ duplicate$ empty$ 'skip$ + { "\enquote{" swap$ * +%<*!qx> + non.stop + { ",} " * } + { "}, " * } + if$ +%</!qx> +%<*qx> + "}, " * +%</qx> + } + if$ +} +%</bt-qq> +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{`format.booktitle'} +% \changes{3.89d1}{1999 July 20}{AO: new function} +% The function \texttt{format.booktitle} pushes one object +% (the book title, suitably encapsulated) onto the stack. +% It is currently used in \texttt{format.incoll.inproc.crossref} +% and in \texttt{format.in.ed.booktitle}, and should be used whenever accessing +% the \texttt{booktitle} field for eventual output. +% +% If the book title is empty or missing, the function pushes an empty string. +% \begin{macrocode} +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check +%<!bt-qq&!bt-rm> emphasize +%<bt-qq> bt.enquote +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.in.ed.booktitle'} +% \changes{1.5(2.3)b}{1995 Jan 18}{Add option \texttt{edby-par} to put editors +% in parentheses} +% \changes{1.6(2.4)}{1995 Feb 2}{If \texttt{ed} and \texttt{edby} given +% together, abbreviate `edited by' to `ed(s).'} +% \changes{3.1}{1995 May 2}{Add option \texttt{edbyx} to replace `edited by' +% by `ed(s).'} +% \changes{3.81}{1996 Jun 26}{Add option \texttt{edcap}} +% \changes{3.84}{1997 Oct 10}{Fix bug that added extra space sometimes} +% \changes{3.88}{1998 Dec 2}{Book titles may also be roman} +% \changes{3.88}{1998 Dec 2}{New options \texttt{edby-parc} and \texttt{edbyw}} +% \changes{3.89d1}{1999 July 20}{AO: rewritten; encapsulates \texttt{booktitle} and +% \texttt{editor} for later processing} +% \changes{4.00}{1999 Sept 17}{PWD: fix up several bugs} +% Prior to version 3.81, the \textsl{Editor} or \textsl{Edited by} in +% parentheses was meant to be capitalized, but this did not work properly. +% Now the option \texttt{edcap} produces this, and default is not capitalized. +% +% Notes on \dtx{} options: +% \begin{itemize} +% \item +% The following combinations are available through the \texttt{makebst.tex} interface: +% \begin{verbatim} +% ( +% <default> +% |edby ( |edbyx |edbyy|edbyw[edcap]) +% |edby-par (|edcap|edbyx[edcap]|edbyy ) +% |edby-parc(|edcap|edbyx ) +% ) +% \end{verbatim} +% \item +% \texttt{edby}, \texttt{edby-par}, and \texttt{edby-parc} are mutually exclusive +% and, except for the default, exhaustive. +% \item +% \texttt{edbyx}, \texttt{edbyw}, and \texttt{edbyy} are mutually exclusive +% and, except for the default, exhaustive. +% \item +% \texttt{edcap} is independent of the above two groups of options. +% \item +% When parentheses need to be applied, we make sure that the respective +% \dtx{} guard expressions are mutually exclusive. +% It makes no sense for \texttt{edbyw} to be in effect if either of +% \texttt{edby-par} or \texttt{edby-parc} is in effect. +% \item +% \texttt{makebst.tex} only activates \texttt{edcap} in certain cases, +% but we do no checking here, applying it consistently to the +% ``editor'' text entity. +% \item +% The code between \texttt{<!edpar>} and \verb+<edpar\|edparc>+ +% \emph{must} match the corresponding code in \texttt{format.editors}. +% This means that in the default case, formatting is controlled by +% a \dtx{} mechanism entirely different from the other cases. +% \item \texttt{ser-ed} has been added to suit AGU. Result of series plus +% volume to go between booktitle and editors; must remove \texttt{format.bvolume} +% from \texttt{incollection} and \texttt{inproceedings}. +% \end{itemize} +% +% \begin{macrocode} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { +%<showstack>% btitle +%<*ser-ed> + format.bvolume duplicate$ empty$ 'pop$ + { ", " swap$ * * } + if$ +%</ser-ed> + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { +%<*!(edby|edby-par|edby-parc)> +%<showstack>% btitle ednms +%<!edpar&!edparxc> "," * + " " * + get.bbl.editor +%<bkedcap> capitalize +%<edpar> "(" swap$ * "), " * +%<!edpar&(edparc|edparxc)> "(" swap$ * ") " * +%<!edpar&!(edparc|edparxc)> ", " * + * swap$ +%<showstack>% eds btitle +%</!(edby|edby-par|edby-parc)> +%<*edby|edby-par|edby-parc> +%<showstack>% btitle ednms +%<edbyx|edbyy|edbyw> get.bbl.editor +%<!(edbyx|edbyy|edbyw)> bbl.edby +%<edcap> capitalize +%<!(edby-par|edby-parc)&edbyw> "(" swap$ * ")" * +%<showstack>% btitle ednms ed +%<(edby-par|edby)&edbyy> swap$ "," * + " " * swap$ * +%<showstack>% btitle ednms-ed +%<(edby-par|edby-parc)&!edbyw> "(" swap$ * ")" * + swap$ +%<edby|edby-parc> "," * + " " * swap$ +%</edby|edby-par|edby-parc> +%<showstack>% btitle ednms-ed (or ednms-ed btitle) + * } + if$ +%<showstack>% btitle-ednms-ed (or ednms-ed-btitle) (or btitle) + word.in swap$ * + } + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`empty.misc.check'} +% \begin{macrocode} +%<*!ay> +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and +%<!seq-no|alph> key empty$ not and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} +%</!ay> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.thesis.type'} +% \begin{macrocode} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.tr.number'} +% \changes{4.01}{2000 May 4}{Encapsulate number} +% \begin{macrocode} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.article.crossref'} +%\changes{1.3(2.1)}{1994 Jul 1}{Emphasize \texttt{journal} with +% \texttt{emphasize}, not explicitly} +% \changes{3.89d1}{1999 July 20}{AO: encapsulate journal for further processing.} +% The \texttt{journal} field was emphasized emplicitly, but it should be +% done by command. +% \begin{macrocode} +FUNCTION {format.article.crossref} +{ +%<*!ay> + key duplicate$ empty$ + { pop$ + journal duplicate$ empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * warning$ } + { "journal" bibinfo.check emphasize word.in swap$ * } + if$ + } + { word.in swap$ * " " *} + if$ +%</!ay> +%<ay> word.in +%<!html> " \cite{" * crossref * "}" * +%<html> " <tt>" * crossref * "</tt>" * +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.crossref.editor'} +% \changes{3.89d1}{1999 July 20}{AO: editor encapsulated for later processing} +% \changes{3.89d1}{1999 July 20}{AO: fixed typo: "etal_rm"->"etal-rm"} +% \begin{macrocode} +%<*!ay> +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ +%<nmft&nmfted&nmand-rm> bib.name.font + "editor" bibinfo.check + editor num.names$ duplicate$ + #2 > + { pop$ +%<nmft&nmfted&!nmand-rm&(etal-it|etal-rm)> bib.name.font + "editor" bibinfo.check + " " * bbl.etal +%<etal-it> emphasize + * +%<nmft&nmfted&!nmand-rm&!(etal-it|etal-rm)> bib.name.font +%<nmft&nmfted&!nmand-rm&!(etal-it|etal-rm)> "others" 't := + } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { +%<nmft&nmfted&!nmand-rm&(etal-it|etal-rm)> bib.name.font + "editor" bibinfo.check + " " * bbl.etal +%<etal-it> emphasize + * +%<nmft&nmfted&!nmand-rm&!(etal-it|etal-rm)> bib.name.font +%<nmft&nmfted&!nmand-rm&!(etal-it|etal-rm)> "others" 't := + } + { +%<*!harnm> +%<!amper> bbl.and space.word +%<amper> " \& " +%</!harnm> +%<harnm> " \harvardand\ " + * editor #2 "{vv~}{ll}" format.name$ +%<nmft&nmfted&nmand-rm> bib.name.font + "editor" bibinfo.check + * + } + if$ + } + if$ + } + if$ +%<*nmft&nmfted&!nmand-rm> + t "others" = + 'skip$ + { bib.name.font "editor" bibinfo.check } + if$ +%</nmft&nmfted&!nmand-rm> +} +%</!ay> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.book.crossref'} +%\changes{1.3(2.1)}{1994 Jul 1}{Emphasize \texttt{series} with +% \texttt{emphasize}, not explicitly} +% \changes{3.89d1}{1999 July 20}{AO: encapsulate volume and series for +% further processing.} +% The \texttt{series} field was emphasized emplicitly, but it should be +% done by command. +% \begin{macrocode} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume +%<!(blk-com|blk-tita)> capitalize + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ +%<*!ay> + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { series emphasize * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ +%</!ay> +%<!html> " \cite{" * crossref * "}" * +%<html> " <tt>" * crossref * "</tt>" * +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.incoll.inproc.crossref'} +%\changes{1.3(2.1)}{1994 Jul 1}{Emphasize \texttt{booktitle} with +% \texttt{emphasize}, not explicitly} +% \changes{3.89d1}{1999 July 20}{AO: call \texttt{format.booktitle}} +% The \texttt{booktitle} field was emphasized emplicitly, but it should be +% done by command. +% \begin{macrocode} +FUNCTION {format.incoll.inproc.crossref} +{ +%<*!ay> + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { format.booktitle duplicate$ empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + } + { word.in swap$ * } + if$ + } + { word.in key * " " *} + if$ + } + { word.in format.crossref.editor * " " *} + if$ +%</!ay> +%<ay> word.in +%<!html> " \cite{" * crossref * "}" * +%<html> " <tt>" * crossref * "</tt>" * +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.org.or.pub'} +% \changes{3.3}{1995 Aug 7}{Add option \texttt{add-pub} which makes use +% of this function} +% \changes{3.8}{1996 Mar 12}{Add option \texttt{pub-par} to put publisher +% in parentheses} +% \changes{3.81}{1996 Sep 16}{Add option \texttt{pub-date} to put publisher +% and date in parentheses together} +% \changes{3.82}{1996 Dec 16}{Add \texttt{add.blank} for \texttt{pub-par}} +% \changes{3.88}{1998 Dec 2}{Add extra label with \texttt{pub-date}} +% \changes{3.88}{1998 Dec 2}{Option \texttt{pub-nopar} to suppress parentheses +% with \texttt{pub-date}} +% \changes{3.88}{1998 Dec 3}{Change to include organization if present} +% \changes{4.02}{2000 June 27}{Include \texttt{dtbf} option with \texttt{pub-date}} +% Psychology journals often want \textit{address}: \textit{publisher}. +% +% \textsl{Nature} wants publisher and date in parentheses, and when both +% are there, they are merged into one set. +% +% Call function \texttt{add.blank} before parentheses so suppress preceding +% punctuation, which looks strange when publisher in parentheses. +% +% MPG Jahrbuch wants publisher and year, but without parentheses. Add +% \texttt{pub-nopar} to be used with \texttt{pub-date}. +% +% Have now (3.87.h) extended this function to include the organization, if +% present. This is for \texttt{inproceedings} and \texttt{proceedings} where +% the publisher is optional, and organization too. If the publisher is missing, +% but the organization present, it is formatted like the publisher. This +% complication comes from styles that want the publisher/organization to have +% the date included, all in parentheses. +% +% This function is called by \texttt{format.publisher.address} and +% \texttt{format.organization.address}, each putting the appropriate text +% into the stack first. +% \changes{3.89d1}{1999 July 20}{AO: encapsulate address and year for +% further processing.} +% +% \begin{macrocode} +FUNCTION {format.org.or.pub} +{ 't := + "" +%<*pub-date&!ay> + year empty$ + { "empty year in " cite$ * warning$ } + 'skip$ + if$ +%</pub-date&!ay> +%<*!(pub-date&ay)> + address empty$ t empty$ and +%<pub-date> year empty$ and + 'skip$ + { +%</!(pub-date&ay)> +%<pub-par|(pub-date&!pub-xpar)> add.blank "(" * +%<*add-pub> + address "address" bibinfo.check * + t empty$ + 'skip$ +%</add-pub> +%<*!add-pub> + t empty$ + { address "address" bibinfo.check * + } + { t * + address empty$ + 'skip$ + { ", " * address "address" bibinfo.check * } + if$ + } +%</!add-pub> +%<*add-pub> + { address empty$ + 'skip$ + { ": " * } + if$ + t * + } +%</add-pub> + if$ +%<*pub-date&!ay> + year empty$ + 'skip$ + { t empty$ address empty$ and + 'skip$ + { ", " * } + if$ + year "year" bibinfo.check +%<dtbf> bolden + * + } + if$ +%</pub-date&!ay> +%<*pub-date&ay> + year duplicate$ empty$ +%<*!blkyear> + { "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" } +%</!blkyear> +%<*blkyear> + { "empty year in " cite$ * warning$ + pop$ "" } +%</blkyear> +%<!dtbf> { "year" bibinfo.check extra.label * } +%<dtbf> { "year" bibinfo.check bolden extra.label * } + if$ + t empty$ address empty$ and + { * } +%<!pub-xc> { ", " swap$ * * } +%<pub-xc> { " " swap$ * * } + if$ +%</pub-date&ay> +%<pub-par|(pub-date&!pub-xpar)> ")" * +%<*!(pub-date&ay)> + } + if$ +%</!(pub-date&ay)> +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.publisher.address'} +% \changes{3.88}{1998 Dec 3}{Add macro; works with \texttt{format.org.or.pub}} +% \changes{3.89d1}{1999 July 20}{AO: encapsulate \texttt{publisher} +% and \texttt{organization}} +% \changes{4.00}{1999 Oct 28}{Check with \texttt{bibinfo.warn}} +% \begin{macrocode} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`format.organization.address'} +% \changes{3.88}{1998 Dec 3}{Add macro; works with \texttt{format.org.or.pub}} +% \begin{macrocode} +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`name.or.dash'} +% \changes{3.83}{1997 Feb 5}{Add function to replace repeated names by dash} +% \changes{4.06}{2003 Apr 2}{Add double and triple dashes} +% This function stores what is on the stack, compares it with previous value, +% and replaces it with a long dash if they are equal. What is on the stack +% should be author or editor names for the current entry. +% \begin{macrocode} +%<*nmdash> +STRINGS {oldname} + +FUNCTION {name.or.dash} +{ 's := + oldname empty$ + { s 'oldname := s } + { s oldname = +%<*!au-col> +%<!nmd-2&!nmd-3> { "---" } +%<nmd-2&!nmd-3> { "---{}---" } +%<nmd-3> { "---{}---{}---" } +%</!au-col> +%<*au-col> +%<!nmd-2&!nmd-3> { "---" add.blank } +%<nmd-2&!nmd-3> { "---{}---" add.blank } +%<nmd-3> { "---{}---{}---" add.blank } +%</au-col> + { s 'oldname := s } + if$ + } + if$ +} + +%</nmdash> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`article'} +% \changes{1.5(2.3)b}{1995 Jan 18}{Add option \texttt{yrp-x} to suppress +% punctuation following date at beginning} +% \changes{3.0}{1995 Mar 8}{Add option \texttt{yrp-col} to add colon after +% date at beginning} +% \changes{3.0}{1995 Mar 20}{Add option \texttt{jxper} to remove periods +% from journal name} +% \changes{3.2}{1995 May 19}{Add option \texttt{dt-jnl} to make date part of +% the journal specification, follows journal name.} +% \changes{3.4}{1995 Sep 28}{Add option \texttt{au-col}} +% \changes{3.6}{1995 Nov 23}{Add option \texttt{jttl-rm}} +% \changes{3.7}{1996 Feb 5}{Put \texttt{purify\$} before \texttt{emphasize}} +% \changes{3.81}{1996 Jun 26}{Add option \texttt{blk-tita} for article only} +% \changes{3.83}{1997 Feb 5}{Add option \texttt{blknt} for period before notes} +% \changes{3.88}{1999 Feb 25}{Add option \texttt{injnl} for `in' with journal +% names} +% +% \changes{3.89d1}{1999 July 20}{AO: call \texttt{format.journal} and +% \texttt{format.journal.eid}; call \texttt{format.eprint}, and +% \texttt{format.url}.} +% \changes{4.02}{2000 June 27}{Fix bug with texttt{injnl}} +% \changes{4.10}{2003 May 28}{Add \texttt{format.doi}} +% \begin{macrocode} +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check +%<ay> author format.key output +%<au-col> add.colon +%<nmdash> name.or.dash +%<*dt-beg&!jdt-p&!jdt-pc&!jdt-vs&!jdt-v> + format.date "year" output.check + date.block +%</dt-beg&!jdt-p&!jdt-pc&!jdt-vs&!jdt-v> +%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block +%<*!jtit-x> + format.title "title" output.check +%<blk-com&tit-qq> end.quote.title +%<!blk-com&!blk-tit&!blk-tita> new.block +%<*blk-tit|blk-tita> +%<!tit-col> new.sentence +%<tit-col> add.colon +%</blk-tit|blk-tita> +%</!jtit-x> + crossref missing$ + { + journal +%<jxper> remove.dots + "journal" bibinfo.check +%<!jttl-rm> emphasize +%<injnl> word.in swap$ * + "journal" output.check +%<jnm-x> add.blank +%<*!dt-beg&!dt-end&dt-jnl&!jdt-p&!jdt-pc&!jdt-vs&!jdt-v> + format.date "year" output.check + date.block +%</!dt-beg&!dt-end&dt-jnl&!jdt-p&!jdt-pc&!jdt-vs&!jdt-v> + format.vol.num.pages output +%<doi&agu-doi> format.doi output +%<*!dt-beg&!dt-end&!dt-jnl&!jdt-p&!jdt-pc&!jdt-vs&!jdt-v> + format.date "year" output.check +%</!dt-beg&!dt-end&!dt-jnl&!jdt-p&!jdt-pc&!jdt-vs&!jdt-v> + } + { format.article.crossref output.nonnull +%<!pp-last> format.pages output + } + if$ +%<*pp-last> + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ +%</pp-last> +%<issn> format.issn output +%<doi&!agu-doi> format.doi output +%<*url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.url output +%</url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block +%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence + format.note output +%<*!dt-beg&dt-end&!jdt-p&!jdt-pc&!jdt-vs&!jdt-v> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.date "year" output.check +%</!dt-beg&dt-end&!jdt-p&!jdt-pc&!jdt-vs&!jdt-v> +%<eprint> format.eprint output +%<*revdata> + format.url output +%</revdata> + fin.entry +%<harnm|url-nl> write.url +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`book'} +%\changes{2.0a}{1994 Aug 30}{Fix up \texttt{new.sentence} so not added with +% \texttt{blk-com}} +% \changes{3.89d1}{1999 July 20}{AO: call \texttt{format.eprint}, and \texttt{format.url}.} +% \changes{4.10}{2003 May 28}{Add \texttt{format.doi}} +% \begin{macrocode} +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check +%<ay> editor format.key output +%<!edpar&(edparc|edparxc)&!au-col> add.blank +%<au-col> add.colon +%<nmdash> name.or.dash + } + { format.authors output.nonnull +%<au-col> add.colon +%<nmdash> name.or.dash + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ +%<dt-beg&!pub-date> format.date "year" output.check +%<dt-beg&!pub-date> date.block +%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output +%<!blk-com&!blk-tit&!blk-tita> new.block +%<blk-tit&!tit-col> new.sentence +%<blk-tit&tit-col> add.colon +%<!numser> format.number.series output +%<pre-edn> format.edition output +%<!blk-com&!blk-tit&!blk-tita> new.sentence +%<numser> format.number.series output +%<pg-bk&pg-pre> format.book.pages output + format.publisher.address output + } + { +%<!blk-com&!blk-tit&!blk-tita> new.block +%<blk-tit&!tit-col> new.sentence +%<blk-tit&tit-col> add.colon + format.book.crossref output.nonnull +%<!dt-beg&!dt-end&pub-date> format.date "year" output.check + } + if$ +%<!pre-edn> format.edition output +%<!dt-beg&!dt-end&!pub-date> format.date "year" output.check +%<isbn> format.isbn output +%<pg-bk&!pg-pre> format.book.pages output +%<doi> format.doi output +%<*url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.url output +%</url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block +%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence + format.note output +%<*!dt-beg&dt-end&!pub-date> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.date "year" output.check +%</!dt-beg&dt-end&!pub-date> +%<eprint> format.eprint output +%<revdata> format.url output + fin.entry +%<(harnm|url-nl)&!revdata> write.url +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`booklet'} +% \changes{3.89d1}{1999 July 20}{AO: call \texttt{format.eprint}, and \texttt{format.url}.} +% \changes{4.10}{2003 May 28}{Add \texttt{format.doi}} +% \begin{macrocode} +FUNCTION {booklet} +{ output.bibitem + format.authors output +%<ay> author format.key output +%<au-col> add.colon +%<nmdash> name.or.dash +%<ay&dt-beg> format.date "year" output.check +%<!ay&dt-beg> format.date output +%<dt-beg> date.block +%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block + format.title "title" output.check +%<blk-com&tit-qq> end.quote.title +%<!blk-com&!blk-tit&!blk-tita> new.block +%<blk-tit&!tit-col> new.sentence +%<blk-tit&tit-col> add.colon + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output +%<ay&!dt-beg&!dt-end> format.date "year" output.check +%<!ay&!dt-beg&!dt-end> format.date output +%<isbn> format.isbn output +%<pg-bk> format.book.pages output +%<doi> format.doi output +%<*url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.url output +%</url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block +%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence + format.note output +%<*ay&!dt-beg&dt-end> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.date "year" output.check +%</ay&!dt-beg&dt-end> +%<*!ay&!dt-beg&dt-end> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.date output +%</!ay&!dt-beg&dt-end> +%<eprint> format.eprint output +%<revdata> format.url output + fin.entry +%<(harnm|url-nl)&!revdata> write.url +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`inbook'} +% \changes{3.86}{1998 Feb 25}{Use \texttt{format.date} in place of +% \texttt{year} alone} +% \changes{3.89d1}{1999 July 20}{AO: call \texttt{format.eprint}, and \texttt{format.url}.} +% \changes{4.10}{2003 May 28}{Add \texttt{format.doi}} +% The medical journals, with option \texttt{dt-jnl}, have the date as part of +% the journal specification. For chapters in books, they want date and pages +% to appear at the end, with a space between them. (For journals, there is to be +% no space.) Suppress the chapter specification (for now). +% +% The \texttt{dt-jnl} option usually behaves as the default, except for some +% special entries, like this one. +% +% \changes{4.13}{2004 Feb 9}{Restore chap specification with \texttt{dt-jnl} option.} +% Restore the chapter specification (2004 Feb 9) after someone complained. +% There are still some bugs here. If some date punctuation is specified, say +% with \texttt{yrp-semi) for a semi-colon after the year, this appears always, +% even if there is no text following. But then this to be an unlikely wish anyway, +% since such punctuation options are best suited for \texttt{dt-beg}. +% \begin{macrocode} +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check +%<ay> editor format.key output +%<au-col> add.colon +%<nmdash> name.or.dash + } + { format.authors output.nonnull +%<au-col> add.colon +%<nmdash> name.or.dash + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ +%<dt-beg&!pub-date> format.date "year" output.check +%<dt-beg&!pub-date> date.block +%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block + format.btitle "title" output.check + crossref missing$ + { +%<pre-pub&numser> format.number.series output +%<pre-pub> format.publisher.address output + format.bvolume output +%<*dt-beg|dt-end|!dt-jnl|a|!a> + format.chapter.pages "chapter and pages" output.check +%</dt-beg|dt-end|!dt-jnl|a|!a> +%<!blk-com&!blk-tit&!blk-tita> new.block +%<blk-tit&!tit-col> new.sentence +%<blk-tit&tit-col> add.colon +%<!numser> format.number.series output +%<pre-edn> format.edition output +%<!blk-com&!blk-tit&!blk-tita> new.sentence +%<!pre-pub&numser> format.number.series output +%<!pre-pub> format.publisher.address output + } + { +%<*dt-beg|dt-end|!dt-jnl|a|!a> + format.chapter.pages "chapter and pages" output.check +%</dt-beg|dt-end|!dt-jnl|a|!a> +%<!blk-com&!blk-tit&!blk-tita> new.block +%<blk-tit&!tit-col> new.sentence +%<blk-tit&tit-col> add.colon + format.book.crossref output.nonnull +%<!dt-beg&!dt-end&!dt-jnl&pub-date> format.date "year" output.check + } + if$ +%<!pre-edn> format.edition output +%<!dt-beg&!dt-end&!dt-jnl&!pub-date> format.date "year" output.check +%<*isbn> + crossref missing$ + { format.isbn output } + 'skip$ + if$ +%</isbn> +%<*(!dt-beg&!dt-end&dt-jnl)&!pub-date> + format.date "year" output.check + date.block +%</(!dt-beg&!dt-end&dt-jnl)&!pub-date> +%<pp-last> format.pages "pages" output.check +%<doi> format.doi output +%<*url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.url output +%</url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block +%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence + format.note output +%<*!dt-beg&dt-end&!pub-date> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.date "year" output.check +%</!dt-beg&dt-end&!pub-date> +%<eprint> format.eprint output +%<revdata> format.url output + fin.entry +%<(harnm|url-nl)&!revdata> write.url +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`incollection'} +% \changes{3.89d1}{1999 July 20}{AO: call \texttt{format.eprint}, and \texttt{format.url}.} +% \changes{4.10}{2003 May 28}{Add \texttt{format.doi}} +% \begin{macrocode} +% \changes{4.13}{2004 Feb 9}{Restore chap specification with \texttt{dt-jnl} option.} +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check +%<ay> author format.key output +%<au-col> add.colon +%<nmdash> name.or.dash +%<dt-beg&!pub-date> format.date "year" output.check +%<dt-beg&!pub-date> date.block +%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block +%<*!jtit-x> + format.title "title" output.check +%<blk-com&tit-qq> end.quote.title +%<!blk-com&!blk-tit&!blk-tita> new.block +%<blk-tit&!tit-col> new.sentence +%<blk-tit&tit-col> add.colon +%</!jtit-x> + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check +%<bt-qq> end.quote.btitle +%<pre-pub&numser> format.number.series output +%<pre-pub> format.publisher.address output +%<!ser-ed> format.bvolume output +%<!numser> format.number.series output +%<pre-edn> format.edition output + format.chapter.pages output +%<!blk-com&!blk-tit&!blk-tita> new.sentence +%<!pre-pub&numser> format.number.series output +%<!pre-pub> format.publisher.address output +%<!pre-edn> format.edition output +%<!dt-beg&!dt-end&!dt-jnl&!pub-date> format.date "year" output.check +%<isbn> format.isbn output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ +%<*(!dt-beg&!dt-end&dt-jnl)&!pub-date> + format.date "year" output.check + date.block +%</(!dt-beg&!dt-end&dt-jnl)&!pub-date> +%<pp-last> format.pages "pages" output.check +%<doi> format.doi output +%<*url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.url output +%</url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block +%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence + format.note output +%<*!dt-beg&dt-end&!pub-date> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.date "year" output.check +%</!dt-beg&dt-end&!pub-date> +%<eprint> format.eprint output +%<revdata> format.url output + fin.entry +%<(harnm|url-nl)&!revdata> write.url +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`inproceedings'} +% \changes{3.81}{1996 Sep 13}{Reorganize organization/publisher} +% \changes{3.85}{1998 Feb 5}{Fix extraneous page output without +% \texttt{pp-last}} +% \changes{3.89d1}{1999 July 20}{AO: call \texttt{format.eprint}, and \texttt{format.url}.} +% \changes{4.05}{2002 Oct 21}{Fix bug with \texttt{pp-last} and \texttt{dt-beg}} +% \changes{4.10}{2003 May 28}{Add \texttt{format.doi}} +% \begin{macrocode} +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check +%<ay> author format.key output +%<au-col> add.colon +%<nmdash> name.or.dash +%<dt-beg&!pub-date> format.date "year" output.check +%<dt-beg&!pub-date> date.block +%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block +%<*!jtit-x> + format.title "title" output.check +%<blk-com&tit-qq> end.quote.title +%<!blk-com&!blk-tit&!blk-tita> new.block +%<blk-tit&!tit-col> new.sentence +%<blk-tit&tit-col> add.colon +%</!jtit-x> + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check +%<bt-qq> end.quote.btitle +%<*!pre-pub> +%<!ser-ed> format.bvolume output +%<!numser> format.number.series output +%<(dt-beg|dt-end|!dt-jnl)&!pp-last> format.pages output +%</!pre-pub> +%<!blk-com&!blk-tit&!blk-tita> new.sentence +%<numser> format.number.series output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ +%<!dt-beg&!dt-end&!dt-jnl&!pub-date> format.date "year" output.check +%<*pre-pub> + format.bvolume output +%<!numser> format.number.series output +%<(dt-beg|dt-end|!dt-jnl)&!pp-last> format.pages output +%</pre-pub> +%<isbn> format.isbn output +%<issn> format.issn output + } + { format.incoll.inproc.crossref output.nonnull +%<(dt-beg|dt-end|!dt-jnl)&!pp-last> format.pages output + } + if$ +%<*!dt-beg&!dt-end&dt-jnl&!pp-last> +%<!pub-date> format.date "year" output.check +%<!pub-date> date.block +%<jdt-v|jdt-vs|jdt-p|!jdt-pc> add.blank + format.pages "pages" output.check +%</!dt-beg&!dt-end&dt-jnl&!pp-last> +%<pp-last> format.pages "pages" output.check +%<doi> format.doi output +%<*url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.url output +%</url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block +%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence + format.note output +%<*!dt-beg&dt-end&!pub-date> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.date "year" output.check +%</!dt-beg&dt-end&!pub-date> +%<eprint> format.eprint output +%<revdata> format.url output + fin.entry +%<(harnm|url-nl)&!revdata> write.url +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`conference'} +% \begin{macrocode} +FUNCTION {conference} { inproceedings } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`manual'} +% \changes{3.89d1}{1999 July 20}{AO: call \texttt{format.eprint}, and \texttt{format.url}.} +% \changes{4.10}{2003 May 28}{Add \texttt{format.doi}} +% \begin{macrocode} +%<*ay> +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output +%<au-col> add.colon +%<nmdash> name.or.dash +%<dt-beg> format.date "year" output.check +%<dt-beg> date.block +%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block + format.btitle "title" output.check +%<blk-tit&!tit-col> new.sentence +%<blk-tit&tit-col> add.colon +%<!blk-com&!blk-tit&!blk-tita> organization address new.block.checkb + organization "organization" bibinfo.check output + address "address" bibinfo.check output + format.edition output +%<!dt-beg&!dt-end> format.date "year" output.check +%<doi> format.doi output +%<*url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.url output +%</url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block +%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence + format.note output +%<*!dt-beg&dt-end> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.date "year" output.check +%</!dt-beg&dt-end> +%<eprint> format.eprint output +%<revdata> format.url output + fin.entry +%<(harnm|url-nl)&!revdata> write.url +} + +%</ay> +%<*!ay> +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization "organization" bibinfo.check + duplicate$ empty$ 'pop$ + { output + address "address" bibinfo.check output + } + if$ + } + { format.authors output.nonnull } + if$ +%<au-col> add.colon +%<nmdash> name.or.dash +%<ay&dt-beg> format.date "year" output.check +%<!ay&dt-beg> format.date output +%<dt-beg> date.block +%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block + format.btitle "title" output.check +%<blk-tit&!tit-col> new.sentence +%<blk-tit&tit-col> add.colon + author empty$ + { organization empty$ + { +%<!blk-com&!blk-tit&!blk-tita> address new.block.checka + address "address" bibinfo.check output + } + 'skip$ + if$ + } + { +%<!blk-com&!blk-tit&!blk-tita> organization address new.block.checkb + organization "organization" bibinfo.check output + address "address" bibinfo.check output + } + if$ + format.edition output +%<ay&!dt-beg&!dt-end> format.date "year" output.check +%<!ay&!dt-beg&!dt-end> format.date output +%<doi> format.doi output +%<*url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.url output +%</url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block +%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence + format.note output +%<*ay&!dt-beg&dt-end> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.date "year" output.check +%</ay&!dt-beg&dt-end> +%<*!ay&!dt-beg&dt-end> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.date output +%</!ay&!dt-beg&dt-end> +%<eprint> format.eprint output +%<revdata> format.url output + fin.entry +%<(harnm|url-nl)&!revdata> write.url +} + +%</!ay> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`mastersthesis'} +% \changes{2.0}{1994 Feb 7}{Add \texttt{thtit-a} to format thesis titles like +% articles instead of books.} +% \changes{3.89d1}{1999 July 20}{AO: school via \texttt{bibinfo.warn}; call +% \texttt{format.eprint}, and \texttt{format.url}.} +% \changes{4.03}{2002 Jan 14}{Add \texttt{thtit-x}.} +% \changes{4.10}{2003 May 28}{Add \texttt{format.doi}} +% To format a master's thesis. +% \begin{macrocode} +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check +%<ay> author format.key output +%<au-col> add.colon +%<nmdash> name.or.dash +%<dt-beg> format.date "year" output.check +%<dt-beg> date.block +%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block +%<*!thtit-x> +%<!thtit-a> format.btitle +%<thtit-a> format.title + "title" output.check +%<thtit-a&blk-com&tit-qq> end.quote.title +%<!blk-com&!blk-tit&!blk-tita> new.block +%<blk-tit&!tit-col> new.sentence +%<blk-tit&tit-col> add.colon +%</!thtit-x> + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output +%<!dt-beg&!dt-end> format.date "year" output.check +%<doi> format.doi output +%<*url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.url output +%</url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block +%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence + format.note output +%<*!dt-beg&dt-end> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.date "year" output.check +%</!dt-beg&dt-end> +%<eprint> format.eprint output +%<revdata> format.url output + fin.entry +%<(harnm|url-nl)&!revdata> write.url +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`misc'} +% \begin{macrocode} +FUNCTION {misc} +{ output.bibitem + format.authors output +%<ay> author format.key output +%<au-col> add.colon +%<nmdash> name.or.dash +%<ay&dt-beg> format.date "year" output.check +%<!ay&dt-beg> format.date output +%<*ay> +%<dt-beg> date.block +%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block + format.title output +%<blk-com&tit-qq> end.quote.title +%<!blk-com&!blk-tit&!blk-tita> new.block +%<blk-tit&!tit-col> new.sentence +%<blk-tit&tit-col> add.colon +%</ay> +%<*!ay> +%<!blk-com&!blk-tit&!blk-tita> title howpublished new.block.checkb + format.title output +%<blk-com&tit-qq> end.quote.title +%<blk-tit&!tit-col> new.sentence +%<blk-tit&tit-col> add.colon +%<!blk-com&!blk-tit&!blk-tita> howpublished new.block.checka +%</!ay> + howpublished "howpublished" bibinfo.check output +%<ay&!dt-beg&!dt-end> format.date "year" output.check +%<!ay&!dt-beg&!dt-end> format.date output +%<doi> format.doi output +%<*url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.url output +%</url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block +%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence + format.note output +%<*ay&!dt-beg&dt-end> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.date "year" output.check +%</ay&!dt-beg&dt-end> +%<*!ay&!dt-beg&dt-end> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.date output +%</!ay&!dt-beg&dt-end> +%<eprint> format.eprint output +%<revdata> format.url output + fin.entry +%<(harnm|url-nl)&!revdata> write.url +%<!ay> empty.misc.check +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`phdthesis'} +% \changes{2.0}{1994 Feb 7}{Add \texttt{thtit-a} to format thesis titles like +% articles instead of books.} +% \changes{3.89d1}{1999 July 20}{AO: school via \texttt{bibinfo.warn}; call +% \texttt{format.eprint}, and \texttt{format.url}.} +% \changes{4.03}{2002 Jan 14}{Add \texttt{thtit-x}.} +% \changes{4.10}{2003 May 28}{Add \texttt{format.doi}} +% To format a doctoral thesis. +% \begin{macrocode} +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check +%<ay> author format.key output +%<au-col> add.colon +%<nmdash> name.or.dash +%<dt-beg> format.date "year" output.check +%<dt-beg> date.block +%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block +%<*!thtit-x> +%<!thtit-a> format.btitle +%<thtit-a> format.title + "title" output.check +%<thtit-a&blk-com&tit-qq> end.quote.title +%<!blk-com&!blk-tit&!blk-tita> new.block +%<blk-tit&!tit-col> new.sentence +%<blk-tit&tit-col> add.colon +%</!thtit-x> + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output +%<!dt-beg&!dt-end> format.date "year" output.check +%<doi> format.doi output +%<*url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.url output +%</url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block +%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence + format.note output +%<*!dt-beg&dt-end> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.date "year" output.check +%</!dt-beg&dt-end> +%<eprint> format.eprint output +%<revdata> format.url output + fin.entry +%<(harnm|url-nl)&!revdata> write.url +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`proceedings'} +% \changes{3.89d1}{1999 July 20}{AO: call \texttt{format.eprint}, and \texttt{format.url}.} +% \changes{4.10}{2003 May 28}{Add \texttt{format.doi}} +% \begin{macrocode} +%<*ay> +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output +%<au-col> add.colon +%<nmdash> name.or.dash +%<dt-beg> format.date "year" output.check +%<dt-beg> date.block +%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block + format.btitle "title" output.check + format.bvolume output +%<!numser> format.number.series output +%<!blk-com&!blk-tit&!blk-tita> new.sentence +%<numser> format.number.series output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ +%<!dt-beg&!dt-end&!pub-date> format.date "year" output.check +%<isbn> format.isbn output +%<issn> format.issn output +%<doi> format.doi output +%<*url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.url output +%</url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block +%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence + format.note output +%<*!dt-beg&dt-end&!pub-date> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.date "year" output.check +%</!dt-beg&dt-end&!pub-date> +%<eprint> format.eprint output +%<revdata> format.url output + fin.entry +%<(harnm|url-nl)&!revdata> write.url +} + +%</ay> +%<*!ay> +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization "organization" bibinfo.check output + } + { format.editors output.nonnull } + if$ +%<au-col> add.colon +%<nmdash> name.or.dash +%<dt-beg> format.date "year" output.check +%<dt-beg> date.block +%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block + format.btitle "title" output.check + format.bvolume output +%<!numser> format.number.series output + editor empty$ + { publisher empty$ + 'skip$ + { +%<!blk-com&!blk-tit&!blk-tita> new.sentence +%<numser> format.number.series output + format.publisher.address output + } + if$ + } + { publisher empty$ + { +%<!blk-com&!blk-tit&!blk-tita> new.sentence + format.organization.address output } + { +%<!blk-com&!blk-tit&!blk-tita> new.sentence + organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + } + if$ +%<!dt-beg&!dt-end&!pub-date> format.date "year" output.check +%<isbn> format.isbn output +%<issn> format.issn output +%<doi> format.doi output +%<*url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.url output +%</url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block +%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence + format.note output +%<*!dt-beg&dt-end> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.date "year" output.check +%</!dt-beg&dt-end> +%<eprint> format.eprint output +%<revdata> format.url output + fin.entry +%<(harnm|url-nl)&!revdata> write.url +} + +%</!ay> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`techreport'} +% \changes{3.5}{1995 Oct 4}{Add option \texttt{trtit-b}} +% \changes{3.83}{1997 Feb 25}{Add option \texttt{trnum-it}} +% \changes{3.89d1}{1999 July 20}{AO: institution via \texttt{bibinfo.warn}; call +% \texttt{format.eprint}, and \texttt{format.url}.} +% \changes{4.10}{2003 May 28}{Add \texttt{format.doi}} +% \begin{macrocode} +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check +%<ay> author format.key output +%<au-col> add.colon +%<nmdash> name.or.dash +%<dt-beg> format.date "year" output.check +%<dt-beg> date.block +%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block +%<trtit-b> format.btitle +%<!trtit-b> format.title + "title" output.check +%<!trtit-b&blk-com&tit-qq> end.quote.title +%<!blk-com&!blk-tit&!blk-tita> new.block +%<blk-tit&!tit-col> new.sentence +%<blk-tit&tit-col> add.colon +%<!trnum-it> format.tr.number output.nonnull +%<trnum-it> format.tr.number emphasize output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output +%<!dt-beg&!dt-end> format.date "year" output.check +%<doi> format.doi output +%<*url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.url output +%</url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block +%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence + format.note output +%<*!dt-beg&dt-end> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.date "year" output.check +%</!dt-beg&dt-end> +%<eprint> format.eprint output +%<revdata> format.url output + fin.entry +%<(harnm|url-nl)&!revdata> write.url +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`unpublished'} +% \changes{3.85}{1997 Nov 25}{Fix date at normal end} +% \changes{3.89d1}{1999 July 20}{AO: call \texttt{format.eprint}, and \texttt{format.url}.} +% \changes{4.10}{2003 May 28}{Add \texttt{format.doi}} +% \begin{macrocode} +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check +%<ay> author format.key output +%<au-col> add.colon +%<nmdash> name.or.dash +%<ay&dt-beg> format.date "year" output.check +%<!ay&dt-beg> format.date output +%<dt-beg> date.block +%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block + format.title "title" output.check +%<blk-com&tit-qq> end.quote.title +%<ay&!dt-beg&!dt-end> format.date "year" output.check +%<!ay&!dt-beg&!dt-end> format.date output +%<doi> format.doi output +%<*url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.url output +%</url-blk&!harnm&!revdata> +%<!blk-com&!blk-tit&!blk-tita> new.block +%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence + format.note "note" output.check +%<*ay&!dt-beg&dt-end> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.date output +%</ay&!dt-beg&dt-end> +%<*!ay&!dt-beg&dt-end> +%<!blk-com&!blk-tit&!blk-tita> new.block + format.date output +%</!ay&!dt-beg&dt-end> +%<eprint> format.eprint output +%<revdata> format.url output + fin.entry +%<(harnm|url-nl)&!revdata> write.url +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`default.type'} +% \begin{macrocode} +FUNCTION {default.type} { misc } +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +READ +% \end{macrocode} +% +% \begin{macrocode} +%<*ay|alph|!seq-no> +% \end{macrocode} +% +% \begin{macro}{`sortify'} +% \changes{3.8}{1996 Feb 29}{Do not allow unsorted alphas} +% In \texttt{btxbst.doc}/\texttt{.mbs}, the \texttt{sortify} function is +% left out for unsorted alpha-style citations. This leads to an error, +% because it is still used. So leave it in here too. \emph{In fact, do away +% with unsorted alpha style, since it is as useless as unsorted author--year +% listings.} +% \begin{macrocode} +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +INTEGERS { len } +% \end{macrocode} +% +% \begin{macro}{`chop.word'} +% \begin{macrocode} +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%<*!ay&alph> +% \end{macrocode} +% +% \begin{macro}{`format.lab.names'} +% \changes{3.8}{1996 Feb 29}{Add option \texttt{alph} for \texttt{alpha.bst} +% style of labels} +% \changes{3.84}{1997 Nov 4}{Add options \texttt{alf-1} and \texttt{alf-f}} +% \changes{3.85}{1997 Dec 1}{Add option \texttt{jnrlab}} +% \changes{3.85}{1996 Feb 6}{Recode author font} +% The function \texttt{format.lab.names} formats by author--year or the +% \texttt{alpha} style as in the original \texttt{alpha.bst}. +% Only major difference is that there should be no unsorted (\texttt{seq-no}) +% versions of this. Patashnik was clearly very unhappy about accommodating +% such an animal, and in fact, his unsorted alpha style crashes \btx. +% I also provide the \texttt{vonx} option here to ignore the \textsl{von} +% part of the name. +% +% \begin{macrocode} +INTEGERS { et.al.char.used } +% \end{macrocode} +% +% \begin{macrocode} +FUNCTION {initialize.et.al.char.used} +{ #0 'et.al.char.used := +} +% \end{macrocode} +% +% \begin{macrocode} +EXECUTE {initialize.et.al.char.used} +% \end{macrocode} +% +% \begin{macrocode} +FUNCTION {format.lab.names} +{ 's := +%<*alf-1> +%<!vonx> s #1 "{v{}}{l{}}" format.name$ +%<vonx> s #1 "{l{}}" format.name$ + duplicate$ text.length$ #2 < + { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ } + 'skip$ + if$ +%</alf-1> +%<*!alf-1&alf-f> +%<!vonx> s #1 "{vv{}}{ll}" format.name$ +%<vonx> s #1 "{ll}" format.name$ +%</!alf-1&alf-f> +%<*!alf-1&!alf-f> + s num.names$ 'numnames := + numnames #1 > + { numnames #4 > + { #3 'namesleft := } + { numnames 'namesleft := } + if$ + #1 'nameptr := + "" + { namesleft #0 > } + { nameptr numnames = + { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { "{\etalchar{+}}" * + #1 'et.al.char.used := + } +%<!vonx> { s nameptr "{v{}}{l{}}" format.name$ * } +%<vonx> { s nameptr "{l{}}" format.name$ * } + if$ + } +%<!vonx> { s nameptr "{v{}}{l{}}" format.name$ * } +%<vonx> { s nameptr "{l{}}" format.name$ * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + numnames #4 > + { "{\etalchar{+}}" * + #1 'et.al.char.used := + } + 'skip$ + if$ + } +%<!vonx> { s #1 "{v{}}{l{}}" format.name$ +%<vonx> { s #1 "{l{}}" format.name$ + duplicate$ text.length$ #2 < + { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ } + 'skip$ + if$ + } + if$ +%</!alf-1&!alf-f> +} +% \end{macrocode} +% +% \begin{macrocode} +%</!ay&alph> +% \end{macrocode} +% \changes{3.89}{1999 May 20}{Reset \texttt{t}; might still be ``others'' +% from last format function} +% \begin{macrocode} +%<*ay> +FUNCTION {format.lab.names} +{ 's := + "" 't := +%<!jnrlab> s #1 "{vv~}{ll}" format.name$ +%<*jnrlab> +%<!nm-rv&!nm-rvv&!nm-rvx&!nm-rvcx> s #1 "{vv~}{ll}{, jj}" format.name$ +%<nm-rv|nm-rvv|nm-rvx|nm-rvcx> s #1 "{vv~}{ll}{ jj}" format.name$ +%</jnrlab> +%<lab&and-rm> cite.name.font + s num.names$ duplicate$ + #2 > + { pop$ +%<lab&!and-rm&(etal-it|etal-rm)> cite.name.font +%<*!etal-it> +%<lab&and-rm&!etal-rm> " " * bbl.etal cite.name.font * +%<!lab|!and-rm|etal-rm> " " * bbl.etal * +%</!etal-it> +%<etal-it> " " * bbl.etal emphasize * +%<lab&!and-rm&!(etal-it|etal-rm)> cite.name.font +%<lab&!and-rm> "others" 't := + } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { +% %<lab&!and-rm&(etal-it|etal-rm)> cite.name.font +%<*!etal-it> +%<lab&and-rm&!etal-rm> " " * bbl.etal cite.name.font * +%<!lab|!and-rm|etal-rm> " " * bbl.etal * +%</!etal-it> +%<etal-it> " " * bbl.etal emphasize * +%<lab&!and-rm&!(etal-it|etal-rm)> cite.name.font +%<lab&!and-rm> "others" 't := + } +%<*!harnm> +%<*!amper> + { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ +%<lab&and-rm> cite.name.font + * } +%</!amper> +%<*amper> + { " \& " * s #2 "{vv~}{ll}" format.name$ +%<lab&and-rm> cite.name.font + * } +%</amper> +%</!harnm> +%<*harnm> + { " \harvardand{} " * s #2 "{vv~}{ll}" format.name$ +%<lab&and-rm> cite.name.font + * } +%</harnm> + if$ + } + if$ + } + if$ +%<*lab&!and-rm> + t "others" = + 'skip$ + { cite.name.font } + if$ +%</lab&!and-rm> +} + +%</ay> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`author.key.label'} +% \begin{macro}{`author.editor.key.label'} +% \begin{macro}{`author.key.organization.label'} +% \begin{macro}{`editor.key.organization.label'} +% \begin{macro}{`editor.key.label'} +% Have to be very careful with the options \texttt{ay}, \texttt{alph}, and +% \texttt{seq-no} here. The first two are actually mutually exclusive, and +% \texttt{ay} should dominate. The \texttt{seq-no} option only applies for +% numerical (\texttt{!ay}) but not alphabetic (\texttt{alph}) selections. +% This whole block of coding dealing with labels is only included for +% author--year or alphabetic or ordered numerical. +% That is, \texttt{ay} or \texttt{alph} or \texttt{!seq-no} is true. +% \begin{macrocode} +%<*ay|alph> +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } +%<ay> 'key +%<!ay> { key #3 text.prefix$ } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } +%<ay> 'key +%<!ay> { key #3 text.prefix$ } + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +%</ay|alph> +%<*!ay&alph> +FUNCTION {author.key.organization.label} +{ author empty$ + { key empty$ + { organization empty$ + { cite$ #1 #3 substring$ } + { "The " #4 organization chop.word #3 text.prefix$ } + if$ + } + { key #3 text.prefix$ } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.organization.label} +{ editor empty$ + { key empty$ + { organization empty$ + { cite$ #1 #3 substring$ } + { "The " #4 organization chop.word #3 text.prefix$ } + if$ + } + { key #3 text.prefix$ } + if$ + } + { editor format.lab.names } + if$ +} + +%</!ay&alph> +%<*ay> +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{`calc.short.authors'} +% \changes{3.3}{1995 Sep 4}{Add function to store short list of authors +% for later test} +% \begin{macrocode} +FUNCTION {calc.short.authors} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'short.list := +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`calc.label'} +% \changes{1.5(2.3)a}{1994 Oct 11}{Add option \texttt{note-yr}} +% \changes{3.0}{1995 Mar 3}{Add options \texttt{lab-bf} and \texttt{lab-sc}} +% \changes{3.3}{1995 Sep 4}{Use \texttt{calc.short.authors}} +% \changes{3.8}{1996 Feb 29}{Add \texttt{calc.label} from \texttt{alpha.bst}} +% \changes{3.89}{1999 May 12}{Add \texttt{keyxyr} option} +% \begin{macrocode} +FUNCTION {calc.label} +{ calc.short.authors + short.list +%<!(har|ast|cay|nmd|alk|cn)> "(" +%<har|ast|cay|nmd|alk|cn> ", " + * + year duplicate$ empty$ +%<keyxyr> short.list key field.or.null = or +%<(blkyear|keyxyr)> { pop$ "" } +%<!(blkyear|keyxyr)> { pop$ "????" } +%<!note-yr> { purify$ #-1 #4 substring$ } +%<note-yr> 'skip$ + if$ + * + 'label := +} + +%</ay> +%<*!ay&alph> +FUNCTION {calc.label} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.organization.label + { type$ "manual" = + 'author.key.organization.label + 'author.key.label + if$ + } + if$ + } + if$ + duplicate$ + year field.or.null purify$ #-1 #2 substring$ + * + 'label := + year field.or.null purify$ #-1 #4 substring$ + * + sortify 'sort.label := +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%</!ay&alph> +% \end{macrocode} +% +% \begin{macrocode} +%<*ay> +% \end{macrocode} +% +% \begin{macrocode} +%<*har|cay|nmd|ast|cn> +% \end{macrocode} +% +% \begin{macro}{`calc.short.label'} +% \changes{3.3}{1995 Sep 4}{Use \texttt{calc.short.authors}} +% +% \begin{macrocode} +FUNCTION {calc.short.label} +{ calc.short.authors short.list + 'label := +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%</har|cay|nmd|ast|cn> +% \end{macrocode} +% +% \begin{macrocode} +%</ay> +% \end{macrocode} +% +% \begin{macro}{`sort.format.names'} +% \changes{1.7(2.5)}{1995 Feb 9}{Make ordering of `et al' works by year +% and authors and not just year} +% \changes{3.0}{1995 Feb 27}{Option \texttt{nm-revf} to act just as default} +% \changes{3.2}{1995 Jun 16}{Add option \texttt{vonx} so sorting ignores the +% \emph{von} part of the name} +% \changes{3.5}{1995 Oct 24}{For limited authors, sort only on those present} +% \changes{3.5}{1995 Oct 24}{`Et al' considered author before all others} +% \changes{3.83}{1997 Feb 25}{`Et al' considered author after all others} +% \begin{macrocode} +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr +%<*!nm-init&!nm-rev&!nm-rev1&!nm-rv&!nm-rvx&!nm-rvcx&!nm-rvv> +%<!vonx> "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" +%<vonx> "{ll{ }}{ ff{ }}{ jj{ }}" +%</!nm-init&!nm-rev&!nm-rev1&!nm-rv&!nm-rvx&!nm-rvcx&!nm-rvv> +%<*nm-init|nm-rev|nm-rev1|nm-rv|nm-rvx|nm-rvcx|nm-rvv> +%<!vonx> "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" +%<vonx> "{ll{ }}{ f{ }}{ jj{ }}" +%</nm-init|nm-rev|nm-rev1|nm-rv|nm-rvx|nm-rvcx|nm-rvv> + format.name$ 't := + nameptr #1 > + { +%<*nmlm> +%<m1> nameptr #1 +%<m2> nameptr #2 +%<m3> nameptr #3 +%<m4> nameptr #4 +%<m5> nameptr #5 +%<m6> nameptr #6 +%<m7> nameptr #7 +%<m8> nameptr #8 +%<m9> nameptr #9 +%<m0> nameptr #0 +%<m10> #10 + +%<m20> #20 + +%<m30> #30 + +%<m40> #40 + +%<m50> #50 + +%<m60> #60 + +%<m70> #70 + +%<m80> #80 + +%<m90> #90 + + #1 + = +%<x1> numnames #1 +%<x2> numnames #2 +%<x3> numnames #3 +%<x4> numnames #4 +%<x5> numnames #5 +%<x6> numnames #6 +%<x7> numnames #7 +%<x8> numnames #8 +%<x9> numnames #9 +%<x0> numnames #0 +%<x10> #10 + +%<x20> #20 + +%<x30> #30 + +%<x40> #40 + +%<x50> #50 + +%<x60> #60 + +%<x70> #70 + +%<x80> #80 + +%<x90> #90 + + > and + { "others" 't := + #1 'namesleft := } + 'skip$ + if$ +%</nmlm> + " " * + namesleft #1 = t "others" = and + { "zzzzz" * } +%<*seq-lab|seq-key> + { numnames #2 > nameptr #2 = and + { "zz" * year field.or.null * " " * } + 'skip$ + if$ + t sortify * + } +%</seq-lab|seq-key> +%<!seq-lab&!seq-key> { t sortify * } + if$ + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`sort.format.title'} +% \begin{macrocode} +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`author.sort'} +% \begin{macrocode} +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`author.editor.sort'} +% \begin{macrocode} +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`negate.year'} +% \changes{4.03}{2002 Jan 14}{Add function for ordering by descending years} +% This function negates the year by substituting each digit by its +% complement. That is, 0 $\rightarrow$ 9, 1 $\rightarrow$ 8, etc. This is used +% to provide ordering by descending year (latest year first). +% \begin{macrocode} +%<*seq-yrr&!seq-yr> +FUNCTION {negate.year} +{ year empty$ + { "99999" } + { year #1 #1 substring$ chr.to.int$ #105 swap$ - int.to.chr$ + year #2 #1 substring$ chr.to.int$ #105 swap$ - int.to.chr$ * + year #3 #1 substring$ chr.to.int$ #105 swap$ - int.to.chr$ * + year #4 #1 substring$ chr.to.int$ #105 swap$ - int.to.chr$ * + } + if$ +} +%</seq-yrr&!seq-yr> +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%<*ay> +% \end{macrocode} +% +% \begin{macro}{`editor.sort'} +% \begin{macrocode} +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%<*seq-no> +% \end{macrocode} +% +% \begin{macrocode} +INTEGERS { seq.num } +% \end{macrocode} +% +% \begin{macro}{`init.seq'} +% \begin{macrocode} +FUNCTION {init.seq} +{ #0 'seq.num :=} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +EXECUTE {init.seq} +% \end{macrocode} +% +% \begin{macro}{`int.to.fix'} +% \begin{macrocode} +FUNCTION {int.to.fix} +{ "000000000" swap$ int.to.str$ * + #-1 #10 substring$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%</seq-no> +% \end{macrocode} +% +% \begin{macro}{`presort'} +% \changes{3.81}{1996 Sep 16}{Add option \texttt{seq-no} to author--year} +% For unsorted author--year, make up the final sorting order in +% \texttt{sort.label} with the original sequence number, for unsorting later. +% \begin{macrocode} +FUNCTION {presort} +{ calc.label + label sortify + " " + * +%<*!seq-no> + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ +%</!seq-no> +%<*seq-no> + seq.num #1 + 'seq.num := + seq.num int.to.fix +%</seq-no> + 'sort.label := + sort.label + * + " " + * +%<seq-yr> " " * year field.or.null * +%<seq-yrr&!seq-yr> " " * negate.year field.or.null * +%<*!seq-key&!seq-yr&!seq-yrr> + title field.or.null + sort.format.title +%</!seq-key&!seq-yr&!seq-yrr> +%<seq-key|seq-yr|seq-yrr> cite$ + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%</ay> +% \end{macrocode} +% +% \begin{macrocode} +%<*!ay> +% \end{macrocode} +% +% \begin{macro}{`author.organization.sort'} +% \begin{macrocode} +FUNCTION {author.organization.sort} +{ author empty$ + { organization empty$ + { key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`editor.organization.sort'} +% \begin{macrocode} +FUNCTION {editor.organization.sort} +{ editor empty$ + { organization empty$ + { key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`presort'} +% \begin{macrocode} +FUNCTION {presort} +%<*alph> +{ calc.label + sort.label + " " + * + type$ "book" = +%</alph> +%<!alph>{ type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ +%<alph> * + " " + * +%<seq-yrr> negate.year field.or.null sortify +%<!seq-yrr> year field.or.null sortify +%<!(seq-yr|seq-yrr)|alph> * + " " + * +%<(seq-yr|seq-yrr)&!alph> swap$ * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%</!ay> +% \end{macrocode} +% +% \begin{macrocode} +ITERATE {presort} +% \end{macrocode} +% +% \begin{macrocode} +SORT +% \end{macrocode} +% +% \begin{macrocode} +%</ay|alph|!seq-no> +% \end{macrocode} +% +% \subsection{`forward.pass'} +% \changes{3.4}{1995 Sep 5}{Include number of references in argument to +% \texttt{thebibliography} environment} +% With version~6.0 of \texttt{natbib}, the author-year styles can also be +% used for numerical citations; then the \texttt{thebibliography} environment +% must have an argument indicating the length of the longest label. +% Simply count the references and add this number as the argument. +% \begin{macrocode} +%<*ay> +% \end{macrocode} +% +% \begin{macrocode} +STRINGS { last.label next.extra } +% \end{macrocode} +% +% \begin{macrocode} +INTEGERS { last.extra.num number.label } +% \end{macrocode} +% +% \begin{macro}{`initialize.extra.label.stuff'} +% \begin{macrocode} +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := + #0 'number.label := +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`forward.pass'} +% \begin{macrocode} +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + number.label #1 + 'number.label := +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%</ay> +% \end{macrocode} +% +% \begin{macrocode} +%<*!ay&alph> +% \end{macrocode} +% +% \begin{macrocode} +STRINGS { longest.label last.sort.label next.extra } +% \end{macrocode} +% +% \begin{macrocode} +INTEGERS { longest.label.width last.extra.num } +% \end{macrocode} +% +% \begin{macro}{`initialize.longest.label'} +% \begin{macrocode} +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #0 int.to.chr$ 'last.sort.label := + "" 'next.extra := + #0 'longest.label.width := + #0 'last.extra.num := +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{`forward.pass'} +% \begin{macrocode} +FUNCTION {forward.pass} +{ last.sort.label sort.label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + sort.label 'last.sort.label := + } + if$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%</!ay&alph> +% \end{macrocode} +% +% \begin{macro}{`reverse.pass'} +% \changes{3.3}{1995 Aug 7}{Put extra label in braces} +% The extra label is added in braces so that natbib can treat it as one unit. +% This allows extra labels to be more than one letter long. For non-NFSS +% emphasizing, this is no problem, since labels go in |{\em a}|, but for +% non-emphasizing and for NFSS, it caused troubles without the braces. +% The trouble arises with multiple citations in one |\cite| in which +% authors and years are the same, and only the extra label is given for +% the next one. Note: |\emph{a}| is more than one letter long in this sense, +% so it is not just a problem for more than 26 papers with same authors and +% year. +% +% \changes{3.81}{1996 Jun 17}{Add \texttt{\char`\\natexlab}} +% The command |\natexlab| now encloses the extra label for \texttt{natbib} +% styles. This command normally just prints its argument, but for numerical +% citation mode, it swallows its argument. This allows the extra labels to +% be suppressed for numerical citations where they are superfluous. +% The enclosing braces mentioned above must be included here to make the +% entire extra label text a single token for \texttt{natbib}. +% \begin{macrocode} +%<*ay> +% \end{macrocode} +% +% \begin{macrocode} +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label +%<xlab-it> emphasize +%<*!html> + duplicate$ empty$ + 'skip$ + { "{\natexlab{" swap$ * "}}" * } + if$ +%</!html> + 'extra.label := +%<!(har|ast|cay|nmd|cn)> label extra.label * 'label := +} +% \end{macrocode} +% +% \begin{macrocode} +%</ay> +% \end{macrocode} +% +% \begin{macrocode} +%<*!ay&alph> +% \end{macrocode} +% +% \begin{macrocode} +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + label extra.label * 'label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ + extra.label 'next.extra := +} +% \end{macrocode} +% +% \begin{macrocode} +%</!ay&alph> +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%<ay>EXECUTE {initialize.extra.label.stuff} +%<!ay&alph>EXECUTE {initialize.longest.label} +% \end{macrocode} +% +% \begin{macrocode} +%<*ay|alph> +ITERATE {forward.pass} +% \end{macrocode} +% +% \begin{macrocode} +REVERSE {reverse.pass} +% \end{macrocode} +% +% \begin{macrocode} +%</ay|alph> +% \end{macrocode} +% +% \begin{macrocode} +%<*ay> +FUNCTION {bib.sort.order} +{ sort.label + " " + * +%<seq-yrr> negate.year field.or.null sortify +%<!seq-yrr> year field.or.null sortify +%<(seq-yr|seq-yrr)&!(seq-lab|seq-key)> swap$ + * + " " + * +%<*!seq-key&!seq-yr&!seq-yrr> + title field.or.null + sort.format.title +%</!seq-key&!seq-yr&!seq-yrr> +%<seq-key|seq-yr|seq-yrr> cite$ + * + #1 entry.max$ substring$ + 'sort.key$ := +%<har|cay|nmd|cn|ast> calc.short.label +} +% \end{macrocode} +% +% \begin{macrocode} +ITERATE {bib.sort.order} +% \end{macrocode} +% +% \begin{macrocode} +SORT +% \end{macrocode} +% +% \begin{macrocode} +%</ay> +% \end{macrocode} +% +% \begin{macrocode} +%<*!ay&!alph> +% \end{macrocode} +% +% \begin{macrocode} +STRINGS { longest.label } +% \end{macrocode} +% +% \begin{macrocode} +INTEGERS { number.label longest.label.width } +% \end{macrocode} +% +% \begin{macrocode} +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} +% \end{macrocode} +% +% \begin{macrocode} +FUNCTION {longest.label.pass} +%<*!cite> +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := +%</!cite> +%<cite>{ cite$ 'label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} +% \end{macrocode} +% +% \begin{macrocode} +EXECUTE {initialize.longest.label} +% \end{macrocode} +% +% \begin{macrocode} +ITERATE {longest.label.pass} +% \end{macrocode} +% +% \begin{macrocode} +%</!ay&!alph> +% \end{macrocode} +% +% \begin{macro}{`begin.bib'} +% \changes{2.0}{1994 Jan 31}{For \texttt{german}, add the definition of +% {\tt\protect\bslash qq} to replace double-quote character.} +% \changes{2.0}{1994 Jan 31}{For \texttt{babel}, read in file +% \texttt{babelbst.tex} in \texttt{thebibliography} to define the word +% commands.} +% \changes{3.4}{1995 Sep 5}{Add number of references as argument} +% \changes{3.89d1}{1999 July 20}{AO: provide default meanings for procedures used.} +% The function \texttt{begin.bib} writes the initial text to the \texttt{.bbl} +% file. The most important matter here is that the \texttt{thebibliography} +% environment is invoked. +% +% Note: the French quotation marks are called `guillimets'; Adobe erroneously +% named the symbols `guillimot', which is an arctic bird. The error has so +% propagated, that it can no longer be corrected. \LaTeX\ took it over. +% \begin{macrocode} +FUNCTION {begin.bib} +%<*!html> +%<*!ay&alph> +{ et.al.char.used + { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ } + 'skip$ + if$ + preamble$ empty$ +%</!ay&alph> +%<ay|!alph>{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ +%<ay> "\begin{thebibliography}{" number.label int.to.str$ * "}" * +%<!ay> "\begin{thebibliography}{" longest.label * "}" * + write$ newline$ +%<*(!nmft&(nmft-it|nmft-sc|nmft-bf|nmft-def))|(!lab&(lab-it|lab-bf|lab-sc|lab-def))> + "\typeout{**********************************}" write$ newline$ + "\typeout{WARNING WARNING WARNING WARNING WARNING}" write$ newline$ + "\typeout{The bst file has been generated with inconsistent options}" + write$ newline$ + "\typeout{Read the warning message at the start of the bst file}" + write$ newline$ + "\typeout{**********************************}" write$ newline$ +%</(!nmft&(nmft-it|nmft-sc|nmft-bf|nmft-def))|(!lab&(lab-it|lab-bf|lab-sc|lab-def))> +%<*!plntx> +%<!tit-it&tit-qq&qt-s> "\newcommand{\enquote}[1]{`#1'}" +%<!tit-it&tit-qq&!qt-s&!qt-g> "\newcommand{\enquote}[1]{``#1''}" +%</!plntx> +%<*plntx> +%<!tit-it&tit-qq&qt-s> "\def\enquote#1{`#1'}" +%<!tit-it&tit-qq&!qt-s&!qt-g> "\def\enquote#1{``#1''}" +%</plntx> +%<*!tit-it&tit-qq&!qt-s&qt-g> +%<!plntx> "\ProvideTextCommand{\guillemotleft}{OT1}{%" +%<plntx> "\def\guillemotleft{%" + write$ newline$ + " \leavevmode\raise .27ex\hbox{$\scriptscriptstyle\ll$}}" + write$ newline$ +%<!plntx> "\ProvideTextCommand{\guillemotright}{OT1}{%" +%<plntx> "\def\guillemotright{%" + write$ newline$ + " \leavevmode\raise .27ex\hbox{$\scriptscriptstyle\gg$}}" + write$ newline$ +%<!plntx> "\newcommand{\enquote}[1]{\guillemotleft#1\guillemotright}" +%<plntx> "\def\enquote#1{\guillemotleft#1\guillemotright}" +%</!tit-it&tit-qq&!qt-s&qt-g> +%<!tit-it&tit-qq> write$ newline$ +%<umlaut> "\let\qq=\" quote$ * write$ newline$ +%<em-ul> "\expandafter\ifx\csname uline\endcsname\relax\let\uline\underline\fi" +%<em-ul> write$ newline$ +%<*ay> +%<!plntx> "\providecommand{\natexlab}[1]{#1}" +%<plntx> "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi" + write$ newline$ +%<*har> + "{\catcode`\|=0\catcode`\#=12\catcode`\@=11\catcode`\\=12" write$ newline$ + "|immediate|write|@auxout{\expandafter\ifx\csname natexlab\endcsname\relax\gdef\natexlab#1{#1}\fi}}" + write$ newline$ +%</har> +%</ay> +%<*nmft&nmft-def> +%<!plntx> "\providecommand{\bibnamefont}[1]{#1}" +%<plntx> "\expandafter\ifx\csname bibnamefont\endcsname\relax" +%<plntx> write$ newline$ +%<plntx> " \def\bibnamefont#1{#1}\fi" + write$ newline$ +%</nmft&nmft-def> +%<*nmft&fnm-def> +%<!plntx> "\providecommand{\bibfnamefont}[1]{#1}" +%<plntx> "\expandafter\ifx\csname bibfnamefont\endcsname\relax" +%<plntx> write$ newline$ +%<plntx> " \def\bibfnamefont#1{#1}\fi" + write$ newline$ +%</nmft&fnm-def> +%<*lab&lab-def> +%<!plntx> "\providecommand{\citenamefont}[1]{#1}" +%<plntx> "\expandafter\ifx\csname citenamefont\endcsname\relax" +%<plntx> write$ newline$ +%<plntx> " \def\citenamefont#1{#1}\fi" + write$ newline$ +%</lab&lab-def> +%<*(url&!harnm)|eprint> +%<*!plntx> +%<nfss> "\providecommand{\url}[1]{\texttt{#1}}" +%<!nfss> "\providecommand{\url}[1]{{\tt #1}}" + write$ newline$ + "\providecommand{\urlprefix}{URL }" + write$ newline$ +%</!plntx> +%<*plntx> + "\expandafter\ifx\csname url\endcsname\relax" + write$ newline$ +%<nfss> " \def\url#1{\texttt{#1}}\fi" +%<!nfss> " \def\url#1{{\tt #1}}\fi" + write$ newline$ + "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi" + write$ newline$ +%</plntx> +%</(url&!harnm)|eprint> +%<*doi> + "\expandafter\ifx\csname urlstyle\endcsname\relax" + write$ newline$ +%<*!plntx> + " \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else" + write$ newline$ + " \providecommand{\doi}{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi" + write$ newline$ +%</!plntx> +%<*plntx> + " \expandafter\ifx\csname doi\endcsname\relax" + write$ newline$ + " \def\doi#1{doi:\discretionary{}{}{}#1}\fi \else" + write$ newline$ + " \expandafter\ifx\csname doi\endcsname\relax" + write$ newline$ + " \def\doi{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi \fi" + write$ newline$ +%</plntx> +%</doi> +%<*lang> +%<!plntx> "\providecommand{\selectlanguage}[1]{\relax}" +%<*plntx> + "\expandafter\ifx\csname selectlanguage\endcsname\relax" + write$ newline$ + " \def\selectlanguage#1{}\fi" +%</plntx> + write$ newline$ +%</lang> +%<*!plntx> +%<*babel> + "\input{babelbst.tex}" write$ newline$ + "\newcommand{\Capitalize}[1]{\uppercase{#1}}" write$ newline$ + "\newcommand{\capitalize}[1]{\expandafter\Capitalize#1}" write$ newline$ +%</babel> +%<*annote> + "\providecommand{\bibAnnoteFile}[1]{%" + write$ newline$ + " \IfFileExists{#1}{\begin{quotation}\noindent\textsc{Key:} #1\\" + write$ newline$ + " \textsc{Annotation:}\ \input{#1}\end{quotation}}{}}" + write$ newline$ + "\providecommand{\bibAnnote}[2]{%" + write$ newline$ + " \begin{quotation}\noindent\textsc{Key:} #1\\" + write$ newline$ + " \textsc{Annotation:}\ #2\end{quotation}}" + write$ newline$ +%</annote> +%</!plntx> +%<*bibinfo> +%<!plntx> "\providecommand{\bibinfo}[2]{#2}" +%<plntx> "\expandafter\ifx\csname bibinfo\endcsname\relax\def\bibinfo#1#2{#2}\fi" + write$ newline$ +%</bibinfo> +%<*eprint> +%<!plntx> "\providecommand{\eprint}[2][]{\url{#2}}" +%<plntx> "\expandafter\ifx\csname eprint\endcsname\relax\def\eprint#1{\url{#1}}\fi" + write$ newline$ +%</eprint> +} +%</!html> +%<*html> +{ +"<html><head><title>Bibliography Listing</title></head>" write$ newline$ +"<body>" write$ newline$ +"<h2>Bibliography</h2>" write$ newline$ +%<htdes>"<dl>" write$ newline$ +%<!htdes&htlist>"<ol>" write$ newline$ +} +%</html> +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +EXECUTE {begin.bib} +% \end{macrocode} +% +% \begin{macrocode} +EXECUTE {init.state.consts} +% \end{macrocode} +% +% \begin{macrocode} +ITERATE {call.type$} +% \end{macrocode} +% +% \begin{macro}{`end.bib'} +% \begin{macrocode} +FUNCTION {end.bib} +{ newline$ +%<!html> "\end{thebibliography}" write$ newline$ +%<html> "</dl></body></html>" write$ newline$ +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +EXECUTE {end.bib} +% \end{macrocode} +% +% \begin{macrocode} +%</!head> +% \end{macrocode} +% +% \begin{macrocode} +%</!options&!driver&!bblbst> +% \end{macrocode} +% +% \section{The File \texttt{babelbst.tex} for English} +% The following contains the definitions for the \texttt{babel} language +% selection as they apply to English. This file may be extracted with +% \dtx{} and the option \texttt{bblbst}. +% \begin{macrocode} +%<*bblbst> + % This is babelbst.tex for English. + % It should serve as a model for other languages. + % Alternatively, store it under a different name (e.g. englbst.tex) + % and then \input it with a command in babelbst.tex. +\def\bbland{and} \def\bbletal{et~al.} +\def\bbleditors{editors} \def\bbleds{eds.} +\def\bbleditor{editor} \def\bbled{ed.} +\def\bbledby{edited by} +\def\bbledition{edition} \def\bbledn{edn.} +\def\bblvolume{volume} \def\bblvol{vol.} +\def\bblof{of} +\def\bblnumber{number} \def\bblno{no.} +\def\bblin{in} +\def\bblpages{pages} \def\bblpp{pp.} +\def\bblpage{page} \def\bblp{p.} +\def\bbleidpp{pages} +\def\bblchapter{chapter} \def\bblchap{chap.} +\def\bbltechreport{Technical Report} +\def\bbltechrep{Tech. Rep.} +\def\bblmthesis{Master's thesis} +\def\bblphdthesis{Ph.D. thesis} +\def\bblfirst{First} \def\bblfirsto{1st} +\def\bblsecond{Second} \def\bblsecondo{2nd} +\def\bblthird{Third} \def\bblthirdo{3rd} +\def\bblfourth{Fourth} \def\bblfourtho{4th} +\def\bblfifth{Fifth} \def\bblfiftho{5th} +\def\bblst{st} \def\bblnd{nd} \def\bblrd{rd} +\def\bblth{th} +\def\bbljan{January} \def\bblfeb{February} \def\bblmar{March} +\def\bblapr{April} \def\bblmay{May} \def\bbljun{June} +\def\bbljul{July} \def\bblaug{August} \def\bblsep{September} +\def\bbloct{October} \def\bblnov{November} \def\bbldec{December} +%</bblbst> +% \end{macrocode} +% +% \Finale diff --git a/Master/texmf-dist/tex/latex/custom-bib/norsk.mbs b/Master/texmf-dist/tex/latex/custom-bib/norsk.mbs new file mode 100644 index 00000000000..c7fe487283e --- /dev/null +++ b/Master/texmf-dist/tex/latex/custom-bib/norsk.mbs @@ -0,0 +1,316 @@ +%\iffalse THIS IS A META COMMENT +% File: norsk.mbs +% Copyright 1995-1999 Patrick W Daly +% Max-Planck-Institut f\"ur Aeronomie +% Max-Planck-Str. 2 +% D-37191 Katlenburg-Lindau +% Germany +% E-mail: daly@linmpi.mpg.de +% +% Copyright 1995, Rolf Lindgren, OPERATOR +% Universitetes Senter for Informasjonsteknologi +% Pb 1059 Blindern +% 0316 OSLO +% E-mail: rolf.lindgren@usit.uio.no +% +% 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 any later version. +% +% It is part of the custom-bib collection, +% a contribution to the LaTeX2e system. +%==================================================================== +% A Language Definition File: NORWEGIAN +% to be included with other master bibliography style files +%-------------------------------------------------------------------- +% (See version and date in the \ProvidesFile command below) +%-------------------------------------------------------------------- +% This file is self-documenting: simply LaTeX it! +%==================================================================== +% + %------------------------------------------------------------------- + % Begin module: +%\fi + % \ProvidesFile{norsk.mbs}[2005/06/03 4.2b (RL/PWD)] +%\iffalse +%<*a&!a> +% The following ensures that the driver part is not seen by makebst +% The driver part must not contain any \end other than \end{document} ! +\ifx\endoptions\undefined\let\tempx=\relax\else + \long\def\tempx#1\end#2{}\fi\tempx +%</a&!a> +%<*driver> + \NeedsTeXFormat{LaTeX2e}% + \documentclass[a4paper,10pt,twoside]{article}% + \usepackage{doc}% + \raggedbottom + \CodelineNumbered + \RecordChanges + % Comment out next line to print coding + \OnlyDescription + \setlength{\oddsidemargin}{0.5\paperwidth} + \addtolength{\oddsidemargin}{-0.5\textwidth} + \addtolength{\oddsidemargin}{-1in} + \setlength{\evensidemargin}{\oddsidemargin} + +\begin{document} + \DocInput{norsk.mbs} +\end{document} +%</driver> +% END OF META COMMENT \fi +% \CharacterTable +% {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 +% 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 +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \setcounter{StandardModuleDepth}{1} +% \setcounter{IndexColumns}{2} +% \setlength{\IndexMin}{10cm} +% +% \changes{1.1}{1998 Aug 17}{Add \texttt{bbl.etal}} +% \changes{1.2}{1999 Feb 1}{Add option \texttt{xedn}} +% \changes{1.2}{1999 Feb 24}{Update copyright notice} +% \changes{4.0}{1999 Oct 11}{For merlin 4.0} +% \changes{4.0a}{2002 Oct 18}{Fix bug in page number suppression} +% \changes{4.2}{2003 Nov 6}{Fix comma separator, consistent with \texttt{makebst} 4.1} +% \changes{4.2a}{2004 May 6}{Add missing backslash in a menu text} +% \changes{4.2b}{2005 Jun 3}{Change spelling errors, contrib by Svend Tollak Munkejord} +% +% \markboth{Rolf Lindgren}{Norwegian bibliographies} +% +% \title{{\bfseries Norwegian Language Definition File}\\ +% for master bibliographic style files} +% +% \author{Patrick W. Daly and Rolf Lindgren} +% +% \GetFileInfo{norsk.mbs} +% \date{This paper describes file \texttt{\filename},\\ +% version \fileversion{} from \filedate} +% +% \maketitle +% +% \MakeShortVerb{\|} +% +% \parskip=1ex \parindent=0pt +% +% \newcommand{\btx}{{\sc Bib}\TeX} +% \newcommand{\dtx}{\textsf{docstrip}} +% +% \section{Introduction} +% This file is to be used as a language definition file with master +% bibliographic files. The language it defines is +% \begin{quote}\bfseries Norsk\end{quote} +% +% This is not a self-sufficient \texttt{.mbs} file, but rather may +% be used together with one that contains language support via +% external definition files. +% +% See the documentation for \texttt{makebst} for formatting details. +% +% \section{The Menu Information} +% +% All the menu information is nested between \dtx{} guard options +% |%<*options>| \dots\ |%</options>|, and the last command is +% |\endoptions|. The rest of the file is nested between |%<*!options&!driver>| +% \dots\ |%</!options&!driver>| in order to exclude it if \dtx{} is used to +% extract only the menu information or the documentation driver. +% +% \begin{macrocode} +%<*options> +\mes{^^JOptions for NORSK} +\wr{\spsp\spsp norsk,\pc: Norwegian language} + +\beginoptiongroup{ABBREVIATE WORD `PAGES':}{} +\optdef{*}{}{`Sider(ne)'}{(no abbreviation)} +\optdef{a}{pp}{`Side' abbreviated}{as s. or ss.} +\optdef{x}{ppx}{`Side' omitted}{} +\getans +\endoptiongroup +\beginoptiongroup{ABBREVIATE WORD `EDITORS':}{} +\optdef{*}{}{`Redakt{\string\o}r(er)'}{(no abbreviation)} +\optdef{a}{ed}{`Redakt{\string\o}r' abbreviated}{as red.} +\getans +\endoptiongroup +\beginoptiongroup{OTHER ABBREVIATIONS:}{} +\optdef{*}{}{No abbreviations}{of bind, utgave, kapittel, osv.} +\optdef{a}{abr}{Abbreviations}{of such words} +\getans +\endoptiongroup +\beginoptiongroup{EDITION NUMBERS:}{} +\optdef{*}{xedn}{Editions as in database}{saving much processing memory} +\optdef{w}{}{Write out editions}{as f{\string\o}rste, annen, tredje, osv} +\optdef{n}{ord}{Numerical editions}{as 1., 2., 3., osv} +\getans +\endoptiongroup +\endoptions +%</options> +% \end{macrocode} +% +% \StopEventually{\PrintChanges} +% +% \section{The Coding} +% \begin{macrocode} +%<*!options&!driver> + + % The language selected here is NORSK + +FUNCTION {bbl.and} +{ "og"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +%<!ed>{ "redakt{\o}rer" } +%<ed>{ "red." } + +FUNCTION {bbl.editor} +%<!ed>{ "redakt{\o}r" } +%<ed>{ "red." } + +FUNCTION {bbl.edby} +{ "redigert av" } + +FUNCTION {bbl.edition} +%<!abr>{ "utgave" } +%<abr>{ "utg." } + +FUNCTION {bbl.volume} +%<!abr>{ "bind" } +%<abr>{ "bd." } + +FUNCTION {bbl.of} +{ "av" } + +FUNCTION {bbl.number} +%<!abr>{ "nummer" } +%<abr>{ "nr." } + +FUNCTION {bbl.nr} +{ "nr." } + +FUNCTION {bbl.in} +{ "i" } + +FUNCTION {bbl.pages} +%<!pp&!ppx>{ "sider" } +%<pp>{ "ss." } +%<!pp&ppx>{ "" } + +FUNCTION {bbl.page} +%<!pp&!ppx>{ "side" } +%<pp>{ "s." } +%<!pp&ppx>{ "" } + +%<*revdata> +FUNCTION {bbl.eidpp} +{ "sider" } + +%</revdata> +FUNCTION {bbl.chapter} +%<!abr>{ "kapittel" } +%<abr>{ "kap." } + +FUNCTION {bbl.techrep} +%<!abr>{ "Teknisk rapport" } +%<abr>{ "Tekn. rap." } + +FUNCTION {bbl.mthesis} +{ "Hovedoppgave" } + +FUNCTION {bbl.phdthesis} +{ "Doktorgradsavhandling" } + +%<*!xedn> +FUNCTION {bbl.first} +%<!ord>{ "F{\o}rste" } +%<ord>{ "1." } + +FUNCTION {bbl.second} +%<!ord>{ "Annen" } +%<ord>{ "2." } + +FUNCTION {bbl.third} +%<!ord>{ "Tredje" } +%<ord>{ "3." } + +FUNCTION {bbl.fourth} +%<!ord>{ "Fjerde" } +%<ord>{ "4." } + +FUNCTION {bbl.fifth} +%<!ord>{ "Femte" } +%<ord>{ "5." } + +FUNCTION {bbl.th} +{ "." } + +%</!xedn> +%<*!abr> +MACRO {jan} {"Januar"} + +MACRO {feb} {"Februar"} + +MACRO {mar} {"Mars"} + +MACRO {apr} {"April"} + +MACRO {may} {"Mai"} + +MACRO {jun} {"Juni"} + +MACRO {jul} {"Juli"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"Oktober"} + +MACRO {nov} {"November"} + +MACRO {dec} {"Desember"} + +%</!abr> +%<*abr> +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"Mai"} + +MACRO {jun} {"Jun."} + +MACRO {jul} {"Jul."} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sep."} + +MACRO {oct} {"Okt."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Des."} + +%</abr> +%</!options&!driver> + % End module: norsk.mbs +% \end{macrocode} +% \Finale diff --git a/Master/texmf-dist/tex/latex/custom-bib/photjour.mbs b/Master/texmf-dist/tex/latex/custom-bib/photjour.mbs new file mode 100644 index 00000000000..4cdb4561744 --- /dev/null +++ b/Master/texmf-dist/tex/latex/custom-bib/photjour.mbs @@ -0,0 +1,227 @@ +%\iffalse THIS IS A META COMMENT +% File: photjour.mbs +% Copyright 1997-1999 Patrick W Daly +% Max-Planck-Institut f\"ur Aeronomie +% Max-Planck-Str. 2 +% D-37191 Katlenburg-Lindau +% Germany +% E-mail: daly@linmpi.mpg.de +% +% 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 any later version. +% +% It is part of the custom-bib collection, +% a contribution to the LaTeX2e system. +%==================================================================== +% A Journal Definition File for Photonics journals +% to be included with other master bibliography style files +%-------------------------------------------------------------------- +% (See version and date in the \ProvidesFile command below) +%-------------------------------------------------------------------- +% This file is self-documenting: simply LaTeX it! +%==================================================================== +% + %------------------------------------------------------------------- + % Begin module: +%\fi + % \ProvidesFile{photjour.mbs}[1999/02/24 2.0b (PWD)] +%\iffalse +%<*a&!a> +% The following ensures that the driver part is not seen by makebst +% The driver part must not contain any \end other than \end{document} ! +\ifx\endoptions\undefined\let\tempx=\relax\else + \long\def\tempx#1\end#2{}\fi\tempx +%</a&!a> +%<*driver> + \NeedsTeXFormat{LaTeX2e}% + \documentclass[a4paper,10pt,twoside]{article}% + \usepackage{doc}% + \raggedbottom + \CodelineNumbered + \RecordChanges + % Comment out next line to print coding + \OnlyDescription + \setlength{\oddsidemargin}{0.5\paperwidth} + \addtolength{\oddsidemargin}{-0.5\textwidth} + \addtolength{\oddsidemargin}{-1in} + \setlength{\evensidemargin}{\oddsidemargin} + +\begin{document} + \DocInput{photjour.mbs} +\end{document} +%</driver> +% END OF META COMMENT \fi +% \CharacterTable +% {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 +% 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 +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \setcounter{StandardModuleDepth}{1} +% \setcounter{IndexColumns}{2} +% \setlength{\IndexMin}{10cm} +% +% \changes{1.0}{1995 Oct 11}{Initial contributed version} +% \changes{2.0}{1996 Jun 26}{Reorganize with \texttt{geojour} and +% \texttt{physjour}} +% \changes{2.0a}{1997 Sep 15}{Replace umlaut with Raichle trick} +% \changes{2.0b}{1999 Feb 24}{Update copyright notice} +% +% \pagestyle{myheadings} +% \markboth{P. W. Daly}{Optics Journal Names} +% +% \title{{\bfseries Optics Journal Definition File}\\ +% for master bibliographic style files} +% +% \author{Patrick W. Daly and Zhenya Sorokin} +% +% \GetFileInfo{photjour.mbs} +% \date{This paper describes file \texttt{\filename},\\ +% version \fileversion{} from \filedate} +% +% \maketitle +% +% \MakeShortVerb{\|} +% +% \parskip=1ex \parindent=0pt +% +% \newcommand{\btx}{{\sc Bib}\TeX} +% \newcommand{\dtx}{\textsf{docstrip}} +% +% \section{Introduction} +% +% This file adds a list of preprogrammed optics journal names to +% bibliographic style files, in both full and abbreviated versions. +% These defined journal names will be added to those in the main master +% bibliography style file. +% +% This is not a self-sufficient \texttt{.mbs} file, but rather may +% be used together with one that contains support for +% external definition files. +% +% This file was contributed by +% \begin{quote} +% Zhenya Sorokin, email \texttt{sorokin@ps1.iaee.tuwien.ac.at}. +% \end{quote} +% +% Version 2.0: I go through all journal names, checking for conflicts and +% duplications with \texttt{physjour.mbs} and \texttt{geojour.mbs}. +% Optical and physical journals removed; geophysical journals included +% from the others. Where one journal exists with multiple shorthands, +% all versions are kept. +% +% Version 2.0a: Fixes a problem with umlauts acting as string terminator. +% +% Version 2.0b: revise copyright notice to LPPL standard. +% +% See the documentation for \texttt{makebst} for formatting details. +% +% \section{The Menu Information} +% +% All the menu information is nested between \dtx{} guard options +% |%<*options>| \dots\ |%</options>|, and the last command is +% |\endoptions|. The rest of the file is nested between |%<*!options>| +% \dots\ |%</!options>| in order to exclude it if \dtx{} is used to +% extract only the menu information. +% +% A journal-names files should contain at most only one option, \texttt{jabr}. +% This is because \texttt{merlin} version~3.5 can now handle several +% journal-name files, but does not look into them for the options, but +% rather asks for \texttt{jabr} from the main file. For compatibility with +% older versions, the option menu must be kept here. +% +% \begin{macrocode} +%<*options> +\mes{^^JOPTICS JOURNAL NAMES:} +\optdef{*}{}{Full optics journal names}{} +\optdef{a}{jabr}{Abbreviate optics names}{for journals} +\getans +\endoptions +%</options> +% \end{macrocode} +% +% \StopEventually{\PrintChanges} +% +% \section{The Coding} +% \begin{macrocode} +%<*!options> +%<*jabr> + +MACRO {appopt} {"Appl. Opt."} +MACRO {bell} {"Bell Syst. Tech. J."} +MACRO {ell} {"Electron. Lett."} +MACRO {jasp} {"J. Appl. Spectr."} +MACRO {jqe} {"IEEE J. Quantum Electron."} +MACRO {jlwt} {"J. Lightwave Technol."} +MACRO {jmo} {"J. Mod. Opt."} +MACRO {josa} {"J. Opt. Soc. America"} +MACRO {josaa} {"J. Opt. Soc. Amer.~A"} +MACRO {josab} {"J. Opt. Soc. Amer.~B"} +MACRO {jdp} {"J. Phys. (Paris)"} +MACRO {oc} {"Opt. Commun."} +MACRO {ol} {"Opt. Lett."} +MACRO {phtl} {"IEEE Photon. Technol. Lett."} +MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."} +MACRO {sse} {"Solid-State Electron."} +MACRO {sjot} {"Sov. J. Opt. Technol."} +MACRO {sjqe} {"Sov. J. Quantum Electron."} +MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."} +MACRO {stph} {"Sov. Phys.--Techn. Phys."} +MACRO {stphl} {"Sov. Techn. Phys. Lett."} +MACRO {vr} {"Vision Res."} +MACRO {zph} {"Z. f. Physik"} +MACRO {zphb} {"Z. f. Physik~B"} +MACRO {zphd} {"Z. f. Physik~D"} + +MACRO {CLEO} {"CLEO"} +MACRO {ASSL} {"Adv. Sol.-State Lasers"} +MACRO {OSA} {"OSA"} +%</jabr> +%<*!jabr> + +MACRO {appopt} {"Applied Optics"} +MACRO {bell} {"Bell Systems Technical Journal"} +MACRO {ell} {"Electronics Letters"} +MACRO {jasp} {"Journal of Applied Spectroscopy"} +MACRO {jqe} {"IEEE Journal of Quantum Electronics"} +MACRO {jlwt} {"Journal of Lightwave Technology"} +MACRO {jmo} {"Journal of Modern Optics"} +MACRO {josa} {"Journal of the Optical Society of America"} +MACRO {josaa} {"Journal of the Optical Society of America~A"} +MACRO {josab} {"Journal of the Optical Society of America~B"} +MACRO {jdp} {"Journal de Physique"} +MACRO {oc} {"Optics Communications"} +MACRO {ol} {"Optics Letters"} +MACRO {phtl} {"IEEE Photonics Technology Letters"} +MACRO {pspie} {"Proceedings of the Society for Photo-Optical Instruments Engineers"} +MACRO {sse} {"Solid-State Electronics"} +MACRO {sjot} {"Soviet Journal of Optical Technology"} +MACRO {sjqe} {"Soviet Journal of Quantum Electronics"} +MACRO {sleb} {"Soviet Physics--Lebedev Institute Reports"} +MACRO {stph} {"Soviet Physics--Technical Physics"} +MACRO {stphl} {"Soviet Technical Physics Letters"} +MACRO {vr} {"Vision Research"} +MACRO {zph} {"Zeitschrift f\^^b{u}r Physik"} +MACRO {zphb} {"Zeitschrift f\^^b{u}r Physik~B"} +MACRO {zphd} {"Zeitschrift f\^^b{u}r Physik~D"} + +MACRO {CLEO} {"Conf. on Lasers and Electro-Optics"} +MACRO {ASSL} {"Advanced Solid State Lasers"} +MACRO {OSA} {"Optical Society of America"} +%</!jabr> +%</!options> + % End module: photjour.mbs +% \end{macrocode} +% \Finale diff --git a/Master/texmf-dist/tex/latex/custom-bib/physjour.mbs b/Master/texmf-dist/tex/latex/custom-bib/physjour.mbs new file mode 100644 index 00000000000..2285527f9f7 --- /dev/null +++ b/Master/texmf-dist/tex/latex/custom-bib/physjour.mbs @@ -0,0 +1,398 @@ +%\iffalse THIS IS A META COMMENT +% File: physjour.mbs +% Copyright 1994-2002 Patrick W Daly +% Max-Planck-Institut f\"ur Aeronomie +% Max-Planck-Str. 2 +% D-37191 Katlenburg-Lindau +% Germany +% E-mail: daly@linmpi.mpg.de +% +% 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 any later version. +% +% It is part of the custom-bib collection, +% a contribution to the LaTeX2e system. +%==================================================================== +% A Journal Definition File for Physics journals +% to be included with other master bibliography style files +%-------------------------------------------------------------------- +% (See version and date in the \ProvidesFile command below) +%-------------------------------------------------------------------- +% This file is self-documenting: simply LaTeX it! +%==================================================================== +% + %------------------------------------------------------------------- + % Begin module: +%\fi + % \ProvidesFile{physjour.mbs}[2002/01/14 2.2 (PWD)] +%\iffalse +%<*a&!a> +% The following ensures that the driver part is not seen by makebst +% The driver part must not contain any \end other than \end{document} ! +\ifx\endoptions\undefined\let\tempx=\relax\else + \long\def\tempx#1\end#2{}\fi\tempx +%</a&!a> +%<*driver> + \NeedsTeXFormat{LaTeX2e}% + \documentclass[a4paper,10pt,twoside]{article}% + \usepackage{doc}% + \raggedbottom + \CodelineNumbered + \RecordChanges + % Comment out next line to print coding + \OnlyDescription + \setlength{\oddsidemargin}{0.5\paperwidth} + \addtolength{\oddsidemargin}{-0.5\textwidth} + \addtolength{\oddsidemargin}{-1in} + \setlength{\evensidemargin}{\oddsidemargin} + +\begin{document} + \DocInput{physjour.mbs} +\end{document} +%</driver> +% END OF META COMMENT \fi +% \CharacterTable +% {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 +% 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 +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \setcounter{StandardModuleDepth}{1} +% \setcounter{IndexColumns}{2} +% \setlength{\IndexMin}{10cm} +% +% \changes{1.0}{1995 Mar 15}{Initial version} +% \changes{1.1}{1995 Sep 4}{Additional journals contributed} +% \changes{1.2}{1995 Sep 29}{Abbreviation for `applied' to `appl.'} +% \changes{1.21}{1996 Jun 25}{Add JOSA} +% \changes{2.0}{1996 Jun 26}{Reorganize with \texttt{geojour} and +% \texttt{photjour}} +% \changes{2.0a}{1996 Dec 3}{\emph{Nuovo Cimento} correctly spelled} +% \changes{2.0b}{1997 Jul 8}{Add Astronomy and Astrophysics} +% \changes{2.0c}{1998 Jul 23}{Add Nucl. Phys. B (Proc. Suppl.)} +% \changes{2.0d}{1999 Feb 10}{Add Astronomy and Astrophysics, Suppl. Ser.} +% \changes{2.0d}{1999 Feb 17}{Add Astrophys. J., Suppl. Ser.} +% \changes{2.0d}{1999 Feb 17}{Correct pp to be Physics of Plasmas, not Plasma Physics} +% \changes{2.0d}{1999 Feb 24}{Update copyright notice} +% \changes{2.1}{1999 Oct 5}{Add more astronomy journals, and shorthand option} +% \changes{2.2}{2002 Jan 14}{Correct a typo} +% +% \pagestyle{myheadings} +% \markboth{P. W. Daly}{Physics Journal Names} +% +% \title{{\bfseries Physics Journal Definition File}\\ +% for master bibliographic style files} +% +% \author{Patrick W. Daly} +% +% \GetFileInfo{physjour.mbs} +% \date{This paper describes file \texttt{\filename},\\ +% version \fileversion{} from \filedate} +% +% \maketitle +% +% \MakeShortVerb{\|} +% +% \parskip=1ex \parindent=0pt +% +% \newcommand{\btx}{{\sc Bib}\TeX} +% \newcommand{\dtx}{\textsf{docstrip}} +% +% \section{Introduction} +% +% This file adds a list of preprogrammed physics journal names to +% bibliographic style files, in both full and abbreviated versions. +% These defined journal names will be added to those in the main master +% bibliography style file. +% +% This is not a self-sufficient \texttt{.mbs} file, but rather may +% be used together with one that contains support for +% external definition files. +% +% I have taken this list from a number of physics \texttt{.bst} files. +% +% Version 1.1: a number of additions have been contributed by `Harald', email +% \texttt{soleng@surya11.cern.ch}: +% \begin{quote}\begin{tabular}{lllll} +% \texttt{ajm} & \texttt{ap} & \texttt{adp} & \texttt{app} & \texttt{cqg}\\ +% \texttt{cra} & \texttt{cmp} & \texttt{cpc} & \texttt{grg} & \texttt{inc}\\ +% \texttt{np} & \texttt{npb} & \texttt{plb} & \texttt{prep} & \texttt{pra}\\ +% \texttt{prb} & \texttt{prc} & \texttt{prd} & \texttt{pre} +%\end{tabular}\end{quote} +% whereby \texttt{pra} (\textsl{Phys.\ Rev.\ A}) was not added, rather the +% text was changed slightly. +% +% I have also added \texttt{ag} (\textsl{Annales Geophysic\ae}) and +% \texttt{npg} (\textsl{Nonlinear Processes in Geophysics}). +% +% Version 1.2: Zhenya Sorokin, email \texttt{sorokin@ps1.iaee.tuwien.ac.at}, +% makes abbreviation for `applied' to `appl.' +% +% Version 1.21: Ralf Fassel, email \texttt{ralf@natlab.research.philips.com}, +% adds \textsl{Journal of the Acoustical Society of America}. +% +% Version 2.0: I go through all journal names, checking for conflicts and +% duplications with \texttt{geojour.mbs} and \texttt{photjour.mbs}. +% Optical and geophysical journals removed; physical journals included +% from the others. Where one journal exists with multiple shorthands, +% all versions are kept. +% +% Versions 2.0a,b,c: add more journals. +% +% Version 2.0d: revise copyright notice to LPPL standard. +% +% Version 2.1: add more astronomy journals and also an option +% \texttt{jaa} to produce the shorthands used in astronomy journals, such +% as A\&A for Astronomy and Astrophyics. +% +% See the documentation for \texttt{makebst} for formatting details. +% +% \section{The Menu Information} +% +% All the menu information is nested between \dtx{} guard options +% |%<*options>| \dots\ |%</options>|, and the last command is +% |\endoptions|. The rest of the file is nested between |%<*!options>| +% \dots\ |%</!options>| in order to exclude it if \dtx{} is used to +% extract only the menu information. +% +% A journal-names files should contain at most only two options, \texttt{jabr} +% and \texttt{jaa}. +% This is because \texttt{merlin} version~3.5 can now handle several +% journal-name files, but does not look into them for the options, but +% rather asks for \texttt{jabr} from the main file. For compatibility with +% older versions, the option menu must be kept here. +% +% \begin{macrocode} +%<*options> +\mes{^^JPHYSICS JOURNAL NAMES:} +\optdef{*}{}{Full physics journal names}{} +\optdef{a}{jabr}{Abbreviate physics names}{for journals} +\optdef{s}{jabr,jaa}{With astronomy shorthands}{like ApJ and AJ} +\getans +\endoptions +%</options> +% \end{macrocode} +% +% \StopEventually{\PrintChanges} +% +% \section{The Coding} +% \begin{macrocode} +%<*!options> +%<*jabr> +%<!jaa>MACRO {aa}{"Astron. \& Astrophys."} +%<jaa>MACRO {aa}{"A\&A"} +%<!jaa>MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} +%<jaa>MACRO {aasup}{"A\&AS"} +%<!jaa>MACRO {aj} {"Astron. J."} +%<jaa>MACRO {aj} {"AJ"} +MACRO {aph} {"Acta Phys."} +MACRO {advp} {"Adv. Phys."} +MACRO {ajp} {"Amer. J. Phys."} +MACRO {ajm} {"Amer. J. Math."} +MACRO {amsci} {"Amer. Sci."} +MACRO {anofd} {"Ann. Fluid Dyn."} +MACRO {am} {"Ann. Math."} +MACRO {ap} {"Ann. Phys. (NY)"} +MACRO {adp} {"Ann. Phys. (Leipzig)"} +MACRO {ao} {"Appl. Opt."} +MACRO {apl} {"Appl. Phys. Lett."} +MACRO {app} {"Astroparticle Phys."} +%<!jaa>MACRO {apj} {"Astrophys. J."} +%<jaa>MACRO {apj} {"ApJ"} +%<!jaa>MACRO {apjsup} {"Astrophys. J. Suppl."} +%<jaa>MACRO {apjsup} {"ApJS"} +%<!jaa>MACRO {apss} {"Astrophys. Space Sci."} +%<jaa>MACRO {apss} {"Ap\&SS"} +%<!jaa>MACRO {araa} {"Ann. Rev. Astron. Astrophys."} +%<jaa>MACRO {araa} {"ARA\&A"} +%<!jaa>MACRO {baas} {"Bull. Amer. Astron. Soc."} +%<jaa>MACRO {baas} {"BAAS"} +MACRO {baps} {"Bull. Amer. Phys. Soc."} +MACRO {cmp} {"Comm. Math. Phys."} +MACRO {cpam} {"Commun. Pure Appl. Math."} +MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"} +MACRO {cpc} {"Comp. Phys. Comm."} +MACRO {cqg} {"Class. Quant. Grav."} +MACRO {cra} {"C. R. Acad. Sci. A"} +MACRO {fed} {"Fusion Eng. \& Design"} +MACRO {ft} {"Fusion Tech."} +MACRO {grg} {"Gen. Relativ. Gravit."} +MACRO {ieeens} {"IEEE Trans. Nucl. Sci."} +MACRO {ieeeps} {"IEEE Trans. Plasma Sci."} +MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"} +MACRO {ip} {"Infrared Phys."} +MACRO {irp} {"Infrared Phys."} +MACRO {jap} {"J. Appl. Phys."} +MACRO {jasa} {"J. Acoust. Soc. America"} +MACRO {jcp} {"J. Comp. Phys."} +MACRO {jetp} {"Sov. Phys.--JETP"} +MACRO {jfe} {"J. Fusion Energy"} +MACRO {jfm} {"J. Fluid Mech."} +MACRO {jmp} {"J. Math. Phys."} +MACRO {jne} {"J. Nucl. Energy"} +MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."} +MACRO {jnm} {"J. Nucl. Mat."} +MACRO {jpc} {"J. Phys. Chem."} +MACRO {jpp} {"J. Plasma Phys."} +MACRO {jpsj} {"J. Phys. Soc. Japan"} +MACRO {jsi} {"J. Sci. Instrum."} +MACRO {jvst} {"J. Vac. Sci. \& Tech."} +%<!jaa>MACRO {nat} {"Nature"} +%<!jaa>MACRO {nature} {"Nature"} +%<jaa>MACRO {nat} {"Nat"} +%<jaa>MACRO {nature} {"Nat"} +MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"} +MACRO {nf} {"Nucl. Fusion"} +MACRO {nim} {"Nucl. Inst. \& Meth."} +MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."} +MACRO {np} {"Nucl. Phys."} +MACRO {npb} {"Nucl. Phys. B"} +MACRO {nt/f} {"Nucl. Tech./Fusion"} +MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"} +MACRO {inc} {"Nuovo Cimento"} +MACRO {nc} {"Nuovo Cimento"} +MACRO {pf} {"Phys. Fluids"} +MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."} +MACRO {pfb} {"Phys. Fluids B: Plasma Phys."} +MACRO {pl} {"Phys. Lett."} +MACRO {pla} {"Phys. Lett. A"} +MACRO {plb} {"Phys. Lett. B"} +MACRO {prep} {"Phys. Rep."} +MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"} +MACRO {pp} {"Phys. Plasmas"} +MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"} +MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"} +MACRO {prl} {"Phys. Rev. Lett."} +MACRO {pr} {"Phys. Rev."} +MACRO {physrev} {"Phys. Rev."} +MACRO {pra} {"Phys. Rev. A"} +MACRO {prb} {"Phys. Rev. B"} +MACRO {prc} {"Phys. Rev. C"} +MACRO {prd} {"Phys. Rev. D"} +MACRO {pre} {"Phys. Rev. E"} +MACRO {ps} {"Phys. Scripta"} +MACRO {procrsl} {"Proc. Roy. Soc. London"} +MACRO {rmp} {"Rev. Mod. Phys."} +MACRO {rsi} {"Rev. Sci. Inst."} +%<!jaa>MACRO {science} {"Science"} +%<jaa>MACRO {science} {"Sci"} +MACRO {sciam} {"Sci. Am."} +MACRO {sam} {"Stud. Appl. Math."} +MACRO {sjpp} {"Sov. J. Plasma Phys."} +MACRO {spd} {"Sov. Phys.--Doklady"} +MACRO {sptp} {"Sov. Phys.--Tech. Phys."} +MACRO {spu} {"Sov. Phys.--Uspeki"} +%<!jaa>MACRO {st} {"Sky and Telesc."} +%<jaa>MACRO {st} {"S\&T"} +%</jabr> +%<*!jabr> +MACRO {aa}{"Astronomy and Astrophysics"} +MACRO {aasup}{"Astronomy and Astrophysics, Supplement Series"} +MACRO {aj}{"Astronomical Journal"} +MACRO {aph} {"Acta Physica"} +MACRO {advp} {"Advances in Physics"} +MACRO {ajp} {"American Journal of Physics"} +MACRO {ajm} {"American Journal of Mathematics"} +MACRO {amsci} {"American Scientist"} +MACRO {anofd} {"Annals of Fluid Dynamics"} +MACRO {am} {"Annals of Mathematics"} +MACRO {ap} {"Annals of Physics"} +MACRO {adp} {"Annalen der Physik"} +MACRO {ao} {"Applied Optics"} +MACRO {apl} {"Applied Physics Letters"} +MACRO {app} {"Astroparticle Physics"} +MACRO {apj} {"Astrophysical Journal"} +MACRO {apjsup} {"Astrophysical Journal Supplement"} +MACRO {apss} {"Astrophysics and Space Science"} +MACRO {araa} {"Annual Review of Astronomy and Astrophysics"} +MACRO {baas} {"Bulletin of the American Astronomical Society"} +MACRO {baps} {"Bulletin of the American Physical Society"} +MACRO {cmp} {"Communications in Mathematical Physics"} +MACRO {cpam} {"Communications on Pure and Applied Mathematics"} +MACRO {cppcf} {"Comments on Plasma Physics and Controlled Fusion"} +MACRO {cpc} {"Computer Physics Communications"} +MACRO {cqg} {"Classical and Quantum Gravity"} +MACRO {cra} {"Comptes Rendus des S{\'e}ances de l'Acad{\'e}mie des Sciences A"} +MACRO {fed} {"Fusion Engineering and Design"} +MACRO {ft} {"Fusion Technology"} +MACRO {grg} {"General Relativity and Gravitation"} +MACRO {ieeens} {"IEEE Transactions on Nuclear Science"} +MACRO {ieeeps} {"IEEE Transactions on Plasma Science"} +MACRO {ijimw} {"International Journal of Infrared and Millimeter Waves"} +MACRO {ip} {"Infrared Physics"} +MACRO {irp} {"Infrared Physics"} +MACRO {jap} {"Journal of Applied Physics"} +MACRO {jasa} {"Journal of the Acoustical Society of America"} +MACRO {jcp} {"Journal of Computational Physics"} +MACRO {jetp} {"Soviet Physics--JETP"} +MACRO {jfe} {"Journal of Fusion Energy"} +MACRO {jfm} {"Journal of Fluid Mechanics"} +MACRO {jmp} {"Journal of Mathematical Physics"} +MACRO {jne} {"Journal of Nuclear Energy"} +MACRO {jnec} {"Journal of Nuclear Energy, Part C: Plasma Physics, Accelerators, Thermonuclear Research"} +MACRO {jnm} {"Journal of Nuclear Materials"} +MACRO {jpc} {"Journal of Physical Chemistry"} +MACRO {jpp} {"Journal of Plasma Physics"} +MACRO {jpsj} {"Journal of the Physical Society of Japan"} +MACRO {jsi} {"Journal of Scientific Instruments"} +MACRO {jvst} {"Journal of Vacuum Science and Technology"} +MACRO {nat} {"Nature"} +MACRO {nature} {"Nature"} +MACRO {nedf} {"Nuclear Engineering and Design/Fusion"} +MACRO {nf} {"Nuclear Fusion"} +MACRO {nim} {"Nuclear Instruments and Methods"} +MACRO {nimpr} {"Nuclear Instruments and Methods in Physics Research"} +MACRO {np} {"Nuclear Physics"} +MACRO {npb} {"Nuclear Physics B"} +MACRO {nt/f} {"Nuclear Technology/Fusion"} +MACRO {npbpc} {"Nuclear Physics B (Proceedings Supplements)"} +MACRO {inc} {"Il Nuovo Cimento"} +MACRO {nc} {"Nuovo Cimento"} +MACRO {pf} {"Physics of Fluids"} +MACRO {pfa} {"Physics of Fluids A: Fluid Dynamics"} +MACRO {pfb} {"Physics of Fluids B: Plasma Physics"} +MACRO {pl} {"Physics Letters"} +MACRO {pla} {"Physics Letters A"} +MACRO {plb} {"Physics Letters B"} +MACRO {prep} {"Physics Reports"} +MACRO {pnas} {"Proceedings of the National Academy of Sciences of the USA"} +MACRO {pp} {"Physics of Plasmas"} +MACRO {ppcf} {"Plasma Physics and Controlled Fusion"} +MACRO {phitrsl} {"Philosophical Transactions of the Royal Society of London"} +MACRO {prl} {"Physical Review Letters"} +MACRO {pr} {"Physical Review"} +MACRO {physrev} {"Physical Review"} +MACRO {pra} {"Physical Review A"} +MACRO {prb} {"Physical Review B"} +MACRO {prc} {"Physical Review C"} +MACRO {prd} {"Physical Review D"} +MACRO {pre} {"Physical Review E"} +MACRO {ps} {"Physica Scripta"} +MACRO {procrsl} {"Proceedings of the Royal Society of London"} +MACRO {rmp} {"Reviews of Modern Physics"} +MACRO {rsi} {"Review of Scientific Instruments"} +MACRO {science} {"Science"} +MACRO {sciam} {"Scientific American"} +MACRO {sam} {"Studies in Applied Mathematics"} +MACRO {sjpp} {"Soviet Journal of Plasma Physics"} +MACRO {spd} {"Soviet Physics--Doklady"} +MACRO {sptp} {"Soviet Physics--Technical Physics"} +MACRO {spu} {"Soviet Physics--Uspeki"} +MACRO {st} {"Sky and Telescope"} +%</!jabr> +%</!options> + % End module: physjour.mbs +% \end{macrocode} +% \Finale diff --git a/Master/texmf-dist/tex/latex/custom-bib/polski.mbs b/Master/texmf-dist/tex/latex/custom-bib/polski.mbs new file mode 100644 index 00000000000..9c6f40a01a8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/custom-bib/polski.mbs @@ -0,0 +1,348 @@ +%\iffalse THIS IS A META COMMENT +% File: polski.mbs +% Copyright 1995-2000 Patrick W Daly +% Max-Planck-Institut f\"ur Aeronomie +% Max-Planck-Str. 2 +% D-37191 Katlenburg-Lindau +% Germany +% E-mail: daly@linmpi.mpg.de +% +% Copyright (C) 2000, Andrzej M. Borzyszkowski +% Instytut Podstaw Informatyki Polskiej Akademii Nauk +% adres: ul. Abrahama 18, 81-825 Sopot, Poland +% e-mail: a.borzyszkowski@ipipan.gda.pl +% +% 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 any later version. +% +% It is part of the custom-bib collection, +% a contribution to the LaTeX2e system. +%==================================================================== +% A Language Definition File: POLSKI +% to be included with other master bibliography style files +%-------------------------------------------------------------------- +% (See version and date in the \ProvidesFile command below) +%-------------------------------------------------------------------- +% This file is self-documenting: simply LaTeX it! +%==================================================================== +% + %------------------------------------------------------------------- + % Begin module: +%\fi + % \ProvidesFile{polski.mbs}[2003/11/06 4.2 (AMB/PWD)] +%\iffalse +%<*a&!a> +% The following ensures that the driver part is not seen by makebst +% The driver part must not contain any \end other than \end{document} ! +\ifx\endoptions\undefined\let\tempx=\relax\else + \long\def\tempx#1\end#2{}\fi\tempx +%</a&!a> +%<*driver> + \NeedsTeXFormat{LaTeX2e}% + \documentclass[a4paper,10pt,twoside]{article}% + \usepackage{doc}% + \raggedbottom + \CodelineNumbered + \RecordChanges + % Comment out next line to print coding + \OnlyDescription + \setlength{\oddsidemargin}{0.5\paperwidth} + \addtolength{\oddsidemargin}{-0.5\textwidth} + \addtolength{\oddsidemargin}{-1in} + \setlength{\evensidemargin}{\oddsidemargin} + +\begin{document} + \DocInput{polski.mbs} +\end{document} +%</driver> +% END OF META COMMENT \fi +% \CharacterTable +% {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 +% 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 +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \setcounter{StandardModuleDepth}{1} +% \setcounter{IndexColumns}{2} +% \setlength{\IndexMin}{10cm} +% +% \changes{4.0}{2000. February 21}{Submitted to PWD by AMB} +% \changes{4.0a}{2002 Oct 18}{Fix bug in page number suppression} +% \changes{4.2}{2003 Nov 6}{Fix comma separator, consistent with \texttt{makebst} 4.1} +% +% \pagestyle{myheadings} +% \markboth{A.\ M.\ Borzyszkowski}{Polish Bibliographies} +% +% \title{{\bfseries Polish Language Definition File}\\ +% for master bibliographic style files} +% +% \author{Andrzej M.\ Borzyszkowski} +% +% \GetFileInfo{polski.mbs} +% \date{This paper describes file \texttt{\filename},\\ +% version \fileversion{} from \filedate} +% +% \maketitle +% +% \MakeShortVerb{\|} +% +% \parskip=1ex \parindent=0pt +% +% \newcommand{\btx}{{\sc Bib}\TeX} +% \newcommand{\dtx}{\textsf{docstrip}} +% +% \section{Introduction} +% This file is to be used as a language definition file with master +% bibliographic files. The language it defines is +% \begin{quote}\bfseries Polish\end{quote} +% +% This is not a self-sufficient \texttt{.mbs} file, but rather may +% be used together with one that contains language support via +% external definition files. +% +% See the documentation for \texttt{makebst} for formatting details. +% +% \section{The Menu Information} +% +% All the menu information is nested between \dtx{} guard options +% |%<*options>| \dots\ |%</options>|, and the last command is +% |\endoptions|. The rest of the file is nested between |%<*!options&!driver>| +% \dots\ |%</!options&!driver>| in order to exclude it if \dtx{} is used to +% extract only the menu information or the documentation driver. +% +% \begin{macrocode} +%<*options> +\mes{^^JOptions for POLISH} +\wr{\spsp\spsp polski,\pc: Polish language} + +\beginoptiongroup{ABBREVIATE WORD `STRONY':}{} +\optdef{*}{}{`Strony'}{(no abbreviation)} +\optdef{a}{pp}{`Strony' abbreviated}{as str.} +\optdef{x}{ppx}{`Strony' omitted}{} +\getans +\endoptiongroup +\beginoptiongroup{ABBREVIATE WORD `REDAKTOR':}{} +\optdef{*}{}{`Redaktor'}{(no abbreviation)} +\optdef{a}{ed}{`Redaktor' abbreviated}{as Red.} +\getans +\endoptiongroup +\beginoptiongroup{OTHER ABBREVIATIONS:}{} +\optdef{*}{}{No abbreviations}{of wydanie, rozdzia\string\l, itd.} +\optdef{a}{abr}{Abbreviations}{of such words} +\getans +\endoptiongroup +\beginoptiongroup{EDITION NUMBERS:}{} +\optdef{*}{xedn}{Editions as in database}{saving much processing memory} +\optdef{w}{}{Write out editions}{as pierwsze, drugie, trzecie, itd.} +\optdef{n}{ord}{Numerical editions}{as 1. 2. 3. itd.} +\getans +\endoptiongroup +\beginoptiongroup{MONTHS IN ROMAN:}{} +\optdef{*}{roman}{Months written in roman numerals}{as I, II, III, itd.} +\optdef{x}{}{Months written in words}{as stycze\string\'n, luty, itd.} +\getans +\endoptiongroup +\endoptions +%</options> +% \end{macrocode} +% +% \StopEventually{\PrintChanges} +% +% \section{The Coding} +% \begin{macrocode} +%<*!options&!driver> + + % The language selected here is POLSKI +FUNCTION {bbl.and} +{ "i" } + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +%<!ed>{ "redaktorzy" } +%<ed>{ "red." } + +FUNCTION {bbl.editor} +%<!ed>{ "redaktor" } +%<ed>{ "red." } + +FUNCTION {bbl.edby} +{ "pod redakcj{\k a}" } + +FUNCTION {bbl.edition} +%<!abr>{ "wydanie" } +%<abr>{ "wyd." } + +FUNCTION {bbl.volume} +%<!abr>{ "tom" } +%<abr>{ "tom" } + +FUNCTION {bbl.of} +{ "z serii" } + +FUNCTION {bbl.number} +%<!abr>{ "numer" } +%<abr>{ "nr" } + +FUNCTION {bbl.nr} +{ "nr" } + +FUNCTION {bbl.in} +{ "w" } + +FUNCTION {bbl.pages} +%<!pp&!ppx>{ "strony" } +%<pp>{ "str." } +%<!pp&ppx>{ "" } + +FUNCTION {bbl.page} +%<!pp&!ppx>{ "strona" } +%<pp>{ "str." } +%<!pp&ppx>{ "" } + +%<*revdata> +FUNCTION {bbl.eidpp} +{ "strony" } + +%</revdata> +FUNCTION {bbl.chapter} +%<!abr>{ "rozdzia{\l}" } +%<abr>{ "rozdz." } + +FUNCTION {bbl.techrep} +%<!abr>{ "Raport techniczny" } +%<abr>{ "Rap. tech." } + +FUNCTION {bbl.mthesis} +{ "Praca magisterska" } + +FUNCTION {bbl.phdthesis} +{ "Rozprawa doktorska" } + +%<*!xedn> +FUNCTION {bbl.first} +%<!ord>{ "pierwsze" } +%<ord>{ "1." } + +FUNCTION {bbl.second} +%<!ord>{ "drugie" } +%<ord>{ "2." } + +FUNCTION {bbl.third} +%<!ord>{ "trzecie" } +%<ord>{ "3." } + +FUNCTION {bbl.fourth} +%<!ord>{ "czwarte" } +%<ord>{ "4." } + +FUNCTION {bbl.fifth} +%<!ord>{ "pi{\k a}te" } +%<ord>{ "5." } + +FUNCTION {bbl.st} +{ "." } + +FUNCTION {bbl.nd} +{ "." } + +FUNCTION {bbl.rd} +{ "." } + +FUNCTION {bbl.th} +{ "." } +%</!xedn> +%<*!roman> +%<*!abr> +MACRO {jan} {"stycze\'n"} + +MACRO {feb} {"luty"} + +MACRO {mar} {"marzec"} + +MACRO {apr} {"kwiecie\'n"} + +MACRO {may} {"maj"} + +MACRO {jun} {"czerwiec"} + +MACRO {jul} {"lipiec"} + +MACRO {aug} {"sierpie\'n"} + +MACRO {sep} {"wrzesie\'n"} + +MACRO {oct} {"pa\'zdziernik"} + +MACRO {nov} {"listopad"} + +MACRO {dec} {"grudzie\'n"} +%</!abr> +%<*abr> +MACRO {jan} {"stycz."} + +MACRO {feb} {"luty"} + +MACRO {mar} {"marz."} + +MACRO {apr} {"kwiec."} + +MACRO {may} {"maj"} + +MACRO {jun} {"czer."} + +MACRO {jul} {"lip."} + +MACRO {aug} {"sier."} + +MACRO {sep} {"wrz."} + +MACRO {oct} {"pa\'zdz."} + +MACRO {nov} {"list."} + +MACRO {dec} {"grudz."} +%</abr> +%</!roman> +%<*roman> +MACRO {jan} {"I"} + +MACRO {feb} {"II"} + +MACRO {mar} {"III"} + +MACRO {apr} {"IV"} + +MACRO {may} {"V"} + +MACRO {jun} {"VI"} + +MACRO {jul} {"VII"} + +MACRO {aug} {"VIII"} + +MACRO {sep} {"IX"} + +MACRO {oct} {"X"} + +MACRO {nov} {"XI"} + +MACRO {dec} {"XII"} +%</roman> +%</!options&!driver> + % End module: polski.mbs +% \end{macrocode} +% \Finale diff --git a/Master/texmf-dist/tex/latex/custom-bib/portuges.mbs b/Master/texmf-dist/tex/latex/custom-bib/portuges.mbs new file mode 100644 index 00000000000..692115d1d9c --- /dev/null +++ b/Master/texmf-dist/tex/latex/custom-bib/portuges.mbs @@ -0,0 +1,317 @@ +%\iffalse THIS IS A META COMMENT +% File: portuges.mbs +% Copyright 1997-1999 Patrick W Daly +% Max-Planck-Institut f\"ur Aeronomie +% Max-Planck-Str. 2 +% D-37191 Katlenburg-Lindau +% Germany +% E-mail: daly@linmpi.mpg.de +% +% Copyright 1997 Rui Ara\'ujo +% Instituto de Sistemas e Rob\'otica, e +% Departamento de Engenharia Electrot\'ecnica +% Universidade de Coimbra +% P\'olo II; Pinhal de Marrocos +% P-3030 Coimbra, Portugal +% E-mail: rui@isr.uc.pt, rui@dee.uc.pt +% +% 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 any later version. +% +% It is part of the custom-bib collection, +% a contribution to the LaTeX2e system. +%==================================================================== +% A Language Definition File: PORTUGUESE +% to be included with other master bibliography style files +%-------------------------------------------------------------------- +% (See version and date in the \ProvidesFile command below) +%-------------------------------------------------------------------- +% This file is self-documenting: simply LaTeX it! +%==================================================================== +% +%\fi + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{portuges.mbs}[2003/11/06 4.2 (PWD/RA)] +%\iffalse +%<*a&!a> +% The following ensures that the driver part is not seen by makebst +% The driver part must not contain any \end other than \end{document} ! +\ifx\endoptions\undefined\let\tempx=\relax\else + \long\def\tempx#1\end#2{}\fi\tempx +%</a&!a> +%<*driver> + \NeedsTeXFormat{LaTeX2e}% + \documentclass[a4paper,10pt,twoside]{article}% + \usepackage{doc}% + \raggedbottom + \CodelineNumbered + \RecordChanges + % Comment out next line to print coding + \OnlyDescription + \setlength{\oddsidemargin}{0.5\paperwidth} + \addtolength{\oddsidemargin}{-0.5\textwidth} + \addtolength{\oddsidemargin}{-1in} + \setlength{\evensidemargin}{\oddsidemargin} + +\begin{document} + \DocInput{portuges.mbs} +\end{document} +%</driver> +% END OF META COMMENT \fi +% \CharacterTable +% {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 +% 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 +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \setcounter{StandardModuleDepth}{1} +% \setcounter{IndexColumns}{2} +% \setlength{\IndexMin}{10cm} +% +% \changes{1.1}{1997 October 09}{Initial version} +% \changes{1.2}{1998 Aug 17}{Add \texttt{bbl.etal}} +% \changes{1.3}{1999 Feb 1}{Add option \texttt{xedn}} +% \changes{1.3}{1999 Feb 24}{Update copyright notice} +% \changes{4.0}{1999 Oct 11}{For merlin 4.0} +% \changes{4.0a}{2002 Oct 18}{Fix bug in page number suppression} +% \changes{4.2}{2003 Nov 6}{Fix comma separator, consistent with \texttt{makebst} 4.1} +% +% \pagestyle{myheadings} +% \markboth{R. Ara\'ujo}{Portuguese Bibliographies} +% +% \title{{\bfseries Portuguese Language Definition File}\\ +% for master bibliographic style files} +% +% \author{Rui Ara\'ujo} +% +% \GetFileInfo{portuges.mbs} +% \date{This paper describes file \texttt{\filename},\\ +% version \fileversion{} from \filedate} +% +% \maketitle +% +% \MakeShortVerb{\|} +% +% \parskip=1ex \parindent=0pt +% +% \newcommand{\btx}{{\sc Bib}\TeX} +% \newcommand{\dtx}{\textsf{docstrip}} +% +% \section{Introduction} +% This file is to be used as a language definition file with master +% bibliographic files. The language it defines is +% \begin{quote}\bfseries Portuguese\end{quote} +% +% This is not a self-sufficient \texttt{.mbs} file, but rather may +% be used together with one that contains language support via +% external definition files. +% +% See the documentation for \texttt{makebst} for formatting details. +% +% \section{The Menu Information} +% +% All the menu information is nested between \dtx{} guard options +% |%<*options>| \dots\ |%</options>|, and the last command is +% |\endoptions|. The rest of the file is nested between |%<*!options&!driver>| +% \dots\ |%</!options&!driver>| in order to exclude it if \dtx{} is used to +% extract only the menu information or the documentation driver. +% +% \begin{macrocode} +%<*options> +\mes{^^JOptions for PORTUGUESE} +\wr{\spsp\spsp portuguese,\pc: Portuguese language} + + +\beginoptiongroup{ABBREVIATE WORD `P\string\'AGINAS':}{} +\optdef{*}{}{`P\string\'agina(s)'}{(no abbreviation)} +\optdef{a}{pp}{`P\string\'agina' abbreviated}{as p\string\'ag. or p\string\'ags.} +\optdef{x}{ppx}{`P\string\'agina' omitted}{} +\getans +\endoptiongroup +\beginoptiongroup{ABBREVIATE WORD `EDITOR':}{} +\optdef{*}{}{`Editor(es)'}{(no abbreviation)} +\optdef{a}{ed}{`Editor' abbreviated}{as ed. or eds.} +\getans +\endoptiongroup +\beginoptiongroup{OTHER ABBREVIATIONS:}{} +\optdef{*}{}{No abbreviations}{of Volume, Edicao, Cap\string\'itulo} +\optdef{a}{abr}{Abbreviations}{of such words} +\getans +\endoptiongroup +\beginoptiongroup{EDITION NUMBERS:}{} +\optdef{*}{xedn}{Editions as in database}{saving much processing memory} +\optdef{w}{}{Write out editions}{as Primeira, Segunda, Terceira, etc} +\optdef{n}{ord}{Numerical editions}{as 1a, 2a, 3a, etc} +\getans +\endoptiongroup +\endoptions +%</options> +% \end{macrocode} +% +% \StopEventually{\PrintChanges} +% +% \section{The Coding} +% \begin{macrocode} +%<*!options&!driver> + + % The language selected here is PORTUGUESE +FUNCTION {bbl.and} +{ "e"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +%<!ed>{ "editores" } +%<ed>{ "eds." } + +FUNCTION {bbl.editor} +%<!ed>{ "editor" } +%<ed>{ "ed." } + +FUNCTION {bbl.edby} +{ "editado por" } + +FUNCTION {bbl.edition} +%<!abr>{ "edi\c{c}\~ao" } +%<abr>{ "ed." } + +FUNCTION {bbl.volume} +{ "volume" } + +FUNCTION {bbl.of} +{ "de" } + +FUNCTION {bbl.number} +%<!abr>{ "n\'umero" } +%<abr>{ "n\raise1ex\hbox{\underbar{\scriptsize o}}" } + +FUNCTION {bbl.nr} +{ "n\raise1ex\hbox{\underbar{\scriptsize o}}" } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +%<!pp&!ppx>{ "p\'aginas" } +%<pp>{ "p\'ags." } +%<!pp&ppx>{ "" } + +FUNCTION {bbl.page} +%<!pp&!ppx>{ "p\'agina" } +%<pp>{ "p\'ag." } +%<!pp&ppx>{ "" } + +%<*revdata> +FUNCTION {bbl.eidpp} +{ "p\'aginas" } + +%</revdata> +FUNCTION {bbl.chapter} +%<!abr>{ "cap\'{\i}tulo" } +%<abr>{ "cap." } + +FUNCTION {bbl.techrep} +%<!abr>{ "Relat\'orio T\'ecnico" } +%<abr>{ "Rel.\ T\'ec." } + +FUNCTION {bbl.mthesis} +{ "Tese de Mestrado" } + +FUNCTION {bbl.phdthesis} +{ "Tese de Doutoramento" } + +%<*!xedn> +FUNCTION {bbl.first} +%<!ord>{ "primeira" } +%<ord>{ "1\raise1ex\hbox{\underbar{\scriptsize a}}" } + +FUNCTION {bbl.second} +%<!ord>{ "segunda" } +%<ord>{ "2\raise1ex\hbox{\underbar{\scriptsize a}}" } + +FUNCTION {bbl.third} +%<!ord>{ "terceira" } +%<ord>{ "3\raise1ex\hbox{\underbar{\scriptsize a}}" } + +FUNCTION {bbl.fourth} +%<!ord>{ "quarta" } +%<ord>{ "4\raise1ex\hbox{\underbar{\scriptsize a}}" } + +FUNCTION {bbl.fifth} +%<!ord>{ "quinta" } +%<ord>{ "5\raise1ex\hbox{\underbar{\scriptsize a}}" } + +FUNCTION {bbl.th} +{ "\raise1ex\hbox{\underbar{\scriptsize a}}" } + +%</!xedn> +%<*!abr> +MACRO {jan} {"janeiro"} + +MACRO {feb} {"fevereiro"} + +MACRO {mar} {"mar\c{c}o"} + +MACRO {apr} {"abril"} + +MACRO {may} {"maio"} + +MACRO {jun} {"junho"} + +MACRO {jul} {"julho"} + +MACRO {aug} {"agosto"} + +MACRO {sep} {"setembro"} + +MACRO {oct} {"outubro"} + +MACRO {nov} {"novembro"} + +MACRO {dec} {"dezembro"} + +%</!abr> +%<*abr> +MACRO {jan} {"jan."} + +MACRO {feb} {"fev."} + +MACRO {mar} {"mar."} + +MACRO {apr} {"abr."} + +MACRO {may} {"maio"} + +MACRO {jun} {"jun."} + +MACRO {jul} {"jul."} + +MACRO {aug} {"ago."} + +MACRO {sep} {"set."} + +MACRO {oct} {"out."} + +MACRO {nov} {"nov."} + +MACRO {dec} {"dez."} + +%</abr> +%</!options&!driver> + % End module: portuges.mbs +% \end{macrocode} +% \Finale diff --git a/Master/texmf-dist/tex/latex/custom-bib/shorthnd.tex b/Master/texmf-dist/tex/latex/custom-bib/shorthnd.tex new file mode 100644 index 00000000000..0dbe61cdd14 --- /dev/null +++ b/Master/texmf-dist/tex/latex/custom-bib/shorthnd.tex @@ -0,0 +1,415 @@ +%% +%% This is file `shorthnd.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% shorthnd.ins (with options: `head') +%% physjour.mbs +%% geojour.mbs +%% photjour.mbs +%% suppjour.mbs +%% shorthnd.ins (with options: `tail') +%% =============================================== +%% IMPORTANT NOTICE +%% See below for the copyright and distribution conditions. +%% +%% This is a generated file. +%% It may be distributed without the source files listed above. +%% =============================================== +%% Copyright 1998, 1999 Patrick W. Daly +%% +%% 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 any later version. +\documentclass{article} +\usepackage{longtable} + +\def\ACRO{\begingroup\catcode`\M=11\relax\catcode`\"=9\relax\acro} +\def\acro#1#2{\endgroup\ttfamily#1 & \raggedright #2 \tabularnewline} +\def\PF#1[#2]{\\\hline\multicolumn{2}{c}{File: \texttt{#1}, version: #2 + \rule[-.75em]{0pt}{2em}}\\\hline\\[-1ex]} +\setlength{\parindent}{0pt} +\setlength{\parskip}{1ex} + +\pagestyle{myheadings} +\markright{List of Journal Shorthands} +\begin{document} + +\title + {List of the Shorthands for Journal Names in Various \texttt{.mbs} Files} + +\author{Patrick W. Daly} + +\date{This is part of the \texttt{makebst} or \texttt{custom-bib} bundle} + +\maketitle + +\newcommand{\btx}{\textsc{Bib}\TeX} + +The shorthands here may be used in \btx\ database (\texttt{.bib}) files in +place of the full journal name. For example, instead of +\begin{verbatim} +journal = "Phys. Rev.", +\end{verbatim} +it is sufficient to give +\begin{verbatim} +journal = pr, +\end{verbatim} +The advantage of this is not only the convenience of typing a shorter form, +but also the automatic switching between the abbreviated (here ``Phys.\ +Rev.'')\ and full forms (``Physical Review'') depending on the bibliographic +style file. Thus the one database entry is reformatted automatically. + +There is a set of standard shorthands for computing science included in the +original \texttt{plain.bst}, \texttt{abbrv.bst}, \texttt{unsrt.bst}, and +\texttt{alpha.bst} files. These are built into \texttt{merlin.mbs} and are +always present in every \texttt{.bst} file generated from it. + +Whether or not the shorthand is present in your \texttt{.bst} file depends on +the inclusion of the proper \texttt{.mbs} source file during its creation with +the \texttt{makebst} program. Check the heading to the \texttt{.bst} file +to find out what source files went into its generation. + +You may make up your own list of journal names, abbreviated and full, by using +one of the existing \texttt{.mbs} files as a model. Include its name in +\texttt{shorthnd.ins} to obtain a listing of its shorthands too. + +\newpage + +\begingroup +\centering +\def\PC#1{\ifx#1\ProvidesFile \let\next=#1\else\let\next=\skipline\fi\next} +\def\skipline{\begingroup\catcode`\^^M=12 \SKPLNE} +{\catcode`\^^M=12 \endlinechar=-1 \gdef\SKPLNE#1^^M{\endgroup}} +\let\ProvidesFile=\PF +\catcode`\%=\active +\let%=\PC +\catcode`\M=0 +\begin{longtable}{lp{6cm}} + \PF{merlin.mbs}[(all)] +MACRO {acmcs} {"ACM Computing Surveys"} +MACRO {acta} {"Acta Informatica"} +MACRO {cacm} {"Communications of the ACM"} +MACRO {ibmjrd} {"IBM Journal of Research and Development"} +MACRO {ibmsj} {"IBM Systems Journal"} +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} +MACRO {ieeetc} {"IEEE Transactions on Computers"} +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} +MACRO {ipl} {"Information Processing Letters"} +MACRO {jacm} {"Journal of the ACM"} +MACRO {jcss} {"Journal of Computer and System Sciences"} +MACRO {scp} {"Science of Computer Programming"} +MACRO {sicomp} {"SIAM Journal on Computing"} +MACRO {tocs} {"ACM Transactions on Computer Systems"} +MACRO {tods} {"ACM Transactions on Database Systems"} +MACRO {tog} {"ACM Transactions on Graphics"} +MACRO {toms} {"ACM Transactions on Mathematical Software"} +MACRO {toois} {"ACM Transactions on Office Information Systems"} +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} +MACRO {tcs} {"Theoretical Computer Science"} + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{physjour.mbs}[2002/01/14 2.2 (PWD)] +MACRO {aa}{"Astronomy and Astrophysics"} +MACRO {aasup}{"Astronomy and Astrophysics, Supplement Series"} +MACRO {aj}{"Astronomical Journal"} +MACRO {aph} {"Acta Physica"} +MACRO {advp} {"Advances in Physics"} +MACRO {ajp} {"American Journal of Physics"} +MACRO {ajm} {"American Journal of Mathematics"} +MACRO {amsci} {"American Scientist"} +MACRO {anofd} {"Annals of Fluid Dynamics"} +MACRO {am} {"Annals of Mathematics"} +MACRO {ap} {"Annals of Physics"} +MACRO {adp} {"Annalen der Physik"} +MACRO {ao} {"Applied Optics"} +MACRO {apl} {"Applied Physics Letters"} +MACRO {app} {"Astroparticle Physics"} +MACRO {apj} {"Astrophysical Journal"} +MACRO {apjsup} {"Astrophysical Journal Supplement"} +MACRO {apss} {"Astrophysics and Space Science"} +MACRO {araa} {"Annual Review of Astronomy and Astrophysics"} +MACRO {baas} {"Bulletin of the American Astronomical Society"} +MACRO {baps} {"Bulletin of the American Physical Society"} +MACRO {cmp} {"Communications in Mathematical Physics"} +MACRO {cpam} {"Communications on Pure and Applied Mathematics"} +MACRO {cppcf} {"Comments on Plasma Physics and Controlled Fusion"} +MACRO {cpc} {"Computer Physics Communications"} +MACRO {cqg} {"Classical and Quantum Gravity"} +MACRO {cra} {"Comptes Rendus des S{\'e}ances de l'Acad{\'e}mie des Sciences A"} +MACRO {fed} {"Fusion Engineering and Design"} +MACRO {ft} {"Fusion Technology"} +MACRO {grg} {"General Relativity and Gravitation"} +MACRO {ieeens} {"IEEE Transactions on Nuclear Science"} +MACRO {ieeeps} {"IEEE Transactions on Plasma Science"} +MACRO {ijimw} {"International Journal of Infrared and Millimeter Waves"} +MACRO {ip} {"Infrared Physics"} +MACRO {irp} {"Infrared Physics"} +MACRO {jap} {"Journal of Applied Physics"} +MACRO {jasa} {"Journal of the Acoustical Society of America"} +MACRO {jcp} {"Journal of Computational Physics"} +MACRO {jetp} {"Soviet Physics--JETP"} +MACRO {jfe} {"Journal of Fusion Energy"} +MACRO {jfm} {"Journal of Fluid Mechanics"} +MACRO {jmp} {"Journal of Mathematical Physics"} +MACRO {jne} {"Journal of Nuclear Energy"} +MACRO {jnec} {"Journal of Nuclear Energy, Part C: Plasma Physics, Accelerators, Thermonuclear Research"} +MACRO {jnm} {"Journal of Nuclear Materials"} +MACRO {jpc} {"Journal of Physical Chemistry"} +MACRO {jpp} {"Journal of Plasma Physics"} +MACRO {jpsj} {"Journal of the Physical Society of Japan"} +MACRO {jsi} {"Journal of Scientific Instruments"} +MACRO {jvst} {"Journal of Vacuum Science and Technology"} +MACRO {nat} {"Nature"} +MACRO {nature} {"Nature"} +MACRO {nedf} {"Nuclear Engineering and Design/Fusion"} +MACRO {nf} {"Nuclear Fusion"} +MACRO {nim} {"Nuclear Instruments and Methods"} +MACRO {nimpr} {"Nuclear Instruments and Methods in Physics Research"} +MACRO {np} {"Nuclear Physics"} +MACRO {npb} {"Nuclear Physics B"} +MACRO {nt/f} {"Nuclear Technology/Fusion"} +MACRO {npbpc} {"Nuclear Physics B (Proceedings Supplements)"} +MACRO {inc} {"Il Nuovo Cimento"} +MACRO {nc} {"Nuovo Cimento"} +MACRO {pf} {"Physics of Fluids"} +MACRO {pfa} {"Physics of Fluids A: Fluid Dynamics"} +MACRO {pfb} {"Physics of Fluids B: Plasma Physics"} +MACRO {pl} {"Physics Letters"} +MACRO {pla} {"Physics Letters A"} +MACRO {plb} {"Physics Letters B"} +MACRO {prep} {"Physics Reports"} +MACRO {pnas} {"Proceedings of the National Academy of Sciences of the USA"} +MACRO {pp} {"Physics of Plasmas"} +MACRO {ppcf} {"Plasma Physics and Controlled Fusion"} +MACRO {phitrsl} {"Philosophical Transactions of the Royal Society of London"} +MACRO {prl} {"Physical Review Letters"} +MACRO {pr} {"Physical Review"} +MACRO {physrev} {"Physical Review"} +MACRO {pra} {"Physical Review A"} +MACRO {prb} {"Physical Review B"} +MACRO {prc} {"Physical Review C"} +MACRO {prd} {"Physical Review D"} +MACRO {pre} {"Physical Review E"} +MACRO {ps} {"Physica Scripta"} +MACRO {procrsl} {"Proceedings of the Royal Society of London"} +MACRO {rmp} {"Reviews of Modern Physics"} +MACRO {rsi} {"Review of Scientific Instruments"} +MACRO {science} {"Science"} +MACRO {sciam} {"Scientific American"} +MACRO {sam} {"Studies in Applied Mathematics"} +MACRO {sjpp} {"Soviet Journal of Plasma Physics"} +MACRO {spd} {"Soviet Physics--Doklady"} +MACRO {sptp} {"Soviet Physics--Technical Physics"} +MACRO {spu} {"Soviet Physics--Uspeki"} +MACRO {st} {"Sky and Telescope"} + % End module: physjour.mbs + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{geojour.mbs}[2002/07/10 2.0h (PWD)] +MACRO {aisr} {"Advances in Space Research"} +MACRO {ag} {"Annales Geophysic\ae"} +MACRO {anigeo} {"Annali di Geofisica"} +MACRO {angl} {"Annals of Glaciology"} +MACRO {andmet} {"Annalen der Meteorologie"} +MACRO {andgeo} {"Annales de Geophysique"} +MACRO {andphy} {"Annales de Physique"} +MACRO {afmgb} {"Archiv f\^^b{u}r Meteorologie, Geophysik und Bioklimatologie"} +MACRO {ass}{"Astrophysics and Space Science"} +MACRO {atph} {"Atm\'osphera"} +MACRO {aao} {"Atmosphere-Ocean"} +MACRO {atenv} {"Atmospheric Environment"} +MACRO {aujag} {"Australian Journal of Agricultural Research"} +MACRO {aumet} {"Australian Meteorological Magazine"} +MACRO {blmet} {"Boundary-Layer Meteorology"} +MACRO {bams} {"Bulletin of the American Meteorological Society"} +MACRO {cch} {"Climatic Change"} +MACRO {cdyn} {"Climate Dynamics"} +MACRO {cbul} {"Climatological Bulletin"} +MACRO {cap} {"Contributions to Atmospheric Physics"} +MACRO {dsr} {"Deep-Sea Research"} +MACRO {dhz} {"Deutsche Hydrographische Zeitschrift"} +MACRO {dao} {"Dynamics of Atmospheres and Oceans"} +MACRO {eco} {"Ecology"} +MACRO {empl}{"Earth, Moon and Planets"} +MACRO {envres} {"Environmental Research"} +MACRO {envst} {"Environmental Science and Technology"} +MACRO {ecms} {"Estuarine and Coastal Marine Science"} +MACRO {expa}{"Experimental Astronomy"} +MACRO {geoint} {"Geofisica Internationale"} +MACRO {geopub} {"Geofysiske Publikasjoner"} +MACRO {geogeo} {"Geologiya i Geofizika"} +MACRO {gafd} {"Geophysical and Astrophysical Fluid Dynamics"} +MACRO {gfd} {"Geophysical Fluid Dynamics"} +MACRO {geomag} {"Geophysical Magazine"} +MACRO {georl} {"Geophysical Research Letters"} +MACRO {grl} {"Geophysical Research Letters"} +MACRO {ga} {"Geophysica"} +MACRO {gs} {"Geophysics"} +MACRO {ieeetap} {"IEEE Transactions on Antennas and Propagation"} +MACRO {ijawp} {"International Journal of Air and Water Pollution"} +MACRO {ijc} {"International Journal of Climatology"} +MACRO {ijrs} {"International Journal of Remote Sensing"} +MACRO {jam} {"Journal of Applied Meteorology"} +MACRO {jaot} {"Journal of Atmospheric and Oceanic Technology"} +MACRO {jatp} {"Journal of Atmospheric and Terrestrial Physics"} +MACRO {jastp} {"Journal of Atmospheric and Solar-Terrestrial Physics"} +MACRO {jce} {"Journal of Climate"} +MACRO {jcam} {"Journal of Climate and Applied Meteorology"} +MACRO {jcm} {"Journal of Climate Meteorology"} +MACRO {jcy} {"journal of Climatology"} +MACRO {jgr} {"Journal of Geophysical Research"} +MACRO {jga} {"Journal of Glaciology"} +MACRO {jh} {"Journal of Hydrology"} +MACRO {jmr} {"Journal of Marine Research"} +MACRO {jmrj} {"Journal of Meteorological Research, Japan"} +MACRO {jm} {"Journal of Meteorology"} +MACRO {jpo} {"Journal of Physical Oceanography"} +MACRO {jra} {"Journal de Recherches Atmospheriques"} +MACRO {jaes} {"Journal of the Aeronautical Sciences"} +MACRO {japca} {"Journal of the Air Pollution Control Association"} +MACRO {jas} {"Journal of the Atmospheric Sciences"} +MACRO {jmts} {"Journal of the Marine Technology Society"} +MACRO {jmsj} {"Journal of Meteorological Society of Japan"} +MACRO {josj} {"Journal of the Oceanographical Society of Japan"} +MACRO {jwm} {"Journal of Weather Modification"} +MACRO {lao} {"Limnology and Oceanography"} +MACRO {mwl} {"Mariners Weather Log"} +MACRO {mau} {"Mausam"} +MACRO {meteor} {"``Meteor'' Forschungsergebnisse"} +MACRO {map} {"Meteorology and Atmospheric Physics"} +MACRO {metmag} {"Meteorological Magazine"} +MACRO {metmon} {"Meteorological Monographs"} +MACRO {metrun} {"Meteorologische Rundschau"} +MACRO {metzeit} {"Meteorologische Zeitschrift"} +MACRO {metgid} {"Meteorologiya i Gidrologiya"} +MACRO {mwr} {"Monthly Weather Review"} +MACRO {nwd} {"National Weather Digest"} +MACRO {nzjmfr} {"New Zealand Journal of Marine and Freshwater Research"} +MACRO {npg} {"Nonlinear Processes in Geophysics"} +MACRO {om} {"Oceanography and Meteorology"} +MACRO {ocac} {"Oceanologica Acta"} +MACRO {oceanus} {"Oceanus"} +MACRO {paleoc} {"Paleoceanography"} +MACRO {pce} {"Physics and Chemistry of the Earth"} +MACRO {pmg} {"Papers in Meteorology and Geophysics"} +MACRO {ppom} {"Papers in Physical Oceanography and Meteorology"} +MACRO {physzeit} {"Physikalische Zeitschrift"} +MACRO {pps} {"Planetary and Space Science"} +MACRO {pss} {"Planetary and Space Science"} +MACRO {pag} {"Pure and Applied Geophysics"} +MACRO {qjrms} {"Quarterly Journal of the Royal Meteorological Society"} +MACRO {quatres} {"Quaternary Research"} +MACRO {rsci} {"Radio Science"} +MACRO {rse} {"Remote Sensing of the Environment"} +MACRO {rgeo} {"Reviews of Geophysics"} +MACRO {rgsp} {"Reviews of Geophysics and Space Physics"} +MACRO {rdgeo} {"Revista de Geofisica"} +MACRO {revmeta} {"Revista Meteorologica"} +MACRO {sgp}{"Surveys in Geophysics"} +MACRO {sp} {"Solar Phys."} +MACRO {ssr} {"Space Science Review"} +MACRO {tellus} {"Tellus"} +MACRO {tac} {"Theoretical and Applied Climatology"} +MACRO {tagu} {"Transactions, American Geophysical Union (EOS)"} +MACRO {wrr} {"Water Resources Research"} +MACRO {weather} {"Weather"} +MACRO {wafc} {"Weather and Forecasting"} +MACRO {ww} {"Weatherwise"} +MACRO {wmob} {"World Meteorological Organization Bulletin"} +MACRO {zeitmet} {"Zeitschrift f\^^b{u}r Meteorologie"} + % End module: geojour.mbs + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{photjour.mbs}[1999/02/24 2.0b (PWD)] + +MACRO {appopt} {"Applied Optics"} +MACRO {bell} {"Bell Systems Technical Journal"} +MACRO {ell} {"Electronics Letters"} +MACRO {jasp} {"Journal of Applied Spectroscopy"} +MACRO {jqe} {"IEEE Journal of Quantum Electronics"} +MACRO {jlwt} {"Journal of Lightwave Technology"} +MACRO {jmo} {"Journal of Modern Optics"} +MACRO {josa} {"Journal of the Optical Society of America"} +MACRO {josaa} {"Journal of the Optical Society of America~A"} +MACRO {josab} {"Journal of the Optical Society of America~B"} +MACRO {jdp} {"Journal de Physique"} +MACRO {oc} {"Optics Communications"} +MACRO {ol} {"Optics Letters"} +MACRO {phtl} {"IEEE Photonics Technology Letters"} +MACRO {pspie} {"Proceedings of the Society for Photo-Optical Instruments Engineers"} +MACRO {sse} {"Solid-State Electronics"} +MACRO {sjot} {"Soviet Journal of Optical Technology"} +MACRO {sjqe} {"Soviet Journal of Quantum Electronics"} +MACRO {sleb} {"Soviet Physics--Lebedev Institute Reports"} +MACRO {stph} {"Soviet Physics--Technical Physics"} +MACRO {stphl} {"Soviet Technical Physics Letters"} +MACRO {vr} {"Vision Research"} +MACRO {zph} {"Zeitschrift f\^^b{u}r Physik"} +MACRO {zphb} {"Zeitschrift f\^^b{u}r Physik~B"} +MACRO {zphd} {"Zeitschrift f\^^b{u}r Physik~D"} + +MACRO {CLEO} {"Conf. on Lasers and Electro-Optics"} +MACRO {ASSL} {"Advanced Solid State Lasers"} +MACRO {OSA} {"Optical Society of America"} + % End module: photjour.mbs + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{suppjour.mbs}[1999/02/24 1.1] +MACRO {cjp} {"Czechoslovak Journal of Physics"} +MACRO {el} {"Europhysics Letters"} +MACRO {en} {"Europhysics News"} +MACRO {fujitsustj} {"FUJITSU Scientific {\&} Technical Journal"} +MACRO {ieeeed} {"IEEE Transactions on Electron Devices"} +MACRO {ieeeim} {"IEEE Transactions on Instrumentation and Measurement"} +MACRO {ieeejqe} {"IEEE Journal of Quantum Electronics"} +MACRO {ieeem} {"IEEE Transactions on Magnetics"} +MACRO {ieeeptl} {"IEEE Photonics Technology Letters"} +MACRO {ieeeuffc} {"IEEE Transactions on Ultrasonics, Ferroelectrics and Frequency Control"} +MACRO {jem} {"Journal of Electronic Materials"} +MACRO {jes} {"Journal of the Electrochemical Society"} +MACRO {jetplett} {"JETP Letters"} +MACRO {jjap} {"Japanese Journal of Applied Physics"} +MACRO {jpha} {"Journal of Physics A: Mathematical and General"} +MACRO {jphb} {"Journal of Physics B: Atomic, Molecular and Optical Physics"} +MACRO {jphbold} {"Journal of Physics B: Atomic and Molecular Physics"} +MACRO {jphc} {"Journal of Physics: Condensed Matter"} +MACRO {jphcold} {"Journal of Physics C: Solid State Physics"} +MACRO {jphd} {"Journal of Physics D: Applied Physics"} +MACRO {jvsta} {"Journal of Vacuum Science and Technology A"} +MACRO {jvstb} {"Journal of Vacuum Science and Technology B"} +MACRO {me} {"Microelectronic Engineering"} +MACRO {necrd} {"NEC Research {\&} Development"} +MACRO {pa} {"Physica A"} +MACRO {pb} {"Physica B"} +MACRO {pc} {"Physica C"} +MACRO {pd} {"Physica D"} +MACRO {procieee} {"Proceedings of the IEEE"} +MACRO {procspie} {"Proceedings of the SPIE"} +MACRO {pssa} {"Physica Status Solidi A"} +MACRO {pssb} {"Physica Status Solidi B"} +MACRO {rpp} {"Reports on Progress in Physics"} +MACRO {sm} {"Synthetic Metals"} +MACRO {sost} {"Solid State Technology"} +MACRO {ss} {"Surface Science"} +MACRO {ssc} {"Solid State Communications"} +MACRO {sst} {"Semiconductor Science and Technology"} +MACRO {suplatt} {"Superlattices and Microstructures"} +MACRO {sust} {"Superconductor Science and Technology"} +MACRO {znat} {"Zeitschrift f\^^b{u}r Naturforschung"} + % End module: suppjour.mbs +%% Copyright 1998, 1999 Patrick W. Daly +%% +%% 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 any later version. +\end{longtable} +\endgroup +\end{document} +\endinput +%% +%% End of file `shorthnd.tex'. diff --git a/Master/texmf-dist/tex/latex/custom-bib/slovene.mbs b/Master/texmf-dist/tex/latex/custom-bib/slovene.mbs new file mode 100644 index 00000000000..7eb459620b8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/custom-bib/slovene.mbs @@ -0,0 +1,304 @@ +%\iffalse THIS IS A META COMMENT +% File: slovene.mbs +% Copyright 2002 Primo\v z Peterlin +% Univerza v Ljubljani +% Medicinska fakulteta +% In\v stitut za biofiziko +% Lipi\v ceva 2 +% SI-1000 Ljubljana +% Slovenia +% E-mail: primoz.peterlin@biofiz.mf.uni-lj.si +% +% 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 any later version. +% +% It is part of the custom-bib collection, +% a contribution to the LaTeX2e system. +%==================================================================== +% A Language Definition File: SLOVENE +% to be included with other master bibliography style files +%-------------------------------------------------------------------- +% (See version and date in the \ProvidesFile command below) +%-------------------------------------------------------------------- +% This file is self-documenting: simply LaTeX it! +%==================================================================== +% + %------------------------------------------------------------------- + % Begin module: +%\fi + % \ProvidesFile{slovene.mbs}[2003/11/06 4.2 (PP/PWD)] +%\iffalse +%<*a&!a> +% The following ensures that the driver part is not seen by makebst +% The driver part must not contain any \end other than \end{document} ! +\ifx\endoptions\undefined\let\tempx=\relax\else + \long\def\tempx#1\end#2{}\fi\tempx +%</a&!a> +%<*driver> + \NeedsTeXFormat{LaTeX2e}% + \documentclass[a4paper,10pt,twoside]{article}% + \usepackage{doc}% + \raggedbottom + \CodelineNumbered + \RecordChanges + % Comment out next line to print coding + \OnlyDescription + \setlength{\oddsidemargin}{0.5\paperwidth} + \addtolength{\oddsidemargin}{-0.5\textwidth} + \addtolength{\oddsidemargin}{-1in} + \setlength{\evensidemargin}{\oddsidemargin} + +\begin{document} + \DocInput{slovene.mbs} +\end{document} +%</driver> +% END OF META COMMENT \fi +% \CharacterTable +% {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 +% 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 +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \setcounter{StandardModuleDepth}{1} +% \setcounter{IndexColumns}{2} +% \setlength{\IndexMin}{10cm} +% +% \changes{1.0}{2002 Aug 29}{Initial version} +% \changes{4.0a}{2002 Oct 18}{Add number suppression} +% \changes{4.2}{2003 Nov 6}{Fix comma separator, consistent with \texttt{makebst} 4.1} +% +% \pagestyle{myheadings} +% \markboth{P. Peterlin}{Slovenian Bibliographies} +% +% \title{{\bfseries Slovene Language Definition File}\\ +% for master bibliographic style files} +% +% \author{Primo\v z Peterlin} +% +% \GetFileInfo{slovene.mbs} +% \date{This paper describes file \texttt{\filename},\\ +% version \fileversion{} from \filedate} +% +% \maketitle +% +% \MakeShortVerb{\|} +% +% \parskip=1ex \parindent=0pt +% +% \newcommand{\btx}{{\sc Bib}\TeX} +% \newcommand{\dtx}{\textsf{docstrip}} +% +% \section{Introduction} +% This file is to be used as a language definition file with master +% bibliographic files. The language it defines is +% \begin{quote}\bfseries Slovene\end{quote} +% +% This is not a self-sufficient \texttt{.mbs} file, but rather may +% be used together with one that contains language support via +% external definition files. +% +% See the documentation for \texttt{makebst} for formatting details. +% +% \section{The Menu Information} +% +% All the menu information is nested between \dtx{} guard options +% |%<*options>| \dots\ |%</options>|, and the last command is +% |\endoptions|. The rest of the file is nested between |%<*!options&!driver>| +% \dots\ |%</!options&!driver>| in order to exclude it if \dtx{} is used to +% extract only the menu information or the documentation driver. +% +% \begin{macrocode} +%<*options> +\mes{^^JOptions for SLOVENE} +\wr{\spsp\spsp slovene,\pc: Slovene language} + + +\mes{^^JABBREVIATE WORD `STRANI':} +\optdef{*}{}{`Stran(i)'}{(no abbreviation)} +\optdef{a}{pp}{`Strani abbreviated}{as str.} +\optdef{x}{ppx}{`Strani omitted}{} +\getans + +\mes{^^JOTHER ABBREVIATIONS:} +\optdef{*}{}{No abbreviations}{of zvezek, izdaja, poglavje} +\optdef{a}{abr}{Abbreviations}{of such words} +\getans + +\mes{^^JEDITION NUMBERS:} +\optdef{*}{xedn}{Editions as in database}{saving much processing memory} +\optdef{w}{}{Write out editions}{as prva, druga, tretja, etc} +\optdef{n}{ord}{Numerical editions}{as 1., 2., 3., etc} +\getans + +\mes{^^JALTERNATIVE FOR PHD THESIS:} +\optdef{*}{sl-phd}{PhD as `Doktorsko delo'}{} +\optdef{d}{}{PhD as `Disertacija'}{} +\getans + +\endoptions +%</options> +% \end{macrocode} +% +% \StopEventually{\PrintChanges} +% +% \section{The Coding} +% \begin{macrocode} +%<*!options&!driver> + + % The language selected here is SLOVENE +FUNCTION {bbl.and} +{ "in"} + +FUNCTION {bbl.etal} +{ "in~sod." } + +FUNCTION {bbl.editors} +%<!ed>{ "Uredniki" } +%<ed>{ "ur." } + +FUNCTION {bbl.editor} +%<!ed>{ "Urednik" } +%<ed>{ "ur." } + +FUNCTION {bbl.edby} +{ "uredil" } + +FUNCTION {bbl.edition} +%<!abr>{ "izdaja" } +%<abr>{ "izd." } + +FUNCTION {bbl.volume} +%<!abr>{ "zvezek" } +%<abr>{ "zv." } + +FUNCTION {bbl.of} +{ "od" } + +FUNCTION {bbl.number} +%<!abr>{ "\v{s}tevilka" } +%<abr>{ "\v{s}t." } + +FUNCTION {bbl.nr} +{ "\v{s}t." } + +FUNCTION {bbl.in} +{ "v" } + +FUNCTION {bbl.pages} +%<!pp&!ppx>{ "strani" } +%<pp>{ "str." } +%<!pp&ppx>{ "" } + +FUNCTION {bbl.page} +%<!pp&!ppx>{ "stran" } +%<pp>{ "str." } +%<!pp&ppx>{ "" } + +FUNCTION {bbl.chapter} +%<!abr>{ "poglavje" } +%<abr>{ "pogl." } + +FUNCTION {bbl.techrep} +%<!abr>{ "{Tehni\v cno poro\v cilo}" } +%<abr>{ "{Tehn.\ por.}" } + +FUNCTION {bbl.mthesis} +{ "{Magistrsko delo}" } + +FUNCTION {bbl.phdthesis} +%<sl-phd>{ "{Doktorsko delo}" } +%<!sl-phd>{ "Disertacija" } + +%<*!xedn> +FUNCTION {bbl.first} +%<!ord>{ "prva" } +%<ord>{ "1." } + +FUNCTION {bbl.second} +%<!ord>{ "druga" } +%<ord>{ "2." } + +FUNCTION {bbl.third} +%<!ord>{ "tretja" } +%<ord>{ "3." } + +FUNCTION {bbl.fourth} +%<!ord>{ "\v{c}etrta" } +%<ord>{ "4." } + +FUNCTION {bbl.fifth} +%<!ord>{ "peta" } +%<ord>{ "5." } + +FUNCTION {bbl.th} +{ "." } + +%</!xedn> +%<*!abr> +MACRO {jan} {"januar"} + +MACRO {feb} {"februar"} + +MACRO {mar} {"marec"} + +MACRO {apr} {"april"} + +MACRO {may} {"maj"} + +MACRO {jun} {"junij"} + +MACRO {jul} {"julij"} + +MACRO {aug} {"avgust"} + +MACRO {sep} {"september"} + +MACRO {oct} {"oktober"} + +MACRO {nov} {"november"} + +MACRO {dec} {"december"} + +%</!abr> +%<*abr> +MACRO {jan} {"jan."} + +MACRO {feb} {"feb."} + +MACRO {mar} {"mar."} + +MACRO {apr} {"apr."} + +MACRO {may} {"maj"} + +MACRO {jun} {"jun."} + +MACRO {jul} {"jul."} + +MACRO {aug} {"avg."} + +MACRO {sep} {"sep."} + +MACRO {oct} {"okt."} + +MACRO {nov} {"nov."} + +MACRO {dec} {"dec."} + +%</abr> +%</!options&!driver> + % End module: slovene.mbs +% \end{macrocode} +% \Finale diff --git a/Master/texmf-dist/tex/latex/custom-bib/spanish.mbs b/Master/texmf-dist/tex/latex/custom-bib/spanish.mbs new file mode 100644 index 00000000000..2e9b7c8dfc1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/custom-bib/spanish.mbs @@ -0,0 +1,317 @@ +%\iffalse THIS IS A META COMMENT +% File: spanish.mbs +% Copyright 1995-1999 Patrick W Daly +% Max-Planck-Institut f\"ur Aeronomie +% Max-Planck-Str. 2 +% D-37191 Katlenburg-Lindau +% Germany +% E-mail: daly@linmpi.mpg.de +% +% Copyright 1995 Tom\'as Bautista +% Divisi\'on de CAD del Centro de Microelectr\'onica Aplicada +% Campus Universitario de Tafira, pab.\ A +% E-35017 Las Palmas de Gran Canaria +% Canary Islands +% E-mail: bautista@cma.ulpgc.es +% +% 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 any later version. +% +% It is part of the custom-bib collection, +% a contribution to the LaTeX2e system. +%==================================================================== +% A Language Definition File: SPANISH +% to be included with other master bibliography style files +%-------------------------------------------------------------------- +% (See version and date in the \ProvidesFile command below) +%-------------------------------------------------------------------- +% This file is self-documenting: simply LaTeX it! +%==================================================================== +% +%\fi + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{spanish.mbs}[2003/11/06 4.2 (PWD/TB)] +%\iffalse +%<*a&!a> +% The following ensures that the driver part is not seen by makebst +% The driver part must not contain any \end other than \end{document} ! +\ifx\endoptions\undefined\let\tempx=\relax\else + \long\def\tempx#1\end#2{}\fi\tempx +%</a&!a> +%<*driver> + \NeedsTeXFormat{LaTeX2e}% + \documentclass[a4paper,10pt,twoside]{article}% + \usepackage{doc}% + \raggedbottom + \CodelineNumbered + \RecordChanges + % Comment out next line to print coding + \OnlyDescription + \setlength{\oddsidemargin}{0.5\paperwidth} + \addtolength{\oddsidemargin}{-0.5\textwidth} + \addtolength{\oddsidemargin}{-1in} + \setlength{\evensidemargin}{\oddsidemargin} + +\begin{document} + \DocInput{spanish.mbs} +\end{document} +%</driver> +% END OF META COMMENT \fi +% \CharacterTable +% {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 +% 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 +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \setcounter{StandardModuleDepth}{1} +% \setcounter{IndexColumns}{2} +% \setlength{\IndexMin}{10cm} +% +% \changes{1.0}{1995 June 01}{Initial version} +% \changes{1.1}{1998 Aug 17}{Add \texttt{bbl.etal}} +% \changes{1.2}{1999 Feb 1}{Add option \texttt{xedn}} +% \changes{1.2}{1999 Feb 24}{Update copyright notice} +% \changes{1.2a}{1999 May 20}{Fix menu text slightly} +% \changes{4.0}{1999 Oct 11}{For merlin 4.0} +% \changes{4.0a}{2002 Oct 18}{Fix bug in page number suppression} +% \changes{4.2}{2003 Nov 6}{Fix comma separator, consistent with \texttt{makebst} 4.1} +% +% \pagestyle{myheadings} +% \markboth{T. Bautista}{Spanish Bibliographies} +% +% \title{{\bfseries Spanish Language Definition File}\\ +% for master bibliographic style files} +% +% \author{Patrick W. Daly and Tom\'as Bautista} +% +% \GetFileInfo{spanish.mbs} +% \date{This paper describes file \texttt{\filename},\\ +% version \fileversion{} from \filedate} +% +% \maketitle +% +% \MakeShortVerb{\|} +% +% \parskip=1ex \parindent=0pt +% +% \newcommand{\btx}{{\sc Bib}\TeX} +% \newcommand{\dtx}{\textsf{docstrip}} +% +% \section{Introduction} +% This file is to be used as a language definition file with master +% bibliographic files. The language it defines is +% \begin{quote}\bfseries Spanish\end{quote} +% +% This is not a self-sufficient \texttt{.mbs} file, but rather may +% be used together with one that contains language support via +% external definition files. +% +% See the documentation for \texttt{makebst} for formatting details. +% +% \section{The Menu Information} +% +% All the menu information is nested between \dtx{} guard options +% |%<*options>| \dots\ |%</options>|, and the last command is +% |\endoptions|. The rest of the file is nested between |%<*!options&!driver>| +% \dots\ |%</!options&!driver>| in order to exclude it if \dtx{} is used to +% extract only the menu information or the documentation driver. +% +% \begin{macrocode} +%<*options> +\mes{^^JOptions for SPANISH} +\wr{\spsp\spsp spanish,\pc: Spanish language} + + +\beginoptiongroup{ABBREVIATE WORD `PAGINAS':}{} +\optdef{*}{}{`P\string\'agina(s)'}{(no abbreviation)} +\optdef{a}{pp}{`P\string\'agina' abbreviated}{as p\string\'ag.} +\optdef{x}{ppx}{`P\string\'agina' omitted}{} +\getans +\endoptiongroup +\beginoptiongroup{ABBREVIATE WORD `EDITOR':}{} +\optdef{*}{}{`Editor(es)'}{(no abbreviation)} +\optdef{a}{ed}{`Editor' abbreviated}{as Ed.} +\getans +\endoptiongroup +\beginoptiongroup{OTHER ABBREVIATIONS:}{} +\optdef{*}{}{No abbreviations}{of Tomo, \string Edici\string\'on, Cap\string\'{\string\i}tulo} +\optdef{a}{abr}{Abbreviations}{of such words} +\getans +\endoptiongroup +\beginoptiongroup{EDITION NUMBERS:}{} +\optdef{*}{xedn}{Editions as in database}{saving much processing memory} +\optdef{w}{}{Write out editions}{as primera, segunda, tercera, etc} +\optdef{n}{ord}{Numerical editions}{as 1a, 2a, 3a, etc} +\getans +\endoptiongroup +\endoptions +%</options> +% \end{macrocode} +% +% \StopEventually{\PrintChanges} +% +% \section{The Coding} +% \begin{macrocode} +%<*!options&!driver> + + % The language selected here is SPANISH +FUNCTION {bbl.and} +{ "y"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +%<!ed>{ "editores" } +%<ed>{ "eds." } + +FUNCTION {bbl.editor} +%<!ed>{ "editor" } +%<ed>{ "ed." } + +FUNCTION {bbl.edby} +{ "editado por" } + +FUNCTION {bbl.edition} +%<!abr>{ "edici\'on" } +%<abr>{ "ed\raise1ex\hbox{\underbar{\scriptsize \'on}}." } + +FUNCTION {bbl.volume} +{ "tomo" } + +FUNCTION {bbl.of} +{ "de" } + +FUNCTION {bbl.number} +%<!abr>{ "n\'umero" } +%<abr>{ "n\raise1ex\hbox{\underbar{\scriptsize o}}" } + +FUNCTION {bbl.nr} +{ "n\raise1ex\hbox{\underbar{\scriptsize o}}" } + +FUNCTION {bbl.in} +{ "en" } + +FUNCTION {bbl.pages} +%<!pp&!ppx>{ "p\'aginas" } +%<pp>{ "p\'ags." } +%<!pp&ppx>{ "" } + +FUNCTION {bbl.page} +%<!pp&!ppx>{ "p\'agina" } +%<pp>{ "p\'ag." } +%<!pp&ppx>{ "" } + +%<*revdata> +FUNCTION {bbl.eidpp} +{ "p\'aginas" } + +%</revdata> +FUNCTION {bbl.chapter} +%<!abr>{ "cap\'{\i}tulo" } +%<abr>{ "cap." } + +FUNCTION {bbl.techrep} +%<!abr>{ "Informe T\'ecnico" } +%<abr>{ "Inf.\ T\'ec." } + +FUNCTION {bbl.mthesis} +{ "Proyecto Fin de Carrera" } + +FUNCTION {bbl.phdthesis} +{ "Tesis Doctoral" } + +%<*!xedn> +FUNCTION {bbl.first} +%<!ord>{ "primera" } +%<ord>{ "1\raise1ex\hbox{\underbar{\scriptsize a}}" } + +FUNCTION {bbl.second} +%<!ord>{ "segunda" } +%<ord>{ "2\raise1ex\hbox{\underbar{\scriptsize a}}" } + +FUNCTION {bbl.third} +%<!ord>{ "tercera" } +%<ord>{ "3\raise1ex\hbox{\underbar{\scriptsize a}}" } + +FUNCTION {bbl.fourth} +%<!ord>{ "cuarta" } +%<ord>{ "4\raise1ex\hbox{\underbar{\scriptsize a}}" } + +FUNCTION {bbl.fifth} +%<!ord>{ "quinta" } +%<ord>{ "5\raise1ex\hbox{\underbar{\scriptsize a}}" } + +FUNCTION {bbl.th} +{ "\raise1ex\hbox{\underbar{\scriptsize a}}" } + +%</!xedn> +%<*!abr> +MACRO {jan} {"enero"} + +MACRO {feb} {"febrero"} + +MACRO {mar} {"marzo"} + +MACRO {apr} {"abril"} + +MACRO {may} {"mayo"} + +MACRO {jun} {"junio"} + +MACRO {jul} {"julio"} + +MACRO {aug} {"agosto"} + +MACRO {sep} {"septiembre"} + +MACRO {oct} {"octubre"} + +MACRO {nov} {"noviembre"} + +MACRO {dec} {"diciembre"} + +%</!abr> +%<*abr> +MACRO {jan} {"ene."} + +MACRO {feb} {"feb."} + +MACRO {mar} {"mar."} + +MACRO {apr} {"abr."} + +MACRO {may} {"mayo"} + +MACRO {jun} {"jun."} + +MACRO {jul} {"jul."} + +MACRO {aug} {"ago."} + +MACRO {sep} {"sep."} + +MACRO {oct} {"oct."} + +MACRO {nov} {"nov."} + +MACRO {dec} {"dic."} + +%</abr> +%</!options&!driver> + % End module: spanish.mbs +% \end{macrocode} +% \Finale diff --git a/Master/texmf-dist/tex/latex/custom-bib/suppjour.mbs b/Master/texmf-dist/tex/latex/custom-bib/suppjour.mbs new file mode 100644 index 00000000000..69f2ca69c66 --- /dev/null +++ b/Master/texmf-dist/tex/latex/custom-bib/suppjour.mbs @@ -0,0 +1,231 @@ +%\iffalse THIS IS A META COMMENT +% File: suppjour.mbs +% Copyright 1998, 1999 Patrick W Daly +% Max-Planck-Institut f\"ur Aeronomie +% Max-Planck-Str. 2 +% D-37191 Katlenburg-Lindau +% Germany +% E-mail: daly@linmpi.mpg.de +% +% 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 any later version. +% +% It is part of the custom-bib collection, +% a contribution to the LaTeX2e system. +%==================================================================== +% A Journal Definition File for supplementary journals +% to be included with other master bibliography style files +%-------------------------------------------------------------------- +% (See version and date in the \ProvidesFile command below) +%-------------------------------------------------------------------- +% This file is self-documenting: simply LaTeX it! +%==================================================================== +% + %------------------------------------------------------------------- + % Begin module: +%\fi + % \ProvidesFile{suppjour.mbs}[1999/02/24 1.1] +%\iffalse +%<*a&!a> +% The following ensures that the driver part is not seen by makebst +% The driver part must not contain any \end other than \end{document} ! +\ifx\endoptions\undefined\let\tempx=\relax\else + \long\def\tempx#1\end#2{}\fi\tempx +%</a&!a> +%<*driver> + \NeedsTeXFormat{LaTeX2e}% + \documentclass[a4paper,10pt,twoside]{article}% + \usepackage{doc}% + \raggedbottom + \CodelineNumbered + \RecordChanges + % Comment out next line to print coding + \OnlyDescription + \setlength{\oddsidemargin}{0.5\paperwidth} + \addtolength{\oddsidemargin}{-0.5\textwidth} + \addtolength{\oddsidemargin}{-1in} + \setlength{\evensidemargin}{\oddsidemargin} + +\begin{document} + \DocInput{suppjour.mbs} +\end{document} +%</driver> +% END OF META COMMENT \fi +% \CharacterTable +% {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 +% 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 +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \setcounter{StandardModuleDepth}{1} +% \setcounter{IndexColumns}{2} +% \setlength{\IndexMin}{10cm} +% +% \changes{1.0}{1998 Mar 12}{Initial contributed version} +% \changes{1.1}{1999 Feb 24}{Update copyright notice} +% +% \pagestyle{myheadings} +% \markboth{M. Bl\"ocker}{Supplementary Journal Names} +% +% \title{{\bfseries Supplementary Journal Definition File}\\ +% for master bibliographic style files} +% +% \author{Martin Bl\"ocker} +% +% \GetFileInfo{suppjour.mbs} +% \date{This paper describes file \texttt{\filename},\\ +% version \fileversion{} from \filedate} +% +% \maketitle +% +% \MakeShortVerb{\|} +% +% \parskip=1ex \parindent=0pt +% +% \newcommand{\btx}{{\sc Bib}\TeX} +% \newcommand{\dtx}{\textsf{docstrip}} +% +% \section{Introduction} +% +% This file adds a list of preprogrammed supplementary journal names to +% bibliographic style files, in both full and abbreviated versions. +% These defined journal names will be added to those in the main master +% bibliography style file. +% +% This is not a self-sufficient \texttt{.mbs} file, but rather may +% be used together with one that contains support for +% external definition files. +% % +% See the documentation for \texttt{makebst} for formatting details. +% +% \section{The Menu Information} +% +% All the menu information is nested between \dtx{} guard options +% |%<*options>| \dots\ |%</options>|, and the last command is +% |\endoptions|. The rest of the file is nested between |%<*!options>| +% \dots\ |%</!options>| in order to exclude it if \dtx{} is used to +% extract only the menu information. +% +% A journal-names files should contain at most only one option, \texttt{jabr}. +% This is because \texttt{merlin} version~3.5 can now handle several +% journal-name files, but does not look into them for the options, but +% rather asks for \texttt{jabr} from the main file. For compatibility with +% older versions, the option menu must be kept here. +% +% \begin{macrocode} +%<*options> +\mes{^^JSUPPLEMENTARY JOURNAL NAMES:} +\optdef{*}{}{Full supplementary journal names}{} +\optdef{a}{jabr}{Abbreviate supplementary names}{for journals} +\getans +\endoptions +%</options> +% \end{macrocode} +% +% \StopEventually{\PrintChanges} +% +% \section{The Coding} +% \begin{macrocode} +%<*!options> +%<*jabr> +MACRO {cjp} {"Czech. J. Phys."} +MACRO {el} {"Europhys. Lett."} +MACRO {en} {"Europhys. News"} +MACRO {fujitsustj} {"FUJITSU Sci. Tech. J."} +MACRO {ieeeed} {"IEEE Trans. Electron Devices"} +MACRO {ieeeim} {"IEEE Trans. Instrum. Meas."} +MACRO {ieeejqe} {"IEEE J. Quantum Electron."} +MACRO {ieeem} {"IEEE Trans. Magn."} +MACRO {ieeeptl} {"IEEE Photonic Technol. Lett."} +MACRO {ieeeuffc} {"IEEE Trans. Ultrason., Ferroelect., Freq. Cont."} +MACRO {jem} {"J. Electron. Mater."} +MACRO {jes} {"J. Electrochem. Soc."} +MACRO {jetplett} {"JETP Lett."} +MACRO {jjap} {"Japan. J. Appl. Phys."} +MACRO {jpha} {"J. Phys. A: Math. Gen."} +MACRO {jphb} {"J. Phys. B: At. Mol. Opt. Phys."} +MACRO {jphbold} {"J. Phys. B: At. Mol. Phys."} +MACRO {jphc} {"J. Phys.: Condens. Matter"} +MACRO {jphcold} {"J. Phys. C: Solid State Phys."} +MACRO {jphd} {"J. Phys. D: Appl. Phys."} +MACRO {jvsta} {"J. Vac. Sci. Technol. A"} +MACRO {jvstb} {"J. Vac. Sci. Technol. B"} +MACRO {me} {"Microelectron. Eng."} +MACRO {necrd} {"NEC Res.{\&} Develop."} +MACRO {pa} {"Physica A"} +MACRO {pb} {"Physica B"} +MACRO {pc} {"Physica C"} +MACRO {pd} {"Physica D"} +MACRO {procieee} {"Proc. IEEE"} +MACRO {procspie} {"Proc. SPIE"} +MACRO {pssa} {"Phys. Stat. Sol. A"} +MACRO {pssb} {"Phys. Stat. Sol. B"} +MACRO {rpp} {"Rep. Progr. Phys."} +MACRO {sm} {"Synthet. Metal"} +MACRO {sost} {"Solid State Technol."} +MACRO {ss} {"Surf. Sci."} +MACRO {ssc} {"Solid State Commun."} +MACRO {sst} {"Semicond. Sci. Technol."} +MACRO {suplatt} {"Superlatt. Microstr."} +MACRO {sust} {"Supercond. Sci. Technol."} +MACRO {znat} {"Z. Naturforsch."} +%</jabr> +%<*!jabr> +MACRO {cjp} {"Czechoslovak Journal of Physics"} +MACRO {el} {"Europhysics Letters"} +MACRO {en} {"Europhysics News"} +MACRO {fujitsustj} {"FUJITSU Scientific {\&} Technical Journal"} +MACRO {ieeeed} {"IEEE Transactions on Electron Devices"} +MACRO {ieeeim} {"IEEE Transactions on Instrumentation and Measurement"} +MACRO {ieeejqe} {"IEEE Journal of Quantum Electronics"} +MACRO {ieeem} {"IEEE Transactions on Magnetics"} +MACRO {ieeeptl} {"IEEE Photonics Technology Letters"} +MACRO {ieeeuffc} {"IEEE Transactions on Ultrasonics, Ferroelectrics and Frequency Control"} +MACRO {jem} {"Journal of Electronic Materials"} +MACRO {jes} {"Journal of the Electrochemical Society"} +MACRO {jetplett} {"JETP Letters"} +MACRO {jjap} {"Japanese Journal of Applied Physics"} +MACRO {jpha} {"Journal of Physics A: Mathematical and General"} +MACRO {jphb} {"Journal of Physics B: Atomic, Molecular and Optical Physics"} +MACRO {jphbold} {"Journal of Physics B: Atomic and Molecular Physics"} +MACRO {jphc} {"Journal of Physics: Condensed Matter"} +MACRO {jphcold} {"Journal of Physics C: Solid State Physics"} +MACRO {jphd} {"Journal of Physics D: Applied Physics"} +MACRO {jvsta} {"Journal of Vacuum Science and Technology A"} +MACRO {jvstb} {"Journal of Vacuum Science and Technology B"} +MACRO {me} {"Microelectronic Engineering"} +MACRO {necrd} {"NEC Research {\&} Development"} +MACRO {pa} {"Physica A"} +MACRO {pb} {"Physica B"} +MACRO {pc} {"Physica C"} +MACRO {pd} {"Physica D"} +MACRO {procieee} {"Proceedings of the IEEE"} +MACRO {procspie} {"Proceedings of the SPIE"} +MACRO {pssa} {"Physica Status Solidi A"} +MACRO {pssb} {"Physica Status Solidi B"} +MACRO {rpp} {"Reports on Progress in Physics"} +MACRO {sm} {"Synthetic Metals"} +MACRO {sost} {"Solid State Technology"} +MACRO {ss} {"Surface Science"} +MACRO {ssc} {"Solid State Communications"} +MACRO {sst} {"Semiconductor Science and Technology"} +MACRO {suplatt} {"Superlattices and Microstructures"} +MACRO {sust} {"Superconductor Science and Technology"} +MACRO {znat} {"Zeitschrift f\^^b{u}r Naturforschung"} +%</!jabr> +%</!options> + % End module: suppjour.mbs +% \end{macrocode} +% \Finale |