Babel, a multilingual package for use with L^{A}TEX’s standard document classes^{∗}

Johannes Braams PTT Research Neher Laboratories P.O. Box 421 2260 AK Leidschendam

               J.L.Braams@research.ptt.nl

Printed November 15, 1995

Abstract The standard distribution of L^{A}TEX contains a number of document classes that are meant to be used, but also serve as examples for other users to create their own document classes. These document classes have become very popular among L^{A}TEX users. But it should be kept in mind that they were designed for American tastes and typography. At one time they contained a number of hard-wired texts. This report describes babel, a package that makes use of the new capabilities of TEX version 3 to provide an environment in which multilingual documents can be written.

1 The user interface

The user interface of this package is quite simple. It basially consists of only two commands. These commands can be used to select another language or to find out what the current language is.

\selectlanguage When a user wants to switch from one language to another he can do so using the macro \selectlanguage. This macro takes the language, defined previously by a language-specific option, as its argument. It calls several macros that should be defined in the language-specific files to activate the special definitions for the language chosen.

\languagename The name of the current language is stored in the control sequence \languagename.

\iflanguage If more than one language is used it might be necessary to know which language is active at a specific time. This can be checked by a call to \iflanguage. This macro takes three arguments. The first argument is the name of a language, the second and third arguments are the actions to take if the result of the test is true or false respectively.

∗During the development ideas from Nico Poppelier, Piet van Oostrum and many others have been used. Bernd Raichle has provided many helpful suggestions.

2 Changes for L^{A}TEX 2ε

With the advent of L^{A}TEX 2ε the interface to babel in the preamble of the doument has changed. With L^{A}TEX2.09 one used to call up the babel system with a line such as:

\documentstyle[dutch,english]{article}

which would tell L^{A}TEX that the document would be written in two languages, dutch and english and that english would be the first language in use.

The L^{A}TEX2e way of providing the same information is:

\documentlass{article}
\usepackage[dutch,english]{babel}

or, making dutch and english global options in order to let other packages detect and use them:

\documentlass[dutch,english]{article}
\usepackage{babel}
\usepackage{varioref}

In this last example the package varioref will also see the options and will be able to use them.

3 The interface between the core of babel and the language-specific options

In the core of the babel system two macros are defined that are to be used in language specific files. Their purpose is to make a new language known.

\addlanguage The macro \addlanguage is a non-outer version of the macro \newlanguage, defined in plain.tex version 3.x. For older versions of plain.tex and lplain.tex a substitute definition is used.

\adddialect The macro \adddialect can be used in the case where two languages can (or have to) use the same hyphenation patterns. This can be useful when a user wants to use a language for which no patterns are preloaded in the format. In such a case the default behaviour of the babel system is to define this language as a ‘dialect’ of the language for which the patterns were loaded as \language0.

The language-specific files have to conform to a number of conventions. The reason for this is that these files have to fill in the gaps left by the common code in filebabel.def, i. e., the definitions of the macros that produce texts. Also the language-switching possibility which has been built into the babel system has its implications.

The following assumptions are made:

• Some of the language-specific definitions might be used by plain TEX users, so the files have to be coded such that they can be read by L^{A}TEX as well as by plain TEX. This can be checked by looking at the value of the macro

     \fmtname.

• The common part of the babel system redefines a number of macros and environments (defined previously in the document style) to put in the names of macros that replace the previously hard-wired texts. These macros have to be defined in the language-specific files.

• The language-specific files define four macros, used to activate and deactivate the language-specific definitions. These macros are \captions⟨lang⟩, \date⟨lang⟩, \extras⟨lang⟩ and \noextras⟨lang⟩. These macros and their functions are discussed below.

• When a language-specific file is loaded as an option, it can define \l@⟨lang⟩ to be a dialect of \language0 when \l@⟨lang⟩ is undefined.

