Typo
[latex2e.git] / latex2e-20150101 / required / babel / tb1401.tex
bloba1f2a78d1516a01513c0f71d8e513b6eaa13ed45
1 % \iffalse meta-comment
3 % Copyright 1989-2009 Johannes L. Braams and any individual authors
4 % listed elsewhere in this file. All rights reserved.
5 %
6 % This file is part of the Babel system.
7 % --------------------------------------
8 %
9 % It may be distributed and/or modified under the
10 % conditions of the LaTeX Project Public License, either version 1.3
11 % of this license or (at your option) any later version.
12 % The latest version of this license is in
13 % http://www.latex-project.org/lppl.txt
14 % and version 1.3 or later is part of all distributions of LaTeX
15 % version 2003/12/01 or later.
17 % This work has the LPPL maintenance status "maintained".
19 % The Current Maintainer of this work is Johannes Braams.
21 % The list of all files belonging to the Babel system is
22 % given in the file `manifest.bbl. See also `legal.bbl' for additional
23 % information.
25 % The list of derived (unpacked) files belonging to the distribution
26 % and covered by LPPL is defined by the unpacking scripts (with
27 % extension .ins) which are part of the distribution.
28 % \fi
29 %%% ====================================================================
30 %%% @TeX-file{
31 %%% author = "Johannes L. Braams",
32 %%% version = "1.02",
33 %%% date = "06 January 1997",
34 %%% time = "23:18:11 MET",
35 %%% filename = "tb1401.tex",
36 %%% address = "TeXniek,
37 %%% Kersengaarde 33
38 %%% 2723 BP Zoetermeer
39 %%% The Netherlands",
40 %%% telephone = "+31 79 352 28 19",
41 %%% FAX = "+31 70 343 23 95",
42 %%% checksum = "33086 238 1209 9472",
43 %%% email = "babel@braams.cistron.nl (Internet)",
44 %%% codetable = "ISO/ASCII",
45 %%% keywords = "",
46 %%% supported = "yes",
47 %%% abstract = "",
48 %%% docstring = "The update article on babel that appeared
49 %%% in TUGboat Volume 14 No 1.
50 %%%
51 %%% The checksum field above contains a CRC-16
52 %%% checksum as the first value, followed by the
53 %%% equivalent of the standard UNIX wc (word
54 %%% count) utility output of lines, words, and
55 %%% characters. This is produced by Robert
56 %%% Solovay's checksum utility.",
57 %%% }
58 %%% ====================================================================
59 \NeedsTeXFormat{LaTeX2e}
60 \IfFileExists{ltugboat.cls}{%
61 \documentclass{ltugboat}
62 \def\rtitlex{TUGboat, Volume 14 (1993), No. 1}
63 \def\midrtitle{}
64 \def\PrelimDraftfooter{}
65 \let\TBmaketitle\maketitle
66 \setcounter{page}{60}
67 }{%
68 \documentclass{article}
69 \newcommand\address[1]{}
70 \newcommand\netaddress[1]{}
71 \newcommand\TUB{\textsl{TUGboat\/}}
72 \newcommand\TeXhax{\TeX hax}
73 \newcommand{\plain}{\texttt{plain}}}
74 \usepackage{shortvrb}
75 \MakeShortVerb{\|}
77 \newcommand{\file}[1]{\texttt{#1}}
78 \newcommand{\Lopt}[1]{\textsf{#1}}
79 \newcommand{\babel}{\textsf{babel}}
80 \makeatletter
81 % -------------------------------------------------
82 % Definitions copied from doc.sty by FMi
83 % -------------------------------------------------
84 {\obeyspaces%
85 \gdef\meta{\begingroup\obeyspaces%
86 \def {\egroup\space\hbox\bgroup\it}\m@ta}}
87 \def\m@ta#1{\hbox\bgroup$\langle$\it#1\/$\rangle$\egroup\endgroup}
89 {\catcode`\|=\z@ \catcode`\\=12|gdef|bslash{\}}
91 \makeatother
92 \newcommand{\bsl}{\protect\bslash}
95 \begin{document}
96 \title{An update on the \babel\ system}
97 \author{Johannes Braams}
98 \address{%
99 \TeX niek\\
100 Kersengaarde 33\\
101 2723 BP Zoetermeer\\
102 The Netherlands}
103 \netaddress{babel@braams.cistron.nl}
104 \date{06 January 1997 \\
105 Version 1.02}
106 \maketitle
108 \begin{abstract}
109 This article describes the changes that have been made to the
110 \babel\ system, since the article describing the system appeared in
111 \TUB\ Volume 12, number 2. This article announces the release of a
112 new version of the \babel\ system.
113 \end{abstract}
115 \section{Introduction}
117 Since the publication of the \babel\ system in \TUB~\cite{bab} several
118 changes have occurred. With the new release of \LaTeX\ -- which
119 appeared at the end of 1991 -- the internationalised version I\LaTeX,
120 prepared by Joachim Schrod~\cite{ilatex} was withdrawn. But some of
121 its functionality was still needed, so a modification of the \babel\
122 system was necessary.
124 Besides this a couple of bugs were reported and had to be fixed. The
125 major problem was that the language changing commands were not
126 `local', they contained global definitions. In the current version
127 these commands obey grouping correctly.
129 Some macros that formerly were in language-specific files have been
130 moved to the core of the system, because they are being used in
131 several language-specific files.
133 \section{Changes to the core of \babel}
135 The changes to the core of the \babel\ system are the most extensive.
137 \subsection*{{\tt\bsl selectlanguage}}
138 The \babel\ user-command |\selectlanguage| now also accepts a control
139 sequence as its argument. This was included to provide compatibility
140 for users who were used to the syntax of the original
141 \file{german.tex}, but wanted to switch to \babel. The escape
142 character is `peeled off' and the name of the control sequence is then
143 used as the name of the language to select.
145 Another change to the |\selectlanguage| macro is that it now stores
146 the name of the current language in the control sequence
147 |\languagename|. The contents of this control sequence could be tested
148 in the following way:
150 \begin{verbatim}
151 \edef\tmp{\string english}
152 \ifx\languagename\tmp
154 \else
157 \end{verbatim}
159 The construction with |\string| is necessary because
160 |\languagename| returns the name with characters of category code
161 \texttt{12} (other).
163 \subsection*{Saving macro definitions}
165 A new way of handling macros that are temporarily \emph{re}defined was
166 developed by Bernd Raichle and included in the core of the \babel\
167 system. Two new macros, for use in the language-specific files have
168 been introduced.\\
169 These macros, |\babel@savevariable|\meta{register} and
170 |\babel@save|\meta{macro}, append code to |\originalTeX|. This code
171 restores the value (or meaning) of what was saved when |\originalTeX|
172 was executed.
174 \subsection*{Special characters}
176 Some of the language-specific files introduce one or more characters
177 that are special in some way. Such characters have to be added to
178 |\dospecials| (and |\@sanitize| too for \LaTeX) whenever their special
179 meaning is activated. But, they may have to be removed again when
180 another language, which doesn't use them, is in effect.
182 To this end two new control sequences, that are meant to be used in
183 the language-specific files are introduced. They are
184 |\babel@add@special| and |\babel@remove@special| and perform the
185 necessary tasks.
187 \subsection*{Additional facilities}
189 A specific request from Joachim Schrod for \babel, was the possibility
190 to extend the definition of a control sequence on the fly. It should,
191 for instance, be possible that the user adds a macro of his own to the
192 definition of |\extrasenglish|.
194 This feature is now provided by the macro\\
195 |\addto{|\meta{control sequence}|}{|\meta{\TeX\ code}|}|.
196 It is now used throughout the
197 language-specific files to build the macros |\extras|\meta{lang} and
198 |\noextras|\meta{lang}.
200 The support macros |\allowhyphens|,\\ |\set@low@box| and |\save@sf@q|
201 have been moved from the language-specific files to the core of the
202 \babel\ system.
204 \subsection{The files}
206 In the previous release a file called \file{latexhax.com} was
207 provided. This was needed to provide some macros normally defined by
208 \LaTeX, to \plain~\TeX\ users. The need for this file has been removed
209 in the current release of the \babel\ system.
211 In the previous release of the system, four different files were
212 provided (all derived from \file{hyphen.doc} that were needed for
213 different combinations of versions of \TeX\ and \file{plain.tex} or
214 \file{lplain.tex}. This has been changed. In the current version only
215 two different files are derived from \file{hyphen.doc}. They are
216 \file{babel.switch} and \file{babel.hyphen}.\\
217 The file \file{babel.switch} is needed for people who can't build a
218 new format or don't have \TeX\ version 3. The file \file{babel.hyphen}
219 should be loaded into the format by ini\TeX. It provides the macros
220 from \file{babel.switch}, but additionally it reads the file
221 \file{language.dat}, which specifies the languages for which
222 hyphenation patterns should be loaded.
224 In the previous release the file \file{babel.com} contained
225 redefinitions for a lot of \LaTeX\ macros to replace texts with
226 control sequences. This has been removed, because it is no longer
227 necessary for releases of \LaTeX\ dated december 1991 or later. Those
228 who still have an older release of \LaTeX\ can produce a special
229 version of \file{babel.com} by including the docstrip option
230 \meta{names} when stripping the file \file{babel.doc}.
232 With the release of the new version of Frank Mittelbach's \texttt{doc}
233 package the stripped files are no longer distributed. The distribution
234 of babel now includes a file \file{install.babel} with which you can
235 produce them (give the command \file{tex install.babel}).
237 \section{Changes to the language specific files}
239 Bernd Raichle has invented a solution for things like |\char"45|
240 when the |"| is active. His solution (from german 2.3e) has been
241 included in germanb and is copied for other language specific files
242 that have an active |"|.
244 A few terms have been added to the |\captions|\meta{...} macros,
245 again following \file{german.tex}. These terms are |\prefacename|,
246 |\seename| and |\seealsoname|. I don't have the correct
247 translations for all languages yet, but that will be repaired as soon
248 as someone provides them to me.
250 For the dutch language the behaviour of the active double quote has
251 been slightly modified. It has been noted that there is a difference
252 between |"e|, where a `trema' should be produced and |\"u|, where we
253 should get an `umlaut'. The difference between the two is that the
254 `trema' should disappear at a hyphenation point, whereas the `umlaut'
255 should not.
257 \begin{thebibliography}{9}
258 \bibitem{bab} Johannes Braams,
259 \emph{Babel, a multilingual style-option system for use with
260 \LaTeX's standard document styles},
261 \emph{TUGboat} 12 (1991) \#2, p.~291--301.
262 \bibitem{ilatex}Joachim Schrod,
263 \emph{International \LaTeX\ is ready to use},
264 \emph{TUGboat} 11 (1990) \#1, p.~87--90.
265 \end{thebibliography}
266 \end{document}