%\iffalse THIS IS A META COMMENT -*- TeX -*- -*- DTX -*- % File: merlin.mbs %% Copyright 1994-2007 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}[2007/04/24 4.20 (PWD, AO, DPC)] %\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 % %<*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} % % 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{516} % \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{\protect\bslash 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.} % \changes{4.15}{2006 Jan 4}{PWD: add option \texttt{pres} for conference talks, presentations} % \changes{4.16}{2006 Feb 15}{PWD: fix bug in \texttt{proceedings} that suppress number/series at times} % \changes{4.20}{2007 Apr 23}{PWD: add option to allow more than one author in cites before et al.} % \changes{4.20}{2007 Apr 24}{PWD: allow variable number of authors before truncating citation} % % \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+%{ "pages" }+\\ % \verb!%{ "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} 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{Presentations:} % add a non-standard type to handle talks (presentations). This is similar to the % \texttt{inproceedings} but without \texttt{booktitle} and with the presenting % author in bold face. This author is specified by the \texttt{key} entry, which % is that author's position in the author list (1, 2, \dots). The type of presentation % (oral or poster) is specified by the entry \texttt{type}. The date without year is given % in \texttt{month}, which must be present. % \begin{opt} % \item[--] no presentations % \item[pres] include a \texttt{presentation} type % \item[pres-bf] (with \texttt{pres}) to put speaker in bold face % \item[pres-it] (with \texttt{pres}) to put speaker in italics % \item[pres-sc] (with \texttt{pres}) to put speaker in small caps % \end{opt} % Without any of the extra font options, the speaker's name is not highlighted. % % \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 in bibliography:} 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{Number of names in citation:} before \textsl{et al.} % % The default is to cite one or two names at most, but for three or more, to % cite only one name with \textsl{et~ al.} % \begin{opt} % \item[mcite] to change the default % \item[mct-1...mct-5] (with \texttt{mcite}) number of names preceding \textsl{et~al.} % \item[mct-x2...mct-x5] (with \texttt{mcite}) max number of authors without truncating % \end{opt} % The default is equivalent to \texttt{mct-1} and \texttt{mct-x2}. % % \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\ |%|, and the last command is % |\endoptions|. The rest of the file is nested between % \begin{quote} % |%<*!options&!driver&!bblbst>| \dots\ || % \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 % || and the tail with ||. 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 ||. 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*{Presentations} % Presentations are talks at meetings, oral or poster, that are not otherwise % published. The author making the presentation is indicated with the \texttt{key} % entry, which is the speaker's number within the author list. The font used % to highlight the speaker is either bold or italics, depending on the secondary % option, otherwise not highlighted. % \begin{macrocode} \beginoptiongroup{PRESENTATIONS:}{} \optdef{*}{}{Do not add presentation type}{for conference talks} \optdef{p}{pres}{Add presentation, speaker not highlighted}{} \optdef{b}{pres,pres-bf}{Presentation, speaker bold face}{} \optdef{i}{pres,pres-it}{Presentaion, speaker italic}{} \optdef{c}{pres,pres-sc}{Presentaion, speaker in small caps}{} \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 IN BIBLIOGRAPHY:}{} \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} % % Something that I finally add after being asked many times, is to allow for % more than one name in the citation before inserting \textsl{et~al.} % to allow more than 2 authors before truncating % \begin{macrocode} \beginoptiongroup{AUTHORS IN CITATIONS:}{} \optdef{*}{}{One author et al}{for three or more authors} \optdef{m}{mcite}{Some other truncation scheme}{} \getans \endoptiongroup \mytempfalse \if\ans m\mytemptrue\fi \beginoptiongroup{MAX AUTHORS BEFORE ET AL: (if regular cite not selected)} {\ifmytemp*\fi}% \optdef{*}{mct-1}{One et al}{} \optdef{2}{mct-2}{One, Two et al}{} \optdef{3}{mct-3}{One, Two, Three et al}{} \optdef{4}{mct-4}{One, Two, Three, Four et al}{} \optdef{5}{mct-5}{One, Two, Three, Four, Five et al}{} \getans \endoptiongroup \beginoptiongroup{MAX AUTHORS WITHOUT ET AL: (if regular cite not selected)} {\ifmytemp*\fi}% \optdef{*}{mct-x2}{Two authors without truncating}{} \optdef{3}{mct-x3}{Three authors}{without truncating} \optdef{4}{mct-x4}{Four authors}{without truncating} \optdef{5}{mct-x5}{Five authors}{without truncating} \getans \endoptiongroup % \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}{(<> ..)} \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}{(<>, ..)} \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) % \citeautho