• The language-specific files can be read as an option, but also in the middle of document processing. This means that they have to function independently of the current \catcode of the @ sign.

\captionslang The macro \captions⟨lang⟩ defines the macros that hold the texts to replace

\datelang the original hard-wired texts. The macro \date⟨lang⟩ defines \today and the \extraslang macro \extras⟨lang⟩ contains all the extra definitions needed for a specific lan-

guage.

\noextraslang Because we want to offer the user the possibility to switch between languages and we do not know in what state TEX might be after the execution of \extras⟨lang⟩, a macro that brings TEX into a predefined state is needed. It will be no surprise that the name of this macro is \noextras⟨lang⟩.

3.1 Support for active characters

In quite a few language specific files, active characters are introduced. To facilitate this, some support macros are provided.

\babel@add@special “Plain TEX includes a macro called \dospecials that is essentially a set macro, \babel@remove@special representing the set of all characters that have a special category code.” [1, p. 380]

It is used to set text ‘verbatim’. To make this work if more characters get a special category code, you have to add this character to the macro \dospecial. L^{A}TEX adds another macro called \@sanitize representing the same character set, but without the curly braces. The macros \babel@add@special⟨char⟩ and \babel@remove@special⟨char⟩ add and remove the character ⟨char⟩ to these two sets.

3.2 Support for saving macro definitions

Language specific files may want to redefine macros that already exist. Therefore a mechanism for saving (and restoring) the original definition of those macros is

provided. We provide two macros for this^{1}.

\babel@save To save the current meaning of any control sequence the macro \babel@save is provided. It takes one argument, ⟨csname⟩, the control sequence for which the meaning has to be saved.

\babel@savevariable A second macro is provided to save the current value of a variable. In this context anything that is allowed after the \the primitive is considered to be a variable. The macro takes one argument, the ⟨variable⟩.

The effect of the aforementioned macros is that a piece of code is appended to the current definition of \originalTeX. When originalTeX is expanded this code restores the previous definition of the control sequence or the previous value of the variable.

3.3 Support for extending macros

\addto The macro \addto{⟨control sequence⟩⟨TEX code⟩} can be used to extend the definition of a macro. The macro need not be defined. This macro can, for instance, be used in adding instructions to a macro like \extrasenglish.

3.4 Macros common to a number of languages

\allowhyphens In a couple of european languages compound words are used. This means that when TEX has to hyphenate such a compound word it only does that at the ‘-’ that is used in such words. To allow hyphenation in the rest of such a compound word the macro \allowhyphens can be used.

\set@low@box For some languages quotes need to be lowered to the baseline. For this purpose the macro \set@low@box is available. It takes one argument and puts that argument in an \hbox, at the baseline. The result is available in \box0 for further processing.

\save@sf@q Sometimes it is necessary to preserve the \spacefactor. For this purpose the macro \save@sf@q is available. It takes one argument, saves the current spacefactor, executes the argument and restores the spacefactor.

4 Compatibility with german.sty

As has been discussed before, the file german.sty has been one of the sources of inspiration for the babel system. Because of this I wanted to include german.sty in the babel system. To be able to do that I had to allow for one incompatibility: in the definition of the macro \selectlanguage in filegerman.sty the argument is used as the ⟨number⟩ for an \ifcase. So in this case a call to \selectlanguage

might look like \selectlanguage{\german}.

In the definition of the macro \selectlanguage in babel.def the argument is used as a part of other macronames, so a call to \selectlanguage now looks like \selectlanguage{german}. Notice the absence of the escape character. As of version 3.1a of babel both syntaxes are allowed.

1This mechanism was introduced by Bernd Raichle.

All other features of the original german.sty have been copied into a new file,

called germanb.sty^{2}.

Although the babel system was developed to be used with L^{A}TEX, some of the features implemented in language specific files might be needed by plain TEX users. Care has been taken that all files in the system can be processed by plain TEX.

2The ‘b’ is added to the name to distinguish the file from Partls’ file.

