multilingual bibliographies: the babelbib package - ctan

168
Multilingual bibliographies: The babelbib package Harald Harders [email protected] Version v1.32, 2019/03/11, printed March 12, 2019 Abstract This package enables to generate multilingual bibliographies in cooperation with babel. Two approaches are possible: Each citation may be written in another language, or the whole bibliography can be typeset in a language chosen by the user. In addition, the package supports commands to change the typography of the bibliographies. The current version supports Afrikaans, Bahasa, Catalan, Croatian, Dan- ish, Dutch, English, Esperanto, Finnish, French, 1 Galician, German, Greek, Italian, Norwegian, Portuguese, Romanian, Russian, Serbian, Spanish, and Swedish. Please help me to add more languages. Many of the standard and extended bibliography styles are available. Please read section 4. If you have used version 0.1 of this package: The mechanism to change fonts has changed, please read section 5. Have a look to tugboat-babelbib.pdf which includes detailed descrip- tions how to use and extend the babelbib bundle. Contents 1 Introduction 3 2 Usage 3 3 Preparing the bib files 4 4 Available bibliography styles 5 1 Babelbib does not work with frenchle prior V5,987. Please update the frenchle package or use the native babel support for French, instead. 1

Upload: others

Post on 17-Feb-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Multilingual bibliographies: The babelbib package - CTAN

Multilingual bibliographies: The babelbibpackage

Harald [email protected]

Version v1.32, 2019/03/11, printed March 12, 2019

Abstract

This package enables to generate multilingual bibliographies in cooperationwith babel. Two approaches are possible: Each citation may be written inanother language, or the whole bibliography can be typeset in a languagechosen by the user.

In addition, the package supports commands to change the typographyof the bibliographies.

The current version supports Afrikaans, Bahasa, Catalan, Croatian, Dan-ish, Dutch, English, Esperanto, Finnish, French,1 Galician, German, Greek,Italian, Norwegian, Portuguese, Romanian, Russian, Serbian, Spanish, andSwedish. Please help me to add more languages.

Many of the standard and extended bibliography styles are available.Please read section 4.

If you have used version 0.1 of this package: The mechanism to changefonts has changed, please read section 5.

Have a look to tugboat-babelbib.pdf which includes detailed descrip-tions how to use and extend the babelbib bundle.

Contents1 Introduction 3

2 Usage 3

3 Preparing the bib files 4

4 Available bibliography styles 51Babelbib does not work with frenchle prior V5,987. Please update the frenchle package or

use the native babel support for French, instead.

1

Page 2: Multilingual bibliographies: The babelbib package - CTAN

5 Customisation of the bibliography’s typography 65.1 Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75.2 URL’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75.3 ISBN and ISSN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85.4 Spaces between forenames . . . . . . . . . . . . . . . . . . . . . . . 85.5 Edition numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85.6 Printing of month and year . . . . . . . . . . . . . . . . . . . . . . 9

6 How to add new languages 11

7 Problems and Incompatibilities 11

8 To Do 11

9 The implementation 129.1 Headings of the files . . . . . . . . . . . . . . . . . . . . . . . . . . 129.2 The package itself . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149.3 The language definitions . . . . . . . . . . . . . . . . . . . . . . . . 26

9.3.1 German . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269.3.2 Galician . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319.3.3 English . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349.3.4 Italian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379.3.5 Greek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409.3.6 Norwegian . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449.3.7 French . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479.3.8 Romanian . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519.3.9 Russian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549.3.10 Serbian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619.3.11 Spanish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649.3.12 Czech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689.3.13 Danish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719.3.14 Finnish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749.3.15 Esperanto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779.3.16 Portuguese . . . . . . . . . . . . . . . . . . . . . . . . . . . 809.3.17 Dutch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849.3.18 Swedish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 879.3.19 Afrikaans . . . . . . . . . . . . . . . . . . . . . . . . . . . . 919.3.20 Bahasa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 949.3.21 Catalan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 979.3.22 Croatian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

10 BibTEX style files 10310.1 “Normal” BibTEX style files . . . . . . . . . . . . . . . . . . . . . . 103

10.1.1 Generic code . . . . . . . . . . . . . . . . . . . . . . . . . . 10310.1.2 Sorted bibliographies . . . . . . . . . . . . . . . . . . . . . . 13310.1.3 Generic code . . . . . . . . . . . . . . . . . . . . . . . . . . 140

2

Page 3: Multilingual bibliographies: The babelbib package - CTAN

10.2 AMS styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

CopyrightCopyright 2003–2019 Harald Harders.

This program can be redistributed and/or modified under the terms of theLaTeX Project Public License Distributed from CTAN archives in directorymacros/latex/base/lppl.txt; either version 1 of the License, or any later version.

1 IntroductionThis package is a replacement for bibgerm.sty [2] with the aim to be extendableto other languages more easily. In addition, babelbib provides a more flexibletypography of bibliographies without the need to change bst files. But there aretwo shortcomings: This package needs babel.sty [1] (thus, it does not work withgerman.sty or ngerman.sty), and it is written for LATEX2ε and does not workwith plain TEX.

The current version supports Afrikaans, Bahasa, Catalan, Croatian, Czech,Danish, Dutch, English, Esperanto, Finnish, French,2 Galician, German, Greek,Italian, Norwegian, Portuguese, Romanian, Russian, Serbian, Spanish, andSwedish.

If you have used version 0.1 of this package: The mechanism to change fontshave changed, please read section 5.

2 UsageTo use this package place

\usepackage{babelbib}

into the preamble of your document. The package loads all necessary languagedefinitions for all files it knows that are loaded by babel.

By default, the language of the bibliographic keywords (“editor”, “page”, etc.)switches for each item to the language of the cited document.3 If all citationsshall be written in the same language, add the option fixlanguage to the packagecall. Then, all bibliographies are typeset in the document’s main language. Tochange the bibliography’s language, use \selectbiblanguage{〈language〉}. This\selectbiblanguagecommand only has an effect, if fixlanguage is set.

babelbib supports the BibTEX styles babplain, babplai3, babalpha, babunsrt,bababbrv, and bababbr3 that correspond to the standard bst files, but include

2Babelbib does not work with frenchle prior V5,987. Please update the frenchle package oruse the native babel support for French, instead.

3This is equivalent to using the package option varlanguage.

3

Page 4: Multilingual bibliographies: The babelbib package - CTAN

international support as well as flexible typography.4 As usual, you select thestyle using \bibliographystyle{〈filename〉}. In addition, the package supports\bibliographystylethe BibTEX style babamspl which corresponds to amsplain by the AMS. If youwant to use this style, you have to add the option languagenames to the call ofthe package. Default is nolanguagenames.

If you don’t like some of the keywords provided by babelbib, or if you want to\declarebtxcommandsuse new ones, you are able to get these using the command \declarebtxcommands.It takes two arguments, where the first is the language for which you want to addor change keywords, and the second is the list of command definitions. It seemsto be best to show that for an example. You may want to change the definitionsfor Ph.D. theses for English and German with new orthography (the defaults are“PhD thesis” resp. „Dissertation“). You can reach a change by the following code:

\declarebtxcommands{english}{%\def\btxphdthesis#1{\protect\foreignlanguage{english}{Ph.D.\ thesis}}%

}\declarebtxcommands{ngerman}{%

\def\btxphdthesis#1{\protect\foreignlanguage{ngerman}{Doktorarbeit}}%}

You may change more than one command in one \setbtxcommand command. Youjust have to add more of the \def. . . lines. But please don’t forget the percent signat the end of the lines in order to avoid unwanted spaces in the output. The AMSBibTEX style amsplain uses “Ph.D. thesis” instead of the default “PhD thesis” forbabamspl. If you want the same keyword as in the AMS original, you can use the\declarebtxcommands line shown above.

3 Preparing the bib filesIn order to use the feature of multilingual bibliographies, add the field language toevery entry in your bib files. This field gives the language of the cited document,e. g.

@InBook{dieter1997a,editor = {Dieter, George~E. and others},title = {Materials Selection and Design},chapter = {Effects of Composition, Processing, and Structure on

Properties of Engineering Plastics},publisher = {ASM International},year = 1997,volume = 20,series = {ASM Handbook},pages = {434--456},language = {english},isbn = {0-87170-386-6}

}4The versions with the 3 in the filenames replace the second and later authors by et al., if

more than three authors are given.

4

Page 5: Multilingual bibliographies: The babelbib package - CTAN

Then, the output of the document data (title, authors, series, etc.) is typeset withcorrect hyphenation patterns. Wheather also the keywords (“edition”, “pages”,etc.) are switched to the citation language, depends on wheather fixlanguagehas been used. All languages that appear in the bibliography have to be loadedby babel.

If the field language is missing, the citation is typeset using a fall-back lan-\setbtxfallbacklanguageguage. By default, the document’s main language (that one that is active at\begin{document}) is used. You can change the fall-back language by using\setbtxfallbacklanguage{〈language 〉}, e. g.,

\setbtxfallbacklanguage{ngerman}

babelbib supports a couple of additional fields: ISBN, ISSN, URL, URLDATE, andANNOTE. ISBN and ISSN take the ISBN or ISSN respectively. URL is the address ofa WWW page while URLDATE is the date when the WWW page has been visited.The field URL is typeset using the command \url if available, e. g., if the user hasloaded url.sty. Otherwise, babelbib defines a \url command which just calls\texttt. ANNOTE typesets annotations after each entry in the bibliography. Bydefault, a quotation environment (starting with \noindent) is used. If the fieldANNOTELANGUAGE is also given, the language is switched to the specified language.Otherwise the language of the keywords is used.

You can change the behaviour by redefining \btxannotation{〈annotations〉}.The annotations are only printed when the package option annote is used.

If you want to use language-dependent commands as \alsoname in a bibliogra-\biblanguagephy that was produced with fixlanguage you will be surprised that the commandschange the output depending on the language of the citation. If you want to writea field with the keyword language, you can use the command \biblanguage, e.g.,

@Article{abinger1988a,author = {Abinger, R. and Hammer, F. and Leopold, J. and others},title = {Gro"sschaden an einem 300"=MW"=Dampfturbosatz},journal = {Der Maschinenschaden},year = 1988,volume = 61,number = 2,pages = {58--60},language = {ngerman},note = {\biblanguage{\alsoname~\cite{abinger1990a}}}

}

This will give the note “see also [. . . ]” instead of “siehe auch [. . . ]” when thebibliography uses English keywords.

4 Available bibliography stylesThe babelbib bundle contains adapted versions of the standard bibliographystyles plain, unsrt, abbrv, and alpha. They are called babplain, babunsrt,

5

Page 6: Multilingual bibliographies: The babelbib package - CTAN

Table 1: Default values for the fonts in bibliographies. If no value is given, thestandard font (normally upright roman) is used.

Element Data types Default value for BibTEX stylebababbrv, babalpha babamsplbabplain, babunsrt

name Authors, editorslastname Lastnames of Authors, editorstitle All kinds of titles \emph \emphjtitle Title of journal articles \emph \emphetal “et al.” \emphjournal Journal namepublisher Publisher namevolume Volume (journal) \textbfISBN ISBN \MakeUppercase \MakeUppercaseISSN ISSN \MakeUppercase \MakeUppercaseurl URL \url \urlurldate visiting date of URLordinal ordinal numbers in edition

bababbrv, and babalpha, respectively. All variants write names in a special man-ner when more than one author is given. The first author ist written “Lastname,Forename” while all other authors are written “Forename Lastname”. This is doneto emphesize the ordering by the lastname.

If you don’t want this behaviour you can use additional variants that usethe same notation for all names. By appending -fl to the style name, e. g.,babalpha-fl, all names are written “Forename Lastname”. By appending -lf,e. g., babalpha-lf, all names are written “Lastname, Forename”.

The style babamspl is the babelbib equivalent to amsplain.

5 Customisation of the bibliography’s typographyIn constrast to the standard and germbib bst files, the appearance of the differentdata types is not fixed for bab*.bst. There are commands for some data fieldsthat determine the used font.

You can change some font specifications in the bibliography using the com-\setbibliographyfontmand \setbibliographyfont{〈element〉}{〈font command〉}, where 〈element〉 isa typographic element, listed in table 1. 〈font command〉 is a command that takesone argument, e. g. \textbf, \emph, or \textsc. If no suitable command is avail-able, you have to define one, first. For example, you can get a bold italic font asfollows:

\newcommand\textitbf[1]{{\bfseries\itshape #1\/}}%\setbibliographyfont{title}{\textitbf}%

6

Page 7: Multilingual bibliographies: The babelbib package - CTAN

As it can be seen in this example, the argument of the used font command mustn’tbe specified in \setbibliographyfont.

5.1 NamesThe 〈element〉 name changes the whole name of the author, including forenameand lastname. If lastname is also specified, it changes the lastname within thefont for the name. For example,

\setbibliographyfont{name}{\emph}\setbibliographyfont{lastname}{\MakeUppercase}

leads to \emph{Harald \MakeUppercase{Harders}} resp. “Harald HARDERS ”.By default, a colon is printed after the author names. If you want another

sign, just redefine the command \btxauthorcolon:

\renewcommand\btxauthorcolon{,}

Unfortunately, it cannot detect whether the name ends on a fullstop. Thus, thingslike “Harders, H.. Title of document” may appear.

5.2 URL’sThe font definition for urldate can also be used not to change the font but toprovide a command that writes the date in the correct language, e. g., using theisodate package:

\usepackage[short]{isodate}\setbibliographyfont{urldate}{\printdate}

When using urldate, normally a string is printed between the url itself andthe the date, e.g., in English “http://www.dante.de, visited on 2005-11-11”. Thestring is “, visited on ”. This is reached by the definition of the internal com-mand \btxurldatecomment, e.g., for English

\def\btxurldatecomment#1{%\protect\foreignlanguage{english}{, visited on #1}%

}

You can change this command, for example, to typeset the date in brackets:

\declarebtxcommands{english}{%\def\btxurldatecomment#1{ [#1]}%

}

Be sure not to forget the leading space. It is necessary to be able to begin with acomma which does not have a space before it.

7

Page 8: Multilingual bibliographies: The babelbib package - CTAN

5.3 ISBN and ISSNThere are two additional commands, \btxISBN and \btxISSN. They generate the\btxISBN

\btxISSN strings “ISBN” and “ISSN” in bibliographies. By default, they do it without achange of the font. For example, if using oldstyle digits, it could be worth tochange them e. g. to

\renewcommand\btxISBN{\textsc{isbn}}\renewcommand\btxISSN{\textsc{issn}}

By default, the ISBN resp. ISSN is printed if present in the data base. You can\btxprintISBN\btxprintISSN switch this behaviour off by using \btxprintISBN{false} resp. \btxprintISSN{false}.

Similarly, printing is switched on by \btxprintISBN{true} resp. \btxprintISSN{true}.Alternatively, you can switch on or off the ISBN and ISSN when loading the pack-age by using the package options isbn, noisbn, issn, or noissn.

This, however, only works for the “standard” styles, i. e., not for the AMS stylebabamspl.

If you are using babamspl, the language names of the citations are printed bydefault, as the original AMS style does it. You can avoid this by adding followingline to your preamble:

\newcommand\btxprintamslanguage[1]{}

5.4 Spaces between forenamesThe spaces between multiple forenames are written by \btxfnamespacelong and\btxfnamespaceshort

\btxfnamespacelong \btxfnamespaceshort for full and abbreviated forenames, respectively. By de-fault, a normal space is used between full forenames, and a thin space (\,) isused between abbreviated forenames (with the exception English where no spaceis printed). These defaults can be changed language-dependent:

\declarebtxcommands{english}{%\def\btxfnamespaceshort{\,}%\def\btxfnamespacelong{~}%

}

5.5 Edition numbersOrdinal numbers for editions are handled by LATEX when typesetting the biblio-graphy. You just have to give the number itself in the bib file and it is typesetcorrectly in the bibliography, e.g.,

edition = 3

is typeset as "‘3."’ in German and “3rd” in English. For some other languages,corresponding definitions are included in this package as well. Unfortunately, Ido not know about some languages how to write ordinal numbers. Thus, in somelanguages, a warning is produced and the given number is printed without a change(“3” in the example). If not a pure number is given, it also is typeset without a

8

Page 9: Multilingual bibliographies: The babelbib package - CTAN

change. You can add or change the output of edition numbers on a language basis,e.g.,

\declarebtxcommands{english}{%\def\btxnumeralshort#1{%

\btxnumeralenglish{english}{#1}}%\def\btxnumerallong#1{%

\ifnumber{#1}{%\ifcase#1 0th\or first\or second\or third\or forth\or fifth\or

sixth\or seventh\or eighth\or nineth\or tenth\else\btxnumeralenglish{english}{#1}%

\fi}{#1}}%}

This example typesets the ordinals between 1st and 10th as words and switchesto the short form for larger numbers in English language for the long version anduses the default function for the short version.

Three output formats are predefined: \btxnumeraldot prints the number witha dot followed, as it is common in German. \btxnumeralenglish adds “st”, “nd”,“rd”, or “th”, depending on the number. And \btxnumeralfallback generates awarning and prints the number as given.

If you, for instance, want to switch the Danish behaviour to be as the Germanis, use these commands:

\declarebtxcommands{danish}{%\def\btxnumeralshort#1{\btxnumeraldot{danish}{#1}}%\def\btxnumerallong#1{\btxnumeraldot{danish}{#1}}%

}

For the English variant, a font numeral is predefined that typesets the ap-pended characters. If you, for example, want to print the superscripted, use

\setbibliographyfont{numeral}{\textsuperscript}

If you know how numerals are handled in a language, please send me an eMail.

5.6 Printing of month and yearStarting with version 1.29, babelbib prints dates in the format “MMM YYYY’datenamewith the name of the month in case the month is specified in an bibliography entryby default (or by using the package option datename). For example,

@Manual{baeker1998a,title = {Automatische Neuvernetzung mit ABAQUS/Standard -- Technik

und Anwendungen},author = {B\"aker, M.},organization = {Institut f\"ur Werkstoffe, Technische Universit\"at

Braunschweig},address = {Braunschweig},month = oct,

9

Page 10: Multilingual bibliographies: The babelbib package - CTAN

year = 1998,language = {ngerman}

}

@TechReport{aurenhammer1996a,author = {Aurenhammer, F. and Klein, R.},title = {Voronoi Diagrams},institution = {FernUniversit\"at Gesamthochschule in Hagen},year = 1996,number = 198,month = 5,language = {english}

}

results in

[1] Bäker, M.: Automatische Neuvernetzung mit ABAQUS/Standard – Technikund Anwendungen. Institut für Werkstoffe, Technische Universität Braun-schweig, Braunschweig, October 1998.

[2] Aurenhammer, F. and R. Klein: Voronoi Diagrams. Technical Report 198,FernUniversität Gesamthochschule in Hagen, May 1996.

Note that this conversion only works if you specify the month using the prede-fined macro names jan, feb, etc. or if you specify the month numerically (1, 2, 3,etc.). If you use strings (e. g., “January”), the handling of months does not workso that month and year are printed as given in any case.

Whether the full name (e. g., “October”) or an abbreviation (e. g., “Oct.”) isprinted, is determined by the bibliography style (.bst).

By loading babelbib with the package option datenumeric, the month is con-datenumericverted to a number. Currently, the output format is “MM/YYYY” in all languages.The result looks as follows:

[1] Bäker, M.: Automatische Neuvernetzung mit ABAQUS/Standard – Technikund Anwendungen. Institut für Werkstoffe, Technische Universität Braun-schweig, Braunschweig, 10/1998.

[2] Aurenhammer, F. and R. Klein: Voronoi Diagrams. Technical Report 198,FernUniversität Gesamthochschule in Hagen, 5/1996.

If you don’t like the used format, you might change it by redefining the macro\btxprintmonthyearnum\btxprintmonthyearnum for your language as follows:

\declarebtxcommands{danish}{%\def\btxprintmonthyearnum#1#2{#1-#2}%

}

Here, the first argument is the month, the second the year.By loading babelbib with the package option dateasis, the month is printeddateasis

as specified in the bib file in the format “MMM YYYY”. Beware that the internalmacro names jan, feb, etc. are handled as numbers so that following output isgained:

10

Page 11: Multilingual bibliographies: The babelbib package - CTAN

[1] Bäker, M.: Automatische Neuvernetzung mit ABAQUS/Standard – Technikund Anwendungen. Institut für Werkstoffe, Technische Universität Braun-schweig, Braunschweig, 10 1998.

[2] Aurenhammer, F. and R. Klein: Voronoi Diagrams. Technical Report 198,FernUniversität Gesamthochschule in Hagen, 5 1996.

6 How to add new languagesThe language definitions are placed in special files with the extension .bdf. If youwant to add a new language to the babelbib system, you should copy one of theexisting bdf files and change the new file. Make sure to use an existing bdf file ofthe most recent babelbib version.

Since babelbib.sty contains a list of known languages, it will not find thenew language definition file, automatically. Then, you can give the name of thenew file without extension as an option when loading babelbib. For example, toload mylang.bdf, you have to load the package as follows:

\usepackage[mylang]{babelbib}

If you have developed a new bdf file, please send it to [email protected], I will add it to the babelbib system.

7 Problems and Incompatibilities• Babelbib does not work together with old versions of the frenchle package

prior V5,987. Please update the frenchle package or use the native babelsupport for the French language, instead.

• If babelbib is used together with one of the classes of the KOMA-Scriptbundle, some additional spaces are added when numerical edition numbersare used. This is a KOMA-Script bug and will be fixed in the next KOMA-Script release.

8 To Do• Add more languages.

• Complete Dutch.

• Add the possibility to switch off ISBN and ISSN to babasmpl.

11

Page 12: Multilingual bibliographies: The babelbib package - CTAN

AcknowledgementsDanie Els, [email protected] (Afrikaans); Taneli Huuskonen, [email protected] (Esperanto, Finnish); Víctor Luaña, [email protected] (Spanish); Hans Fredrik Nordhaug, [email protected] (Norwegian, Swedish);Robert Fuster, [email protected] (Catalan); Markus Kohm, [email protected] (Different schemes for writing names); Matthias D. Eisner, [email protected] (protect \foreignlanguage calls); Daniel Winkelmann, [email protected] (idea for different formatting of forenames andlastnames); Jan Steffan, [email protected] (\setbtxfallbacklanguage); PhilipRatcliffe, [email protected] (corrections for Italian); Angel Tsankov,[email protected] (bugfix with \bbbb〈\CurrentOption 〉loaded); Prokopis Proko-pidis, [email protected] (Greek); Daniel Flipo, [email protected] (French numerals); Ignacio Fernández Galván, [email protected] (Span-ish numerals); Peter Bartke, [email protected] (idea of annote field);Yanti Yulianti, [email protected] (Bahasa); Miguel Rodríguez Pen-abad, [email protected] (Galician); José Carlos Santos, [email protected] (Por-tuguese); Iago Quiñones, [email protected] (bugfix for Spanish); Erik Östhols,[email protected] (Swedish); Zoran Filipovic, [email protected] (Serbian); Andrei Dragomirescu, [email protected]; TomasHnizdil, [email protected].

Furthermore, I thank the person who provided Russian. Unfortunately, I can-not find the name anymore.

References[1] Braams, Johannes: Babel, a multilingual package for use with LATEX’s standard

document classes, 2002. CTAN:macros/latex/required/babel/.

[2] Wallmeier, M., A. Scherer, and H. Harders: Macros for german BibTEXing,2000. CTAN:biblio/bibtex/contrib/germbib/.

9 The implementationSource lines that look like 〈*...〉 or 〈/...〉 where ... is arbitrary text are notwritten into the output files. If a source line starts with 〈...〉, this part of theline is omitted.

9.1 Headings of the filesHeading of the package and the other files:1 〈∗package〉2 \NeedsTeXFormat{LaTeX2e}[1998/06/01]3 \ProvidesPackage{babelbib}4 〈/package〉

12

Page 13: Multilingual bibliographies: The babelbib package - CTAN

File heads of the bdf files:5 〈afrikaans〉%% Language definitions for Afrikaans by6 〈afrikaans〉%% Danie Els <[email protected]>7 〈afrikaans〉\ProvidesFile{afrikaans.bdf}8 〈bahasa〉%% Language definitions for Bahasa by9 〈bahasa〉%% Yanti Yulianti <[email protected]>

10 〈bahasa〉\ProvidesFile{bahasa.bdf}11 〈catalan〉%% Language definitions for Catalan by12 〈catalan〉%% Robert Fuster <[email protected]>13 〈catalan〉\ProvidesFile{catalan.bdf}14 〈croatian〉%% Language definitions for Croatian by15 〈croatian〉%% Vedran Mileti\’c <[email protected]>,16 〈croatian〉%% Ivan Kokan <[email protected]>,17 〈croatian〉%% Ivica Naki\’c <[email protected]>18 〈croatian〉\ProvidesFile{croatian.bdf}19 〈czech〉%% Language definitions for Czech by20 〈czech〉%% Tomas Hnizdil <[email protected]>21 〈czech〉\ProvidesFile{czech.bdf}22 〈danish〉\ProvidesFile{danish.bdf}23 〈dutch〉\ProvidesFile{dutch.bdf}24 〈english〉\ProvidesFile{english.bdf}25 〈esperanto〉%% Language definitions for Esperanto by26 〈esperanto〉%% Taneli Huuskonen <[email protected]>27 〈esperanto〉\ProvidesFile{esperanto.bdf}28 〈finnish〉%% Language definitions for Finnish by29 〈finnish〉%% Taneli Huuskonen <[email protected]>30 〈finnish〉\ProvidesFile{finnish.bdf}31 〈french〉\ProvidesFile{french.bdf}32 〈galician〉%% Language definitions for Galician by33 〈galician〉%% Miguel Rodr{\’\i}guez Penabad <[email protected]>34 〈galician〉\ProvidesFile{galician.bdf}35 〈german〉\ProvidesFile{german.bdf}36 〈greek〉\ProvidesFile{greek.bdf}37 〈greek〉%% Language definitions for Greek by38 〈greek〉%% Prokopis Prokopidis <[email protected]>39 〈italian〉\ProvidesFile{italian.bdf}40 〈norsk〉%% Language definitions for Norwegian by41 〈norsk〉%% Hans Fredrik Nordhaug <[email protected]>42 〈norsk〉\ProvidesFile{norsk.bdf}43 〈portuguese〉%% Language definitions for Portuguese by44 〈portuguese〉%% Jos\’e Carlos Santos <[email protected]>45 〈portuguese〉\ProvidesFile{portuguese.bdf}46 〈romanian〉%% Language definitions for Romanian by47 〈romanian〉%% Andrei Dragomirescu <[email protected]>48 〈romanian〉\ProvidesFile{romanian.bdf}49 〈russian〉%% Language definitions for Russian by50 〈russian〉%% ... (can’t find the information. If it was you please tell me!)51 〈russian〉\ProvidesFile{russian.bdf}52 〈serbian〉%% Language definitions for Serbian by

13

Page 14: Multilingual bibliographies: The babelbib package - CTAN

53 〈serbian〉%% Zoran Filipovic <[email protected]>54 〈serbian〉\ProvidesFile{serbian.bdf}55 〈spanish〉%% Language definitions for Spanish by56 〈spanish〉%% V{\’\i}ctor Lua{\~n}a <[email protected]>57 〈spanish〉\ProvidesFile{spanish.bdf}58 〈swedish〉%% Language definitions for Swedish by59 〈swedish〉%% Hans Fredrik Nordhaug <[email protected]> and60 〈swedish〉%% Erik \"Osthols <[email protected]>61 〈swedish〉\ProvidesFile{swedish.bdf}Version information unique for all generated files:62 〈latex〉 [2019/03/11 v1.32 babelbib: multilingual bibliographies (HH)]63 〈bst〉%% 2019/03/11 v1.32 babelbib: multilingual bibliographies (HH)

9.2 The package itselfDefine an option which fixes the language in the bibliography to the main languageof the document.64 〈∗package〉65 \newif\ifbbbbfixlanguage66 \DeclareOption{fixlanguage}{\bbbbfixlanguagetrue}67 \DeclareOption{varlanguage}{\bbbbfixlanguagefalse}

If this option is used, generate the commands \btxlanguagename〈language〉 thatsave how languages are called in other languages, e. g. in German, French is called„französisch“.68 \newif\ifbbbblanguagenames69 \DeclareOption{nolanguagenames}{\bbbblanguagenamesfalse}70 \DeclareOption{languagenames}{\bbbblanguagenamestrue}

71 \newif\ifbbbbannotations72 \DeclareOption{annote}{\bbbbannotationstrue}73 \DeclareOption{noannote}{\bbbbannotationsfalse}

\ifbtx@printISBN\ifbtx@printISSN

The booleans that store the necessary information if ISBN and ISSN shall beprinted.74 \newif\ifbtx@printISBN75 \newif\ifbtx@printISSN76 \DeclareOption{isbn}{\btx@printISBNtrue}77 \DeclareOption{noisbn}{\btx@printISBNfalse}78 \DeclareOption{issn}{\btx@printISSNtrue}79 \DeclareOption{noissn}{\btx@printISSNfalse}

\bbbbifundefined

80 \newcommand\btxprintmonthyear[4]{}81 \newcommand*\btx@dateasis{%82 \def\btxprintmonthyear##1##2##3##4{##2\ ##3}%83 }84 \newcommand*\btx@datenumeric{%85 \def\btxprintmonthyear##1##2##3##4{%

14

Page 15: Multilingual bibliographies: The babelbib package - CTAN

86 \ifnumber{##2}{\btxprintmonthyearnum{##2}{##3}}{##2\ ##3}}%87 }88 \newcommand*\btx@datename{%89 \def\btxprintmonthyear##1##2##3##4{%90 \ifnumber{##2}{%91 \ifcase ##2 \or92 \csname btxmonjan##4\endcsname{##1}\or93 \csname btxmonfeb##4\endcsname{##1}\or94 \csname btxmonmar##4\endcsname{##1}\or95 \csname btxmonapr##4\endcsname{##1}\or96 \csname btxmonmay##4\endcsname{##1}\or97 \csname btxmonjun##4\endcsname{##1}\or98 \csname btxmonjul##4\endcsname{##1}\or99 \csname btxmonaug##4\endcsname{##1}\or

100 \csname btxmonsep##4\endcsname{##1}\or101 \csname btxmonoct##4\endcsname{##1}\or102 \csname btxmonnov##4\endcsname{##1}\or103 \csname btxmondec##4\endcsname{##1}\or104 \PackageError{babelbib}{%105 Month outside range 1 to 12 used}{%106 Better use the BibTeX names jan, feb, mar, etc.}%107 \fi108 \ ##3%109 }{%110 ##2\ ##3}%111 }%112 }113 \DeclareOption{dateasis}{\btx@dateasis}114 \DeclareOption{datenumeric}{\btx@datenumeric}115 \DeclareOption{datename}{\btx@datename}

If additional options are given, try to load these as languages. This is implementedin order to be able to use a new language that is not yet supported by the officialbabelbib.

116 \DeclareOption*{%117 \InputIfFileExists{\CurrentOption.bdf}{%118 \expandafter\def\csname bbbb\CurrentOption loaded\endcsname{\@empty}%119 }{%120 \PackageError{babelbib}{%121 Language definition file \CurrentOption.bdf not found}{%122 Maybe you misspelled the language option?}%123 }%124 }

Default options.125 \ExecuteOptions{varlanguage,nolanguagenames,noannote,isbn,issn,datename}

Process the given options.126 \ProcessOptions*

15

Page 16: Multilingual bibliographies: The babelbib package - CTAN

\bbbbifundefined Define a replacement for \@ifundefined that does not define the command it istested for as side effect. This command has been taken from a news posting byMarkus Kohm ([email protected]).

127 \newcommand*{\bbbbifundefined}[1]{%128 \begingroup\expandafter\expandafter\expandafter\endgroup129 \expandafter\ifx\csname #1\endcsname\relax130 \expandafter\@firstoftwo131 \else132 \expandafter\@secondoftwo133 \fi134 }

\bbbbaddto Adds the command named \bibs#2 to the command \extras#1, if this commandis defined before, where #1 and #2 are the arguments of \bbbbaddto. For internaluse only.

135 \newcommand\bbbbaddto[2]{%

Test wheather \extras#1 is defined.136 \expandafter\bbbbifundefined{extras#1}{}{%

Call babel’s command to append \bibs#1 to \extras#1.137 \expandafter\addto\expandafter{\csname extras#1\endcsname}{%138 \csname #2\endcsname}%139 \typeout{babelbib extension \@backslashchar #2 added to140 \string\extras #1}%141 }%142 }

\inputbdf Input the file #2.bdf if babel has loaded the language #1. For internal use only.143 \newcommand\inputbdf[2]{%

Test wheather \date#1 is defined which is the case if the language #1 has beenloaded.

144 \bbbbifundefined{date#1}{}{%

Input #2.bdf.145 \@ifundefined{bbbb#2loaded}{%146 \expandafter\def\csname bbbb#2loaded\endcsname{\@empty}%147 \input{#2.bdf}%148 }{}%149 }%150 }

\selectbiblanguage Define \selectbiblanguage which explicitly selects the language for the biblio-graphy. This is only useful when the option fixlanguage is used. Otherwise thecommand produces a warning and does nothing else.

Since all the language dependent macros are not know before \begin{document},the command \selectbiblanguage has to wait until there, before doing anyaction. Because after \begin{document}, it can do the action immediately,\selectbiblanguge has to be redefined there.

151 \ifbbbbfixlanguage

16

Page 17: Multilingual bibliographies: The babelbib package - CTAN

Define the \selectlanguage command for usage before \begin{document}.152 \newcommand\selectbiblanguage[1]{%153 \AtBeginDocument{\@selectbiblanguage{#1}}%154 }

Redefine it at \begin{document}.155 \AtBeginDocument{%156 \renewcommand\selectbiblanguage[1]{\@selectbiblanguage{#1}}%157 }

Define the “real” command that does the action. It tests wheather \bibs#1 and\extras#1 are known and produces error messages if not. If everything is okay,change the bibliography language.

158 \newcommand\@selectbiblanguage[1]{%159 \bbbbifundefined{bibs#1}{%160 \bbbbifundefined{date#1}{%161 \PackageError{babelbib}{Language #1 in bibliography not loaded162 by babel}{%163 The language #1 hasn’t been loaded by babel.164 Add it to the\MessageBreak165 options of the \string\usepackage{babel} command or to the166 global options.}%167 }{%168 \PackageError{babelbib}{Language #1 in bibliography unknown by169 babelbib}{%170 There are no definitions for #1 available in the171 current\MessageBreak172 version of babelbib. Please contact [email protected].}%173 }%174 }{%175 \typeout{babelbib: Set language for keywords in the bibliography fixed to #1}%176 \csname bibs#1\endcsname177 }%178 }179 \else180 \newcommand\selectbiblanguage[1]{%181 \PackageWarning{babelbib}{Command \string\selectbiblanguage\space182 used without package\MessageBreak183 option fixlanguage. Ignored}%184 }185 \AtBeginDocument{%186 \typeout{babelbib: Use citation-dependent languages in bibliography}%187 }188 \fi

\btxselectlanguage Define \selectbiblanguage which selects a language and complains if babelbibdoes not know about this language. For internal use, only.

189 \newcommand\btxselectlanguage[1]{%190 \bbbbifundefined{bibs#1}{%191 \bbbbifundefined{date#1}{%

17

Page 18: Multilingual bibliographies: The babelbib package - CTAN

192 \PackageError{babelbib}{Language #1 in bibliography not loaded193 by babel}{%194 The language #1 hasn’t been loaded by babel.195 Add it to the\MessageBreak196 options of the \string\usepackage{babel} command or to the197 global options.}%198 }{%199 \ifbbbbfixlanguage200 \PackageWarning{babelbib}{Language #1 in bibliography201 unknown\MessageBreak202 by babelbib. Hyphenation will be\MessageBreak203 incorrect}%204 \else205 \PackageError{babelbib}{Language #1 in bibliography unknown by206 babelbib}{%207 There are no definitions for #1 available in the208 current\MessageBreak209 version of babelbib. Please contact [email protected].}%210 \fi211 }%212 }{%213 \csname extras#1\endcsname214 \selectlanguage{#1}%215 }%216 }

\biblanguage Define \biblanguage which switches to the keyword language within a field.217 \newcommand\biblanguage[1]{{%218 \expandafter\selectlanguage\expandafter{\biblanguagename}#1}}

\btxlanguagename Define \btxlanguagename which typesets the name of the language given in theargument, spoken in the current active language.

219 \newcommand\btxlanguagename[1]{%220 \bbbbifundefined{btxlanguagename#1}{%221 \PackageError{babelbib}{Languagename for #1 not222 defined\MessageBreak223 in \languagename\space language}{%224 Either you have forgotten to specify the option ‘languagenames’225 when loading\MessageBreak226 babelbib, or the command \string\bibs\languagename\space does227 not contain a definition\MessageBreak228 for the command \string\btxlanguagename#1.229 In the latter case, please\MessageBreak230 contact [email protected].}%231 #1%232 }{%233 \@nameuse{btxlanguagename#1}%234 }%235 }

18

Page 19: Multilingual bibliographies: The babelbib package - CTAN

\setbtxfallbacklanguage

236 \newcommand*\setbtxfallbacklanguage[1]{%237 \edef\btxfallbacklanguage{#1}%238 \typeout{babelbib: Set bibliography fall-back language to239 \btxfallbacklanguage}%240 }

\btxfallbacklanguage

241 \AtBeginDocument{%242 \@ifundefined{btxfallbacklanguage}{%243 \edef\btxfallbacklanguage{\languagename}%244 \typeout{babelbib: Set bibliography fall-back language to245 \btxfallbacklanguage}%246 }{%247 \typeout{babelbib: Bibliography fall-back language unchanged248 (\btxfallbacklanguage)}%249 }%250 }

\declarebtxcommands Declare \declarebtxcommands which adds or replaces one or more of the \Btxor \btx commands defined in a \bibs〈language〉 command. The first argumentgives the language for which the commands shall be added or changed. The secondargument includes the definitions of the commands. For an example, see section 2.

251 \newcommand*\declarebtxcommands[2]{%252 \AtBeginDocument{%253 \typeout{babelbib: Add a command to \string\bibs#1}%254 \expandafter\g@addto@macro\csname bibs#1\endcsname{#2}%255 \ifbbbbfixlanguage256 \selectbiblanguage{\biblanguagename}%257 \fi258 }%259 }

This command may only be used in the preamble.260 \@onlypreamble\declarebtxcommands

\btxifchangecaseon\btxifchangecaseoff

The bst files write titles twice, first with changed case and second with pre-served case. The macros \btxifchangecaseon and \btxifchangecaseoff type-set one of these versions. The languages append one of these commands to the\extras〈language〉 commands.

261 \newcommand*\btxifchangecaseon{%262 \def\btxifchangecase{\@firstoftwo}%263 }%264 \newcommand*\btxifchangecaseoff{%265 \def\btxifchangecase{\@secondoftwo}%266 }%

\setbibliographyfont Define \setbibliographyfont and \setbibliographyfont* that set the fontdeclared by the first argument #1 to the second argument #2. The second argument

19

Page 20: Multilingual bibliographies: The babelbib package - CTAN

has to be a macro with one argument, like \textbf, \emph, \textsc, etc. Thenormal version generates an error, if the internal command \btx#1font is notdefined. The star version doesn’t. error.

267 \newcommand\setbibliographyfont{%268 \@ifnextchar*{\@@setbibliographyfont}{\@setbibliographyfont}%269 }

\@setbibliographyfont

270 \newcommand\@setbibliographyfont[2]{%271 \bbbbifundefined{btx#1font}{%272 \PackageError{babelbib}{Bibliography font ‘#1’ can’t be set}{%273 You have tried to define a font for the bibliographic element274 \MessageBreak275 ‘#1’, which is unknown to babelbib}%276 }{%277 \expandafter\renewcommand\csname btx#1font\endcsname{#2}%278 \typeout{babelbib: Bibliography font for ‘#1’ changed.}%279 }%280 }

\@@setbibliographyfont The first argument is the * and ignored.281 \newcommand\@@setbibliographyfont[3]{%282 \bbbbifundefined{btx#2font}{%283 \expandafter\newcommand\csname btx#2font\endcsname{#3}%284 \typeout{babelbib: Bibliography font for ‘#2’ newly defined.}%285 }{%286 \expandafter\renewcommand\csname btx#2font\endcsname{#3}%287 \typeout{babelbib: Bibliography font for ‘#2’ changed.}%288 }%289 }

\providebibliographyfont Define \providebibliographyfont and \providebibliographyfont* that dothe same as \setbibliographyfont and \setbibliographyfont*, but only,if \setbibliographyfont has not been used for #1, before. It is similar to\providecommmand which only defines that command if it is undefined, before.This command is intended to be used by the BibTEX style, but can also be usedby the user.

290 \newcommand\providebibliographyfont{%291 \@ifnextchar*{\@@providebibliographyfont}{\@providebibliographyfont}%292 }

\@providebibliographyfont

293 \newcommand\@providebibliographyfont[2]{%294 \bbbbifundefined{btx#1font}{%295 \PackageError{babelbib}{Bibliography font ‘#1’ can’t be set}{%296 You have tried to define a font for the bibliographic element297 \MessageBreak298 ‘#1’, which is unknown to babelbib}%

20

Page 21: Multilingual bibliographies: The babelbib package - CTAN

299 }{%300 \expandafter\ifx\csname btx#1font\endcsname\@empty301 \expandafter\renewcommand\csname btx#1font\endcsname{#2}%302 \typeout{babelbib: Using the BibTeX style’s default font for ‘#1’.}%303 \else304 \typeout{babelbib: Using user changed font for ‘#1’.}%305 \fi306 }%307 }

\@@setbibliographyfont The first argument is the * and ignored.308 \newcommand\@@providebibliographyfont[3]{%309 \bbbbifundefined{btx#2font}{%310 \expandafter\newcommand\csname btx#2font\endcsname{#3}%311 \typeout{babelbib: Using the BibTeX style’s default font for ‘#2’.}%312 }{%313 \expandafter\ifx\csname btx#2font\endcsname\@empty314 \expandafter\renewcommand\csname btx#2font\endcsname{#3}%315 \typeout{babelbib: Using the BibTeX style’s default font for ‘#2’.}%316 \else317 \typeout{babelbib: Using user changed font for ‘#2’.}%318 \fi319 }%320 }

\btxnamefont Define the dummy commands for available fonts321 \newcommand*\btxnamefont{}322 \let\btxnamefont=\@empty323 \newcommand*\btxlastnamefont{}324 \let\btxlastnamefont=\@empty325 \newcommand\btxtitlefont{}326 \let\btxtitlefont=\@empty327 \newcommand\btxjtitlefont{}328 \let\btxjtitlefont=\@empty329 \newcommand\btxetalfont{}330 \let\btxetalfont=\@empty331 \newcommand\btxjournalfont{}332 \let\btxjournalfont=\@empty333 \newcommand\btxpublisherfont{}334 \let\btxpublisherfont=\@empty335 \newcommand\btxvolumefont{}336 \let\btxvolumefont=\@empty337 \newcommand\btxISBNfont{}338 \let\btxISBNfont=\@empty339 \newcommand\btxISSNfont{}340 \let\btxISSNfont=\@empty341 \newcommand\btxurlfont{}342 \let\btxurlfont=\@empty343 \newcommand\btxurldatefont{}344 \let\btxurldatefont=\@empty

21

Page 22: Multilingual bibliographies: The babelbib package - CTAN

345 \newcommand\btxnumeralfont{}346 \let\btxnumeralfont=\@empty

\btxauthorcolon Define \btxauthorcolon which defines the characters typeset after the authors,if they are written before the title. By default, it is a “:”.

347 \newcommand\btxauthorcolon{:}

\btxISBN Define \btxISBN which outputs "‘ISBN"’ in a bibliography. For example, it couldbe defined to \textsc{isbn} when old style digits are used.

348 \newcommand\btxISBN{ISBN}

\btxISSN Define \btxISSN which outputs "‘ISSN"’ in a bibliography. For example, it couldbe defined to \textsc{issn} when old style digits are used.

349 \newcommand\btxISSN{ISSN}

\ifbtxprintISBN\ifbtxprintISSN

These commands are used by the bibliography styles to typeset the ISBN or ISSNonly if wanted.

350 \DeclareRobustCommand\ifbtxprintISBN[1]{\ifbtx@printISBN #1\fi}351 \DeclareRobustCommand\ifbtxprintISSN[1]{\ifbtx@printISSN #1\fi}

\btxprintISBN\btxprintISSN

These macros are used to switch on or off printing of ISBN resp. ISSN. Validarguments are true and false.

352 \newcommand*\btxprintISBN[1]{\csname btx@printISBN#1\endcsname}353 \newcommand*\btxprintISSN[1]{\csname btx@printISSN#1\endcsname}

\btxannotation A command that typesets annotations.354 \ifbbbbannotations355 \DeclareRobustCommand\btxannotation[1]{%356 \begin{quotation}%357 \noindent358 #1%359 \end{quotation}%360 }361 \else362 \DeclareRobustCommand\btxannotation[1]{}%363 \fi

\btx@ifnumerical Test wheather argument 1 is a number (from KOMA script)364 \providecommand\ifnumber[3]{%365 \begingroup\@tempswafalse\let\scr@next\test@number366 \expandafter\scr@next#1\scr@next367 \if@tempswa\endgroup#2\else\endgroup#3\fi368 }369 \providecommand*\test@number[1]{%370 \ifx \scr@next#1%371 \let\scr@next\relax372 \else373 \@tempcnta=\expandafter\expandafter\expandafter\number

22

Page 23: Multilingual bibliographies: The babelbib package - CTAN

374 \expandafter‘#1\relax375 \ifnum \@tempcnta>47\relax376 \ifnum \@tempcnta<58\relax377 \@tempswatrue378 \else\@tempswafalse\fi379 \else\@tempswafalse\fi380 \if@tempswa\else\let\scr@next\gobble@till@next\fi\fi381 \scr@next382 }383 \def\gobble@till@next#1\scr@next{}

\btx@parsenum Parses the number given by \btx@parsenum〈number〉\@empty prints it and returnsthe last two digits in \btx@digita and \btx@digitb.

384 \def\btx@parsenum#1#2#3\@empty{%385 #1%386 \edef\btx@digitb{#3}%387 \ifx\@empty\btx@digitb388 #2%389 \edef\btx@digita{#1}%390 \edef\btx@digitb{#2}%391 \else392 \expandafter\btx@parsenum#2#3\@empty393 \fi394 }

\btxnumeralfallback

395 \DeclareRobustCommand\btxnumeralfallback[2]{%396 \foreignlanguage{#1}{%397 \ifnumber{#2}{%398 \PackageWarning{babelbib}{Handling of numerical editions not399 handled\MessageBreak by language #1 for edition ‘#2’}%400 }{}%401 #2%402 }%403 }%

\btxnumeraldot

404 \DeclareRobustCommand\btxnumeraldot[2]{%405 \foreignlanguage{#1}{\ifnumber{#2}{#2.}{#2}}%406 }

\btxnumeralenglish

407 \DeclareRobustCommand\btxnumeralenglish[2]{%408 \foreignlanguage{#1}{%409 \ifnumber{#2}{%410 \expandafter\btx@parsenum#2\@empty\@empty\@empty411 \btxnumeralfont{%412 \ifx\btx@digitb\@empty

23

Page 24: Multilingual bibliographies: The babelbib package - CTAN

413 \ifcase\btx@digita th\or st\or nd\or rd\else th\fi414 \else415 \ifnum\btx@digita=1416 th%417 \else418 \ifcase\btx@digitb th\or st\or nd\or rd\else th\fi419 \fi420 \fi421 }%422 }{#2}%423 }%424 }

\btxnumeralromanian

425 \newcounter{btxromaniannumeral}%426 \renewcommand\thebtxromaniannumeral{\Roman{btxromaniannumeral}}%427 \DeclareRobustCommand\btxnumeralromanian[2]{%428 \foreignlanguage{#1}{%429 \ifnumber{#2}{%430 \setcounter{btxromaniannumeral}{#2}%431 \ifcase#2 0\or \thebtxromaniannumeral\else a \thebtxromaniannumeral-a \fi432 }{#2}%433 }%434 }

\btxnumeralswedish

435 \DeclareRobustCommand\btxnumeralswedish[2]{%436 \foreignlanguage{#1}{%437 \ifnumber{#2}{%438 \expandafter\btx@parsenum#2\@empty\@empty\@empty439 \btxnumeralfont{%440 \ifx\btx@digitb\@empty441 \ifcase\btx@digita :e\or :a\or :a\or :e\else :e\fi442 \else443 \ifnum\btx@digita=1444 :a%445 \else446 \ifcase\btx@digitb :e\or :a\or :a\or :e\else :e\fi447 \fi448 \fi449 }%450 }{#2}%451 }%452 }

\url Define \url which, by default, is used for URLs. Only necessary if not providedby another package, e. g. url.sty.

453 \AtBeginDocument{%454 \providecommand\url[1]{%

24

Page 25: Multilingual bibliographies: The babelbib package - CTAN

455 \PackageError{babelbib}{No \string\url\space command defined but456 field URL used\MessageBreak457 in bibliography}{%458 Please define a \string\url\space command for printing URLs459 before \string\begin{document}, e.\,g.\MessageBreak460 by loading the package ‘url.sty’.}%461 \texttt{#1}%462 }%463 }

Perform the following commands at \begin{document} in order to be sure to dothat after loading babel.

464 \AtBeginDocument{%

Load babel if that has not been done, yet.465 \RequirePackage{babel}

Input all know languages that babel has also loaded, before.466 \inputbdf{afrikaans}{afrikaans}467 \inputbdf{american}{english}468 \inputbdf{austrian}{german}469 \inputbdf{bahasa}{bahasa}470 \inputbdf{brazil}{portuguese}471 \inputbdf{brazilian}{portuguese}472 \inputbdf{british}{english}473 \inputbdf{canadian}{english}474 \inputbdf{canadien}{french}475 \inputbdf{catalan}{catalan}476 \inputbdf{croatian}{croatian}477 \inputbdf{czech}{czech}478 \inputbdf{danish}{danish}479 \inputbdf{dutch}{dutch}480 \inputbdf{english}{english}481 \inputbdf{esperanto}{esperanto}482 \inputbdf{finnish}{finnish}483 \inputbdf{francais}{french}484 \inputbdf{french}{french}485 \inputbdf{frenchb}{french}486 \inputbdf{galician}{galician}487 \inputbdf{german}{german}488 \inputbdf{germanb}{german}489 \inputbdf{greek}{greek}490 \inputbdf{italian}{italian}491 \inputbdf{norsk}{norsk}492 \inputbdf{mexican}{spanish}493 \inputbdf{naustrian}{german}494 \inputbdf{ngerman}{german}495 \inputbdf{portuges}{portuguese}496 \inputbdf{portuguese}{portuguese}497 \inputbdf{romanian}{romanian}

25

Page 26: Multilingual bibliographies: The babelbib package - CTAN

498 \inputbdf{russian}{russian}499 \inputbdf{russianb}{russian}500 \inputbdf{serbian}{serbian}501 \inputbdf{spanish}{spanish}502 \inputbdf{swedish}{swedish}503 \inputbdf{UKenglish}{english}504 \inputbdf{USenglish}{english}

Call \bibs#1, where #1 stands for the main language of the document, to activatethe additional bibliographic commands.

505 \ifbbbbfixlanguage506 \typeout{babelbib: Load BibTeX extensions507 \string\bibs\bbl@main@language\space for \bbl@main@language}%508 \selectbiblanguage{\bbl@main@language}%509 \else510 \expandafter\selectlanguage\expandafter{\bbl@main@language}%511 \fi512 }513 〈/package〉

9.3 The language definitions9.3.1 German

514 〈∗german〉

\bibsgerman Define \bibsgerman which itself defines all necessary expressions used in bibli-ographies that differ in different languages. This command is used for all Germandialects.

Since the language of the keywords may differ from the language of the biblio-graphy item, the keyword language is set for each keyword. Because this commandis also used for dialects, it has an optional argument which is set to the dialect.

515 \newcommand\bibsgerman[1][german]{%

Define the command \biblanguagename that always returns the name of thecurrent language for bibliographies.

516 \def\biblanguagename{#1}%

First, define all commands for usage within a sentence (which normally start witha lowercase letter, if they aren’t a noun). These commands start with a lowercaseletter.

Many commands have an argument. This may be used by the bibTEX stylesto append a dot after abbreviations, e. g. \btxetalshort{.}.

517 \def\btxetalshort##1{\protect\foreignlanguage{#1}{et~al##1{}}}%518 \def\btxetallong##1{\protect\foreignlanguage{#1}{et~alii}}%519 \def\btxandshort##1{\protect\foreignlanguage{#1}{und}}%520 \def\btxandlong##1{\protect\foreignlanguage{#1}{und}}%

The command \btxandcomma contains a “,” if a comma is added before the “and”in a list of more than two items. For German, this is not the case.

521 \def\btxandcomma##1{}%

26

Page 27: Multilingual bibliographies: The babelbib package - CTAN

522 \def\btxinlong##1{\protect\foreignlanguage{#1}{in:}}%523 \def\btxinshort##1{\protect\foreignlanguage{#1}{in:}}%524 \def\btxofseriesshort##1{\protect\foreignlanguage{#1}{d.\ Reihe}}%525 \def\btxinseriesshort##1{\protect\foreignlanguage{#1}{in}}%526 \def\btxofserieslong##1{\protect\foreignlanguage{#1}{der Reihe}}%527 \def\btxinserieslong##1{\protect\foreignlanguage{#1}{in}}%528 \def\btxeditorshort##1{\protect\foreignlanguage{#1}{Hrsg##1{}}}%529 \def\btxeditorlong##1{\protect\foreignlanguage{#1}{Herausgeber}}%530 \def\btxeditorsshort##1{\protect\foreignlanguage{#1}{Hrsg##1{}}}%531 \def\btxeditorslong##1{\protect\foreignlanguage{#1}{Herausgeber}}%532 \def\btxvolumeshort##1{\protect\foreignlanguage{#1}{Bd##1{}}}%533 \def\btxvolumelong##1{\protect\foreignlanguage{#1}{Band}}%534 \def\btxnumbershort##1{\protect\foreignlanguage{#1}{Nr##1{}}}%535 \def\btxnumberlong##1{\protect\foreignlanguage{#1}{Nummer}}%

Avoid the ligature in „Auflage“ in the same way, babel does it. This is a changein the behaviour to the germbib package. In „Aufl“ the ligature is still used sincethis is done in abbreviations.

536 \def\btxeditionshort##1{\protect\foreignlanguage{#1}{Aufl##1{}}}%537 \def\btxeditionlong##1{\protect\foreignlanguage{#1}{%538 Auf\penalty10000\discretionary{-}{}{\kern.03em}%539 \allowhyphens lage}}%540 \def\btxeditionnumshort##1##2{\btxnumeralshort{##1}~\btxeditionshort{##2}}%541 \def\btxeditionnumlong##1##2{\btxnumerallong{##1}~\btxeditionlong{##2}}%542 \def\btxchaptershort##1{\protect\foreignlanguage{#1}{Kap##1{}}}%543 \def\btxchapterlong##1{\protect\foreignlanguage{#1}{Kapitel}}%544 \def\btxpageshort##1{\protect\foreignlanguage{#1}{S##1{}}}%545 \def\btxpagelong##1{\protect\foreignlanguage{#1}{Seite}}%546 \def\btxpagesshort##1{\protect\foreignlanguage{#1}{S##1{}}}%547 \def\btxpageslong##1{\protect\foreignlanguage{#1}{Seiten}}%548 \def\btxmastthesis##1{\protect\foreignlanguage{#1}{Diplomarbeit}}%

Use „Dissertation“ instead of „Doktorarbeit“ for PhD theses. This is a change inthe behaviour to the germbib package.

549 \def\btxphdthesis##1{\protect\foreignlanguage{#1}{Dissertation}}%550 \def\btxtechrepshort##1{\protect\foreignlanguage{#1}{Techn.\ Ber##1{}}}%551 \def\btxtechreplong##1{\protect\foreignlanguage{#1}{Technischer Bericht}}%552 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{Januar}}%553 \def\btxmonfeblong##1{\protect\foreignlanguage{#1}{Februar}}%554 \def\btxmonmarlong##1{\protect\foreignlanguage{#1}{M\"arz}}%555 \def\btxmonaprlong##1{\protect\foreignlanguage{#1}{April}}%556 \def\btxmonmaylong##1{\protect\foreignlanguage{#1}{Mai}}%557 \def\btxmonjunlong##1{\protect\foreignlanguage{#1}{Juni}}%558 \def\btxmonjullong##1{\protect\foreignlanguage{#1}{Juli}}%559 \def\btxmonauglong##1{\protect\foreignlanguage{#1}{August}}%560 \def\btxmonseplong##1{\protect\foreignlanguage{#1}{September}}%561 \def\btxmonoctlong##1{\protect\foreignlanguage{#1}{Oktober}}%562 \def\btxmonnovlong##1{\protect\foreignlanguage{#1}{November}}%563 \def\btxmondeclong##1{\protect\foreignlanguage{#1}{Dezember}}%564 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{Jan##1{}}}%

27

Page 28: Multilingual bibliographies: The babelbib package - CTAN

565 \def\btxmonfebshort##1{\protect\foreignlanguage{#1}{Feb##1{}}}%566 \def\btxmonmarshort##1{\protect\foreignlanguage{#1}{M\"arz}}%567 \def\btxmonaprshort##1{\protect\foreignlanguage{#1}{Apr##1{}}}%568 \def\btxmonmayshort##1{\protect\foreignlanguage{#1}{Mai}}%569 \def\btxmonjunshort##1{\protect\foreignlanguage{#1}{Juni}}%570 \def\btxmonjulshort##1{\protect\foreignlanguage{#1}{Juli}}%571 \def\btxmonaugshort##1{\protect\foreignlanguage{#1}{Aug##1{}}}%572 \def\btxmonsepshort##1{\protect\foreignlanguage{#1}{Sep##1{}}}%573 \def\btxmonoctshort##1{\protect\foreignlanguage{#1}{Okt##1{}}}%574 \def\btxmonnovshort##1{\protect\foreignlanguage{#1}{Nov##1{}}}%575 \def\btxmondecshort##1{\protect\foreignlanguage{#1}{Dez##1{}}}%

Then, define all commands for usage at the begin of a sentence (which start withan uppercase letter). These commands start with an uppercase letter. Since, inGerman, many nouns are the same in the middle and at the start of a sentence,the \Btx variants just call the \btx variant.

576 \def\Btxinlong##1{\protect\foreignlanguage{#1}{In:}}%577 \def\Btxinshort##1{\protect\foreignlanguage{#1}{In:}}%578 \def\Btxeditorshort{\btxeditorshort}%579 \def\Btxeditorlong{\btxeditorlong}%580 \def\Btxeditorsshort{\btxeditorsshort}%581 \def\Btxeditorslong{\btxeditorslong}%582 \def\Btxvolumeshort{\btxvolumeshort}%583 \def\Btxvolumelong{\btxvolumelong}%584 \def\Btxnumbershort{\btxnumbershort}%585 \def\Btxnumberlong{\btxnumberlong}%586 \def\Btxeditionshort{\btxeditionshort}%587 \def\Btxeditionlong{\btxeditionlong}%588 \def\Btxeditionnumshort##1##2{\btxnumeralshort{##1}~\Btxeditionshort{##2}}%589 \def\Btxeditionnumlong##1##2{\btxnumerallong{##1}~\Btxeditionlong{##2}}%590 \def\Btxchaptershort{\btxchaptershort}%591 \def\Btxchapterlong{\btxchapterlong}%592 \def\Btxpageshort{\btxpageshort}%593 \def\Btxpagelong{\btxpagelong}%594 \def\Btxpagesshort{\btxpagesshort}%595 \def\Btxpageslong{\btxpageslong}%596 \def\Btxtechrepshort{\btxtechrepshort}%597 \def\Btxtechreplong{\btxtechreplong}%598 \def\btxurldatecomment##1{\protect\foreignlanguage{#1}{, besucht: ##1}}%

The command \btxfnamespaceshort and \btxfnamespacelong contain the spacebetween two abbreviated resp. full forenames.

599 \def\btxfnamespaceshort{\,}%600 \def\btxfnamespacelong{ }%

Handle numerical edition numbers.601 \def\btxnumeralshort##1{\btxnumeraldot{#1}{##1}}%602 \def\btxnumerallong##1{\btxnumeraldot{#1}{##1}}%

Define how to print month and year in numeric format, e. g. MM/YYYY.603 \def\btxprintmonthyearnum##1##2{##1/##2}%

28

Page 29: Multilingual bibliographies: The babelbib package - CTAN

A command that just puts some user defined text in the language of the keywords.604 % \def\btxkeywordlanguage##1{\protect\foreignlanguage{#1}{##1}}%605 \def\btxkeywordlanguage##1{{\protect\selectlanguage{#1}##1}}%

Names of all known languages in the current language. For example, used bybabamspl.bst.

606 \ifbbbblanguagenames607 \def\btxlanguagenameamerican{\protect\foreignlanguage{#1}{englisch}}%608 \def\btxlanguagenameaustrian{\protect\foreignlanguage{#1}{deutsch}}%609 \def\btxlanguagenamebrazil{\protect\foreignlanguage{#1}{portugiesisch}}%610 \def\btxlanguagenamebrazilian{\protect\foreignlanguage{#1}{portugiesisch}}%611 \def\btxlanguagenamebritish{\protect\foreignlanguage{#1}{englisch}}%612 \def\btxlanguagenamebulgarian{\protect\foreignlanguage{#1}{bulgarisch}}%613 \def\btxlanguagenamecanadian{\protect\foreignlanguage{#1}{englisch}}%614 \def\btxlanguagenamecanadien{\protect\foreignlanguage{#1}{franz\"osisch}}%615 \def\btxlanguagenamecatalan{\protect\foreignlanguage{#1}{katalanisch}}%616 \def\btxlanguagenamecroatian{\protect\foreignlanguage{#1}{kroatisch}}%617 \def\btxlanguagenameczech{\protect\foreignlanguage{#1}{tschechisch}}%618 \def\btxlanguagenamedanish{\protect\foreignlanguage{#1}{d\"anisch}}%619 \def\btxlanguagenamedutch{\protect\foreignlanguage{#1}{niederl\"andisch}}%620 \def\btxlanguagenameenglish{\protect\foreignlanguage{#1}{englisch}}%621 \def\btxlanguagenameesperanto{\protect\foreignlanguage{#1}{esperanto}}%622 \def\btxlanguagenamefinnish{\protect\foreignlanguage{#1}{finnisch}}%623 \def\btxlanguagenamefrancais{\protect\foreignlanguage{#1}{franz\"osisch}}%624 \def\btxlanguagenamefrench{\protect\foreignlanguage{#1}{franz\"osisch}}%625 \def\btxlanguagenamefrenchb{\protect\foreignlanguage{#1}{franz\"osisch}}%626 \def\btxlanguagenamegerman{\protect\foreignlanguage{#1}{deutsch}}%627 \def\btxlanguagenamegermanb{\protect\foreignlanguage{#1}{deutsch}}%628 \def\btxlanguagenamegreek{\protect\foreignlanguage{#1}{griechisch}}%629 \def\btxlanguagenamehebrew{\protect\foreignlanguage{#1}{hebr\"aisch}}%630 \def\btxlanguagenamehungarian{\protect\foreignlanguage{#1}{ungarisch}}%631 \def\btxlanguagenameicelandic{\protect\foreignlanguage{#1}{isl\"andisch}}%632 \def\btxlanguagenameirish{\protect\foreignlanguage{#1}{irisch}}%633 \def\btxlanguagenameitalian{\protect\foreignlanguage{#1}{italienisch}}%634 \def\btxlanguagenamelatin{\protect\foreignlanguage{#1}{lateinisch}}%635 \def\btxlanguagenamenaustrian{\protect\foreignlanguage{#1}{deutsch}}%636 \def\btxlanguagenamengerman{\protect\foreignlanguage{#1}{deutsch}}%637 \def\btxlanguagenamenorsk{\protect\foreignlanguage{#1}{norwegisch}}%638 \def\btxlanguagenamenynorsk{\protect\foreignlanguage{#1}{neunorwegisch}}%639 \def\btxlanguagenamepolish{\protect\foreignlanguage{#1}{polnisch}}%640 \def\btxlanguagenameportuges{\protect\foreignlanguage{#1}{portugiesisch}}%641 \def\btxlanguagenameportuguese{\protect\foreignlanguage{#1}{portugiesisch}}%642 \def\btxlanguagenamerussian{\protect\foreignlanguage{#1}{russisch}}%643 \def\btxlanguagenamescottish{\protect\foreignlanguage{#1}{schottisch}}%644 \def\btxlanguagenameserbian{\protect\foreignlanguage{#1}{serbisch}}%645 \def\btxlanguagenamespanish{\protect\foreignlanguage{#1}{spanisch}}%646 \def\btxlanguagenameswedish{\protect\foreignlanguage{#1}{schwedisch}}%647 \def\btxlanguagenameturkish{\protect\foreignlanguage{#1}{t\"urkisch}}%648 \def\btxlanguagenameUKenglish{\protect\foreignlanguage{#1}{englisch}}%649 \def\btxlanguagenameUSenglish{\protect\foreignlanguage{#1}{englisch}}%

29

Page 30: Multilingual bibliographies: The babelbib package - CTAN

650 \fi651 }

\bibsgermanb Do the same for the language “germanb”. Since there is no difference, just call\bibsgerman.

652 \newcommand\bibsgermanb{\bibsgerman}

\bibsngerman Do the same for German with new ortography. Call \bibsgerman with new hy-phenation patterns.

653 \newcommand\bibsngerman[1][ngerman]{\bibsgerman[#1]}

\bibsaustrian Once again. Austrians use „Jänner“ instead of „Januar“. Thus, redefine the corre-sponding command.

654 \newcommand\bibsaustrian[1][austrian]{%655 \bibsgerman[#1]%656 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{J\"anner}}%657 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{J\"an##1{}}}%658 }

\bibsnaustrian New Austrian is the same as Austrian.659 \newcommand\bibsnaustrian[1][naustrian]{%660 \bibsngerman[#1]%661 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{J\"anner}}%662 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{J\"an##1{}}}%663 }

The rest has to be executed after loading babel.sty, because the \extra...commands have to be defined for all used languages.

664 \AtBeginDocument{%

If the language is fixed, do nothing.665 \ifbbbbfixlanguage666 \else

Append the corresponding \#2 command to each used language, namely \extras#1.667 \bbbbaddto{austrian}{bibsaustrian}668 \bbbbaddto{german}{bibsgerman}669 \bbbbaddto{germanb}{bibsgermanb}670 \bbbbaddto{naustrian}{bibsnaustrian}671 \bbbbaddto{ngerman}{bibsngerman}672 \fi

Switch off the change of case in titles for all German dialects by appending\btxifchangecaseoff to \extras〈language〉.

673 \bbbbaddto{austrian}{btxifchangecaseoff}674 \bbbbaddto{german}{btxifchangecaseoff}675 \bbbbaddto{germanb}{btxifchangecaseoff}676 \bbbbaddto{naustrian}{btxifchangecaseoff}677 \bbbbaddto{ngerman}{btxifchangecaseoff}678 }679 〈/german〉

30

Page 31: Multilingual bibliographies: The babelbib package - CTAN

9.3.2 Galician

680 〈∗galician〉

The language definition for Galician was provided by Miguel Rodríguez Pen-abad.

\bibsgalician Bibliographic commands for Galician.681 \newcommand\bibsgalician[1][galician]{%682 \def\biblanguagename{#1}%683 \def\btxetalshort##1{\protect\foreignlanguage{#1}{e~cols##1{}}}%684 \def\btxetallong##1{\protect\foreignlanguage{#1}{e~colaboradores}}%685 \def\btxandshort##1{\protect\foreignlanguage{#1}{e}}%686 \def\btxandlong##1{\protect\foreignlanguage{#1}{e}}%687 \def\btxandcomma##1{}%688 \def\btxinlong##1{\protect\foreignlanguage{#1}{en}}%689 \def\btxinshort##1{\protect\foreignlanguage{#1}{en}}%690 \def\btxofseriesshort##1{\protect\foreignlanguage{#1}{de}}%691 \def\btxinseriesshort##1{\protect\foreignlanguage{#1}{en}}%692 \def\btxofserieslong##1{\protect\foreignlanguage{#1}{de}}%693 \def\btxinserieslong##1{\protect\foreignlanguage{#1}{en}}%694 \def\btxeditorshort##1{\protect\foreignlanguage{#1}{ed##1{}}}%695 \def\btxeditorlong##1{\protect\foreignlanguage{#1}{editor}}%696 \def\btxeditorsshort##1{\protect\foreignlanguage{#1}{eds##1{}}}%697 \def\btxeditorslong##1{\protect\foreignlanguage{#1}{editores}}%698 \def\btxvolumeshort##1{\protect\foreignlanguage{#1}{vol##1{}}}%699 \def\btxvolumelong##1{\protect\foreignlanguage{#1}{volume}}%700 \def\btxnumbershort##1{\protect\foreignlanguage{#1}{%701 n\textsuperscript{\underline{o}}}}%702 \def\btxnumberlong##1{\protect\foreignlanguage{#1}{n\’umero}}%703 \def\btxeditionshort##1{\protect\foreignlanguage{#1}{ed##1{}}}%704 \def\btxeditionlong##1{\protect\foreignlanguage{#1}{edici\’{o}n}}%705 \def\btxeditionnumshort##1##2{\btxnumeralshort{##1}~\btxeditionshort{##2}}%706 \def\btxeditionnumlong##1##2{\btxnumerallong{##1}~\btxeditionlong{##2}}%707 \def\btxchaptershort##1{\protect\foreignlanguage{#1}{cap##1{}}}%708 \def\btxchapterlong##1{\protect\foreignlanguage{#1}{cap{\’\i}tulo}}%709 \def\btxpageshort##1{\protect\foreignlanguage{#1}{p\’ax##1{}}}%710 \def\btxpagelong##1{\protect\foreignlanguage{#1}{p\’axina}}%711 \def\btxpagesshort##1{\protect\foreignlanguage{#1}{p\’axs##1{}}}%712 \def\btxpageslong##1{\protect\foreignlanguage{#1}{p\’axinas}}%713 \def\btxmastthesis##1{\protect\foreignlanguage{#1}{Tese de Licenciatura}}%714 \def\btxphdthesis##1{\protect\foreignlanguage{#1}{Tese de Doutoramento}}%715 \def\btxtechrepshort##1{\protect\foreignlanguage{#1}{Informe t\’ecnico##1{}}}%716 \def\btxtechreplong##1{\protect\foreignlanguage{#1}{Informe t\’ecnico}}%717 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{Xaneiro}}%718 \def\btxmonfeblong##1{\protect\foreignlanguage{#1}{Febreiro}}%719 \def\btxmonmarlong##1{\protect\foreignlanguage{#1}{Marzo}}%720 \def\btxmonaprlong##1{\protect\foreignlanguage{#1}{Abril}}%721 \def\btxmonmaylong##1{\protect\foreignlanguage{#1}{Maio}}%722 \def\btxmonjunlong##1{\protect\foreignlanguage{#1}{Xu\~no}}%723 \def\btxmonjullong##1{\protect\foreignlanguage{#1}{Xullo}}%

31

Page 32: Multilingual bibliographies: The babelbib package - CTAN

724 \def\btxmonauglong##1{\protect\foreignlanguage{#1}{Agosto}}%725 \def\btxmonseplong##1{\protect\foreignlanguage{#1}{Setembro}}%726 \def\btxmonoctlong##1{\protect\foreignlanguage{#1}{Outubro}}%727 \def\btxmonnovlong##1{\protect\foreignlanguage{#1}{Novembro}}%728 \def\btxmondeclong##1{\protect\foreignlanguage{#1}{Decembro}}%729 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{Xan##1{}}}%730 \def\btxmonfebshort##1{\protect\foreignlanguage{#1}{Feb##1{}}}%731 \def\btxmonmarshort##1{\protect\foreignlanguage{#1}{Mar##1{}}}%732 \def\btxmonaprshort##1{\protect\foreignlanguage{#1}{Abr##1{}}}%733 \def\btxmonmayshort##1{\protect\foreignlanguage{#1}{Mai}}%734 \def\btxmonjunshort##1{\protect\foreignlanguage{#1}{Xu\~n}}%735 \def\btxmonjulshort##1{\protect\foreignlanguage{#1}{Xul}}%736 \def\btxmonaugshort##1{\protect\foreignlanguage{#1}{Ago##1{}}}%737 \def\btxmonsepshort##1{\protect\foreignlanguage{#1}{Set##1{}}}%738 \def\btxmonoctshort##1{\protect\foreignlanguage{#1}{Out##1{}}}%739 \def\btxmonnovshort##1{\protect\foreignlanguage{#1}{Nov##1{}}}%740 \def\btxmondecshort##1{\protect\foreignlanguage{#1}{Dec##1{}}}%741 \def\Btxinlong##1{\protect\foreignlanguage{#1}{En}}%742 \def\Btxinshort##1{\protect\foreignlanguage{#1}{En}}%743 \def\Btxeditorshort##1{\protect\foreignlanguage{#1}{Ed##1{}}}%744 \def\Btxeditorlong##1{\protect\foreignlanguage{#1}{Editor}}%745 \def\Btxeditorsshort##1{\protect\foreignlanguage{#1}{Ed##1{}}}%746 \def\Btxeditorslong##1{\protect\foreignlanguage{#1}{Editores}}%747 \def\Btxvolumeshort##1{\protect\foreignlanguage{#1}{Vol##1{}}}%748 \def\Btxvolumelong##1{\protect\foreignlanguage{#1}{Volume}}%749 \def\Btxnumbershort##1{\protect\foreignlanguage{#1}{%750 N\textsuperscript{\underline{o}}}}%751 \def\Btxnumberlong##1{\protect\foreignlanguage{#1}{N\’umero}}%752 \def\Btxeditionshort##1{\protect\foreignlanguage{#1}{Ed##1{}}}%753 \def\Btxeditionlong##1{\protect\foreignlanguage{#1}{Edici\’on}}%754 \def\Btxeditionnumshort##1##2{\btxnumeralshort{##1}~\Btxeditionshort{##2}}%755 \def\Btxeditionnumlong##1##2{\btxnumerallong{##1}~\Btxeditionlong{##2}}%756 \def\Btxchaptershort##1{\protect\foreignlanguage{#1}{Cap##1{}}}%757 \def\Btxchapterlong##1{\protect\foreignlanguage{#1}{Cap\’\itulo}}%758 \def\Btxpageshort##1{\protect\foreignlanguage{#1}{P\’ax##1{}}}%759 \def\Btxpagelong##1{\protect\foreignlanguage{#1}{P\’axina}}%760 \def\Btxpagesshort##1{\protect\foreignlanguage{#1}{P\’axs##1{}}}%761 \def\Btxpageslong##1{\protect\foreignlanguage{#1}{P\’axinas}}%762 \def\Btxtechrepshort##1{\protect\foreignlanguage{#1}{Informe t\’ecnico}}%763 \def\Btxtechreplong##1{\protect\foreignlanguage{#1}{Informe t\’ecnico}}%764 \def\btxurldatecomment##1{\protect\foreignlanguage{#1}{, visitado o ##1}}%765 \def\btxfnamespaceshort{\,}%766 \def\btxfnamespacelong{ }%767 \def\btxnumeralshort##1{\protect\foreignlanguage{#1}{%768 \ifnumber{##1}{##1\textsuperscript{a}}{##1}}}%769 \def\btxnumerallong##1{\btxnumeralshort{##1}}%

Define how to print month and year in numeric format, e. g. MM/YYYY.770 \def\btxprintmonthyearnum##1##2{##1/##2}%771 \def\btxkeywordlanguage##1{{\protect\selectlanguage{#1}##1}}%

32

Page 33: Multilingual bibliographies: The babelbib package - CTAN

772 \ifbbbblanguagenames773 \def\btxlanguagenameamerican{\protect\foreignlanguage{#1}{ingl\’es}}%774 \def\btxlanguagenameaustrian{\protect\foreignlanguage{#1}{alem\’an}}%775 \def\btxlanguagenamebrazil{\protect\foreignlanguage{#1}{portugu\’es}}%776 \def\btxlanguagenamebrazilian{\protect\foreignlanguage{#1}{portugu\’es}}%777 \def\btxlanguagenamebritish{\protect\foreignlanguage{#1}{ingl\’es}}%778 \def\btxlanguagenamebulgarian{\protect\foreignlanguage{#1}{b\’ulgaro}}%779 \def\btxlanguagenamecanadian{\protect\foreignlanguage{#1}{ingl\’es}}%780 \def\btxlanguagenamecanadien{\protect\foreignlanguage{#1}{franc\’es}}%781 \def\btxlanguagenamecatalan{\protect\foreignlanguage{#1}{catal\’an}}%782 \def\btxlanguagenamecroatian{\protect\foreignlanguage{#1}{croata}}%783 \def\btxlanguagenameczech{\protect\foreignlanguage{#1}{checo}}%784 \def\btxlanguagenamedanish{\protect\foreignlanguage{#1}{dan\’es}}%785 \def\btxlanguagenamedutch{\protect\foreignlanguage{#1}{holand\’es}}%786 \def\btxlanguagenameenglish{\protect\foreignlanguage{#1}{ingl\’es}}%787 \def\btxlanguagenameesperanto{\protect\foreignlanguage{#1}{esperanto}}%788 \def\btxlanguagenamefinnish{\protect\foreignlanguage{#1}{finland\’es}}%789 \def\btxlanguagenamefrancais{\protect\foreignlanguage{#1}{franc\’es}}%790 \def\btxlanguagenamefrench{\protect\foreignlanguage{#1}{franc\’es}}%791 \def\btxlanguagenamefrenchb{\protect\foreignlanguage{#1}{franc\’es}}%792 \def\btxlanguagenamegerman{\protect\foreignlanguage{#1}{alem\’an}}%793 \def\btxlanguagenamegermanb{\protect\foreignlanguage{#1}{alem\’an}}%794 \def\btxlanguagenamegreek{\protect\foreignlanguage{#1}{grego}}%795 \def\btxlanguagenamehebrew{\protect\foreignlanguage{#1}{hebreo}}%796 \def\btxlanguagenamehungarian{\protect\foreignlanguage{#1}{h\’ungaro}}%797 \def\btxlanguagenameicelandic{\protect\foreignlanguage{#1}{island\’es}}%798 \def\btxlanguagenameirish{\protect\foreignlanguage{#1}{irland\’es}}%799 \def\btxlanguagenameitalian{\protect\foreignlanguage{#1}{italiano}}%800 \def\btxlanguagenamelatin{\protect\foreignlanguage{#1}{lat\’\i n}}%801 \def\btxlanguagenamenaustrian{\protect\foreignlanguage{#1}{alem\’an}}%802 \def\btxlanguagenamengerman{\protect\foreignlanguage{#1}{alem\’an}}%803 \def\btxlanguagenamenorsk{\protect\foreignlanguage{#1}{noruego}}%804 \def\btxlanguagenamenynorsk{\protect\foreignlanguage{#1}{noruego}}%805 \def\btxlanguagenamepolish{\protect\foreignlanguage{#1}{polaco}}%806 \def\btxlanguagenameportuges{\protect\foreignlanguage{#1}{portugu\’es}}%807 \def\btxlanguagenameportuguese{\protect\foreignlanguage{#1}{portugu\’es}}%808 \def\btxlanguagenamerussian{\protect\foreignlanguage{#1}{ruso}}%809 \def\btxlanguagenamescottish{\protect\foreignlanguage{#1}{escoc\’es}}%810 \def\btxlanguagenameserbian{\protect\foreignlanguage{#1}{serbio}}%811 \def\btxlanguagenamespanish{\protect\foreignlanguage{#1}{espa\~nol}}%812 \def\btxlanguagenameswedish{\protect\foreignlanguage{#1}{sueco}}%813 \def\btxlanguagenameturkish{\protect\foreignlanguage{#1}{turco}}%814 \def\btxlanguagenameUKenglish{\protect\foreignlanguage{#1}{ingl\’es}}%815 \def\btxlanguagenameUSenglish{\protect\foreignlanguage{#1}{ingl\’es}}%816 \fi817 }

Append the definitions to the language-calling commands.818 \AtBeginDocument{%819 \ifbbbbfixlanguage

33

Page 34: Multilingual bibliographies: The babelbib package - CTAN

820 \else821 \bbbbaddto{galician}{bibsgalician}822 \fi823 \bbbbaddto{galician}{btxifchangecaseoff}824 }825 〈/galician〉

9.3.3 English

826 〈∗english〉

The language definition for English is mostly the same as the German one.Therefore, it is not described in detail, again.

\bibsenglish french.sty already defines \bibsenglish. In this case it has to be redefined,otherwise newly defined.

827 \makeatletter828 \@ifpackageloaded{french}{}{\newcommand\bibsenglish{}}829 \makeatother

Bibliographic commands for English.830 \renewcommand\bibsenglish[1][english]{%831 \def\biblanguagename{#1}%832 \def\btxetalshort##1{\protect\foreignlanguage{#1}{et~al##1{}}}%833 \def\btxetallong##1{\protect\foreignlanguage{#1}{et~alii}}%834 \def\btxandshort##1{\protect\foreignlanguage{#1}{and}}%835 \def\btxandlong##1{\protect\foreignlanguage{#1}{and}}%836 \def\btxandcomma##1{,}%837 \def\btxinlong##1{\protect\foreignlanguage{#1}{in}}%838 \def\btxinshort##1{\protect\foreignlanguage{#1}{in}}%839 \def\btxofseriesshort##1{\protect\foreignlanguage{#1}{of}}%840 \def\btxinseriesshort##1{\protect\foreignlanguage{#1}{in}}%841 \def\btxofserieslong##1{\protect\foreignlanguage{#1}{of}}%842 \def\btxinserieslong##1{\protect\foreignlanguage{#1}{in}}%843 \def\btxeditorshort##1{\protect\foreignlanguage{#1}{ed##1{}}}%844 \def\btxeditorlong##1{\protect\foreignlanguage{#1}{editor}}%845 \def\btxeditorsshort##1{\protect\foreignlanguage{#1}{eds##1{}}}%846 \def\btxeditorslong##1{\protect\foreignlanguage{#1}{editors}}%847 \def\btxvolumeshort##1{\protect\foreignlanguage{#1}{vol##1{}}}%848 \def\btxvolumelong##1{\protect\foreignlanguage{#1}{volume}}%849 \def\btxnumbershort##1{\protect\foreignlanguage{#1}{no##1{}}}%850 \def\btxnumberlong##1{\protect\foreignlanguage{#1}{number}}%851 \def\btxeditionshort##1{\protect\foreignlanguage{#1}{ed##1{}}}%852 \def\btxeditionlong##1{\protect\foreignlanguage{#1}{edition}}%853 \def\btxeditionnumshort##1##2{\btxnumeralshort{##1}~\btxeditionshort{##2}}%854 \def\btxeditionnumlong##1##2{\btxnumerallong{##1}~\btxeditionlong{##2}}%855 \def\btxchaptershort##1{\protect\foreignlanguage{#1}{ch##1{}}}%856 \def\btxchapterlong##1{\protect\foreignlanguage{#1}{chapter}}%857 \def\btxpageshort##1{\protect\foreignlanguage{#1}{p##1{}}}%858 \def\btxpagelong##1{\protect\foreignlanguage{#1}{page}}%859 \def\btxpagesshort##1{\protect\foreignlanguage{#1}{pp##1{}}}%

34

Page 35: Multilingual bibliographies: The babelbib package - CTAN

860 \def\btxpageslong##1{\protect\foreignlanguage{#1}{pages}}%861 \def\btxmastthesis##1{\protect\foreignlanguage{#1}{Master’s thesis}}%862 \def\btxphdthesis##1{\protect\foreignlanguage{#1}{PhD thesis}}%863 \def\btxtechrepshort##1{\protect\foreignlanguage{#1}{Techn.\ rep##1{}}}%864 \def\btxtechreplong##1{\protect\foreignlanguage{#1}{Technical report}}%865 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{January}}%866 \def\btxmonfeblong##1{\protect\foreignlanguage{#1}{February}}%867 \def\btxmonmarlong##1{\protect\foreignlanguage{#1}{March}}%868 \def\btxmonaprlong##1{\protect\foreignlanguage{#1}{April}}%869 \def\btxmonmaylong##1{\protect\foreignlanguage{#1}{May}}%870 \def\btxmonjunlong##1{\protect\foreignlanguage{#1}{June}}%871 \def\btxmonjullong##1{\protect\foreignlanguage{#1}{July}}%872 \def\btxmonauglong##1{\protect\foreignlanguage{#1}{August}}%873 \def\btxmonseplong##1{\protect\foreignlanguage{#1}{September}}%874 \def\btxmonoctlong##1{\protect\foreignlanguage{#1}{October}}%875 \def\btxmonnovlong##1{\protect\foreignlanguage{#1}{November}}%876 \def\btxmondeclong##1{\protect\foreignlanguage{#1}{December}}%877 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{Jan##1{}}}%878 \def\btxmonfebshort##1{\protect\foreignlanguage{#1}{Feb##1{}}}%879 \def\btxmonmarshort##1{\protect\foreignlanguage{#1}{Mar##1{}}}%880 \def\btxmonaprshort##1{\protect\foreignlanguage{#1}{Apr##1{}}}%881 \def\btxmonmayshort##1{\protect\foreignlanguage{#1}{May}}%882 \def\btxmonjunshort##1{\protect\foreignlanguage{#1}{June}}%883 \def\btxmonjulshort##1{\protect\foreignlanguage{#1}{July}}%884 \def\btxmonaugshort##1{\protect\foreignlanguage{#1}{Aug##1{}}}%885 \def\btxmonsepshort##1{\protect\foreignlanguage{#1}{Sept##1{}}}%886 \def\btxmonoctshort##1{\protect\foreignlanguage{#1}{Oct##1{}}}%887 \def\btxmonnovshort##1{\protect\foreignlanguage{#1}{Nov##1{}}}%888 \def\btxmondecshort##1{\protect\foreignlanguage{#1}{Dec##1{}}}%889 \def\Btxinlong##1{\protect\foreignlanguage{#1}{In}}%890 \def\Btxinshort##1{\protect\foreignlanguage{#1}{In}}%891 \def\Btxeditorshort##1{\protect\foreignlanguage{#1}{Ed##1{}}}%892 \def\Btxeditorlong##1{\protect\foreignlanguage{#1}{Editor}}%893 \def\Btxeditorsshort##1{\protect\foreignlanguage{#1}{Eds##1{}}}%894 \def\Btxeditorslong##1{\protect\foreignlanguage{#1}{Editors}}%895 \def\Btxvolumeshort##1{\protect\foreignlanguage{#1}{Vol##1{}}}%896 \def\Btxvolumelong##1{\protect\foreignlanguage{#1}{Volume}}%897 \def\Btxnumbershort##1{\protect\foreignlanguage{#1}{No##1{}}}%898 \def\Btxnumberlong##1{\protect\foreignlanguage{#1}{Number}}%899 \def\Btxeditionshort##1{\protect\foreignlanguage{#1}{Ed##1{}}}%900 \def\Btxeditionlong##1{\protect\foreignlanguage{#1}{Edition}}%901 \def\Btxeditionnumshort##1##2{\btxnumeralshort{##1}~\Btxeditionshort{##2}}%902 \def\Btxeditionnumlong##1##2{\btxnumerallong{##1}~\Btxeditionlong{##2}}%903 \def\Btxchaptershort##1{\protect\foreignlanguage{#1}{Ch##1{}}}%904 \def\Btxchapterlong##1{\protect\foreignlanguage{#1}{Chapter}}%905 \def\Btxpageshort##1{\protect\foreignlanguage{#1}{P##1{}}}%906 \def\Btxpagelong##1{\protect\foreignlanguage{#1}{Page}}%907 \def\Btxpagesshort##1{\protect\foreignlanguage{#1}{Pp##1{}}}%908 \def\Btxpageslong##1{\protect\foreignlanguage{#1}{Pages}}%909 \def\Btxtechrepshort##1{\protect\foreignlanguage{#1}{Tech.\ Rep##1{}}}%

35

Page 36: Multilingual bibliographies: The babelbib package - CTAN

910 \def\Btxtechreplong##1{\protect\foreignlanguage{#1}{Technical Report}}%911 \def\btxurldatecomment##1{\protect\foreignlanguage{#1}{, visited on ##1}}%912 \def\btxfnamespaceshort{}%913 \def\btxfnamespacelong{ }%914 \def\btxnumeralshort##1{\btxnumeralenglish{#1}{##1}}%915 \def\btxnumerallong##1{\btxnumeralenglish{#1}{##1}}%

Define how to print month and year in numeric format, e. g. MM/YYYY.916 \def\btxprintmonthyearnum##1##2{##1/##2}%917 \def\btxkeywordlanguage##1{{\protect\selectlanguage{#1}##1}}%

Names of all known languages in the current language.918 \ifbbbblanguagenames919 \def\btxlanguagenameamerican{\protect\foreignlanguage{#1}{english}}%920 \def\btxlanguagenameaustrian{\protect\foreignlanguage{#1}{german}}%921 \def\btxlanguagenamebrazil{\protect\foreignlanguage{#1}{portuguese}}%922 \def\btxlanguagenamebrazilian{\protect\foreignlanguage{#1}{portuguese}}%923 \def\btxlanguagenamebritish{\protect\foreignlanguage{#1}{english}}%924 \def\btxlanguagenamebulgarian{\protect\foreignlanguage{#1}{bulgarian}}%925 \def\btxlanguagenamecanadian{\protect\foreignlanguage{#1}{english}}%926 \def\btxlanguagenamecanadien{\protect\foreignlanguage{#1}{french}}%927 \def\btxlanguagenamecatalan{\protect\foreignlanguage{#1}{catalan}}%928 \def\btxlanguagenamecroatian{\protect\foreignlanguage{#1}{croatian}}%929 \def\btxlanguagenameczech{\protect\foreignlanguage{#1}{czech}}%930 \def\btxlanguagenamedanish{\protect\foreignlanguage{#1}{danish}}%931 \def\btxlanguagenamedutch{\protect\foreignlanguage{#1}{dutch}}%932 \def\btxlanguagenameenglish{\protect\foreignlanguage{#1}{english}}%933 \def\btxlanguagenameesperanto{\protect\foreignlanguage{#1}{esperanto}}%934 \def\btxlanguagenamefinnish{\protect\foreignlanguage{#1}{finnish}}%935 \def\btxlanguagenamefrancais{\protect\foreignlanguage{#1}{french}}%936 \def\btxlanguagenamefrench{\protect\foreignlanguage{#1}{french}}%937 \def\btxlanguagenamefrenchb{\protect\foreignlanguage{#1}{french}}%938 \def\btxlanguagenamegerman{\protect\foreignlanguage{#1}{german}}%939 \def\btxlanguagenamegermanb{\protect\foreignlanguage{#1}{german}}%940 \def\btxlanguagenamegreek{\protect\foreignlanguage{#1}{greek}}%941 \def\btxlanguagenamehebrew{\protect\foreignlanguage{#1}{hebrew}}%942 \def\btxlanguagenamehungarian{\protect\foreignlanguage{#1}{hungarian}}%943 \def\btxlanguagenameicelandic{\protect\foreignlanguage{#1}{icelandic}}%944 \def\btxlanguagenameirish{\protect\foreignlanguage{#1}{irish}}%945 \def\btxlanguagenameitalian{\protect\foreignlanguage{#1}{italian}}%946 \def\btxlanguagenamelatin{\protect\foreignlanguage{#1}{latin}}%947 \def\btxlanguagenamenaustrian{\protect\foreignlanguage{#1}{german}}%948 \def\btxlanguagenamengerman{\protect\foreignlanguage{#1}{german}}%949 \def\btxlanguagenamenorsk{\protect\foreignlanguage{#1}{norwegian}}%950 \def\btxlanguagenamenynorsk{\protect\foreignlanguage{#1}{new-norwegian}}%951 \def\btxlanguagenamepolish{\protect\foreignlanguage{#1}{polish}}%952 \def\btxlanguagenameportuges{\protect\foreignlanguage{#1}{portuguese}}%953 \def\btxlanguagenameportuguese{\protect\foreignlanguage{#1}{portuguese}}%954 \def\btxlanguagenamerussian{\protect\foreignlanguage{#1}{russian}}%955 \def\btxlanguagenamescottish{\protect\foreignlanguage{#1}{scottish}}%956 \def\btxlanguagenameserbian{\protect\foreignlanguage{#1}{serbian}}%

36

Page 37: Multilingual bibliographies: The babelbib package - CTAN

957 \def\btxlanguagenamespanish{\protect\foreignlanguage{#1}{spanish}}%958 \def\btxlanguagenameswedish{\protect\foreignlanguage{#1}{swedish}}%959 \def\btxlanguagenameturkish{\protect\foreignlanguage{#1}{turkish}}%960 \def\btxlanguagenameUKenglish{\protect\foreignlanguage{#1}{english}}%961 \def\btxlanguagenameUSenglish{\protect\foreignlanguage{#1}{english}}%962 \fi963 }

Copy the commands to the other languages.964 \newcommand\bibsamerican{\bibsenglish[american]}965 \newcommand\bibsbritish{\bibsenglish[british]}966 \newcommand\bibscanadian{\bibsenglish[canadian]}967 \newcommand\bibsUKenglish{\bibsenglish[UKenglish]}968 \newcommand\bibsUSenglish{\bibsenglish[USenglish]}

Append the definitions to the language-calling commands.969 \AtBeginDocument{%970 \ifbbbbfixlanguage971 \else972 \bbbbaddto{american}{bibsamerican}973 \bbbbaddto{british}{bibsbritish}974 \bbbbaddto{canadian}{bibscanadian}975 \bbbbaddto{english}{bibsenglish}976 \bbbbaddto{UKenglish}{bibsUKenglish}977 \bbbbaddto{USenglish}{bibsUSenglish}978 \fi

Switch on the change of case in titles for all English dialects by appending\btxifchangecaseoff to \extras〈language〉.

979 \bbbbaddto{american}{btxifchangecaseon}980 \bbbbaddto{british}{btxifchangecaseon}981 \bbbbaddto{canadian}{btxifchangecaseon}982 \bbbbaddto{english}{btxifchangecaseon}983 \bbbbaddto{UKenglish}{btxifchangecaseon}984 \bbbbaddto{USenglish}{btxifchangecaseon}985 }986 〈/english〉

9.3.4 Italian

987 〈∗italian〉

\bibsitalian Bibliographic commands for Italian.988 \newcommand\bibsitalian[1][italian]{%989 \def\biblanguagename{#1}%990 \def\btxetalshort##1{\protect\foreignlanguage{#1}{et~al##1{}}}%991 \def\btxetallong##1{\protect\foreignlanguage{#1}{et~alii}}%992 \def\btxandshort##1{\protect\foreignlanguage{#1}{e}}%993 \def\btxandlong##1{\protect\foreignlanguage{#1}{e}}%994 \def\btxandcomma##1{}%995 \def\btxinlong##1{\protect\foreignlanguage{#1}{in}}%

37

Page 38: Multilingual bibliographies: The babelbib package - CTAN

996 \def\btxinshort##1{\protect\foreignlanguage{#1}{in}}%997 \def\btxofseriesshort##1{\protect\foreignlanguage{#1}{della serie}}%998 \def\btxinseriesshort##1{\protect\foreignlanguage{#1}{nella serie}}%999 \def\btxofserieslong##1{\protect\foreignlanguage{#1}{della serie}}%

1000 \def\btxinserieslong##1{\protect\foreignlanguage{#1}{nella serie}}%1001 \def\btxeditorshort##1{\protect\foreignlanguage{#1}{cur##1{}}}%1002 \def\btxeditorlong##1{\protect\foreignlanguage{#1}{curatore}}%1003 \def\btxeditorsshort##1{\protect\foreignlanguage{#1}{cur##1{}}}%1004 \def\btxeditorslong##1{\protect\foreignlanguage{#1}{curatori}}%1005 \def\btxvolumeshort##1{\protect\foreignlanguage{#1}{vol##1{}}}%1006 \def\btxvolumelong##1{\protect\foreignlanguage{#1}{volume}}%1007 \def\btxnumbershort##1{\protect\foreignlanguage{#1}{no##1{}}}%1008 \def\btxnumberlong##1{\protect\foreignlanguage{#1}{numero}}%1009 \def\btxeditionshort##1{\protect\foreignlanguage{#1}{ed##1{}}}%1010 \def\btxeditionlong##1{\protect\foreignlanguage{#1}{edizione}}%1011 \def\btxeditionnumshort##1##2{\btxnumeralshort{##1}~\btxeditionshort{##2}}%1012 \def\btxeditionnumlong##1##2{\btxnumerallong{##1}~\btxeditionlong{##2}}%1013 \def\btxchaptershort##1{\protect\foreignlanguage{#1}{cap##1{}}}%1014 \def\btxchapterlong##1{\protect\foreignlanguage{#1}{capitolo}}%1015 \def\btxpageshort##1{\protect\foreignlanguage{#1}{p##1{}}}%1016 \def\btxpagelong##1{\protect\foreignlanguage{#1}{pagina}}%1017 \def\btxpagesshort##1{\protect\foreignlanguage{#1}{pp##1{}}}%1018 \def\btxpageslong##1{\protect\foreignlanguage{#1}{pagine}}%1019 \def\btxmastthesis##1{\protect\foreignlanguage{#1}{tesi di laurea}}%1020 \def\btxphdthesis##1{\protect\foreignlanguage{#1}{tesi di dottorato}}%1021 \def\btxtechrepshort##1{\protect\foreignlanguage{#1}{Rapp.\ Tecnico}}%1022 \def\btxtechreplong##1{\protect\foreignlanguage{#1}{Rapporto Tecnico}}%1023 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{gennaio}}%1024 \def\btxmonfeblong##1{\protect\foreignlanguage{#1}{febbraio}}%1025 \def\btxmonmarlong##1{\protect\foreignlanguage{#1}{marzo}}%1026 \def\btxmonaprlong##1{\protect\foreignlanguage{#1}{aprile}}%1027 \def\btxmonmaylong##1{\protect\foreignlanguage{#1}{maggio}}%1028 \def\btxmonjunlong##1{\protect\foreignlanguage{#1}{giugno}}%1029 \def\btxmonjullong##1{\protect\foreignlanguage{#1}{luglio}}%1030 \def\btxmonauglong##1{\protect\foreignlanguage{#1}{agosto}}%1031 \def\btxmonseplong##1{\protect\foreignlanguage{#1}{settembre}}%1032 \def\btxmonoctlong##1{\protect\foreignlanguage{#1}{ottobre}}%1033 \def\btxmonnovlong##1{\protect\foreignlanguage{#1}{novembre}}%1034 \def\btxmondeclong##1{\protect\foreignlanguage{#1}{dicembre}}%1035 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{gen##1{}}}%1036 \def\btxmonfebshort##1{\protect\foreignlanguage{#1}{feb##1{}}}%1037 \def\btxmonmarshort##1{\protect\foreignlanguage{#1}{mar##1{}}}%1038 \def\btxmonaprshort##1{\protect\foreignlanguage{#1}{apr##1{}}}%1039 \def\btxmonmayshort##1{\protect\foreignlanguage{#1}{mag##1{}}}%1040 \def\btxmonjunshort##1{\protect\foreignlanguage{#1}{giu##1{}}}%1041 \def\btxmonjulshort##1{\protect\foreignlanguage{#1}{lug##1{}}}%1042 \def\btxmonaugshort##1{\protect\foreignlanguage{#1}{ago##1{}}}%1043 \def\btxmonsepshort##1{\protect\foreignlanguage{#1}{set##1{}}}%1044 \def\btxmonoctshort##1{\protect\foreignlanguage{#1}{ott##1{}}}%1045 \def\btxmonnovshort##1{\protect\foreignlanguage{#1}{nov##1{}}}%

38

Page 39: Multilingual bibliographies: The babelbib package - CTAN

1046 \def\btxmondecshort##1{\protect\foreignlanguage{#1}{dic##1{}}}%1047 \def\Btxinlong##1{\protect\foreignlanguage{#1}{Nel}}%1048 \def\Btxinshort##1{\protect\foreignlanguage{#1}{Nel}}%1049 \def\Btxeditorshort##1{\protect\foreignlanguage{#1}{Cur##1{}}}%1050 \def\Btxeditorlong##1{\protect\foreignlanguage{#1}{Curatore}}%1051 \def\Btxeditorsshort##1{\protect\foreignlanguage{#1}{Cur##1{}}}%1052 \def\Btxeditorslong##1{\protect\foreignlanguage{#1}{Curatori}}%1053 \def\Btxvolumeshort##1{\protect\foreignlanguage{#1}{Vol##1{}}}%1054 \def\Btxvolumelong##1{\protect\foreignlanguage{#1}{Volume}}%1055 \def\Btxnumbershort##1{\protect\foreignlanguage{#1}{No##1{}}}%1056 \def\Btxnumberlong##1{\protect\foreignlanguage{#1}{Numero}}%1057 \def\Btxeditionshort##1{\protect\foreignlanguage{#1}{Ed##1{}}}%1058 \def\Btxeditionlong##1{\protect\foreignlanguage{#1}{Edizione}}%1059 \def\Btxeditionnumshort##1##2{\btxnumeralshort{##1}~\Btxeditionshort{##2}}%1060 \def\Btxeditionnumlong##1##2{\btxnumerallong{##1}~\Btxeditionlong{##2}}%1061 \def\Btxchaptershort##1{\protect\foreignlanguage{#1}{Cap##1{}}}%1062 \def\Btxchapterlong##1{\protect\foreignlanguage{#1}{Capitolo}}%1063 \def\Btxpageshort##1{\protect\foreignlanguage{#1}{P##1{}}}%1064 \def\Btxpagelong##1{\protect\foreignlanguage{#1}{Pagina}}%1065 \def\Btxpagesshort##1{\protect\foreignlanguage{#1}{Pp##1{}}}%1066 \def\Btxpageslong##1{\protect\foreignlanguage{#1}{Pagine}}%1067 \def\Btxtechrepshort##1{\protect\foreignlanguage{#1}{Rap.\ Tecnico}}%1068 \def\Btxtechreplong##1{\protect\foreignlanguage{#1}{Rapporto Tecnico}}%1069 \def\btxurldatecomment##1{\protect\foreignlanguage{#1}{, accesso a ##1}}%1070 \def\btxfnamespaceshort{\,}%1071 \def\btxfnamespacelong{ }%1072 \def\btxnumeralshort##1{\btxnumeralfallback{#1}{##1}}%1073 \def\btxnumerallong##1{\btxnumeralfallback{#1}{##1}}%

Define how to print month and year in numeric format, e. g. MM/YYYY.1074 \def\btxprintmonthyearnum##1##2{##1/##2}%1075 \def\btxkeywordlanguage##1{{\protect\selectlanguage{#1}##1}}%

Names of all known languages in the current language.1076 \ifbbbblanguagenames1077 \def\btxlanguagenameamerican{\protect\foreignlanguage{#1}{inglese}}%1078 \def\btxlanguagenameaustrian{\protect\foreignlanguage{#1}{tedesco}}%1079 \def\btxlanguagenamebrazil{\protect\foreignlanguage{#1}{portoghese}}%1080 \def\btxlanguagenamebrazilian{\protect\foreignlanguage{#1}{portoghese}}%1081 \def\btxlanguagenamebritish{\protect\foreignlanguage{#1}{inglese}}%1082 \def\btxlanguagenamebulgarian{\protect\foreignlanguage{#1}{bulgaro}}%1083 \def\btxlanguagenamecanadian{\protect\foreignlanguage{#1}{inglese}}%1084 \def\btxlanguagenamecanadien{\protect\foreignlanguage{#1}{francese}}%1085 \def\btxlanguagenamecatalan{\protect\foreignlanguage{#1}{catalano}}%1086 \def\btxlanguagenamecroatian{\protect\foreignlanguage{#1}{croato}}%1087 \def\btxlanguagenameczech{\protect\foreignlanguage{#1}{ceco}}%1088 \def\btxlanguagenamedanish{\protect\foreignlanguage{#1}{danese}}%1089 \def\btxlanguagenamedutch{\protect\foreignlanguage{#1}{olandese}}%1090 \def\btxlanguagenameenglish{\protect\foreignlanguage{#1}{inglese}}%1091 \def\btxlanguagenameesperanto{\protect\foreignlanguage{#1}{esperanto}}%1092 \def\btxlanguagenamefinnish{\protect\foreignlanguage{#1}{finlandese}}%

39

Page 40: Multilingual bibliographies: The babelbib package - CTAN

1093 \def\btxlanguagenamefrancais{\protect\foreignlanguage{#1}{francese}}%1094 \def\btxlanguagenamefrench{\protect\foreignlanguage{#1}{francese}}%1095 \def\btxlanguagenamefrenchb{\protect\foreignlanguage{#1}{francese}}%1096 \def\btxlanguagenamegerman{\protect\foreignlanguage{#1}{tedesco}}%1097 \def\btxlanguagenamegermanb{\protect\foreignlanguage{#1}{tedesco}}%1098 \def\btxlanguagenamegreek{\protect\foreignlanguage{#1}{greco}}%1099 \def\btxlanguagenamehebrew{\protect\foreignlanguage{#1}{ebreo}}%1100 \def\btxlanguagenamehungarian{\protect\foreignlanguage{#1}{ungherese}}%1101 \def\btxlanguagenameicelandic{\protect\foreignlanguage{#1}{islandese}}%1102 \def\btxlanguagenameirish{\protect\foreignlanguage{#1}{irlandese}}%1103 \def\btxlanguagenameitalian{\protect\foreignlanguage{#1}{italiano}}%1104 \def\btxlanguagenamelatin{\protect\foreignlanguage{#1}{latino}}%1105 \def\btxlanguagenamenaustrian{\protect\foreignlanguage{#1}{tedesco}}%1106 \def\btxlanguagenamengerman{\protect\foreignlanguage{#1}{tedesco}}%1107 \def\btxlanguagenamenorsk{\protect\foreignlanguage{#1}{norvegese}}%1108 \def\btxlanguagenamenynorsk{\protect\foreignlanguage{#1}{nuovo norvegese}}%1109 \def\btxlanguagenamepolish{\protect\foreignlanguage{#1}{polacco}}%1110 \def\btxlanguagenameportuges{\protect\foreignlanguage{#1}{portoghese}}%1111 \def\btxlanguagenameportuguese{\protect\foreignlanguage{#1}{portoghese}}%1112 \def\btxlanguagenamerussian{\protect\foreignlanguage{#1}{russo}}%1113 \def\btxlanguagenamescottish{\protect\foreignlanguage{#1}{scozzese}}%1114 \def\btxlanguagenameserbian{\protect\foreignlanguage{#1}{serbo}}%1115 \def\btxlanguagenamespanish{\protect\foreignlanguage{#1}{spagnolo}}%1116 \def\btxlanguagenameswedish{\protect\foreignlanguage{#1}{svedese}}%1117 \def\btxlanguagenameturkish{\protect\foreignlanguage{#1}{turco}}%1118 \def\btxlanguagenameUKenglish{\protect\foreignlanguage{#1}{inglese}}%1119 \def\btxlanguagenameUSenglish{\protect\foreignlanguage{#1}{inglese}}%1120 \fi1121 }

Append the definitions to the language-calling commands.1122 \AtBeginDocument{%1123 \ifbbbbfixlanguage1124 \else1125 \bbbbaddto{italian}{bibsitalian}1126 \fi

Switch off the change of case in titles for Italian by appending \btxifchangecaseoffto \extrasitalian.

1127 \bbbbaddto{italian}{btxifchangecaseoff}1128 }1129 〈/italian〉

9.3.5 Greek

1130 〈∗greek〉

The language definition for Greek was provided by Prokopis Prokopidis.\bibsgreek Bibliographic commands for Greek.

1131 \newcommand\bibsgreek[1][greek]{%

40

Page 41: Multilingual bibliographies: The babelbib package - CTAN

1132 \def\biblanguagename{#1}%1133 \def\btxetalshort##1{\protect\foreignlanguage{#1}{k.’a##1{}}}%1134 \def\btxetallong##1{\protect\foreignlanguage{#1}{kai ’alloi}}%1135 \def\btxandshort##1{\protect\foreignlanguage{#1}{kai}}%1136 \def\btxandlong##1{\protect\foreignlanguage{#1}{kai}}%1137 \def\btxandcomma##1{,}%1138 \def\btxinlong##1{\protect\foreignlanguage{#1}{sto}}%1139 \def\btxinshort##1{\protect\foreignlanguage{#1}{sto}}%1140 \def\btxofseriesshort##1{\protect\foreignlanguage{#1}{tou}}%1141 \def\btxinseriesshort##1{\protect\foreignlanguage{#1}{sto}}%1142 \def\btxofserieslong##1{\protect\foreignlanguage{#1}{tou}}%1143 \def\btxinserieslong##1{\protect\foreignlanguage{#1}{sto}}%1144 \def\btxeditorshort##1{\protect\foreignlanguage{#1}{epim##1{}}}%1145 \def\btxeditorlong##1{\protect\foreignlanguage{#1}{epimelht’hc}}%1146 \def\btxeditorsshort##1{\protect\foreignlanguage{#1}{epim##1{}}}%1147 \def\btxeditorslong##1{\protect\foreignlanguage{#1}{epimelht’ec}}%1148 \def\btxvolumeshort##1{\protect\foreignlanguage{#1}{t’om##1{}}}%1149 \def\btxvolumelong##1{\protect\foreignlanguage{#1}{t’omoc}}%1150 \def\btxnumbershort##1{\protect\foreignlanguage{#1}{ar##1{}}}%1151 \def\btxnumberlong##1{\protect\foreignlanguage{#1}{arijm’oc}}%1152 \def\btxeditionshort##1{\protect\foreignlanguage{#1}{’ekd##1{}}}%1153 \def\btxeditionlong##1{\protect\foreignlanguage{#1}{’ekdosh}}%1154 \def\btxeditionnumshort##1##2{\btxnumeralshort{##1}~\btxeditionshort{##2}}%1155 \def\btxeditionnumlong##1##2{\btxnumerallong{##1}~\btxeditionlong{##2}}%1156 \def\btxchaptershort##1{\protect\foreignlanguage{#1}{kef##1{}}}%1157 \def\btxchapterlong##1{\protect\foreignlanguage{#1}{kef’alaio}}%1158 \def\btxpageshort##1{\protect\foreignlanguage{#1}{sel##1{}}}%1159 \def\btxpagelong##1{\protect\foreignlanguage{#1}{sel’ida}}%1160 \def\btxpagesshort##1{\protect\foreignlanguage{#1}{sel##1{}}}%1161 \def\btxpageslong##1{\protect\foreignlanguage{#1}{sel’idec}}%1162 \def\btxmastthesis##1{\protect\foreignlanguage{#1}{Metaptuqiak’h ergas’ia}}%1163 \def\btxphdthesis##1{\protect\foreignlanguage{#1}{Didaktorik’h diatrib’h}}%1164 \def\btxtechrepshort##1{\protect\foreignlanguage{#1}{Teqn.\ anaf##1{}}}%1165 \def\btxtechreplong##1{\protect\foreignlanguage{#1}{Teqnik’h anafor’a}}%1166 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{Ianou’arioc}}%1167 \def\btxmonfeblong##1{\protect\foreignlanguage{#1}{Febrou’arioc}}%1168 \def\btxmonmarlong##1{\protect\foreignlanguage{#1}{M’artioc}}%1169 \def\btxmonaprlong##1{\protect\foreignlanguage{#1}{Apr’ilioc}}%1170 \def\btxmonmaylong##1{\protect\foreignlanguage{#1}{M’aioc}}%1171 \def\btxmonjunlong##1{\protect\foreignlanguage{#1}{Io’unioc}}%1172 \def\btxmonjullong##1{\protect\foreignlanguage{#1}{Io’ulioc}}%1173 \def\btxmonauglong##1{\protect\foreignlanguage{#1}{A’ugoustoc}}%1174 \def\btxmonseplong##1{\protect\foreignlanguage{#1}{Sept’embrioc}}%1175 \def\btxmonoctlong##1{\protect\foreignlanguage{#1}{Okt’wbrioc}}%1176 \def\btxmonnovlong##1{\protect\foreignlanguage{#1}{No’embrioc}}%1177 \def\btxmondeclong##1{\protect\foreignlanguage{#1}{Dek’embrioc}}%1178 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{Ian##1{}}}%1179 \def\btxmonfebshort##1{\protect\foreignlanguage{#1}{Feb##1{}}}%1180 \def\btxmonmarshort##1{\protect\foreignlanguage{#1}{M’ar##1{}}}%1181 \def\btxmonaprshort##1{\protect\foreignlanguage{#1}{Apr##1{}}}%

41

Page 42: Multilingual bibliographies: The babelbib package - CTAN

1182 \def\btxmonmayshort##1{\protect\foreignlanguage{#1}{M’ai}}%1183 \def\btxmonjunshort##1{\protect\foreignlanguage{#1}{Io’un##1{}}}%1184 \def\btxmonjulshort##1{\protect\foreignlanguage{#1}{Io’ul##1{}}}%1185 \def\btxmonaugshort##1{\protect\foreignlanguage{#1}{A’ug##1{}}}%1186 \def\btxmonsepshort##1{\protect\foreignlanguage{#1}{Sept##1{}}}%1187 \def\btxmonoctshort##1{\protect\foreignlanguage{#1}{Okt##1{}}}%1188 \def\btxmonnovshort##1{\protect\foreignlanguage{#1}{No’e##1{}}}%1189 \def\btxmondecshort##1{\protect\foreignlanguage{#1}{Dek##1{}}}%1190 \def\Btxinlong##1{\protect\foreignlanguage{#1}{Sto}}%1191 \def\Btxinshort##1{\protect\foreignlanguage{#1}{Sto}}%1192 \def\Btxeditorshort##1{\protect\foreignlanguage{#1}{Epim##1{}}}%1193 \def\Btxeditorlong##1{\protect\foreignlanguage{#1}{Epimelht’hc}}%1194 \def\Btxeditorsshort##1{\protect\foreignlanguage{#1}{Epim##1{}}}%1195 \def\Btxeditorslong##1{\protect\foreignlanguage{#1}{Epimelht’ec}}%1196 \def\Btxvolumeshort##1{\protect\foreignlanguage{#1}{T’om##1{}}}%1197 \def\Btxvolumelong##1{\protect\foreignlanguage{#1}{T’omoc}}%1198 \def\Btxnumbershort##1{\protect\foreignlanguage{#1}{Ar##1{}}}%1199 \def\Btxnumberlong##1{\protect\foreignlanguage{#1}{Arijm’oc}}%1200 \def\Btxeditionshort##1{\protect\foreignlanguage{#1}{’Ekd##1{}}}%1201 \def\Btxeditionlong##1{\protect\foreignlanguage{#1}{’Ekdosh}}%1202 \def\Btxeditionnumshort##1##2{\btxnumeralshort{##1}~\Btxeditionshort{##2}}%1203 \def\Btxeditionnumlong##1##2{\btxnumerallong{##1}~\Btxeditionlong{##2}}%1204 \def\Btxchaptershort##1{\protect\foreignlanguage{#1}{Kef##1{}}}%1205 \def\Btxchapterlong##1{\protect\foreignlanguage{#1}{Kef’alaio}}%1206 \def\Btxpageshort##1{\protect\foreignlanguage{#1}{Sel##1{}}}%1207 \def\Btxpagelong##1{\protect\foreignlanguage{#1}{Sel’ida}}%1208 \def\Btxpagesshort##1{\protect\foreignlanguage{#1}{Sel##1{}}}%1209 \def\Btxpageslong##1{\protect\foreignlanguage{#1}{Sel’idec}}%1210 \def\Btxtechrepshort##1{\protect\foreignlanguage{#1}{Teqn.\ Anaf##1{}}}%1211 \def\Btxtechreplong##1{\protect\foreignlanguage{#1}{Teqnik’h Anafor’a}}%1212 \def\btxurldatecomment##1{\protect\foreignlanguage{#1}{, ep’iskeyh thn ##1}}%1213 \def\btxfnamespaceshort{\,}%1214 \def\btxfnamespacelong{ }%1215 \def\btxnumeralshort##1{\protect\foreignlanguage{#1}{%1216 \ifnumber{##1}{##1h}{##1}}}%1217 \def\btxnumerallong##1{\protect\foreignlanguage{#1}{\ifnumber{##1}{%1218 \ifcase##1 ##1h\or pr’wth\or de’uterh\or tr’ith\or t’etarth%1219 \or p’empth\or ’ekth\or ’ebdomh\or ’ogdoh\or ’enath\else ##1h\fi1220 }{##1}}}%

Define how to print month and year in numeric format, e. g. MM/YYYY.1221 \def\btxprintmonthyearnum##1##2{##1/##2}%1222 \def\btxkeywordlanguage##1{{\protect\selectlanguage{#1}##1}}%

Names of all known languages in the current language.1223 \ifbbbblanguagenames1224 \def\btxlanguagenameamerican{\protect\foreignlanguage{#1}{agglik’a}}%1225 \def\btxlanguagenameaustrian{\protect\foreignlanguage{#1}{germanik’a}}%1226 \def\btxlanguagenamebrazil{\protect\foreignlanguage{#1}{portogalik’a}}%1227 \def\btxlanguagenamebrazilian{\protect\foreignlanguage{#1}{portogalik’a}}%1228 \def\btxlanguagenamebritish{\protect\foreignlanguage{#1}{agglik’a}}%

42

Page 43: Multilingual bibliographies: The babelbib package - CTAN

1229 \def\btxlanguagenamebulgarian{\protect\foreignlanguage{#1}{boulgarik’a}}%1230 \def\btxlanguagenamecanadian{\protect\foreignlanguage{#1}{agglik’a}}%1231 \def\btxlanguagenamecanadien{\protect\foreignlanguage{#1}{gallik’a}}%1232 \def\btxlanguagenamecatalan{\protect\foreignlanguage{#1}{katalanik’a}}%1233 \def\btxlanguagenamecroatian{\protect\foreignlanguage{#1}{kroatik’a}}%1234 \def\btxlanguagenameczech{\protect\foreignlanguage{#1}{tseqik’a}}%1235 \def\btxlanguagenamedanish{\protect\foreignlanguage{#1}{danik’a}}%1236 \def\btxlanguagenamedutch{\protect\foreignlanguage{#1}{ollandik’a}}%1237 \def\btxlanguagenameenglish{\protect\foreignlanguage{#1}{agglik’a}}%1238 \def\btxlanguagenameesperanto{\protect\foreignlanguage{#1}{esperanto}}%1239 \def\btxlanguagenamefinnish{\protect\foreignlanguage{#1}{finlandik’a}}%1240 \def\btxlanguagenamefrancais{\protect\foreignlanguage{#1}{gallik’a}}%1241 \def\btxlanguagenamefrench{\protect\foreignlanguage{#1}{gallik’a}}%1242 \def\btxlanguagenamefrenchb{\protect\foreignlanguage{#1}{gallik’a}}%1243 \def\btxlanguagenamegerman{\protect\foreignlanguage{#1}{germanik’a}}%1244 \def\btxlanguagenamegermanb{\protect\foreignlanguage{#1}{germanik’a}}%1245 \def\btxlanguagenamegreek{\protect\foreignlanguage{#1}{ellhnik’a}}%1246 \def\btxlanguagenamehebrew{\protect\foreignlanguage{#1}{ebra"ik’a}}%1247 \def\btxlanguagenamehungarian{\protect\foreignlanguage{#1}{ouggrik’a}}%1248 \def\btxlanguagenameicelandic{\protect\foreignlanguage{#1}{islandik’a}}%1249 \def\btxlanguagenameirish{\protect\foreignlanguage{#1}{irlandik’a}}%1250 \def\btxlanguagenameitalian{\protect\foreignlanguage{#1}{italik’a}}%1251 \def\btxlanguagenamelatin{\protect\foreignlanguage{#1}{latinik’a}}%1252 \def\btxlanguagenamenaustrian{\protect\foreignlanguage{#1}{germanik’a}}%1253 \def\btxlanguagenamengerman{\protect\foreignlanguage{#1}{germanik’a}}%1254 \def\btxlanguagenamenorsk{\protect\foreignlanguage{#1}{norbhgik’a}}%1255 \def\btxlanguagenamenynorsk{\protect\foreignlanguage{#1}{n’ea norbhgik’a}}%1256 \def\btxlanguagenamepolish{\protect\foreignlanguage{#1}{polwnik’a}}%1257 \def\btxlanguagenameportuges{\protect\foreignlanguage{#1}{portogalik’a}}%1258 \def\btxlanguagenameportuguese{\protect\foreignlanguage{#1}{portogalik’a}}%1259 \def\btxlanguagenamerussian{\protect\foreignlanguage{#1}{rwsik’a}}%1260 \def\btxlanguagenamescottish{\protect\foreignlanguage{#1}{skwts’ezika}}%1261 \def\btxlanguagenameserbian{\protect\foreignlanguage{#1}{serbik’a}}%1262 \def\btxlanguagenamespanish{\protect\foreignlanguage{#1}{ispanik’a}}%1263 \def\btxlanguagenameswedish{\protect\foreignlanguage{#1}{souhdik’a}}%1264 \def\btxlanguagenameturkish{\protect\foreignlanguage{#1}{tourkik’a}}%1265 \def\btxlanguagenameUKenglish{\protect\foreignlanguage{#1}{agglik’a}}%1266 \def\btxlanguagenameUSenglish{\protect\foreignlanguage{#1}{agglik’a}}%1267 \fi1268 }

Append the definitions to the language-calling commands.1269 \AtBeginDocument{%1270 \ifbbbbfixlanguage1271 \else1272 \bbbbaddto{greek}{bibsgreek}1273 \fi1274 \bbbbaddto{greek}{btxifchangecaseoff}1275 }1276 〈/greek〉

43

Page 44: Multilingual bibliographies: The babelbib package - CTAN

9.3.6 Norwegian

1277 〈∗norsk〉

The language definition for Norwegian was provided by Hans Fredrik Nord-haug.

\bibsnorsk Bibliographic commands for Norsk.1278 \newcommand\bibsnorsk[1][norsk]{%1279 \def\biblanguagename{#1}%1280 \def\btxetalshort##1{\protect\foreignlanguage{#1}{et~al##1{}}}%1281 \def\btxetallong##1{\protect\foreignlanguage{#1}{et~alii}}%1282 \def\btxandshort##1{\protect\foreignlanguage{#1}{og}}%1283 \def\btxandlong##1{\protect\foreignlanguage{#1}{og}}%1284 \def\btxandcomma##1{}%1285 \def\btxinlong##1{\protect\foreignlanguage{#1}{i}}%1286 \def\btxinshort##1{\protect\foreignlanguage{#1}{i}}%1287 \def\btxofseriesshort##1{\protect\foreignlanguage{#1}{av}}%1288 \def\btxinseriesshort##1{\protect\foreignlanguage{#1}{i}}%1289 \def\btxofserieslong##1{\protect\foreignlanguage{#1}{av}}%1290 \def\btxinserieslong##1{\protect\foreignlanguage{#1}{i}}%1291 \def\btxeditorshort##1{\protect\foreignlanguage{#1}{red##1{}}}%1292 \def\btxeditorlong##1{\protect\foreignlanguage{#1}{redakt\o r}}%1293 \def\btxeditorsshort##1{\protect\foreignlanguage{#1}{red##1{}}}%1294 \def\btxeditorslong##1{\protect\foreignlanguage{#1}{redakt\o rer}}%1295 \def\btxvolumeshort##1{\protect\foreignlanguage{#1}{bd##1{}}}%1296 \def\btxvolumelong##1{\protect\foreignlanguage{#1}{bind}}%1297 \def\btxnumbershort##1{\protect\foreignlanguage{#1}{nr##1{}}}%1298 \def\btxnumberlong##1{\protect\foreignlanguage{#1}{nummer}}%1299 \def\btxeditionshort##1{\protect\foreignlanguage{#1}{utg##1{}}}%1300 \def\btxeditionlong##1{\protect\foreignlanguage{#1}{utgave}}%1301 \def\btxeditionnumshort##1##2{\btxnumeralshort{##1}~\btxeditionshort{##2}}%1302 \def\btxeditionnumlong##1##2{\btxnumerallong{##1}~\btxeditionlong{##2}}%1303 \def\btxchaptershort##1{\protect\foreignlanguage{#1}{kap##1{}}}%1304 \def\btxchapterlong##1{\protect\foreignlanguage{#1}{kapittel}}%1305 \def\btxpageshort##1{\protect\foreignlanguage{#1}{s##1{}}}%1306 \def\btxpagelong##1{\protect\foreignlanguage{#1}{side}}%1307 \def\btxpagesshort##1{\protect\foreignlanguage{#1}{s##1{}}}%1308 \def\btxpageslong##1{\protect\foreignlanguage{#1}{sider}}%1309 \def\btxmastthesis##1{\protect\foreignlanguage{#1}{Masteroppgave}}%1310 \def\btxphdthesis##1{\protect\foreignlanguage{#1}{PhD-avhandling}}%1311 \def\btxtechrepshort##1{\protect\foreignlanguage{#1}{tekn.\ rap##1{}}}%1312 \def\btxtechreplong##1{\protect\foreignlanguage{#1}{teknisk rapport}}%1313 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{Januar}}%1314 \def\btxmonfeblong##1{\protect\foreignlanguage{#1}{Februar}}%1315 \def\btxmonmarlong##1{\protect\foreignlanguage{#1}{Mars}}%1316 \def\btxmonaprlong##1{\protect\foreignlanguage{#1}{April}}%1317 \def\btxmonmaylong##1{\protect\foreignlanguage{#1}{Mai}}%1318 \def\btxmonjunlong##1{\protect\foreignlanguage{#1}{Juni}}%1319 \def\btxmonjullong##1{\protect\foreignlanguage{#1}{Juli}}%1320 \def\btxmonauglong##1{\protect\foreignlanguage{#1}{August}}%

44

Page 45: Multilingual bibliographies: The babelbib package - CTAN

1321 \def\btxmonseplong##1{\protect\foreignlanguage{#1}{September}}%1322 \def\btxmonoctlong##1{\protect\foreignlanguage{#1}{Oktober}}%1323 \def\btxmonnovlong##1{\protect\foreignlanguage{#1}{November}}%1324 \def\btxmondeclong##1{\protect\foreignlanguage{#1}{Desember}}%1325 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{Jan##1{}}}%1326 \def\btxmonfebshort##1{\protect\foreignlanguage{#1}{Feb##1{}}}%1327 \def\btxmonmarshort##1{\protect\foreignlanguage{#1}{Mar##1{}}}%1328 \def\btxmonaprshort##1{\protect\foreignlanguage{#1}{Apr##1{}}}%1329 \def\btxmonmayshort##1{\protect\foreignlanguage{#1}{Mai}}%1330 \def\btxmonjunshort##1{\protect\foreignlanguage{#1}{Jun##1{}}}%1331 \def\btxmonjulshort##1{\protect\foreignlanguage{#1}{Jul##1{}}}%1332 \def\btxmonaugshort##1{\protect\foreignlanguage{#1}{Aug##1{}}}%1333 \def\btxmonsepshort##1{\protect\foreignlanguage{#1}{Sep##1{}}}%1334 \def\btxmonoctshort##1{\protect\foreignlanguage{#1}{Okt##1{}}}%1335 \def\btxmonnovshort##1{\protect\foreignlanguage{#1}{Nov##1{}}}%1336 \def\btxmondecshort##1{\protect\foreignlanguage{#1}{Des##1{}}}%1337 \def\Btxinlong##1{\protect\foreignlanguage{#1}{I}}%1338 \def\Btxinshort##1{\protect\foreignlanguage{#1}{I}}%1339 \def\Btxeditorshort##1{\protect\foreignlanguage{#1}{Red##1{}}}%1340 \def\Btxeditorlong##1{\protect\foreignlanguage{#1}{Redakt\o r}}%1341 \def\Btxeditorsshort##1{\protect\foreignlanguage{#1}{Red##1{}}}%1342 \def\Btxeditorslong##1{\protect\foreignlanguage{#1}{Redakt\o rer}}%1343 \def\Btxvolumeshort##1{\protect\foreignlanguage{#1}{Bd##1{}}}%1344 \def\Btxvolumelong##1{\protect\foreignlanguage{#1}{Bind}}%1345 \def\Btxnumbershort##1{\protect\foreignlanguage{#1}{Nr##1{}}}%1346 \def\Btxnumberlong##1{\protect\foreignlanguage{#1}{Nummer}}%1347 \def\Btxeditionshort##1{\protect\foreignlanguage{#1}{Utg##1{}}}%1348 \def\Btxeditionlong##1{\protect\foreignlanguage{#1}{Utgave}}%1349 \def\Btxeditionnumshort##1##2{\btxnumeralshort{##1}~\Btxeditionshort{##2}}%1350 \def\Btxeditionnumlong##1##2{\btxnumerallong{##1}~\Btxeditionlong{##2}}%1351 \def\Btxchaptershort##1{\protect\foreignlanguage{#1}{Kap##1{}}}%1352 \def\Btxchapterlong##1{\protect\foreignlanguage{#1}{Kapittel}}%1353 \def\Btxpageshort##1{\protect\foreignlanguage{#1}{S##1{}}}%1354 \def\Btxpagelong##1{\protect\foreignlanguage{#1}{Side}}%1355 \def\Btxpagesshort##1{\protect\foreignlanguage{#1}{S##1{}}}%1356 \def\Btxpageslong##1{\protect\foreignlanguage{#1}{Sider}}%1357 \def\Btxtechrepshort##1{\protect\foreignlanguage{#1}{Tekn.\ rap##1{}}}%1358 \def\Btxtechreplong##1{\protect\foreignlanguage{#1}{Teknisk rapport}}%1359 \def\btxurldatecomment##1{\protect\foreignlanguage{#1}{, sjekket: ##1}}%1360 \def\btxfnamespaceshort{\,}%1361 \def\btxfnamespacelong{ }%1362 \def\btxnumeralshort##1{\btxnumeralfallback{#1}{##1}}%1363 \def\btxnumerallong##1{\btxnumeralfallback{#1}{##1}}%

Define how to print month and year in numeric format, e. g. MM/YYYY.1364 \def\btxprintmonthyearnum##1##2{##1/##2}%1365 \def\btxkeywordlanguage##1{{\protect\selectlanguage{#1}##1}}%

Names of all known languages in the current language.1366 \ifbbbblanguagenames1367 \def\btxlanguagenameamerican{\protect\foreignlanguage{#1}{engelsk}}%

45

Page 46: Multilingual bibliographies: The babelbib package - CTAN

1368 \def\btxlanguagenameaustrian{\protect\foreignlanguage{#1}{tysk}}%1369 \def\btxlanguagenamebrazil{\protect\foreignlanguage{#1}{portugisisk}}%1370 \def\btxlanguagenamebrazilian{\protect\foreignlanguage{#1}{portugisisk}}%1371 \def\btxlanguagenamebritish{\protect\foreignlanguage{#1}{engelsk}}%1372 \def\btxlanguagenamebulgarian{\protect\foreignlanguage{#1}{bulgarsk}}%1373 \def\btxlanguagenamecanadian{\protect\foreignlanguage{#1}{engelsk}}%1374 \def\btxlanguagenamecanadien{\protect\foreignlanguage{#1}{fransk}}%1375 \def\btxlanguagenamecatalan{\protect\foreignlanguage{#1}{katalansk}}%1376 \def\btxlanguagenamecroatian{\protect\foreignlanguage{#1}{kroatisk}}%1377 \def\btxlanguagenameczech{\protect\foreignlanguage{#1}{tsjekkisk}}%1378 \def\btxlanguagenamedanish{\protect\foreignlanguage{#1}{dansk}}%1379 \def\btxlanguagenamedutch{\protect\foreignlanguage{#1}{nederlandsk}}%1380 \def\btxlanguagenameenglish{\protect\foreignlanguage{#1}{engelsk}}%1381 \def\btxlanguagenameesperanto{\protect\foreignlanguage{#1}{esperanto}}%1382 \def\btxlanguagenamefinnish{\protect\foreignlanguage{#1}{finsk}}%1383 \def\btxlanguagenamefrancais{\protect\foreignlanguage{#1}{fransk}}%1384 \def\btxlanguagenamefrench{\protect\foreignlanguage{#1}{fransk}}%1385 \def\btxlanguagenamefrenchb{\protect\foreignlanguage{#1}{fransk}}%1386 \def\btxlanguagenamegerman{\protect\foreignlanguage{#1}{tysk}}%1387 \def\btxlanguagenamegermanb{\protect\foreignlanguage{#1}{tysk}}%1388 \def\btxlanguagenamegreek{\protect\foreignlanguage{#1}{gr\ae sk}}%1389 \def\btxlanguagenamehebrew{\protect\foreignlanguage{#1}{hebraisk}}%1390 \def\btxlanguagenamehungarian{\protect\foreignlanguage{#1}{ungarsk}}%1391 \def\btxlanguagenameicelandic{\protect\foreignlanguage{#1}{islandsk}}%1392 \def\btxlanguagenameirish{\protect\foreignlanguage{#1}{irsk}}%1393 \def\btxlanguagenameitalian{\protect\foreignlanguage{#1}{italiensk}}%1394 \def\btxlanguagenamelatin{\protect\foreignlanguage{#1}{latinsk}}%1395 \def\btxlanguagenamenaustrian{\protect\foreignlanguage{#1}{tysk}}%1396 \def\btxlanguagenamengerman{\protect\foreignlanguage{#1}{tysk}}%1397 \def\btxlanguagenamenorsk{\protect\foreignlanguage{#1}{norsk}}%1398 \def\btxlanguagenamenynorsk{\protect\foreignlanguage{#1}{nynorsk}}%1399 \def\btxlanguagenamepolish{\protect\foreignlanguage{#1}{polsk}}%1400 \def\btxlanguagenameportuges{\protect\foreignlanguage{#1}{portugisisk}}%1401 \def\btxlanguagenameportuguese{\protect\foreignlanguage{#1}{portugisisk}}%1402 \def\btxlanguagenamerussian{\protect\foreignlanguage{#1}{russisk}}%1403 \def\btxlanguagenamescottish{\protect\foreignlanguage{#1}{skotsk}}%1404 \def\btxlanguagenameserbian{\protect\foreignlanguage{#1}{serbisk}}%1405 \def\btxlanguagenamespanish{\protect\foreignlanguage{#1}{spansk}}%1406 \def\btxlanguagenameswedish{\protect\foreignlanguage{#1}{svensk}}%1407 \def\btxlanguagenameturkish{\protect\foreignlanguage{#1}{tyrkisk}}%1408 \def\btxlanguagenameUKenglish{\protect\foreignlanguage{#1}{engelsk}}%1409 \def\btxlanguagenameUSenglish{\protect\foreignlanguage{#1}{engelsk}}%1410 \fi1411 }1412 \newcommand\bibsnorwegian{\bibsnorsk}

Append the definitions to the language-calling commands.1413 \AtBeginDocument{%1414 \ifbbbbfixlanguage1415 \else

46

Page 47: Multilingual bibliographies: The babelbib package - CTAN

1416 \bbbbaddto{norsk}{bibsnorsk}1417 \fi

Switch off the change of case in titles for Norsk by appending \btxifchangecaseoffto \extrasnorsk.

1418 \bbbbaddto{norsk}{btxifchangecaseoff}1419 }1420 〈/norsk〉

9.3.7 French

1421 〈∗french〉

\bibsfrench french.sty already defines \bibsfrench. In this case it has to be redefined,otherwise newly defined.

1422 \makeatletter1423 \@ifpackageloaded{french}{}{\newcommand\bibsfrench{}}1424 \makeatother

Bibliographic commands for French.1425 \renewcommand\bibsfrench[1][french]{%1426 \def\biblanguagename{#1}%1427 \def\btxetalshort##1{\protect\foreignlanguage{#1}{et~al##1{}}}%1428 \def\btxetallong##1{\protect\foreignlanguage{#1}{et~alii}}%1429 \def\btxandshort##1{\protect\foreignlanguage{#1}{et}}%1430 \def\btxandlong##1{\protect\foreignlanguage{#1}{et}}%1431 \def\btxandcomma##1{}%1432 \def\btxinlong##1{\protect\foreignlanguage{#1}{dans}}%1433 \def\btxinshort##1{\protect\foreignlanguage{#1}{dans}}%1434 \def\btxofseriesshort##1{\protect\foreignlanguage{#1}{de}}%1435 \def\btxinseriesshort##1{\protect\foreignlanguage{#1}{dans}}%1436 \def\btxofserieslong##1{\protect\foreignlanguage{#1}{de}}%1437 \def\btxinserieslong##1{\protect\foreignlanguage{#1}{dans}}%1438 \def\btxeditorshort##1{\protect\foreignlanguage{#1}{r\’ed##1{}}}%1439 \def\btxeditorlong##1{\protect\foreignlanguage{#1}{r\’edacteur}}%1440 \def\btxeditorsshort##1{\protect\foreignlanguage{#1}{r\’eds##1{}}}%1441 \def\btxeditorslong##1{\protect\foreignlanguage{#1}{r\’edacteurs}}%1442 \def\btxvolumeshort##1{\protect\foreignlanguage{#1}{t##1{}}}%1443 \def\btxvolumelong##1{\protect\foreignlanguage{#1}{tome}}%1444 \def\btxnumbershort##1{\protect\foreignlanguage{#1}{%1445 n\textsuperscript{o}\kern.2em\relax{}}}%1446 \def\btxnumberlong##1{\protect\foreignlanguage{#1}{num\’ero}}%1447 \def\btxeditionshort##1{\protect\foreignlanguage{#1}{\’ed##1{}}}%1448 \def\btxeditionlong##1{\protect\foreignlanguage{#1}{\’edition}}%1449 \def\btxeditionnumshort##1##2{\btxnumeralshort{##1}~\btxeditionshort{##2}}%1450 \def\btxeditionnumlong##1##2{\btxnumerallong{##1}~\btxeditionlong{##2}}%1451 \def\btxchaptershort##1{\protect\foreignlanguage{#1}{chap##1{}}}%1452 \def\btxchapterlong##1{\protect\foreignlanguage{#1}{chapitre}}%1453 \def\btxpageshort##1{\protect\foreignlanguage{#1}{p##1{}}}%1454 \def\btxpagelong##1{\protect\foreignlanguage{#1}{page}}%1455 \def\btxpagesshort##1{\protect\foreignlanguage{#1}{p##1{}}}%

47

Page 48: Multilingual bibliographies: The babelbib package - CTAN

1456 \def\btxpageslong##1{\protect\foreignlanguage{#1}{pages}}%1457 \def\btxmastthesis##1{\protect\foreignlanguage{#1}{M\’emoire de ma\^itrise}}%1458 \def\btxphdthesis##1{\protect\foreignlanguage{#1}{Th\‘ese de doctorat}}%1459 \def\btxtechrepshort##1{\protect\foreignlanguage{#1}{rap.\ tech##1{}}}%1460 \def\btxtechreplong##1{\protect\foreignlanguage{#1}{rapport technique}}%1461 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{janvier}}%1462 \def\btxmonfeblong##1{\protect\foreignlanguage{#1}{f\’evrier}}%1463 \def\btxmonmarlong##1{\protect\foreignlanguage{#1}{mars}}%1464 \def\btxmonaprlong##1{\protect\foreignlanguage{#1}{avril}}%1465 \def\btxmonmaylong##1{\protect\foreignlanguage{#1}{mai}}%1466 \def\btxmonjunlong##1{\protect\foreignlanguage{#1}{juin}}%1467 \def\btxmonjullong##1{\protect\foreignlanguage{#1}{juillet}}%1468 \def\btxmonauglong##1{\protect\foreignlanguage{#1}{ao\^ut}}%1469 \def\btxmonseplong##1{\protect\foreignlanguage{#1}{septembre}}%1470 \def\btxmonoctlong##1{\protect\foreignlanguage{#1}{octobre}}%1471 \def\btxmonnovlong##1{\protect\foreignlanguage{#1}{novembre}}%1472 \def\btxmondeclong##1{\protect\foreignlanguage{#1}{d\’ecembre}}%1473 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{jan##1{}}}%1474 \def\btxmonfebshort##1{\protect\foreignlanguage{#1}{f\’ev##1{}}}%1475 \def\btxmonmarshort##1{\protect\foreignlanguage{#1}{mar##1{}}}%1476 \def\btxmonaprshort##1{\protect\foreignlanguage{#1}{avr##1{}}}%1477 \def\btxmonmayshort##1{\protect\foreignlanguage{#1}{mai}}%1478 \def\btxmonjunshort##1{\protect\foreignlanguage{#1}{juin}}%1479 \def\btxmonjulshort##1{\protect\foreignlanguage{#1}{juil##1{}}}%1480 \def\btxmonaugshort##1{\protect\foreignlanguage{#1}{ao\^ut}}%1481 \def\btxmonsepshort##1{\protect\foreignlanguage{#1}{sept##1{}}}%1482 \def\btxmonoctshort##1{\protect\foreignlanguage{#1}{oct##1{}}}%1483 \def\btxmonnovshort##1{\protect\foreignlanguage{#1}{nov##1{}}}%1484 \def\btxmondecshort##1{\protect\foreignlanguage{#1}{d\’ec##1{}}}%1485 \def\Btxinlong##1{\protect\foreignlanguage{#1}{Dans}}%1486 \def\Btxinshort##1{\protect\foreignlanguage{#1}{Dans}}%1487 \def\Btxeditorshort##1{\protect\foreignlanguage{#1}{R\’ed##1{}}}%1488 \def\Btxeditorlong##1{\protect\foreignlanguage{#1}{R\’edacteur}}%1489 \def\Btxeditorsshort##1{\protect\foreignlanguage{#1}{R\’eds##1{}}}%1490 \def\Btxeditorslong##1{\protect\foreignlanguage{#1}{R\’edacteurs}}%1491 \def\Btxvolumeshort##1{\protect\foreignlanguage{#1}{T##1{}}}%1492 \def\Btxvolumelong##1{\protect\foreignlanguage{#1}{Tome}}%1493 \def\Btxnumbershort##1{\protect\foreignlanguage{#1}{%1494 N\textsuperscript{o}\kern.2em\relax}}%1495 \def\Btxnumberlong##1{\protect\foreignlanguage{#1}{Num\’ero}}%1496 \def\Btxeditionshort##1{\protect\foreignlanguage{#1}{\’Ed##1{}}}%1497 \def\Btxeditionlong##1{\protect\foreignlanguage{#1}{\’Edition}}%1498 \def\Btxeditionnumshort##1##2{\btxnumeralshort{##1}~\Btxeditionshort{##2}}%1499 \def\Btxeditionnumlong##1##2{\btxnumerallong{##1}~\Btxeditionlong{##2}}%1500 \def\Btxchaptershort##1{\protect\foreignlanguage{#1}{Chap##1{}}}%1501 \def\Btxchapterlong##1{\protect\foreignlanguage{#1}{Chapitre}}%1502 \def\Btxpageshort##1{\protect\foreignlanguage{#1}{P##1{}}}%1503 \def\Btxpagelong##1{\protect\foreignlanguage{#1}{Page}}%1504 \def\Btxpagesshort##1{\protect\foreignlanguage{#1}{P##1{}}}%1505 \def\Btxpageslong##1{\protect\foreignlanguage{#1}{Pages}}%

48

Page 49: Multilingual bibliographies: The babelbib package - CTAN

1506 \def\Btxtechrepshort##1{\protect\foreignlanguage{#1}{Rap. tech##1{}}}%1507 \def\Btxtechreplong##1{\protect\foreignlanguage{#1}{Rapport technique}}%1508 \def\btxurldatecomment##1{\protect\foreignlanguage{#1}{, visit\’e le ##1}}%1509 \def\btxfnamespaceshort{\,}%1510 \def\btxfnamespacelong{ }%1511 \def\btxnumeralshort##1{\btxnumeralfrench{#1}{##1}}%1512 \def\btxnumerallong##1{\btxnumeralfrench{#1}{##1}}%

Define how to print month and year in numeric format, e. g. MM/YYYY.1513 \def\btxprintmonthyearnum##1##2{##1/##2}%1514 \def\btxkeywordlanguage##1{{\protect\selectlanguage{#1}##1}}%

Names of all known languages in the current language.1515 \ifbbbblanguagenames1516 \def\btxlanguagenameamerican{\protect\foreignlanguage{#1}{anglais}}%1517 \def\btxlanguagenameaustrian{\protect\foreignlanguage{#1}{allemand}}%1518 \def\btxlanguagenamebrazil{\protect\foreignlanguage{#1}{portugais}}%1519 \def\btxlanguagenamebrazilian{\protect\foreignlanguage{#1}{portugais}}%1520 \def\btxlanguagenamebritish{\protect\foreignlanguage{#1}{anglais}}%1521 \def\btxlanguagenamebulgarian{\protect\foreignlanguage{#1}{bulgare}}%1522 \def\btxlanguagenamecanadian{\protect\foreignlanguage{#1}{anglais}}%1523 \def\btxlanguagenamecanadien{\protect\foreignlanguage{#1}{fran\c{c}ais}}%1524 \def\btxlanguagenamecatalan{\protect\foreignlanguage{#1}{catalan}}%1525 \def\btxlanguagenamecroatian{\protect\foreignlanguage{#1}{croate}}%1526 \def\btxlanguagenameczech{\protect\foreignlanguage{#1}{tch\‘eque}}%1527 \def\btxlanguagenamedanish{\protect\foreignlanguage{#1}{danois}}%1528 \def\btxlanguagenamedutch{\protect\foreignlanguage{#1}{n\’eerlandais}}%1529 \def\btxlanguagenameenglish{\protect\foreignlanguage{#1}{anglais}}%1530 \def\btxlanguagenameesperanto{\protect\foreignlanguage{#1}{esperanto}}%1531 \def\btxlanguagenamefinnish{\protect\foreignlanguage{#1}{finnois}}%1532 \def\btxlanguagenamefrancais{\protect\foreignlanguage{#1}{fran\c{c}ais}}%1533 \def\btxlanguagenamefrench{\protect\foreignlanguage{#1}{fran\c{c}ais}}%1534 \def\btxlanguagenamefrenchb{\protect\foreignlanguage{#1}{fran\c{c}ais}}%1535 \def\btxlanguagenamegerman{\protect\foreignlanguage{#1}{allemand}}%1536 \def\btxlanguagenamegermanb{\protect\foreignlanguage{#1}{allemand}}%1537 \def\btxlanguagenamegreek{\protect\foreignlanguage{#1}{grec}}%1538 \def\btxlanguagenamehebrew{\protect\foreignlanguage{#1}{h\’ebreu}}%1539 \def\btxlanguagenamehungarian{\protect\foreignlanguage{#1}{hongrois}}%1540 \def\btxlanguagenameicelandic{\protect\foreignlanguage{#1}{islandais}}%1541 \def\btxlanguagenameirish{\protect\foreignlanguage{#1}{irlandais}}%1542 \def\btxlanguagenameitalian{\protect\foreignlanguage{#1}{italien}}%1543 \def\btxlanguagenamelatin{\protect\foreignlanguage{#1}{latin}}%1544 \def\btxlanguagenamenaustrian{\protect\foreignlanguage{#1}{allemand}}%1545 \def\btxlanguagenamengerman{\protect\foreignlanguage{#1}{allemand}}%1546 \def\btxlanguagenamenorsk{\protect\foreignlanguage{#1}{norv\’egien}}%1547 \def\btxlanguagenamenynorsk{\protect\foreignlanguage{#1}{nouveau1548 norv\’egien}}%1549 \def\btxlanguagenamepolish{\protect\foreignlanguage{#1}{polonais}}%1550 \def\btxlanguagenameportuges{\protect\foreignlanguage{#1}{portugais}}%1551 \def\btxlanguagenameportuguese{\protect\foreignlanguage{#1}{portugais}}%1552 \def\btxlanguagenamerussian{\protect\foreignlanguage{#1}{russe}}%

49

Page 50: Multilingual bibliographies: The babelbib package - CTAN

1553 \def\btxlanguagenamescottish{\protect\foreignlanguage{#1}{\’ecossais}}%1554 \def\btxlanguagenameserbian{\protect\foreignlanguage{#1}{serbe}}%1555 \def\btxlanguagenamespanish{\protect\foreignlanguage{#1}{espagnol}}%1556 \def\btxlanguagenameswedish{\protect\foreignlanguage{#1}{su\’edois}}%1557 \def\btxlanguagenameturkish{\protect\foreignlanguage{#1}{turc}}%1558 \def\btxlanguagenameUKenglish{\protect\foreignlanguage{#1}{anglais}}%1559 \def\btxlanguagenameUSenglish{\protect\foreignlanguage{#1}{anglais}}%1560 \fi1561 }

Copy the commands to the other languages.1562 \newcommand\bibsfrancais{\bibsfrench[francais]}1563 \newcommand\bibsfrenchb{\bibsfrench[frenchb]}1564 \newcommand\bibscanadien{\bibsfrench[canadien]}

Append the definitions to the language-calling commands.1565 \AtBeginDocument{%1566 \ifbbbbfixlanguage1567 \else1568 \bbbbaddto{francais}{bibsfrancais}1569 \bbbbaddto{french}{bibsfrench}1570 \bbbbaddto{frenchb}{bibsfrenchb}1571 \bbbbaddto{canadien}{bibscanadien}1572 \fi

Switch on the change of case in titles for all French dialects by appending\btxifchangecaseoff to \extras〈language〉.

1573 \bbbbaddto{francais}{btxifchangecaseoff}1574 \bbbbaddto{french}{btxifchangecaseoff}1575 \bbbbaddto{frenchb}{btxifchangecaseoff}1576 \bbbbaddto{canadien}{btxifchangecaseoff}1577 }

\btxnumeralfrench

1578 \makeatletter1579 \DeclareRobustCommand\btxnumeralfrench[2]{%1580 \foreignlanguage{#1}{%1581 \ifnumber{#2}{%1582 \expandafter\btx@parsenum#2\@empty\@empty\@empty1583 \btxnumeralfont{%1584 \ifx\btx@digitb\@empty1585 \ifcase\btx@digita \ieme\or \iere\else \ieme\fi1586 \else1587 \ifnum\btx@digita=11588 th%1589 \else1590 \ifcase\btx@digitb \ieme\or \iere\else \ieme\fi1591 \fi1592 \fi1593 }%

50

Page 51: Multilingual bibliographies: The babelbib package - CTAN

1594 }{#2}%1595 }%1596 }1597 \makeatother

1598 〈/french〉

9.3.8 Romanian

1599 〈∗romanian〉

\bibsromanian Bibliographic commands for Romanian.1600 \newcommand\bibsromanian[1][romanian]{%1601 \def\biblanguagename{#1}%1602 \def\btxetalshort##1{\protect\foreignlanguage{#1}{et~al##1{}}}%1603 \def\btxetallong##1{\protect\foreignlanguage{#1}{et~alii}}%1604 \def\btxandshort##1{\protect\foreignlanguage{#1}{\hskip-1.5ex}}%1605 \def\btxandlong##1{\protect\foreignlanguage{#1}{\c{s}i}}%1606 \def\btxandcomma##1{,}%1607 \def\btxinlong##1{\protect\foreignlanguage{#1}{\^{i}n}}%1608 \def\btxinshort##1{\protect\foreignlanguage{#1}{\^{i}n}}%1609 \def\btxofseriesshort##1{\protect\foreignlanguage{#1}{din seria}}%1610 \def\btxinseriesshort##1{\protect\foreignlanguage{#1}{\^{i}n}}%1611 \def\btxofserieslong##1{\protect\foreignlanguage{#1}{din seria}}%1612 \def\btxinserieslong##1{\protect\foreignlanguage{#1}{\^{i}n}}%1613 \def\btxeditorshort##1{\protect\foreignlanguage{#1}{ed##1{}}}%1614 \def\btxeditorlong##1{\protect\foreignlanguage{#1}{editor}}%1615 \def\btxeditorsshort##1{\protect\foreignlanguage{#1}{ed##1{}}}%1616 \def\btxeditorslong##1{\protect\foreignlanguage{#1}{editori}}%1617 \def\btxvolumeshort##1{\protect\foreignlanguage{#1}{vol##1{}}}%1618 \def\btxvolumelong##1{\protect\foreignlanguage{#1}{volumul}}%1619 \def\btxnumbershort##1{\protect\foreignlanguage{#1}{nr##1{}}}%1620 \def\btxnumberlong##1{\protect\foreignlanguage{#1}{num\~{a}rul}}%1621 \def\btxeditionshort##1{\protect\foreignlanguage{#1}{Ed{##1}}}%1622 \def\btxeditionlong##1{\protect\foreignlanguage{#1}{Edi\c{t}ia}}%1623 \def\btxeditionnumshort##1##2{\btxeditionshort{##2}~\btxnumeralshort{##1}}%1624 \def\btxeditionnumlong##1##2{\btxeditionlong{##2}~\btxnumerallong{##1}}%1625 \def\btxchaptershort##1{\protect\foreignlanguage{#1}{cap##1{}}}%1626 \def\btxchapterlong##1{\protect\foreignlanguage{#1}{capitolul}}%1627 \def\btxpageshort##1{\protect\foreignlanguage{#1}{p##1{}}}%1628 \def\btxpagelong##1{\protect\foreignlanguage{#1}{pagina}}%1629 \def\btxpagesshort##1{\protect\foreignlanguage{#1}{pp##1{}}}%1630 \def\btxpageslong##1{\protect\foreignlanguage{#1}{paginile}}%1631 \def\btxmastthesis##1{\protect\foreignlanguage{#1}{%1632 Tez\~{a} de dizerta\c{t}ie}}%1633 \def\btxphdthesis##1{\protect\foreignlanguage{#1}{Tez\~{a} de doctorat}}%1634 \def\btxtechrepshort##1{\protect\foreignlanguage{#1}{Rap.\ tehn##1{}}}%1635 \def\btxtechreplong##1{\protect\foreignlanguage{#1}{Raport tehnic}}%1636 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{ianuarie}}%1637 \def\btxmonfeblong##1{\protect\foreignlanguage{#1}{februarie}}%

51

Page 52: Multilingual bibliographies: The babelbib package - CTAN

1638 \def\btxmonmarlong##1{\protect\foreignlanguage{#1}{martie}}%1639 \def\btxmonaprlong##1{\protect\foreignlanguage{#1}{aprilie}}%1640 \def\btxmonmaylong##1{\protect\foreignlanguage{#1}{mai}}%1641 \def\btxmonjunlong##1{\protect\foreignlanguage{#1}{iunie}}%1642 \def\btxmonjullong##1{\protect\foreignlanguage{#1}{iulie}}%1643 \def\btxmonauglong##1{\protect\foreignlanguage{#1}{august}}%1644 \def\btxmonseplong##1{\protect\foreignlanguage{#1}{septembrie}}%1645 \def\btxmonoctlong##1{\protect\foreignlanguage{#1}{octombrie}}%1646 \def\btxmonnovlong##1{\protect\foreignlanguage{#1}{noiembrie}}%1647 \def\btxmondeclong##1{\protect\foreignlanguage{#1}{decembrie}}%1648 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{ian##1{}}}%1649 \def\btxmonfebshort##1{\protect\foreignlanguage{#1}{feb##1{}}}%1650 \def\btxmonmarshort##1{\protect\foreignlanguage{#1}{mart##1{}}}%1651 \def\btxmonaprshort##1{\protect\foreignlanguage{#1}{apr##1{}}}%1652 \def\btxmonmayshort##1{\protect\foreignlanguage{#1}{mai}}%1653 \def\btxmonjunshort##1{\protect\foreignlanguage{#1}{iun}}%1654 \def\btxmonjulshort##1{\protect\foreignlanguage{#1}{iul}}%1655 \def\btxmonaugshort##1{\protect\foreignlanguage{#1}{aug##1{}}}%1656 \def\btxmonsepshort##1{\protect\foreignlanguage{#1}{sept##1{}}}%1657 \def\btxmonoctshort##1{\protect\foreignlanguage{#1}{oct##1{}}}%1658 \def\btxmonnovshort##1{\protect\foreignlanguage{#1}{nov##1{}}}%1659 \def\btxmondecshort##1{\protect\foreignlanguage{#1}{dec##1{}}}%1660 \def\Btxinlong##1{\protect\foreignlanguage{#1}{\^{I}}}%1661 \def\Btxinshort##1{\protect\foreignlanguage{#1}{\^{I}}}%1662 \def\Btxeditorshort##1{\protect\foreignlanguage{#1}{Ed##1{}}}%1663 \def\Btxeditorlong##1{\protect\foreignlanguage{#1}{Editor}}%1664 \def\Btxeditorsshort##1{\protect\foreignlanguage{#1}{Ed##1{}}}%1665 \def\Btxeditorslong##1{\protect\foreignlanguage{#1}{Editori}}%1666 \def\Btxvolumeshort##1{\protect\foreignlanguage{#1}{Vol##1{}}}%1667 \def\Btxvolumelong##1{\protect\foreignlanguage{#1}{Volumul}}%1668 \def\Btxnumbershort##1{\protect\foreignlanguage{#1}{Nr##1{}}}%1669 \def\Btxnumberlong##1{\protect\foreignlanguage{#1}{Num\~{a}}}%1670 \def\Btxeditionshort##1{\protect\foreignlanguage{#1}{\hskip-1.5ex}}%1671 \def\Btxeditionlong##1{\protect\foreignlanguage{#1}{\hskip-1.5ex}}%1672 \def\Btxeditionnumshort##1##2{\btxnumeralshort{##1}~\Btxeditionshort{##2}}%1673 \def\Btxeditionnumlong##1##2{\btxnumerallong{##1}~\Btxeditionlong{##2}}%1674 \def\Btxchaptershort##1{\protect\foreignlanguage{#1}{Cap##1{}}}%1675 \def\Btxchapterlong##1{\protect\foreignlanguage{#1}{Capitolul}}%1676 \def\Btxpageshort##1{\protect\foreignlanguage{#1}{P##1{}}}%1677 \def\Btxpagelong##1{\protect\foreignlanguage{#1}{Pagina}}%1678 \def\Btxpagesshort##1{\protect\foreignlanguage{#1}{Pp##1{}}}%1679 \def\Btxpageslong##1{\protect\foreignlanguage{#1}{Paginile}}%1680 \def\Btxtechrepshort##1{\protect\foreignlanguage{#1}{Rap.\ tehn##1{}}}%1681 \def\Btxtechreplong##1{\protect\foreignlanguage{#1}{Raport tehnic}}%1682 \def\btxurldatecomment##1{\protect\foreignlanguage{#1}{, accesat la ##1}}%1683 \def\btxfnamespaceshort{}%1684 \def\btxfnamespacelong{ }%1685 \def\btxnumeralshort##1{\btxnumeralromanian{#1}{##1}}%1686 \def\btxnumerallong##1{\btxnumeralromanian{#1}{##1}}%

52

Page 53: Multilingual bibliographies: The babelbib package - CTAN

Define how to print month and year in numeric format, e. g. MM/YYYY.1687 \def\btxprintmonthyearnum##1##2{##1/##2}%1688 \def\btxkeywordlanguage##1{{\protect\selectlanguage{#1}##1}}%1689 \ifbbbblanguagenames1690 \def\btxlanguagenameamerican{\protect\foreignlanguage{#1}{englez\~{a}}}%1691 \def\btxlanguagenameaustrian{\protect\foreignlanguage{#1}{german\~{a}}}%1692 \def\btxlanguagenamebrazil{\protect\foreignlanguage{#1}{portughez\~{a}}}%1693 \def\btxlanguagenamebrazilian{\protect\foreignlanguage{#1}{portughez\~{a}}}%1694 \def\btxlanguagenamebritish{\protect\foreignlanguage{#1}{englez\~{a}}}%1695 \def\btxlanguagenamebulgarian{\protect\foreignlanguage{#1}{bulgar\~{a}}}%1696 \def\btxlanguagenamecanadian{\protect\foreignlanguage{#1}{englez\~{a}}}%1697 \def\btxlanguagenamecanadien{\protect\foreignlanguage{#1}{francez\~{a}}}%1698 \def\btxlanguagenamecatalan{\protect\foreignlanguage{#1}{cataln\~{a}}}%1699 \def\btxlanguagenamecroatian{\protect\foreignlanguage{#1}{croat\~{a}}}%1700 \def\btxlanguagenameczech{\protect\foreignlanguage{#1}{ceh\~{a}}}%1701 \def\btxlanguagenamedanish{\protect\foreignlanguage{#1}{danez\~{a}}}%1702 \def\btxlanguagenamedutch{\protect\foreignlanguage{#1}{olandez\~{a}}}%1703 \def\btxlanguagenameenglish{\protect\foreignlanguage{#1}{englez\~{a}}}%1704 \def\btxlanguagenameesperanto{\protect\foreignlanguage{#1}{esperanto}}%1705 \def\btxlanguagenamefinnish{\protect\foreignlanguage{#1}{finlandez\~{a}}}%1706 \def\btxlanguagenamefrancais{\protect\foreignlanguage{#1}{fracez\~{a}}}%1707 \def\btxlanguagenamefrench{\protect\foreignlanguage{#1}{francez\~{a}}}%1708 \def\btxlanguagenamefrenchb{\protect\foreignlanguage{#1}{francez\~{a}}}%1709 \def\btxlanguagenamegerman{\protect\foreignlanguage{#1}{german\~{a}}}%1710 \def\btxlanguagenamegermanb{\protect\foreignlanguage{#1}{german\~{a}}}%1711 \def\btxlanguagenamegreek{\protect\foreignlanguage{#1}{greac\~{a}}}%1712 \def\btxlanguagenamehebrew{\protect\foreignlanguage{#1}{ebraic\~{a}}}%1713 \def\btxlanguagenamehungarian{\protect\foreignlanguage{#1}{ungar\~{a}}}%1714 \def\btxlanguagenameicelandic{\protect\foreignlanguage{#1}{islandez\~{a}}}%1715 \def\btxlanguagenameirish{\protect\foreignlanguage{#1}{irlandez\~{a}}}%1716 \def\btxlanguagenameitalian{\protect\foreignlanguage{#1}{italian\~{a}}}%1717 \def\btxlanguagenamelatin{\protect\foreignlanguage{#1}{latin\~{a}}}%1718 \def\btxlanguagenamenaustrian{\protect\foreignlanguage{#1}{german\~{a}}}%1719 \def\btxlanguagenamengerman{\protect\foreignlanguage{#1}{german\~{a}}}%1720 \def\btxlanguagenamenorsk{\protect\foreignlanguage{#1}{norvegian\~{a}}}%1721 \def\btxlanguagenamenynorsk{\protect\foreignlanguage{#1}{neo-norvegian\~{a}}}%1722 \def\btxlanguagenamepolish{\protect\foreignlanguage{#1}{polonez\~{a}}}%1723 \def\btxlanguagenameportuges{\protect\foreignlanguage{#1}{portughez\~{a}}}%1724 \def\btxlanguagenameportuguese{\protect\foreignlanguage{#1}{portughez\~{a}}}%1725 \def\btxlanguagenamerussian{\protect\foreignlanguage{#1}{rus\~{a}}}%1726 \def\btxlanguagenamescottish{\protect\foreignlanguage{#1}{sco\c{t}ian\~{a}}}%1727 \def\btxlanguagenameserbian{\protect\foreignlanguage{#1}{s\^{i}rb\~{a}}}%1728 \def\btxlanguagenamespanish{\protect\foreignlanguage{#1}{spaniol\~{a}}}%1729 \def\btxlanguagenameswedish{\protect\foreignlanguage{#1}{suedez\~{a}}}%1730 \def\btxlanguagenameturkish{\protect\foreignlanguage{#1}{turc\~{a}}}%1731 \def\btxlanguagenameUKenglish{\protect\foreignlanguage{#1}{englez\~{a}}}%1732 \def\btxlanguagenameUSenglish{\protect\foreignlanguage{#1}{englez\~{a}}}%1733 \fi1734 }

53

Page 54: Multilingual bibliographies: The babelbib package - CTAN

Append the definitions to the language-calling commands.1735 \AtBeginDocument{%1736 \ifbbbbfixlanguage1737 \else1738 \bbbbaddto{romanian}{bibsromanian}1739 \fi

Switch off the change of case in titles for all Romanian dialects by appending\btxifchangecaseoff to \extras〈language〉.

1740 \bbbbaddto{romanian}{btxifchangecaseoff}1741 }1742 〈/romanian〉

9.3.9 Russian

1743 〈∗russian〉

\bibsrussian Bibliographic commands for Russian.1744 \newcommand\bibsrussian[1][russian]{%1745 \def\biblanguagename{#1}%1746 \def\btxetalshort##1{\protect\foreignlanguage{#1}{\IeC {\cyri }~\IeC1747 {\cyrd }\IeC {\cyrr }.##1{}}}%1748 \def\btxetallong##1{\protect\foreignlanguage{#1}{\IeC {\cyri }~\IeC1749 {\cyrd }\IeC {\cyrr }\IeC {\cyru }\IeC {\cyrg }\IeC {\cyri }\IeC1750 {\cyre }}}%1751 \def\btxandshort##1{\protect\foreignlanguage{#1}{\IeC {\cyri }}}%1752 \def\btxandlong##1{\protect\foreignlanguage{#1}{\IeC {\cyri }}}%1753 \def\btxandcomma##1{,}%1754 \def\btxinlong##1{\protect\foreignlanguage{#1}{\IeC {\cyrv }}}%1755 \def\btxinshort##1{\protect\foreignlanguage{#1}{\IeC {\cyrv }}}%1756 \def\btxofseriesshort##1{\protect\foreignlanguage{#1}{\IeC {\cyri1757 }\IeC {\cyrz }}}%1758 \def\btxinseriesshort##1{\protect\foreignlanguage{#1}{\IeC {\cyrv }}}%1759 \def\btxofserieslong##1{\protect\foreignlanguage{#1}{\IeC {\cyri1760 }\IeC {\cyrz }}}%1761 \def\btxinserieslong##1{\protect\foreignlanguage{#1}{\IeC {\cyrv }}}%1762 \def\btxeditorshort##1{\protect\foreignlanguage{#1}{\IeC {\cyrr1763 }\IeC {\cyre }\IeC {\cyrd }.##1{}}}%1764 \def\btxeditorlong##1{\protect\foreignlanguage{#1}{\IeC {\cyrr }\IeC1765 {\cyre }\IeC {\cyrd }\IeC {\cyra }\IeC {\cyrk }\IeC {\cyrt }\IeC1766 {\cyro }\IeC {\cyrr }}}%1767 \def\btxeditorsshort##1{\protect\foreignlanguage{#1}{\IeC {\cyrr1768 }\IeC {\cyre }\IeC {\cyrd }.##1{}}}%1769 \def\btxeditorslong##1{\protect\foreignlanguage{#1}{\IeC {\cyrr1770 }\IeC {\cyre }\IeC {\cyrd }\IeC {\cyra }\IeC {\cyrk }\IeC {\cyrt1771 }\IeC {\cyro }\IeC {\cyrr }\IeC {\cyrery }}}%1772 \def\btxvolumeshort##1{\protect\foreignlanguage{#1}{\IeC {\cyrt }.##1{}}}%1773 \def\btxvolumelong##1{\protect\foreignlanguage{#1}{\IeC {\cyrt }\IeC1774 {\cyro }\IeC {\cyrm }}}%1775 \def\btxnumbershort##1{\protect\foreignlanguage{#1}{%

54

Page 55: Multilingual bibliographies: The babelbib package - CTAN

1776 n\textsuperscript{\underline{o}}}}%1777 \def\btxnumberlong##1{\protect\foreignlanguage{#1}{\IeC {\cyrn }\IeC1778 {\cyro }\IeC {\cyrm }\IeC {\cyre }\IeC {\cyrr }}}%1779 \def\btxeditionshort##1{\protect\foreignlanguage{#1}{\IeC {\cyrr1780 }\IeC {\cyre }\IeC {\cyrd }.##1{}}}%1781 \def\btxeditionlong##1{\protect\foreignlanguage{#1}{\IeC {\cyrr1782 }\IeC {\cyre }\IeC {\cyrd }\IeC {\cyra }\IeC {\cyrk }\IeC {\cyrc1783 }\IeC {\cyri }\IeC {\cyrya }}}%1784 \def\btxeditionnumshort##1##2{\btxnumeralshort{##1}~\btxeditionshort{##2}}%1785 \def\btxeditionnumlong##1##2{\btxnumerallong{##1}~\btxeditionlong{##2}}%1786 \def\btxchaptershort##1{\protect\foreignlanguage{#1}{\IeC {\cyrg1787 }\IeC {\cyrl }.##1{}}}%1788 \def\btxchapterlong##1{\protect\foreignlanguage{#1}{\IeC {\cyrg1789 }\IeC {\cyrl }\IeC {\cyra }\IeC {\cyrv }\IeC {\cyra }}}%1790 \def\btxpageshort##1{\protect\foreignlanguage{#1}{\IeC {\cyrs }\IeC1791 {\cyrt }\IeC {\cyrr }.##1{}}}%1792 \def\btxpagelong##1{\protect\foreignlanguage{#1}{\IeC {\cyrs }\IeC1793 {\cyrt }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrn }\IeC {\cyri }\IeC1794 {\cyrc }\IeC {\cyra }}}%1795 \def\btxpagesshort##1{\protect\foreignlanguage{#1}{\IeC {\cyrs }\IeC1796 {\cyrt }\IeC {\cyrr }.##1{}}}%1797 \def\btxpageslong##1{\protect\foreignlanguage{#1}{\IeC {\cyrs }\IeC1798 {\cyrt }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrn }\IeC {\cyri }\IeC1799 {\cyrc }\IeC {\cyrery }}}%1800 \def\btxmastthesis##1{\protect\foreignlanguage{#1}{\IeC {\CYRD }\IeC1801 {\cyri }\IeC {\cyrp }\IeC {\cyrl }\IeC {\cyro }\IeC {\cyrm }1802 \IeC {\cyrm }\IeC {\cyra }\IeC {\cyrg }\IeC {\cyri }\IeC {\cyrs1803 }\IeC {\cyrt }\IeC {\cyrr }\IeC {\cyra }}}%1804 \def\btxphdthesis##1{\protect\foreignlanguage{#1}{\IeC {\CYRK }\IeC1805 {\cyra }\IeC {\cyrn }\IeC {\cyrd }\IeC {\cyri }\IeC {\cyrd }\IeC1806 {\cyra }\IeC {\cyrt }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyra }\IeC1807 {\cyrya } \IeC {\cyrd }\IeC {\cyri }\IeC {\cyrs }\IeC {\cyrs1808 }\IeC {\cyre }\IeC {\cyrr }\IeC {\cyrt }\IeC {\cyra }\IeC {\cyrc1809 }\IeC {\cyri }\IeC {\cyrya }}}%1810 \def\btxtechrepshort##1{\protect\foreignlanguage{#1}{\IeC {\cyrt1811 }\IeC {\cyre }\IeC {\cyrh }.\ \IeC {\cyro }\IeC {\cyrt }\IeC1812 {\cyrch }\IeC {\cyre }\IeC {\cyrt }##1{}}}%1813 \def\btxtechreplong##1{\protect\foreignlanguage{#1}{\IeC {\cyrt1814 }\IeC {\cyre }\IeC {\cyrh }\IeC {\cyrn }\IeC {\cyri }\IeC1815 {\cyrch }\IeC {\cyre }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyri1816 }\IeC {\cyrishrt } \IeC {\cyro }\IeC {\cyrt }\IeC {\cyrch }\IeC1817 {\cyre }\IeC {\cyrt }}}%1818 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{\IeC {\cyrya1819 }\IeC {\cyrn }\IeC {\cyrv }\IeC {\cyra }\IeC {\cyrr }\IeC1820 {\cyrsftsn }}}%1821 \def\btxmonfeblong##1{\protect\foreignlanguage{#1}{\IeC {\cyrf }\IeC1822 {\cyre }\IeC {\cyrv }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrl }\IeC1823 {\cyrsftsn }}}%1824 \def\btxmonmarlong##1{\protect\foreignlanguage{#1}{\IeC {\cyrm }\IeC1825 {\cyra }\IeC {\cyrr }\IeC {\cyrt }}}%

55

Page 56: Multilingual bibliographies: The babelbib package - CTAN

1826 \def\btxmonaprlong##1{\protect\foreignlanguage{#1}{\IeC {\cyra }\IeC1827 {\cyrp }\IeC {\cyrr }\IeC {\cyre }\IeC {\cyrl }\IeC {\cyrsftsn1828 }}}%1829 \def\btxmonmaylong##1{\protect\foreignlanguage{#1}{\IeC {\cyrm }\IeC1830 {\cyra }\IeC {\cyrishrt }}}%1831 \def\btxmonjunlong##1{\protect\foreignlanguage{#1}{\IeC {\cyri }\IeC1832 {\cyryu }\IeC {\cyrn }\IeC {\cyrsftsn }}}%1833 \def\btxmonjullong##1{\protect\foreignlanguage{#1}{\IeC {\cyri }\IeC1834 {\cyryu }\IeC {\cyrl }\IeC {\cyrsftsn }}}%1835 \def\btxmonauglong##1{\protect\foreignlanguage{#1}{\IeC {\cyra }\IeC1836 {\cyrv }\IeC {\cyrg }\IeC {\cyru }\IeC {\cyrs }\IeC {\cyrt }}}%1837 \def\btxmonseplong##1{\protect\foreignlanguage{#1}{\IeC {\cyrs }\IeC1838 {\cyre }\IeC {\cyrn }\IeC {\cyrt }\IeC {\cyrya }\IeC {\cyrb1839 }\IeC {\cyrr }\IeC {\cyrsftsn }}}%1840 \def\btxmonoctlong##1{\protect\foreignlanguage{#1}{\IeC {\cyro }\IeC1841 {\cyrk }\IeC {\cyrt }\IeC {\cyrya }\IeC {\cyrb }\IeC {\cyrr1842 }\IeC {\cyrsftsn }}}%1843 \def\btxmonnovlong##1{\protect\foreignlanguage{#1}{\IeC {\cyrn }\IeC1844 {\cyro }\IeC {\cyrya }\IeC {\cyrb }\IeC {\cyrr }\IeC {\cyrsftsn1845 }}}%1846 \def\btxmondeclong##1{\protect\foreignlanguage{#1}{\IeC {\cyrd }\IeC1847 {\cyre }\IeC {\cyrk }\IeC {\cyra }\IeC {\cyrb }\IeC {\cyrr }\IeC1848 {\cyrsftsn }}}%1849 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{\IeC {\cyrya1850 }\IeC {\cyrn }\IeC {\cyrv }.##1{}}}%1851 \def\btxmonfebshort##1{\protect\foreignlanguage{#1}{\IeC {\cyrf1852 }\IeC {\cyre }\IeC {\cyrv }.##1{}}}%1853 \def\btxmonmarshort##1{\protect\foreignlanguage{#1}{\IeC {\cyrm1854 }\IeC {\cyra }\IeC {\cyrr }.##1{}}}%1855 \def\btxmonaprshort##1{\protect\foreignlanguage{#1}{\IeC {\cyra1856 }\IeC {\cyrp }\IeC {\cyrr }.##1{}}}%1857 \def\btxmonmayshort##1{\protect\foreignlanguage{#1}{\IeC {\cyrm1858 }\IeC {\cyra }\IeC {\cyrishrt }}}%1859 \def\btxmonjunshort##1{\protect\foreignlanguage{#1}{\IeC {\cyri1860 }\IeC {\cyryu }\IeC {\cyrn }\IeC {\cyrsftsn }##1{}}}%1861 \def\btxmonjulshort##1{\protect\foreignlanguage{#1}{\IeC {\cyri1862 }\IeC {\cyryu }\IeC {\cyrl }\IeC {\cyrsftsn }##1{}}}%1863 \def\btxmonaugshort##1{\protect\foreignlanguage{#1}{\IeC {\cyra1864 }\IeC {\cyrv }\IeC {\cyrg }.##1{}}}%1865 \def\btxmonsepshort##1{\protect\foreignlanguage{#1}{\IeC {\cyrs1866 }\IeC {\cyre }\IeC {\cyrn }.##1{}}}%1867 \def\btxmonoctshort##1{\protect\foreignlanguage{#1}{\IeC {\cyro1868 }\IeC {\cyrk }\IeC {\cyrt }.##1{}}}%1869 \def\btxmonnovshort##1{\protect\foreignlanguage{#1}{\IeC {\cyrn1870 }\IeC {\cyro }\IeC {\cyrya }.##1{}}}%1871 \def\btxmondecshort##1{\protect\foreignlanguage{#1}{\IeC {\cyrd1872 }\IeC {\cyre }\IeC {\cyrk }.##1{}}}%1873 \def\Btxinlong##1{\protect\foreignlanguage{#1}{\IeC {\CYRV }}}%1874 \def\Btxinshort##1{\protect\foreignlanguage{#1}{\IeC {\CYRV }}}%1875 \def\Btxeditorshort##1{\protect\foreignlanguage{#1}{\IeC {\CYRR

56

Page 57: Multilingual bibliographies: The babelbib package - CTAN

1876 }\IeC {\cyre }\IeC {\cyrd }.##1{}}}%1877 \def\Btxeditorlong##1{\protect\foreignlanguage{#1}{\IeC {\CYRR }\IeC1878 {\cyre }\IeC {\cyrd }\IeC {\cyra }\IeC {\cyrk }\IeC {\cyrt }\IeC1879 {\cyro }\IeC {\cyrr }}}%1880 \def\Btxeditorsshort##1{\protect\foreignlanguage{#1}{\IeC {\CYRR1881 }\IeC {\cyre }\IeC {\cyrd }.##1{}}}%1882 \def\Btxeditorslong##1{\protect\foreignlanguage{#1}{\IeC {\CYRR1883 }\IeC {\cyre }\IeC {\cyrd }\IeC {\cyra }\IeC {\cyrk }\IeC {\cyrt1884 }\IeC {\cyro }\IeC {\cyrr }\IeC {\cyrery }}}%1885 \def\Btxvolumeshort##1{\protect\foreignlanguage{#1}{\IeC {\CYRT }.##1{}}}%1886 \def\Btxvolumelong##1{\protect\foreignlanguage{#1}{\IeC {\CYRT }\IeC1887 {\cyro }\IeC {\cyrm }}}%1888 \def\Btxnumbershort##1{\protect\foreignlanguage{#1}{%1889 N\textsuperscript{\underline{o}}}}%1890 \def\Btxnumberlong##1{\protect\foreignlanguage{#1}{\IeC {\CYRN }\IeC1891 {\cyro }\IeC {\cyrm }\IeC {\cyre }\IeC {\cyrr }}}%1892 \def\Btxeditionshort##1{\protect\foreignlanguage{#1}{\IeC {\CYRR1893 }\IeC {\cyre }\IeC {\cyrd }.##1{}}}%1894 \def\Btxeditionlong##1{\protect\foreignlanguage{#1}{\IeC {\CYRR1895 }\IeC {\cyre }\IeC {\cyrd }\IeC {\cyra }\IeC {\cyrk }\IeC {\cyrc1896 }\IeC {\cyri }\IeC {\cyrya }}}%1897 \def\Btxeditionnumshort##1##2{\btxnumeralshort{##1}~\Btxeditionshort{##2}}%1898 \def\Btxeditionnumlong##1##2{\btxnumerallong{##1}~\Btxeditionlong{##2}}%1899 \def\Btxchaptershort##1{\protect\foreignlanguage{#1}{\IeC {\CYRG1900 }\IeC {\cyrl }.##1{}}}%1901 \def\Btxchapterlong##1{\protect\foreignlanguage{#1}{\IeC {\CYRG1902 }\IeC {\cyrl }\IeC {\cyra }\IeC {\cyrv }\IeC {\cyra }}}%1903 \def\Btxpageshort##1{\protect\foreignlanguage{#1}{\IeC {\CYRS }\IeC1904 {\cyrt }\IeC {\cyrr }.##1{}}}%1905 \def\Btxpagelong##1{\protect\foreignlanguage{#1}{\IeC {\CYRS }\IeC1906 {\cyrt }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrn }\IeC {\cyri }\IeC1907 {\cyrc }\IeC {\cyra }}}%1908 \def\Btxpagesshort##1{\protect\foreignlanguage{#1}{\IeC {\CYRS }\IeC1909 {\cyrt }\IeC {\cyrr }.##1{}}}%1910 \def\Btxpageslong##1{\protect\foreignlanguage{#1}{\IeC {\CYRS }\IeC1911 {\cyrt }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrn }\IeC {\cyri }\IeC1912 {\cyrc }\IeC {\cyrery }}}%1913 \def\Btxtechrepshort##1{\protect\foreignlanguage{#1}{\IeC {\CYRT1914 }\IeC {\cyre }\IeC {\cyrh }.\ \IeC {\cyro }\IeC {\cyrt }\IeC1915 {\cyrch }\IeC {\cyre }\IeC {\cyrt }##1{}}}%1916 \def\Btxtechreplong##1{\protect\foreignlanguage{#1}{\IeC {\CYRT1917 }\IeC {\cyre }\IeC {\cyrh }\IeC {\cyrn }\IeC {\cyri }\IeC1918 {\cyrch }\IeC {\cyre }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyri1919 }\IeC {\cyrishrt } \IeC {\cyro }\IeC {\cyrt }\IeC {\cyrch }\IeC1920 {\cyre }\IeC {\cyrt }}}%1921 \def\btxurldatecomment##1{\protect\foreignlanguage{#1}{, \IeC {\cyrp1922 }\IeC {\cyro }\IeC {\cyrs }\IeC {\cyre }\IeC {\cyrshch }\IeC1923 {\cyre }\IeC {\cyrn }\IeC {\cyro } ##1}}%1924 \def\btxfnamespaceshort{\,}%1925 \def\btxfnamespacelong{ }%

57

Page 58: Multilingual bibliographies: The babelbib package - CTAN

1926 \def\btxnumeralshort##1{\btxnumeralfallback{#1}{##1}}%1927 \def\btxnumerallong##1{\btxnumeralfallback{#1}{##1}}%

Define how to print month and year in numeric format, e. g. MM/YYYY.1928 \def\btxprintmonthyearnum##1##2{##1/##2}%1929 \def\btxkeywordlanguage##1{{\protect\selectlanguage{#1}##1}}%1930 \ifbbbblanguagenames1931 \def\btxlanguagenameamerican{\protect\foreignlanguage{#1}{\IeC1932 {\cyra }\IeC {\cyrn }\IeC {\cyrg }\IeC {\cyrl }\IeC {\cyri1933 }\IeC {\cyrishrt }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC1934 {\cyrishrt }}}%1935 \def\btxlanguagenameaustrian{\protect\foreignlanguage{#1}{\IeC1936 {\cyra }\IeC {\cyrv }\IeC {\cyrs }\IeC {\cyrt }\IeC {\cyrr1937 }\IeC {\cyri }\IeC {\cyrishrt }\IeC {\cyrs }\IeC {\cyrk }\IeC1938 {\cyri }\IeC {\cyrishrt }}}%1939 \def\btxlanguagenamebrazil{\protect\foreignlanguage{#1}{\IeC1940 {\cyrp }\IeC {\cyro }\IeC {\cyrr }\IeC {\cyrt }\IeC {\cyru1941 }\IeC {\cyrg }\IeC {\cyra }\IeC {\cyrl }\IeC {\cyrsftsn }\IeC1942 {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC {\cyrishrt }}}%1943 \def\btxlanguagenamebrazilian{\protect\foreignlanguage{#1}{\IeC1944 {\cyrp }\IeC {\cyro }\IeC {\cyrr }\IeC {\cyrt }\IeC {\cyru1945 }\IeC {\cyrg }\IeC {\cyra }\IeC {\cyrl }\IeC {\cyrsftsn }\IeC1946 {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC {\cyrishrt }}}%1947 \def\btxlanguagenamebritish{\protect\foreignlanguage{#1}{\IeC1948 {\cyra }\IeC {\cyrn }\IeC {\cyrg }\IeC {\cyrl }\IeC {\cyri1949 }\IeC {\cyrishrt }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC1950 {\cyrishrt }}}%1951 \def\btxlanguagenamebulgarian{\protect\foreignlanguage{#1}{\IeC1952 {\cyrb }\IeC {\cyro }\IeC {\cyrl }\IeC {\cyrg }\IeC {\cyra1953 }\IeC {\cyrr }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC1954 {\cyrishrt }}}%1955 \def\btxlanguagenamecanadian{\protect\foreignlanguage{#1}{\IeC1956 {\cyra }\IeC {\cyrn }\IeC {\cyrg }\IeC {\cyrl }\IeC {\cyri1957 }\IeC {\cyrishrt }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC1958 {\cyrishrt }}}%1959 \def\btxlanguagenamecanadien{\protect\foreignlanguage{#1}{\IeC1960 {\cyrf }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrn }\IeC {\cyrc1961 }\IeC {\cyru }\IeC {\cyrz }\IeC {\cyrs }\IeC {\cyrk }\IeC1962 {\cyri }\IeC {\cyrishrt }}}%1963 \def\btxlanguagenamecatalan{\protect\foreignlanguage{#1}{\IeC1964 {\cyrk }\IeC {\cyra }\IeC {\cyrt }\IeC {\cyra }\IeC {\cyrl1965 }\IeC {\cyro }\IeC {\cyrn }\IeC {\cyrs }\IeC {\cyrk }\IeC1966 {\cyri }\IeC {\cyrishrt }}}%1967 \def\btxlanguagenamecroatian{\protect\foreignlanguage{#1}{\IeC1968 {\cyrh }\IeC {\cyro }\IeC {\cyrr }\IeC {\cyrv }\IeC {\cyra1969 }\IeC {\cyrt }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC1970 {\cyrishrt }}}%1971 \def\btxlanguagenameczech{\protect\foreignlanguage{#1}{\IeC1972 {\cyrch }\IeC {\cyre }\IeC {\cyrsh }\IeC {\cyrs }\IeC {\cyrk1973 }\IeC {\cyri }\IeC {\cyrishrt }}}%

58

Page 59: Multilingual bibliographies: The babelbib package - CTAN

1974 \def\btxlanguagenamedanish{\protect\foreignlanguage{#1}{\IeC1975 {\cyrd }\IeC {\cyra }\IeC {\cyrt }\IeC {\cyrs }\IeC {\cyrk1976 }\IeC {\cyri }\IeC {\cyrishrt }}}%1977 \def\btxlanguagenamedutch{\protect\foreignlanguage{#1}{\IeC {\cyrg1978 }\IeC {\cyro }\IeC {\cyrl }\IeC {\cyrl }\IeC {\cyra }\IeC1979 {\cyrn }\IeC {\cyrd }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyri1980 }\IeC {\cyrishrt }}}%1981 \def\btxlanguagenameenglish{\protect\foreignlanguage{#1}{\IeC1982 {\cyra }\IeC {\cyrn }\IeC {\cyrg }\IeC {\cyrl }\IeC {\cyri1983 }\IeC {\cyrishrt }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC1984 {\cyrishrt }}}%1985 \def\btxlanguagenameesperanto{\protect\foreignlanguage{#1}{\IeC1986 {\cyrerev }\IeC {\cyrs }\IeC {\cyrp }\IeC {\cyre }\IeC {\cyrr1987 }\IeC {\cyra }\IeC {\cyrn }\IeC {\cyrt }\IeC {\cyro }}}%1988 \def\btxlanguagenamefinnish{\protect\foreignlanguage{#1}{\IeC1989 {\cyrf }\IeC {\cyri }\IeC {\cyrn }\IeC {\cyrs }\IeC {\cyrk1990 }\IeC {\cyri }\IeC {\cyrishrt }}}%1991 \def\btxlanguagenamefranceis{\protect\foreignlanguage{#1}{\IeC1992 {\cyrf }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrn }\IeC {\cyrc1993 }\IeC {\cyru }\IeC {\cyrz }\IeC {\cyrs }\IeC {\cyrk }\IeC1994 {\cyri }\IeC {\cyrishrt }}}%1995 \def\btxlanguagenamefrench{\protect\foreignlanguage{#1}{\IeC1996 {\cyrf }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrn }\IeC {\cyrc1997 }\IeC {\cyru }\IeC {\cyrz }\IeC {\cyrs }\IeC {\cyrk }\IeC1998 {\cyri }\IeC {\cyrishrt }}}%1999 \def\btxlanguagenamefrenchb{\protect\foreignlanguage{#1}{\IeC2000 {\cyrf }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrn }\IeC {\cyrc2001 }\IeC {\cyru }\IeC {\cyrz }\IeC {\cyrs }\IeC {\cyrk }\IeC2002 {\cyri }\IeC {\cyrishrt }}}%2003 \def\btxlanguagenamegerman{\protect\foreignlanguage{#1}{\IeC2004 {\cyrn }\IeC {\cyre }\IeC {\cyrm }\IeC {\cyre }\IeC {\cyrc2005 }\IeC {\cyrk }\IeC {\cyri }\IeC {\cyrishrt }}}%2006 \def\btxlanguagenamegermanb{\protect\foreignlanguage{#1}{\IeC2007 {\cyrn }\IeC {\cyre }\IeC {\cyrm }\IeC {\cyre }\IeC {\cyrc2008 }\IeC {\cyrk }\IeC {\cyri }\IeC {\cyrishrt }}}%2009 \def\btxlanguagenamegreek{\protect\foreignlanguage{#1}{\IeC {\cyrg2010 }\IeC {\cyrr }\IeC {\cyre }\IeC {\cyrch }\IeC {\cyre }\IeC2011 {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC {\cyrishrt }}}%2012 \def\btxlanguagenamehebrew{\protect\foreignlanguage{#1}{\IeC2013 {\cyre }\IeC {\cyrv }\IeC {\cyrr }\IeC {\cyre }\IeC {\cyrishrt2014 }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC {\cyrishrt }}}%2015 \def\btxlanguagenamehungarian{\protect\foreignlanguage{#1}{\IeC2016 {\cyrv }\IeC {\cyre }\IeC {\cyrn }\IeC {\cyrg }\IeC {\cyre2017 }\IeC {\cyrr }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC2018 {\cyrishrt }}}%2019 \def\btxlanguagenameicelandic{\protect\foreignlanguage{#1}{\IeC2020 {\cyri }\IeC {\cyrs }\IeC {\cyrl }\IeC {\cyra }\IeC {\cyrn2021 }\IeC {\cyrd }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC2022 {\cyrishrt }}}%2023 \def\btxlanguagenameirish{\protect\foreignlanguage{#1}{\IeC {\cyri

59

Page 60: Multilingual bibliographies: The babelbib package - CTAN

2024 }\IeC {\cyrr }\IeC {\cyrl }\IeC {\cyra }\IeC {\cyrn }\IeC2025 {\cyrd }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC {\cyrishrt2026 }}}%2027 \def\btxlanguagenameitalian{\protect\foreignlanguage{#1}{\IeC2028 {\cyri }\IeC {\cyrt }\IeC {\cyra }\IeC {\cyrl }\IeC {\cyrsftsn2029 }\IeC {\cyrya }\IeC {\cyrn }\IeC {\cyrs }\IeC {\cyrk }\IeC2030 {\cyri }\IeC {\cyrishrt }}}%2031 \def\btxlanguagenamelatin{\protect\foreignlanguage{#1}{\IeC {\cyrl2032 }\IeC {\cyra }\IeC {\cyrt }\IeC {\cyri }\IeC {\cyrn }\IeC2033 {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC {\cyrishrt }}}%2034 \def\btxlanguagenamenaustrian{\protect\foreignlanguage{#1}{\IeC2035 {\cyrn }\IeC {\cyre }\IeC {\cyrm }\IeC {\cyre }\IeC {\cyrc2036 }\IeC {\cyrk }\IeC {\cyri }\IeC {\cyrishrt }}}%2037 \def\btxlanguagenamengerman{\protect\foreignlanguage{#1}{\IeC2038 {\cyrn }\IeC {\cyre }\IeC {\cyrm }\IeC {\cyre }\IeC {\cyrc2039 }\IeC {\cyrk }\IeC {\cyri }\IeC {\cyrishrt }}}%2040 \def\btxlanguagenamenorsk{\protect\foreignlanguage{#1}{\IeC {\cyrn2041 }\IeC {\cyro }\IeC {\cyrr }\IeC {\cyrv }\IeC {\cyre }\IeC2042 {\cyrzh }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC2043 {\cyrishrt }}}%2044 \def\btxlanguagenamenynorsk{\protect\foreignlanguage{#1}{\IeC2045 {\cyrn }\IeC {\cyro }\IeC {\cyrv }\IeC {\cyro }\IeC {\cyrn2046 }\IeC {\cyro }\IeC {\cyrr }\IeC {\cyrv }\IeC {\cyre }\IeC2047 {\cyrzh }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC2048 {\cyrishrt }}}%2049 \def\btxlanguagenamepolish{\protect\foreignlanguage{#1}{\IeC2050 {\cyrp }\IeC {\cyro }\IeC {\cyrl }\IeC {\cyrsftsn }\IeC {\cyrs2051 }\IeC {\cyrk }\IeC {\cyri }\IeC {\cyrishrt }}}%2052 \def\btxlanguagenameportuges{\protect\foreignlanguage{#1}{\IeC2053 {\cyrp }\IeC {\cyro }\IeC {\cyrr }\IeC {\cyrt }\IeC {\cyru2054 }\IeC {\cyrg }\IeC {\cyra }\IeC {\cyrl }\IeC {\cyrsftsn }\IeC2055 {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC {\cyrishrt }}}%2056 \def\btxlanguagenameportuguese{\protect\foreignlanguage{#1}{\IeC2057 {\cyrp }\IeC {\cyro }\IeC {\cyrr }\IeC {\cyrt }\IeC {\cyru2058 }\IeC {\cyrg }\IeC {\cyra }\IeC {\cyrl }\IeC {\cyrsftsn }\IeC2059 {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC {\cyrishrt }}}%2060 \def\btxlanguagenamerussian{\protect\foreignlanguage{#1}{\IeC2061 {\cyrr }\IeC {\cyru }\IeC {\cyrs }\IeC {\cyrs }\IeC {\cyrk2062 }\IeC {\cyri }\IeC {\cyrishrt }}}%2063 \def\btxlanguagenamescottish{\protect\foreignlanguage{#1}{\IeC2064 {\cyrsh }\IeC {\cyro }\IeC {\cyrt }\IeC {\cyrl }\IeC {\cyra2065 }\IeC {\cyrn }\IeC {\cyrd }\IeC {\cyrs }\IeC {\cyrk }\IeC2066 {\cyri }\IeC {\cyrishrt }}}%2067 \def\btxlanguagenameserbian{\protect\foreignlanguage{#1}{\IeC2068 {\cyrs }\IeC {\cyre }\IeC {\cyrr }\IeC {\cyrb }\IeC {\cyrs2069 }\IeC {\cyrk }\IeC {\cyri }\IeC {\cyrishrt }}}%2070 \def\btxlanguagenamespanish{\protect\foreignlanguage{#1}{\IeC2071 {\cyri }\IeC {\cyrs }\IeC {\cyrp }\IeC {\cyra }\IeC {\cyrn2072 }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC {\cyrishrt }}}%2073 \def\btxlanguagenameswedish{\protect\foreignlanguage{#1}{\IeC

60

Page 61: Multilingual bibliographies: The babelbib package - CTAN

2074 {\cyrsh }\IeC {\cyrv }\IeC {\cyre }\IeC {\cyrd }\IeC {\cyrs2075 }\IeC {\cyrk }\IeC {\cyri }\IeC {\cyrishrt }}}%2076 \def\btxlanguagenameturkish{\protect\foreignlanguage{#1}{\IeC2077 {\cyrt }\IeC {\cyru }\IeC {\cyrr }\IeC {\cyre }\IeC {\cyrc2078 }\IeC {\cyrk }\IeC {\cyri }\IeC {\cyrishrt }}}%2079 \def\btxlanguagenameukrainian{\protect\foreignlanguage{#1}{\IeC2080 {\cyru }\IeC {\cyrk }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyri2081 }\IeC {\cyrn }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC2082 {\cyrishrt }}}%2083 \def\btxlanguagenameUKenglish{\protect\foreignlanguage{#1}{\IeC2084 {\cyra }\IeC {\cyrn }\IeC {\cyrg }\IeC {\cyrl }\IeC {\cyri2085 }\IeC {\cyrishrt }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC2086 {\cyrishrt }}}%2087 \def\btxlanguagenameUSenglish{\protect\foreignlanguage{#1}{\IeC2088 {\cyra }\IeC {\cyrn }\IeC {\cyrg }\IeC {\cyrl }\IeC {\cyri2089 }\IeC {\cyrishrt }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC2090 {\cyrishrt }}}%2091 \fi2092 }

Copy the commands to the other languages.2093 \newcommand\bibsrussianb{\bibsrussian[russianb]}

Append the definitions to the language-calling commands.2094 \AtBeginDocument{%2095 \ifbbbbfixlanguage2096 \else2097 \bbbbaddto{russianb}{bibrussianb}2098 \bbbbaddto{russian}{bibsrussian}2099 \fi

Switch off the change of case in titles for all Russian dialects by appending\btxifchangecaseoff to \extras〈language〉.

2100 \bbbbaddto{russianb}{btxifchangecaseoff}2101 \bbbbaddto{russian}{btxifchangecaseoff}2102 }2103 〈/russian〉

9.3.10 Serbian

2104 〈∗serbian〉

The language definition for Serbian was provided by Zoran Filipovic.\bibsserbian Bibliographic commands for Serbian.

2105 \newcommand\bibsserbian[1][serbian]{%2106 \def\biblanguagename{#1}%2107 \def\btxetalshort##1{\protect\foreignlanguage{#1}{i~dr.##1{}}}%2108 \def\btxetallong##1{\protect\foreignlanguage{#1}{i~drugi}}%2109 \def\btxandshort##1{\protect\foreignlanguage{#1}{i}}%2110 \def\btxandlong##1{\protect\foreignlanguage{#1}{i}}%2111 \def\btxandcomma##1{,}%

61

Page 62: Multilingual bibliographies: The babelbib package - CTAN

2112 \def\btxinlong##1{\protect\foreignlanguage{#1}{u:}}%2113 \def\btxinshort##1{\protect\foreignlanguage{#1}{u:}}%2114 \def\btxofseriesshort##1{\protect\foreignlanguage{#1}{iz}}%2115 \def\btxinseriesshort##1{\protect\foreignlanguage{#1}{u}}%2116 \def\btxofserieslong##1{\protect\foreignlanguage{#1}{iz}}%2117 \def\btxinserieslong##1{\protect\foreignlanguage{#1}{u}}%2118 \def\btxeditorshort##1{\protect\foreignlanguage{#1}{ur.##1{}}}%2119 \def\btxeditorlong##1{\protect\foreignlanguage{#1}{urednik}}%2120 \def\btxeditorsshort##1{\protect\foreignlanguage{#1}{ur.##1{}}}%2121 \def\btxeditorslong##1{\protect\foreignlanguage{#1}{urednici}}%2122 \def\btxvolumeshort##1{\protect\foreignlanguage{#1}{tm.##1{}}}%2123 \def\btxvolumelong##1{\protect\foreignlanguage{#1}{tom}}%2124 \def\btxnumbershort##1{\protect\foreignlanguage{#1}{br.##1{}}}%2125 \def\btxnumberlong##1{\protect\foreignlanguage{#1}{broj}}%2126 \def\btxeditionshort##1{\protect\foreignlanguage{#1}{ed.##1{}}}%2127 \def\btxeditionlong##1{\protect\foreignlanguage{#1}{edicija}}%2128 \def\btxeditionnumshort##1##2{\btxnumeralshort{##1}~\btxeditionshort{##2}}%2129 \def\btxeditionnumlong##1##2{\btxnumerallong{##1}~\btxeditionlong{##2}}%2130 \def\btxchaptershort##1{\protect\foreignlanguage{#1}{pog.##1{}}}%2131 \def\btxchapterlong##1{\protect\foreignlanguage{#1}{poglavlje}}%2132 \def\btxpageshort##1{\protect\foreignlanguage{#1}{str.##1{}}}%2133 \def\btxpagelong##1{\protect\foreignlanguage{#1}{strana}}%2134 \def\btxpagesshort##1{\protect\foreignlanguage{#1}{str.##1{}}}%2135 \def\btxpageslong##1{\protect\foreignlanguage{#1}{strane}}%2136 \def\btxmastthesis##1{\protect\foreignlanguage{#1}{Magistarska teza}}%2137 \def\btxphdthesis##1{\protect\foreignlanguage{#1}{Doktorska disertacija}}%2138 \def\btxtechrepshort##1{\protect\foreignlanguage{#1}{Tehn.\ izv##1{}}}%2139 \def\btxtechreplong##1{\protect\foreignlanguage{#1}{%2140 Tehni\v cki izve\v staj}}%2141 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{Januar}}%2142 \def\btxmonfeblong##1{\protect\foreignlanguage{#1}{Februar}}%2143 \def\btxmonmarlong##1{\protect\foreignlanguage{#1}{Mart}}%2144 \def\btxmonaprlong##1{\protect\foreignlanguage{#1}{April}}%2145 \def\btxmonmaylong##1{\protect\foreignlanguage{#1}{Maj}}%2146 \def\btxmonjunlong##1{\protect\foreignlanguage{#1}{Jun}}%2147 \def\btxmonjullong##1{\protect\foreignlanguage{#1}{Jul}}%2148 \def\btxmonauglong##1{\protect\foreignlanguage{#1}{Avgust}}%2149 \def\btxmonseplong##1{\protect\foreignlanguage{#1}{Septembar}}%2150 \def\btxmonoctlong##1{\protect\foreignlanguage{#1}{Octobar}}%2151 \def\btxmonnovlong##1{\protect\foreignlanguage{#1}{Novembar}}%2152 \def\btxmondeclong##1{\protect\foreignlanguage{#1}{Decembar}}%2153 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{Jan##1{}}}%2154 \def\btxmonfebshort##1{\protect\foreignlanguage{#1}{Feb##1{}}}%2155 \def\btxmonmarshort##1{\protect\foreignlanguage{#1}{Mar##1{}}}%2156 \def\btxmonaprshort##1{\protect\foreignlanguage{#1}{Apr##1{}}}%2157 \def\btxmonmayshort##1{\protect\foreignlanguage{#1}{Maj}}%2158 \def\btxmonjunshort##1{\protect\foreignlanguage{#1}{Jun}}%2159 \def\btxmonjulshort##1{\protect\foreignlanguage{#1}{Jul}}%2160 \def\btxmonaugshort##1{\protect\foreignlanguage{#1}{Avg##1{}}}%2161 \def\btxmonsepshort##1{\protect\foreignlanguage{#1}{Sept##1{}}}%

62

Page 63: Multilingual bibliographies: The babelbib package - CTAN

2162 \def\btxmonoctshort##1{\protect\foreignlanguage{#1}{Oct##1{}}}%2163 \def\btxmonnovshort##1{\protect\foreignlanguage{#1}{Nov##1{}}}%2164 \def\btxmondecshort##1{\protect\foreignlanguage{#1}{Dec##1{}}}%2165 \def\Btxinlong##1{\protect\foreignlanguage{#1}{U:}}%2166 \def\Btxinshort##1{\protect\foreignlanguage{#1}{U:}}%2167 \def\Btxeditorshort##1{\protect\foreignlanguage{#1}{Ur.##1{}}}%2168 \def\Btxeditorlong##1{\protect\foreignlanguage{#1}{Urednik}}%2169 \def\Btxeditorsshort##1{\protect\foreignlanguage{#1}{Ur.##1{}}}%2170 \def\Btxeditorslong##1{\protect\foreignlanguage{#1}{Urednici}}%2171 \def\Btxvolumeshort##1{\protect\foreignlanguage{#1}{Tm.##1{}}}%2172 \def\Btxvolumelong##1{\protect\foreignlanguage{#1}{Tom}}%2173 \def\Btxnumbershort##1{\protect\foreignlanguage{#1}{Br.##1{}}}%2174 \def\Btxnumberlong##1{\protect\foreignlanguage{#1}{Broj}}%2175 \def\Btxeditionshort##1{\protect\foreignlanguage{#1}{Ed.##1{}}}%2176 \def\Btxeditionlong##1{\protect\foreignlanguage{#1}{Edicija}}%2177 \def\Btxeditionnumshort##1##2{\btxnumeralshort{##1}~\Btxeditionshort{##2}}%2178 \def\Btxeditionnumlong##1##2{\btxnumerallong{##1}~\Btxeditionlong{##2}}%2179 \def\Btxchaptershort##1{\protect\foreignlanguage{#1}{Pog.##1{}}}%2180 \def\Btxchapterlong##1{\protect\foreignlanguage{#1}{Poglavlje}}%2181 \def\Btxpageshort##1{\protect\foreignlanguage{#1}{Str.##1{}}}%2182 \def\Btxpagelong##1{\protect\foreignlanguage{#1}{Strana}}%2183 \def\Btxpagesshort##1{\protect\foreignlanguage{#1}{Str.##1{}}}%2184 \def\Btxpageslong##1{\protect\foreignlanguage{#1}{Strane}}%2185 \def\Btxtechrepshort##1{\protect\foreignlanguage{#1}{Tehn.\ Izv##1{}}}%2186 \def\Btxtechreplong##1{\protect\foreignlanguage{#1}{Tehni\v cki Izve\ staj}}%2187 \def\btxurldatecomment##1{\protect\foreignlanguage{#1}{, poseta na: ##1}}%2188 \def\btxfnamespaceshort{}%2189 \def\btxfnamespacelong{ }%2190 \def\btxnumeralshort##1{\btxnumeralenglish{#1}{##1}}%2191 \def\btxnumerallong##1{\btxnumeralenglish{#1}{##1}}%

Define how to print month and year in numeric format, e. g. MM/YYYY.2192 \def\btxprintmonthyearnum##1##2{##1/##2}%2193 \def\btxkeywordlanguage##1{{\protect\selectlanguage{#1}##1}}%2194 \ifbbbblanguagenames2195 \def\btxlanguagenameamerican{\protect\foreignlanguage{#1}{engleski}}%2196 \def\btxlanguagenameaustrian{\protect\foreignlanguage{#1}{nema\v cki}}%2197 \def\btxlanguagenamebrazil{\protect\foreignlanguage{#1}{portugalski}}%2198 \def\btxlanguagenamebrazilian{\protect\foreignlanguage{#1}{portugalski}}%2199 \def\btxlanguagenamebritish{\protect\foreignlanguage{#1}{engleski}}%2200 \def\btxlanguagenamebulgarian{\protect\foreignlanguage{#1}{bugarski}}%2201 \def\btxlanguagenamecanadian{\protect\foreignlanguage{#1}{engleski}}%2202 \def\btxlanguagenamecanadien{\protect\foreignlanguage{#1}{francuski}}%2203 \def\btxlanguagenamecatalan{\protect\foreignlanguage{#1}{katalonski}}%2204 \def\btxlanguagenamecroatian{\protect\foreignlanguage{#1}{hrvatski}}%2205 \def\btxlanguagenameczech{\protect\foreignlanguage{#1}{\v ce\v ski}}%2206 \def\btxlanguagenamedanish{\protect\foreignlanguage{#1}{danski}}%2207 \def\btxlanguagenamedutch{\protect\foreignlanguage{#1}{holandski}}%2208 \def\btxlanguagenameenglish{\protect\foreignlanguage{#1}{engleski}}%2209 \def\btxlanguagenameesperanto{\protect\foreignlanguage{#1}{esperanto}}%

63

Page 64: Multilingual bibliographies: The babelbib package - CTAN

2210 \def\btxlanguagenamefinnish{\protect\foreignlanguage{#1}{finski}}%2211 \def\btxlanguagenamefrancais{\protect\foreignlanguage{#1}{francuski}}%2212 \def\btxlanguagenamefrench{\protect\foreignlanguage{#1}{francuski}}%2213 \def\btxlanguagenamefrenchb{\protect\foreignlanguage{#1}{francuski}}%2214 \def\btxlanguagenamegerman{\protect\foreignlanguage{#1}{nema\v cki}}%2215 \def\btxlanguagenamegermanb{\protect\foreignlanguage{#1}{nema\v cki}}%2216 \def\btxlanguagenamegreek{\protect\foreignlanguage{#1}{gr\v cki}}%2217 \def\btxlanguagenamehebrew{\protect\foreignlanguage{#1}{jevrejski}}%2218 \def\btxlanguagenamehungarian{\protect\foreignlanguage{#1}{ma\dj arski}}%2219 \def\btxlanguagenameicelandic{\protect\foreignlanguage{#1}{islandski}}%2220 \def\btxlanguagenameirish{\protect\foreignlanguage{#1}{irski}}%2221 \def\btxlanguagenameitalian{\protect\foreignlanguage{#1}{italianski}}%2222 \def\btxlanguagenamelatin{\protect\foreignlanguage{#1}{latinski}}%2223 \def\btxlanguagenamenaustrian{\protect\foreignlanguage{#1}{nema\v cki}}%2224 \def\btxlanguagenamengerman{\protect\foreignlanguage{#1}{nema\v cki}}%2225 \def\btxlanguagenamenorsk{\protect\foreignlanguage{#1}{norve\v ski}}%2226 \def\btxlanguagenamenynorsk{\protect\foreignlanguage{#1}{%2227 novi-norve\v ski}}%2228 \def\btxlanguagenamepolish{\protect\foreignlanguage{#1}{poljski}}%2229 \def\btxlanguagenameportuges{\protect\foreignlanguage{#1}{portugalski}}%2230 \def\btxlanguagenameportuguese{\protect\foreignlanguage{#1}{portugalski}}%2231 \def\btxlanguagenamerussian{\protect\foreignlanguage{#1}{ruski}}%2232 \def\btxlanguagenamescottish{\protect\foreignlanguage{#1}{\v skotski}}%2233 \def\btxlanguagenameserbian{\protect\foreignlanguage{#1}{srpski}}%2234 \def\btxlanguagenamespanish{\protect\foreignlanguage{#1}{\v spanski}}%2235 \def\btxlanguagenameswedish{\protect\foreignlanguage{#1}{\v svedski}}%2236 \def\btxlanguagenameturkish{\protect\foreignlanguage{#1}{turski}}%2237 \def\btxlanguagenameUKenglish{\protect\foreignlanguage{#1}{engleski}}%2238 \def\btxlanguagenameUSenglish{\protect\foreignlanguage{#1}{engleski}}%2239 \fi2240 }

Append the definitions to the language-calling commands.2241 \AtBeginDocument{%2242 \ifbbbbfixlanguage2243 \else2244 \bbbbaddto{serbian}{bibsserbian}2245 \fi2246 \bbbbaddto{serbian}{btxifchangecaseoff}2247 }2248 〈/serbian〉

9.3.11 Spanish

2249 〈∗spanish〉

The language definition for Spanish was provided by Víctor Luaña and slightlychanged by me according to spanish.mbs (custom-bib package).

\bibsspanish Bibliographic commands for Spanish.2250 \newcommand\bibsspanish[1][spanish]{%

64

Page 65: Multilingual bibliographies: The babelbib package - CTAN

2251 \def\biblanguagename{#1}%2252 \def\btxetalshort##1{\protect\foreignlanguage{#1}{y~cols##1{}}}%2253 \def\btxetallong##1{\protect\foreignlanguage{#1}{y~colaboradores}}%2254 \def\btxandshort##1{\protect\foreignlanguage{#1}{y}}%2255 \def\btxandlong##1{\protect\foreignlanguage{#1}{y}}%2256 \def\btxandcomma##1{}%2257 \def\btxinlong##1{\protect\foreignlanguage{#1}{en}}%2258 \def\btxinshort##1{\protect\foreignlanguage{#1}{en}}%2259 \def\btxofseriesshort##1{\protect\foreignlanguage{#1}{de}}%2260 \def\btxinseriesshort##1{\protect\foreignlanguage{#1}{en}}%2261 \def\btxofserieslong##1{\protect\foreignlanguage{#1}{de}}%2262 \def\btxinserieslong##1{\protect\foreignlanguage{#1}{en}}%2263 \def\btxeditorshort##1{\protect\foreignlanguage{#1}{ed##1{}}}%2264 \def\btxeditorlong##1{\protect\foreignlanguage{#1}{editor}}%2265 \def\btxeditorsshort##1{\protect\foreignlanguage{#1}{eds##1{}}}%2266 \def\btxeditorslong##1{\protect\foreignlanguage{#1}{editores}}%2267 \def\btxvolumeshort##1{\protect\foreignlanguage{#1}{vol##1{}}}%2268 \def\btxvolumelong##1{\protect\foreignlanguage{#1}{volumen}}%2269 \def\btxnumbershort##1{\protect\foreignlanguage{#1}{%2270 n\textsuperscript{\underline{o}}}}%2271 \def\btxnumberlong##1{\protect\foreignlanguage{#1}{n\’umero}}%2272 \def\btxeditionshort##1{\protect\foreignlanguage{#1}{ed##1{}}}%2273 \def\btxeditionlong##1{\protect\foreignlanguage{#1}{edici{\’o}n}}%2274 \def\btxeditionnumshort##1##2{\btxnumeralshort{##1}~\btxeditionshort{##2}}%2275 \def\btxeditionnumlong##1##2{\btxnumerallong{##1}~\btxeditionlong{##2}}%2276 \def\btxchaptershort##1{\protect\foreignlanguage{#1}{cap##1{}}}%2277 \def\btxchapterlong##1{\protect\foreignlanguage{#1}{cap{\’\i}tulo}}%2278 \def\btxpageshort##1{\protect\foreignlanguage{#1}{p\’ag##1{}}}%2279 \def\btxpagelong##1{\protect\foreignlanguage{#1}{p\’agina}}%2280 \def\btxpagesshort##1{\protect\foreignlanguage{#1}{p\’ags##1{}}}%2281 \def\btxpageslong##1{\protect\foreignlanguage{#1}{p\’aginas}}%2282 \def\btxmastthesis##1{\protect\foreignlanguage{#1}{Tesis de Licenciatura}}%2283 \def\btxphdthesis##1{\protect\foreignlanguage{#1}{Tesis de Doctorado}}%2284 \def\btxtechrepshort##1{\protect\foreignlanguage{#1}{Informe t\’ecnico##1{}}}%2285 \def\btxtechreplong##1{\protect\foreignlanguage{#1}{Informe t\’ecnico}}%2286 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{Enero}}%2287 \def\btxmonfeblong##1{\protect\foreignlanguage{#1}{Febrero}}%2288 \def\btxmonmarlong##1{\protect\foreignlanguage{#1}{Marzo}}%2289 \def\btxmonaprlong##1{\protect\foreignlanguage{#1}{Abril}}%2290 \def\btxmonmaylong##1{\protect\foreignlanguage{#1}{Mayo}}%2291 \def\btxmonjunlong##1{\protect\foreignlanguage{#1}{Junio}}%2292 \def\btxmonjullong##1{\protect\foreignlanguage{#1}{Julio}}%2293 \def\btxmonauglong##1{\protect\foreignlanguage{#1}{Agosto}}%2294 \def\btxmonseplong##1{\protect\foreignlanguage{#1}{Septiembre}}%2295 \def\btxmonoctlong##1{\protect\foreignlanguage{#1}{Octubre}}%2296 \def\btxmonnovlong##1{\protect\foreignlanguage{#1}{Noviembre}}%2297 \def\btxmondeclong##1{\protect\foreignlanguage{#1}{Diciembre}}%2298 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{Ene##1{}}}%2299 \def\btxmonfebshort##1{\protect\foreignlanguage{#1}{Feb##1{}}}%2300 \def\btxmonmarshort##1{\protect\foreignlanguage{#1}{Mar##1{}}}%

65

Page 66: Multilingual bibliographies: The babelbib package - CTAN

2301 \def\btxmonaprshort##1{\protect\foreignlanguage{#1}{Abr##1{}}}%2302 \def\btxmonmayshort##1{\protect\foreignlanguage{#1}{May##1{}}}%2303 \def\btxmonjunshort##1{\protect\foreignlanguage{#1}{Jun##1{}}}%2304 \def\btxmonjulshort##1{\protect\foreignlanguage{#1}{Jul##1{}}}%2305 \def\btxmonaugshort##1{\protect\foreignlanguage{#1}{Ago##1{}}}%2306 \def\btxmonsepshort##1{\protect\foreignlanguage{#1}{Sep##1{}}}%2307 \def\btxmonoctshort##1{\protect\foreignlanguage{#1}{Oct##1{}}}%2308 \def\btxmonnovshort##1{\protect\foreignlanguage{#1}{Nov##1{}}}%2309 \def\btxmondecshort##1{\protect\foreignlanguage{#1}{Dic##1{}}}%2310 \def\Btxinlong##1{\protect\foreignlanguage{#1}{En}}%2311 \def\Btxinshort##1{\protect\foreignlanguage{#1}{En}}%2312 \def\Btxeditorshort##1{\protect\foreignlanguage{#1}{Ed##1{}}}%2313 \def\Btxeditorlong##1{\protect\foreignlanguage{#1}{Editor}}%2314 \def\Btxeditorsshort##1{\protect\foreignlanguage{#1}{Ed##1{}}}%2315 \def\Btxeditorslong##1{\protect\foreignlanguage{#1}{Editores}}%2316 \def\Btxvolumeshort##1{\protect\foreignlanguage{#1}{Vol##1{}}}%2317 \def\Btxvolumelong##1{\protect\foreignlanguage{#1}{Volumen}}%2318 \def\Btxnumbershort##1{\protect\foreignlanguage{#1}{%2319 N\textsuperscript{\underline{o}}}}%2320 \def\Btxnumberlong##1{\protect\foreignlanguage{#1}{N\’umero}}%2321 \def\Btxeditionshort##1{\protect\foreignlanguage{#1}{Ed##1{}}}%2322 \def\Btxeditionlong##1{\protect\foreignlanguage{#1}{Edici\’on}}%2323 \def\Btxeditionnumshort##1##2{\btxnumeralshort{##1}~\Btxeditionshort{##2}}%2324 \def\Btxeditionnumlong##1##2{\btxnumerallong{##1}~\Btxeditionlong{##2}}%2325 \def\Btxchaptershort##1{\protect\foreignlanguage{#1}{Cap##1{}}}%2326 \def\Btxchapterlong##1{\protect\foreignlanguage{#1}{Cap\’\itulo}}%2327 \def\Btxpageshort##1{\protect\foreignlanguage{#1}{P\’ag##1{}}}%2328 \def\Btxpagelong##1{\protect\foreignlanguage{#1}{P\’agina}}%2329 \def\Btxpagesshort##1{\protect\foreignlanguage{#1}{P\’ags##1{}}}%2330 \def\Btxpageslong##1{\protect\foreignlanguage{#1}{P\’aginas}}%2331 \def\Btxtechrepshort##1{\protect\foreignlanguage{#1}{Informe t\’ecnico}}%2332 \def\Btxtechreplong##1{\protect\foreignlanguage{#1}{Informe t\’ecnico}}%2333 \def\btxurldatecomment##1{\protect\foreignlanguage{#1}{, visitado el ##1}}%2334 \def\btxfnamespaceshort{\,}%2335 \def\btxfnamespacelong{ }%2336 \def\btxnumeralshort##1{\protect\foreignlanguage{#1}{%2337 \ifnumber{##1}{##1\textsuperscript{\underline a}}{##1}}}%2338 % \def\btxnumeralshort##1{\ifnumber{##1}{\protect\foreignlanguage{#1}{%2339 % ##1\ifcase##1 \ieme\or \iere\else \ieme\fi}}{##1}}%

Bug and solution for \btxnumerallong reported by Iago Quiñones2340 \def\btxnumerallong##1{\btxnumeralshort{##1}}%

Define how to print month and year in numeric format, e. g. MM/YYYY.2341 \def\btxprintmonthyearnum##1##2{##1/##2}%2342 \def\btxkeywordlanguage##1{{\protect\selectlanguage{#1}##1}}%2343 \ifbbbblanguagenames2344 \def\btxlanguagenameamerican{\protect\foreignlanguage{#1}{ingl\’es}}%2345 \def\btxlanguagenameaustrian{\protect\foreignlanguage{#1}{alem\’an}}%2346 \def\btxlanguagenamebrazil{\protect\foreignlanguage{#1}{portugu\’es}}%2347 \def\btxlanguagenamebrazilian{\protect\foreignlanguage{#1}{portugu\’es}}%

66

Page 67: Multilingual bibliographies: The babelbib package - CTAN

2348 \def\btxlanguagenamebritish{\protect\foreignlanguage{#1}{ingl\’es}}%2349 \def\btxlanguagenamebulgarian{\protect\foreignlanguage{#1}{b\’ulgaro}}%2350 \def\btxlanguagenamecanadian{\protect\foreignlanguage{#1}{ingl\’es}}%2351 \def\btxlanguagenamecanadien{\protect\foreignlanguage{#1}{franc\’es}}%2352 \def\btxlanguagenamecatalan{\protect\foreignlanguage{#1}{catalan}}%2353 \def\btxlanguagenamecroatian{\protect\foreignlanguage{#1}{croata}}%2354 \def\btxlanguagenameczech{\protect\foreignlanguage{#1}{checo}}%2355 \def\btxlanguagenamedanish{\protect\foreignlanguage{#1}{dan\’es}}%2356 \def\btxlanguagenamedutch{\protect\foreignlanguage{#1}{holand\’es}}%2357 \def\btxlanguagenameenglish{\protect\foreignlanguage{#1}{ingl\’es}}%2358 \def\btxlanguagenameesperanto{\protect\foreignlanguage{#1}{esperanto}}%2359 \def\btxlanguagenamefinnish{\protect\foreignlanguage{#1}{finland\’es}}%2360 \def\btxlanguagenamefrancais{\protect\foreignlanguage{#1}{franc\’es}}%2361 \def\btxlanguagenamefrench{\protect\foreignlanguage{#1}{franc\’es}}%2362 \def\btxlanguagenamefrenchb{\protect\foreignlanguage{#1}{franc\’es}}%2363 \def\btxlanguagenamegerman{\protect\foreignlanguage{#1}{alem\’an}}%2364 \def\btxlanguagenamegermanb{\protect\foreignlanguage{#1}{alem\’an}}%2365 \def\btxlanguagenamegreek{\protect\foreignlanguage{#1}{griego}}%2366 \def\btxlanguagenamehebrew{\protect\foreignlanguage{#1}{hebreo}}%2367 \def\btxlanguagenamehungarian{\protect\foreignlanguage{#1}{h\’ungaro}}%2368 \def\btxlanguagenameicelandic{\protect\foreignlanguage{#1}{island\’es}}%2369 \def\btxlanguagenameirish{\protect\foreignlanguage{#1}{irland\’es}}%2370 \def\btxlanguagenameitalian{\protect\foreignlanguage{#1}{italiano}}%2371 \def\btxlanguagenamelatin{\protect\foreignlanguage{#1}{lat\’\i n}}%2372 \def\btxlanguagenamenaustrian{\protect\foreignlanguage{#1}{alem\’an}}%2373 \def\btxlanguagenamengerman{\protect\foreignlanguage{#1}{alem\’an}}%2374 \def\btxlanguagenamenorsk{\protect\foreignlanguage{#1}{noruego}}%2375 \def\btxlanguagenamenynorsk{\protect\foreignlanguage{#1}{noruego}}%2376 \def\btxlanguagenamepolish{\protect\foreignlanguage{#1}{polaco}}%2377 \def\btxlanguagenameportuges{\protect\foreignlanguage{#1}{portugu\’es}}%2378 \def\btxlanguagenameportuguese{\protect\foreignlanguage{#1}{portugu\’es}}%2379 \def\btxlanguagenamerussian{\protect\foreignlanguage{#1}{ruso}}%2380 \def\btxlanguagenamescottish{\protect\foreignlanguage{#1}{escoc\’es}}%2381 \def\btxlanguagenameserbian{\protect\foreignlanguage{#1}{serbio}}%2382 \def\btxlanguagenamespanish{\protect\foreignlanguage{#1}{espa\~nol}}%2383 \def\btxlanguagenameswedish{\protect\foreignlanguage{#1}{sueco}}%2384 \def\btxlanguagenameturkish{\protect\foreignlanguage{#1}{turco}}%2385 \def\btxlanguagenameUKenglish{\protect\foreignlanguage{#1}{ingl\’es}}%2386 \def\btxlanguagenameUSenglish{\protect\foreignlanguage{#1}{ingl\’es}}%2387 \fi2388 }

Copy the commands to the other languages.2389 \newcommand\bibsmexican[1][mexican]{%2390 \bibsspanish[mexican]%2391 \def\btxmastthesis##1{\protect\foreignlanguage{#1}{Tesis de Maestr{\’\i}a}}%2392 }

Append the definitions to the language-calling commands.2393 \AtBeginDocument{%

67

Page 68: Multilingual bibliographies: The babelbib package - CTAN

2394 \ifbbbbfixlanguage2395 \else2396 \bbbbaddto{spanish}{bibsspanish}2397 \bbbbaddto{mexican}{bibsmexican}2398 \fi2399 \bbbbaddto{spanish}{btxifchangecaseoff}2400 \bbbbaddto{mexican}{btxifchangecaseoff}2401 }2402 〈/spanish〉

9.3.12 Czech

2403 〈∗czech〉

The language definition for Czech was provided by Tomas Hnizdil, [email protected].

\bibsczech

2404 \newcommand\bibsczech[1][czech]{%2405 \def\biblanguagename{#1}%2406 \def\btxetalshort##1{\protect\foreignlanguage{#1}{a~kol##1{}}}%2407 \def\btxetallong##1{\protect\foreignlanguage{#1}{a~kolektiv}}%2408 \def\btxandshort##1{\protect\foreignlanguage{#1}{a}}%2409 \def\btxandlong##1{\protect\foreignlanguage{#1}{a}}%2410 \def\btxandcomma##1{}%2411 \def\btxinlong##1{\protect\foreignlanguage{#1}{v}}%2412 \def\btxinshort##1{\protect\foreignlanguage{#1}{v}}%2413 \def\btxofseriesshort##1{\protect\foreignlanguage{#1}{z}}%2414 \def\btxinseriesshort##1{\protect\foreignlanguage{#1}{v}}%2415 \def\btxofserieslong##1{\protect\foreignlanguage{#1}{z}}%2416 \def\btxinserieslong##1{\protect\foreignlanguage{#1}{v}}%2417 \def\btxeditorshort##1{\protect\foreignlanguage{#1}{edit##1{}}}%2418 \def\btxeditorlong##1{\protect\foreignlanguage{#1}{editor}}%2419 \def\btxeditorsshort##1{\protect\foreignlanguage{#1}{edit##1{}}}%2420 \def\btxeditorslong##1{\protect\foreignlanguage{#1}{edito\v{r}i}}%2421 \def\btxvolumeshort##1{\protect\foreignlanguage{#1}{sv##1{}}}%2422 \def\btxvolumelong##1{\protect\foreignlanguage{#1}{svazek}}%2423 \def\btxnumbershort##1{\protect\foreignlanguage{#1}{\v{c}##1{}}}%2424 \def\btxnumberlong##1{\protect\foreignlanguage{#1}{\v{c}\’islo}}%2425 \def\btxeditionshort##1{\protect\foreignlanguage{#1}{ed##1{}}}%2426 \def\btxeditionlong##1{\protect\foreignlanguage{#1}{edice}}%2427 \def\btxeditionnumshort##1##2{\btxnumeralshort{##1}~\btxeditionshort{##2}}%2428 \def\btxeditionnumlong##1##2{\btxnumerallong{##1}~\btxeditionlong{##2}}%2429 \def\btxchaptershort##1{\protect\foreignlanguage{#1}{kap##1{}}}%2430 \def\btxchapterlong##1{\protect\foreignlanguage{#1}{kapitola}}%2431 \def\btxpageshort##1{\protect\foreignlanguage{#1}{str##1{}}}%2432 \def\btxpagelong##1{\protect\foreignlanguage{#1}{strana}}%2433 \def\btxpagesshort##1{\protect\foreignlanguage{#1}{str##1{}}}%2434 \def\btxpageslong##1{\protect\foreignlanguage{#1}{strany}}%2435 \def\btxmastthesis##1{\protect\foreignlanguage{#1}{diplomov\’a pr\’ace}}%2436 \def\btxphdthesis##1{\protect\foreignlanguage{#1}{disertace}}%

68

Page 69: Multilingual bibliographies: The babelbib package - CTAN

2437 \def\btxtechrepshort##1{\protect\foreignlanguage{#1}{Tech.\ zpr##1}}%2438 \def\btxtechreplong##1{\protect\foreignlanguage{#1}{Technick\’a zpr\’ava}}%2439 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{leden}}%2440 \def\btxmonfeblong##1{\protect\foreignlanguage{#1}{\’unor}}%2441 \def\btxmonmarlong##1{\protect\foreignlanguage{#1}{b\v{r}eze}}%2442 \def\btxmonaprlong##1{\protect\foreignlanguage{#1}{duben}}%2443 \def\btxmonmaylong##1{\protect\foreignlanguage{#1}{kv\v{e}ten}}%2444 \def\btxmonjunlong##1{\protect\foreignlanguage{#1}{\v{c}erven}}%2445 \def\btxmonjullong##1{\protect\foreignlanguage{#1}{\v{c}ervenec}}%2446 \def\btxmonauglong##1{\protect\foreignlanguage{#1}{srpen}}%2447 \def\btxmonseplong##1{\protect\foreignlanguage{#1}{z\’a\v{r}\’i}}%2448 \def\btxmonoctlong##1{\protect\foreignlanguage{#1}{\v{r}\’ijen}}%2449 \def\btxmonnovlong##1{\protect\foreignlanguage{#1}{listopad}}%2450 \def\btxmondeclong##1{\protect\foreignlanguage{#1}{prosinec}}%2451 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{led##1{}}}%2452 \def\btxmonfebshort##1{\protect\foreignlanguage{#1}{\’uno##1{}}}%2453 \def\btxmonmarshort##1{\protect\foreignlanguage{#1}{b\v{r}e##1{}}}%2454 \def\btxmonaprshort##1{\protect\foreignlanguage{#1}{dub##1{}}}%2455 \def\btxmonmayshort##1{\protect\foreignlanguage{#1}{kv\v{e}##1{}}}%2456 \def\btxmonjunshort##1{\protect\foreignlanguage{#1}{\v{c}er##1{}}}%2457 \def\btxmonjulshort##1{\protect\foreignlanguage{#1}{\v{c}ec##1{}}}%2458 \def\btxmonaugshort##1{\protect\foreignlanguage{#1}{srp##1{}}}%2459 \def\btxmonsepshort##1{\protect\foreignlanguage{#1}{z\’a\v{r}##1{}}}%2460 \def\btxmonoctshort##1{\protect\foreignlanguage{#1}{\v{r}\’ij##1{}}}%2461 \def\btxmonnovshort##1{\protect\foreignlanguage{#1}{lis##1{}}}%2462 \def\btxmondecshort##1{\protect\foreignlanguage{#1}{pro##1{}}}%2463 \def\Btxinlong##1{\protect\foreignlanguage{#1}{V}}%2464 \def\Btxinshort##1{\protect\foreignlanguage{#1}{V}}%2465 \def\Btxeditorshort##1{\protect\foreignlanguage{#1}{Edit##1{}}}%2466 \def\Btxeditorlong##1{\protect\foreignlanguage{#1}{Editor}}%2467 \def\Btxeditorsshort##1{\protect\foreignlanguage{#1}{Edit##1{}}}%2468 \def\Btxeditorslong##1{\protect\foreignlanguage{#1}{Edito\v{r}i}}%2469 \def\Btxvolumeshort##1{\protect\foreignlanguage{#1}{Sv##1{}}}%2470 \def\Btxvolumelong##1{\protect\foreignlanguage{#1}{Svazek}}%2471 \def\Btxnumbershort##1{\protect\foreignlanguage{#1}{\v{C}##1{}}}%2472 \def\Btxnumberlong##1{\protect\foreignlanguage{#1}{\v{C}\’islo}}%2473 \def\Btxeditionshort##1{\protect\foreignlanguage{#1}{Ed##1{}}}%2474 \def\Btxeditionlong##1{\protect\foreignlanguage{#1}{Edice}}%2475 \def\Btxeditionnumshort##1##2{\btxnumeralshort{##1}~\Btxeditionshort{##2}}%2476 \def\Btxeditionnumlong##1##2{\btxnumerallong{##1}~\Btxeditionlong{##2}}%2477 \def\Btxchaptershort##1{\protect\foreignlanguage{#1}{Kap##1{}}}%2478 \def\Btxchapterlong##1{\protect\foreignlanguage{#1}{Kapitola}}%2479 \def\Btxpageshort##1{\protect\foreignlanguage{#1}{Str##1{}}}%2480 \def\Btxpagelong##1{\protect\foreignlanguage{#1}{Strana}}%2481 \def\Btxpagesshort##1{\protect\foreignlanguage{#1}{Str##1{}}}%2482 \def\Btxpageslong##1{\protect\foreignlanguage{#1}{Strany}}%2483 \def\Btxtechrepshort##1{\protect\foreignlanguage{#1}{Techn.\ zpr##1}}%2484 \def\Btxtechreplong##1{\protect\foreignlanguage{#1}{Technick\’a zpr\’ava}}%2485 \def\btxurldatecomment##1{\protect\foreignlanguage{#1}{, dostupn\’e z ##1}}%2486 \def\btxfnamespaceshort{\,}%

69

Page 70: Multilingual bibliographies: The babelbib package - CTAN

2487 \def\btxfnamespacelong{ }%2488 \def\btxnumeralshort##1{\btxnumeralfallback{#1}{##1}}%2489 \def\btxnumerallong##1{\btxnumeralfallback{#1}{##1}}%

Define how to print month and year in numeric format, e. g. MM/YYYY.2490 \def\btxprintmonthyearnum##1##2{##1/##2}%2491 \def\btxkeywordlanguage##1{{\protect\selectlanguage{#1}##1}}%2492 \ifbbbblanguagenames2493 \def\btxlanguagenameamerican{\protect\foreignlanguage{#1}{anglicky}}%2494 \def\btxlanguagenameaustrian{\protect\foreignlanguage{#1}{n\v{e}mecky}}%2495 \def\btxlanguagenamebrazil{\protect\foreignlanguage{#1}{portugalsky}}%2496 \def\btxlanguagenamebrazilian{\protect\foreignlanguage{#1}{portugalsky}}%2497 \def\btxlanguagenamebritish{\protect\foreignlanguage{#1}{anglicky}}%2498 \def\btxlanguagenamebulgarian{\protect\foreignlanguage{#1}{bulharsky}}%2499 \def\btxlanguagenamecanadian{\protect\foreignlanguage{#1}{anglicky}}%2500 \def\btxlanguagenamecanadien{\protect\foreignlanguage{#1}{francouzsky}}%2501 \def\btxlanguagenamecatalan{\protect\foreignlanguage{#1}{katal\’ansky}}%2502 \def\btxlanguagenamecroatian{\protect\foreignlanguage{#1}{chorvatsky}}%2503 \def\btxlanguagenameczech{\protect\foreignlanguage{#1}{\v{c}esky}}%2504 \def\btxlanguagenamedanish{\protect\foreignlanguage{#1}{danese}}%2505 \def\btxlanguagenamedutch{\protect\foreignlanguage{#1}{holandsky}}%2506 \def\btxlanguagenameenglish{\protect\foreignlanguage{#1}{anglicky}}%2507 \def\btxlanguagenameesperanto{\protect\foreignlanguage{#1}{esperanto}}%2508 \def\btxlanguagenamefinnish{\protect\foreignlanguage{#1}{finsky}}%2509 \def\btxlanguagenamefrancais{\protect\foreignlanguage{#1}{francouzsky}}%2510 \def\btxlanguagenamefrench{\protect\foreignlanguage{#1}{francouzsky}}%2511 \def\btxlanguagenamefrenchb{\protect\foreignlanguage{#1}{francouzsky}}%2512 \def\btxlanguagenamegerman{\protect\foreignlanguage{#1}{n\v{e}mecky}}%2513 \def\btxlanguagenamegermanb{\protect\foreignlanguage{#1}{n\v{e}mecky}}%2514 \def\btxlanguagenamegreek{\protect\foreignlanguage{#1}{\v{r}ecky}}%2515 \def\btxlanguagenamehebrew{\protect\foreignlanguage{#1}{hebrejsky}}%2516 \def\btxlanguagenamehungarian{\protect\foreignlanguage{#1}{ma~arsky}}%2517 \def\btxlanguagenameicelandic{\protect\foreignlanguage{#1}{islandsky}}%2518 \def\btxlanguagenameirish{\protect\foreignlanguage{#1}{irsky}}%2519 \def\btxlanguagenameitalian{\protect\foreignlanguage{#1}{italsky}}%2520 \def\btxlanguagenamelatin{\protect\foreignlanguage{#1}{latinsky}}%2521 \def\btxlanguagenamenaustrian{\protect\foreignlanguage{#1}{n\v{e}mecky}}%2522 \def\btxlanguagenamengerman{\protect\foreignlanguage{#1}{n\v{e}mecky}}%2523 \def\btxlanguagenamenorsk{\protect\foreignlanguage{#1}{norsky}}%2524 \def\btxlanguagenamenynorsk{\protect\foreignlanguage{#1}{norsky}}%2525 \def\btxlanguagenamepolish{\protect\foreignlanguage{#1}{polsky}}%2526 \def\btxlanguagenameportuges{\protect\foreignlanguage{#1}{portugalsky}}%2527 \def\btxlanguagenameportuguese{\protect\foreignlanguage{#1}{portugalsky}}%2528 \def\btxlanguagenamerussian{\protect\foreignlanguage{#1}{rusky}}%2529 \def\btxlanguagenamescottish{\protect\foreignlanguage{#1}{skotsky}}%2530 \def\btxlanguagenameserbian{\protect\foreignlanguage{#1}{srbsky}}%2531 \def\btxlanguagenamespanish{\protect\foreignlanguage{#1}{%2532 \v{s}pan\v{e}lsky}}%2533 \def\btxlanguagenameswedish{\protect\foreignlanguage{#1}{\v{s}v\’edsky}}%2534 \def\btxlanguagenameturkish{\protect\foreignlanguage{#1}{turecky}}%

70

Page 71: Multilingual bibliographies: The babelbib package - CTAN

2535 \def\btxlanguagenameUKenglish{\protect\foreignlanguage{#1}{anglicky}}%2536 \def\btxlanguagenameUSenglish{\protect\foreignlanguage{#1}{anglicky}}%2537 \fi2538 }

Append the definitions to the language-calling commands.2539 \AtBeginDocument{%2540 \ifbbbbfixlanguage2541 \else2542 \bbbbaddto{czech}{bibsczech}2543 \fi

Switch on the change of case in titles for all Afrikaans dialects by appending\btxifchangecaseoff to \extras〈language〉.

2544 \bbbbaddto{czech}{btxifchangecaseoff}2545 }2546 〈/czech〉

9.3.13 Danish

2547 〈∗danish〉

\bibsdanish Bibliographic commands for Danish.2548 \newcommand\bibsdanish[1][danish]{%2549 \def\biblanguagename{#1}%2550 \def\btxetalshort##1{\protect\foreignlanguage{#1}{et~al##1{}}}%2551 \def\btxetallong##1{\protect\foreignlanguage{#1}{et~alii}}%2552 \def\btxandshort##1{\protect\foreignlanguage{#1}{og}}%2553 \def\btxandlong##1{\protect\foreignlanguage{#1}{og}}%2554 \def\btxandcomma##1{}%2555 \def\btxinlong##1{\protect\foreignlanguage{#1}{i}}%2556 \def\btxinshort##1{\protect\foreignlanguage{#1}{i}}%2557 \def\btxofseriesshort##1{\protect\foreignlanguage{#1}{af}}%2558 \def\btxinseriesshort##1{\protect\foreignlanguage{#1}{i}}%2559 \def\btxofserieslong##1{\protect\foreignlanguage{#1}{af}}%2560 \def\btxinserieslong##1{\protect\foreignlanguage{#1}{i}}%2561 \def\btxeditorshort##1{\protect\foreignlanguage{#1}{red##1{}}}%2562 \def\btxeditorlong##1{\protect\foreignlanguage{#1}{redakt\o r}}%2563 \def\btxeditorsshort##1{\protect\foreignlanguage{#1}{red##1{}}}%2564 \def\btxeditorslong##1{\protect\foreignlanguage{#1}{redakt\o rer}}%2565 \def\btxvolumeshort##1{\protect\foreignlanguage{#1}{bd##1{}}}%2566 \def\btxvolumelong##1{\protect\foreignlanguage{#1}{bind}}%2567 \def\btxnumbershort##1{\protect\foreignlanguage{#1}{nr##1{}}}%2568 \def\btxnumberlong##1{\protect\foreignlanguage{#1}{nummer}}%2569 \def\btxeditionshort##1{\protect\foreignlanguage{#1}{udg##1{}}}%2570 \def\btxeditionlong##1{\protect\foreignlanguage{#1}{udgave}}%2571 \def\btxeditionnumshort##1##2{\btxnumeralshort{##1}~\btxeditionshort{##2}}%2572 \def\btxeditionnumlong##1##2{\btxnumerallong{##1}~\btxeditionlong{##2}}%2573 \def\btxchaptershort##1{\protect\foreignlanguage{#1}{kap##1{}}}%2574 \def\btxchapterlong##1{\protect\foreignlanguage{#1}{kapitel}}%

71

Page 72: Multilingual bibliographies: The babelbib package - CTAN

2575 \def\btxpageshort##1{\protect\foreignlanguage{#1}{s##1{}}}%2576 \def\btxpagelong##1{\protect\foreignlanguage{#1}{side}}%2577 \def\btxpagesshort##1{\protect\foreignlanguage{#1}{pp##1{}}}%2578 \def\btxpageslong##1{\protect\foreignlanguage{#1}{sider}}%2579 \def\btxmastthesis##1{\protect\foreignlanguage{#1}{Speciale}}%2580 \def\btxphdthesis##1{\protect\foreignlanguage{#1}{ph.d.-afhandling}}%2581 \def\btxtechrepshort##1{\protect\foreignlanguage{#1}{Tekn.\ rap##1{}}}%2582 \def\btxtechreplong##1{\protect\foreignlanguage{#1}{Teknisk rapport}}%2583 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{Januar}}%2584 \def\btxmonfeblong##1{\protect\foreignlanguage{#1}{Februar}}%2585 \def\btxmonmarlong##1{\protect\foreignlanguage{#1}{Marts}}%2586 \def\btxmonaprlong##1{\protect\foreignlanguage{#1}{April}}%2587 \def\btxmonmaylong##1{\protect\foreignlanguage{#1}{Maj}}%2588 \def\btxmonjunlong##1{\protect\foreignlanguage{#1}{Juni}}%2589 \def\btxmonjullong##1{\protect\foreignlanguage{#1}{Juli}}%2590 \def\btxmonauglong##1{\protect\foreignlanguage{#1}{August}}%2591 \def\btxmonseplong##1{\protect\foreignlanguage{#1}{September}}%2592 \def\btxmonoctlong##1{\protect\foreignlanguage{#1}{Oktober}}%2593 \def\btxmonnovlong##1{\protect\foreignlanguage{#1}{November}}%2594 \def\btxmondeclong##1{\protect\foreignlanguage{#1}{December}}%2595 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{Jan##1{}}}%2596 \def\btxmonfebshort##1{\protect\foreignlanguage{#1}{Feb##1{}}}%2597 \def\btxmonmarshort##1{\protect\foreignlanguage{#1}{Mar##1{}}}%2598 \def\btxmonaprshort##1{\protect\foreignlanguage{#1}{Apr##1{}}}%2599 \def\btxmonmayshort##1{\protect\foreignlanguage{#1}{Maj}}%2600 \def\btxmonjunshort##1{\protect\foreignlanguage{#1}{Jun##1{}}}%2601 \def\btxmonjulshort##1{\protect\foreignlanguage{#1}{Jul##1{}}}%2602 \def\btxmonaugshort##1{\protect\foreignlanguage{#1}{Aug##1{}}}%2603 \def\btxmonsepshort##1{\protect\foreignlanguage{#1}{Sep##1{}}}%2604 \def\btxmonoctshort##1{\protect\foreignlanguage{#1}{Okt##1{}}}%2605 \def\btxmonnovshort##1{\protect\foreignlanguage{#1}{Nov##1{}}}%2606 \def\btxmondecshort##1{\protect\foreignlanguage{#1}{Dec##1{}}}%2607 \def\Btxinlong##1{\protect\foreignlanguage{#1}{I}}%2608 \def\Btxinshort##1{\protect\foreignlanguage{#1}{I}}%2609 \def\Btxeditorshort##1{\protect\foreignlanguage{#1}{Red##1{}}}%2610 \def\Btxeditorlong##1{\protect\foreignlanguage{#1}{Redakt\o r}}%2611 \def\Btxeditorsshort##1{\protect\foreignlanguage{#1}{Red##1{}}}%2612 \def\Btxeditorslong##1{\protect\foreignlanguage{#1}{Redakt\o rer}}%2613 \def\Btxvolumeshort##1{\protect\foreignlanguage{#1}{Bd##1{}}}%2614 \def\Btxvolumelong##1{\protect\foreignlanguage{#1}{Bind}}%2615 \def\Btxnumbershort##1{\protect\foreignlanguage{#1}{Nr##1{}}}%2616 \def\Btxnumberlong##1{\protect\foreignlanguage{#1}{Nummer}}%2617 \def\Btxeditionshort##1{\protect\foreignlanguage{#1}{Udg##1{}}}%2618 \def\Btxeditionlong##1{\protect\foreignlanguage{#1}{Udgave}}%2619 \def\Btxeditionnumshort##1##2{\btxnumeralshort{##1}~\Btxeditionshort{##2}}%2620 \def\Btxeditionnumlong##1##2{\btxnumerallong{##1}~\Btxeditionlong{##2}}%2621 \def\Btxchaptershort##1{\protect\foreignlanguage{#1}{Kap##1{}}}%2622 \def\Btxchapterlong##1{\protect\foreignlanguage{#1}{Kapitel}}%2623 \def\Btxpageshort##1{\protect\foreignlanguage{#1}{S##1{}}}%2624 \def\Btxpagelong##1{\protect\foreignlanguage{#1}{Side}}%

72

Page 73: Multilingual bibliographies: The babelbib package - CTAN

2625 \def\Btxpagesshort##1{\protect\foreignlanguage{#1}{Pp##1{}}}%2626 \def\Btxpageslong##1{\protect\foreignlanguage{#1}{Sider}}%2627 \def\Btxtechrepshort##1{\protect\foreignlanguage{#1}{Tekn.\ rap##1{}}}%2628 \def\Btxtechreplong##1{\protect\foreignlanguage{#1}{Teknisk rapport}}%2629 \def\btxurldatecomment##1{\protect\foreignlanguage{#1}{, bes\o gt den ##1}}%2630 \def\btxfnamespaceshort{\,}%2631 \def\btxfnamespacelong{ }%2632 \def\btxnumeralshort##1{\btxnumeralfallback{#1}{##1}}%2633 \def\btxnumerallong##1{\btxnumeralfallback{#1}{##1}}%

Define how to print month and year in numeric format, e. g. MM/YYYY.2634 \def\btxprintmonthyearnum##1##2{##1/##2}%2635 \def\btxkeywordlanguage##1{{\protect\selectlanguage{#1}##1}}%2636 \ifbbbblanguagenames2637 \def\btxlanguagenameamerican{\protect\foreignlanguage{#1}{engelsk}}%2638 \def\btxlanguagenameaustrian{\protect\foreignlanguage{#1}{tysk}}%2639 \def\btxlanguagenamebrazil{\protect\foreignlanguage{#1}{portugisisk}}%2640 \def\btxlanguagenamebrazilian{\protect\foreignlanguage{#1}{portugisisk}}%2641 \def\btxlanguagenamebritish{\protect\foreignlanguage{#1}{engelsk}}%2642 \def\btxlanguagenamebulgarian{\protect\foreignlanguage{#1}{bulgarsk}}%2643 \def\btxlanguagenamecanadian{\protect\foreignlanguage{#1}{engelsk}}%2644 \def\btxlanguagenamecanadien{\protect\foreignlanguage{#1}{fransk}}%2645 \def\btxlanguagenamecatalan{\protect\foreignlanguage{#1}{katalansk}}%2646 \def\btxlanguagenamecroatian{\protect\foreignlanguage{#1}{kroatisk}}%2647 \def\btxlanguagenameczech{\protect\foreignlanguage{#1}{tjekkisk}}%2648 \def\btxlanguagenamedanish{\protect\foreignlanguage{#1}{dansk}}%2649 \def\btxlanguagenamedutch{\protect\foreignlanguage{#1}{nederlandsk}}%2650 \def\btxlanguagenameenglish{\protect\foreignlanguage{#1}{engelsk}}%2651 \def\btxlanguagenameesperanto{\protect\foreignlanguage{#1}{esperanto}}%2652 \def\btxlanguagenamefinnish{\protect\foreignlanguage{#1}{finsk}}%2653 \def\btxlanguagenamefrancais{\protect\foreignlanguage{#1}{fransk}}%2654 \def\btxlanguagenamefrench{\protect\foreignlanguage{#1}{fransk}}%2655 \def\btxlanguagenamefrenchb{\protect\foreignlanguage{#1}{fransk}}%2656 \def\btxlanguagenamegerman{\protect\foreignlanguage{#1}{tysk}}%2657 \def\btxlanguagenamegermanb{\protect\foreignlanguage{#1}{tysk}}%2658 \def\btxlanguagenamegreek{\protect\foreignlanguage{#1}{gr\ae sk}}%2659 \def\btxlanguagenamehebrew{\protect\foreignlanguage{#1}{hebraisk}}%2660 \def\btxlanguagenamehungarian{\protect\foreignlanguage{#1}{ungarsk}}%2661 \def\btxlanguagenameicelandic{\protect\foreignlanguage{#1}{islandsk}}%2662 \def\btxlanguagenameirish{\protect\foreignlanguage{#1}{irsk}}%2663 \def\btxlanguagenameitalian{\protect\foreignlanguage{#1}{italiensk}}%2664 \def\btxlanguagenamelatin{\protect\foreignlanguage{#1}{latinsk}}%2665 \def\btxlanguagenamenaustrian{\protect\foreignlanguage{#1}{tysk}}%2666 \def\btxlanguagenamengerman{\protect\foreignlanguage{#1}{tysk}}%2667 \def\btxlanguagenamenorsk{\protect\foreignlanguage{#1}{norsk}}%2668 \def\btxlanguagenamenynorsk{\protect\foreignlanguage{#1}{nynorsk}}%2669 \def\btxlanguagenamepolish{\protect\foreignlanguage{#1}{polsk}}%2670 \def\btxlanguagenameportuges{\protect\foreignlanguage{#1}{portugisisk}}%2671 \def\btxlanguagenameportuguese{\protect\foreignlanguage{#1}{portugisisk}}%2672 \def\btxlanguagenamerussian{\protect\foreignlanguage{#1}{russisk}}%

73

Page 74: Multilingual bibliographies: The babelbib package - CTAN

2673 \def\btxlanguagenamescottish{\protect\foreignlanguage{#1}{skotsk}}%2674 \def\btxlanguagenameserbian{\protect\foreignlanguage{#1}{serbisk}}%2675 \def\btxlanguagenamespanish{\protect\foreignlanguage{#1}{spansk}}%2676 \def\btxlanguagenameswedish{\protect\foreignlanguage{#1}{svensk}}%2677 \def\btxlanguagenameturkish{\protect\foreignlanguage{#1}{tyrkisk}}%2678 \def\btxlanguagenameUKenglish{\protect\foreignlanguage{#1}{engelsk}}%2679 \def\btxlanguagenameUSenglish{\protect\foreignlanguage{#1}{engelsk}}%2680 \fi2681 }

Append the definitions to the language-calling commands.2682 \AtBeginDocument{%2683 \ifbbbbfixlanguage2684 \else2685 \bbbbaddto{danish}{bibsdanish}2686 \fi2687 \bbbbaddto{danish}{btxifchangecaseoff}2688 }2689 〈/danish〉

9.3.14 Finnish

2690 〈∗finnish〉

\bibsfinnish Bibliographic commands for Finnish.2691 \newcommand\bibsfinnish[1][finnish]{%2692 \def\biblanguagename{#1}%2693 \def\btxetalshort##1{\protect\foreignlanguage{#1}{et~al##1{}}}%2694 \def\btxetallong##1{\protect\foreignlanguage{#1}{et~alii}}%2695 \def\btxandshort##1{\protect\foreignlanguage{#1}{ja}}%2696 \def\btxandlong##1{\protect\foreignlanguage{#1}{ja}}%2697 \def\btxandcomma##1{}%2698 \def\btxinlong##1{\protect\foreignlanguage{#1}{teoksessa}}%2699 \def\btxinshort##1{\protect\foreignlanguage{#1}{teoksessa}}%2700 \def\btxofseriesshort##1{\protect\foreignlanguage{#1}{sarjassa}}%2701 \def\btxinseriesshort##1{\protect\foreignlanguage{#1}{sarjassa}}%2702 \def\btxofserieslong##1{\protect\foreignlanguage{#1}{sarjassa}}%2703 \def\btxinserieslong##1{\protect\foreignlanguage{#1}{sarjassa}}%2704 \def\btxeditorshort##1{\protect\foreignlanguage{#1}{toim##1{}}}%2705 \def\btxeditorlong##1{\protect\foreignlanguage{#1}{toimittaja}}%2706 \def\btxeditorsshort##1{\protect\foreignlanguage{#1}{toim##1{}}}%2707 \def\btxeditorslong##1{\protect\foreignlanguage{#1}{toimittajat}}%2708 \def\btxvolumeshort##1{\protect\foreignlanguage{#1}{nide}}%2709 \def\btxvolumelong##1{\protect\foreignlanguage{#1}{nide}}%2710 \def\btxnumbershort##1{\protect\foreignlanguage{#1}{nro##1{}}}%2711 \def\btxnumberlong##1{\protect\foreignlanguage{#1}{numero}}%2712 \def\btxeditionshort##1{\protect\foreignlanguage{#1}{p##1{}}}%2713 \def\btxeditionlong##1{\protect\foreignlanguage{#1}{painos}}%2714 \def\btxeditionnumshort##1##2{\btxnumeralshort{##1}~\btxeditionshort{##2}}%2715 \def\btxeditionnumlong##1##2{\btxnumerallong{##1}~\btxeditionlong{##2}}%

74

Page 75: Multilingual bibliographies: The babelbib package - CTAN

2716 \def\btxchaptershort##1{\protect\foreignlanguage{#1}{l##1{}}}%2717 \def\btxchapterlong##1{\protect\foreignlanguage{#1}{luku}}%2718 \def\btxpageshort##1{\protect\foreignlanguage{#1}{s##1{}}}%2719 \def\btxpagelong##1{\protect\foreignlanguage{#1}{sivu}}%2720 \def\btxpagesshort##1{\protect\foreignlanguage{#1}{ss##1{}}}%2721 \def\btxpageslong##1{\protect\foreignlanguage{#1}{sivut}}%2722 \def\btxmastthesis##1{\protect\foreignlanguage{#1}{Pro Gradu -ty\"o}}%2723 \def\btxphdthesis##1{\protect\foreignlanguage{#1}{v\"ait\"oskirja}}%2724 \def\btxtechrepshort##1{\protect\foreignlanguage{#1}{tekn.\ rap##1{}}}%2725 \def\btxtechreplong##1{\protect\foreignlanguage{#1}{tekninen raportti}}%2726 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{tammikuu}}%2727 \def\btxmonfeblong##1{\protect\foreignlanguage{#1}{helmikuu}}%2728 \def\btxmonmarlong##1{\protect\foreignlanguage{#1}{maaliskuu}}%2729 \def\btxmonaprlong##1{\protect\foreignlanguage{#1}{huhtikuu}}%2730 \def\btxmonmaylong##1{\protect\foreignlanguage{#1}{toukokuu}}%2731 \def\btxmonjunlong##1{\protect\foreignlanguage{#1}{kes\"akuu}}%2732 \def\btxmonjullong##1{\protect\foreignlanguage{#1}{hein\"akuu}}%2733 \def\btxmonauglong##1{\protect\foreignlanguage{#1}{elokuu}}%2734 \def\btxmonseplong##1{\protect\foreignlanguage{#1}{syyskuu}}%2735 \def\btxmonoctlong##1{\protect\foreignlanguage{#1}{lokakuu}}%2736 \def\btxmonnovlong##1{\protect\foreignlanguage{#1}{marraskuu}}%2737 \def\btxmondeclong##1{\protect\foreignlanguage{#1}{joulukuu}}%2738 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{tam##1{}}}%2739 \def\btxmonfebshort##1{\protect\foreignlanguage{#1}{hel##1{}}}%2740 \def\btxmonmarshort##1{\protect\foreignlanguage{#1}{maa##1{}}}%2741 \def\btxmonaprshort##1{\protect\foreignlanguage{#1}{huh##1{}}}%2742 \def\btxmonmayshort##1{\protect\foreignlanguage{#1}{tou##1{}}}%2743 \def\btxmonjunshort##1{\protect\foreignlanguage{#1}{kes##1{}}}%2744 \def\btxmonjulshort##1{\protect\foreignlanguage{#1}{hei##1{}}}%2745 \def\btxmonaugshort##1{\protect\foreignlanguage{#1}{elo##1{}}}%2746 \def\btxmonsepshort##1{\protect\foreignlanguage{#1}{syy##1{}}}%2747 \def\btxmonoctshort##1{\protect\foreignlanguage{#1}{lok##1{}}}%2748 \def\btxmonnovshort##1{\protect\foreignlanguage{#1}{mar##1{}}}%2749 \def\btxmondecshort##1{\protect\foreignlanguage{#1}{jou##1{}}}%2750 \def\Btxinlong##1{\protect\foreignlanguage{#1}{Teoksessa}}%2751 \def\Btxinshort##1{\protect\foreignlanguage{#1}{Teoksessa}}%2752 \def\Btxeditorshort##1{\protect\foreignlanguage{#1}{Toim##1{}}}%2753 \def\Btxeditorlong##1{\protect\foreignlanguage{#1}{Toimittaja}}%2754 \def\Btxeditorsshort##1{\protect\foreignlanguage{#1}{Toim##1{}}}%2755 \def\Btxeditorslong##1{\protect\foreignlanguage{#1}{Toimittajat}}%2756 \def\Btxvolumeshort##1{\protect\foreignlanguage{#1}{Nide##1{}}}%2757 \def\Btxvolumelong##1{\protect\foreignlanguage{#1}{Nide}}%2758 \def\Btxnumbershort##1{\protect\foreignlanguage{#1}{Nro##1{}}}%2759 \def\Btxnumberlong##1{\protect\foreignlanguage{#1}{Numero}}%2760 \def\Btxeditionshort##1{\protect\foreignlanguage{#1}{P##1{}}}%2761 \def\Btxeditionlong##1{\protect\foreignlanguage{#1}{Painos}}%2762 \def\Btxeditionnumshort##1##2{\btxnumeralshort{##1}~\Btxeditionshort{##2}}%2763 \def\Btxeditionnumlong##1##2{\btxnumerallong{##1}~\Btxeditionlong{##2}}%2764 \def\Btxchaptershort##1{\protect\foreignlanguage{#1}{L##1{}}}%2765 \def\Btxchapterlong##1{\protect\foreignlanguage{#1}{Luku}}%

75

Page 76: Multilingual bibliographies: The babelbib package - CTAN

2766 \def\Btxpageshort##1{\protect\foreignlanguage{#1}{S##1{}}}%2767 \def\Btxpagelong##1{\protect\foreignlanguage{#1}{Sivu}}%2768 \def\Btxpagesshort##1{\protect\foreignlanguage{#1}{Ss##1{}}}%2769 \def\Btxpageslong##1{\protect\foreignlanguage{#1}{Sivut}}%2770 \def\Btxtechrepshort##1{\protect\foreignlanguage{#1}{Tekn.\ rap##1{}}}%2771 \def\Btxtechreplong##1{\protect\foreignlanguage{#1}{Tekninen raportti}}%2772 \def\btxurldatecomment##1{\protect\foreignlanguage{#1}{, vierailtu ##1}}%2773 \def\btxfnamespaceshort{\,}%2774 \def\btxfnamespacelong{ }%2775 \def\btxnumeralshort##1{\btxnumeralfallback{#1}{##1}}%2776 \def\btxnumerallong##1{\btxnumeralfallback{#1}{##1}}%

Define how to print month and year in numeric format, e. g. MM/YYYY.2777 \def\btxprintmonthyearnum##1##2{##1/##2}%2778 \def\btxkeywordlanguage##1{{\protect\selectlanguage{#1}##1}}%2779 \ifbbbblanguagenames2780 \def\btxlanguagenameamerican{\protect\foreignlanguage{#1}{englanti}}%2781 \def\btxlanguagenameaustrian{\protect\foreignlanguage{#1}{saksa}}%2782 \def\btxlanguagenamebrazil{\protect\foreignlanguage{#1}{portugali}}%2783 \def\btxlanguagenamebrazilian{\protect\foreignlanguage{#1}{portugali}}%2784 \def\btxlanguagenamebritish{\protect\foreignlanguage{#1}{englanti}}%2785 \def\btxlanguagenamebulgarian{\protect\foreignlanguage{#1}{bulgaria}}%2786 \def\btxlanguagenamecanadian{\protect\foreignlanguage{#1}{englanti}}%2787 \def\btxlanguagenamecanadien{\protect\foreignlanguage{#1}{ranska}}%2788 \def\btxlanguagenamecatalan{\protect\foreignlanguage{#1}{katalaani}}%2789 \def\btxlanguagenamecroatian{\protect\foreignlanguage{#1}{kroaati}}%2790 \def\btxlanguagenameczech{\protect\foreignlanguage{#1}{tsekki}}%2791 \def\btxlanguagenamedanish{\protect\foreignlanguage{#1}{tanska}}%2792 \def\btxlanguagenamedutch{\protect\foreignlanguage{#1}{hollanti}}%2793 \def\btxlanguagenameenglish{\protect\foreignlanguage{#1}{englanti}}%2794 \def\btxlanguagenameesperanto{\protect\foreignlanguage{#1}{esperanto}}%2795 \def\btxlanguagenamefinnish{\protect\foreignlanguage{#1}{suomi}}%2796 \def\btxlanguagenamefrancais{\protect\foreignlanguage{#1}{ranska}}%2797 \def\btxlanguagenamefrench{\protect\foreignlanguage{#1}{ranska}}%2798 \def\btxlanguagenamefrenchb{\protect\foreignlanguage{#1}{ranska}}%2799 \def\btxlanguagenamegerman{\protect\foreignlanguage{#1}{saksa}}%2800 \def\btxlanguagenamegermanb{\protect\foreignlanguage{#1}{saksa}}%2801 \def\btxlanguagenamegreek{\protect\foreignlanguage{#1}{kreikka}}%2802 \def\btxlanguagenamehebrew{\protect\foreignlanguage{#1}{heprea}}%2803 \def\btxlanguagenamehungarian{\protect\foreignlanguage{#1}{unkari}}%2804 \def\btxlanguagenameicelandic{\protect\foreignlanguage{#1}{islanti}}%2805 \def\btxlanguagenameirish{\protect\foreignlanguage{#1}{iiri}}%2806 \def\btxlanguagenameitalian{\protect\foreignlanguage{#1}{italia}}%2807 \def\btxlanguagenamelatin{\protect\foreignlanguage{#1}{latina}}%2808 \def\btxlanguagenamenaustrian{\protect\foreignlanguage{#1}{saksa}}%2809 \def\btxlanguagenamengerman{\protect\foreignlanguage{#1}{saksa}}%2810 \def\btxlanguagenamenorsk{\protect\foreignlanguage{#1}{norja}}%2811 \def\btxlanguagenamenynorsk{\protect\foreignlanguage{#1}{uusnorja}}%2812 \def\btxlanguagenamepolish{\protect\foreignlanguage{#1}{puola}}%2813 \def\btxlanguagenameportuges{\protect\foreignlanguage{#1}{portugali}}%

76

Page 77: Multilingual bibliographies: The babelbib package - CTAN

2814 \def\btxlanguagenameportuguese{\protect\foreignlanguage{#1}{portugali}}%2815 \def\btxlanguagenamerussian{\protect\foreignlanguage{#1}{ven\"j\"a}}%2816 \def\btxlanguagenamescottish{\protect\foreignlanguage{#1}{skotti}}%2817 \def\btxlanguagenameserbian{\protect\foreignlanguage{#1}{serbi}}%2818 \def\btxlanguagenamespanish{\protect\foreignlanguage{#1}{espanja}}%2819 \def\btxlanguagenameswedish{\protect\foreignlanguage{#1}{ruotsi}}%2820 \def\btxlanguagenameturkish{\protect\foreignlanguage{#1}{turkki}}%2821 \def\btxlanguagenameUKenglish{\protect\foreignlanguage{#1}{englanti}}%2822 \def\btxlanguagenameUSenglish{\protect\foreignlanguage{#1}{englanti}}%2823 \fi2824 }

Append the definitions to the language-calling commands.2825 \AtBeginDocument{%2826 \ifbbbbfixlanguage2827 \else2828 \bbbbaddto{finnish}{bibsfinnish}2829 \fi

Switch off the change of case in titles by appending \btxifchangecaseoff to\extras〈language〉.

2830 \bbbbaddto{finnish}{btxifchangecaseoff}2831 }2832 〈/finnish〉

9.3.15 Esperanto

2833 〈∗esperanto〉

\bibsesperanto Bibliographic commands for Esperanto.2834 \newcommand\bibsesperanto[1][esperanto]{%2835 \def\biblanguagename{#1}%2836 \def\btxetalshort##1{\protect\foreignlanguage{#1}{k~al##1{}}}%2837 \def\btxetallong##1{\protect\foreignlanguage{#1}{kaj~aliaj}}%2838 \def\btxandshort##1{\protect\foreignlanguage{#1}{k}}%2839 \def\btxandlong##1{\protect\foreignlanguage{#1}{kaj}}%2840 \def\btxandcomma##1{}%2841 \def\btxinlong##1{\protect\foreignlanguage{#1}{en}}%2842 \def\btxinshort##1{\protect\foreignlanguage{#1}{en}}%2843 \def\btxofseriesshort##1{\protect\foreignlanguage{#1}{de}}%2844 \def\btxinseriesshort##1{\protect\foreignlanguage{#1}{en}}%2845 \def\btxofserieslong##1{\protect\foreignlanguage{#1}{de}}%2846 \def\btxinserieslong##1{\protect\foreignlanguage{#1}{en}}%2847 \def\btxeditorshort##1{\protect\foreignlanguage{#1}{red##1{}}}%2848 \def\btxeditorlong##1{\protect\foreignlanguage{#1}{redaktoro}}%2849 \def\btxeditorsshort##1{\protect\foreignlanguage{#1}{red-oj##1{}}}%2850 \def\btxeditorslong##1{\protect\foreignlanguage{#1}{redaktoroj}}%2851 \def\btxvolumeshort##1{\protect\foreignlanguage{#1}{vol##1{}}}%2852 \def\btxvolumelong##1{\protect\foreignlanguage{#1}{volumo}}%2853 \def\btxnumbershort##1{\protect\foreignlanguage{#1}{no##1{}}}%

77

Page 78: Multilingual bibliographies: The babelbib package - CTAN

2854 \def\btxnumberlong##1{\protect\foreignlanguage{#1}{nombro}}%2855 \def\btxeditionshort##1{\protect\foreignlanguage{#1}{red##1{}}}%2856 \def\btxeditionlong##1{\protect\foreignlanguage{#1}{redakcio}}%2857 \def\btxeditionnumshort##1##2{\btxnumeralshort{##1}~\btxeditionshort{##2}}%2858 \def\btxeditionnumlong##1##2{\btxnumerallong{##1}~\btxeditionlong{##2}}%2859 \def\btxchaptershort##1{\protect\foreignlanguage{#1}{\^c##1{}}}%2860 \def\btxchapterlong##1{\protect\foreignlanguage{#1}{\^capitro}}%2861 \def\btxpageshort##1{\protect\foreignlanguage{#1}{p##1{}}}%2862 \def\btxpagelong##1{\protect\foreignlanguage{#1}{pa\^go}}%2863 \def\btxpagesshort##1{\protect\foreignlanguage{#1}{pp##1{}}}%2864 \def\btxpageslong##1{\protect\foreignlanguage{#1}{pa\^goj}}%2865 \def\btxmastthesis##1{\protect\foreignlanguage{#1}{magistra disertacio}}%2866 \def\btxphdthesis##1{\protect\foreignlanguage{#1}{doktora disertacio}}%2867 \def\btxtechrepshort##1{\protect\foreignlanguage{#1}{Tekn.\ rap##1{}}}%2868 \def\btxtechreplong##1{\protect\foreignlanguage{#1}{Teknika raporto}}%2869 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{Januaro}}%2870 \def\btxmonfeblong##1{\protect\foreignlanguage{#1}{Februaro}}%2871 \def\btxmonmarlong##1{\protect\foreignlanguage{#1}{Marco}}%2872 \def\btxmonaprlong##1{\protect\foreignlanguage{#1}{Aprilo}}%2873 \def\btxmonmaylong##1{\protect\foreignlanguage{#1}{Majo}}%2874 \def\btxmonjunlong##1{\protect\foreignlanguage{#1}{Junio}}%2875 \def\btxmonjullong##1{\protect\foreignlanguage{#1}{Julio}}%2876 \def\btxmonauglong##1{\protect\foreignlanguage{#1}{A\u{u}gusto}}%2877 \def\btxmonseplong##1{\protect\foreignlanguage{#1}{Septembro}}%2878 \def\btxmonoctlong##1{\protect\foreignlanguage{#1}{Oktobro}}%2879 \def\btxmonnovlong##1{\protect\foreignlanguage{#1}{Novembro}}%2880 \def\btxmondeclong##1{\protect\foreignlanguage{#1}{Decembro}}%2881 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{Jan##1{}}}%2882 \def\btxmonfebshort##1{\protect\foreignlanguage{#1}{Feb##1{}}}%2883 \def\btxmonmarshort##1{\protect\foreignlanguage{#1}{Mar##1{}}}%2884 \def\btxmonaprshort##1{\protect\foreignlanguage{#1}{Apr##1{}}}%2885 \def\btxmonmayshort##1{\protect\foreignlanguage{#1}{Maj##1{}}}%2886 \def\btxmonjunshort##1{\protect\foreignlanguage{#1}{Jun##1{}}}%2887 \def\btxmonjulshort##1{\protect\foreignlanguage{#1}{Jul##1{}}}%2888 \def\btxmonaugshort##1{\protect\foreignlanguage{#1}{Aug##1{}}}%2889 \def\btxmonsepshort##1{\protect\foreignlanguage{#1}{Sept##1{}}}%2890 \def\btxmonoctshort##1{\protect\foreignlanguage{#1}{Okt##1{}}}%2891 \def\btxmonnovshort##1{\protect\foreignlanguage{#1}{Nov##1{}}}%2892 \def\btxmondecshort##1{\protect\foreignlanguage{#1}{Dec##1{}}}%2893 \def\Btxinlong##1{\protect\foreignlanguage{#1}{En}}%2894 \def\Btxinshort##1{\protect\foreignlanguage{#1}{En}}%2895 \def\Btxeditorshort##1{\protect\foreignlanguage{#1}{Red##1{}}}%2896 \def\Btxeditorlong##1{\protect\foreignlanguage{#1}{Redaktoro}}%2897 \def\Btxeditorsshort##1{\protect\foreignlanguage{#1}{Red##1{}}}%2898 \def\Btxeditorslong##1{\protect\foreignlanguage{#1}{Redaktoroj}}%2899 \def\Btxvolumeshort##1{\protect\foreignlanguage{#1}{Vol##1{}}}%2900 \def\Btxvolumelong##1{\protect\foreignlanguage{#1}{Volumo}}%2901 \def\Btxnumbershort##1{\protect\foreignlanguage{#1}{No##1{}}}%2902 \def\Btxnumberlong##1{\protect\foreignlanguage{#1}{Nombro}}%2903 \def\Btxeditionshort##1{\protect\foreignlanguage{#1}{Red##1{}}}%

78

Page 79: Multilingual bibliographies: The babelbib package - CTAN

2904 \def\Btxeditionlong##1{\protect\foreignlanguage{#1}{Redakcio}}%2905 \def\Btxeditionnumshort##1##2{\btxnumeralshort{##1}~\Btxeditionshort{##2}}%2906 \def\Btxeditionnumlong##1##2{\btxnumerallong{##1}~\Btxeditionlong{##2}}%2907 \def\Btxchaptershort##1{\protect\foreignlanguage{#1}{\^C##1{}}}%2908 \def\Btxchapterlong##1{\protect\foreignlanguage{#1}{\^Capitro}}%2909 \def\Btxpageshort##1{\protect\foreignlanguage{#1}{P##1{}}}%2910 \def\Btxpagelong##1{\protect\foreignlanguage{#1}{Pa\^go}}%2911 \def\Btxpagesshort##1{\protect\foreignlanguage{#1}{Pp##1{}}}%2912 \def\Btxpageslong##1{\protect\foreignlanguage{#1}{Pa\^goj}}%2913 \def\Btxtechrepshort##1{\protect\foreignlanguage{#1}{Tekn.\ Rap##1{}}}%2914 \def\Btxtechreplong##1{\protect\foreignlanguage{#1}{Teknika Raporto}}%2915 % \def\btxurldatecomment##1{\protect\foreignlanguage{#1}{, ?? ##1}}%2916 \def\btxurldatecomment##1{\PackageError{babelbib}{Comment for2917 urldate in Esperanto undefined. Please send the translation for2918 ’visited on’ to [email protected]}{} [##1]}%2919 \def\btxfnamespaceshort{\,}%2920 \def\btxfnamespacelong{ }%2921 \def\btxnumeralshort##1{\btxnumeralfallback{#1}{##1}}%2922 \def\btxnumerallong##1{\btxnumeralfallback{#1}{##1}}%

Define how to print month and year in numeric format, e. g. MM/YYYY.2923 \def\btxprintmonthyearnum##1##2{##1/##2}%2924 \def\btxkeywordlanguage##1{{\protect\selectlanguage{#1}##1}}%2925 \ifbbbblanguagenames2926 \def\btxlanguagenameamerican{\protect\foreignlanguage{#1}{angla}}%2927 \def\btxlanguagenameaustrian{\protect\foreignlanguage{#1}{germana}}%2928 \def\btxlanguagenamebrazil{\protect\foreignlanguage{#1}{portugala}}%2929 \def\btxlanguagenamebrazilian{\protect\foreignlanguage{#1}{portugala}}%2930 \def\btxlanguagenamebritish{\protect\foreignlanguage{#1}{angla}}%2931 \def\btxlanguagenamebulgarian{\protect\foreignlanguage{#1}{bulgara}}%2932 \def\btxlanguagenamecanadian{\protect\foreignlanguage{#1}{angla}}%2933 \def\btxlanguagenamecanadien{\protect\foreignlanguage{#1}{franca}}%2934 \def\btxlanguagenamecatalan{\protect\foreignlanguage{#1}{katalana}}%2935 \def\btxlanguagenamecroatian{\protect\foreignlanguage{#1}{kroata}}%2936 \def\btxlanguagenameczech{\protect\foreignlanguage{#1}{\^ce\^ha}}%2937 \def\btxlanguagenamedanish{\protect\foreignlanguage{#1}{dana}}%2938 \def\btxlanguagenamedutch{\protect\foreignlanguage{#1}{nederlanda}}%2939 \def\btxlanguagenameenglish{\protect\foreignlanguage{#1}{angla}}%2940 \def\btxlanguagenameesperanto{\protect\foreignlanguage{#1}{esperanto}}%2941 \def\btxlanguagenamefinnish{\protect\foreignlanguage{#1}{finna}}%2942 \def\btxlanguagenamefrancais{\protect\foreignlanguage{#1}{franca}}%2943 \def\btxlanguagenamefrench{\protect\foreignlanguage{#1}{franca}}%2944 \def\btxlanguagenamefrenchb{\protect\foreignlanguage{#1}{franca}}%2945 \def\btxlanguagenamegerman{\protect\foreignlanguage{#1}{germana}}%2946 \def\btxlanguagenamegermanb{\protect\foreignlanguage{#1}{germana}}%2947 \def\btxlanguagenamegreek{\protect\foreignlanguage{#1}{greka}}%2948 \def\btxlanguagenamehebrew{\protect\foreignlanguage{#1}{hebrea}}%2949 \def\btxlanguagenamehungarian{\protect\foreignlanguage{#1}{hungara}}%2950 \def\btxlanguagenameicelandic{\protect\foreignlanguage{#1}{islanda}}%2951 \def\btxlanguagenameirish{\protect\foreignlanguage{#1}{irlanda}}%

79

Page 80: Multilingual bibliographies: The babelbib package - CTAN

2952 \def\btxlanguagenameitalian{\protect\foreignlanguage{#1}{itala}}%2953 \def\btxlanguagenamelatin{\protect\foreignlanguage{#1}{latino}}%2954 \def\btxlanguagenamenaustrian{\protect\foreignlanguage{#1}{germana}}%2955 \def\btxlanguagenamengerman{\protect\foreignlanguage{#1}{germana}}%2956 \def\btxlanguagenamenorsk{\protect\foreignlanguage{#1}{norvega}}%2957 \def\btxlanguagenamenynorsk{\protect\foreignlanguage{#1}{nov-norvega}}%2958 \def\btxlanguagenamepolish{\protect\foreignlanguage{#1}{pola}}%2959 \def\btxlanguagenameportuges{\protect\foreignlanguage{#1}{portugala}}%2960 \def\btxlanguagenameportuguese{\protect\foreignlanguage{#1}{portugala}}%2961 \def\btxlanguagenamerussian{\protect\foreignlanguage{#1}{rusa}}%2962 \def\btxlanguagenamescottish{\protect\foreignlanguage{#1}{skota}}%2963 \def\btxlanguagenameserbian{\protect\foreignlanguage{#1}{serba}}%2964 \def\btxlanguagenamespanish{\protect\foreignlanguage{#1}{hispana}}%2965 \def\btxlanguagenameswedish{\protect\foreignlanguage{#1}{sveda}}%2966 \def\btxlanguagenameturkish{\protect\foreignlanguage{#1}{turka}}%2967 \def\btxlanguagenameUKenglish{\protect\foreignlanguage{#1}{angla}}%2968 \def\btxlanguagenameUSenglish{\protect\foreignlanguage{#1}{angla}}%2969 \fi2970 }

Append the definitions to the language-calling commands.2971 \AtBeginDocument{%2972 \ifbbbbfixlanguage2973 \else2974 \bbbbaddto{esperanto}{bibsesperanto}2975 \fi

Switch off the change of case in titles by appending \btxifchangecaseoff to\extras〈language〉.

2976 \bbbbaddto{esperanto}{btxifchangecaseoff}2977 }2978 〈/esperanto〉

9.3.16 Portuguese

2979 〈∗portuguese〉

\bibsportuguese Bibliographic commands for Portuguese.2980 \newcommand\bibsportuguese[1][portuguese]{%2981 \def\biblanguagename{#1}%2982 \def\btxetalshort##1{\protect\foreignlanguage{#1}{et~al##1{}}}%2983 \def\btxetallong##1{\protect\foreignlanguage{#1}{et~alii}}%2984 \def\btxandshort##1{\protect\foreignlanguage{#1}{e}}%2985 \def\btxandlong##1{\protect\foreignlanguage{#1}{e}}%2986 \def\btxandcomma##1{}%2987 \def\btxinlong##1{\protect\foreignlanguage{#1}{em}}%2988 \def\btxinshort##1{\protect\foreignlanguage{#1}{em}}%2989 \def\btxofseriesshort##1{\protect\foreignlanguage{#1}{de}}%2990 \def\btxinseriesshort##1{\protect\foreignlanguage{#1}{em}}%2991 \def\btxofserieslong##1{\protect\foreignlanguage{#1}{de}}%

80

Page 81: Multilingual bibliographies: The babelbib package - CTAN

2992 \def\btxinserieslong##1{\protect\foreignlanguage{#1}{em}}%2993 \def\btxeditorshort##1{\protect\foreignlanguage{#1}{ed##1{}}}%2994 \def\btxeditorlong##1{\protect\foreignlanguage{#1}{editor}}%2995 \def\btxeditorsshort##1{\protect\foreignlanguage{#1}{eds##1{}}}%2996 \def\btxeditorslong##1{\protect\foreignlanguage{#1}{editores}}%2997 \def\btxvolumeshort##1{\protect\foreignlanguage{#1}{vol##1{}}}%2998 \def\btxvolumelong##1{\protect\foreignlanguage{#1}{volume}}%2999 \def\btxnumbershort##1{\protect\foreignlanguage{#1}{%3000 n\textsuperscript{\underline{o}}}}%3001 \def\btxnumberlong##1{\protect\foreignlanguage{#1}{n\’umero}}%3002 \def\btxeditionshort##1{\protect\foreignlanguage{#1}{ed##1{}}}%3003 \def\btxeditionlong##1{\protect\foreignlanguage{#1}{edi\c c\~ao}}%3004 \def\btxeditionnumshort##1##2{\btxnumeralshort{##1}~\btxeditionshort{##2}}%3005 \def\btxeditionnumlong##1##2{\btxnumerallong{##1}~\btxeditionlong{##2}}%3006 \def\btxchaptershort##1{\protect\foreignlanguage{#1}{cap##1{}}}%3007 \def\btxchapterlong##1{\protect\foreignlanguage{#1}{cap\’\i tulo}}%3008 \def\btxpageshort##1{\protect\foreignlanguage{#1}{p\’ag##1{}}}%3009 \def\btxpagelong##1{\protect\foreignlanguage{#1}{p\’agina}}%3010 \def\btxpagesshort##1{\protect\foreignlanguage{#1}{p\’ags##1{}}}%3011 \def\btxpageslong##1{\protect\foreignlanguage{#1}{p\’aginas}}%3012 \def\btxmastthesis##1{\protect\foreignlanguage{#1}{Tese de Mestrado}}%3013 \def\btxphdthesis##1{\protect\foreignlanguage{#1}{Tese de Doutoramento}}%3014 \def\btxtechrepshort##1{\protect\foreignlanguage{#1}{Rel.\ T\’ec##1{}}}%3015 \def\btxtechreplong##1{\protect\foreignlanguage{#1}{Relat\’orio T\’ecnico}}%3016 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{janeiro}}%3017 \def\btxmonfeblong##1{\protect\foreignlanguage{#1}{fevereiro}}%3018 \def\btxmonmarlong##1{\protect\foreignlanguage{#1}{mar\c co}}%3019 \def\btxmonaprlong##1{\protect\foreignlanguage{#1}{abril}}%3020 \def\btxmonmaylong##1{\protect\foreignlanguage{#1}{maio}}%3021 \def\btxmonjunlong##1{\protect\foreignlanguage{#1}{junho}}%3022 \def\btxmonjullong##1{\protect\foreignlanguage{#1}{julho}}%3023 \def\btxmonauglong##1{\protect\foreignlanguage{#1}{agosto}}%3024 \def\btxmonseplong##1{\protect\foreignlanguage{#1}{setembro}}%3025 \def\btxmonoctlong##1{\protect\foreignlanguage{#1}{outubro}}%3026 \def\btxmonnovlong##1{\protect\foreignlanguage{#1}{novembro}}%3027 \def\btxmondeclong##1{\protect\foreignlanguage{#1}{dezembro}}%3028 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{jan##1{}}}%3029 \def\btxmonfebshort##1{\protect\foreignlanguage{#1}{fev##1{}}}%3030 \def\btxmonmarshort##1{\protect\foreignlanguage{#1}{mar##1{}}}%3031 \def\btxmonaprshort##1{\protect\foreignlanguage{#1}{abr##1{}}}%3032 \def\btxmonmayshort##1{\protect\foreignlanguage{#1}{maio}}%3033 \def\btxmonjunshort##1{\protect\foreignlanguage{#1}{jun##1{}}}%3034 \def\btxmonjulshort##1{\protect\foreignlanguage{#1}{jul##1{}}}%3035 \def\btxmonaugshort##1{\protect\foreignlanguage{#1}{ago##1{}}}%3036 \def\btxmonsepshort##1{\protect\foreignlanguage{#1}{set##1{}}}%3037 \def\btxmonoctshort##1{\protect\foreignlanguage{#1}{out##1{}}}%3038 \def\btxmonnovshort##1{\protect\foreignlanguage{#1}{nov##1{}}}%3039 \def\btxmondecshort##1{\protect\foreignlanguage{#1}{dez##1{}}}%3040 \def\Btxinlong##1{\protect\foreignlanguage{#1}{Em}}%3041 \def\Btxinshort##1{\protect\foreignlanguage{#1}{Em}}%

81

Page 82: Multilingual bibliographies: The babelbib package - CTAN

3042 \def\Btxeditorshort##1{\protect\foreignlanguage{#1}{Ed##1{}}}%3043 \def\Btxeditorlong##1{\protect\foreignlanguage{#1}{Editor}}%3044 \def\Btxeditorsshort##1{\protect\foreignlanguage{#1}{Eds##1{}}}%3045 \def\Btxeditorslong##1{\protect\foreignlanguage{#1}{Editores}}%3046 \def\Btxvolumeshort##1{\protect\foreignlanguage{#1}{Vol##1{}}}%3047 \def\Btxvolumelong##1{\protect\foreignlanguage{#1}{Volume}}%3048 \def\Btxnumbershort##1{\protect\foreignlanguage{#1}{%3049 N\textsuperscript{\underline{o}}}}%3050 \def\Btxnumberlong##1{\protect\foreignlanguage{#1}{N\’umero}}%3051 \def\Btxeditionshort##1{\protect\foreignlanguage{#1}{Ed##1{}}}%3052 \def\Btxeditionlong##1{\protect\foreignlanguage{#1}{Edi\c c\~ao}}%3053 \def\Btxeditionnumshort##1##2{\btxnumeralshort{##1}~\Btxeditionshort{##2}}%3054 \def\Btxeditionnumlong##1##2{\btxnumerallong{##1}~\Btxeditionlong{##2}}%3055 \def\Btxchaptershort##1{\protect\foreignlanguage{#1}{Cap##1{}}}%3056 \def\Btxchapterlong##1{\protect\foreignlanguage{#1}{Cap\’{\i}tulo}}%3057 \def\Btxpageshort##1{\protect\foreignlanguage{#1}{P\’ag##1{}}}%3058 \def\Btxpagelong##1{\protect\foreignlanguage{#1}{P\’agina}}%3059 \def\Btxpagesshort##1{\protect\foreignlanguage{#1}{P\’ags##1{}}}%3060 \def\Btxpageslong##1{\protect\foreignlanguage{#1}{P\’aginas}}%3061 \def\Btxtechrepshort##1{\protect\foreignlanguage{#1}{Rel.\ T\’ec##1{}}}%3062 \def\Btxtechreplong##1{\protect\foreignlanguage{#1}{Relat\’orio T\’ecnico}}%3063 \def\btxurldatecomment##1{\protect\foreignlanguage{#1}{, acedido em ##1}}%3064 \def\btxfnamespaceshort{\,}%3065 \def\btxfnamespacelong{ }%3066 \def\btxnumeralshort##1{\protect\foreignlanguage{#1}{%3067 \ifnumber{##1}{##1\textsuperscript{\underline a}}{##1}}}%3068 \def\btxnumerallong##1{\btxnumeralshort{##1}}%

Define how to print month and year in numeric format, e. g. MM/YYYY.3069 \def\btxprintmonthyearnum##1##2{##1/##2}%3070 \def\btxkeywordlanguage##1{{\protect\selectlanguage{#1}##1}}%3071 \ifbbbblanguagenames3072 \def\btxlanguagenameamerican{\protect\foreignlanguage{#1}{ingl\^es}}%3073 \def\btxlanguagenameaustrian{\protect\foreignlanguage{#1}{alem\~ao}}%3074 \def\btxlanguagenamebrazil{\protect\foreignlanguage{#1}{portugu\^es}}%3075 \def\btxlanguagenamebrazilian{\protect\foreignlanguage{#1}{portugu\^es}}%3076 \def\btxlanguagenamebritish{\protect\foreignlanguage{#1}{ingl\^es}}%3077 \def\btxlanguagenamebulgarian{\protect\foreignlanguage{#1}{b\’ulgaro}}%3078 \def\btxlanguagenamecanadian{\protect\foreignlanguage{#1}{ingl\^es}}%3079 \def\btxlanguagenamecanadien{\protect\foreignlanguage{#1}{franc\^es}}%3080 \def\btxlanguagenamecatalan{\protect\foreignlanguage{#1}{catal\~ao}}%3081 \def\btxlanguagenamecroatian{\protect\foreignlanguage{#1}{croata}}%3082 \def\btxlanguagenameczech{\protect\foreignlanguage{#1}{checo}}%3083 \def\btxlanguagenamedanish{\protect\foreignlanguage{#1}{dinamarqu\^es}}%3084 \def\btxlanguagenamedutch{\protect\foreignlanguage{#1}{holand\^es}}%3085 \def\btxlanguagenameenglish{\protect\foreignlanguage{#1}{ingl\^es}}%3086 \def\btxlanguagenameesperanto{\protect\foreignlanguage{#1}{esperanto}}%3087 \def\btxlanguagenamefinnish{\protect\foreignlanguage{#1}{finland\^es}}%3088 \def\btxlanguagenamefranceis{\protect\foreignlanguage{#1}{franc\^es}}%3089 \def\btxlanguagenamefrench{\protect\foreignlanguage{#1}{franc\^es}}%

82

Page 83: Multilingual bibliographies: The babelbib package - CTAN

3090 \def\btxlanguagenamefrenchb{\protect\foreignlanguage{#1}{franc\^es}}%3091 \def\btxlanguagenamegerman{\protect\foreignlanguage{#1}{\alem\~ao}}%3092 \def\btxlanguagenamegermanb{\protect\foreignlanguage{#1}{\alem\~ao}}%3093 \def\btxlanguagenamegreek{\protect\foreignlanguage{#1}{grego}}%3094 \def\btxlanguagenamehebrew{\protect\foreignlanguage{#1}{hebreu}}%3095 \def\btxlanguagenamehungarian{\protect\foreignlanguage{#1}{h\’ungaro}}%3096 \def\btxlanguagenameicelandic{\protect\foreignlanguage{#1}{island\^es}}%3097 \def\btxlanguagenameirish{\protect\foreignlanguage{#1}{irland\^es}}%3098 \def\btxlanguagenameitalian{\protect\foreignlanguage{#1}{italiano}}%3099 \def\btxlanguagenamelatin{\protect\foreignlanguage{#1}{latim}}%3100 \def\btxlanguagenamenaustrian{\protect\foreignlanguage{#1}{\alem\~ao}}%3101 \def\btxlanguagenamengerman{\protect\foreignlanguage{#1}{\alem\~ao}}%3102 \def\btxlanguagenamenorsk{\protect\foreignlanguage{#1}{noruegu\^es}}%3103 \def\btxlanguagenamenynorsk{\protect\foreignlanguage{#1}{neo-noruegu\^es}}%3104 \def\btxlanguagenamepolish{\protect\foreignlanguage{#1}{polaco}}%3105 \def\btxlanguagenameportuges{\protect\foreignlanguage{#1}{portugu\^es}}%3106 \def\btxlanguagenameportuguese{\protect\foreignlanguage{#1}{portugu\^es}}%3107 \def\btxlanguagenamerussian{\protect\foreignlanguage{#1}{russio}}%3108 \def\btxlanguagenamescottish{\protect\foreignlanguage{#1}{escoc\^es}}%3109 \def\btxlanguagenameserbian{\protect\foreignlanguage{#1}{s\’ervio}}%3110 \def\btxlanguagenamespanish{\protect\foreignlanguage{#1}{espanhol}}%3111 \def\btxlanguagenameswedish{\protect\foreignlanguage{#1}{sueco}}%3112 \def\btxlanguagenameturkish{\protect\foreignlanguage{#1}{turco}}%3113 \def\btxlanguagenameUKenglish{\protect\foreignlanguage{#1}{ingl\^es}}%3114 \def\btxlanguagenameUSenglish{\protect\foreignlanguage{#1}{ingl\^es}}%3115 \fi3116 }

Copy the commands to the other languages.3117 \newcommand\bibsportuges[1][portuges]{\bibsportuguese[#1]}3118 \newcommand\bibsbrazil[1][brazil]{\bibsbrazilian[#1]}3119 \newcommand\bibsbrazilian[1][brazilian]{%3120 \bibsportuguese[#1]%3121 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{janeiro}}%3122 \def\btxmonfeblong##1{\protect\foreignlanguage{#1}{fevereiro}}%3123 \def\btxmonmarlong##1{\protect\foreignlanguage{#1}{mar\c co}}%3124 \def\btxmonaprlong##1{\protect\foreignlanguage{#1}{abril}}%3125 \def\btxmonmaylong##1{\protect\foreignlanguage{#1}{maio}}%3126 \def\btxmonjunlong##1{\protect\foreignlanguage{#1}{junho}}%3127 \def\btxmonjullong##1{\protect\foreignlanguage{#1}{julho}}%3128 \def\btxmonauglong##1{\protect\foreignlanguage{#1}{agosto}}%3129 \def\btxmonseplong##1{\protect\foreignlanguage{#1}{setembro}}%3130 \def\btxmonoctlong##1{\protect\foreignlanguage{#1}{outubro}}%3131 \def\btxmonnovlong##1{\protect\foreignlanguage{#1}{novembro}}%3132 \def\btxmondeclong##1{\protect\foreignlanguage{#1}{dezembro}}%3133 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{jan##1{}}}%3134 \def\btxmonfebshort##1{\protect\foreignlanguage{#1}{fev##1{}}}%3135 \def\btxmonmarshort##1{\protect\foreignlanguage{#1}{mar##1{}}}%3136 \def\btxmonaprshort##1{\protect\foreignlanguage{#1}{abr##1{}}}%3137 \def\btxmonmayshort##1{\protect\foreignlanguage{#1}{mai##1{}}}%

83

Page 84: Multilingual bibliographies: The babelbib package - CTAN

3138 \def\btxmonjunshort##1{\protect\foreignlanguage{#1}{jun##1{}}}%3139 \def\btxmonjulshort##1{\protect\foreignlanguage{#1}{jul##1{}}}%3140 \def\btxmonaugshort##1{\protect\foreignlanguage{#1}{ago##1{}}}%3141 \def\btxmonsepshort##1{\protect\foreignlanguage{#1}{set##1{}}}%3142 \def\btxmonoctshort##1{\protect\foreignlanguage{#1}{out##1{}}}%3143 \def\btxmonnovshort##1{\protect\foreignlanguage{#1}{nov##1{}}}%3144 \def\btxmondecshort##1{\protect\foreignlanguage{#1}{dez##1{}}}%3145 \def\btxpageshort##1{\protect\foreignlanguage{#1}{p##1{}}}%3146 \def\btxpagesshort##1{\protect\foreignlanguage{#1}{pp##1{}}}%3147 \def\Btxpageshort##1{\protect\foreignlanguage{#1}{P##1{}}}%3148 \def\Btxpagesshort##1{\protect\foreignlanguage{#1}{Pp##1{}}}%3149 \def\btxurldatecomment##1{\protect\foreignlanguage{#1}{, acesso em ##1}}%3150 }

Append the definitions to the language-calling commands.3151 \AtBeginDocument{%3152 \ifbbbbfixlanguage3153 \else3154 \bbbbaddto{brazil}{bibsbrazil}3155 \bbbbaddto{brazilian}{bibsbrazilian}3156 \bbbbaddto{portuges}{bibsportuges}3157 \bbbbaddto{portuguese}{bibsportuguese}3158 \fi

Switch off the change of case in titles for all Portuguese dialects by appending\btxifchangecaseoff to \extras〈language〉.

3159 \bbbbaddto{brazil}{btxifchangecaseoff}3160 \bbbbaddto{brazilian}{btxifchangecaseoff}3161 \bbbbaddto{portuges}{btxifchangecaseoff}3162 \bbbbaddto{portuguese}{btxifchangecaseoff}3163 }3164 〈/portuguese〉

9.3.17 Dutch

3165 〈∗dutch〉

\bibsdutch Bibliographic commands for Dutch.3166 \newcommand\bibsdutch[1][dutch]{%3167 \def\biblanguagename{#1}%3168 \def\btxetalshort##1{\protect\foreignlanguage{#1}{et~al##1{}}}%3169 \def\btxetallong##1{\protect\foreignlanguage{#1}{en anderen}}%3170 \def\btxandshort##1{\protect\foreignlanguage{#1}{en}}%3171 \def\btxandlong##1{\protect\foreignlanguage{#1}{en}}%3172 \def\btxandcomma##1{,}%3173 \def\btxinlong##1{\protect\foreignlanguage{#1}{in}}%3174 \def\btxinshort##1{\protect\foreignlanguage{#1}{in}}%3175 \def\btxofseriesshort##1{\protect\foreignlanguage{#1}{van}}%3176 \def\btxinseriesshort##1{\protect\foreignlanguage{#1}{in}}%3177 \def\btxofserieslong##1{\protect\foreignlanguage{#1}{van}}%3178 \def\btxinserieslong##1{\protect\foreignlanguage{#1}{in}}%

84

Page 85: Multilingual bibliographies: The babelbib package - CTAN

3179 \def\btxeditorshort##1{\protect\foreignlanguage{#1}{red##1{}}}%3180 \def\btxeditorlong##1{\protect\foreignlanguage{#1}{redactie}}%3181 \def\btxeditorsshort##1{\protect\foreignlanguage{#1}{red##1{}}}%3182 \def\btxeditorslong##1{\protect\foreignlanguage{#1}{redactie}}%3183 \def\btxvolumeshort##1{\protect\foreignlanguage{#1}{vol##1{}}}%3184 \def\btxvolumelong##1{\protect\foreignlanguage{#1}{volume}}%3185 \def\btxnumbershort##1{\protect\foreignlanguage{#1}{nr##1{}}}%3186 \def\btxnumberlong##1{\protect\foreignlanguage{#1}{nummer}}%3187 \def\btxeditionshort##1{\protect\foreignlanguage{#1}{druk}}%3188 \def\btxeditionlong##1{\protect\foreignlanguage{#1}{uitgave}}%3189 \def\btxeditionnumshort##1##2{\btxnumeralshort{##1}~\btxeditionshort{##2}}%3190 \def\btxeditionnumlong##1##2{\btxnumerallong{##1}~\btxeditionlong{##2}}%3191 \def\btxchaptershort##1{\protect\foreignlanguage{#1}{hfdst##1{}}}%3192 \def\btxchapterlong##1{\protect\foreignlanguage{#1}{hoofdstuk}}%3193 \def\btxpageshort##1{\protect\foreignlanguage{#1}{pag##1{}}}%3194 \def\btxpagelong##1{\protect\foreignlanguage{#1}{pagina}}%3195 \def\btxpagesshort##1{\protect\foreignlanguage{#1}{pag##1{}}}%3196 \def\btxpageslong##1{\protect\foreignlanguage{#1}{pagina’s}}%3197 \def\btxmastthesis##1{\protect\foreignlanguage{#1}{scriptie}}%3198 \def\btxphdthesis##1{\protect\foreignlanguage{#1}{proefschrift}}%3199 \def\btxtechrepshort##1{\protect\foreignlanguage{#1}{Tech.\ Rapp##1{}}}%3200 \def\btxtechreplong##1{\protect\foreignlanguage{#1}{Technisch Rapport}}%3201 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{Januari}}%3202 \def\btxmonfeblong##1{\protect\foreignlanguage{#1}{Februari}}%3203 \def\btxmonmarlong##1{\protect\foreignlanguage{#1}{Maart}}%3204 \def\btxmonaprlong##1{\protect\foreignlanguage{#1}{April}}%3205 \def\btxmonmaylong##1{\protect\foreignlanguage{#1}{Mei}}%3206 \def\btxmonjunlong##1{\protect\foreignlanguage{#1}{Juni}}%3207 \def\btxmonjullong##1{\protect\foreignlanguage{#1}{Juli}}%3208 \def\btxmonauglong##1{\protect\foreignlanguage{#1}{Augustus}}%3209 \def\btxmonseplong##1{\protect\foreignlanguage{#1}{September}}%3210 \def\btxmonoctlong##1{\protect\foreignlanguage{#1}{Oktober}}%3211 \def\btxmonnovlong##1{\protect\foreignlanguage{#1}{November}}%3212 \def\btxmondeclong##1{\protect\foreignlanguage{#1}{December}}%3213 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{Jan##1{}}}%3214 \def\btxmonfebshort##1{\protect\foreignlanguage{#1}{Feb##1{}}}%3215 \def\btxmonmarshort##1{\protect\foreignlanguage{#1}{Mrt}}%3216 \def\btxmonaprshort##1{\protect\foreignlanguage{#1}{Apr##1{}}}%3217 \def\btxmonmayshort##1{\protect\foreignlanguage{#1}{Mei}}%3218 \def\btxmonjunshort##1{\protect\foreignlanguage{#1}{Jun##1{}}}%3219 \def\btxmonjulshort##1{\protect\foreignlanguage{#1}{Jul##1{}}}%3220 \def\btxmonaugshort##1{\protect\foreignlanguage{#1}{Aug##1{}}}%3221 \def\btxmonsepshort##1{\protect\foreignlanguage{#1}{Sep##1{}}}%3222 \def\btxmonoctshort##1{\protect\foreignlanguage{#1}{Okt##1{}}}%3223 \def\btxmonnovshort##1{\protect\foreignlanguage{#1}{Nov##1{}}}%3224 \def\btxmondecshort##1{\protect\foreignlanguage{#1}{Dec##1{}}}%3225 \def\Btxinlong##1{\protect\foreignlanguage{#1}{In}}%3226 \def\Btxinshort##1{\protect\foreignlanguage{#1}{In}}%3227 \def\Btxeditorshort##1{\protect\foreignlanguage{#1}{Red##1{}}}%3228 \def\Btxeditorlong##1{\protect\foreignlanguage{#1}{Redactie}}%

85

Page 86: Multilingual bibliographies: The babelbib package - CTAN

3229 \def\Btxeditorsshort##1{\protect\foreignlanguage{#1}{Red##1{}}}%3230 \def\Btxeditorslong##1{\protect\foreignlanguage{#1}{Redactie}}%3231 \def\Btxvolumeshort##1{\protect\foreignlanguage{#1}{Vol##1{}}}%3232 \def\Btxvolumelong##1{\protect\foreignlanguage{#1}{Volume}}%3233 \def\Btxnumbershort##1{\protect\foreignlanguage{#1}{Nr##1{}}}%3234 \def\Btxnumberlong##1{\protect\foreignlanguage{#1}{Nummer}}%3235 \def\Btxeditionshort##1{\protect\foreignlanguage{#1}{Druk}}%3236 \def\Btxeditionlong##1{\protect\foreignlanguage{#1}{Uitgave}}%3237 \def\Btxeditionnumshort##1##2{\btxnumeralshort{##1}~\Btxeditionshort{##2}}%3238 \def\Btxeditionnumlong##1##2{\btxnumerallong{##1}~\Btxeditionlong{##2}}%3239 \def\Btxchaptershort##1{\protect\foreignlanguage{#1}{Hfdst##1{}}}%3240 \def\Btxchapterlong##1{\protect\foreignlanguage{#1}{Hoofdstuk}}%3241 \def\Btxpageshort##1{\protect\foreignlanguage{#1}{Pag##1{}}}%3242 \def\Btxpagelong##1{\protect\foreignlanguage{#1}{Pagina}}%3243 \def\Btxpagesshort##1{\protect\foreignlanguage{#1}{Pags##1{}}}%3244 \def\Btxpageslong##1{\protect\foreignlanguage{#1}{Pagina’s}}%3245 \def\Btxtechrepshort##1{\protect\foreignlanguage{#1}{Tech.\ Rapp##1{}}}%3246 \def\Btxtechreplong##1{\protect\foreignlanguage{#1}{Technisch Rapport}}%3247 \def\btxurldatecomment##1{\protect\foreignlanguage{#1}{, bezocht op ##1}}%3248 \def\btxfnamespaceshort{\,}%3249 \def\btxfnamespacelong{ }%3250 \def\btxnumeralshort##1{\btxnumeralfallback{#1}{##1}}%3251 \def\btxnumerallong##1{\btxnumeralfallback{#1}{##1}}%

Define how to print month and year in numeric format, e. g. MM/YYYY.3252 \def\btxprintmonthyearnum##1##2{##1/##2}%3253 \def\btxkeywordlanguage##1{{\protect\selectlanguage{#1}##1}}%3254 \ifbbbblanguagenames3255 \def\btxlanguagenameamerican{\protect\foreignlanguage{#1}{engels}}%3256 % \def\btxlanguagenameaustrian{\protect\foreignlanguage{#1}{german}}%3257 \def\btxlanguagenamebrazil{\protect\foreignlanguage{#1}{portugees}}%3258 \def\btxlanguagenamebrazilian{\protect\foreignlanguage{#1}{portugees}}%3259 \def\btxlanguagenamebritish{\protect\foreignlanguage{#1}{engels}}%3260 % \def\btxlanguagenamebulgarian{\protect\foreignlanguage{#1}{bulgarian}}%3261 \def\btxlanguagenamecanadian{\protect\foreignlanguage{#1}{engels}}%3262 % \def\btxlanguagenamecanadien{\protect\foreignlanguage{#1}{french}}%3263 % \def\btxlanguagenamecatalan{\protect\foreignlanguage{#1}{catalan}}%3264 % \def\btxlanguagenamecroatian{\protect\foreignlanguage{#1}{croatian}}%3265 % \def\btxlanguagenameczech{\protect\foreignlanguage{#1}{czech}}%3266 % \def\btxlanguagenamedanish{\protect\foreignlanguage{#1}{d\"anisch}}%3267 % \def\btxlanguagenamedutch{\protect\foreignlanguage{#1}{dutch}}%3268 \def\btxlanguagenameenglish{\protect\foreignlanguage{#1}{engels}}%3269 % \def\btxlanguagenameesperanto{\protect\foreignlanguage{#1}{esperanto}}%3270 % \def\btxlanguagenamefinnish{\protect\foreignlanguage{#1}{finnish}}%3271 % \def\btxlanguagenamefrancais{\protect\foreignlanguage{#1}{french}}%3272 % \def\btxlanguagenamefrench{\protect\foreignlanguage{#1}{french}}%3273 % \def\btxlanguagenamefrenchb{\protect\foreignlanguage{#1}{french}}%3274 % \def\btxlanguagenamegerman{\protect\foreignlanguage{#1}{german}}%3275 % \def\btxlanguagenamegermanb{\protect\foreignlanguage{#1}{german}}%3276 % \def\btxlanguagenamegreek{\protect\foreignlanguage{#1}{greek}}%

86

Page 87: Multilingual bibliographies: The babelbib package - CTAN

3277 % \def\btxlanguagenamehebrew{\protect\foreignlanguage{#1}{hebrew}}%3278 % \def\btxlanguagenamehungarian{\protect\foreignlanguage{#1}{hungarian}}%3279 % \def\btxlanguagenameicelandic{\protect\foreignlanguage{#1}{icelandic}}%3280 % \def\btxlanguagenameirish{\protect\foreignlanguage{#1}{irish}}%3281 % \def\btxlanguagenameitalian{\protect\foreignlanguage{#1}{italian}}%3282 % \def\btxlanguagenamelatin{\protect\foreignlanguage{#1}{latin}}%3283 % \def\btxlanguagenamenaustrian{\protect\foreignlanguage{#1}{german}}%3284 % \def\btxlanguagenamengerman{\protect\foreignlanguage{#1}{german}}%3285 % \def\btxlanguagenamenorsk{\protect\foreignlanguage{#1}{norwegian}}%3286 % \def\btxlanguagenamenynorsk{\protect\foreignlanguage{#1}{new-norwegian}}%3287 % \def\btxlanguagenamepolish{\protect\foreignlanguage{#1}{polish}}%3288 \def\btxlanguagenameportuges{\protect\foreignlanguage{#1}{portugees}}%3289 \def\btxlanguagenameportuguese{\protect\foreignlanguage{#1}{portugees}}%3290 % \def\btxlanguagenamerussian{\protect\foreignlanguage{#1}{russian}}%3291 % \def\btxlanguagenamescottish{\protect\foreignlanguage{#1}{scottish}}%3292 % \def\btxlanguagenameserbian{\protect\foreignlanguage{#1}{serbian}}%3293 % \def\btxlanguagenamespanish{\protect\foreignlanguage{#1}{spanish}}%3294 % \def\btxlanguagenameswedish{\protect\foreignlanguage{#1}{swedish}}%3295 % \def\btxlanguagenameturkish{\protect\foreignlanguage{#1}{turkish}}%3296 \def\btxlanguagenameUKenglish{\protect\foreignlanguage{#1}{engels}}%3297 \def\btxlanguagenameUSenglish{\protect\foreignlanguage{#1}{engels}}%3298 \fi3299 }

Append the definitions to the language-calling commands.3300 \AtBeginDocument{%3301 \ifbbbbfixlanguage3302 \else3303 \bbbbaddto{dutch}{bibsdutch}3304 \fi

Switch on the change of case in titles for all Dutch dialects by appending\btxifchangecaseoff to \extras〈language〉.

3305 \bbbbaddto{dutch}{btxifchangecaseoff}3306 }3307 〈/dutch〉

9.3.18 Swedish

3308 〈∗swedish〉

The language definition for Swedish was provided by Hans Fredrik Nordhaugand Erik Östhols.

\bibsswedish Bibliographic commands for Swedish.3309 \newcommand\bibsswedish[1][swedish]{%3310 \def\biblanguagename{#1}%3311 \def\btxetalshort##1{\protect\foreignlanguage{#1}{et~al##1{}}}%3312 \def\btxetallong##1{\protect\foreignlanguage{#1}{et~alii}}%3313 \def\btxandshort##1{\protect\foreignlanguage{#1}{och}}%3314 \def\btxandlong##1{\protect\foreignlanguage{#1}{och}}%

87

Page 88: Multilingual bibliographies: The babelbib package - CTAN

3315 \def\btxandcomma##1{}%3316 \def\btxinlong##1{\protect\foreignlanguage{#1}{i}}%3317 \def\btxinshort##1{\protect\foreignlanguage{#1}{i}}%3318 \def\btxofseriesshort##1{\protect\foreignlanguage{#1}{av}}%3319 \def\btxinseriesshort##1{\protect\foreignlanguage{#1}{i}}%3320 \def\btxofserieslong##1{\protect\foreignlanguage{#1}{av}}%3321 \def\btxinserieslong##1{\protect\foreignlanguage{#1}{i}}%3322 \def\btxeditorshort##1{\protect\foreignlanguage{#1}{red##1{}}}%3323 \def\btxeditorlong##1{\protect\foreignlanguage{#1}{redakt\"or}}%3324 \def\btxeditorsshort##1{\protect\foreignlanguage{#1}{red##1{}}}%3325 \def\btxeditorslong##1{\protect\foreignlanguage{#1}{redakt\"orer}}%3326 \def\btxvolumeshort##1{\protect\foreignlanguage{#1}{vol##1{}}}%3327 \def\btxvolumelong##1{\protect\foreignlanguage{#1}{volym}}%3328 \def\btxnumbershort##1{\protect\foreignlanguage{#1}{nr##1{}}}%3329 \def\btxnumberlong##1{\protect\foreignlanguage{#1}{nummer}}%3330 \def\btxeditionshort##1{\protect\foreignlanguage{#1}{utg}}%3331 \def\btxeditionlong##1{\protect\foreignlanguage{#1}{utg\aa va}}%3332 \def\btxeditionnumshort##1##2{\btxnumeralshort{##1}~\btxeditionshort{##2}}%3333 \def\btxeditionnumlong##1##2{\btxnumerallong{##1}~\btxeditionlong{##2}}%3334 \def\btxchaptershort##1{\protect\foreignlanguage{#1}{kap##1{}}}%3335 \def\btxchapterlong##1{\protect\foreignlanguage{#1}{kapitel}}%3336 \def\btxpageshort##1{\protect\foreignlanguage{#1}{ss##1{}}}%3337 \def\btxpagelong##1{\protect\foreignlanguage{#1}{sida}}%3338 \def\btxpagesshort##1{\protect\foreignlanguage{#1}{s##1{}}}%3339 \def\btxpageslong##1{\protect\foreignlanguage{#1}{sidor}}%3340 \def\btxmastthesis##1{\protect\foreignlanguage{#1}{examensarbete}}%3341 \def\btxphdthesis##1{\protect\foreignlanguage{#1}{doktorsavhandling}}%3342 \def\btxtechrepshort##1{\protect\foreignlanguage{#1}{Tekn.\ rapp##1{}}}%3343 \def\btxtechreplong##1{\protect\foreignlanguage{#1}{Teknisk rapport}}%3344 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{januari}}%3345 \def\btxmonfeblong##1{\protect\foreignlanguage{#1}{februari}}%3346 \def\btxmonmarlong##1{\protect\foreignlanguage{#1}{mars}}%3347 \def\btxmonaprlong##1{\protect\foreignlanguage{#1}{april}}%3348 \def\btxmonmaylong##1{\protect\foreignlanguage{#1}{maj}}%3349 \def\btxmonjunlong##1{\protect\foreignlanguage{#1}{juni}}%3350 \def\btxmonjullong##1{\protect\foreignlanguage{#1}{juli}}%3351 \def\btxmonauglong##1{\protect\foreignlanguage{#1}{augusti}}%3352 \def\btxmonseplong##1{\protect\foreignlanguage{#1}{september}}%3353 \def\btxmonoctlong##1{\protect\foreignlanguage{#1}{oktober}}%3354 \def\btxmonnovlong##1{\protect\foreignlanguage{#1}{november}}%3355 \def\btxmondeclong##1{\protect\foreignlanguage{#1}{december}}%3356 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{jan##1{}}}%3357 \def\btxmonfebshort##1{\protect\foreignlanguage{#1}{feb##1{}}}%3358 \def\btxmonmarshort##1{\protect\foreignlanguage{#1}{mar}}%3359 \def\btxmonaprshort##1{\protect\foreignlanguage{#1}{apr##1{}}}%3360 \def\btxmonmayshort##1{\protect\foreignlanguage{#1}{maj}}%3361 \def\btxmonjunshort##1{\protect\foreignlanguage{#1}{jun##1{}}}%3362 \def\btxmonjulshort##1{\protect\foreignlanguage{#1}{jul##1{}}}%3363 \def\btxmonaugshort##1{\protect\foreignlanguage{#1}{aug##1{}}}%3364 \def\btxmonsepshort##1{\protect\foreignlanguage{#1}{sep##1{}}}%

88

Page 89: Multilingual bibliographies: The babelbib package - CTAN

3365 \def\btxmonoctshort##1{\protect\foreignlanguage{#1}{okt##1{}}}%3366 \def\btxmonnovshort##1{\protect\foreignlanguage{#1}{nov##1{}}}%3367 \def\btxmondecshort##1{\protect\foreignlanguage{#1}{dec##1{}}}%3368 \def\Btxinlong##1{\protect\foreignlanguage{#1}{I}}%3369 \def\Btxinshort##1{\protect\foreignlanguage{#1}{I}}%3370 \def\Btxeditorshort##1{\protect\foreignlanguage{#1}{Red##1{}}}%3371 \def\Btxeditorlong##1{\protect\foreignlanguage{#1}{Redakt\"or}}%3372 \def\Btxeditorsshort##1{\protect\foreignlanguage{#1}{Red##1{}}}%3373 \def\Btxeditorslong##1{\protect\foreignlanguage{#1}{Redakt\"orer}}%3374 \def\Btxvolumeshort##1{\protect\foreignlanguage{#1}{Vol##1{}}}%3375 \def\Btxvolumelong##1{\protect\foreignlanguage{#1}{Volym}}%3376 \def\Btxnumbershort##1{\protect\foreignlanguage{#1}{Nr##1{}}}%3377 \def\Btxnumberlong##1{\protect\foreignlanguage{#1}{Nummer}}%3378 \def\Btxeditionshort##1{\protect\foreignlanguage{#1}{Utg}}%3379 \def\Btxeditionlong##1{\protect\foreignlanguage{#1}{Utg\aa va}}%3380 \def\Btxeditionnumshort##1##2{\btxnumeralshort{##1}~\Btxeditionshort{##2}}%3381 \def\Btxeditionnumlong##1##2{\btxnumerallong{##1}~\Btxeditionlong{##2}}%3382 \def\Btxchaptershort##1{\protect\foreignlanguage{#1}{Kap##1{}}}%3383 \def\Btxchapterlong##1{\protect\foreignlanguage{#1}{Kapitel}}%3384 \def\Btxpageshort##1{\protect\foreignlanguage{#1}{S##1{}}}%3385 \def\Btxpagelong##1{\protect\foreignlanguage{#1}{Sida}}%3386 \def\Btxpagesshort##1{\protect\foreignlanguage{#1}{Ss##1{}}}%3387 \def\Btxpageslong##1{\protect\foreignlanguage{#1}{Sida}}%3388 \def\Btxtechrepshort##1{\protect\foreignlanguage{#1}{Tekn.\ Rapp##1{}}}%3389 \def\Btxtechreplong##1{\protect\foreignlanguage{#1}{Teknisk Rapport}}%3390 \def\btxurldatecomment##1{\protect\foreignlanguage{#1}{, nedladdad ##1}}%3391 \def\btxfnamespaceshort{\,}%3392 \def\btxfnamespacelong{ }%3393 \def\btxnumeralshort#1{\btxnumeralswedish{swedish}{#1}}%3394 \def\btxnumerallong##1{\btxnumeralfallback{#1}{##1}}%3395 \def\btxnumerallong##1{%3396 \ifnumber{##1}{%3397 \ifcase##1 0:e\or f\"orsta\or andra\or tredje\or fj\"arde\or femte\or3398 sj\"atte\or sjunde\or {\aa}ttonde\or nionde\or tionde\else3399 \btxnumeralswedish{swedish}{##1}%3400 \fi}{##1}%3401 }%

Define how to print month and year in numeric format, e. g. MM/YYYY.3402 \def\btxprintmonthyearnum##1##2{##1~##2}%3403 \def\btxkeywordlanguage##1{{\protect\selectlanguage{#1}##1}}%3404 \ifbbbblanguagenames3405 \def\btxlanguagenameamerican{\protect\foreignlanguage{#1}{engelska}}%3406 \def\btxlanguagenameaustrian{\protect\foreignlanguage{#1}{tyska}}%3407 \def\btxlanguagenamebrazil{\protect\foreignlanguage{#1}{portugisiska}}%3408 \def\btxlanguagenamebrazilian{\protect\foreignlanguage{#1}{portugisiska}}%3409 \def\btxlanguagenamebritish{\protect\foreignlanguage{#1}{engelska}}%3410 \def\btxlanguagenamebulgarian{\protect\foreignlanguage{#1}{bulgariska}}%3411 \def\btxlanguagenamecanadian{\protect\foreignlanguage{#1}{engelska}}%3412 \def\btxlanguagenamecanadien{\protect\foreignlanguage{#1}{franska}}%

89

Page 90: Multilingual bibliographies: The babelbib package - CTAN

3413 \def\btxlanguagenamecatalan{\protect\foreignlanguage{#1}{katalanska}}%3414 \def\btxlanguagenamecroatian{\protect\foreignlanguage{#1}{kroatiska}}%3415 \def\btxlanguagenameczech{\protect\foreignlanguage{#1}{tjeckiska}}%3416 \def\btxlanguagenamedanish{\protect\foreignlanguage{#1}{danska}}%3417 \def\btxlanguagenamedutch{\protect\foreignlanguage{#1}{nederl\"andska}}%3418 \def\btxlanguagenameenglish{\protect\foreignlanguage{#1}{engelska}}%3419 \def\btxlanguagenameesperanto{\protect\foreignlanguage{#1}{esperanto}}%3420 \def\btxlanguagenamefinnish{\protect\foreignlanguage{#1}{finska}}%3421 \def\btxlanguagenamefrancais{\protect\foreignlanguage{#1}{franska}}%3422 \def\btxlanguagenamefrench{\protect\foreignlanguage{#1}{franska}}%3423 \def\btxlanguagenamefrenchb{\protect\foreignlanguage{#1}{franska}}%3424 \def\btxlanguagenamegerman{\protect\foreignlanguage{#1}{tyska}}%3425 \def\btxlanguagenamegermanb{\protect\foreignlanguage{#1}{tyska}}%3426 \def\btxlanguagenamegreek{\protect\foreignlanguage{#1}{grekiska}}%3427 \def\btxlanguagenamehebrew{\protect\foreignlanguage{#1}{hebreiska}}%3428 \def\btxlanguagenamehungarian{\protect\foreignlanguage{#1}{ungerska}}%3429 \def\btxlanguagenameicelandic{\protect\foreignlanguage{#1}{isl\"andska}}%3430 \def\btxlanguagenameirish{\protect\foreignlanguage{#1}{iriska}}%3431 \def\btxlanguagenameitalian{\protect\foreignlanguage{#1}{italienska}}%3432 \def\btxlanguagenamelatin{\protect\foreignlanguage{#1}{latin}}%3433 \def\btxlanguagenamenaustrian{\protect\foreignlanguage{#1}{tyska}}%3434 \def\btxlanguagenamengerman{\protect\foreignlanguage{#1}{tyska}}%3435 \def\btxlanguagenamenorsk{\protect\foreignlanguage{#1}{norska}}%3436 \def\btxlanguagenamenynorsk{\protect\foreignlanguage{#1}{nynorska}}%3437 \def\btxlanguagenamepolish{\protect\foreignlanguage{#1}{polska}}%3438 \def\btxlanguagenameportuges{\protect\foreignlanguage{#1}{portugisiska}}%3439 \def\btxlanguagenameportuguese{\protect\foreignlanguage{#1}{portugisiska}}%3440 \def\btxlanguagenamerussian{\protect\foreignlanguage{#1}{ryska}}%3441 \def\btxlanguagenamescottish{\protect\foreignlanguage{#1}{skotska}}%3442 \def\btxlanguagenameserbian{\protect\foreignlanguage{#1}{serbiska}}%3443 \def\btxlanguagenamespanish{\protect\foreignlanguage{#1}{spanska}}%3444 \def\btxlanguagenameswedish{\protect\foreignlanguage{#1}{svenska}}%3445 \def\btxlanguagenameturkish{\protect\foreignlanguage{#1}{turkiska}}%3446 \def\btxlanguagenameUKenglish{\protect\foreignlanguage{#1}{engelska}}%3447 \def\btxlanguagenameUSenglish{\protect\foreignlanguage{#1}{engelska}}%3448 \fi3449 }

Append the definitions to the language-calling commands.3450 \AtBeginDocument{%3451 \ifbbbbfixlanguage3452 \else3453 \bbbbaddto{swedish}{bibsswedish}3454 \fi

Switch on the change of case in titles for all Swedish dialects by appending\btxifchangecaseoff to \extras〈language〉.

3455 \bbbbaddto{swedish}{btxifchangecaseoff}3456 }3457 〈/swedish〉

90

Page 91: Multilingual bibliographies: The babelbib package - CTAN

9.3.19 Afrikaans

3458 〈∗afrikaans〉

The language definition for Afrikaans was provided by Danie Els.\bibsafrikaans Bibliographic commands for Afrikaans.

3459 \newcommand\bibsafrikaans[1][afrikaans]{%3460 \def\biblanguagename{#1}%3461 \def\btxetalshort##1{\protect\foreignlanguage{#1}{et~al##1{}}}%3462 \def\btxetallong##1{\protect\foreignlanguage{#1}{et~alii}}%3463 \def\btxandshort##1{\protect\foreignlanguage{#1}{en}}%3464 \def\btxandlong##1{\protect\foreignlanguage{#1}{en}}%3465 \def\btxandcomma##1{\protect\foreignlanguage{#1}{}}%3466 \def\btxinlong##1{\protect\foreignlanguage{#1}{in}}%3467 \def\btxinshort##1{\protect\foreignlanguage{#1}{in}}%3468 \def\btxofseriesshort##1{\protect\foreignlanguage{#1}{van}}%3469 \def\btxinseriesshort##1{\protect\foreignlanguage{#1}{in}}%3470 \def\btxofserieslong##1{\protect\foreignlanguage{#1}{van}}%3471 \def\btxinserieslong##1{\protect\foreignlanguage{#1}{in}}%3472 \def\btxeditorshort##1{\protect\foreignlanguage{#1}{red##1{}}}%3473 \def\btxeditorlong##1{\protect\foreignlanguage{#1}{redakteur}}%3474 \def\btxeditorsshort##1{\protect\foreignlanguage{#1}{reds##1{}}}%3475 \def\btxeditorslong##1{\protect\foreignlanguage{#1}{redakteurs}}%3476 \def\btxvolumeshort##1{\protect\foreignlanguage{#1}{vol##1{}}}%3477 \def\btxvolumelong##1{\protect\foreignlanguage{#1}{volume}}%3478 \def\btxnumbershort##1{\protect\foreignlanguage{#1}{no##1{}}}%3479 \def\btxnumberlong##1{\protect\foreignlanguage{#1}{nommer}}%3480 \def\btxeditionshort##1{\protect\foreignlanguage{#1}{uitg##1{}}}%3481 \def\btxeditionlong##1{\protect\foreignlanguage{#1}{uitgawe}}%3482 \def\btxeditionnumshort##1##2{\btxnumeralshort{##1}~\btxeditionshort{##2}}%3483 \def\btxeditionnumlong##1##2{\btxnumerallong{##1}~\btxeditionlong{##2}}%3484 \def\btxchaptershort##1{\protect\foreignlanguage{#1}{hfst##1{}}}%3485 \def\btxchapterlong##1{\protect\foreignlanguage{#1}{hoofstuk}}%3486 \def\btxpageshort##1{\protect\foreignlanguage{#1}{p##1{}}}%3487 \def\btxpagelong##1{\protect\foreignlanguage{#1}{bladsy}}%3488 \def\btxpagesshort##1{\protect\foreignlanguage{#1}{pp##1{}}}%3489 \def\btxpageslong##1{\protect\foreignlanguage{#1}{bladsye}}%3490 \def\btxmastthesis##1{\protect\foreignlanguage{#1}{Meesters tesis}}%3491 \def\btxphdthesis##1{\protect\foreignlanguage{#1}{PhD verhandeling}}%3492 \def\btxtechrepshort##1{\protect\foreignlanguage{#1}{Tegn.\ versl##1{}}}%3493 \def\btxtechreplong##1{\protect\foreignlanguage{#1}{Tegniese verslag}}%3494 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{Januarie}}%3495 \def\btxmonfeblong##1{\protect\foreignlanguage{#1}{Februarie}}%3496 \def\btxmonmarlong##1{\protect\foreignlanguage{#1}{Maart}}%3497 \def\btxmonaprlong##1{\protect\foreignlanguage{#1}{April}}%3498 \def\btxmonmaylong##1{\protect\foreignlanguage{#1}{Mei}}%3499 \def\btxmonjunlong##1{\protect\foreignlanguage{#1}{Junie}}%3500 \def\btxmonjullong##1{\protect\foreignlanguage{#1}{Julie}}%3501 \def\btxmonauglong##1{\protect\foreignlanguage{#1}{Augustus}}%3502 \def\btxmonseplong##1{\protect\foreignlanguage{#1}{September}}%

91

Page 92: Multilingual bibliographies: The babelbib package - CTAN

3503 \def\btxmonoctlong##1{\protect\foreignlanguage{#1}{Oktober}}%3504 \def\btxmonnovlong##1{\protect\foreignlanguage{#1}{November}}%3505 \def\btxmondeclong##1{\protect\foreignlanguage{#1}{Desember}}%3506 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{Jan##1{}}}%3507 \def\btxmonfebshort##1{\protect\foreignlanguage{#1}{Feb##1{}}}%3508 \def\btxmonmarshort##1{\protect\foreignlanguage{#1}{Mrt##1{}}}%3509 \def\btxmonaprshort##1{\protect\foreignlanguage{#1}{Apr##1{}}}%3510 \def\btxmonmayshort##1{\protect\foreignlanguage{#1}{Mei##1}}%3511 \def\btxmonjunshort##1{\protect\foreignlanguage{#1}{Jun##1}}%3512 \def\btxmonjulshort##1{\protect\foreignlanguage{#1}{Jul##1}}%3513 \def\btxmonaugshort##1{\protect\foreignlanguage{#1}{Aug##1{}}}%3514 \def\btxmonsepshort##1{\protect\foreignlanguage{#1}{Sep##1{}}}%3515 \def\btxmonoctshort##1{\protect\foreignlanguage{#1}{Okt##1{}}}%3516 \def\btxmonnovshort##1{\protect\foreignlanguage{#1}{Nov##1{}}}%3517 \def\btxmondecshort##1{\protect\foreignlanguage{#1}{Des##1{}}}%3518 \def\Btxinlong##1{\protect\foreignlanguage{#1}{In}}%3519 \def\Btxinshort##1{\protect\foreignlanguage{#1}{In}}%3520 \def\Btxeditorshort##1{\protect\foreignlanguage{#1}{Red##1{}}}%3521 \def\Btxeditorlong##1{\protect\foreignlanguage{#1}{Redakteur}}%3522 \def\Btxeditorsshort##1{\protect\foreignlanguage{#1}{Reds##1{}}}%3523 \def\Btxeditorslong##1{\protect\foreignlanguage{#1}{Redakteurs}}%3524 \def\Btxvolumeshort##1{\protect\foreignlanguage{#1}{Vol##1{}}}%3525 \def\Btxvolumelong##1{\protect\foreignlanguage{#1}{Volume}}%3526 \def\Btxnumbershort##1{\protect\foreignlanguage{#1}{No##1{}}}%3527 \def\Btxnumberlong##1{\protect\foreignlanguage{#1}{Nommer}}%3528 \def\Btxeditionshort##1{\protect\foreignlanguage{#1}{Uitg##1{}}}%3529 \def\Btxeditionlong##1{\protect\foreignlanguage{#1}{Uitgawe}}%3530 \def\Btxeditionnumshort##1##2{\btxnumeralshort{##1}~\Btxeditionshort{##2}}%3531 \def\Btxeditionnumlong##1##2{\btxnumerallong{##1}~\Btxeditionlong{##2}}%3532 \def\Btxchaptershort##1{\protect\foreignlanguage{#1}{Hfst##1{}}}%3533 \def\Btxchapterlong##1{\protect\foreignlanguage{#1}{Hoofstuk}}%3534 \def\Btxpageshort##1{\protect\foreignlanguage{#1}{P##1{}}}%3535 \def\Btxpagelong##1{\protect\foreignlanguage{#1}{Bladsy}}%3536 \def\Btxpagesshort##1{\protect\foreignlanguage{#1}{Pp##1{}}}%3537 \def\Btxpageslong##1{\protect\foreignlanguage{#1}{Bladsye}}%3538 \def\Btxtechrepshort##1{\protect\foreignlanguage{#1}{Tegn.\ Verslag}}%3539 \def\Btxtechreplong##1{\protect\foreignlanguage{#1}{Tegniese Verslag}}%3540 % \def\btxurldatecomment##1{\protect\foreignlanguage{#1}{, ?? ##1}}%3541 \def\btxurldatecomment##1{\PackageError{babelbib}{Comment for3542 urldate in Afrikaans undefined. Please send the translation for3543 ’visited on’ to [email protected]}{} [##1]}%3544 \def\btxfnamespaceshort{\,}%3545 \def\btxfnamespacelong{ }%3546 \def\btxnumeralshort##1{\btxnumeralfallback{#1}{##1}}%3547 \def\btxnumerallong##1{\btxnumeralfallback{#1}{##1}}%

Define how to print month and year in numeric format, e. g. MM/YYYY.3548 \def\btxprintmonthyearnum##1##2{##1/##2}%3549 \def\btxkeywordlanguage##1{{\protect\selectlanguage{#1}##1}}%3550 \ifbbbblanguagenames

92

Page 93: Multilingual bibliographies: The babelbib package - CTAN

3551 \def\btxlanguagenameafrikaans{\protect\foreignlanguage{#1}{afrikaans}}%3552 \def\btxlanguagenameamerican{\protect\foreignlanguage{#1}{engels}}%3553 \def\btxlanguagenameaustrian{\protect\foreignlanguage{#1}{duits}}%3554 \def\btxlanguagenamebrazil{\protect\foreignlanguage{#1}{portugees}}%3555 \def\btxlanguagenamebrazilian{\protect\foreignlanguage{#1}{portugees}}%3556 \def\btxlanguagenamebritish{\protect\foreignlanguage{#1}{engels}}%3557 \def\btxlanguagenamebulgarian{\protect\foreignlanguage{#1}{bulgaars}}%3558 \def\btxlanguagenamecanadian{\protect\foreignlanguage{#1}{engels}}%3559 \def\btxlanguagenamecanadien{\protect\foreignlanguage{#1}{frans}}%3560 \def\btxlanguagenamecatalan{\protect\foreignlanguage{#1}{katalaans}}%3561 \def\btxlanguagenamecroatian{\protect\foreignlanguage{#1}{kroaties}}%3562 \def\btxlanguagenameczech{\protect\foreignlanguage{#1}{tsjeggies}}%3563 \def\btxlanguagenamedanish{\protect\foreignlanguage{#1}{deens}}%3564 \def\btxlanguagenamedutch{\protect\foreignlanguage{#1}{nederlands}}%3565 \def\btxlanguagenameenglish{\protect\foreignlanguage{#1}{engels}}%3566 \def\btxlanguagenameesperanto{\protect\foreignlanguage{#1}{esperanto}}%3567 \def\btxlanguagenamefinnish{\protect\foreignlanguage{#1}{fins}}%3568 \def\btxlanguagenamefrancais{\protect\foreignlanguage{#1}{frans}}%3569 \def\btxlanguagenamefrench{\protect\foreignlanguage{#1}{frans}}%3570 \def\btxlanguagenamefrenchb{\protect\foreignlanguage{#1}{frans}}%3571 \def\btxlanguagenamegerman{\protect\foreignlanguage{#1}{duits}}%3572 \def\btxlanguagenamegermanb{\protect\foreignlanguage{#1}{duits}}%3573 \def\btxlanguagenamegreek{\protect\foreignlanguage{#1}{grieks}}%3574 \def\btxlanguagenamehebrew{\protect\foreignlanguage{#1}{hebreeus}}%3575 \def\btxlanguagenamenhungarian{\protect\foreignlanguage{#1}{hongaars}}%3576 \def\btxlanguagenamenicelandic{\protect\foreignlanguage{#1}{yslands}}%3577 \def\btxlanguagenamenirish{\protect\foreignlanguage{#1}{iers}}%3578 \def\btxlanguagenamenitalian{\protect\foreignlanguage{#1}{italiaans}}%3579 \def\btxlanguagenamenlatin{\protect\foreignlanguage{#1}{latyn}}%3580 \def\btxlanguagenamenaustrian{\protect\foreignlanguage{#1}{duits}}%3581 \def\btxlanguagenamengerman{\protect\foreignlanguage{#1}{duits}}%3582 \def\btxlanguagenamennorsk{\protect\foreignlanguage{#1}{noors}}%3583 \def\btxlanguagenamennynorsk{\protect\foreignlanguage{#1}{neo-noors}}%3584 \def\btxlanguagenamenpolish{\protect\foreignlanguage{#1}{pools}}%3585 \def\btxlanguagenamenportuges{\protect\foreignlanguage{#1}{portugees}}%3586 \def\btxlanguagenamenportuguese{\protect\foreignlanguage{#1}{portugees}}%3587 \def\btxlanguagenamenrussian{\protect\foreignlanguage{#1}{russies}}%3588 \def\btxlanguagenamenscottish{\protect\foreignlanguage{#1}{skots}}%3589 \def\btxlanguagenamenserbian{\protect\foreignlanguage{#1}{serwies}}%3590 \def\btxlanguagenamenspanish{\protect\foreignlanguage{#1}{spaans}}%3591 \def\btxlanguagenamenswedish{\protect\foreignlanguage{#1}{sweeds}}%3592 \def\btxlanguagenamenturkish{\protect\foreignlanguage{#1}{turks}}%3593 \def\btxlanguagenameUKenglish{\protect\foreignlanguage{#1}{engels}}%3594 \def\btxlanguagenameUSenglish{\protect\foreignlanguage{#1}{engels}}%3595 \fi3596 }

Append the definitions to the language-calling commands.3597 \AtBeginDocument{%3598 \ifbbbbfixlanguage

93

Page 94: Multilingual bibliographies: The babelbib package - CTAN

3599 \else3600 \bbbbaddto{afrikaans}{bibsafrikaans}3601 \fi

Switch on the change of case in titles for all Afrikaans dialects by appending\btxifchangecaseoff to \extras〈language〉.

3602 \bbbbaddto{afrikaans}{btxifchangecaseoff}3603 }3604 〈/afrikaans〉

9.3.20 Bahasa

3605 〈∗bahasa〉

The language definition for Bahasa was provided by Yanti Yulianti.\bibsbahasa Bibliographic commands for Bahasa.

3606 \newcommand\bibsbahasa[1][bahasa]{%3607 \def\biblanguagename{#1}%3608 \def\btxetalshort##1{\protect\foreignlanguage{#1}{et~al##1{}}}%3609 \def\btxetallong##1{\protect\foreignlanguage{#1}{en~alii }}%3610 \def\btxandshort##1{\protect\foreignlanguage{#1}{dan}}%3611 \def\btxandlong##1{\protect\foreignlanguage{#1}{dan}}%3612 \def\btxandcomma##1{,}%3613 \def\btxinlong##1{\protect\foreignlanguage{#1}{dalam}}%3614 \def\btxinshort##1{\protect\foreignlanguage{#1}{dalam}}%3615 \def\btxofseriesshort##1{\protect\foreignlanguage{#1}{dari}}%3616 \def\btxinseriesshort##1{\protect\foreignlanguage{#1}{dalam}}%3617 \def\btxofserieslong##1{\protect\foreignlanguage{#1}{dari}}%3618 \def\btxinserieslong##1{\protect\foreignlanguage{#1}{dalam}}%3619 \def\btxeditorshort##1{\protect\foreignlanguage{#1}{red##1{}}}%3620 \def\btxeditorlong##1{\protect\foreignlanguage{#1}{redaktur}}%3621 \def\btxeditorsshort##1{\protect\foreignlanguage{#1}{red##1{}}}%3622 \def\btxeditorslong##1{\protect\foreignlanguage{#1}{redaktur}}%3623 \def\btxvolumeshort##1{\protect\foreignlanguage{#1}{vol##1{}}}%3624 \def\btxvolumelong##1{\protect\foreignlanguage{#1}{volume}}%3625 \def\btxnumbershort##1{\protect\foreignlanguage{#1}{nr##1{}}}%3626 \def\btxnumberlong##1{\protect\foreignlanguage{#1}{nomor}}%3627 \def\btxeditionshort##1{\protect\foreignlanguage{#1}{edisi}}%3628 \def\btxeditionlong##1{\protect\foreignlanguage{#1}{edisi}}%3629 \def\btxeditionnumshort##1##2{\btxnumeralshort{##1}~\btxeditionshort{##2}}%3630 \def\btxeditionnumlong##1##2{\btxnumerallong{##1}~\btxeditionlong{##2}}%3631 \def\btxchaptershort##1{\protect\foreignlanguage{#1}{bab##1{}}}%3632 \def\btxchapterlong##1{\protect\foreignlanguage{#1}{bab}}%3633 \def\btxpageshort##1{\protect\foreignlanguage{#1}{hal##1{}}}%3634 \def\btxpagelong##1{\protect\foreignlanguage{#1}{halaman}}%3635 \def\btxpagesshort##1{\protect\foreignlanguage{#1}{hal##1{}}}%3636 \def\btxpageslong##1{\protect\foreignlanguage{#1}{halaman}}%3637 \def\btxmastthesis##1{\protect\foreignlanguage{#1}{tesis Master}}%3638 \def\btxphdthesis##1{\protect\foreignlanguage{#1}{disertasi Dokotor}}%3639 \def\btxtechrepshort##1{\protect\foreignlanguage{#1}{Lap.\ Rapp##1{}}}%

94

Page 95: Multilingual bibliographies: The babelbib package - CTAN

3640 \def\btxtechreplong##1{\protect\foreignlanguage{#1}{Laporan}}%3641 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{Januari}}%3642 \def\btxmonfeblong##1{\protect\foreignlanguage{#1}{Februari}}%3643 \def\btxmonmarlong##1{\protect\foreignlanguage{#1}{Maret}}%3644 \def\btxmonaprlong##1{\protect\foreignlanguage{#1}{April}}%3645 \def\btxmonmaylong##1{\protect\foreignlanguage{#1}{Mei}}%3646 \def\btxmonjunlong##1{\protect\foreignlanguage{#1}{Juni}}%3647 \def\btxmonjullong##1{\protect\foreignlanguage{#1}{Juli}}%3648 \def\btxmonauglong##1{\protect\foreignlanguage{#1}{Augustus}}%3649 \def\btxmonseplong##1{\protect\foreignlanguage{#1}{September}}%3650 \def\btxmonoctlong##1{\protect\foreignlanguage{#1}{Oktober}}%3651 \def\btxmonnovlong##1{\protect\foreignlanguage{#1}{November}}%3652 \def\btxmondeclong##1{\protect\foreignlanguage{#1}{Desember}}%3653 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{Jan##1{}}}%3654 \def\btxmonfebshort##1{\protect\foreignlanguage{#1}{Feb##1{}}}%3655 \def\btxmonmarshort##1{\protect\foreignlanguage{#1}{Mrt}}%3656 \def\btxmonaprshort##1{\protect\foreignlanguage{#1}{Apr##1{}}}%3657 \def\btxmonmayshort##1{\protect\foreignlanguage{#1}{Mei}}%3658 \def\btxmonjunshort##1{\protect\foreignlanguage{#1}{Jun##1{}}}%3659 \def\btxmonjulshort##1{\protect\foreignlanguage{#1}{Jul##1{}}}%3660 \def\btxmonaugshort##1{\protect\foreignlanguage{#1}{Aug##1{}}}%3661 \def\btxmonsepshort##1{\protect\foreignlanguage{#1}{Sep##1{}}}%3662 \def\btxmonoctshort##1{\protect\foreignlanguage{#1}{Okt##1{}}}%3663 \def\btxmonnovshort##1{\protect\foreignlanguage{#1}{Nov##1{}}}%3664 \def\btxmondecshort##1{\protect\foreignlanguage{#1}{Des##1{}}}%3665 \def\Btxinlong##1{\protect\foreignlanguage{#1}{Dalam}}%3666 \def\Btxinshort##1{\protect\foreignlanguage{#1}{Dalam}}%3667 \def\Btxeditorshort##1{\protect\foreignlanguage{#1}{Red##1{}}}%3668 \def\Btxeditorlong##1{\protect\foreignlanguage{#1}{Redaktur}}%3669 \def\Btxeditorsshort##1{\protect\foreignlanguage{#1}{Red##1{}}}%3670 \def\Btxeditorslong##1{\protect\foreignlanguage{#1}{Redaktur}}%3671 \def\Btxvolumeshort##1{\protect\foreignlanguage{#1}{Vol##1{}}}%3672 \def\Btxvolumelong##1{\protect\foreignlanguage{#1}{Volume}}%3673 \def\Btxnumbershort##1{\protect\foreignlanguage{#1}{Nr##1{}}}%3674 \def\Btxnumberlong##1{\protect\foreignlanguage{#1}{Nomor}}%3675 \def\Btxeditionshort##1{\protect\foreignlanguage{#1}{Ed}}%3676 \def\Btxeditionlong##1{\protect\foreignlanguage{#1}{Edisi}}%3677 \def\Btxeditionnumshort##1##2{\btxnumeralshort{##1}~\Btxeditionshort{##2}}%3678 \def\Btxeditionnumlong##1##2{\btxnumerallong{##1}~\Btxeditionlong{##2}}%3679 \def\Btxchaptershort##1{\protect\foreignlanguage{#1}{Bab##1{}}}%3680 \def\Btxchapterlong##1{\protect\foreignlanguage{#1}{Bab}}%3681 \def\Btxpageshort##1{\protect\foreignlanguage{#1}{Hal##1{}}}%3682 \def\Btxpagelong##1{\protect\foreignlanguage{#1}{Halaman}}%3683 \def\Btxpagesshort##1{\protect\foreignlanguage{#1}{Hal##1{}}}%3684 \def\Btxpageslong##1{\protect\foreignlanguage{#1}{Halaman}}%3685 \def\Btxtechrepshort##1{\protect\foreignlanguage{#1}{Lap.\ Rapp##1{}}}%3686 \def\Btxtechreplong##1{\protect\foreignlanguage{#1}{Laporan}}%3687 \def\btxurldatecomment##1{\protect\foreignlanguage{#1}{%3688 , diambil tanggal ##1}}%3689 \def\btxfnamespaceshort{\,}%

95

Page 96: Multilingual bibliographies: The babelbib package - CTAN

3690 \def\btxfnamespacelong{ }%3691 \def\btxnumeralshort##1{\btxnumeralfallback{#1}{##1}}%3692 \def\btxnumerallong##1{\btxnumeralfallback{#1}{##1}}%

Define how to print month and year in numeric format, e. g. MM/YYYY.3693 \def\btxprintmonthyearnum##1##2{##1/##2}%3694 \def\btxkeywordlanguage##1{{\protect\selectlanguage{#1}##1}}%3695 \ifbbbblanguagenames3696 \def\btxlanguagenameamerican{\protect\foreignlanguage{#1}{inggris}}%3697 \def\btxlanguagenameaustrian{\protect\foreignlanguage{#1}{jerman}}%3698 \def\btxlanguagenamebrazil{\protect\foreignlanguage{#1}{portugis}}%3699 \def\btxlanguagenamebrazilian{\protect\foreignlanguage{#1}{portugis}}%3700 \def\btxlanguagenamebritish{\protect\foreignlanguage{#1}{inggris}}%3701 \def\btxlanguagenamebulgarian{\protect\foreignlanguage{#1}{bulgaria}}%3702 \def\btxlanguagenamecanadian{\protect\foreignlanguage{#1}{inggris}}%3703 \def\btxlanguagenamecanadien{\protect\foreignlanguage{#1}{prancis}}%3704 \def\btxlanguagenamecatalan{\protect\foreignlanguage{#1}{catalanya}}%3705 \def\btxlanguagenamecroatian{\protect\foreignlanguage{#1}{kroasia}}%3706 \def\btxlanguagenameczech{\protect\foreignlanguage{#1}{ceko}}%3707 \def\btxlanguagenamedanish{\protect\foreignlanguage{#1}{denmark}}%3708 \def\btxlanguagenamedutch{\protect\foreignlanguage{#1}{belanda}}%3709 \def\btxlanguagenameenglish{\protect\foreignlanguage{#1}{inggris}}%3710 \def\btxlanguagenameesperanto{\protect\foreignlanguage{#1}{spanyol}}%3711 \def\btxlanguagenamefinnish{\protect\foreignlanguage{#1}{finlandia}}%3712 \def\btxlanguagenamefrancais{\protect\foreignlanguage{#1}{prancis}}%3713 \def\btxlanguagenamefrench{\protect\foreignlanguage{#1}{prancis}}%3714 \def\btxlanguagenamefrenchb{\protect\foreignlanguage{#1}{prancis}}%3715 \def\btxlanguagenamegerman{\protect\foreignlanguage{#1}{jerman}}%3716 \def\btxlanguagenamegermanb{\protect\foreignlanguage{#1}{jerman}}%3717 \def\btxlanguagenamegreek{\protect\foreignlanguage{#1}{yunani}}%3718 \def\btxlanguagenamehebrew{\protect\foreignlanguage{#1}{yahudi}}%3719 \def\btxlanguagenamehungarian{\protect\foreignlanguage{#1}{hungaria}}%3720 \def\btxlanguagenameicelandic{\protect\foreignlanguage{#1}{islandia}}%3721 \def\btxlanguagenameirish{\protect\foreignlanguage{#1}{irlandia}}%3722 \def\btxlanguagenameitalian{\protect\foreignlanguage{#1}{italia}}%3723 \def\btxlanguagenamelatin{\protect\foreignlanguage{#1}{latin}}%3724 \def\btxlanguagenamenaustrian{\protect\foreignlanguage{#1}{jerman}}%3725 % \def\btxlanguagenamengerman{\protect\foreignlanguage{#1}{jerman}}%3726 % \def\btxlanguagenamenorsk{\protect\foreignlanguage{#1}{norwegia}}%3727 % \def\btxlanguagenamenynorsk{\protect\foreignlanguage{#1}{norwegia baru}}%3728 % \def\btxlanguagenamepolish{\protect\foreignlanguage{#1}{polish}}%3729 \def\btxlanguagenameportuges{\protect\foreignlanguage{#1}{portugis}}%3730 \def\btxlanguagenameportuguese{\protect\foreignlanguage{#1}{portugis}}%3731 \def\btxlanguagenamerussian{\protect\foreignlanguage{#1}{russia}}%3732 \def\btxlanguagenamescottish{\protect\foreignlanguage{#1}{skotlandia}}%3733 \def\btxlanguagenameserbian{\protect\foreignlanguage{#1}{serbia}}%3734 \def\btxlanguagenamespanish{\protect\foreignlanguage{#1}{spanyol}}%3735 \def\btxlanguagenameswedish{\protect\foreignlanguage{#1}{swedia}}%3736 \def\btxlanguagenameturkish{\protect\foreignlanguage{#1}{turki}}%3737 \def\btxlanguagenameUKenglish{\protect\foreignlanguage{#1}{inggris}}%

96

Page 97: Multilingual bibliographies: The babelbib package - CTAN

3738 \def\btxlanguagenameUSenglish{\protect\foreignlanguage{#1}{inggris}}%3739 \fi3740 }

Append the definitions to the language-calling commands.3741 \AtBeginDocument{%3742 \ifbbbbfixlanguage3743 \else3744 \bbbbaddto{bahasa}{bibsbahasa}3745 \fi3746 \bbbbaddto{bahasa}{btxifchangecaseoff}3747 }3748 〈/bahasa〉

9.3.21 Catalan

3749 〈∗catalan〉

The language definition for Catalan was provided by Robert Fuster, [email protected].\bibsafrikaans

3750 \newcommand\bibscatalan[1][catalan]{%3751 \def\biblanguagename{#1}%3752 \def\btxetalshort##1{\protect\foreignlanguage{#1}{i~al##1{}}}%3753 \def\btxetallong##1{\protect\foreignlanguage{#1}{i~altres}}%3754 \def\btxandshort##1{\protect\foreignlanguage{#1}{i}}%3755 \def\btxandlong##1{\protect\foreignlanguage{#1}{i}}%3756 \def\btxandcomma##1{}%3757 \def\btxinlong##1{\protect\foreignlanguage{#1}{dins}}%3758 \def\btxinshort##1{\protect\foreignlanguage{#1}{dins}}%3759 \def\btxinseriesshort##1{\protect\foreignlanguage{#1}{dins}}%3760 \def\btxofserieslong##1{\protect\foreignlanguage{#1}{de}}%3761 \def\btxinserieslong##1{\protect\foreignlanguage{#1}{dins}}%3762 \def\btxeditorshort##1{\protect\foreignlanguage{#1}{ed##1{}}}%3763 \def\btxeditorlong##1{\protect\foreignlanguage{#1}{editor}}%3764 \def\btxeditorsshort##1{\protect\foreignlanguage{#1}{eds##1{}}}%3765 \def\btxeditorslong##1{\protect\foreignlanguage{#1}{editors}}%3766 \def\btxvolumeshort##1{\protect\foreignlanguage{#1}{vol##1{}}}%3767 \def\btxvolumelong##1{\protect\foreignlanguage{#1}{volum}}%3768 \def\btxnumbershort##1{\protect\foreignlanguage{#1}{n}}%3769 \def\btxnumberlong##1{\protect\foreignlanguage{#1}{n\’umero}}%3770 \def\btxeditionshort##1{\protect\foreignlanguage{#1}{ed##1{}}}%3771 \def\btxeditionlong##1{\protect\foreignlanguage{#1}{edici{\’o}}}%3772 \def\btxeditionnumshort##1##2{\btxnumeralshort{##1}~\btxeditionshort{##2}}%3773 \def\btxeditionnumlong##1##2{\btxnumerallong{##1}~\btxeditionlong{##2}}%3774 \def\btxchaptershort##1{\protect\foreignlanguage{#1}{cap##1{}}}%3775 \def\btxchapterlong##1{\protect\foreignlanguage{#1}{cap{\’\i}tol}}%3776 \def\btxpageshort##1{\protect\foreignlanguage{#1}{p##1{}}}%3777 \def\btxpagelong##1{\protect\foreignlanguage{#1}{p\‘agina}}%3778 \def\btxpagesshort##1{\protect\foreignlanguage{#1}{ps##1{}}}%3779 \def\btxpageslong##1{\protect\foreignlanguage{#1}{p\‘agines}}%

97

Page 98: Multilingual bibliographies: The babelbib package - CTAN

3780 \def\btxmastthesis##1{\protect\foreignlanguage{#1}{Tesina de Llicenciatura}}%3781 \def\btxphdthesis##1{\protect\foreignlanguage{#1}{Tesi de Doctorat}}%3782 \def\btxtechrepshort##1{\protect\foreignlanguage{#1}{Rep. t\‘ecnic}}%3783 \def\btxtechreplong##1{\protect\foreignlanguage{#1}{Report t\‘ecnic}}%3784 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{gener}}%3785 \def\btxmonfeblong##1{\protect\foreignlanguage{#1}{febrer}}%3786 \def\btxmonmarlong##1{\protect\foreignlanguage{#1}{mar\c{c}}}%3787 \def\btxmonaprlong##1{\protect\foreignlanguage{#1}{abril}}%3788 \def\btxmonmaylong##1{\protect\foreignlanguage{#1}{maig}}%3789 \def\btxmonjunlong##1{\protect\foreignlanguage{#1}{juny}}%3790 \def\btxmonjullong##1{\protect\foreignlanguage{#1}{juliol}}%3791 \def\btxmonauglong##1{\protect\foreignlanguage{#1}{agost}}%3792 \def\btxmonseplong##1{\protect\foreignlanguage{#1}{setembre}}%3793 \def\btxmonoctlong##1{\protect\foreignlanguage{#1}{octubre}}%3794 \def\btxmonnovlong##1{\protect\foreignlanguage{#1}{novembre}}%3795 \def\btxmondeclong##1{\protect\foreignlanguage{#1}{desembre}}%3796 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{gen##1{}}}%3797 \def\btxmonfebshort##1{\protect\foreignlanguage{#1}{feb##1{}}}%3798 \def\btxmonmarshort##1{\protect\foreignlanguage{#1}{mar\c{c}}}%3799 \def\btxmonaprshort##1{\protect\foreignlanguage{#1}{abr##1{}}}%3800 \def\btxmonmayshort##1{\protect\foreignlanguage{#1}{maig}}%3801 \def\btxmonjunshort##1{\protect\foreignlanguage{#1}{juny}}%3802 \def\btxmonjulshort##1{\protect\foreignlanguage{#1}{jul}}%3803 \def\btxmonaugshort##1{\protect\foreignlanguage{#1}{ago##1{}}}%3804 \def\btxmonsepshort##1{\protect\foreignlanguage{#1}{sep##1{}}}%3805 \def\btxmonoctshort##1{\protect\foreignlanguage{#1}{oct##1{}}}%3806 \def\btxmonnovshort##1{\protect\foreignlanguage{#1}{nov##1{}}}%3807 \def\btxmondecshort##1{\protect\foreignlanguage{#1}{dec##1{}}}%3808 \def\Btxinlong##1{\protect\foreignlanguage{#1}{Dins}}%3809 \def\Btxinshort##1{\protect\foreignlanguage{#1}{Dins}}%3810 \def\Btxeditorshort##1{\protect\foreignlanguage{#1}{Ed##1{}}}%3811 \def\Btxeditorlong##1{\protect\foreignlanguage{#1}{Editor}}%3812 \def\Btxeditorsshort##1{\protect\foreignlanguage{#1}{Ed##1{}}}%3813 \def\Btxeditorslong##1{\protect\foreignlanguage{#1}{Editors}}%3814 \def\Btxvolumeshort##1{\protect\foreignlanguage{#1}{Vol##1{}}}%3815 \def\Btxvolumelong##1{\protect\foreignlanguage{#1}{Volum}}%3816 \def\Btxnumbershort##1{\protect\foreignlanguage{#1}{N\’um}}%3817 \def\Btxnumberlong##1{\protect\foreignlanguage{#1}{N\’umero}}%3818 \def\Btxeditionshort##1{\protect\foreignlanguage{#1}{Ed##1{}}}%3819 \def\Btxeditionlong##1{\protect\foreignlanguage{#1}{Edici\’o}}%3820 \def\Btxeditionnumshort##1##2{\btxnumeralshort{##1}~\Btxeditionshort{##2}}%3821 \def\Btxeditionnumlong##1##2{\btxnumerallong{##1}~\Btxeditionlong{##2}}%3822 \def\Btxchaptershort##1{\protect\foreignlanguage{#1}{Cap##1{}}}%3823 \def\Btxchapterlong##1{\protect\foreignlanguage{#1}{Cap\’\itol}}%3824 \def\Btxpageshort##1{\protect\foreignlanguage{#1}{P##1{}}}%3825 \def\Btxpagelong##1{\protect\foreignlanguage{#1}{P\‘agina}}%3826 \def\Btxpagesshort##1{\protect\foreignlanguage{#1}{P##1{}}}%3827 \def\Btxpageslong##1{\protect\foreignlanguage{#1}{P\‘agines}}%3828 \def\Btxtechrepshort##1{\protect\foreignlanguage{#1}{Rep. t\‘ecnic}}%3829 \def\Btxtechreplong##1{\protect\foreignlanguage{#1}{Report t\‘ecnic}}%

98

Page 99: Multilingual bibliographies: The babelbib package - CTAN

3830 \def\btxurldatecomment##1{\protect\foreignlanguage{#1}{, visitada el ##1}}%3831 \def\btxfnamespaceshort{\,}%3832 \def\btxfnamespacelong{ }%3833 \def\btxnumeralshort##1{\btxnumeralfallback{#1}{##1}}%3834 \def\btxnumerallong##1{\btxnumeralfallback{#1}{##1}}%

Define how to print month and year in numeric format, e. g. MM/YYYY.3835 \def\btxprintmonthyearnum##1##2{##1/##2}%3836 \def\btxkeywordlanguage##1{{\protect\selectlanguage{#1}##1}}%3837 \ifbbbblanguagenames3838 \def\btxlanguagenameamerican{\protect\foreignlanguage{#1}{angl\‘es}}%3839 \def\btxlanguagenameaustrian{\protect\foreignlanguage{#1}{alem\‘any}}%3840 \def\btxlanguagenamebrazil{\protect\foreignlanguage{#1}{portugu\‘es}}%3841 \def\btxlanguagenamebrazilian{\protect\foreignlanguage{#1}{portugu\‘es}}%3842 \def\btxlanguagenamebritish{\protect\foreignlanguage{#1}{angl\’es}}%3843 \def\btxlanguagenamebulgarian{\protect\foreignlanguage{#1}{b\’ulgar}}%3844 \def\btxlanguagenamecanadian{\protect\foreignlanguage{#1}{angl\‘es}}%3845 \def\btxlanguagenamecanadien{\protect\foreignlanguage{#1}{franc\‘es}}%3846 \def\btxlanguagenamecatalan{\protect\foreignlanguage{#1}{catal\‘a}}%3847 \def\btxlanguagenamecroatian{\protect\foreignlanguage{#1}{croat}}%3848 \def\btxlanguagenameczech{\protect\foreignlanguage{#1}{txec}}%3849 \def\btxlanguagenamedanish{\protect\foreignlanguage{#1}{dan\‘es}}%3850 \def\btxlanguagenamedutch{\protect\foreignlanguage{#1}{neerland\‘es}}%3851 \def\btxlanguagenameenglish{\protect\foreignlanguage{#1}{angl\‘es}}%3852 \def\btxlanguagenameesperanto{\protect\foreignlanguage{#1}{esperanto}}%3853 \def\btxlanguagenamefinnish{\protect\foreignlanguage{#1}{finland\‘es}}%3854 \def\btxlanguagenamefrancais{\protect\foreignlanguage{#1}{franc\‘es}}%3855 \def\btxlanguagenamefrench{\protect\foreignlanguage{#1}{franc\‘es}}%3856 \def\btxlanguagenamefrenchb{\protect\foreignlanguage{#1}{franc\‘es}}%3857 \def\btxlanguagenamegerman{\protect\foreignlanguage{#1}{alem\‘any}}%3858 \def\btxlanguagenamegermanb{\protect\foreignlanguage{#1}{alem\‘any}}%3859 \def\btxlanguagenamegreek{\protect\foreignlanguage{#1}{grec}}%3860 \def\btxlanguagenamehebrew{\protect\foreignlanguage{#1}{hebreu}}%3861 \def\btxlanguagenamehungarian{\protect\foreignlanguage{#1}{hongar\‘es}}%3862 \def\btxlanguagenameicelandic{\protect\foreignlanguage{#1}{island\‘es}}%3863 \def\btxlanguagenameirish{\protect\foreignlanguage{#1}{irland\‘es}}%3864 \def\btxlanguagenameitalian{\protect\foreignlanguage{#1}{itali\‘a}}%3865 \def\btxlanguagenamelatin{\protect\foreignlanguage{#1}{llat\’\i}}%3866 \def\btxlanguagenamenaustrian{\protect\foreignlanguage{#1}{alem\‘any}}%3867 \def\btxlanguagenamengerman{\protect\foreignlanguage{#1}{alem\‘any}}%3868 \def\btxlanguagenamenorsk{\protect\foreignlanguage{#1}{noruec}}%3869 \def\btxlanguagenamenynorsk{\protect\foreignlanguage{#1}{noruec}}%3870 \def\btxlanguagenamepolish{\protect\foreignlanguage{#1}{polon\‘es}}%3871 \def\btxlanguagenameportuges{\protect\foreignlanguage{#1}{portugu\‘es}}%3872 \def\btxlanguagenameportuguese{\protect\foreignlanguage{#1}{portugu\‘es}}%3873 \def\btxlanguagenamerussian{\protect\foreignlanguage{#1}{rus}}%3874 \def\btxlanguagenamescottish{\protect\foreignlanguage{#1}{escoc\‘es}}%3875 \def\btxlanguagenameserbian{\protect\foreignlanguage{#1}{serbi}}%3876 \def\btxlanguagenamespanish{\protect\foreignlanguage{#1}{espa\~nol}}%3877 \def\btxlanguagenameswedish{\protect\foreignlanguage{#1}{suec}}%

99

Page 100: Multilingual bibliographies: The babelbib package - CTAN

3878 \def\btxlanguagenameturkish{\protect\foreignlanguage{#1}{turc}}%3879 \def\btxlanguagenameUKenglish{\protect\foreignlanguage{#1}{angl\‘es}}%3880 \def\btxlanguagenameUSenglish{\protect\foreignlanguage{#1}{angl\‘es}}%3881 \fi3882 }

Append the definitions to the language-calling commands.3883 \AtBeginDocument{%3884 \ifbbbbfixlanguage3885 \else3886 \bbbbaddto{catalan}{bibscatalan}3887 \fi

Switch on the change of case in titles for all Afrikaans dialects by appending\btxifchangecaseoff to \extras〈language〉.

3888 \bbbbaddto{catalan}{btxifchangecaseoff}3889 }3890 〈/catalan〉

9.3.22 Croatian

3891 〈∗croatian〉

The language definition for Croatian was provided by Vedran Miletić ([email protected]),Ivan Kokan ([email protected]), and Ivica Nakić ([email protected]).

\bibscroatian

3892 \newcommand\bibscroatian[1][croatian]{%3893 \def\biblanguagename{#1}%3894 \def\btxetalshort##1{\protect\foreignlanguage{#1}{i~ost##1{}}}%3895 \def\btxetallong##1{\protect\foreignlanguage{#1}{i~ostali}}%3896 \def\btxandshort##1{\protect\foreignlanguage{#1}{i}}%3897 \def\btxandlong##1{\protect\foreignlanguage{#1}{i}}%3898 \def\btxandcomma##1{}%3899 \def\btxinlong##1{\protect\foreignlanguage{#1}{u}}%3900 \def\btxinshort##1{\protect\foreignlanguage{#1}{u}}%3901 \def\btxofseriesshort##1{\protect\foreignlanguage{#1}{iz}}%3902 \def\btxinseriesshort##1{\protect\foreignlanguage{#1}{u}}%3903 \def\btxofserieslong##1{\protect\foreignlanguage{#1}{iz}}%3904 \def\btxinserieslong##1{\protect\foreignlanguage{#1}{u}}%3905 \def\btxeditorshort##1{\protect\foreignlanguage{#1}{ur##1{}}}%3906 \def\btxeditorlong##1{\protect\foreignlanguage{#1}{urednik}}%3907 \def\btxeditorsshort##1{\protect\foreignlanguage{#1}{ur##1{}}}%3908 \def\btxeditorslong##1{\protect\foreignlanguage{#1}{urednici}}%3909 \def\btxvolumeshort##1{\protect\foreignlanguage{#1}{sv##1{}}}%3910 \def\btxvolumelong##1{\protect\foreignlanguage{#1}{svezak}}%3911 \def\btxnumbershort##1{\protect\foreignlanguage{#1}{br##1{}}}%3912 \def\btxnumberlong##1{\protect\foreignlanguage{#1}{broj}}%3913 \def\btxeditionshort##1{\protect\foreignlanguage{#1}{izd##1{}}}%3914 \def\btxeditionlong##1{\protect\foreignlanguage{#1}{izdanje}}%3915 \def\btxeditionnumshort##1##2{\btxnumeralshort{##1}~\btxeditionshort{##2}}%

100

Page 101: Multilingual bibliographies: The babelbib package - CTAN

3916 \def\btxeditionnumlong##1##2{\btxnumerallong{##1}~\btxeditionlong{##2}}%3917 \def\btxchaptershort##1{\protect\foreignlanguage{#1}{pogl##1{}}}%3918 \def\btxchapterlong##1{\protect\foreignlanguage{#1}{poglavlje}}%3919 \def\btxpageshort##1{\protect\foreignlanguage{#1}{str##1{}}}%3920 \def\btxpagelong##1{\protect\foreignlanguage{#1}{stranica}}%3921 \def\btxpagesshort##1{\protect\foreignlanguage{#1}{str##1{}}}%3922 \def\btxpageslong##1{\protect\foreignlanguage{#1}{stranice}}%3923 \def\btxmastthesis##1{\protect\foreignlanguage{#1}{Magistarski rad}}%3924 \def\btxphdthesis##1{\protect\foreignlanguage{#1}{Disertacija}}%3925 \def\btxtechrepshort##1{\protect\foreignlanguage{#1}{Tehn.\ izvj##1{}}}%3926 \def\btxtechreplong##1{\protect\foreignlanguage{#1}{%3927 Tehni\v{c}ki izvje\v{s}taj}}%3928 \def\btxmonjanlong##1{\protect\foreignlanguage{#1}{sije\v{c}anj}}%3929 \def\btxmonfeblong##1{\protect\foreignlanguage{#1}{velja\v{c}a}}%3930 \def\btxmonmarlong##1{\protect\foreignlanguage{#1}{o\v{z}ujak}}%3931 \def\btxmonaprlong##1{\protect\foreignlanguage{#1}{travanj}}%3932 \def\btxmonmaylong##1{\protect\foreignlanguage{#1}{svibanj}}%3933 \def\btxmonjunlong##1{\protect\foreignlanguage{#1}{lipanj}}%3934 \def\btxmonjullong##1{\protect\foreignlanguage{#1}{srpanj}}%3935 \def\btxmonauglong##1{\protect\foreignlanguage{#1}{kolovoz}}%3936 \def\btxmonseplong##1{\protect\foreignlanguage{#1}{rujan}}%3937 \def\btxmonoctlong##1{\protect\foreignlanguage{#1}{listopad}}%3938 \def\btxmonnovlong##1{\protect\foreignlanguage{#1}{studeni}}%3939 \def\btxmondeclong##1{\protect\foreignlanguage{#1}{prosinac}}%3940 \def\btxmonjanshort##1{\protect\foreignlanguage{#1}{sij##1{}}}%3941 \def\btxmonfebshort##1{\protect\foreignlanguage{#1}{velj##1{}}}%3942 \def\btxmonmarshort##1{\protect\foreignlanguage{#1}{o\v{z}u##1{}}}%3943 \def\btxmonaprshort##1{\protect\foreignlanguage{#1}{tra##1{}}}%3944 \def\btxmonmayshort##1{\protect\foreignlanguage{#1}{svi##1{}}}%3945 \def\btxmonjunshort##1{\protect\foreignlanguage{#1}{lip##1{}}}%3946 \def\btxmonjulshort##1{\protect\foreignlanguage{#1}{srp##1{}}}%3947 \def\btxmonaugshort##1{\protect\foreignlanguage{#1}{kol##1{}}}%3948 \def\btxmonsepshort##1{\protect\foreignlanguage{#1}{ruj##1{}}}%3949 \def\btxmonoctshort##1{\protect\foreignlanguage{#1}{lis##1{}}}%3950 \def\btxmonnovshort##1{\protect\foreignlanguage{#1}{stu##1{}}}%3951 \def\btxmondecshort##1{\protect\foreignlanguage{#1}{pro##1{}}}%3952 \def\Btxinlong##1{\protect\foreignlanguage{#1}{U}}%3953 \def\Btxinshort##1{\protect\foreignlanguage{#1}{U}}%3954 \def\Btxeditorshort##1{\protect\foreignlanguage{#1}{Ur##1{}}}%3955 \def\Btxeditorlong##1{\protect\foreignlanguage{#1}{Urednik}}%3956 \def\Btxeditorsshort##1{\protect\foreignlanguage{#1}{Ur##1{}}}%3957 \def\Btxeditorslong##1{\protect\foreignlanguage{#1}{Urednici}}%3958 \def\Btxvolumeshort##1{\protect\foreignlanguage{#1}{Sv##1{}}}%3959 \def\Btxvolumelong##1{\protect\foreignlanguage{#1}{Svezak}}%3960 \def\Btxnumbershort##1{\protect\foreignlanguage{#1}{Br##1{}}}%3961 \def\Btxnumberlong##1{\protect\foreignlanguage{#1}{Broj}}%3962 \def\Btxeditionshort##1{\protect\foreignlanguage{#1}{Izd##1{}}}%3963 \def\Btxeditionlong##1{\protect\foreignlanguage{#1}{Izdanje}}%3964 \def\Btxeditionnumshort##1##2{\btxnumeralshort{##1}~\Btxeditionshort{##2}}%3965 \def\Btxeditionnumlong##1##2{\btxnumerallong{##1}~\Btxeditionlong{##2}}%

101

Page 102: Multilingual bibliographies: The babelbib package - CTAN

3966 \def\Btxchaptershort##1{\protect\foreignlanguage{#1}{Pogl##1{}}}%3967 \def\Btxchapterlong##1{\protect\foreignlanguage{#1}{Poglavlje}}%3968 \def\Btxpageshort##1{\protect\foreignlanguage{#1}{Str##1{}}}%3969 \def\Btxpagelong##1{\protect\foreignlanguage{#1}{Stranica}}%3970 \def\Btxpagesshort##1{\protect\foreignlanguage{#1}{Str##1{}}}%3971 \def\Btxpageslong##1{\protect\foreignlanguage{#1}{Stranice}}%3972 \def\Btxtechrepshort##1{\protect\foreignlanguage{#1}{Tehn.\ izvj##1{}}}%3973 \def\Btxtechreplong##1{\protect\foreignlanguage{#1}{%3974 Tehni\v{c}ki izvje\v{s}taj}}%3975 \def\btxurldatecomment##1{\protect\foreignlanguage{#1}{, posje\’{c}eno ##1}}%3976 \def\btxfnamespaceshort{\ }%3977 \def\btxfnamespacelong{ }%3978 \def\btxnumeralshort##1{\btxnumeraldot{#1}{##1}}%3979 \def\btxnumerallong##1{\btxnumeraldot{#1}{##1}}%

Define how to print month and year in numeric format, e. g. MM/YYYY.3980 \def\btxprintmonthyearnum##1##2{##1/##2}%3981 \def\btxkeywordlanguage##1{{\protect\selectlanguage{#1}##1}}%3982 \ifbbbblanguagenames3983 \def\btxlanguagenameamerican{\protect\foreignlanguage{#1}{engleski}}%3984 \def\btxlanguagenameaustrian{\protect\foreignlanguage{#1}{njema\v{c}ki}}%3985 \def\btxlanguagenamebrazil{\protect\foreignlanguage{#1}{portugalski}}%3986 \def\btxlanguagenamebrazilian{\protect\foreignlanguage{#1}{portugalski}}%3987 \def\btxlanguagenamebritish{\protect\foreignlanguage{#1}{engleski}}%3988 \def\btxlanguagenamebulgarian{\protect\foreignlanguage{#1}{bugarski}}%3989 \def\btxlanguagenamecanadian{\protect\foreignlanguage{#1}{engleski}}%3990 \def\btxlanguagenamecanadien{\protect\foreignlanguage{#1}{francuski}}%3991 \def\btxlanguagenamecatalan{\protect\foreignlanguage{#1}{katalonski}}%3992 \def\btxlanguagenamecroatian{\protect\foreignlanguage{#1}{hrvatski}}%3993 \def\btxlanguagenameczech{\protect\foreignlanguage{#1}{\v{c}e\v{s}ki}}%3994 \def\btxlanguagenamedanish{\protect\foreignlanguage{#1}{danski}}%3995 \def\btxlanguagenamedutch{\protect\foreignlanguage{#1}{nizozemski}}%3996 \def\btxlanguagenameenglish{\protect\foreignlanguage{#1}{engleski}}%3997 \def\btxlanguagenameesperanto{\protect\foreignlanguage{#1}{esperanto}}%3998 \def\btxlanguagenamefinnish{\protect\foreignlanguage{#1}{finski}}%3999 \def\btxlanguagenamefrancais{\protect\foreignlanguage{#1}{francuski}}%4000 \def\btxlanguagenamefrench{\protect\foreignlanguage{#1}{francuski}}%4001 \def\btxlanguagenamefrenchb{\protect\foreignlanguage{#1}{francuski}}%4002 \def\btxlanguagenamegerman{\protect\foreignlanguage{#1}{njema\v{c}ki}}%4003 \def\btxlanguagenamegermanb{\protect\foreignlanguage{#1}{njema\v{c}ki}}%4004 \def\btxlanguagenamegreek{\protect\foreignlanguage{#1}{gr\v{c}ki}}%4005 \def\btxlanguagenamehebrew{\protect\foreignlanguage{#1}{hebrejski}}%4006 \def\btxlanguagenamehungarian{\protect\foreignlanguage{#1}{ma\dj{}arski}}%4007 \def\btxlanguagenameicelandic{\protect\foreignlanguage{#1}{islandski}}%4008 \def\btxlanguagenameirish{\protect\foreignlanguage{#1}{irski}}%4009 \def\btxlanguagenameitalian{\protect\foreignlanguage{#1}{talijanski}}%4010 \def\btxlanguagenamelatin{\protect\foreignlanguage{#1}{latinski}}%4011 \def\btxlanguagenamenaustrian{\protect\foreignlanguage{#1}{njema\v{c}ki}}%4012 \def\btxlanguagenamengerman{\protect\foreignlanguage{#1}{njema\v{c}ki}}%4013 \def\btxlanguagenamenorsk{\protect\foreignlanguage{#1}{norve\v{s}ki}}%

102

Page 103: Multilingual bibliographies: The babelbib package - CTAN

4014 \def\btxlanguagenamenynorsk{\protect\foreignlanguage{#1}{novonorve\v{s}ki}}%4015 \def\btxlanguagenamepolish{\protect\foreignlanguage{#1}{poljski}}%4016 \def\btxlanguagenameportuges{\protect\foreignlanguage{#1}{portugalski}}%4017 \def\btxlanguagenameportuguese{\protect\foreignlanguage{#1}{portugalski}}%4018 \def\btxlanguagenamerussian{\protect\foreignlanguage{#1}{ruski}}%4019 \def\btxlanguagenamescottish{\protect\foreignlanguage{#1}{\v{s}kotski}}%4020 \def\btxlanguagenameserbian{\protect\foreignlanguage{#1}{srpski}}%4021 \def\btxlanguagenamespanish{\protect\foreignlanguage{#1}{\v{s}panjolski}}%4022 \def\btxlanguagenameswedish{\protect\foreignlanguage{#1}{\v{s}vedski}}%4023 \def\btxlanguagenameturkish{\protect\foreignlanguage{#1}{turski}}%4024 \def\btxlanguagenameUKenglish{\protect\foreignlanguage{#1}{engleski}}%4025 \def\btxlanguagenameUSenglish{\protect\foreignlanguage{#1}{engleski}}%4026 \fi4027 }

Append the definitions to the language-calling commands.4028 \AtBeginDocument{%4029 \ifbbbbfixlanguage4030 \else4031 \bbbbaddto{croatian}{bibscroatian}4032 \fi

Switch on the change of case in titles for all Afrikaans dialects by appending\btxifchangecaseoff to \extras〈language〉.

4033 \bbbbaddto{croatian}{btxifchangecaseoff}4034 }4035 〈/croatian〉

10 BibTEX style files

10.1 “Normal” BibTEX style files10.1.1 Generic code

Because most parts of the BibTEX style files are equal for all styles, they aregenerated from the same source code.

4036 〈∗bststd〉Declare the data fields that are handled by the BibTEX styles.

4037 ENTRY4038 { address4039 annote4040 annotelanguage4041 author4042 booktitle4043 chapter4044 edition4045 editor4046 howpublished

103

Page 104: Multilingual bibliographies: The babelbib package - CTAN

4047 institution4048 isbn4049 issn4050 journal4051 key4052 language4053 month4054 note4055 number4056 organization4057 pages4058 publisher4059 school4060 series4061 title4062 type4063 url4064 urldate4065 volume4066 year4067 }4068 {}4069 〈/bststd〉4070 〈bststd&!bstalpha〉 { label }4071 〈bststd & bstalpha〉 { label extra.label sort.label }4072 〈∗bststd〉4073

Declare integer variables.4074 INTEGERS4075 { output.state4076 before.all4077 mid.sentence4078 after.sentence4079 after.block4080 before.title4081 }4082

Declare string variables.4083 STRINGS4084 { s4085 t4086 language.state4087 change.temp4088 isbn.command4089 }4090

Declare the constants that define at which position within a citation we are whenprocessing it.

104

Page 105: Multilingual bibliographies: The babelbib package - CTAN

4091 FUNCTION {init.state.consts}4092 { #0 ’before.all :=4093 #1 ’mid.sentence :=4094 #2 ’after.sentence :=4095 #3 ’after.block :=4096 #4 ’before.title :=4097 "nostate" ’language.state :=4098 }4099

Logical function not.Syntax: 〈int1 〉 not −→ 〈int2 〉.Returns 1 if 〈arg1 〉 != 0, 0 otherwise.

4100 FUNCTION {not}4101 { { #0 }4102 { #1 }4103 if$4104 }4105

Logical function and. Syntax: 〈arg1 〉 〈arg1 〉 and. Returns 1 if 〈arg1 〉 == trueand 〈arg2 〉 == true, 0 otherwise.

4106 FUNCTION {and}4107 { ’skip$4108 { pop$ #0 }4109 if$4110 }4111

Logical function or. Syntax: 〈arg1 〉 〈arg1 〉 or. Returns 1 if 〈arg1 〉 == true or〈arg2 〉 == true, 0 otherwise.

4112 FUNCTION {or}4113 { { pop$ #1 }4114 ’skip$4115 if$4116 }4117

Function language.change.case. Syntax: 〈string1 〉 〈string2 〉 language.change.case−→ 〈string3 〉 This function has the same syntax as change.case$ but writes〈string1 〉 twice into 〈string3 〉, first with changed case, second with original case.

4118 FUNCTION {language.change.case}4119 {4120 ’change.temp :=4121 ’t :=4122 "\btxifchangecase {"4123 t change.temp change.case$ *4124 "}{" *4125 t *4126 "}" *4127 }

105

Page 106: Multilingual bibliographies: The babelbib package - CTAN

4128

Generates output for the string 〈string1 〉. Syntax: 〈string1 〉 output.nonnull −→〈string2 〉

4129 FUNCTION {output.nonnull}4130 { ’s :=4131 output.state mid.sentence =4132 { ", " * write$ }4133 { output.state after.block =4134 { add.period$ write$4135 newline$4136 "\newblock " write$4137 }4138 { output.state before.all =4139 ’write$4140 {4141 output.state before.title =4142 { "\btxauthorcolon\ " * write$ }4143 { add.period$ " " * write$ }4144 if$4145 }4146 if$4147 }4148 if$4149 mid.sentence ’output.state :=4150 }4151 if$4152 s4153 }4154

Generates output if the given string 〈string1 〉 is not empty. Syntax: 〈string1 〉output.nonnull −→ 〈string2 〉

4155 FUNCTION {output}4156 { duplicate$ empty$4157 ’pop$4158 ’output.nonnull4159 if$4160 }4161

4162 FUNCTION {output.check}4163 { ’t :=4164 duplicate$ empty$4165 { pop$ "empty " t * " in " * cite$ * warning$ }4166 ’output.nonnull4167 if$4168 }4169

Outputs a bibliography item.

106

Page 107: Multilingual bibliographies: The babelbib package - CTAN

4170 FUNCTION {output.bibitem}4171 { newline$

If no language is given, fall back to the language that has been active at\begin{document} or to the given fall-back language. For BibTEX, this languagegets the name nolanguage.

4172 language empty$4173 {4174 language.state "nolanguage" =4175 ’skip$4176 {4177 "empty language in " cite$ * warning$4178 "\expandafter\btxselectlanguage\expandafter {"4179 "\btxfallbacklanguage}" *4180 write$ newline$4181 }4182 if$4183 "nolanguage" ’language.state :=4184 }4185 {4186 language.state language =4187 ’skip$4188 {4189 "\btxselectlanguage {" language * "}" *4190 write$ newline$4191 }4192 if$4193 language ’language.state :=4194 }4195 if$4196 〈/bststd〉4197 〈bststd&!bstalpha〉 "\bibitem {" write$4198 〈bststd & bstalpha〉 "\bibitem [{" label * "}]{" * write$4199 〈∗bststd〉4200 cite$ write$4201 "}" write$4202 newline$4203 ""4204 before.all ’output.state :=4205 }4206

Output an ISBN or ISSN.Syntax: 〈string1 〉 〈string2 〉 output.isbnPrints the ISBN or ISSN given by 〈string1 〉 and uses the TEX macro given

by 〈string2 〉 to determine if the text is printed or not. 〈string2 〉 normally is\ifbtxprintISSN or \ifbtxprintISSN.

4207 FUNCTION {output.isbn}4208 {4209 ’isbn.command :=

107

Page 108: Multilingual bibliographies: The babelbib package - CTAN

4210 duplicate$4211 empty$4212 ’pop$4213 {4214 ’s :=4215 output.state mid.sentence =4216 {4217 isbn.command * " {, " * write$4218 s "}" *4219 }4220 { output.state after.block =4221 {4222 add.period$4223 write$4224 newline$4225 "\newblock " write$4226 isbn.command " {" * s * ".}" *4227 }4228 { output.state before.all =4229 {4230 write$4231 isbn.command " {" * write$4232 s "}" *4233 }4234 {4235 output.state before.title =4236 {4237 "\btxauthorcolon\ " * write$4238 isbn.command " {" * write$4239 s "}" *4240 }4241 {4242 add.period$ " " * write$4243 isbn.command " {" * write$4244 s ".}" *4245 }4246 if$4247 }4248 if$4249 }4250 if$4251 mid.sentence ’output.state :=4252 }4253 if$4254 }4255 if$4256 }4257

Completes an entry.

108

Page 109: Multilingual bibliographies: The babelbib package - CTAN

4258 FUNCTION {fin.entry}4259 { add.period$4260 write$4261 newline$4262 }4263

4264 FUNCTION {new.block}4265 { output.state before.all =4266 ’skip$4267 { after.block ’output.state := }4268 if$4269 }4270

4271 FUNCTION {new.sentence}4272 { output.state after.block =4273 ’skip$4274 { output.state before.all =4275 ’skip$4276 { after.sentence ’output.state := }4277 if$4278 }4279 if$4280 }4281

4282 FUNCTION {after.authors}4283 { output.state before.all =4284 ’skip$4285 { before.title ’output.state := }4286 if$4287 }4288

4289 FUNCTION {new.block.checka}4290 { empty$4291 ’skip$4292 ’new.block4293 if$4294 }4295

4296 FUNCTION {new.block.checkb}4297 { empty$4298 swap$ empty$4299 and4300 ’skip$4301 ’new.block4302 if$4303 }4304

109

Page 110: Multilingual bibliographies: The babelbib package - CTAN

4305 FUNCTION {new.block.checkc}4306 { empty$4307 swap$ empty$4308 and4309 ’skip$4310 ’after.authors4311 if$4312 }4313

4314 FUNCTION {new.sentence.checka}4315 { empty$4316 ’skip$4317 ’new.sentence4318 if$4319 }4320

4321 FUNCTION {new.sentence.checkb}4322 { empty$4323 swap$ empty$4324 and4325 ’skip$4326 ’new.sentence4327 if$4328 }4329

4330 FUNCTION {field.or.null}4331 { duplicate$ empty$4332 { pop$ "" }4333 ’skip$4334 if$4335 }4336

4337 FUNCTION {namefont}4338 { duplicate$ empty$4339 { pop$ "" }4340 { "\btxnamefont {" swap$ * "}" * }4341 if$4342 }4343

4344 FUNCTION {lastnamefont}4345 { duplicate$ empty$4346 { pop$ "" }4347 { "\btxlastnamefont {" swap$ * "}" * }4348 if$4349 }

Set font for titles:

110

Page 111: Multilingual bibliographies: The babelbib package - CTAN

4350 FUNCTION {titlefont}4351 { duplicate$ empty$4352 { pop$ "" }4353 { "\btxtitlefont {" swap$ * "}" * }4354 if$4355 }

Set font for titles of articles in journals:4356 FUNCTION {jtitlefont}4357 { duplicate$ empty$4358 { pop$ "" }4359 { "\btxjtitlefont {" swap$ * "}" * }4360 if$4361 }

Set font for the journal name:4362 FUNCTION {journalfont}4363 { duplicate$ empty$4364 { pop$ "" }4365 { "\btxjournalfont {" swap$ * "}" * }4366 if$4367 }

Set font for the publisher name:4368 FUNCTION {publisherfont}4369 { duplicate$ empty$4370 { pop$ "" }4371 { "\btxpublisherfont {" swap$ * "}" * }4372 if$4373 }

4374 FUNCTION {volumefont}4375 { duplicate$ empty$4376 { pop$ "" }4377 { "\btxvolumefont {" swap$ * "}" * }4378 if$4379 }4380

4381 FUNCTION {etalfont}4382 { duplicate$ empty$4383 { pop$ "" }4384 { "\btxetalfont {" swap$ * "}" * }4385 if$4386 }4387

4388 INTEGERS { nameptr namesleft numnames }4389

4390 FUNCTION {format.names}4391 { ’s :=4392 #1 ’nameptr :=

111

Page 112: Multilingual bibliographies: The babelbib package - CTAN

4393 s num.names$ ’numnames :=4394 numnames ’namesleft :=4395 { namesleft #0 > }4396 { nameptr #1 >4397 {4398 〈/bststd〉4399 〈∗bststd&!bstshort&!namevarb〉4400 s nameptr "{ff{\btxfnamespacelong } }{vv~}" format.name$4401 s nameptr "{ll}" format.name$ lastnamefont *4402 s nameptr "{, jj}" format.name$ *4403 ’t :=4404 〈/bststd&!bstshort&!namevarb〉4405 〈∗bststd & bstshort&!namevarb〉4406 s nameptr4407 "{f{.\btxfnamespaceshort }.~}{vv~}" format.name$4408 s nameptr "{ll}" format.name$ lastnamefont *4409 s nameptr "{,~jj}" format.name$ *4410 ’t :=4411 〈/bststd & bstshort&!namevarb〉4412 〈∗bststd&!bstshort & namevarb〉4413 s nameptr "{ll}" format.name$ lastnamefont4414 s nameptr "{,~jj}{, ff{\btxfnamespacelong }}{~vv}" format.name$ *4415 ’t :=4416 〈/bststd&!bstshort & namevarb〉4417 〈∗bststd & bstshort & namevarb〉4418 s nameptr "{ll}" format.name$ lastnamefont4419 s nameptr "{,~jj}{,~f{.\btxfnamespaceshort }.}{~vv}" format.name$ *4420 ’t :=4421 〈/bststd & bstshort & namevarb〉4422 〈∗bststd & bstthree〉4423 namesleft #2 >4424 { " " "\btxetalshort {.}" etalfont * *4425 #1 ’namesleft := }4426 {4427 〈/bststd & bstthree〉4428 〈∗bststd〉4429 namesleft #1 >4430 { ", " * t namefont * }4431 { numnames #2 >4432 { "\btxandcomma {}" * }4433 ’skip$4434 if$4435 s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ "others" =4436 { " " "\btxetalshort {.}" etalfont * * }4437 〈/bststd〉4438 〈bststd&!bstshort〉 { " \btxandlong {}\ " * t namefont * }4439 〈bststd & bstshort〉 { " \btxandshort {.}\ " * t namefont * }4440 〈∗bststd & bstthree〉4441 if$4442 }

112

Page 113: Multilingual bibliographies: The babelbib package - CTAN

4443 〈/bststd & bstthree〉4444 〈∗bststd〉4445 if$4446 }4447 if$4448 }4449 {4450 〈/bststd〉4451 〈∗bststd&!bstshort&!namevara〉4452 s nameptr "{ll}" format.name$ lastnamefont4453 s nameptr "{,~jj}{, ff{\btxfnamespacelong }}{~vv}"4454 format.name$ * namefont4455 〈/bststd&!bstshort&!namevara〉4456 〈∗bststd & bstshort&!namevara〉4457 s nameptr "{ll}" format.name$ lastnamefont4458 s nameptr "{,~jj}{,~f{.\btxfnamespaceshort }.}{~vv}"4459 format.name$ * namefont4460 〈/bststd & bstshort&!namevara〉4461 〈∗bststd&!bstshort & namevara〉4462 s nameptr "{ff{\btxfnamespacelong } }{vv~}" format.name$4463 s nameptr "{ll}" format.name$ lastnamefont *4464 s nameptr "{,~jj}" format.name$ * namefont4465 〈/bststd&!bstshort & namevara〉4466 〈∗bststd & bstshort & namevara〉4467 s nameptr "{f{.\btxfnamespaceshort }.~}{vv~}" format.name$4468 s nameptr "{ll}" format.name$ lastnamefont *4469 s nameptr "{,~jj}" format.name$ * namefont4470 〈/bststd & bstshort & namevara〉4471 〈∗bststd〉4472 }4473 if$4474 nameptr #1 + ’nameptr :=4475 namesleft #1 - ’namesleft :=4476 }4477 while$4478 }4479

4480 FUNCTION {format.authors}4481 { author empty$4482 { "" }4483 { author format.names }4484 if$4485 }4486

4487 FUNCTION {format.editors}4488 { editor empty$4489 { "" }4490 { editor format.names4491 editor num.names$ #1 >

113

Page 114: Multilingual bibliographies: The babelbib package - CTAN

4492 〈/bststd〉4493 〈∗bststd&!bstshort〉4494 { "\ (\btxeditorslong {})" * }4495 { "\ (\btxeditorlong {})" * }4496 〈/bststd&!bstshort〉4497 〈∗bststd & bstshort〉4498 { "\ (\btxeditorsshort {.})" * }4499 { "\ (\btxeditorshort {.})" * }4500 〈/bststd & bstshort〉4501 〈∗bststd〉4502 if$4503 }4504 if$4505 }

Format the title:4506 FUNCTION {format.title}4507 { title empty$4508 { "" }4509 { title "t" language.change.case titlefont }4510 if$4511 }

Format the title of a journal article:4512 FUNCTION {format.jtitle}4513 { title empty$4514 { "" }4515 { title "t" language.change.case jtitlefont }4516 if$4517 }

4518 FUNCTION {n.dashify}4519 { ’t :=4520 ""4521 { t empty$ not }4522 { t #1 #1 substring$ "-" =4523 { t #1 #2 substring$ "--" = not4524 { "--" *4525 t #2 global.max$ substring$ ’t :=4526 }4527 { { t #1 #1 substring$ "-" = }4528 { "-" *4529 t #2 global.max$ substring$ ’t :=4530 }4531 while$4532 }4533 if$4534 }4535 { t #1 #1 substring$ *4536 t #2 global.max$ substring$ ’t :=4537 }

114

Page 115: Multilingual bibliographies: The babelbib package - CTAN

4538 if$4539 }4540 while$4541 }4542

4543 FUNCTION {format.date}4544 { year empty$4545 { month empty$4546 { "" }4547 { "there’s a month but no year in " cite$ * warning$4548 month4549 }4550 if$4551 }4552 { month empty$4553 ’year4554 〈/bststd〉4555 〈∗bststd&!bstshort〉4556 { "\btxprintmonthyear{.}{"4557 month * "}{" * year * "}{long}" *4558 }4559 〈/bststd&!bstshort〉4560 〈∗bststd & bstshort〉4561 { "\btxprintmonthyear{.}{"4562 month * "}{" * year * "}{short}" *4563 }4564 〈/bststd & bstshort〉4565 〈∗bststd〉4566 if$4567 }4568 if$4569 }4570

4571 FUNCTION {format.btitle}4572 { title titlefont4573 }4574

4575 FUNCTION {tie.or.space.connect}4576 { duplicate$ text.length$ #3 <4577 { "~" }4578 { "\ " }4579 if$4580 swap$ * *4581 }4582

4583 FUNCTION {volume.tie.or.space.connect}4584 { duplicate$ text.length$ #3 <4585 { "~" }

115

Page 116: Multilingual bibliographies: The babelbib package - CTAN

4586 { "\ " }4587 if$4588 swap$ volumefont * *4589 }4590

4591 FUNCTION {either.or.check}4592 { empty$4593 ’pop$4594 { "can’t use both " swap$ * " fields in " * cite$ * warning$ }4595 if$4596 }4597

4598 FUNCTION {format.bvolume}4599 { volume empty$4600 { "" }4601 { output.state after.block =4602 〈/bststd〉4603 〈bststd&!bstshort〉 { "\Btxvolumelong {}" }4604 〈bststd&!bstshort〉 { "\btxvolumelong {}" }4605 〈bststd & bstshort〉 { "\Btxvolumeshort {.}" }4606 〈bststd & bstshort〉 { "\btxvolumeshort {.}" }4607 〈∗bststd〉4608 if$4609 volume volume.tie.or.space.connect4610 series empty$4611 ’skip$4612 〈/bststd〉4613 〈bststd&!bstshort〉 { " \btxofserieslong {}\ " * series titlefont * }4614 〈bststd & bstshort〉 { " \btxofseriesshort {.}\ " * series titlefont * }4615 〈∗bststd〉4616 if$4617 "volume and number" number either.or.check4618 }4619 if$4620 }4621

4622 FUNCTION {format.number.series}4623 { volume empty$4624 { number empty$4625 { series field.or.null }4626 { output.state mid.sentence =4627 〈/bststd〉4628 〈bststd&!bstshort〉 { "\btxnumberlong {}" }4629 〈bststd&!bstshort〉 { "\Btxnumberlong {}" }4630 〈bststd & bstshort〉 { "\btxnumbershort {.}" }4631 〈bststd & bstshort〉 { "\Btxnumbershort {.}" }4632 〈∗bststd〉4633 if$4634 number tie.or.space.connect

116

Page 117: Multilingual bibliographies: The babelbib package - CTAN

4635 series empty$4636 { "there’s a number but no series in " cite$ * warning$ }4637 〈/bststd〉4638 〈bststd&!bstshort〉 { " \btxinserieslong {}\ " * series titlefont * }4639 〈bststd & bstshort〉 { " \btxinseriesshort {.}\ " * series titlefont * }4640 〈∗bststd〉4641 if$4642 }4643 if$4644 }4645 { "" }4646 if$4647 }4648

4649 FUNCTION {format.edition}4650 { edition empty$4651 { "" }4652 {4653 〈/bststd〉

Handle the edition first to get the beginning of the sentence. Afterwards, the textbefore the edition is put to the stack and exchanged with the edition number itself.

4654 〈∗bststd&!bstshort〉4655 output.state mid.sentence =4656 { edition "l" change.case$ }4657 { edition "t" change.case$ }4658 if$4659 "\btxeditionnumlong {" swap$ *4660 "}{}" *4661 〈/bststd&!bstshort〉4662 〈∗bststd & bstshort〉4663 output.state mid.sentence =4664 { edition "l" change.case$ }4665 { edition "t" change.case$ }4666 if$4667 "\btxeditionnumshort {" swap$ *4668 "}{.}" *4669 〈/bststd & bstshort〉4670 〈∗bststd〉4671 }4672 if$4673 }46744675 FUNCTION {format.isbn}4676 { isbn empty$4677 { "" }4678 { "\mbox{\btxISBN~\btxISBNfont {" isbn * "}}" * }4679 if$4680 }4681

117

Page 118: Multilingual bibliographies: The babelbib package - CTAN

4682 FUNCTION {format.issn}4683 { issn empty$4684 { "" }4685 { "\mbox{\btxISSN~\btxISSNfont {" issn * "}}" * }4686 if$4687 }

4688 FUNCTION {format.url}4689 { url empty$4690 { "" }4691 {4692 urldate empty$4693 { "{\latintext \btxurlfont{" url * "}}" * }4694 {4695 "{\latintext \btxurlfont{" url * "}}\empty " *4696 "\btxurldatecomment {\btxkeywordlanguage {\btxurldatefont{" *4697 urldate * "}}}" *4698 }4699 if$4700 }4701 if$4702 }

Format annotations:4703 FUNCTION {write.annote}4704 { annote empty$4705 ’skip$4706 {4707 annotelanguage empty$4708 { "\btxkeywordlanguage {" }4709 { "{\selectlanguage {" annotelanguage * "}" * }4710 if$4711 "\btxannotation {" * annote * "}}" *4712 write$ newline$4713 }4714 if$4715 }

4716 INTEGERS { multiresult }4717

4718 FUNCTION {multi.page.check}4719 { ’t :=4720 #0 ’multiresult :=4721 { multiresult not4722 t empty$ not4723 and4724 }4725 { t #1 #1 substring$4726 duplicate$ "-" =4727 swap$ duplicate$ "," =4728 swap$ "+" =

118

Page 119: Multilingual bibliographies: The babelbib package - CTAN

4729 or or4730 { #1 ’multiresult := }4731 { t #2 global.max$ substring$ ’t := }4732 if$4733 }4734 while$4735 multiresult4736 }4737

4738 FUNCTION {format.pages}4739 { pages empty$4740 { "" }4741 { pages multi.page.check4742 〈/bststd〉4743 〈∗bststd&!bstshort〉4744 { "\btxpageslong {}" pages n.dashify tie.or.space.connect }4745 { "\btxpagelong {}" pages tie.or.space.connect }4746 〈/bststd&!bstshort〉4747 〈∗bststd & bstshort〉4748 { "\btxpagesshort {.}" pages n.dashify tie.or.space.connect }4749 { "\btxpageshort {.}" pages tie.or.space.connect }4750 〈/bststd & bstshort〉4751 〈∗bststd〉4752 if$4753 }4754 if$4755 }4756

4757 FUNCTION {format.vol.num.pages}4758 { volume field.or.null4759 number empty$4760 ’skip$4761 { "(" number * ")" * *4762 volume empty$4763 { "there’s a number but no volume in " cite$ * warning$ }4764 ’skip$4765 if$4766 }4767 if$4768 pages empty$4769 ’skip$4770 { duplicate$ empty$4771 { pop$ format.pages }4772 { ":" * pages n.dashify * }4773 if$4774 }4775 if$4776 }4777

119

Page 120: Multilingual bibliographies: The babelbib package - CTAN

4778 FUNCTION {format.chapter.pages}4779 { chapter empty$4780 ’format.pages4781 { type empty$4782 〈/bststd〉4783 〈bststd&!bstshort〉 { "\btxchapterlong {}" }4784 〈bststd & bstshort〉 { "\btxchaptershort {.}" }4785 〈∗bststd〉4786 { type "l" language.change.case }4787 if$4788 chapter tie.or.space.connect4789 pages empty$4790 ’skip$4791 { ", " * format.pages * }4792 if$4793 }4794 if$4795 }47964797 FUNCTION {format.in.ed.booktitle}4798 { booktitle empty$4799 { "" }4800 { editor empty$4801 〈/bststd〉4802 〈∗bststd&!bstshort〉4803 { "\Btxinlong {}\ " booktitle titlefont * }4804 { "\Btxinlong {}\ " format.editors * ": " * booktitle titlefont * }4805 〈/bststd&!bstshort〉4806 〈∗bststd & bstshort〉4807 { "\Btxinshort {.}\ " booktitle titlefont * }4808 { "\Btxinshort {.}\ " format.editors * ": " * booktitle titlefont * }4809 〈/bststd & bstshort〉4810 〈∗bststd〉4811 if$4812 }4813 if$4814 }4815

4816 FUNCTION {empty.misc.check}4817 { author empty$ title empty$ howpublished empty$4818 month empty$ year empty$ note empty$4819 and and and and and4820 key empty$ not and4821 { "all relevant fields are empty in " cite$ * warning$ }4822 ’skip$4823 if$4824 }4825

4826 FUNCTION {format.thesis.type}

120

Page 121: Multilingual bibliographies: The babelbib package - CTAN

4827 { type empty$4828 ’skip$4829 { pop$4830 type "t" language.change.case4831 }4832 if$4833 }4834

4835 FUNCTION {format.tr.number}4836 {4837 number empty$4838 {4839 type empty$4840 〈/bststd〉

4841 〈bststd&!bstshort〉 { "\btxtechreplong {}" }4842 〈bststd & bstshort〉 { "\btxtechrepshort {.}" }4843 〈∗bststd〉4844 { type "t" language.change.case }4845 if$4846 }4847 {4848 type empty$4849 〈/bststd〉

4850 〈bststd&!bstshort〉 { "\Btxtechreplong {}" }4851 〈bststd & bstshort〉 { "\Btxtechrepshort {.}" }4852 〈∗bststd〉4853 { type "t" language.change.case }4854 if$4855 number tie.or.space.connect4856 }4857 if$4858 }4859

4860 FUNCTION {format.article.crossref}4861 { key empty$4862 〈/bststd〉4863 〈∗bststd&!bstshort〉4864 { journal empty$4865 { "need key or journal for " cite$ * " to crossref " * crossref *4866 warning$4867 ""4868 }4869 { "\Btxinlong {}\ " journal titlefont * }4870 if$4871 }4872 { "\Btxinlong {}\ " key titlefont * }4873 〈/bststd&!bstshort〉

121

Page 122: Multilingual bibliographies: The babelbib package - CTAN

4874 〈∗bststd & bstshort〉4875 { journal empty$4876 { "need key or journal for " cite$ * " to crossref " * crossref *4877 warning$4878 ""4879 }4880 { "\Btxinshort {.}\ " journal titlefont * }4881 if$4882 }4883 { "\Btxinshort {.}\ " key titlefont * }4884 〈/bststd & bstshort〉4885 〈∗bststd〉4886 if$4887 " \cite{" * crossref * "}" *4888 }4889

4890 FUNCTION {format.crossref.editor}4891 {4892 〈/bststd〉4893 〈∗bststd&!bstshort〉4894 editor #1 "{ll}{,~jj}{, ff}{~vv}" format.name$ namefont4895 〈/bststd&!bstshort〉4896 〈∗bststd & bstshort〉4897 editor #1 "{ll}{,~jj}{,~f.}{~vv}" format.name$ namefont4898 〈/bststd & bstshort〉4899 〈∗bststd〉4900 editor num.names$ duplicate$4901 #2 >4902 { pop$ " " "\btxetalshort {.}" etalfont * * }4903 { #2 <4904 ’skip$4905 { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =4906 { " " "\btxetalshort {.}" etalfont * * }4907 〈/bststd〉4908 〈∗bststd&!bstshort〉4909 { " \btxandlong {}\ " * editor #2 "{ff}{~vv}{~ll}{, jj}"4910 〈/bststd&!bstshort〉4911 〈∗bststd & bstshort〉4912 { " \btxandshort {.}\ " * editor #2 "{vv~}{ll}"4913 〈/bststd & bstshort〉4914 〈∗bststd〉4915 format.name$ namefont * }4916 if$4917 }4918 if$4919 }4920 if$4921 }4922

122

Page 123: Multilingual bibliographies: The babelbib package - CTAN

4923 FUNCTION {format.book.crossref}4924 { volume empty$4925 { "empty volume in " cite$ * "’s crossref of " * crossref * warning$4926 〈/bststd〉4927 〈bststd&!bstshort〉 "\Btxinlong {}\ "4928 〈bststd & bstshort〉 "\Btxinshort {.}\ "4929 〈∗bststd〉4930 }4931 〈/bststd〉4932 〈∗bststd&!bstshort〉4933 { "\Btxvolumelong {}" volume volume.tie.or.space.connect4934 " \btxofserieslong {}\ " *4935 〈/bststd&!bstshort〉4936 〈∗bststd & bstshort〉4937 { "\Btxvolumeshort {.}" volume volume.tie.or.space.connect4938 " \btxofseriesshort {.}\ " *4939 〈/bststd & bstshort〉4940 〈∗bststd〉4941 }4942 if$4943 editor empty$4944 editor field.or.null author field.or.null =4945 or4946 { key empty$4947 { series empty$4948 { "need editor, key, or series for " cite$ * " to crossref " *4949 crossref * warning$4950 "" *4951 }4952 { series titlefont * }4953 if$4954 }4955 { key titlefont * }4956 if$4957 }4958 { format.crossref.editor * }4959 if$4960 " \cite{" * crossref * "}" *4961 }4962

4963 FUNCTION {format.incoll.inproc.crossref}4964 { editor empty$4965 editor field.or.null author field.or.null =4966 or4967 { key empty$4968 { booktitle empty$4969 { "need editor, key, or booktitle for " cite$ * " to crossref " *4970 crossref * warning$4971 ""

123

Page 124: Multilingual bibliographies: The babelbib package - CTAN

4972 }4973 〈/bststd〉4974 〈bststd&!bstshort〉 { "\Btxinlong {}\ " booktitle titlefont * }4975 〈bststd & bstshort〉 { "\Btxinshort {.}\ " booktitle titlefont * }4976 〈∗bststd〉4977 if$4978 }4979 〈/bststd〉4980 〈bststd&!bstshort〉 { "\Btxinlong {}\ " key titlefont * }4981 〈bststd & bstshort〉 { "\Btxinshort {.}\ " key titlefont * }4982 〈∗bststd〉4983 if$4984 }4985 〈/bststd〉4986 〈bststd&!bstshort〉 { "\Btxinlong {}\ " format.crossref.editor * }4987 〈bststd & bstshort〉 { "\Btxinshort {.}\ " format.crossref.editor * }4988 〈∗bststd〉4989 if$4990 " \cite{" * crossref * "}" *4991 }4992

4993 FUNCTION {article}4994 { output.bibitem4995 format.authors "author" output.check4996 after.authors4997 format.jtitle "title" output.check4998 new.block4999 crossref missing$5000 { journal5001 title missing$5002 { titlefont }5003 { journalfont }5004 if$5005 "journal" output.check5006 format.vol.num.pages output5007 format.date "year" output.check5008 }5009 { format.article.crossref output.nonnull5010 format.pages output5011 }5012 if$5013 format.issn "\ifbtxprintISSN" output.isbn5014 new.block5015 format.url output5016 note output5017 fin.entry5018 write.annote5019 }5020

124

Page 125: Multilingual bibliographies: The babelbib package - CTAN

5021 FUNCTION {book}5022 { output.bibitem5023 author empty$5024 { format.editors "author and editor" output.check }5025 { format.authors output.nonnull5026 crossref missing$5027 { "author and editor" editor either.or.check }5028 ’skip$5029 if$5030 }5031 if$5032 after.authors5033 format.btitle "title" output.check5034 crossref missing$5035 { format.bvolume output5036 new.block5037 format.number.series output5038 new.sentence5039 publisher "publisher" output.check publisherfont5040 address output5041 }5042 { new.block5043 format.book.crossref output.nonnull5044 }5045 if$5046 format.edition output5047 format.date "year" output.check5048 format.isbn "\ifbtxprintISBN" output.isbn5049 new.block5050 format.url output5051 note output5052 fin.entry5053 write.annote5054 }5055

5056 FUNCTION {booklet}5057 { output.bibitem5058 format.authors output5059 after.authors5060 format.title "title" output.check5061 howpublished address new.block.checkb5062 howpublished output5063 address output5064 format.date output5065 new.block5066 format.url output5067 note output5068 fin.entry5069 write.annote

125

Page 126: Multilingual bibliographies: The babelbib package - CTAN

5070 }5071

5072 FUNCTION {inbook}5073 { output.bibitem5074 author empty$5075 { format.editors "author and editor" output.check }5076 { format.authors output.nonnull5077 crossref missing$5078 { "author and editor" editor either.or.check }5079 ’skip$5080 if$5081 }5082 if$5083 after.authors5084 format.btitle "title" output.check5085 crossref missing$5086 { format.bvolume output5087 format.chapter.pages "chapter and pages" output.check5088 new.block5089 format.number.series output5090 new.sentence5091 publisher "publisher" output.check publisherfont5092 address output5093 }5094 { format.chapter.pages "chapter and pages" output.check5095 new.block5096 format.book.crossref output.nonnull5097 }5098 if$5099 format.edition output5100 format.date "year" output.check5101 format.isbn "\ifbtxprintISBN" output.isbn5102 new.block5103 format.url output5104 note output5105 fin.entry5106 write.annote5107 }5108

5109 FUNCTION {incollection}5110 { output.bibitem5111 format.authors "author" output.check5112 after.authors5113 format.title "title" output.check5114 new.block5115 crossref missing$5116 { format.in.ed.booktitle "booktitle" output.check5117 format.bvolume output5118 format.number.series output

126

Page 127: Multilingual bibliographies: The babelbib package - CTAN

5119 format.chapter.pages output5120 new.sentence5121 publisher "publisher" output.check publisherfont5122 address output5123 format.edition output5124 format.date "year" output.check5125 }5126 { format.incoll.inproc.crossref output.nonnull5127 format.chapter.pages output5128 }5129 if$5130 format.isbn "\ifbtxprintISBN" output.isbn5131 new.block5132 format.url output5133 note output5134 fin.entry5135 write.annote5136 }5137

5138 FUNCTION {inproceedings}5139 { output.bibitem5140 format.authors "author" output.check5141 after.authors5142 format.title "title" output.check5143 new.block5144 crossref missing$5145 { format.in.ed.booktitle "booktitle" output.check5146 format.bvolume output5147 format.number.series output5148 format.pages output5149 address empty$5150 { organization publisher new.sentence.checkb5151 organization output5152 publisher publisherfont output5153 format.date "year" output.check5154 }5155 { address output.nonnull5156 format.date "year" output.check5157 new.sentence5158 organization output5159 publisher publisherfont output5160 }5161 if$5162 }5163 { format.incoll.inproc.crossref output.nonnull5164 format.pages output5165 }5166 if$5167 format.isbn "\ifbtxprintISBN" output.isbn

127

Page 128: Multilingual bibliographies: The babelbib package - CTAN

5168 new.block5169 format.url output5170 note output5171 fin.entry5172 write.annote5173 }5174

5175 FUNCTION {conference} { inproceedings }5176

5177 FUNCTION {manual}5178 { output.bibitem5179 author empty$5180 { organization empty$5181 ’skip$5182 { organization output.nonnull5183 address output5184 }5185 if$5186 }5187 { format.authors output.nonnull }5188 if$5189 after.authors5190 format.btitle "title" output.check5191 author empty$5192 { organization empty$5193 { address new.block.checka5194 address output5195 }5196 ’skip$5197 if$5198 }5199 { organization address new.block.checkb5200 organization output5201 address output5202 }5203 if$5204 format.edition output5205 format.date output5206 format.isbn "\ifbtxprintISBN" output.isbn5207 new.block5208 format.url output5209 note output5210 fin.entry5211 write.annote5212 }5213

5214 FUNCTION {mastersthesis}5215 { output.bibitem5216 format.authors "author" output.check

128

Page 129: Multilingual bibliographies: The babelbib package - CTAN

5217 after.authors5218 format.title "title" output.check5219 new.block5220 "\btxmastthesis {}" format.thesis.type output.nonnull5221 school "school" output.check5222 address output5223 format.date "year" output.check5224 new.block5225 format.url output5226 note output5227 fin.entry5228 write.annote5229 }5230

5231 FUNCTION {misc}5232 { output.bibitem5233 format.authors output5234 title howpublished new.block.checkc5235 format.title output5236 howpublished new.block.checka5237 howpublished output5238 format.date output5239 format.isbn "\ifbtxprintISBN" output.isbn5240 new.block5241 format.issn "\ifbtxprintISSN" output.isbn5242 new.block5243 format.url output5244 note output5245 fin.entry5246 write.annote5247 empty.misc.check5248 }5249

5250 FUNCTION {phdthesis}5251 { output.bibitem5252 format.authors "author" output.check5253 after.authors5254 format.btitle "title" output.check5255 new.block5256 "\btxphdthesis {}" format.thesis.type output.nonnull5257 school "school" output.check5258 address output5259 format.date "year" output.check5260 format.isbn "\ifbtxprintISBN" output.isbn5261 new.block5262 format.url output5263 note output5264 fin.entry5265 write.annote

129

Page 130: Multilingual bibliographies: The babelbib package - CTAN

5266 }5267

5268 FUNCTION {proceedings}5269 { output.bibitem5270 editor empty$5271 { organization output }5272 { format.editors output.nonnull }5273 if$5274 after.authors5275 format.btitle "title" output.check5276 format.bvolume output5277 format.number.series output5278 address empty$5279 { editor empty$5280 { publisher new.sentence.checka }5281 { organization publisher new.sentence.checkb5282 organization output5283 }5284 if$5285 publisher publisherfont output5286 format.date "year" output.check5287 }5288 { address output.nonnull5289 format.date "year" output.check5290 new.sentence5291 editor empty$5292 ’skip$5293 { organization output }5294 if$5295 publisher publisherfont output5296 }5297 if$5298 format.isbn "\ifbtxprintISBN" output.isbn5299 new.block5300 format.url output5301 note output5302 fin.entry5303 write.annote5304 }5305

5306 FUNCTION {techreport}5307 { output.bibitem5308 format.authors "author" output.check5309 after.authors5310 format.title "title" output.check5311 new.block5312 format.tr.number output.nonnull5313 institution "institution" output.check5314 address output

130

Page 131: Multilingual bibliographies: The babelbib package - CTAN

5315 format.date "year" output.check5316 format.isbn "\ifbtxprintISBN" output.isbn5317 new.block5318 format.url output5319 note output5320 fin.entry5321 write.annote5322 }5323

5324 FUNCTION {unpublished}5325 { output.bibitem5326 format.authors "author" output.check5327 after.authors5328 format.title "title" output.check5329 new.block5330 format.url output5331 note "note" output.check5332 format.date output5333 fin.entry5334 write.annote5335 }5336

5337 FUNCTION {default.type} { misc }53385339 〈/bststd〉

Months and journals:5340 〈∗bststd&!bstshort〉5341 MACRO {jan} {"1"}5342 MACRO {feb} {"2"}5343 MACRO {mar} {"3"}5344 MACRO {apr} {"4"}5345 MACRO {may} {"5"}5346 MACRO {jun} {"6"}5347 MACRO {jul} {"7"}5348 MACRO {aug} {"8"}5349 MACRO {sep} {"9"}5350 MACRO {oct} {"10"}5351 MACRO {nov} {"11"}5352 MACRO {dec} {"12"}5353 MACRO {acmcs} {"ACM Computing Surveys"}5354 MACRO {acta} {"Acta Informatica"}5355 MACRO {cacm} {"Communications of the ACM"}5356 MACRO {ibmjrd} {"IBM Journal of Research and Development"}5357 MACRO {ibmsj} {"IBM Systems Journal"}5358 MACRO {ieeese} {"IEEE Transactions on Software Engineering"}5359 MACRO {ieeetc} {"IEEE Transactions on Computers"}5360 MACRO {ieeetcad}5361 {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}

131

Page 132: Multilingual bibliographies: The babelbib package - CTAN

5362 MACRO {ipl} {"Information Processing Letters"}5363 MACRO {jacm} {"Journal of the ACM"}5364 MACRO {jcss} {"Journal of Computer and System Sciences"}5365 MACRO {scp} {"Science of Computer Programming"}5366 MACRO {sicomp} {"SIAM Journal on Computing"}5367 MACRO {tocs} {"ACM Transactions on Computer Systems"}5368 MACRO {tods} {"ACM Transactions on Database Systems"}5369 MACRO {tog} {"ACM Transactions on Graphics"}5370 MACRO {toms} {"ACM Transactions on Mathematical Software"}5371 MACRO {toois} {"ACM Transactions on Office Information Systems"}5372 MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}5373 MACRO {tcs} {"Theoretical Computer Science"}5374 〈/bststd&!bstshort〉5375 〈∗bststd & bstshort〉5376 MACRO {jan} {"1"}5377 MACRO {feb} {"2"}5378 MACRO {mar} {"3"}5379 MACRO {apr} {"4"}5380 MACRO {may} {"5"}5381 MACRO {jun} {"6"}5382 MACRO {jul} {"7"}5383 MACRO {aug} {"8"}5384 MACRO {sep} {"9"}5385 MACRO {oct} {"10"}5386 MACRO {nov} {"11"}5387 MACRO {dec} {"12"}5388 MACRO {acmcs} {"ACM Comput.\ Surv.{}"}5389 MACRO {acta} {"Acta Inf.{}"}5390 MACRO {cacm} {"Commun. ACM"}5391 MACRO {ibmjrd} {"IBM J.~Res.\ Dev.{}"}5392 MACRO {ibmsj} {"IBM Syst.~J.{}"}5393 MACRO {ieeese} {"IEEE Trans.\ Softw.\ Eng.{}"}5394 MACRO {ieeetc} {"IEEE Trans.\ Comput.{}"}5395 MACRO {ieeetcad}5396 {"IEEE Trans.\ Comput.-Aided Design Integrated Circuits"}5397 MACRO {ipl} {"Inf.\ Process.\ Lett.{}"}5398 MACRO {jacm} {"J.~ACM"}5399 MACRO {jcss} {"J.~Comput.\ Syst.\ Sci.{}"}5400 MACRO {scp} {"Sci.\ Comput.\ Programming"}5401 MACRO {sicomp} {"SIAM J.~Comput.{}"}5402 MACRO {tocs} {"ACM Trans.\ Comput.\ Syst.{}"}5403 MACRO {tods} {"ACM Trans.\ Database Syst.{}"}5404 MACRO {tog} {"ACM Trans.\ Gr.{}"}5405 MACRO {toms} {"ACM Trans.\ Math.\ Softw.{}"}5406 MACRO {toois} {"ACM Trans.\ Office Inf.\ Syst.{}"}5407 MACRO {toplas} {"ACM Trans.\ Prog.\ Lang.\ Syst.{}"}5408 MACRO {tcs} {"Theoretical Comput.\ Sci.{}"}5409 〈/bststd & bstshort〉Action.

132

Page 133: Multilingual bibliographies: The babelbib package - CTAN

5410 〈∗bststd〉54115412 READ54135414 〈/bststd〉

10.1.2 Sorted bibliographies

This code is only used for sorted bibliographies.5415 〈∗bststd&!bstunsorted〉5416 FUNCTION {sortify}5417 { purify$5418 "l" change.case$5419 }5420

5421 INTEGERS { len }5422

5423 FUNCTION {chop.word}5424 { ’s :=5425 ’len :=5426 s #1 len substring$ =5427 { s len #1 + global.max$ substring$ }5428 ’s5429 if$5430 }54315432 〈/bststd&!bstunsorted〉5433 〈∗bststd & bstalpha〉

5434 INTEGERS { et.al.char.used }5435

5436 FUNCTION {initialize.et.al.char.used}5437 { #0 ’et.al.char.used :=5438 }5439

5440 EXECUTE {initialize.et.al.char.used}5441

5442 FUNCTION {format.lab.names}5443 { ’s :=5444 s num.names$ ’numnames :=5445 numnames #1 >5446 { numnames #4 >5447 { #3 ’namesleft := }5448 { numnames ’namesleft := }5449 if$5450 #1 ’nameptr :=5451 ""5452 { namesleft #0 > }

133

Page 134: Multilingual bibliographies: The babelbib package - CTAN

5453 { nameptr numnames =5454 { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =5455 { "{\etalchar{+}}" *5456 #1 ’et.al.char.used :=5457 }5458 { s nameptr "{v{}}{l{}}" format.name$ * }5459 if$5460 }5461 { s nameptr "{v{}}{l{}}" format.name$ * }5462 if$5463 nameptr #1 + ’nameptr :=5464 namesleft #1 - ’namesleft :=5465 }5466 while$5467 numnames #4 >5468 { "{\etalchar{+}}" *5469 #1 ’et.al.char.used :=5470 }5471 ’skip$5472 if$5473 }5474 { s #1 "{v{}}{l{}}" format.name$5475 duplicate$ text.length$ #2 <5476 { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }5477 ’skip$5478 if$5479 }5480 if$5481 }5482

5483 FUNCTION {author.key.label}5484 { author empty$5485 { key empty$5486 { cite$ #1 #3 substring$ }5487 { key #3 text.prefix$ }5488 if$5489 }5490 { author format.lab.names }5491 if$5492 }5493

5494 FUNCTION {author.editor.key.label}5495 { author empty$5496 { editor empty$5497 { key empty$5498 { cite$ #1 #3 substring$ }5499 { key #3 text.prefix$ }5500 if$5501 }

134

Page 135: Multilingual bibliographies: The babelbib package - CTAN

5502 { editor format.lab.names }5503 if$5504 }5505 { author format.lab.names }5506 if$5507 }5508

5509 FUNCTION {author.key.organization.label}5510 { author empty$5511 { key empty$5512 { organization empty$5513 { cite$ #1 #3 substring$ }5514 { "The " #4 organization chop.word #3 text.prefix$ }5515 if$5516 }5517 { key #3 text.prefix$ }5518 if$5519 }5520 { author format.lab.names }5521 if$5522 }5523

5524 FUNCTION {editor.key.organization.label}5525 { editor empty$5526 { key empty$5527 { organization empty$5528 { cite$ #1 #3 substring$ }5529 { "The " #4 organization chop.word #3 text.prefix$ }5530 if$5531 }5532 { key #3 text.prefix$ }5533 if$5534 }5535 { editor format.lab.names }5536 if$5537 }5538

5539 FUNCTION {calc.label}5540 { type$ "book" =5541 type$ "inbook" =5542 or5543 ’author.editor.key.label5544 { type$ "proceedings" =5545 ’editor.key.organization.label5546 { type$ "manual" =5547 ’author.key.organization.label5548 ’author.key.label5549 if$5550 }

135

Page 136: Multilingual bibliographies: The babelbib package - CTAN

5551 if$5552 }5553 if$5554 duplicate$5555 year field.or.null purify$ #-1 #2 substring$5556 *5557 ’label :=5558 year field.or.null purify$ #-1 #4 substring$5559 *5560 sortify ’sort.label :=5561 }55625563 〈/bststd & bstalpha〉5564 〈∗bststd&!bstunsorted〉

5565 FUNCTION {sort.format.names}5566 { ’s :=5567 #1 ’nameptr :=5568 ""5569 s num.names$ ’numnames :=5570 numnames ’namesleft :=5571 { namesleft #0 > }5572 { nameptr #1 >5573 { " " * }5574 ’skip$5575 if$5576 〈/bststd&!bstunsorted〉

5577 〈∗bststd&!bstshort&!bstunsorted〉5578 s nameptr "{ll{ }}{ ff{ }}{vv{ } }{ jj{ }}" format.name$ ’t :=5579 〈/bststd&!bstshort&!bstunsorted〉5580 〈∗bststd & bstshort&!bstunsorted〉5581 s nameptr "{ll{ }}{ f{ }}{vv{ } }{ jj{ }}" format.name$ ’t :=5582 〈/bststd & bstshort&!bstunsorted〉5583 〈∗bststd&!bstunsorted〉5584 nameptr numnames = t "others" = and5585 { "et al" * }5586 { t sortify * }5587 if$5588 nameptr #1 + ’nameptr :=5589 namesleft #1 - ’namesleft :=5590 }5591 while$5592 }5593

5594 FUNCTION {sort.format.title}5595 { ’t :=5596 "A " #25597 "An " #35598 "The " #4 t chop.word

136

Page 137: Multilingual bibliographies: The babelbib package - CTAN

5599 chop.word5600 chop.word5601 sortify5602 #1 global.max$ substring$5603 }5604

5605 FUNCTION {author.sort}5606 { author empty$5607 { key empty$5608 { "to sort, need author or key in " cite$ * warning$5609 ""5610 }5611 { key sortify }5612 if$5613 }5614 { author sort.format.names }5615 if$5616 }5617

5618 FUNCTION {author.editor.sort}5619 { author empty$5620 { editor empty$5621 { key empty$5622 { "to sort, need author, editor, or key in " cite$ * warning$5623 ""5624 }5625 { key sortify }5626 if$5627 }5628 { editor sort.format.names }5629 if$5630 }5631 { author sort.format.names }5632 if$5633 }5634

5635 FUNCTION {author.organization.sort}5636 { author empty$5637 { organization empty$5638 { key empty$5639 { "to sort, need author, organization, or key in " cite$ * warning$5640 ""5641 }5642 { key sortify }5643 if$5644 }5645 { "The " #4 organization chop.word sortify }5646 if$5647 }

137

Page 138: Multilingual bibliographies: The babelbib package - CTAN

5648 { author sort.format.names }5649 if$5650 }5651

5652 FUNCTION {editor.organization.sort}5653 { editor empty$5654 { organization empty$5655 { key empty$5656 { "to sort, need editor, organization, or key in " cite$ * warning$5657 ""5658 }5659 { key sortify }5660 if$5661 }5662 { "The " #4 organization chop.word sortify }5663 if$5664 }5665 { editor sort.format.names }5666 if$5667 }5668

5669 FUNCTION {presort}5670 {5671 〈/bststd&!bstunsorted〉5672 〈∗bststd & bstalpha〉5673 calc.label5674 sort.label5675 " "5676 *5677 〈/bststd & bstalpha〉5678 〈∗bststd&!bstunsorted〉5679 type$ "book" =5680 type$ "inbook" =5681 or5682 ’author.editor.sort5683 { type$ "proceedings" =5684 ’editor.organization.sort5685 { type$ "manual" =5686 ’author.organization.sort5687 ’author.sort5688 if$5689 }5690 if$5691 }5692 if$5693 〈/bststd&!bstunsorted〉5694 〈bststd & bstalpha〉 *5695 〈∗bststd&!bstunsorted〉5696 " "

138

Page 139: Multilingual bibliographies: The babelbib package - CTAN

5697 *5698 year field.or.null sortify5699 *5700 " "5701 *5702 title field.or.null5703 sort.format.title5704 *5705 #1 entry.max$ substring$5706 ’sort.key$ :=5707 }5708

5709 ITERATE {presort}5710

5711 SORT57125713 〈/bststd&!bstunsorted〉5714 〈∗bststd&!bstalpha〉

5715 STRINGS { longest.label }5716

5717 INTEGERS { number.label longest.label.width }5718

5719 FUNCTION {initialize.longest.label}5720 { "" ’longest.label :=5721 #1 ’number.label :=5722 #0 ’longest.label.width :=5723 }5724

5725 FUNCTION {longest.label.pass}5726 { number.label int.to.str$ ’label :=5727 number.label #1 + ’number.label :=5728 label width$ longest.label.width >5729 { label ’longest.label :=5730 label width$ ’longest.label.width :=5731 }5732 ’skip$5733 if$5734 }5735 〈/bststd&!bstalpha〉5736 〈∗bststd & bstalpha〉

5737 STRINGS { longest.label last.sort.label next.extra }5738

5739 INTEGERS { longest.label.width last.extra.num }5740

5741 FUNCTION {initialize.longest.label}5742 { "" ’longest.label :=

139

Page 140: Multilingual bibliographies: The babelbib package - CTAN

5743 #0 int.to.chr$ ’last.sort.label :=5744 "" ’next.extra :=5745 #0 ’longest.label.width :=5746 #0 ’last.extra.num :=5747 }5748

5749 FUNCTION {forward.pass}5750 { last.sort.label sort.label =5751 { last.extra.num #1 + ’last.extra.num :=5752 last.extra.num int.to.chr$ ’extra.label :=5753 }5754 { "a" chr.to.int$ ’last.extra.num :=5755 "" ’extra.label :=5756 sort.label ’last.sort.label :=5757 }5758 if$5759 }5760

5761 FUNCTION {reverse.pass}5762 { next.extra "b" =5763 { "a" ’extra.label := }5764 ’skip$5765 if$5766 label extra.label * ’label :=5767 label width$ longest.label.width >5768 { label ’longest.label :=5769 label width$ ’longest.label.width :=5770 }5771 ’skip$5772 if$5773 extra.label ’next.extra :=5774 }5775 〈/bststd & bstalpha〉

10.1.3 Generic code

5776 〈∗bststd〉57775778 EXECUTE {initialize.longest.label}57795780 〈/bststd〉5781 〈bststd&!bstalpha〉ITERATE {longest.label.pass}5782 〈bststd & bstalpha〉ITERATE {forward.pass}5783 〈bststd & bstalpha〉REVERSE {reverse.pass}5784 〈∗bststd〉5785

5786 FUNCTION {begin.bib}5787 {5788 〈/bststd〉

140

Page 141: Multilingual bibliographies: The babelbib package - CTAN

5789 〈∗bststd & bstalpha〉5790 et.al.char.used5791 { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }5792 ’skip$5793 if$5794 〈/bststd & bstalpha〉5795 〈∗bststd〉5796 preamble$ empty$5797 ’skip$5798 { preamble$ write$ newline$ }5799 if$5800 "\begin{thebibliography}{" longest.label * "}" * write$ newline$5801 " \providebibliographyfont{name}{}%" write$ newline$5802 " \providebibliographyfont{lastname}{}%" write$ newline$5803 " \providebibliographyfont{title}{\emph}%" write$ newline$5804 " \providebibliographyfont{jtitle}{\btxtitlefont}%" write$ newline$5805 " \providebibliographyfont{etal}{\emph}%" write$ newline$5806 " \providebibliographyfont{journal}{}%" write$ newline$5807 " \providebibliographyfont{volume}{}%" write$ newline$5808 " \providebibliographyfont{ISBN}{\MakeUppercase}%" write$ newline$5809 " \providebibliographyfont{ISSN}{\MakeUppercase}%" write$ newline$5810 " \providebibliographyfont{url}{\url}%" write$ newline$5811 " \providebibliographyfont{numeral}{}%" write$ newline$5812 " \expandafter\btxselectlanguage\expandafter {\btxfallbacklanguage}"5813 write$ newline$5814 }5815

5816 EXECUTE {begin.bib}5817

5818 EXECUTE {init.state.consts}5819

5820 ITERATE {call.type$}5821

5822 FUNCTION {end.bib}5823 { newline$5824 "\end{thebibliography}" write$ newline$5825 }5826

5827 EXECUTE {end.bib}5828 〈/bststd〉

10.2 AMS stylesThe following BibTEX styles are derived from the AMS BibTEX-style-files by theAmerican Mathematical Society. For example, see ‘amsplain.bst’ for more docu-mentation about the original.

5829 〈∗bstams〉5830 ENTRY

141

Page 142: Multilingual bibliographies: The babelbib package - CTAN

5831 { address5832 annote5833 annotelanguage5834 author5835 booktitle5836 chapter5837 edition5838 editor5839 howpublished5840 institution5841 isbn5842 issn5843 journal5844 key5845 language5846 month5847 mrnumber5848 note5849 number5850 organization5851 pages5852 publisher5853 school5854 series5855 title5856 type5857 url5858 urldate5859 volume5860 year5861 }5862 {}5863 { label bysame }586458655866 INTEGERS { output.state before.all mid.sentence }58675868 FUNCTION {init.state.consts}5869 { #0 ’before.all :=5870 #1 ’mid.sentence :=5871 }58725873 STRINGS { s t language.state change.temp}58745875 FUNCTION {shows}5876 { duplicate$ ":::: ‘" swap$ * "’" * top$5877 }58785879 FUNCTION {showstack}5880 {"STACK================================================================"

142

Page 143: Multilingual bibliographies: The babelbib package - CTAN

5881 top$5882 stack$5883 "ENDSTACK============================================================="5884 top$5885 }58865887 FUNCTION {not}5888 { { #0 }5889 { #1 }5890 if$5891 }58925893 FUNCTION {and}5894 { ’skip$5895 { pop$ #0 }5896 if$5897 }58985899 FUNCTION {or}5900 { { pop$ #1 }5901 ’skip$5902 if$5903 }59045905 FUNCTION {language.change.case}5906 {5907 ’change.temp :=5908 ’t :=5909 "\btxifchangecase {"5910 t change.temp change.case$ *5911 "}{" *5912 t *5913 "}" *5914 }59155916 FUNCTION {field.or.null}5917 { duplicate$ empty$5918 { pop$ "" }5919 ’skip$5920 if$5921 }5922

5923 FUNCTION {namefont}5924 { duplicate$ empty$5925 { pop$ "" }5926 { "\btxnamefont {" swap$ * "}" * }5927 if$5928 }5929

143

Page 144: Multilingual bibliographies: The babelbib package - CTAN

5930 FUNCTION {lastnamefont}5931 { duplicate$ empty$5932 { pop$ "" }5933 { "\btxlastnamefont {" swap$ * "}" * }5934 if$5935 }59365937 FUNCTION {titlefont}5938 { duplicate$ empty$5939 { pop$ "" }5940 { "\btxtitlefont {" swap$ * "}" * }5941 if$5942 }59435944 FUNCTION {jtitlefont}5945 { duplicate$ empty$5946 { pop$ "" }5947 { "\btxjtitlefont {" swap$ * "}" * }5948 if$5949 }59505951 FUNCTION {journalfont}5952 { duplicate$ empty$5953 { pop$ "" }5954 { "\btxjournalfont {" swap$ * "}" * }5955 if$5956 }59575958 FUNCTION {publisherfont}5959 { duplicate$ empty$5960 { pop$ "" }5961 { "\btxpublisherfont {" swap$ * "}" * }5962 if$5963 }59645965 FUNCTION {volumefont}5966 { duplicate$ empty$5967 { pop$ "" }5968 { "\btxvolumefont {" swap$ * "}" * }5969 if$5970 }59715972 FUNCTION {etalfont}5973 { duplicate$ empty$5974 { pop$ "" }5975 { "\btxetalfont {" swap$ * "}" * }5976 if$5977 }5978

144

Page 145: Multilingual bibliographies: The babelbib package - CTAN

n.dashify is used to make sure page ranges get the TEX code (two hyphens) foren-dashes.

5979 FUNCTION {n.dashify}5980 { ’t :=5981 ""5982 { t empty$ not }5983 { t #1 #1 substring$ "-" =5984 { t #1 #2 substring$ "--" = not5985 { "--" *5986 t #2 global.max$ substring$ ’t :=5987 }5988 { { t #1 #1 substring$ "-" = }5989 { "-" *5990 t #2 global.max$ substring$ ’t :=5991 }5992 while$5993 }5994 if$5995 }5996 { t #1 #1 substring$ *5997 t #2 global.max$ substring$ ’t :=5998 }5999 if$6000 }6001 while$6002 }6003

tie.or.space.connect connects two items with a ~ if the second item is less than3 letters long, otherwise it just puts an ordinary space.

6004 FUNCTION {tie.or.space.connect}6005 { duplicate$ text.length$ #3 <6006 { "~" }6007 { "\ " }6008 if$6009 swap$ * *6010 }60116012 FUNCTION {add.space.if.necessary}6013 { duplicate$ "" =6014 ’skip$6015 { "\ " * }6016 if$6017 }6018

either.or.check gives a warning if two mutually exclusive fields were used in thedatabase.

6019 FUNCTION {either.or.check}6020 { empty$

145

Page 146: Multilingual bibliographies: The babelbib package - CTAN

6021 ’pop$6022 { "can’t use both " swap$ * " fields in " * cite$ * warning$ }6023 if$6024 }6025

output.nonnull is called by output.6026 FUNCTION {output.nonnull}

remove the top item from the stack because it’s in the way.6027 { ’s :=6028 output.state mid.sentence =

If we’re in mid-sentence, add a comma to the new top item and write it6029 { ", " * write$ }

Otherwise, if we’re at the beginning of a bibitem,6030 { output.state before.all =

just write out the top item from the stack;6031 ’write$

and the last alternative is that we’re at the end of the current bibitem, so we adda period to the top stack item and write it out.

6032 { add.period$ " " * write$ }6033 if$6034 mid.sentence ’output.state :=6035 }6036 if$

Put the top item back on the stack that we removed earlier.6037 s6038 }6039

Output checks to see if the stack top is empty; if not, it calls output.nonnull towrite it out.

6040 FUNCTION {output}6041 { duplicate$ empty$6042 ’pop$6043 ’output.nonnull6044 if$6045 }6046

Standard warning message for a missing or empty field. For the user we call anysuch field ‘missing’ without respect to the distinction made by BibTEX betweenmissing and empty.

6047 FUNCTION {missing.warning}6048 { "missing " swap$ * " in " * cite$ * warning$ }6049

146

Page 147: Multilingual bibliographies: The babelbib package - CTAN

output.check is like output except that it gives a warning on-screen if the givenfield in the database entry is empty. t is the field name.

6050 FUNCTION {output.check}6051 { ’t :=6052 duplicate$ empty$6053 { pop$ t missing.warning }6054 ’output.nonnull6055 if$6056 }60576058 FUNCTION {output.bibitem}6059 { newline$

If no language is given, fall back to the language that has been active at\begin{document}. For BibTEX, this language gets the name nolanguage.

6060 language empty$6061 { "empty language in " cite$ * warning$6062 language.state "nolanguage" =6063 ’skip$6064 {6065 "\expandafter\btxselectlanguage\expandafter {"6066 "\btxfallbacklanguage}" * write$6067 newline$6068 }6069 if$6070 "nolanguage" ’language.state :=6071 }6072 { language.state language =6073 ’skip$6074 { "\btxselectlanguage {" language * "}" * write$6075 newline$6076 }6077 if$6078 language ’language.state :=6079 }6080 if$6081 "\bibitem {" cite$ * "}" * write$6082 newline$

This empty string is the first thing that will be written the next time write$ iscalled. Done this way because each item is saved on the stack until we find outwhat punctuation should be added after it. Therefore we need an empty first item.

6083 ""6084 before.all ’output.state :=6085 }60866087 FUNCTION {output.nonempty.mrnumber}6088 { duplicate$ missing$6089 { pop$ "" }6090 ’skip$

147

Page 148: Multilingual bibliographies: The babelbib package - CTAN

6091 if$6092 duplicate$ empty$6093 ’pop$6094 { " \MR{" swap$ * "}" * write$ }6095 if$6096 }60976098 FUNCTION {fin.entry}6099 { add.period$6100 write$6101 mrnumber output.nonempty.mrnumber6102 newline$6103 }6104

Removed new.block, new.block.checka, new.block.checkb, new.sentence,new.sentence.checka, and new.sentence.checkb functions here, since theydon’t seem to be needed in the AMS style. Also moved some real basic func-tions like ‘and’ and ’or’ earlier in the file.

6105 INTEGERS { nameptr namesleft numnames }6106

The extra section to write out a language field was added for babamspl.bst. Notpresent in babplain.bst.

6107 FUNCTION {format.language}6108 { language empty$6109 { "" }6110 { "\btxprintamslanguage{\btxlanguagename {" language * "}}" * }6111 if$6112 }6113

This version of format.names puts names in the format “First von Last, Jr.” (i. e.,first name first, no abbreviating to initials).

6114 FUNCTION {format.names}6115 { ’s :=6116 #1 ’nameptr :=6117 s num.names$ ’numnames :=6118 numnames ’namesleft :=6119 { namesleft #0 > }6120 {6121 s nameptr "{ff{\btxfnamespacelong }~}{vv~}" format.name$6122 s nameptr "{ll}" format.name$ lastnamefont *6123 s nameptr "{, jj}" format.name$ * ’t :=6124 nameptr #1 >6125 { namesleft #1 >6126 { ", " * t namefont * }6127 { numnames #2 >6128 { "\btxandcomma {}" * }6129 ’skip$6130 if$

148

Page 149: Multilingual bibliographies: The babelbib package - CTAN

6131 s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ "others" =6132 { " " * "\btxetalshort {.}" etalfont * }6133 { " \btxandlong {} " * t namefont * }6134 if$6135 }6136 if$6137 }6138 {6139 s nameptr "{ff{\btxfnamespacelong }~}{vv~}" format.name$6140 s nameptr "{ll}" format.name$ lastnamefont *6141 s nameptr "{, jj}" format.name$ * namefont6142 }6143 if$6144 nameptr #1 + ’nameptr :=6145 namesleft #1 - ’namesleft :=6146 }6147 while$6148 }61496150 FUNCTION {format.authors}6151 { author empty$6152 { "" }6153 { bysame "\bysame" =6154 {"\bysame"}6155 { author format.names }6156 if$6157 }6158 if$6159 }61606161 FUNCTION {format.editors}6162 { editor empty$6163 { "" }6164 { editor format.names6165 editor num.names$ #1 >6166 { "\ (\btxeditorsshort {.})" * }6167 { "\ (\btxeditorshort {.})" * }6168 if$6169 }6170 if$6171 }61726173 FUNCTION {format.nonauthor.editors}6174 { editor empty$6175 { "" }6176 { editor format.names6177 editor num.names$ #1 >6178 { ", \btxeditorsshort {.}" * }6179 { ", \btxeditorshort {.}" * }6180 if$

149

Page 150: Multilingual bibliographies: The babelbib package - CTAN

6181 }6182 if$6183 }61846185 FUNCTION {format.title}6186 { title empty$6187 { "" }6188 { title "t" language.change.case titlefont }6189 if$6190 }61916192 FUNCTION {format.jtitle}6193 { title empty$6194 { "" }6195 { title "t" language.change.case jtitlefont }6196 if$6197 }61986199 FUNCTION {format.journal.vol.year}6200 { journal empty$6201 { "journal name" missing.warning ""}6202 { journal journalfont }6203 if$6204 volume empty$6205 ’skip$6206 { " " * volume volumefont * }6207 if$6208 year empty$6209 { "year" missing.warning }6210 { " (" * year * ")" * }6211 if$6212 }6213

For formatting the issue number for a journal article.6214 FUNCTION {format.number}6215 { number empty$6216 { "" }6217 { "\btxnumbershort {.}~" number * }6218 if$6219 }6220

For formatting miscellaneous dates6221 FUNCTION {format.date}6222 { year empty$6223 { month empty$6224 { "" }6225 { "there’s a month but no year in " cite$ * warning$6226 month6227 }

150

Page 151: Multilingual bibliographies: The babelbib package - CTAN

6228 if$6229 }6230 { month empty$6231 ’year6232 { "\btxprintmonthyear{.}{"6233 month * "}{" * year * "}{long}" *6234 }6235 if$6236 }6237 if$6238 }6239

The volume, series and number information is sort of tricky. This code handles itas follows: If the series is present, and the volume, but not the number, then wedo "Book title, Series Name, vol. 000" If the series is present, and the number,but not the volume, then we do "Book title, Series Name, no. 000" If the seriesis present, and both number and volume, then we do "Book title, vol. XX, SeriesName, no. 000" Finally, if the series is absent, then we do "Book title, vol. XX" or"Book title, no. 000" and if both volume and number are present, give a warningmessage.

6240 FUNCTION {format.bookvolume.series.number}6241 { volume empty$6242 { "" % Push the empty string as a placeholder in case everything else6243 % is empty too.6244 series empty$6245 ’skip$6246 { pop$ series } % if series is not empty put in stack6247 if$6248 number empty$6249 ’skip$6250 { duplicate$ empty$ % if no preceding material,6251 ’skip$ % do nothing, otherwise6252 { ", " * } % add a comma and space to separate.6253 if$6254 "\btxnumbershort {.}" number tie.or.space.connect * % add the number information6255 }6256 if$6257 }

If the volume is NOT EMPTY:6258 { "\btxvolumeshort {.}" volume tie.or.space.connect % vol. XX6259 number empty$6260 { series empty$6261 ’skip$6262 { series ", " * swap$ *} % Series Name, vol. XX6263 if$6264 }6265 { series empty$6266 { "can’t use both volume and number if series info is missing"

151

Page 152: Multilingual bibliographies: The babelbib package - CTAN

6267 warning$6268 "in BibTeX entry type ‘" type$ * "’" * top$6269 }6270 { ", " * series * ", \btxnumbershort {.}" * number tie.or.space.connect }6271 if$6272 }6273 if$6274 }6275 if$62766277 } % end of format.bookvolume.series.number6278

format.inproc.title.where.editors is used by inproceedings entry types Nocase changing or emphasizing for the title. We want initial caps, roman. We addparentheses around the address (place where conference was held). Likewise weadd parentheses around the editors’ names.

6279 FUNCTION {format.inproc.title.address.editors}6280 { booktitle empty$6281 { "" }6282 { booktitle6283 address empty$6284 ’skip$6285 { add.space.if.necessary "(" * address * ")" * }6286 if$6287 editor empty$6288 ’skip$6289 { add.space.if.necessary "(" * format.nonauthor.editors * ")" * }6290 if$6291 }6292 if$6293 }6294

format.incoll.title.editors is similar to format.inproc... but omits theaddress. For collections that are not proceedings volumes.

6295 FUNCTION {format.incoll.title.editors}6296 { booktitle empty$6297 { "" }6298 { editor empty$6299 { booktitle }6300 { booktitle6301 add.space.if.necessary "(" * format.nonauthor.editors * ")" *6302 }6303 if$6304 }6305 if$6306 }63076308 FUNCTION {format.edition}

152

Page 153: Multilingual bibliographies: The babelbib package - CTAN

6309 { edition empty$6310 { "" }6311 {6312 output.state mid.sentence =6313 { edition "l" change.case$ }6314 { edition "t" change.case$ }6315 if$6316 "\btxeditionnumshort {" swap$ *6317 "}{.}" *6318 }6319 if$6320 }63216322 FUNCTION {format.isbn}6323 { isbn empty$6324 { "" }6325 { "\mbox{\btxISBN~\btxISBNfont {" isbn * "}}" * }6326 if$6327 }63286329 FUNCTION {format.issn}6330 { issn empty$6331 { "" }6332 { "\mbox{\btxISSN~\btxISSNfont {" issn * "}}" * }6333 if$6334 }63356336 FUNCTION {format.url}6337 { url empty$6338 { "" }6339 {6340 urldate empty$6341 { "{\latintext \btxurlfont{" url * "}}" * }6342 {6343 "{\latintext \btxurlfont{" url * "}}\empty " *6344 "\btxurldatecomment {\btxkeywordlanguage {\btxurldatefont{" *6345 urldate * "}}}" *6346 }6347 if$6348 }6349 if$6350 }

Format annotations:6351 FUNCTION {write.annote}6352 { annote empty$6353 ’skip$6354 {6355 annotelanguage empty$6356 { "\btxkeywordlanguage {" }

153

Page 154: Multilingual bibliographies: The babelbib package - CTAN

6357 { "{\selectlanguage {" annotelanguage * "}" * }6358 if$6359 "\btxannotation {" * annote * "}}" *6360 write$ newline$6361 }6362 if$6363 }63646365 INTEGERS { multiresult }63666367 FUNCTION {multi.page.check}6368 { ’t :=6369 #0 ’multiresult :=6370 { multiresult not6371 t empty$ not6372 and6373 }6374 { t #1 #1 substring$6375 duplicate$ "-" =6376 swap$ duplicate$ "," =6377 swap$ "+" =6378 or or6379 { #1 ’multiresult := }6380 { t #2 global.max$ substring$ ’t := }6381 if$6382 }6383 while$6384 multiresult6385 }63866387 FUNCTION {format.pages}6388 { pages empty$6389 { "" }6390 { pages n.dashify }6391 if$6392 }63936394 FUNCTION {format.book.pages}6395 { pages empty$6396 { "" }6397 { pages multi.page.check6398 { "\btxpagesshort {.}~" pages n.dashify * }6399 { "\btxpageshort {.}~" pages * }6400 if$6401 }6402 if$6403 }64046405 FUNCTION {format.chapter.pages}6406 { chapter empty$

154

Page 155: Multilingual bibliographies: The babelbib package - CTAN

6407 ’format.book.pages6408 { type empty$6409 { "\btxchaptershort {.}~" }6410 { type "l" language.change.case " " * }6411 if$6412 chapter *6413 pages empty$6414 ’skip$6415 { ", " * format.book.pages * }6416 if$6417 }6418 if$6419 }64206421 FUNCTION {empty.misc.check}6422 { author empty$ title empty$ howpublished empty$6423 month empty$ year empty$ note empty$6424 and and and and and6425 key empty$ not and6426 { "all relevant fields are empty in " cite$ * warning$ }6427 ’skip$6428 if$6429 }64306431 FUNCTION {format.thesis.type}6432 { type empty$6433 ’skip$6434 { pop$6435 type "t" language.change.case6436 }6437 if$6438 }64396440 FUNCTION {format.tr.number}6441 { type empty$6442 { "\Btxtechrepshort {.}" }6443 ’type6444 if$6445 number empty$6446 { "t" language.change.case }6447 { number tie.or.space.connect }6448 if$6449 }6450

The format.crossref functions haven’t been paid much attention at the presenttime (June 1990) and could probably use some work. MJD

6451 FUNCTION {format.article.crossref}6452 { key empty$6453 { journal empty$

155

Page 156: Multilingual bibliographies: The babelbib package - CTAN

6454 { "need key or journal for " cite$ * " to crossref " * crossref *6455 warning$6456 ""6457 }6458 { "\btxinshort {} " journal journalfont * }6459 if$6460 }6461 { "\btxinshort {} " key * }6462 if$6463 " \cite{" * crossref * "}" *6464 }64656466 FUNCTION {format.crossref.editor}6467 { editor #1 "{vv~}{ll}" format.name$6468 editor num.names$ duplicate$6469 #2 >6470 { pop$ " \btxetalshort {.}" * }6471 { #2 <6472 ’skip$6473 { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =6474 { " \btxetalshort {.}" * }6475 { " \btxandlong {} " * editor #2 "{vv~}{ll}" format.name$ * }6476 if$6477 }6478 if$6479 }6480 if$6481 }64826483 FUNCTION {format.book.crossref}6484 { volume empty$6485 { "empty volume in " cite$ * "’s crossref of " * crossref * warning$6486 "\btxinserieslong {} "6487 }6488 { "\btxvolumeshort {.}" volume tie.or.space.connect6489 " \btxofserieslong {} " *6490 }6491 if$6492 editor empty$6493 editor field.or.null author field.or.null =6494 or6495 { key empty$6496 { series empty$6497 { "need editor, key, or series for " cite$ * " to crossref " *6498 crossref * warning$6499 "" *6500 }6501 { series * }6502 if$6503 }

156

Page 157: Multilingual bibliographies: The babelbib package - CTAN

6504 { key * }6505 if$6506 }6507 { format.crossref.editor * }6508 if$6509 " \cite{" * crossref * "}" *6510 }65116512 FUNCTION {format.incoll.inproc.crossref}6513 { editor empty$6514 editor field.or.null author field.or.null =6515 or6516 { key empty$6517 { booktitle empty$6518 { "need editor, key, or booktitle for " cite$ * " to crossref " *6519 crossref * warning$6520 ""6521 }6522 { "\btxinlong {} " * booktitle titlefont * }6523 if$6524 }6525 { "\btxinlong {} " key * }6526 if$6527 }6528 { "\btxinlong {} " format.crossref.editor * }6529 if$6530 " \cite{" * crossref * "}" *6531 }6532

The main functions for each entry type.journal, vol and year are formatted together because they are not separated

by commas.6533 FUNCTION {article}6534 { output.bibitem6535 format.authors "author" output.check6536 format.jtitle "title" output.check6537 crossref missing$6538 { format.journal.vol.year output6539 format.number output6540 format.pages "pages" output.check6541 }6542 { format.article.crossref output.nonnull6543 format.pages "pages" output.check6544 }6545 if$6546 format.issn output6547 format.url output6548 format.language *6549 note output

157

Page 158: Multilingual bibliographies: The babelbib package - CTAN

6550 fin.entry6551 write.annote6552 }65536554 FUNCTION {book}6555 { output.bibitem6556 author empty$6557 { format.editors "author and editor" output.check }6558 { format.authors output.nonnull6559 crossref missing$6560 { "author and editor" editor either.or.check }6561 ’skip$6562 if$6563 }6564 if$6565 format.title "title" output.check6566 format.edition output6567 crossref missing$6568 { format.bookvolume.series.number output6569 publisher "publisher" output.check publisherfont6570 address output6571 }6572 { format.book.crossref output.nonnull6573 }6574 if$6575 format.date "year" output.check6576 format.isbn output6577 format.url output6578 format.language *6579 note output6580 fin.entry6581 write.annote6582 }65836584 FUNCTION {booklet}6585 { output.bibitem6586 format.authors output6587 format.title "title" output.check6588 howpublished output6589 address output6590 format.date output6591 format.url output6592 note output6593 fin.entry6594 write.annote6595 }65966597 FUNCTION {inbook}6598 { output.bibitem6599 author empty$

158

Page 159: Multilingual bibliographies: The babelbib package - CTAN

6600 { format.editors "author and editor" output.check }6601 { format.authors output.nonnull6602 crossref missing$6603 { "author and editor" editor either.or.check }6604 ’skip$6605 if$6606 }6607 if$6608 format.title "title" output.check6609 format.edition output6610 crossref missing$6611 { format.bookvolume.series.number output6612 format.chapter.pages "chapter and pages" output.check6613 publisher "publisher" output.check publisherfont6614 address output6615 }6616 { format.chapter.pages "chapter and pages" output.check6617 format.book.crossref output.nonnull6618 }6619 if$6620 format.date "year" output.check6621 format.isbn output6622 format.url output6623 format.language *6624 note output6625 fin.entry6626 write.annote6627 }66286629 FUNCTION {incollection}6630 { output.bibitem6631 format.authors "author" output.check6632 format.title "title" output.check6633 crossref missing$6634 { format.incoll.title.editors "booktitle" output.check6635 format.bookvolume.series.number output6636 publisher "publisher" output.check publisherfont6637 address output6638 format.edition output6639 format.date "year" output.check6640 }6641 { format.incoll.inproc.crossref output.nonnull6642 }6643 if$6644 note output6645 format.book.pages output6646 format.isbn output6647 format.url output6648 format.language *6649 fin.entry

159

Page 160: Multilingual bibliographies: The babelbib package - CTAN

6650 write.annote6651 }66526653 FUNCTION {inproceedings}6654 { output.bibitem6655 format.authors "author" output.check6656 format.title "title" output.check6657 crossref missing$6658 { format.inproc.title.address.editors "booktitle" output.check6659 format.bookvolume.series.number output6660 organization output6661 publisher publisherfont output6662 format.date "year" output.check6663 }6664 { format.incoll.inproc.crossref output.nonnull6665 }6666 if$6667 note output6668 format.book.pages output6669 format.isbn output6670 format.url output6671 format.language *6672 fin.entry6673 write.annote6674 }66756676 FUNCTION {conference} { inproceedings }66776678 FUNCTION {manual}6679 { output.bibitem6680 author empty$6681 { organization empty$6682 ’skip$6683 { organization output.nonnull6684 address output6685 }6686 if$6687 }6688 { format.authors output.nonnull }6689 if$6690 format.title "title" output.check6691 author empty$6692 { organization empty$6693 { address output }6694 ’skip$6695 if$6696 }6697 { organization output6698 address output6699 }

160

Page 161: Multilingual bibliographies: The babelbib package - CTAN

6700 if$6701 format.edition output6702 format.date output6703 format.isbn output6704 format.url output6705 note output6706 fin.entry6707 write.annote6708 }67096710 FUNCTION {mastersthesis}6711 { output.bibitem6712 format.authors "author" output.check6713 format.title "title" output.check6714 "\btxmastthesis {}" format.thesis.type output.nonnull6715 school "school" output.check6716 address output6717 format.date "year" output.check6718 format.url output6719 note output6720 format.book.pages output6721 fin.entry6722 write.annote6723 }67246725 FUNCTION {misc}6726 { output.bibitem6727 format.authors output6728 format.title output6729 howpublished output6730 format.date output6731 format.isbn output6732 format.issn output6733 format.url output6734 note output6735 format.book.pages output6736 fin.entry6737 write.annote6738 empty.misc.check6739 }67406741 FUNCTION {phdthesis}6742 { output.bibitem6743 format.authors "author" output.check6744 format.title "title" output.check6745 "\btxphdthesis {}" format.thesis.type output.nonnull6746 school "school" output.check6747 address output6748 format.date "year" output.check6749 format.isbn output

161

Page 162: Multilingual bibliographies: The babelbib package - CTAN

6750 format.url output6751 note output6752 format.book.pages output6753 fin.entry6754 write.annote6755 }67566757 FUNCTION {proceedings}6758 { output.bibitem6759 editor empty$6760 { organization output }6761 { format.editors output.nonnull }6762 if$6763 format.title "title" output.check6764 format.bookvolume.series.number output6765 address empty$6766 { editor empty$6767 ’skip$6768 { organization output }6769 if$6770 publisher publisherfont output6771 format.date "year" output.check6772 }6773 { address output.nonnull6774 editor empty$6775 ’skip$6776 { organization output }6777 if$6778 publisher publisherfont output6779 format.date "year" output.check6780 }6781 if$6782 format.isbn output6783 format.url output6784 note output6785 fin.entry6786 write.annote6787 }67886789 FUNCTION {techreport}6790 { output.bibitem6791 format.authors "author" output.check6792 format.title "title" output.check6793 format.tr.number output.nonnull6794 institution "institution" output.check6795 address output6796 format.date "year" output.check6797 format.isbn output6798 format.url output6799 note output

162

Page 163: Multilingual bibliographies: The babelbib package - CTAN

6800 fin.entry6801 write.annote6802 }68036804 FUNCTION {unpublished}6805 { output.bibitem6806 format.authors "author" output.check6807 format.title "title" output.check6808 format.url output6809 note "note" output.check6810 format.date output6811 fin.entry6812 write.annote6813 }68146815 FUNCTION {default.type} { misc }68166817 MACRO {jan} {"1"}6818 MACRO {feb} {"2"}6819 MACRO {mar} {"3"}6820 MACRO {apr} {"4"}6821 MACRO {may} {"5"}6822 MACRO {jun} {"6"}6823 MACRO {jul} {"7"}6824 MACRO {aug} {"8"}6825 MACRO {sep} {"9"}6826 MACRO {oct} {"10"}6827 MACRO {nov} {"11"}6828 MACRO {dec} {"12"}68296830 READ68316832 FUNCTION {sortify}6833 { purify$6834 "l" language.change.case6835 }68366837 INTEGERS { len }68386839 FUNCTION {chop.word}6840 { ’s :=6841 ’len :=6842 s #1 len substring$ =6843 { s len #1 + global.max$ substring$ }6844 ’s6845 if$6846 }68476848 FUNCTION {sort.format.names}6849 { ’s :=

163

Page 164: Multilingual bibliographies: The babelbib package - CTAN

6850 #1 ’nameptr :=6851 ""6852 s num.names$ ’numnames :=6853 numnames ’namesleft :=6854 { namesleft #0 > }6855 { nameptr #1 >6856 { " " * }6857 ’skip$6858 if$6859 s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ ’t :=6860 nameptr numnames = t "others" = and6861 { "et al" * }6862 { t sortify * }6863 if$6864 nameptr #1 + ’nameptr :=6865 namesleft #1 - ’namesleft :=6866 }6867 while$6868 }68696870 FUNCTION {sort.format.title}6871 { ’t :=6872 "A " #26873 "An " #36874 "The " #4 t chop.word6875 chop.word6876 chop.word6877 sortify6878 #1 global.max$ substring$6879 }68806881 FUNCTION {author.sort}6882 { author empty$6883 { key empty$6884 { "to sort, need author or key in " cite$ * warning$6885 ""6886 }6887 { key sortify }6888 if$6889 }6890 { author sort.format.names }6891 if$6892 }68936894 FUNCTION {author.editor.sort}6895 { author empty$6896 { editor empty$6897 { key empty$6898 { "to sort, need author, editor, or key in " cite$ * warning$6899 ""

164

Page 165: Multilingual bibliographies: The babelbib package - CTAN

6900 }6901 { key sortify }6902 if$6903 }6904 { editor sort.format.names }6905 if$6906 }6907 { author sort.format.names }6908 if$6909 }69106911 FUNCTION {author.organization.sort}6912 { author empty$6913 { organization empty$6914 { key empty$6915 { "to sort, need author, organization, or key in " cite$ * warning$6916 ""6917 }6918 { key sortify }6919 if$6920 }6921 { "The " #4 organization chop.word sortify }6922 if$6923 }6924 { author sort.format.names }6925 if$6926 }69276928 FUNCTION {editor.organization.sort}6929 { editor empty$6930 { organization empty$6931 { key empty$6932 { "to sort, need editor, organization, or key in " cite$ * warning$6933 ""6934 }6935 { key sortify }6936 if$6937 }6938 { "The " #4 organization chop.word sortify }6939 if$6940 }6941 { editor sort.format.names }6942 if$6943 }69446945 FUNCTION {presort}6946 { type$ "book" =6947 type$ "inbook" =6948 or6949 ’author.editor.sort

165

Page 166: Multilingual bibliographies: The babelbib package - CTAN

6950 { type$ "proceedings" =6951 ’editor.organization.sort6952 { type$ "manual" =6953 ’author.organization.sort6954 ’author.sort6955 if$6956 }6957 if$6958 }6959 if$6960 " "6961 *6962 year field.or.null sortify6963 *6964 " "6965 *6966 title field.or.null6967 sort.format.title6968 *6969 #1 entry.max$ substring$6970 ’sort.key$ :=6971 }69726973 ITERATE {presort}69746975 SORT69766977 STRINGS { longest.label prev.author this.author }69786979 INTEGERS { number.label longest.label.width }69806981 FUNCTION {initialize.longest.label}6982 { "" ’longest.label :=6983 #1 ’number.label :=6984 #0 ’longest.label.width :=6985 "abcxyz" ’prev.author :=6986 "" ’this.author :=6987 }69886989 FUNCTION {longest.label.pass}6990 { number.label int.to.str$ ’label :=6991 number.label #1 + ’number.label :=6992 label width$ longest.label.width >6993 { label ’longest.label :=6994 label width$ ’longest.label.width :=6995 }6996 ’skip$6997 if$6998 author empty$6999 { editor empty$

166

Page 167: Multilingual bibliographies: The babelbib package - CTAN

7000 { "" }7001 ’editor7002 if$7003 }7004 ’author7005 if$7006 ’this.author :=7007 this.author prev.author =7008 { "\bysame" ’bysame := }7009 { "" ’bysame :=7010 this.author "" =7011 { "abcxyz" }7012 ’this.author7013 if$7014 ’prev.author :=7015 }7016 if$7017 }70187019 EXECUTE {initialize.longest.label}70207021 ITERATE {longest.label.pass}70227023 FUNCTION {write.lines}7024 { { duplicate$ "." = NOT }7025 { write$ newline$ }7026 while$7027 pop$7028 }70297030 FUNCTION {begin.bib}7031 { preamble$ empty$7032 ’skip$7033 { preamble$ write$ newline$ }7034 if$7035 "\begin{thebibliography}{" longest.label * "}" * write$ newline$7036 " \providecommand{\bysame}{\leavevmode\hbox to3em{\hrulefill}\thinspace}"7037 write$ newline$7038 " \providecommand{\MR}{\relax\ifhmode\unskip\space\fi MR }"7039 write$ newline$7040 " % \MRhref is called by the amsart/book/proc definition of \MR."7041 write$ newline$7042 " \providecommand{\MRhref}[2]{%" write$ newline$7043 " \href{http://www.ams.org/mathscinet-getitem?mr=#1}{#2}"7044 write$ newline$7045 " }" write$ newline$7046 " \providecommand{\href}[2]{#2}" write$ newline$7047 " \providebibliographyfont{name}{}%" write$ newline$7048 " \providebibliographyfont{lastname}{}%" write$ newline$7049 " \providebibliographyfont{title}{\emph}%" write$ newline$

167

Page 168: Multilingual bibliographies: The babelbib package - CTAN

7050 " \providebibliographyfont{jtitle}{\btxtitlefont}%" write$ newline$7051 " \providebibliographyfont{etal}{}%" write$ newline$7052 " \providebibliographyfont{journal}{}%" write$ newline$7053 " \providebibliographyfont{volume}{\textbf}%" write$ newline$7054 " \providebibliographyfont{ISBN}{\MakeUppercase}%" write$ newline$7055 " \providebibliographyfont{ISSN}{\MakeUppercase}%" write$ newline$7056 " \providebibliographyfont{url}{\url}%" write$ newline$7057 " \providebibliographyfont{numeral}{}%" write$ newline$7058 " \providecommand\btxprintamslanguage[1]{\ (#1)}" write$ newline$7059 " \expandafter\btxselectlanguage\expandafter {\btxfallbacklanguage}"7060 write$ newline$7061 }70627063 EXECUTE {begin.bib}70647065 EXECUTE {init.state.consts}70667067 ITERATE {call.type$}70687069 FUNCTION {end.bib}7070 { newline$7071 "\end{thebibliography}" write$ newline$7072 }70737074 EXECUTE {end.bib}7075 〈/bstams〉

168