5 Conclusion

A system of document options has been presented that enable the user of L^{A}TEX to adapt the standard document classes of L^{A}TEX to the language he or she prefers to use. These options offer the possibility to switch between languages in one document. The basic interface consists of using ones option, which is the same for all standard document classes.

In some cases the language specific option files provide macros that can be of use to plain TEX users as well as to L^{A}TEX users. The babel system has been implemented in such a way that it can be used by both groups of users.

6 Acknowledgements

I would like to thank all who volunteered as β-testers for their time. I would like to mention Julio Sanchez who supplied the option file for the Spanish language and Maurizio Codogno who supplied the option file for the Italian language. Werenfried Spit supplied the files for the Russian language. Michel Goossens supplied contributions for most of the other languages. Nico Poppelier helped polishing the text of the documentation and supplied parts of the macros for the Dutch language. Paul Wackers and Werenfried Spit helped finding and repairing bugs.

During the further development of the babel system I received much help from Bernd Raichle, for which I am grateful.

References

[1] Donald E. Knuth, The TEXbook, Addison-Wesley, 1986.

[2] Leslie Lamport, L^{A}TEX, A document preparation System, Addison-Wesley, 1986.

[3] K.F. Treebus. Tekstwijzer, een gids voor het grafisch verwerken van tekst. SDU Uitgeverij (’s-Gravenhage, 1988). A Dutch book on layout design and typography.

[4] Hubert Partl, German TEX, TUGboat 9 (1988) #1, p. 70–72.

[5] Leslie Lamport, in: TEXhax Digest, Volume 89, #13, 17 februari 1989.

[6] Johannes Braams, Victor Eijkhout and Nico Poppelier, The development of national L^{A}TEX styles, TUGboat 10 (1989) #3, p. 401–406.

[7] Joachim Schrod, International L^{A}TEX is ready to use, TUGboat 11 (1990) #1, p. 87–90.

7 The Esperanto language

The file esperant.dtx^{3} defines all the language-specific macros for the Esperanto language.

For this language the character ^is made active. In table 1 an overview is given of its purpose.

^u gives ŭ, with hyphenation in the rest of the word

allowed ^U gives Ŭ, with hyphenation in the rest of the word

allowed

^h prevents ĥ from becoming too tall
^j gives ĵ

          ^| inserts a \discretionary{-}{}{}

^a gives â with hyphenation in the rest of the word allowed, this works for all other letters as well.

Table 1: The funtions of the active character for Esperanto.

8 The Dutch language

The file dutch.dtx^{4} defines all the language-specific macros for the Dutch language.

For this language the character " is made active. In table 2 an overview is given of its purpose. One of the reasons for this is that in the Dutch language a word with a dieresis can be hyphenated just before the letter with the umlaut, but the dieresis has to disappear if the word is broken between the previous letter and the accented letter.

In [3] the quoting conventions for the Dutch language are discussed. The preferred convention is the single-quote Anglo-American convention, i.e. ‘This is a quote’. An alternative is the slightly old-fashioned Dutch method with initial double quotes lowered to the baseline, ”This is a quote”, which should be typed

as "`This is a quote"'.

9 The English language

The file english.dtx^{5} defines all the language-specific macros for the English language as well as for the American version of this language.

For this language currently no special definitions are needed or available.

3The file described in this section has version number v1.d4 and was last revised on 1994/06/26. A contribution was made by Ruiz-Altaba Marti (ruizaltb@cernvm.cern.ch). Code from the file esperant.sty by Jörg Knappen (knappen@vkpmzd.kph.uni-mainz.de) was included.

4The file described in this section has version number v3.6c, and was last revised on 1994/05/26.

5The file described in this section has version number v3.3cand was last revised on 1994/05/26.

"a \"a which hyphenates as -a; also implemented for

the other letters.

"y puts a negative kern between i and j
"Y puts a negative kern between I and J
"| disable ligature at this position.

"- an explicit hyphen sign, allowing hyphenation in the

rest of the word.

"` lowered double left quotes (see example below).
"' normal double right quotes.

\- like the old \-, but allowing hyphenation in the rest of the word.

Table 2: The extra definitions made by dutch.sty

10 The German language

The file germanb.dtx^{6} defines all the language-specific macros for the German language as well as for the Austrian dialect of this language^{7}.

For this language the character " is made active. In table 3 an overview is given of its purpose. One of the reasons for this is that in the German language some character combinations change when a word is broken between the combination. Also the vertical placement of the umlaut can be controlled this way. The quotes

"a \"a, also implemented for the other lowercase and

uppercase vowels.

"s to produce the German ß (like \ss{}).
"ck for ck to be hyphenated as k-k.

"ff for ff to be hyphenated as ff-f, this is also imple-

mented for certain other consonants.

"S for SS to be \uppercase{"s}.

"| disable ligature at this position.

"- an explicit hyphen sign, allowing hyphenation in the

rest of the word. "" like "-, but producing no hyphen sign (for compund

words with hyphen, e.g. x-""y).

"` for German left double quotes (looks like ,,).
"' for German right double quotes.
"< for French left double quotes (similar to <<).
"> for French right double quotes (similar to >>).

Table 3: The extra definitions made by german.sty

in table 3 can also be typeset by using the commands in table 4.

6The file described in this section has version number v2.5cand was last revised on 1994/06/26.

7This file is a re-implementation of Hubert Partl’s german.sty version 2.3e, see [4].

\glqq for German left double quotes (looks like ,,).
\grqq for German right double quotes (looks like “).
\glq for German left single quotes (looks like ,).
\grq for German right single quotes (looks like ‘).
\flqq for French left double quotes (similar to <<).
\frqq for French right double quotes (similar to >>).
\flq for (French) left single quotes (similar to <).
\frq for (French) right single quotes (similar to >).
\dq  the original quotes character (").

Table 4: More commands which produce quotes, defined by german.sty

11 The French language

The file francais.dtx^{8} defines all the language-specific macros for the French language.

French typographic rules specify that a little white space should be added before ‘double puctuation’ characters. These characters are :, ;, ! and ?. In order to get this whitespace automatigically the category code of these characters

is made \active.

12 The Italian language

The file italian.dtx^{9} It defines all the language-specific macros for the Italian language.

   For this language the \clubpenalty, \widowpenalty and \finalhyphendemerits

are set to rather high values.

13 The Portuguese language

The file portuges.dtx^{10} defines all the language-specific macros for the Portuguese language as well as for the Brasilian version of this language.

For this language currently no special definitions are needed or available.

8The file described in this section has version number v4.5c and was last revised on 1994/05/27. This file was initially derived from the original version of german.sty, which has some definitions for French. Later the definitions from french.sty version 2 were added.

9The file described in this section has version number v1.2e and was last revised on 1994/06/26. The original author is Maurizio Codogno, (urcm@ur785.cselt.stet.it).

10The file described in this section has version number v1.2d and was last revised on 1994/06/26. Contributions were made by Jose Pedro Ramalhete (JRAMALHE@CERNVM or Jose-Pedro Ramalhete@MACMAIL).

14 The Spanish language

The file spanish.dtx^{11} defines all the language-specific macro’s for the Spanish^{12} language.

This file^{13} incorporates the result of discussions held in the Spanish-TEX^{14} electronic mail list.

For this language the characters ' ~ and " are made active. In table 5 an overview is given of their purpose. These active accent characters behave according

'a an accent that allows hyphenation. Valid for all vow-

els uppercase and lowercase. 'n a n with a tilde. This is included to improve com-

patibility with FTC. Works for uppercase too.

"| disable ligature at this position.

"- an explicit hyphen sign, allowing hyphenation in the

rest of the word. "" like "-, but producing no hyphen sign (for words that

should break at some sign such as “entrada/salida.” \- like the old \-, but allowing hyphenation in the rest

of the word.

"u a u with dieresis allowing hyphenation.
"a feminine ordinal as in 1^{\underline{a}}.
"o masculine ordinal as in 1^{\underline{o}}.
"< for French left double quotes (similar to <<).
"> for French right double quotes (similar to >>).
~n a n with tilde. Works for uppercase too.

Table 5: The extra definitions made by spanish.sty

to their original definitions if not followed by one of the characters indicated in that table.

This style option file also provides some additional macros as indicated in table 6.

This option includes support for working with extended, 8-bit fonts, if available. Old versions of this file based this support on the existance of special macros with

11The file described in this section has version number v3.3d and was last revised on 1994/06/26. The original author is Julio Sánchez, (jsanchez@gmv.es).

12Catalan used to be part of this file but is now on its own file.

13In writing this file, many ideas and actual coding solutions have been taken from a number of sources. The language specific files dutch.sty and germanb.sty are the main contributors and are not explicitly mentioned in the sequel. J. L. Braams and Bernd Raichle have given helpful advice. Another source of inspiration is the experience gained in the use of FTC, a software package written by José A. Mañas. The members of the Spanish-TEX list have helped clarify a number of issues. Other sources are explicitly acknowledged when used. If you think that you contributed something and you are not mentioned, please let me (jsanchez@gmv.es) know. I humbly apologize for any omission.

14spanish-tex@goya.eunet.es, subscription requests can be sent to the address listserv@goya.eunet.es. This list is devoted to discussions on support in TEX for Spanish.

Comments on this language option are welcome there or directly to jsanchez@gmv.es.

\flqq for French left double quotes (similar to <<).
\frqq for French right double quotes (similar to >>).
\flq for French left single quotes (similar to <).
\frq for French right single quotes (similar to >).
\dq  the original (non active) quotes (").
\ac  the original (non active) apostrophe (').
\til the original (active) tilde (~).

Table 6: The additional macros defined by the Spanish file.

names as in Ferguson’s ML-TEX. This is no longer the case. Support is now based on providing an appropriate definition for the accent macros on entry to the Spanish language. This is automatically done by L^{A}TEX 2ε or NFSS2. If T1 encoding is chosen, and provided that adequate hyphenation patterns^{15} exist, it is possible to get better hyphenation for Spanish than before. The easiest way to use the new encoding with L^{A}TEX 2ε to load the package t1enc with \usepackage. This must be done before loading babel.

If the combination of keyboard and TEX version that the user has is able to produce the accented characters in the T1 enconding, the user could see the accented characters in the editor, greatly improving the readability of the document source. As of today, this is not a recommended method for producing documents for distribution, although it is possible to mechanically translate the document so that the receiver can make use of it. If care is taken to define the encoding needed by the document, the results are pretty portable.

This option file will automatically detect if the T1 encoding is being used and behave appropriately. If any other encoding is being used, the accent macros will be redefined to allow hyphenation on the accented words.

15 The Catalan language

The file catalan.dtx^{16} defines all the language-specific macro’s for the Catalan language.

For this language the characters ' ~ and " are made active. In table 7 an overview is given of their purpose. These active accents character behave according to their original definitions if not followed by one of the characters indicated in that table.

15One source for such patterns is the archive at ftp.eunet.es that can be accessed by anonymous FTP or electronic mail to ftpmail@goya.eunet.es. They are in the info directory src/TeX/spanish. The list of Frequently Asked Questions with Answers about TEX for Spanish is kept there as well. That list is meant to be a summary of the discussions held in the Spanish-TEX mail list. Warning: It is in Spanish.

16The file described in this section has version number v2.1c and was last revised on 1994/06/04.

"| disable ligature at this position.

"- an explicit hyphen sign, allowing hyphenation in the

rest of the word. \- like the old \-, but allowing hyphenation in the rest

of the word. 'a an accent that allows hyphenation. Valid for all vow-

els uppercase and lowercase. 'n a n with a tilde. This is included to improve com-

patibility with FTC. Works for uppercase too.

"u a u with dieresis allowing hyphenation.
"a feminine ordinal as in 1^{\underline{a}}.
"o masculine ordinal as in 1^{\underline{o}}.
~n a n with tilde. Works for uppercase too.

Table 7: The extra definitions made by catalan.sty

16 The Galician language

The file galician.dtx^{17} defines all the language-specific macros for the Galician language.

For this language the characters ' ~ and " are made active. In table 8 an overview is given of their purpose. These active accents character behave according

"| disable ligature at this position.

"- an explicit hyphen sign, allowing hyphenation in the

rest of the word. \- like the old \-, but allowing hyphenation in the rest

of the word. 'a an accent that allows hyphenation. Valid for all vow-

els uppercase and lowercase. 'n a n with a tilde. This is included to improve com-

patibility with FTC. Works for uppercase too.

"u a u with dieresis allowing hyphenation.
"a feminine ordinal as in 1^{\underline{a}}.
"o masculine ordinal as in 1^{\underline{o}}.
~n a n with tilde. Works for uppercase too.

Table 8: The extra definitions made by galician.sty

to their original definitions if not followed by one of the characters indicated in that table.

17The file described in this section has version number v1.1c and was last revised on 1994/06/26.

17 The Danish language

The file danish.dtx^{18} defines all the language-specific macros for the Danish language.

For this language currently no special definitions are needed or available.

18 The Norwegian language

The file norsk.dtx^{19} defines all the language-specific macros for the Norwegian language as well as for a new spelling variant ‘nynorsk’ for this language.

For this language currently no special definitions are needed or available.

19 The Swedish language

The file swedish.dtx^{20} defines all the language-specific macros for the Swedish language.

For this language currently no special definitions are needed or available.

20 The Finnish language

The file finnish.dtx^{21} defines all the language-specific macros for the Finnish language.

For this language currently no special definitions are needed or available.

21 The Hungarian language

The file option magyar.dtx^{22} defines all the language-specific macros for the Hungarian language.

\ontoday For this language currently the only special definition that is added is the \ontoday command which works like \today but produces a slightly different date format used in expressions suh as ‘on february 10th’.

18The file described in this section has version number v1.3e and was last revised on 1994/06/05. A contribution was made by Henning Larsen (larsen@cernvm.cern.ch)

19The file described in this section has version number v1.2d and was last revised on 1994/06/26. Contributions were made by Haavard Helstrup (HAAVARD@CERNVM) and Alv Kjetil Holme (HOLMEA@CERNVM); the ‘nynorsk’ variant has been supplied by Per Steinar Iversen

(iversen@vxcern.cern.ch) and Terje Engeset Petterst (TERJEEP@VSFYS1.FI.UIB.NO).

20The file described in this section has version number v1.3c and was last revised on 1994/06/05. A contribution was made by Sten Hellman (HELLMAN@CERNVM.CERN.CH).

21The file described in this section has version number v1.3d and was last revised on 1994/06/26. A contribution was made by Mikko KANERVA (KANERVA@CERNVM) and Keranen

Reino (KERANEN@CERNVM).

22The file described in this section has version number v1.3b and was last revised on 1994/06/04. A contribution was made by Attila Koppanyi (attila@cernvm.cern.ch). Later updates and suggestions by Árpád Bíró (JZP1104@HUSZEG11.bitnet), Istvan Hamecz

(hami@ursus.bke.hu) and Horvath Dezso (horvath@pisa.infn.it).

22 The Croatian language

The file croatian.dtx^{23} defines all the language-specific macros for the Croatian language.

For this language currently no special definitions are needed or available.

23 The Czech language

The file czech.dtx^{24} defines all the language-specific macros for the Czech language.

For this language \frenhspacing is set and two macros \q and \w for easy access to two accents are defined.

The command \q is used with the letters (t, d, l, and L) and adds a ' to them to simulate a ‘hook’ that should be there. The result looks like t’. The command \w is used to put the accent that appears in ångstrøm over the letters u and U.

24 The Slovak language

The file slovak.dtx^{25} defines all the language-specific macros for the Slovak language.

For this language the macro \q is defined. It is used with the letters (t, d, l, and L) and adds a ' to them to simulate a ‘hook’ that should be there. The result looks like t’.

25 The Polish language

The file polish.dtx^{26} defines all the language-specific macros for the Polish language.

For this language the character " is made active. In table 9 an overview is given of its purpose.

26 The Romanian language

The file romanian.dtx^{27} defines all the language-specific macros for the Romanian language.

23The file described in this section has version number v1.3c and was last revised on 1994/06/04. A contribution was made by Alan Paić (paica@cernvm.cern.ch).

24The file described in this section has version number v1.3d and was last revised on 1994/06/26. Contributions were made by Milos Lokajicek (LOKAJICK@CERNVM).

25The file described in this section has version number v1.2d and was last revised on 1994/06/30. It was written by Chlebikova Jana (chlebik@euromath.dk).

26The file described in this section has version number v1.1c and was last revised on 1994/06/26.

27The file described in this section has version number v1.2d and was last revised on 1994/06/26. A contribution was made by Umstatter Horst (hhu@cernvm.cern.ch).

"a or \aob, for tailed-a (like a̧)
"A or \Aob, for tailed-A (like A̧)
"e or \eob, for tailed-e (like ȩ)
"E or \Eob, for tailed-E (like Ȩ)

"c or \'c, for accented c (like ć), same with uppercase

letters and n,o,s

"l or \lpb{}, for l with stroke (like ł)
"L or \Lpb{}, for L with stroke (like Ł)
"r or \zkb{}, for pointed z (like ż), cf. pronounciation
"R or \Zkb{}, for pointed Z (like Ż)
"z or \'z, for accented z
"Z or \'Z, for accented Z
"| disable ligature at this position.

"- an explicit hyphen sign, allowing hyphenation in the

rest of the word. "" like "-, but producing no hyphen sign (for compund

words with hyphen, e.g. x-""y).

"` for German left double quotes (looks like ,,).
"' for German right double quotes.
"< for French left double quotes (similar to <<).
"> for French right double quotes (similar to >>).

Table 9: The extra definitions made by polish.sty

For this language currently no special definitions are needed or available.

27 The Slovanian language

The file slovene.dtx^{28} defines all the language-specific macros for the Slovanian language.

For this language currently no special definitions are needed or available.

28 The Turkish language

The file turkish.dtx^{29} defines all the language-specific macros for the Turkish language^{30}.

Turkish typographic rules specify that a little ‘white space’ should be added before the characters ‘:’, ‘!’ and ‘=’. In order to insert this white space automatically these characters are made ‘active’. Also \frenhspacing is set.

28The file described in this section has version number v1.2d and was last revised on 1994/06/26. Contributions were made by Danilo Zavrtanik, University of Ljubljana (YU).

29The file described in this section has version number v1.2b and was last revised on 1994/06/04.

30Mustafa Burc, rz6001@rziris01.rrz.uni-hamburg.de provided the code for this file. It is based on the work by Pierre Mackay

29 The Bahasa language

The file bahasa.doc^{31} defines all the language-specific macros for the bahasa indonesia / bahasa melayu language. Bahasa just means ‘language’ in bahasa indonesia / bahasa melayu. Since both national versions of the language use the same writing, although differing in pronounciation, this file can be used for both languages.

For this language currently no special definitions are needed or available.

31The file described in this section has version number v0.9b and was last revised on 1994/06/26.