diff options
Diffstat (limited to 'Master/texmf-dist/source')
26 files changed, 3268 insertions, 468 deletions
diff --git a/Master/texmf-dist/source/generic/babel/albanian.dtx b/Master/texmf-dist/source/generic/babel/albanian.dtx new file mode 100644 index 00000000000..2412f627ec9 --- /dev/null +++ b/Master/texmf-dist/source/generic/babel/albanian.dtx @@ -0,0 +1,304 @@ +% \iffalse meta-comment +% +% Patched by Heiko Oberdiek for project latex-tds: +% * 2006/06/02: Documentation bug: incomplete first paragraph +% with open \footnote macro. +% +% Copyright 1989-2005 Johannes L. Braams and any individual authors +% listed elsewhere in this file. All rights reserved. +% +% This file is part of the Babel system. +% -------------------------------------- +% +% It may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work is Johannes Braams. +% +% The list of all files belonging to the Babel system is +% given in the file `manifest.bbl. See also `legal.bbl' for additional +% information. +% +% The list of derived (unpacked) files belonging to the distribution +% and covered by LPPL is defined by the unpacking scripts (with +% extension .ins) which are part of the distribution. +% \fi +% \CheckSum{252} +% \iffalse +% Tell the \LaTeX\ system who we are and write an entry on the +% transcript. +%<*dtx> +\ProvidesFile{albanian.dtx} +%</dtx> +%<code>\ProvidesLanguage{albanian} +%\fi +%\ProvidesFile{albanian.dtx} + [2005/11/23 v1.0a albanian support from the babel system] +%\iffalse +% Babel package for LaTeX version 2e +% Copyright (C) 1989 - 2005 +% by Johannes Braams, TeXniek +% +% Please report errors to: J.L. Braams +% babel at braams.cistron.nl +% +% This file is part of the babel system, it provides the source +% code for the albanian language definition file. A contribution +% was made by Adi Zaimi (zami1st at yahoo.com). +% +%<*filedriver> +\documentclass{ltxdoc} +\newcommand*\TeXhax{\TeX hax} +\newcommand*\babel{\textsf{babel}} +\newcommand*\langvar{$\langle \it lang \rangle$} +\newcommand*\note[1]{} +\newcommand*\Lopt[1]{\textsf{#1}} +\newcommand*\file[1]{\texttt{#1}} +\begin{document} + \DocInput{albanian.dtx} +\end{document} +%</filedriver> +%\fi +% \GetFileInfo{albanian.dtx} +% \changes{albanian-1.0a}{2005/11/21}{Started first version of the file} +% +% \section{The Albanian language} +% +% The file \file{\filename}\footnote{The file described in this +% section has version number \fileversion\ and was last revised on +% \filedate.} defines all the language definition macros for the +% Albanian language. +% +% Albanian is written in a latin script, but it has 36 leters, +% 9 which are diletters (dh, gj, ll, nj, rr, sh, th, xh, zh), +% and two extra special characters. +% +% For this language the character |"| is made active. In +% table~\ref{tab:albanian-quote} an overview is given of its +% purpose. +% +% \begin{table}[htb] +% \begin{center} +% \begin{tabular}{lp{8cm}} +% |"c| & |\"c|, also implemented for the uppercase \\ +% |"-| & an explicit hyphen sign, allowing hyphenation +% in the rest of the word. \\ +% \verb="|= & disable ligature at this position \\ +% |""| & like |"-|, but producing no hyphen sign +% (for compund words with hyphen, e.g.\ |x-""y|). \\ +% |"`| & for Albanian left double quotes (looks like ,,). \\ +% |"'| & for Albanian right double quotes. \\ +% |"<| & for French left double quotes (similar to $<<$). \\ +% |">| & for French right double quotes (similar to $>>$). \\ +% \end{tabular} +% \caption{The extra definitions made +% by \file{albanian.ldf}}\label{tab:albanian-quote} +% \end{center} +% \end{table} +% +% Apart from defining shorthands we need to make sure that the +% first paragraph of each section is intended. Furthermore the +% following new math operators are defined (|\tg|, |\ctg|, +% |\arctg|, |\arcctg|, |\sh|, |\ch|, |\th|, |\cth|, |\arsh|, +% |\arch|, |\arth|, |\arcth|, |\Prob|, |\Expect|, |\Variance|). +% +% \StopEventually{} +% +% The macro |\LdfInit| takes care of preventing that this file is +% loaded more than once, checking the category code of the +% \texttt{@} sign, etc. +% \begin{macrocode} +%<*code> +\LdfInit{albanian}\captionsalbanian +% \end{macrocode} +% +% When this file is read as an option, i.e. by the |\usepackage| +% command, \texttt{albanian} will be an `unknown' language in which +% case we have to make it known. So we check for the existence of +% |\l@albanian| to see whether we have to do something here. +% +% \begin{macrocode} +\ifx\l@albanian\@undefined + \@nopatterns{Albanian} + \adddialect\l@albanian\fi +% \end{macrocode} +% +% The next step consists of defining commands to switch to (and +% from) the Albanian language. +% +% \begin{macro}{\captionsalbanian} +% The macro |\captionsalbanian| defines all strings used +% in the four standard documentclasses provided with \LaTeX. +% \begin{macrocode} +\addto\captionsalbanian{% + \def\prefacename{Parathenie}% + \def\refname{Referencat}% + \def\abstractname{P\"ermbledhje}% + \def\bibname{Bibliografia}% + \def\chaptername{Kapitulli}% + \def\appendixname{Shtes\"a}% + \def\contentsname{P\"ermbajta}% + \def\listfigurename{Figurat}% + \def\listtablename{Tabelat}% + \def\indexname{Indeksi}% + \def\figurename{Figura}% + \def\tablename{Tabela}% + \def\partname{Pjesa}% + \def\enclname{Lidhja}% + \def\ccname{Kopja}% + \def\headtoname{P\"er}% + \def\pagename{Faqe}% + \def\seename{shiko}% + \def\alsoname{shiko dhe}% + \def\proofname{V\"ertetim}% + \def\glossaryname{P\"erhasja e Fjal\"eve}% + }% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\datealbanian} +% The macro |\datealbanian| redefines the command |\today| to +% produce Albanian dates. +% \begin{macrocode} +\def\datealbanian{% + \def\today{\number\day .~\ifcase\month\or + janar\or shkurt\or mars\or prill\or maj\or + qershor\or korrik\or gusht\or shtator\or tetor\or n\"entor\or + dhjetor\fi \space \number\year}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\extrasalbanian} +% \begin{macro}{\noextrasalbanian} +% The macro |\extrasalbanian| will perform all the extra +% definitions needed for the Albanian language. The macro +% |\noextrasalbanian| is used to cancel the actions of +% |\extrasalbanian|. +% +% For Albanian the \texttt{"} character is made active. This is done +% once, later on its definition may vary. Other languages in the +% same document may also use the \texttt{"} character for +% shorthands; we specify that the albanian group of shorthands +% should be used. +% +% \begin{macrocode} +\initiate@active@char{"} +\addto\extrasalbanian{\languageshorthands{albanian}} +\addto\extrasalbanian{\bbl@activate{"}} +% \end{macrocode} +% Don't forget to turn the shorthands off again. +% \begin{macrocode} +\addto\noextrasalbanian{\bbl@deactivate{"}} +% \end{macrocode} +% First we define shorthands to facilitate the occurence of letters +% such as \v{c}. +% \begin{macrocode} +\declare@shorthand{albanian}{"c}{\textormath{\v c}{\check c}} +\declare@shorthand{albanian}{"e}{\textormath{\v e}{\check e}} +\declare@shorthand{albanian}{"C}{\textormath{\v C}{\check C}} +\declare@shorthand{albanian}{"E}{\textormath{\v E}{\check E}} +% \end{macrocode} +% +% Then we define access to two forms of quotation marks, similar +% to the german and french quotation marks. +% \begin{macrocode} +\declare@shorthand{albanian}{"`}{% + \textormath{\quotedblbase{}}{\mbox{\quotedblbase}}} +\declare@shorthand{albanian}{"'}{% + \textormath{\textquotedblleft{}}{\mbox{\textquotedblleft}}} +\declare@shorthand{albanian}{"<}{% + \textormath{\guillemotleft{}}{\mbox{\guillemotleft}}} +\declare@shorthand{albanian}{">}{% + \textormath{\guillemotright{}}{\mbox{\guillemotright}}} +% \end{macrocode} +% then we define two shorthands to be able to specify hyphenation +% breakpoints that behave a little different from |\-|. +% \begin{macrocode} +\declare@shorthand{albanian}{"-}{\nobreak-\bbl@allowhyphens} +\declare@shorthand{albanian}{""}{\hskip\z@skip} +% \end{macrocode} +% And we want to have a shorthand for disabling a ligature. +% \begin{macrocode} +\declare@shorthand{albanian}{"|}{% + \textormath{\discretionary{-}{}{\kern.03em}}{}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\bbl@frenchindent} +% \begin{macro}{\bbl@nonfrenchindent} +% In albanian the first paragraph of each section should be indented. +% Add this code only in \LaTeX. +% \begin{macrocode} +\ifx\fmtname plain \else + \let\@aifORI\@afterindentfalse + \def\bbl@frenchindent{\let\@afterindentfalse\@afterindenttrue + \@afterindenttrue} + \def\bbl@nonfrenchindent{\let\@afterindentfalse\@aifORI + \@afterindentfalse} + \addto\extrasalbanian{\bbl@frenchindent} + \addto\noextrasalbanian{\bbl@nonfrenchindent} +\fi +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\mathalbanian} +% Some math functions in Albanian math books have other names: +% e.g. |sinh| in Albanian is written as |sh| etc. So we define a +% number of new math operators. +% \begin{macrocode} +\def\sh{\mathop{\operator@font sh}\nolimits} % same as \sinh +\def\ch{\mathop{\operator@font ch}\nolimits} % same as \cosh +\def\th{\mathop{\operator@font th}\nolimits} % same as \tanh +\def\cth{\mathop{\operator@font cth}\nolimits} % same as \coth +\def\arsh{\mathop{\operator@font arsh}\nolimits} +\def\arch{\mathop{\operator@font arch}\nolimits} +\def\arth{\mathop{\operator@font arth}\nolimits} +\def\arcth{\mathop{\operator@font arcth}\nolimits} +\def\tg{\mathop{\operator@font tg}\nolimits} % same as \tan +\def\ctg{\mathop{\operator@font ctg}\nolimits} % same as \cot +\def\arctg{\mathop{\operator@font arctg}\nolimits} % same as \arctan +\def\arcctg{\mathop{\operator@font arcctg}\nolimits} +\def\Prob{\mathop{\mathsf P\hskip0pt}\nolimits} +\def\Expect{\mathop{\mathsf E\hskip0pt}\nolimits} +\def\Variance{\mathop{\mathsf D\hskip0pt}\nolimits} +% \end{macrocode} +% \end{macro} +% +% The macro |\ldf@finish| takes care of looking for a +% configuration file, setting the main language to be switched on +% at |\begin{document}| and resetting the category code of +% \texttt{@} to its original value. +% \begin{macrocode} +\ldf@finish{albanian} +%</code> +% \end{macrocode} +% +% \Finale +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% +\endinput + + diff --git a/Master/texmf-dist/source/generic/babel/albanian.ins b/Master/texmf-dist/source/generic/babel/albanian.ins new file mode 100644 index 00000000000..bb4e1eb3925 --- /dev/null +++ b/Master/texmf-dist/source/generic/babel/albanian.ins @@ -0,0 +1,149 @@ +%% +%% This file will generate fast loadable files and documentation +%% driver files from the doc files in this package when run through +%% LaTeX or TeX. +%% +%% Copyright 1989-2005 Johannes L. Braams and any individual authors +%% listed elsewhere in this file. All rights reserved. +%% +%% This file is part of the Babel system. +%% -------------------------------------- +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2003/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% The Current Maintainer of this work is Johannes Braams. +%% +%% The list of all files belonging to the LaTeX base distribution is +%% given in the file `manifest.bbl. See also `legal.bbl' for additional +%% information. +%% +%% The list of derived (unpacked) files belonging to the distribution +%% and covered by LPPL is defined by the unpacking scripts (with +%% extension .ins) which are part of the distribution. +%% +%% --------------- start of docstrip commands ------------------ +%% +\def\filedate{2005/11/21} +\def\batchfile{albanian.ins} +\input docstrip.tex + +{\ifx\generate\undefined +\Msg{**********************************************} +\Msg{*} +\Msg{* This installation requires docstrip} +\Msg{* version 2.3c or later.} +\Msg{*} +\Msg{* An older version of docstrip has been input} +\Msg{*} +\Msg{**********************************************} +\errhelp{Move or rename old docstrip.tex.} +\errmessage{Old docstrip in input path} +\batchmode +\csname @@end\endcsname +\fi} + +\declarepreamble\mainpreamble +This is a generated file. + +Copyright 1989-2005 Johannes L. Braams and any individual authors +listed elsewhere in this file. All rights reserved. + +This file was generated from file(s) of the Babel system. +--------------------------------------------------------- + +It may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either version 1.3 +of this license or (at your option) any later version. +The latest version of this license is in + http://www.latex-project.org/lppl.txt +and version 1.3 or later is part of all distributions of LaTeX +version 2003/12/01 or later. + +This work has the LPPL maintenance status "maintained". + +The Current Maintainer of this work is Johannes Braams. + +This file may only be distributed together with a copy of the Babel +system. You may however distribute the Babel system without +such generated files. + +The list of all files belonging to the Babel distribution is +given in the file `manifest.bbl'. See also `legal.bbl for additional +information. + +The list of derived (unpacked) files belonging to the distribution +and covered by LPPL is defined by the unpacking scripts (with +extension .ins) which are part of the distribution. +\endpreamble + +\declarepreamble\fdpreamble +This is a generated file. + +Copyright 1989-2005 Johannes L. Braams and any individual authors +listed elsewhere in this file. All rights reserved. + +This file was generated from file(s) of the Babel system. +--------------------------------------------------------- + +It may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either version 1.3 +of this license or (at your option) any later version. +The latest version of this license is in + http://www.latex-project.org/lppl.txt +and version 1.3 or later is part of all distributions of LaTeX +version 2003/12/01 or later. + +This work has the LPPL maintenance status "maintained". + +The Current Maintainer of this work is Johannes Braams. + +This file may only be distributed together with a copy of the Babel +system. You may however distribute the Babel system without +such generated files. + +The list of all files belonging to the Babel distribution is +given in the file `manifest.bbl'. See also `legal.bbl for additional +information. + +In particular, permission is granted to customize the declarations in +this file to serve the needs of your installation. + +However, NO PERMISSION is granted to distribute a modified version +of this file under its original name. + +\endpreamble + +\keepsilent + +\usedir{tex/generic/babel} + +\usepreamble\mainpreamble +\generate{\file{albanian.ldf}{\from{albanian.dtx}{code}} + } +\usepreamble\fdpreamble + +\ifToplevel{ +\Msg{***********************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* files into a directory searched by TeX:} +\Msg{*} +\Msg{* \space\space All *.def, *.fd, *.ldf, *.sty} +\Msg{*} +\Msg{* To produce the documentation run the files ending with} +\Msg{* '.dtx' and `.fdd' through LaTeX.} +\Msg{*} +\Msg{* Happy TeXing} +\Msg{***********************************************************} +} + +\endinput + diff --git a/Master/texmf-dist/source/generic/babel/athnum.dtx b/Master/texmf-dist/source/generic/babel/athnum.dtx index 7a088cb5d65..8a35a1f3e36 100644 --- a/Master/texmf-dist/source/generic/babel/athnum.dtx +++ b/Master/texmf-dist/source/generic/babel/athnum.dtx @@ -1,5 +1,8 @@ % \iffalse meta-comment % +% Patched by Heiko Oberdiek for project latex-tds: +% * 2006/06/02: Documentation bug: \CharacterTable without argument removed. +% % Copyright 1989-2005 Johannes L. Braams and any individual authors % listed elsewhere in this file. All rights reserved. % @@ -27,7 +30,6 @@ % extension .ins) which are part of the distribution. % \fi %% \CheckSum{125} -%% \CharacterTable %\iffalse % %% This is file `athnum.dtx' diff --git a/Master/texmf-dist/source/generic/babel/babel.drv b/Master/texmf-dist/source/generic/babel/babel.drv deleted file mode 100644 index ce7f645b0a3..00000000000 --- a/Master/texmf-dist/source/generic/babel/babel.drv +++ /dev/null @@ -1,188 +0,0 @@ -%% -%% This is file `babel.drv', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% babel.dtx (with options: `driver') -%% -%% This file was generated from file(s) of the Babel system. -%% --------------------------------------------------------- -%% -%% Copyright (C) 2004 Johannes Braams. All rights reserved. -%% -%% To produce the documentation in the way you like you are allowed -%% to change this driver file. -%% -%% -%% File 'babel.dtx' -%%\ProvidesFile{babel.dtx}[2005/05/21 v3.8g The Babel package] -%% Babel package for LaTeX2e. -%% Copyright (C) 1989 -- 2005 by Johannes Braams, -%% TeXniek -%% all rights reserved. -%% Please report errors to: J.L. Braams -%% babel at braams.cistron.nl -\ifx\ProvidesFile\@undefined - \def\ProvidesFile#1[#2 #3 #4]{% - \wlog{File: #1 #4 #3 <#2>}% - \let\ProvidesFile\@undefined - } -\fi -\ProvidesFile{babel.drv} - [2005/05/21 v3.8g % -] -\documentclass{ltxdoc} -\usepackage{url,t1enc,supertabular} -\usepackage[icelandic,english]{babel} -\DoNotIndex{\!,\',\,,\.,\-,\:,\;,\?,\/,\^,\`,\@M} -\DoNotIndex{\@,\@ne,\@m,\@afterheading,\@date,\@endpart} -\DoNotIndex{\@hangfrom,\@idxitem,\@makeschapterhead,\@mkboth} -\DoNotIndex{\@oddfoot,\@oddhead,\@restonecolfalse,\@restonecoltrue} -\DoNotIndex{\@starttoc,\@unused} -\DoNotIndex{\accent,\active} -\DoNotIndex{\addcontentsline,\advance,\Alph,\arabic} -\DoNotIndex{\baselineskip,\begin,\begingroup,\bf,\box,\c@secnumdepth} -\DoNotIndex{\catcode,\centering,\char,\chardef,\clubpenalty} -\DoNotIndex{\columnsep,\columnseprule,\crcr,\csname} -\DoNotIndex{\day,\def,\dimen,\discretionary,\divide,\dp,\do} -\DoNotIndex{\edef,\else,\@empty,\end,\endgroup,\endcsname,\endinput} -\DoNotIndex{\errhelp,\errmessage,\expandafter,\fi,\filedate} -\DoNotIndex{\fileversion,\fmtname,\fnum@figure,\fnum@table,\fontdimen} -\DoNotIndex{\gdef,\global} -\DoNotIndex{\hbox,\hidewidth,\hfil,\hskip,\hspace,\ht,\Huge,\huge} -\DoNotIndex{\ialign,\if@twocolumn,\ifcase,\ifcat,\ifhmode,\ifmmode} -\DoNotIndex{\ifnum,\ifx,\immediate,\ignorespaces,\input,\item} -\DoNotIndex{\kern} -\DoNotIndex{\labelsep,\Large,\large,\labelwidth,\lccode,\leftmargin} -\DoNotIndex{\lineskip,\leavevmode,\let,\list,\ll,\long,\lower} -\DoNotIndex{\m@ne,\mathchar,\mathaccent,\markboth,\month,\multiply} -\DoNotIndex{\newblock,\newbox,\newcount,\newdimen,\newif,\newwrite} -\DoNotIndex{\nobreak,\noexpand,\noindent,\null,\number} -\DoNotIndex{\onecolumn,\or} -\DoNotIndex{\p@,par, \parbox,\parindent,\parskip,\penalty} -\DoNotIndex{\protect,\ps@headings} -\DoNotIndex{\quotation} -\DoNotIndex{\raggedright,\raise,\refstepcounter,\relax,\rm,\setbox} -\DoNotIndex{\section,\setcounter,\settowidth,\scriptscriptstyle} -\DoNotIndex{\sfcode,\sl,\sloppy,\small,\space,\spacefactor,\strut} -\DoNotIndex{\string} -\DoNotIndex{\textwidth,\the,\thechapter,\thefigure,\thepage,\thepart} -\DoNotIndex{\thetable,\thispagestyle,\titlepage,\tracingmacros} -\DoNotIndex{\tw@,\twocolumn,\typeout,\uppercase,\usecounter} -\DoNotIndex{\vbox,\vfil,\vskip,\vspace,\vss} -\DoNotIndex{\widowpenalty,\write,\xdef,\year,\z@,\z@skip} -\makeatletter -\gdef\dlqq{{\setbox\tw@=\hbox{,}\setbox\z@=\hbox{''}% - \dimen\z@=\ht\z@ \advance\dimen\z@-\ht\tw@ - \setbox\z@=\hbox{\lower\dimen\z@\box\z@}\ht\z@=\ht\tw@ - \dp\z@=\dp\tw@ \box\z@\kern-.04em}} -\@addtoreset{CodelineNo}{section} -\renewcommand\theCodelineNo{% - \reset@font\scriptsize\thesection.\arabic{CodelineNo}} -\renewcommand\codeline@wrindex[1]{\if@filesw - \immediate\write\@indexfile - {\string\indexentry{#1}% - {\number\c@section.\number\c@CodelineNo}}\fi} -\renewenvironment{theglossary}{% - \glossary@prologue% - \GlossaryParms \let\item\@idxitem \ignorespaces}% - {} -\makeatother -\font\manual=logo10 % font used for the METAFONT logo, etc. -\newcommand*\MF{{\manual META}\-{\manual FONT}} -\newcommand*\TeXhax{\TeX hax} -\newcommand*\babel{\textsf{babel}} -\newcommand*\Babel{\textsf{Babel}} -\newcommand*\m[1]{\mbox{$\langle$\it#1\/$\rangle$}} -\newcommand*\langvar{\m{lang}} -\newcommand*\note[1]{} -\newcommand*\bsl{\protect\bslash} -\newcommand*\Lopt[1]{\textsf{#1}} -\newcommand*\Lenv[1]{\textsf{#1}} -\newcommand*\file[1]{\texttt{#1}} -\newcommand*\cls[1]{\texttt{#1}} -\newcommand*\pkg[1]{\texttt{#1}} -\newcommand*\langdeffile[1]{% - \clearpage - \DocInput{#1}} -\DisableCrossrefs -\RecordChanges -\CodelineIndex -\setcounter{StandardModuleDepth}{1} -\begin{document} -\DocInput{babel.dtx} -^^A% \changes{babel~3.6i}{1997/02/22}{Added kannada} -\langdeffile{esperanto.dtx} -\langdeffile{interlingua.dtx} -\langdeffile{dutch.dtx} -\langdeffile{english.dtx} -\langdeffile{germanb.dtx} -\langdeffile{ngermanb.dtx} -\langdeffile{breton.dtx} -\langdeffile{welsh.dtx} -\langdeffile{irish.dtx} -\langdeffile{scottish.dtx} -\langdeffile{greek.dtx} -\langdeffile{frenchb.dtx} -\langdeffile{italian.dtx} -\langdeffile{latin.dtx} -\langdeffile{portuges.dtx} -\langdeffile{spanish.dtx} -\langdeffile{catalan.dtx} -\langdeffile{galician.dtx} -\langdeffile{basque.dtx} -\langdeffile{romanian.dtx} -\langdeffile{danish.dtx} -\langdeffile{icelandic.dtx} -\langdeffile{norsk.dtx} -\langdeffile{swedish.dtx} -\langdeffile{samin.dtx} -\langdeffile{finnish.dtx} -\langdeffile{magyar.dtx} -\langdeffile{estonian.dtx} -\langdeffile{croatian.dtx} -\langdeffile{czech.dtx} -\langdeffile{polish.dtx} -\langdeffile{serbian.dtx} -\langdeffile{slovak.dtx} -\langdeffile{slovene.dtx} -\langdeffile{russianb.dtx} -\langdeffile{bulgarian.dtx} -\langdeffile{ukraineb.dtx} -\langdeffile{lsorbian.dtx} -\langdeffile{usorbian.dtx} -\langdeffile{turkish.dtx} -\langdeffile{hebrew.dtx} -\DocInput{hebinp.dtx} -\DocInput{hebrew.fdd} -\DocInput{heb209.dtx} -\langdeffile{bahasa.dtx} -\clearpage -\DocInput{bbplain.dtx} -\clearpage -\def\filename{index} -\PrintIndex -\clearpage -\def\filename{changes} -\PrintChanges -\end{document} -%% -%% \CharacterTable -%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -%% Digits \0\1\2\3\4\5\6\7\8\9 -%% Exclamation \! Double quote \" Hash (number) \# -%% Dollar \$ Percent \% Ampersand \& -%% Acute accent \' Left paren \( Right paren \) -%% Asterisk \* Plus \+ Comma \, -%% Minus \- Point \. Solidus \/ -%% Colon \: Semicolon \; Less than \< -%% Equals \= Greater than \> Question mark \? -%% Commercial at \@ Left bracket \[ Backslash \\ -%% Right bracket \] Circumflex \^ Underscore \_ -%% Grave accent \` Left brace \{ Vertical bar \| -%% Right brace \} Tilde \~} -\endinput -%% -%% End of file `babel.drv'. diff --git a/Master/texmf-dist/source/generic/babel/babel.dtx b/Master/texmf-dist/source/generic/babel/babel.dtx index aa0a577b1a8..1c00fd2b3f4 100644 --- a/Master/texmf-dist/source/generic/babel/babel.dtx +++ b/Master/texmf-dist/source/generic/babel/babel.dtx @@ -26,7 +26,7 @@ % and covered by LPPL is defined by the unpacking scripts (with % extension .ins) which are part of the distribution. % \fi -% \CheckSum{3805} +% \CheckSum{3821} %% % \def\filename{babel.dtx} % \let\thisfilename\filename @@ -42,7 +42,7 @@ % %% File 'babel.dtx' %\fi -%%\ProvidesFile{babel.dtx}[2005/05/21 v3.8g The Babel package] +%%\ProvidesFile{babel.dtx}[2005/11/23 v3.8h The Babel package] %\iffalse % % Babel DOCUMENT-STYLE option for LaTeX version 2.09 or plain TeX; @@ -982,7 +982,7 @@ %<+kernel&!patterns>\ProvidesFile{switch.def} %<+driver&!user>\ProvidesFile{babel.drv} %<+driver&user>\ProvidesFile{user.drv} - [2005/05/21 v3.8g % + [2005/11/23 v3.8h % %<+package> The Babel package] %<+core> Babel common definitions] %<+kernel> Babel language switching mechanism] @@ -1022,8 +1022,10 @@ % \changes{babel~3.5g}{1996/10/04}{Added option \Lopt{afrikaans}} % \changes{babel~3.7g}{2001/02/09}{Added option \Lopt{acadian}} % \changes{babel~3.8c}{2004/06/12}{Added option \Lopt{australian}} +% \changes{babel~3.8h}{2005/11/23}{Added option \Lopt{albanian}} % \begin{macrocode} \DeclareOption{acadian}{\input{frenchb.ldf}} +\DeclareOption{albanian}{\input{albanian.ldf}} \DeclareOption{afrikaans}{\input{dutch.ldf}} \DeclareOption{american}{\input{english.ldf}} \DeclareOption{australian}{\input{english.ldf}} @@ -1032,7 +1034,20 @@ % \changes{babel~3.6i}{1997/02/20}{Added the \Lopt{Basque} option} % \begin{macrocode} \DeclareOption{austrian}{\input{germanb.ldf}} -\DeclareOption{bahasa}{\input{bahasa.ldf}} +% \end{macrocode} +% \changes{babel~3.8h}{2005/11/23}{added synonyms \Lopt{indonesian}, +% \Lopt{indon} and \Lopt{bahasai} for the original bahasa +% (indonesia) support} +% \changes{babel~3.8h}{2005/11/23}{added \Lopt{malay}, \Lopt{meyaluy} +% and \Lopt{bahasam} for the Bahasa Malaysia support} +% \begin{macrocode} +\DeclareOption{bahasa}{\input{bahasai.ldf}} +\DeclareOption{indonesian}{\input{bahasai.ldf}} +\DeclareOption{indon}{\input{bahasai.ldf}} +\DeclareOption{bahasai}{\input{bahasai.ldf}} +\DeclareOption{malay}{\input{bahasam.ldf}} +\DeclareOption{meyalu}{\input{bahasam.ldf}} +\DeclareOption{bahasam}{\input{bahasam.ldf}} \DeclareOption{basque}{\input{basque.ldf}} \DeclareOption{brazil}{\input{portuges.ldf}} % \end{macrocode} @@ -3409,7 +3424,7 @@ % \begin{macrocode} \def\@notshorthand#1{% \PackageError{babel}{% - The character `\string #1´ should be made + The character `\string #1' should be made a shorthand character;\MessageBreak add the command \string\useshorthands\string{#1\string} to the preamble.\MessageBreak @@ -5694,6 +5709,7 @@ % \changes{babel~3.7f}{2000/09/21}{Added bulgarian} % \changes{babel~3.7f}{2000/09/26}{Added samin} % \changes{babel~3.8a}{2004/02/20}{Added interlingua} +% \changes{babel~3.8h}{2005/11/23}{Added albanian and bahasam} % \begin{macrocode} %<+user>\clearpage \langdeffile{esperanto.dtx} @@ -5731,6 +5747,7 @@ \langdeffile{magyar.dtx} \langdeffile{estonian.dtx} % +\langdeffile{albanian.dtx} \langdeffile{croatian.dtx} \langdeffile{czech.dtx} \langdeffile{polish.dtx} @@ -5750,6 +5767,7 @@ \DocInput{hebrew.fdd} \DocInput{heb209.dtx} \langdeffile{bahasa.dtx} +\langdeffile{bahasam.dtx} %\langdeffile{sanskrit.dtx} %\langdeffile{kannada.dtx} %\langdeffile{nagari.dtx} diff --git a/Master/texmf-dist/source/generic/babel/babel.ins b/Master/texmf-dist/source/generic/babel/babel.ins index c4680ba4555..ef03362d879 100644 --- a/Master/texmf-dist/source/generic/babel/babel.ins +++ b/Master/texmf-dist/source/generic/babel/babel.ins @@ -35,7 +35,7 @@ %% %% This file is part of the `babel' system. %% -\def\filedate{2004/02/20} +\def\filedate{2005/11/23} \def\batchfile{babel.ins} \input docstrip.tex @@ -178,6 +178,7 @@ of this file under its original name. % % Languages have their own subdirectory % +\BblInstall{albanian}{albanian} \BblInstall{bahasa}{bahasa} \BblInstall{basque}{basque} \BblInstall{breton}{breton} diff --git a/Master/texmf-dist/source/generic/babel/bahasa.dtx b/Master/texmf-dist/source/generic/babel/bahasa.dtx index c679c2e4a33..5c8bcb426cd 100644 --- a/Master/texmf-dist/source/generic/babel/bahasa.dtx +++ b/Master/texmf-dist/source/generic/babel/bahasa.dtx @@ -26,7 +26,7 @@ % and covered by LPPL is defined by the unpacking scripts (with % extension .ins) which are part of the distribution. % \fi -% \CheckSum{86} +% \CheckSum{148} %\iffalse % Tell the \LaTeX\ system who we are and write an entry on the % transcript. @@ -36,7 +36,7 @@ %<code>\ProvidesLanguage{bahasa} %\fi %\ProvidesFile{bahasa.dtx} - [2005/03/29 v1.0i Bahasa support from the babel system] + [2005/11/23 v1.0k Bahasa Indonesia support from the babel system] %\iffalse %% File `bahasa.dtx' %% Babel package for LaTeX version 2e @@ -85,13 +85,13 @@ % \changes{bahasa-1.0e}{1996/10/10}{Moved the definition of % \cs{atcatcode} right to the beginning.} % -% \section{The Bahasa language} +% \section{The Bahasa Indonesian language} % % The file \file{\filename}\footnote{The file described in this % section has version number \fileversion\ and was last revised on % \filedate.} defines all the language definition macros for the -% bahasa indonesia / bahasa melayu language. Bahasa just means -% `language' in bahasa indonesia / bahasa melayu. Since both +% 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. @@ -105,10 +105,12 @@ % loaded more than once, checking the category code of the % \texttt{@} sign, etc. % \changes{bahasa-1.0e}{1996/11/02}{Now use \cs{LdfInit} to perform -% initial checks} +% initial checks} +% \changes{bahasa-v1.0k}{2005/11/23}{Make it possible that this file +% is loaded by variuos options} % \begin{macrocode} %<*code> -\LdfInit{bahasa}\captionsbahasa +\LdfInit\CurrentOption{date\CurrentOption} % \end{macrocode} % % When this file is read as an option, i.e. by the |\usepackage| @@ -116,12 +118,53 @@ % case we have to make it known. So we check for the existence of % |\l@bahasa| to see whether we have to do something here. % +% For both Bahasa Indonesia and Bahasa Malaysia the same set of +% hyphenation patterns can be used which are available in the file +% \file{inhyph.tex}. However it could be loaded using any of the +% possible Babel options fot the Indonesian and Malaysian +% languase. So first we try to find out whether this is the case. +% % \changes{bahasa-0.9c}{1994/06/26}{Now use \cs{@patterns} to produce % the warning} % \begin{macrocode} \ifx\l@bahasa\@undefined - \@nopatterns{Bahasa} - \adddialect\l@bahasa0\fi + \ifx\l@bahasai\@undefined + \ifx\l@indon\@undefined + \ifx\l@indonesian\@undefined + \ifx\l@bahasam\@undefined + \ifx\l@malay\@undefined + \ifx\l@meyalu\@undefined + \@nopatterns{Bahasa Indonesia} + \adddialect\l@bahasa0\relax + \else + \let\l@bahasa\l@meyalu + \fi + \else + \let\l@bahasa\l@malay + \fi + \else + \let\l@bahasa\l@bahasam + \fi + \else + \let\l@bahasa\l@indonesian + \fi + \else + \let\l@bahasa\l@indon + \fi + \else + \let\l@bahasa\l@bahasai + \fi +\fi +% \end{macrocode} +% +% Now that we are sure the |\l@bahasa| has some valid definition we +% need to make sure that a name to access the hyphenation patterns, +% corresponding to the option used, is available. +% \begin{macrocode} +\expandafter\expandafter\expandafter\let + \expandafter\csname + \expandafter l\expandafter @\CurrentOption\endcsname + \l@bahasa % \end{macrocode} % % The next step consists of defining commands to switch to (and @@ -137,7 +180,7 @@ % \changes{bahasa-1.0h}{2000/09/19}{Added \cs{glossaryname}} % \changes{bahasa-1.0i}{2003/11/17}{Inserted translation for Glossary} % \begin{macrocode} -\addto\captionsbahasa{% +\@namedef{captions\CurrentOption}{% \def\prefacename{Pendahuluan}% \def\refname{Pustaka}% \def\abstractname{Ringkasan}% (sometime it's called 'intisari' @@ -169,14 +212,14 @@ % % \begin{macro}{\datebahasa} % The macro |\datebahasa| redefines the command |\today| to produce -% Bahasa dates. +% Bahasa Indonesian dates. % \changes{bahasa-1.0f}{1997/10/01}{Use \cs{edef} to define \cs{today}} % \changes{bahasa~1.0f}{1998/03/28}{use \cs{def} instead of \cs{edef} % to save memory} % \changes{bahasa-1.0g}{1999/03/12}{Februari should be spelled as % Pebruari} % \begin{macrocode} -\def\datebahasa{% +\@namedef{date\CurrentOption}{% \def\today{\number\day~\ifcase\month\or Januari\or Pebruari\or Maret\or April\or Mei\or Juni\or Juli\or Agustus\or September\or Oktober\or Nopember\or Desember\fi @@ -194,8 +237,8 @@ % other language definition files. % % \begin{macrocode} -\addto\extrasbahasa{} -\addto\noextrasbahasa{} +\@namedef{extras\CurrentOption}{} +\@namedef{noextras\CurrentOption}{} % \end{macrocode} % \end{macro} % \end{macro} @@ -218,7 +261,7 @@ % \texttt{@} to its original value. % \changes{bahasa-1.0e}{1996/11/02}{Now use \cs{ldf@finish} to wrap up} % \begin{macrocode} -\ldf@finish{bahasa} +\ldf@finish{\CurrentOption} %</code> % \end{macrocode} % diff --git a/Master/texmf-dist/source/generic/babel/bahasa.ins b/Master/texmf-dist/source/generic/babel/bahasa.ins index a444a015e17..23c4cea4fa5 100644 --- a/Master/texmf-dist/source/generic/babel/bahasa.ins +++ b/Master/texmf-dist/source/generic/babel/bahasa.ins @@ -31,7 +31,7 @@ %% %% --------------- start of docstrip commands ------------------ %% -\def\filedate{1999/04/11} +\def\filedate{2005/11/23} \def\batchfile{bahasa.ins} \input docstrip.tex @@ -126,7 +126,8 @@ of this file under its original name. \usedir{tex/generic/babel} \usepreamble\mainpreamble -\generate{\file{bahasa.ldf}{\from{bahasa.dtx}{code}} +\generate{\file{bahasai.ldf}{\from{bahasa.dtx}{code}} + \file{bahasam.ldf}{\from{bahasam.dtx}{code}} } \usepreamble\fdpreamble diff --git a/Master/texmf-dist/source/generic/babel/bahasam.dtx b/Master/texmf-dist/source/generic/babel/bahasam.dtx new file mode 100644 index 00000000000..cd456d2fdcb --- /dev/null +++ b/Master/texmf-dist/source/generic/babel/bahasam.dtx @@ -0,0 +1,292 @@ +% \iffalse meta-comment +% +% Copyright 1989-2005 Johannes L. Braams and any individual authors +% listed elsewhere in this file. All rights reserved. +% +% This file is part of the Babel system. +% -------------------------------------- +% +% It may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work is Johannes Braams. +% +% The list of all files belonging to the Babel system is +% given in the file `manifest.bbl. See also `legal.bbl' for additional +% information. +% +% The list of derived (unpacked) files belonging to the distribution +% and covered by LPPL is defined by the unpacking scripts (with +% extension .ins) which are part of the distribution. +% \fi +% \CheckSum{148} +%\iffalse +% Tell the \LaTeX\ system who we are and write an entry on the +% transcript. +%<*dtx> +\ProvidesFile{bahasam.dtx} +%</dtx> +%<code>\ProvidesLanguage{bahasam} +%\fi +%\ProvidesFile{bahasam.dtx} + [2005/11/23 v1.0j Bahasa Malaysia support from the babel system] +%\iffalse +%% File `bahasam.dtx' +%% Babel package for LaTeX version 2e +%% Copyright (C) 1989 - 2005 +%% by Johannes Braams, TeXniek +% +%% Bahasa Malaysia Language Definition File +%% Copyright (C) 1994 - 2005 +%% by J"org Knappen, (joerg.knappen at alpha.ntp.springer.de) +% Terry Mart (mart at vkpmzd.kph.uni-mainz.de) +% Institut f\"ur Kernphysik +% Johannes Gutenberg-Universit\"at Mainz +% D-55099 Mainz +% Germany +% +%% Copyright (C) 2005 +%% by Bob Margolis, (bob.margolis at ntlworld.com) +% derived from J"ork Knappen's work - see above. +% Yateley, +% UK +% +%% Please report errors to: Bob Margolis +%% bob.margolis at ntlworld.com +%% J.L. Braams +%% babel at braams.cistron.nl +% +% This file is part of the babel system, it provides the source +% code for the Bahasa Malaysia language definition +% file. The original version of this file was written by Terry +% Mart (mart@vkpmzd.kph.uni-mainz.de) and J"org Knappen +% (knappen@vkpmzd.kph.uni-mainz.de). +%<*filedriver> +\documentclass{ltxdoc} +\newcommand*\TeXhax{\TeX hax} +\newcommand*\babel{\textsf{babel}} +\newcommand*\langvar{$\langle \it lang \rangle$} +\newcommand*\note[1]{} +\newcommand*\Lopt[1]{\textsf{#1}} +\newcommand*\file[1]{\texttt{#1}} +\begin{document} + \DocInput{bahasam.dtx} +\end{document} +%</filedriver> +%\fi +% \GetFileInfo{bahasam.dtx} +% +% \changes{bahasa-0.9c}{1994/06/26}{Removed the use of \cs{filedate} +% and moved identification after the loading of \file{babel.def}} +% \changes{bahasa-1.0d}{1996/07/10}{Replaced \cs{undefined} with +% \cs{@undefined} and \cs{empty} with \cs{@empty} for consistency +% with \LaTeX} +% \changes{bahasa-1.0e}{1996/10/10}{Moved the definition of +% \cs{atcatcode} right to the beginning.} +% \changes{bahasam-0.9f}{2005/11/22}{A number of changes to make this +% specific to Bahasa Mayasia} +% +% \section{The Bahasa Malaysia language} +% +% The file \file{\filename}\footnote{The file described in this +% section has version number \fileversion\ and was last revised on +% \filedate.} defines all the language definition macros for the +% Bahasa Malaysia language. Bahasa just means +% `language' in Bahasa Malaysia. A number of terms differ from those used +% in bahasa indonesia. +% +% For this language currently no special definitions are needed or +% available. +% +% \StopEventually{} +% +% The macro |\LdfInit| takes care of preventing that this file is +% loaded more than once, checking the category code of the +% \texttt{@} sign, etc. +% \changes{bahasa-1.0e}{1996/11/02}{Now use \cs{LdfInit} to perform +% initial checks} +% \changes{bahasam-v1.0j}{2005/11/23}{Make it possible that this file +% is loaded by variuos options} +% \begin{macrocode} +%<*code> +\LdfInit\CurrentOption{date\CurrentOption} +% \end{macrocode} +% +% When this file is read as an option, i.e. by the |\usepackage| +% command, \texttt{bahasa} could be an `unknown' language in which +% case we have to make it known. So we check for the existence of +% |\l@bahasa| to see whether we have to do something here. +% +% For both Bahasa Malaysia and Bahasa Indonesia the same set of +% hyphenation patterns can be used which are available in the file +% \file{inhyph.tex}. However it could be loaded using any of the +% possible Babel options fot the Malaysian and Indonesian +% languase. So first we try to find out whether this is the case. +% +% \changes{bahasa-0.9c}{1994/06/26}{Now use \cs{@patterns} to produce +% the warning} +% \begin{macrocode} +\ifx\l@malay\@undefined + \ifx\l@meyalu\@undefined + \ifx\l@bahasam\@undefined + \ifx\l@bahasa\@undefined + \ifx\l@bahasai\@undefined + \ifx\l@indon\@undefined + \ifx\l@indonesian\@undefined + \@nopatterns{Bahasa Malaysia} + \adddialect\l@malay0\relax + \else + \let\l@malay\l@indonesian + \fi + \else + \let\l@malay\l@indon + \fi + \else + \let\l@malay\l@bahasai + \fi + \else + \let\l@malay\l@bahasa + \fi + \else + \let\l@malay\l@bahasam + \fi + \else + \let\l@malay\l@meyalu + \fi +\fi +% \end{macrocode} +% +% Now that we are sure the |\l@malay| has some valid definition we +% need to make sure that a name to access the hyphenation patterns, +% corresponding to the option used, is available. +% \begin{macrocode} +\expandafter\expandafter\expandafter\let + \expandafter\csname + \expandafter l\expandafter @\CurrentOption\endcsname + \l@malay +% \end{macrocode} +% +% The next step consists of defining commands to switch to (and +% from) the Bahasa language. +% +% \begin{macro}{\captionsbahasam} +% The macro |\captionsbahasam| defines all strings used in the four +% standard documentclasses provided with \LaTeX. +% \changes{bahasa-1.0b}{1995/07/04}{Added \cs{proofname} for +% AMS-\LaTeX} +% \changes{bahasa-1.0d}{1996/07/09}{Replaced `Proof' by `Bukti' +% (PR2214)} +% \changes{bahasa-1.0h}{2000/09/19}{Added \cs{glossaryname}} +% \changes{bahasa-1.0i}{2003/11/17}{Inserted translation for Glossary} +% \begin{macrocode} +\@namedef{captions\CurrentOption}{% + \def\prefacename{Pendahuluan}% + \def\refname{Pustaka}% + \def\abstractname{Ringkasan}% (sometime it's called 'intisari' + % or 'ikhtisar') + \def\bibname{Bibliografi}% + \def\chaptername{Bab}% + \def\appendixname{Lampiran}% + \def\contentsname{Kandungan}% + \def\listfigurename{Senarai Gambar}% + \def\listtablename{Senarai Jadual}% + \def\indexname{Indeks}% + \def\figurename{Gambar}% + \def\tablename{Jadual}% + \def\partname{Bahagian}% +% Subject: Subyek +% From: Dari + \def\enclname{Lampiran}% + \def\ccname{cc}% + \def\headtoname{Kepada}% + \def\pagename{Halaman}% +% Notes (Endnotes): Catatan + \def\seename{lihat}% + \def\alsoname{lihat juga}% + \def\proofname{Bukti}% + \def\glossaryname{Istilah}% + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\datebahasam} +% The macro |\datebahasam| redefines the command |\today| to produce +% Bahasa Malaysian dates. +% \changes{bahasa-1.0f}{1997/10/01}{Use \cs{edef} to define \cs{today}} +% \changes{bahasa~1.0f}{1998/03/28}{use \cs{def} instead of \cs{edef} +% to save memory} +% \changes{bahasa-1.0g}{1999/03/12}{Februari should be spelled as +% Pebruari} +% \begin{macrocode} +\@namedef{date\CurrentOption}{% + \def\today{\number\day~\ifcase\month\or + Januari\or Pebruari\or Mac\or April\or Mei\or Jun\or + Julai\or Ogos\or September\or Oktober\or November\or Disember\fi + \space \number\year}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\extrasbahasam} +% \begin{macro}{\noextrasbahasam} +% The macro |\extrasbahasa| will perform all the extra definitions +% needed for the Bahasa language. The macro |\extrasbahasa| is used +% to cancel the actions of |\extrasbahasa|. For the moment these +% macros are empty but they are defined for compatibility with the +% other language definition files. +% +% \begin{macrocode} +\@namedef{extras\CurrentOption}{} +\@namedef{noextras\CurrentOption}{} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\bahasamhyphenmins} +% The bahasam hyphenation patterns should be used with +% |\lefthyphenmin| set to~2 and |\righthyphenmin| set to~2. +% \changes{bahasa-1.0e}{1996/08/07}{use \cs{bahasamhyphenmins} to store +% the correct values} +% \changes{bahasa-1.0h}{2000/09/22}{Now use \cs{providehyphenmins} to +% provide a default value} +% \begin{macrocode} +\providehyphenmins{\CurrentOption}{\tw@\tw@} +% \end{macrocode} +% \end{macro} +% +% The macro |\ldf@finish| takes care of looking for a +% configuration file, setting the main language to be switched on +% at |\begin{document}| and resetting the category code of +% \texttt{@} to its original value. +% \changes{bahasa-1.0e}{1996/11/02}{Now use \cs{ldf@finish} to wrap up} +% \begin{macrocode} +\ldf@finish{\CurrentOption} +%</code> +% \end{macrocode} +% +% \Finale +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% +\endinput diff --git a/Master/texmf-dist/source/generic/babel/base.ins b/Master/texmf-dist/source/generic/babel/base.ins index 7f13287fd29..636481b196e 100644 --- a/Master/texmf-dist/source/generic/babel/base.ins +++ b/Master/texmf-dist/source/generic/babel/base.ins @@ -31,7 +31,7 @@ %% %% --------------- start of docstrip commands ------------------ %% -%% Copyright 2004 Johannes L. Braams +%% Copyright 2005 Johannes L. Braams %% %% This file is part of the `babel' system. %% @@ -155,7 +155,7 @@ of this file under its original name. This file was generated from file(s) of the Babel system. --------------------------------------------------------- -Copyright (C) 2004 Johannes Braams. All rights reserved. +Copyright (C) 2005 Johannes Braams. All rights reserved. To produce the documentation in the way you like you are allowed to change this driver file. @@ -166,7 +166,7 @@ to change this driver file. This file was generated from file(s) of the Babel system. --------------------------------------------------------- -Copyright (C) 2004 Johannes Braams. All rights reserved. +Copyright (C) 2005 Johannes Braams. All rights reserved. This file is a style file for the MakeIndex program @@ -255,6 +255,8 @@ This file is a style file for the MakeIndex program \generate{% \compatfile{samin} \compatfile{interlingua} + \compatfile{albanian} + \compatfile{bahasam} } % driver files diff --git a/Master/texmf-dist/source/generic/babel/bbcompat.dtx b/Master/texmf-dist/source/generic/babel/bbcompat.dtx index b90991e12fb..4986919cf03 100644 --- a/Master/texmf-dist/source/generic/babel/bbcompat.dtx +++ b/Master/texmf-dist/source/generic/babel/bbcompat.dtx @@ -1,5 +1,8 @@ % \iffalse meta-comment % +% Patched by Heiko Oberdiek for project latex-tds: +% * 2006/06/02: Documentation bug fix: \cd -> \cs (typo) +% % Copyright 1989-2005 Johannes L. Braams and any individual authors % listed elsewhere in this file. All rights reserved. % @@ -26,15 +29,15 @@ % and covered by LPPL is defined by the unpacking scripts (with % extension .ins) which are part of the distribution. % \fi -% \CheckSum{251} +% \CheckSum{262} % % \iffalse %<*dtx> -\ProvidesFile{bbcompat.dtx}[2004/02/19 v1.2h] +\ProvidesFile{bbcompat.dtx}[2005/11/23 v1.2i] %</dtx> % %% File 'bbcompat.dtx' -%% Copyright (C) 1989 -- 2004 by Johannes Braams, +%% Copyright (C) 1989 -- 2005 by Johannes Braams, %% TeXniek %% all rights reserved. % @@ -59,7 +62,7 @@ % \changes{bbcompat-1.2}{1996/11/02}{Added the check for \cs{LdfInit}} % \changes{bbcompat-1.2d}{1999/04/12}{When these files are read by a % non-babel plain format the @ has still category code `other' so -% can't use \cd{@undefined}} +% can't use \cs{@undefined}} % \begin{macrocode} \ifx\LdfInit\undefined \def\LdfInit{% @@ -147,14 +150,20 @@ % ukenglish.sty} % \changes{bbcompat-1.2h}{2003/11/13}{Added \file{interlingua.sty}} % \begin{macrocode} +% \changes{bbcompat-1.2i}{2005/11/23}{Added \file{albanian.sty} and +% \file{bahasam.sty}} +%<+albanian>\def\CurrentOption{albanian} +%<+albanian>\input albanian.ldf\relax %<+american>\def\CurrentOption{american} %<+USenglish>\def\CurrentOption{USenglish} %<+british>\def\CurrentOption{british} %<+english>\def\CurrentOption{english} %<+UKenglish>\def\CurrentOption{UKenglish} %<american|british|english|UKenglish|USenglish>\input english.ldf\relax -%<+bahasa>\def\CurrentOption{bahasa}} -%<+bahasa>\input bahasa.ldf\relax +%<+bahasa>\def\CurrentOption{bahasai} +%<+bahasa>\input bahasai.ldf\relax +%<+bahasam>\def\CurrentOption{bahasam} +%<+bahasam>\input bahasam.ldf\relax %<+breton>\def\CurrentOption{breton} %<+breton>\input breton.ldf\relax %<+bulgarian>\def\CurrentOption{bulgarian} diff --git a/Master/texmf-dist/source/generic/babel/bulgarian.dtx b/Master/texmf-dist/source/generic/babel/bulgarian.dtx index decff6c221b..b400609185f 100644 --- a/Master/texmf-dist/source/generic/babel/bulgarian.dtx +++ b/Master/texmf-dist/source/generic/babel/bulgarian.dtx @@ -26,7 +26,7 @@ % and covered by LPPL is defined by the unpacking scripts (with % extension .ins) which are part of the distribution. % \fi -% \CheckSum{1266} +% \CheckSum{1268} % % \iffalse % Tell the \LaTeX\ system who we are and write an entry on the @@ -35,11 +35,11 @@ \ProvidesFile{bulgarian.dtx} %</dtx> %<code>\ProvidesLanguage{bulgarian} - [2005/03/29 v1.0d Bulgarian support from the babel system] + [2006/03/31 v1.0e Bulgarian support from the babel system] % %% File `bulgarian.dtx' %% Babel package for LaTeX version 2e -%% Copyright (C) 1989-2005 +%% Copyright (C) 1989-2006 %% by Johannes Braams,TeXniek % %% Bulgarian Language Definition File @@ -51,7 +51,7 @@ %% by Georgi.Boshnakov <georgi.boshnakov at umist.ac.uk> % %% Please report errors to:J.L.Braams -%% babal at braams.cistron.nl +%% babel at braams.cistron.nl % %<*filedriver> \documentclass{ltxdoc} @@ -707,10 +707,12 @@ % \dots\ these two parameters are useful for another macro: % |\cdash|: % +% \changes{bulgarian-1.0e}{2006/03/31}{Two occurences of \cmd{temp} +% were changed into tab followed by emp} % \begin{macrocode} \ifx\cdash\undefined % should be defined earlier \def\cdash#1#2#3{\def\tempx@{#3}% -\def\tempa@{-}\def empb@{~}\def empc@{*}% +\def\tempa@{-}\def\tempb@{~}\def\tempc@{*}% \ifx\tempx@\tempa@\@Acdash\else \ifx\tempx@\tempb@\@Bcdash\else \ifx\tempx@\tempc@\@Ccdash\else diff --git a/Master/texmf-dist/source/generic/babel/catmik.tex b/Master/texmf-dist/source/generic/babel/catmik.tex new file mode 100644 index 00000000000..39519aa9fe5 --- /dev/null +++ b/Master/texmf-dist/source/generic/babel/catmik.tex @@ -0,0 +1,33 @@ +% set catcodes for the lowercase Bulgarian letters in MIK (BDS) encoding +\catcode 160=12 % \cyra +\catcode 161=12 % \cyrb +\catcode 162=12 % \cyrv +\catcode 163=12 % \cyrg +\catcode 164=12 % \cyrd +\catcode 165=12 % \cyre +\catcode 166=12 % \cyrzh +\catcode 167=12 % \cyrz +\catcode 168=12 % \cyri +\catcode 169=12 % \cyrishrt +\catcode 170=12 % \cyrk +\catcode 171=12 % \cyrl +\catcode 172=12 % \cyrm +\catcode 173=12 % \cyrn +\catcode 174=12 % \cyro +\catcode 175=12 % \cyrp +\catcode 176=12 % \cyrr +\catcode 177=12 % \cyrs +\catcode 178=12 % \cyrt +\catcode 179=12 % \cyru +\catcode 180=12 % \cyrf +\catcode 181=12 % \cyrh +\catcode 182=12 % \cyrc +\catcode 183=12 % \cyrch +\catcode 184=12 % \cyrsh +\catcode 185=12 % \cyrshch +\catcode 186=12 % \cyrhrdsn +\catcode 187=12 % \cyrery +\catcode 188=12 % \cyrsftsn +\catcode 189=12 % \cyrerev +\catcode 190=12 % \cyryu +\catcode 191=12 % \cyrya diff --git a/Master/texmf-dist/source/generic/babel/finnish.dtx b/Master/texmf-dist/source/generic/babel/finnish.dtx index ccd3b9e62e4..d36ceb1f7c0 100644 --- a/Master/texmf-dist/source/generic/babel/finnish.dtx +++ b/Master/texmf-dist/source/generic/babel/finnish.dtx @@ -1,5 +1,9 @@ % \iffalse meta-comment % +% Patched by Heiko Oberdiek for project latex-tds: +% * 2006/06/02: Documentation bug: "=" cannot be used in +% a \changes entry. +% % Copyright 1989-2005 Johannes L. Braams and any individual authors % listed elsewhere in this file. All rights reserved. % @@ -283,7 +287,7 @@ % \end{macrocode} % then we define two shorthands to be able to specify hyphenation % breakpoints that behave a little different from |\-|. -% \changes{finnish-1.3p}{2001/11/13}{\texttt{"=} should also use +% \changes{finnish-1.3p}{2001/11/13}{\texttt{\symbol{34}\symbol{61}} should also use % \cs{bbl@allowhyphens}} % \begin{macrocode} \declare@shorthand{finnish}{"-}{\nobreak-\bbl@allowhyphens} diff --git a/Master/texmf-dist/source/generic/babel/frenchb.dtx b/Master/texmf-dist/source/generic/babel/frenchb.dtx index 279ee712f9b..2ec83b51865 100644 --- a/Master/texmf-dist/source/generic/babel/frenchb.dtx +++ b/Master/texmf-dist/source/generic/babel/frenchb.dtx @@ -1,5 +1,8 @@ % \iffalse meta-comment % +% Patched by Heiko Oberdiek for project latex-tds: +% * 2006/06/02: Documentation bug: "!" cannot be used inside \changes. +% % Copyright 1989-2005 Johannes L. Braams and any individual authors % listed elsewhere in this file. All rights reserved. % @@ -679,7 +682,7 @@ % % \changes{frenchb-1.5g}{2001/09/09}{Let \cs{LdfInit} check for % \cs{datefrench} instead of \cs{NoAutoSpaceBeforeFDP}, -% as the later is also defined by russianb.ldf!} +% as the later is also defined by russianb.ldf} % % \begin{macrocode} %<*code> diff --git a/Master/texmf-dist/source/generic/babel/greek.ins b/Master/texmf-dist/source/generic/babel/greek.ins index a641719f93a..2ea92d103e2 100644 --- a/Master/texmf-dist/source/generic/babel/greek.ins +++ b/Master/texmf-dist/source/generic/babel/greek.ins @@ -1,3 +1,5 @@ +%% Patched by Heiko Oberdiek for project latex-tds: +%% * 2006/06/02: generation of grsymb.sty added. %% %% This file will generate fast loadable files and documentation %% driver files from the doc files in this package when run through @@ -129,6 +131,7 @@ of this file under its original name. \generate{\file{greek.ldf}{\from{greek.dtx}{code}} \file{athnum.sty}{\from{athnum.dtx}{package}} \file{grmath.sty}{\from{grmath.dtx}{package}} + \file{grsymb.sty}{\from{grsymb.dtx}{package}} } \usepreamble\fdpreamble \generate{\file{lgrenc.def}{\from{greek.fdd}{LGRenc}} diff --git a/Master/texmf-dist/source/generic/babel/italian.dtx b/Master/texmf-dist/source/generic/babel/italian.dtx index ea9899f79f2..71ec315d740 100644 --- a/Master/texmf-dist/source/generic/babel/italian.dtx +++ b/Master/texmf-dist/source/generic/babel/italian.dtx @@ -26,7 +26,7 @@ % and covered by LPPL is defined by the unpacking scripts (with % extension .ins) which are part of the distribution. % \fi -% \CheckSum{419} +% \CheckSum{420} % \iffalse % Tell the \LaTeX\ system who we are and write an entry on the % transcript. @@ -36,7 +36,7 @@ %<code>\ProvidesLanguage{italian} %\fi %\ProvidesFile{italian.dtx} - [2005/02/05 v1.2q Italian support from the babel system] + [2005/11/17 v1.2r Italian support from the babel system] %\iffalse %% File `italian.dtx' %% Babel package for LaTeX version 2e @@ -443,8 +443,10 @@ % backtick key. % By this shortcut |""| becomes equivalent to |``| for inserting % raised open high double quotes. +% \changes{italian-1.2r}{2005/11/17}{Added \cs{nobreak} to +% \cs{it@@cwm} and corrected \cs{it@next}} % \begin{macrocode} -\def\it@@cwm{\nobreak\discretionary{-}{}{}\hskip\z@skip}% +\def\it@@cwm{\nobreak\discretionary{-}{}{}\nobreak\hskip\z@skip}% \def\it@@ocap#1{\it@ocap}\def\it@@ccap#1{\it@ccap}% \DeclareRobustCommand*{\it@cwm}{\let\it@@next\relax \ifcat\noexpand\it@temp a% @@ -460,7 +462,7 @@ \def\it@@next{\it@@ccap}% \else \if\noexpand\it@temp\string/% - \def\it@next{\slash\@gobble}% + \def\it@@next{\slash\@gobble}% \else \ifx\it@temp"% \def\it@@next{``\@gobble}% @@ -692,32 +694,37 @@ \fontencoding{U}\fontfamily{lasy}\selectfont)\kern-0.20em)}}% }% % \end{macrocode} -% Then the substitution with any specific font that contains such -% glyphs; it might be the CBgreek fonts, the Cyrillic one, the super-cm ones, the lm ones, -% or any other the user might prefer (the code is adapted from the one -% that appears in the \texttt{frenchb.ld} file; thanks to Daniel Flipo). -% By default if the user did not select the T1 encoding, the existence of the -% CBgreek fonts is tested; if they exist the guillemets are taken from this -% font, and since its families are a superset of the default CM ones and they apply also -% to typeset slides with the standard class \texttt{slides}. If the -% CBgreek fonts are not found, then the existence of the Cyrillic ones is tested, -% although this choice is not suited for typesetting slides; -% otherwise the poor man solution of the \LaTeX\ special symbols is used. -% In any case the user can force the use of the Cyrillic guillemets substitution -% by issuing the declaration |\CyrillicCaporali| just before the -% |\begin{document}| statement; in alternative the user can specify with -% \begin {flushleft} -% |\CaporaliFrom|\marg{encoding}\marg{family}\marg{opening number}\marg{closing number} -% \end{flushleft} -% the encoding and family of the font s/he prefers, and the slot numbers of the opening -% and closing guillemets respectively. For example if the T1-encoded Latin Modern fonts -% are desired the specific command should be -% \begin {flushleft} -% |\CaporaliFrom{T1}{lmr}{19}{20}| -% \end{flushleft} -% These user choices might be necessary for assuring the correct typesetting -% with fonts that contain the required glyphs and are available also in PostScript form -% so as to use them directly di \texttt{pdflatex}, for example. +% Then the substitution with any specific font that contains such +% glyphs; it might be the CBgreek fonts, the Cyrillic one, the +% super-cm ones, the lm ones, or any other the user might prefer +% (the code is adapted from the one that appears in the +% \texttt{frenchb.ld} file; thanks to Daniel Flipo). +% By default if the user did not select the T1 encoding, the +% existence of the CBgreek fonts is tested; if they exist the +% guillemets are taken from this font, and since its families are a +% superset of the default CM ones and they apply also to typeset +% slides with the standard class \texttt{slides}. If the CBgreek +% fonts are not found, then the existence of the Cyrillic ones is +% tested, although this choice is not suited for typesetting +% slides; otherwise the poor man solution of the \LaTeX\ special +% symbols is used. In any case the user can force the use of the +% Cyrillic guillemets substitution by issuing the declaration +% |\CyrillicCaporali| just before the |\begin{document}| statement; +% in alternative the user can specify with +% \begin{flushleft} +% |\CaporaliFrom|\marg{encoding}\marg{family}\marg{opening number}\marg{closing number} +% \end{flushleft} +% the encoding and family of the font s/he prefers, and the slot +% numbers of the opening and closing guillemets respectively. For +% example if the T1-encoded Latin Modern fonts are desired the +% specific command should be +% \begin {flushleft} +% |\CaporaliFrom{T1}{lmr}{19}{20}| +% \end{flushleft} +% These user choices might be necessary for assuring the correct +% typesetting with fonts that contain the required glyphs and are +% available also in PostScript form so as to use them directly with +% \texttt{pdflatex}, for example. % \begin{macrocode} \def\CaporaliFrom#1#2#3#4{% \DeclareFontEncoding{#1}{}{}% @@ -730,18 +737,19 @@ \DeclareTextCommand{\it@ccap}{OT1}{\ifdim\lastskip>\z@\unskip\fi% {\fontencoding{#1}\fontfamily{#2}\selectfont\char#4}}} % \end{macrocode} -% Then we set a boolean variable and test the default family; -% if such family has a name that starts with the letters ``ae'' -% then we have no built in guillemets; of course if the AE font family is chosen -% after the \babel\ package is loaded, the test does not perform as required. +% Then we set a boolean variable and test the default family; +% if such family has a name that starts with the letters ``ae'' +% then we have no built in guillemets; of course if the AE font +% family is chosen after the \babel\ package is loaded, the test +% does not perform as required. % \begin{macrocode} \def\get@ae#1#2#3!{\def\bbl@ae{#1#2}}% \def\@ifT@one@noCap{\expandafter\get@ae\f@family!% \def\bbl@temp{ae}\ifx\bbl@ae\bbl@temp\expandafter\@firstoftwo\else \expandafter\@secondoftwo\fi}% % \end{macrocode} -% We set another couple of boolean variables for testing the existence of the -% CBgreek or the Cyrillic fonts +% We set another couple of boolean variables for testing the +% existence of the CBgreek or the Cyrillic fonts % \begin{macrocode} \newif\if@CBgreekEncKnown \IfFileExists{lgrcmr.fd}% @@ -750,14 +758,14 @@ \IfFileExists{ot2cmr.fd}% {\@CyrEncKnowntrue}{\@CyrEncKnownfalse}% % \end{macrocode} -% \begin {macro}{\CBgreekCaporali} -% \begin {macro}{\CyrillicCaporali} -% \begin {macro}{\T@unoCaporali} -% Next we define the macros |\CBgreekCaporali|, |\T@unoCaporali|, -% and |\CyrillicCaporali|; -% with the latter one we test the loaded class, and if it's \texttt{slides} -% nothing gets done. In any case each one of these declarations, if used, must be specified -% in the preamble. +% \begin {macro}{\CBgreekCaporali} +% \begin {macro}{\CyrillicCaporali} +% \begin {macro}{\T@unoCaporali} +% Next we define the macros |\CBgreekCaporali|, |\T@unoCaporali|, +% and |\CyrillicCaporali|; with the latter one we test the loaded +% class, and if it's \texttt{slides} nothing gets done. In any case +% each one of these declarations, if used, must be specified in the +% preamble. % \begin{macrocode} \def\CBgreekCaporali{\@ifclassloaded{slides}{% \IfFileExists{lgrlcmss.fd}{\DeclareFontEncoding{LGR}{}{}% @@ -785,12 +793,12 @@ \def\T@unoCaporali{\DeclareRobustCommand*{\it@ocap}{<<\ignorespaces}% \DeclareRobustCommand*{\it@ccap}{\ifdim\lastskip>\z@\unskip\fi>>}}% % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% Now we can do some real setting; first we start testing the encoding; -% if the encoding is T1 we test if the font family is the AE one; if so, -% we further test for other possibilities +% \end{macro} +% \end{macro} +% \end{macro} +% Now we can do some real setting; first we start testing the encoding; +% if the encoding is T1 we test if the font family is the AE one; if so, +% we further test for other possibilities % \begin{macrocode} \ifx\cf@encoding\bbl@t@one \@ifT@one@noCap{% diff --git a/Master/texmf-dist/source/generic/babel/lahyph.tex b/Master/texmf-dist/source/generic/babel/lahyph.tex new file mode 100644 index 00000000000..6df4f77d4bf --- /dev/null +++ b/Master/texmf-dist/source/generic/babel/lahyph.tex @@ -0,0 +1,303 @@ +% +% ********** lahyph.tex ************* +% +% Copyright 1999 Claudio Beccari +% [latin hyphenation patterns] +% +% ----------------------------------------------------------------- +% IMPORTANT NOTICE: +% +% This program can be redistributed and/or modified under the terms +% of the LaTeX Project Public License Distributed from CTAN +% archives in directory macros/latex/base/lppl.txt; either +% version 1 of the License, or any later version. +% ----------------------------------------------------------------- +% +% Patterns for the latin language mainly in modern spelling +% (u when u is needed and v when v is needed); medieval spelling +% with the ligatures \ae and \oe and the (uncial) lowercase `v' +% written as a `u' is also supported; apparently there is no conflict +% between the patterns of modern Latin with those of medieval Latin. +% +% Support for font encoding OT1 with 128-character set and +% for font encoding T1 with a 256-character set. +% +% Prepared by Claudio Beccari +% Politecnico di Torino +% Torino, Italy +% e-mail beccari@polito.it +% +% 1999/03/10 Integration of `lahyph7.tex' and `lahyph8.tex' into +% one file `lahyph.tex' supporting fonts in OT1 and T1 encoding by +% Bernd Raichle using the macro code from `dehypht.tex' (this code +% is Copyright 1993,1994,1998,1999 Bernd Raichle/DANTE e.V.). +% +% +% \versionnumber{3.0} \versiondate{1999/12/19} +% +% Information at after \endinput. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\message{Latin Hyphenation Patterns `lahyph' Version 3.0 <1999/12/19>} +% +% +% Next we define some commands which are used inside the patterns. +% To keep them local, we enclose the rest of the file in a group +% (The \patterns command globally changes the hyphenation trie!). +% These initial commands are by Bernd Raichle (see above) +% +\begingroup +% +% Make sure that doublequote is not active: +\catcode`\"=12 +% +% +% Ligatures \ae and \oe in font encoding OT1 +% +\catcode"1A=11 \lccode"1A="1A % \ae (^^Z) +\catcode"1D=11 \lccode"1D="1D % \AE (^^]) (not used) +\catcode"1B=11 \lccode"1B="1B % \oe (^^[) +\catcode"1E=11 \lccode"1E="1E % \OE (^^^) (not used) +% +% Define \ae and \oe as shorthands for medieval latin +% ligatures in font encoding OT1: +\def\ae{^^Z} +\def\oe{^^[} +% +% +% Then we have to define some macros depending on the TeX version. +% Therefore we have to distinguish TeX version 2.x and 3.x: +% +\ifnum`\@=`\^^40 % true => TeX 3.x + % + % For TeX 3: + % ---------- + % + % Ligatures \ae and \oe in font encoding T1 + % + \catcode"E6=11 \lccode"E6="E6 % \ae + \catcode"C6=11 \lccode"C6="E6 % \AE (not used) + \catcode"F7=11 \lccode"F7="F7 % \oe + \catcode"D7=11 \lccode"D7="F7 % \OE (not used) + % + % Ligatures \ae and \oe in font encoding T1 are ok: + \def\n#1{#1} + % + % In the following definitions we use ??xy instead of ^^xy + % to avoid errors when reading the macro definitions with + % TeX 2.x (remember ^^e(6) is the comment character): + % + \catcode`\?=7 + % + % Define \a and \o to be \ae resp. \oe in font encoding T1: + \def\a{??e6} % \ae + \def\o{??f7} % \oe + % + \catcode`\?=12 + % +\else + % + % For TeX 2: + % ---------- + % + % Ignore ligatures \ae and \oe in font encoding T1: + \def\n#1{} + % + % Define \a and \o (= \ae, \oe in font encoding T1) to + % signal an error: + \def\a{\errmessage{Hyphenation pattern file corrupted!}} + \def\o{\errmessage{Hyphenation pattern file corrupted!}} + % +\fi +% +% +\lccode`'=`' +\patterns{% +2'2 +.ab2s3 .a2b3l +.anti1 .anti3m2n +.ca4p3s .circu2m1 +.co2n1iun +.di2s3cine +.e2x1 +.o2b3 % .o2b3l .o2b3r .o2b3s +.para1i .para1u +.pre1i .pro1i +.su2b3lu .su2b3r +2s3que. 2s3dem. +3p2sic +3p2neu +\ae1 \oe1 % Ligatures ae and oe (in OT1) +\n{\a1} \n{\o1} % Ligatures ae and oe (in T1) +a1ia a1ie a1io a1iu ae1a ae1o ae1u +e1iu +io1i +o1ia o1ie o1io o1iu +uo3u % quousque +1b 2bb 2bd b2l 2bm 2bn b2r 2bt 2bs 2b. +1c 2cc c2h2 c2l 2cm 2cn 2cq c2r 2cs 2ct 2cz 2c. +1d 2dd 2dg 2dm d2r 2ds 2dv 2d. +1f 2ff f2l 2fn f2r 2ft 2f. +1g 2gg 2gd 2gf g2l 2gm g2n g2r 2gs 2gv 2g. +1h 2hp 2ht 2h. +1j +1k 2kk k2h2 +1l 2lb 2lc 2ld 2lf l3f2t 2lg 2lk 2ll 2lm 2ln 2lp 2lq 2lr + 2ls 2lt 2lv 2l. +1m 2mm 2mb 2mp 2ml 2mn 2mq 2mr 2mv 2m. +1n 2nb 2nc 2nd 2nf 2ng 2nl 2nm 2nn 2np 2nq 2nr 2ns + n2s3m n2s3f 2nt 2nv 2nx 2n. +1p p2h p2l 2pn 2pp p2r 2ps 2pt 2pz 2php 2pht 2p. +1qu2 +1r 2rb 2rc 2rd 2rf 2rg r2h 2rl 2rm 2rn 2rp 2rq 2rr 2rs 2rt + 2rv 2rz 2r. +1s2 2s3ph 2s3s 2stb 2stc 2std 2stf 2stg 2st3l 2stm 2stn 2stp 2stq + 2sts 2stt 2stv 2s. 2st. +1t 2tb 2tc 2td 2tf 2tg t2h t2l t2r 2tm 2tn 2tp 2tq 2tt + 2tv 2t. +1v v2l v2r 2vv +1x 2xt 2xx 2x. +1z 2z. +% For medieval Latin +a1ua a1ue a1ui a1uo a1uu +e1ua e1ue e1ui e1uo e1uu +i1ua i1ue i1ui i1uo i1uu +o1ua o1ue o1ui o1uo o1uu +u1ua u1ue u1ui u1uo u1uu +% +a2l1ua a2l1ue a2l1ui a2l1uo a2l1uu +e2l1ua e2l1ue e2l1ui e2l1uo e2l1uu +i2l1ua i2l1ue i2l1ui i2l1uo i2l1uu +o2l1ua o2l1ue o2l1ui o2l1uo o2l1uu +u2l1ua u2l1ue u2l1ui u2l1uo u2l1uu +% +a2m1ua a2m1ue a2m1ui a2m1uo a2m1uu +e2m1ua e2m1ue e2m1ui e2m1uo e2m1uu +i2m1ua i2m1ue i2m1ui i2m1uo i2m1uu +o2m1ua o2m1ue o2m1ui o2m1uo o2m1uu +u2m1ua u2m1ue u2m1ui u2m1uo u2m1uu +% +a2n1ua a2n1ue a2n1ui a2n1uo a2n1uu +e2n1ua e2n1ue e2n1ui e2n1uo e2n1uu +i2n1ua i2n1ue i2n1ui i2n1uo i2n1uu +o2n1ua o2n1ue o2n1ui o2n1uo o2n1uu +u2n1ua u2n1ue u2n1ui u2n1uo u2n1uu +% +a2r1ua a2r1ue a2r1ui a2r1uo a2r1uu +e2r1ua e2r1ue e2r1ui e2r1uo e2r1uu +i2r1ua i2r1ue i2r1ui i2r1uo i2r1uu +o2r1ua o2r1ue o2r1ui o2r1uo o2r1uu +u2r1ua u2r1ue u2r1ui u2r1uo u2r1uu +% +% +} +\endgroup +% +\endinput +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + For documentation see: + C. Beccari, "Computer aided hyphenation for Italian and Modern + Latin", TUG vol. 13, n. 1, pp. 23-33 (1992) + + see also + + C. Beccari, "Typesetting of ancient languages", + TUG vol.15, n.1, pp. 9-16 (1994) + + In the former paper the code was described as being contained in file ITALAT.TEX; + this is substantially the same code, but the file has been renamed LAHYPH.TEX + in accordance with the ISO name for latin and the convention that all + hyphenation pattern file names should be formed by the agglutination of + two letter language ISO code and the abbreviation HYPH. + + A corresponding file (ITHYPH.TEX) has been extracted in order to eliminate + the (few) patterns specific to latin and leave those specific to italian; + ITHYPH.TEX has been further extended with many new patterns in order to + cope with the many neologisms and technical terms with a foreign root. + + Should you find any word that gets hyphenated in a wrong way, please, AFTER + CHECKING ON A RELIABLE MODERN DICTIONARY, report to the author, preferably + by e-mail. + + Compared with the previous versions, this file has been extended so as to cope + also with the medieval Latin spelling, where the letter `V' played the roles of both + `U' and `V', as in the Roman times save that the Romans used only capitals, while + in the middle ages the availability of soft writing supports and the necessity of + copying book with a reasonable speed several scripts had evolved in (practically) + all of which there was a lower case alphabet different from the upper case one, + and where the lower case `v' had the rounded shape of our modern lower case `u', + and where the Latin diphthongs `AE' and `OE', both in upper and lower case, where + written as ligatures, not to mention the habit of substituting them with their sound, + that is a simple `E'. + + According to Leon Battista Alberti, who in 1466 wrote a book on cryptography where + he thoroughly analyzed the hyphenation of the Latin language of his (still medieval) + times, the differences from the Tuscan language (the Italian language, as it was + named at his time) were very limited, in particular for what concerns the handling + of the ascending and descending diphthongs; in central and Northern Europe, and + later on in north America, the Scholars perceived the above sound as made of two + distinct vowels; the hyphenation of medieval Latin, therefore, was quite different + in the northern countries compared to the southern ones, at least for what concerns + these diphthongs. If you need hyphenation patterns for medieval Latin that suite you + better according to the habits of northern Europe you should resort to the hyphenation + patterns prepared by Yannis Haralambous (TUGboat, vol.13 n.4 (1992)). + + LOADING THE PATTERNS + + Use BABEL ! + + BABEL implies a new hyphen.tex file that substitutes the default one; in + the new hyphen.tex file, new definitions are given for selecting different + languages and typesetting styles. During the initialization of LaTeX, + babel reads another file, language.dat, which contains the names of + the desired languages and the corresponding pattern files. During + document compilation babel seeks a language definition file such as + french.ldf, italian.ldf, or the like, where programming shortcuts and + typesetting style parameters and definitions are established. A latin.ldf + is being prepared but to the present day it is not available. + Therefore in a short while shortcuts will be available for latin as they are + for german, and many other languages. The shortcut I believe is most necessary + for Latin is a short command for inserting a discretionary break at the + compound word boundary of compound words. + + 1) Edit language.dat by adding a line such as this: + + latin lahyph.tex + + 2) Run the initializer and rebuild the format file latex.fmt. + + If you use MiKTeX this is as simple as giving the line command + + makefmt latex + + or to click on Start|Programs|MiKTeX|Maintainance|Rebuild LaTeX format + (or all formats). + + If you use VTeX you must resort to the format manager by clicking the + suitable drop down menu item from the Menu bar. + If you use other TeX/LaTeX systems, rebuild the format file latex.fmt + according to the documentation of your system. + + + PREFIXES AND SUFFIXES + + For what concerns prefixes and suffixes, the latter are generally separated + according to "natural" syllabification, while the former are generally + divided etimologically. In order to avoid an excessive number of patterns, + care has been paid to some prefixes, especially "ex", "trans", + "circum", "prae", but this set of patterns is NOT capable of separating + the prefixes in all circumstances. + + In my first paper I suggested the definition of the underscore character, + defined active, in order to perform the task; the latin.ldf file under + preparation will define the double quote " as an active character that in Latin + performs that task; the same double quote plays the role of the "fac totum" + active character in virtually every other language, and in every language it + does different things (unfortunately! but this is obviously due to the + different specific requirements in each one of them). I hope that using latin.ldf + under babel, even for typesetting Latin just as quotations within other documents + with a different main language, it will be easy for the typesetter to take the + habit of typing i.e. trans"ierat so as to have the possible hyphen points as + trans-ie-rat (instead of tran-sie-rat). diff --git a/Master/texmf-dist/source/generic/babel/language.dat b/Master/texmf-dist/source/generic/babel/language.dat new file mode 100644 index 00000000000..75141062f8c --- /dev/null +++ b/Master/texmf-dist/source/generic/babel/language.dat @@ -0,0 +1,12 @@ +% File : language.dat +% Purpose : specify which hypenation patterns to load +% while running iniTeX +=USenglish +american ushyphen.tex +=english +UKenglish ukhyphen.tex +=british +french frhyphen.tex +dutch nehyph2.tex +german dehypht.tex +ngerman dehyphn.tex diff --git a/Master/texmf-dist/source/generic/babel/latin.dtx b/Master/texmf-dist/source/generic/babel/latin.dtx index c3b3a599990..793b65ba2ef 100644 --- a/Master/texmf-dist/source/generic/babel/latin.dtx +++ b/Master/texmf-dist/source/generic/babel/latin.dtx @@ -26,7 +26,7 @@ % and covered by LPPL is defined by the unpacking scripts (with % extension .ins) which are part of the distribution. % \fi -% \CheckSum{434} +% \CheckSum{449} % \iffalse % Tell the \LaTeX\ system who we are and write an entry on the % transcript. @@ -36,7 +36,7 @@ %<code>\ProvidesFile{latin.ldf} %\fi %\ProvidesFile{latin.dtx}% - [2005/03/30 v2.0f Latin support from the babel system] + [2005/11/17 v2.0g Latin support from the babel system] %\iffalse %% File `latin.dtx' %% Babel package for LaTeX version 2e @@ -49,7 +49,7 @@ % This file is part of the babel system, it provides the source % code for the Latin language definition file. % The original version of this file was written by -% Claudio Beccari, (beccari@polito.it) and includes contributions +% Claudio Beccari, (claudio.beccari@polito.it) and includes contributions % by Krzysztof Konrad \.Zelechowski, (\texttt{kkz@alfa.mimuw.edu.pl}). %<*filedriver> \documentclass{ltxdoc} @@ -358,9 +358,11 @@ % spelling; I have my doubts that the medieval spelling should be % used at all in modern books, reports, and the like, as the uncial % `u' shape of the lower case `v' and the above ligatures were -% used until the middle of the XVII century. Since my opinion (CB) -% may be wrong, I managed to set up the instruments and it is up -% to the typesetter to use them or not. +% fancy styles of the copyists who were able to write faster with +% those rounded glyphs; with typesetting there is no question of +% handling a quill penn\dots Since my (CB) opinion may be wrong, I +% managed to set up the instruments and it is up to the typesetter +% to use them or not. % % \begin{macrocode} \addto\extrasmedievallatin{% @@ -472,41 +474,43 @@ % that even if a picture has to be inserted in the document by % means of the commands and keyword options of the |graphicx| % package, it suffices to switch them off before invoking the -% picture including command, and switched on again afterwards; or, +% picture including command, and switched on again afterwards; or, % even better, since the picture very likely is being inserted -% within a |figure| environment, it suffices the switch them off +% within a |figure| environment, it suffices to switch them off % within the environment, being conscious that their deactivation % remains local to the environment. +% \changes{latin-2.0g}{2005/11/17}{changed \cs{allowhyphens} to +% \cs{bbl@allowhyphens}} % \begin{macrocode} \initiate@active@char{^}% \initiate@active@char{=}% \declare@shorthand{latin}{^a}{% - \textormath{\u{a}\allowhyphens}{\hat{a}}}% + \textormath{\u{a}\bbl@allowhyphens}{\hat{a}}}% \declare@shorthand{latin}{^e}{% - \textormath{\u{e}\allowhyphens}{\hat{e}}}% + \textormath{\u{e}\bbl@allowhyphens}{\hat{e}}}% \declare@shorthand{latin}{^i}{% - \textormath{\u{\i}\allowhyphens}{\hat{\imath}}}% + \textormath{\u{\i}\bbl@allowhyphens}{\hat{\imath}}}% \declare@shorthand{latin}{^o}{% - \textormath{\u{o}\allowhyphens}{\hat{o}}}% + \textormath{\u{o}\bbl@allowhyphens}{\hat{o}}}% \declare@shorthand{latin}{^u}{% - \textormath{\u{u}\allowhyphens}{\hat{u}}}% + \textormath{\u{u}\bbl@allowhyphens}{\hat{u}}}% \declare@shorthand{latin}{=a}{% - \textormath{\={a}\allowhyphens}{\bar{a}}}% + \textormath{\={a}\bbl@allowhyphens}{\bar{a}}}% \declare@shorthand{latin}{=e}{% - \textormath{\={e}\allowhyphens}{\bar{e}}}% + \textormath{\={e}\bbl@allowhyphens}{\bar{e}}}% \declare@shorthand{latin}{=i}{% - \textormath{\={\i}\allowhyphens}{\bar{\imath}}}% + \textormath{\={\i}\bbl@allowhyphens}{\bar{\imath}}}% \declare@shorthand{latin}{=o}{% - \textormath{\={o}\allowhyphens}{\bar{o}}}% + \textormath{\={o}\bbl@allowhyphens}{\bar{o}}}% \declare@shorthand{latin}{=u}{% - \textormath{\={u}\allowhyphens}{\bar{u}}}% + \textormath{\={u}\bbl@allowhyphens}{\bar{u}}}% } % \end{macrocode} % Notice that the short hand definitions are given only for lower % case letters; it would not be difficult to extend the set of % definitions to upper case letters, but it appears of very little % use in view of the kind of documents where prosodic marks are -% supposed to be used. Nevertheless in those rare cases when it's +% supposed to be used. Nevertheless in those rare cases when it's % required to set some uppercase letters with their prosodic % marks, it is always possible to use the standard \LaTeX\ commands % such as |\u{I}| for typesetting \u{I}, or |\={A}| for @@ -520,6 +524,19 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\LatinMarksOn} +% \begin{macro}{\LatinMarksOff} +% \changes{latin-2.0g}{2005/11/17}{Added two commands} +% We define two new commands so as to switch on and off the breve +% and macron shortcuts. +% \begin{macrocode} +\addto\extraslatin{\def\LatinMarksOn{\shorthandon{^}\shorthandon{=}}} +\addto\extraslatin{\def\LatinMarksOff{\shorthandoff{^}\shorthandoff{=}}} +\addtoextraslatin{\LatinMarksOff} +% \end{macrocode} +% \end{macro} +% \end{macro} +% % It must be understood that by using the above prosodic marks, % line breaking is somewhat impeached; since such prosodic marks % are used almost exclusively in dictionaries, grammars, and poems @@ -567,8 +584,9 @@ % letter, the token is tested again to find if it is the character % \texttt{\string|}, in which case it is gobbled and a % discretionary break is introduced. +% \changes{latin-2.0g}{2005/11/17}{Added a \cs{nobreak}} % \begin{macrocode} -\def\lt@allowhyphens{\nobreak\discretionary{-}{}{}\hskip\z@skip} +\def\lt@allowhyphens{\nobreak\discretionary{-}{}{}\nobreak\hskip\z@skip} \newcommand*{\lt@cwm}{\let\lt@n@xt\relax \ifcat\noexpand\lt@temp a% \let\lt@n@xt\lt@allowhyphens diff --git a/Master/texmf-dist/source/generic/babel/mik2t2.tex b/Master/texmf-dist/source/generic/babel/mik2t2.tex new file mode 100644 index 00000000000..2d025835f0e --- /dev/null +++ b/Master/texmf-dist/source/generic/babel/mik2t2.tex @@ -0,0 +1,33 @@ +% MIK to T2 translation for Bulgarian hyphenation patterns +\lccode 160=224 % \cyra +\lccode 161=225 % \cyrb +\lccode 162=226 % \cyrv +\lccode 163=227 % \cyrg +\lccode 164=228 % \cyrd +\lccode 165=229 % \cyre +\lccode 166=230 % \cyrzh +\lccode 167=231 % \cyrz +\lccode 168=232 % \cyri +\lccode 169=233 % \cyrishrt +\lccode 170=234 % \cyrk +\lccode 171=235 % \cyrl +\lccode 172=236 % \cyrm +\lccode 173=237 % \cyrn +\lccode 174=238 % \cyro +\lccode 175=239 % \cyrp +\lccode 176=240 % \cyrr +\lccode 177=241 % \cyrs +\lccode 178=242 % \cyrt +\lccode 179=243 % \cyru +\lccode 180=244 % \cyrf +\lccode 181=245 % \cyrh +\lccode 182=246 % \cyrc +\lccode 183=247 % \cyrch +\lccode 184=248 % \cyrsh +\lccode 185=249 % \cyrshch +\lccode 186=250 % \cyrhrdsn +\lccode 187=251 % \cyrery +\lccode 188=252 % \cyrsftsn +\lccode 189=253 % \cyrerev +\lccode 190=254 % \cyryu +\lccode 191=255 % \cyrya diff --git a/Master/texmf-dist/source/generic/babel/tb1202.tex b/Master/texmf-dist/source/generic/babel/tb1202.tex new file mode 100644 index 00000000000..0cedd222ba2 --- /dev/null +++ b/Master/texmf-dist/source/generic/babel/tb1202.tex @@ -0,0 +1,961 @@ +% \iffalse meta-comment +% +% Copyright 1989-2005 Johannes L. Braams and any individual authors +% listed elsewhere in this file. All rights reserved. +% +% This file is part of the Babel system. +% -------------------------------------- +% +% It may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work is Johannes Braams. +% +% The list of all files belonging to the Babel system is +% given in the file `manifest.bbl. See also `legal.bbl' for additional +% information. +% +% The list of derived (unpacked) files belonging to the distribution +% and covered by LPPL is defined by the unpacking scripts (with +% extension .ins) which are part of the distribution. +% \fi +%%% ==================================================================== +%%% @TeX-file{ +%%% author = "Johannes L. Braams", +%%% version = "1.04", +%%% date = "06 January 1997", +%%% time = "23:15:14 MET", +%%% filename = "tb1202.tex", +%%% address = "TeXniek, +%%% Kersengaarde 33 +%%% 2723 BP Zoetermeer +%%% The Netherlands", +%%% telephone = "+31 79 352 28 19", +%%% FAX = "+31 70 343 23 95", +%%% checksum = "19810 933 5016 39417", +%%% email = "babel@braams.cistron.nl (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "", +%%% supported = "yes", +%%% abstract = "", +%%% docstring = "The article on babel that apeared in +%%% TuGboat Volume 12, No. 2. +%%% +%%% The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== +% tb32braa.ltx + +\NeedsTeXFormat{LaTeX2e} +\IfFileExists{ltugboat.cls}{% + \documentclass{ltugboat} + \def\rtitlex{TUGboat, Volume 12 (1991), No. 2} + \def\midrtitle{} + \def\PrelimDraftfooter{} + \let\TBmaketitle\maketitle + \SelfDocumenting + \setcounter{page}{291} + }{% + \documentclass{article} + \newcommand\address[1]{} + \newcommand\netaddress[1]{} + \newcommand\TUB{\textsl{TUGboat\/}} + \newcommand\TeXhax{\TeX hax}} +\usepackage{shortvrb} +\MakeShortVerb{\|} +\newcommand{\file}[1]{\texttt{#1}} +\newcommand{\Lopt}[1]{\textsf{#1}} +\newcommand{\babel}{\textsf{babel}} +\makeatletter +% ------------------------------------------------- +% Definitions copied from doc.sty by FMi +% ------------------------------------------------- +{\obeyspaces% +\gdef\meta{\begingroup\obeyspaces% +\def {\egroup\space\hbox\bgroup\it}\m@ta}} +\def\m@ta#1{\hbox\bgroup$\langle$\it#1\/$\rangle$\egroup\endgroup} + +% ------------------------------------------------- +% define \dlqq so that we can give an example of "' +% ------------------------------------------------- +\gdef\dlqq{{\setbox\tw@=\hbox{,}\setbox\z@=\hbox{''}% + \dimen\z@=\ht\z@ \advance\dimen\z@-\ht\tw@ + \setbox\z@=\hbox{\lower\dimen\z@\box\z@}\ht\z@=\ht\tw@ + \dp\z@=\dp\tw@ \box\z@\kern-.04em}} +% +% ------------------------------------------------- +% To demonstrate german double quotes (from german.tex) +% ------------------------------------------------- +\def\allowhyphens{\penalty\@M \hskip\z@skip} +\def\set@low@box#1{\setbox\tw@\hbox{,}\setbox\z@\hbox{#1}\dimen\z@\ht\z@ + \advance\dimen\z@ -\ht\tw@ + \setbox\z@\hbox{\lower\dimen\z@ \box\z@}\ht\z@\ht\tw@ \dp\z@\dp\tw@ } +% (this lowers the german left quotes to the same level as the comma.) + +\def\@glqq{{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else + \let\@SF\empty \fi \leavevmode + \set@low@box{''}\box\z@\kern-.04em\allowhyphens\@SF\relax}} +\def\glqq{\protect\@glqq} +\def\@grqq{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else + \let\@SF\empty \fi \kern-.07em``\kern.07em\@SF\relax}%'' +\def\grqq{\protect\@grqq} +% +% ------------------------------------------------- +% To demonstrate french double quotes (from german.tex) +% ------------------------------------------------- +\def\@flqq{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else + \let\@SF\empty \fi + \ifmmode \ll \else \leavevmode + \raise .2ex \hbox{$\scriptscriptstyle \ll $}\fi \@SF\relax} +\def\flqq{\protect\@flqq} +\def\@frqq{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else + \let\@SF\empty \fi + \ifmmode \gg \else \leavevmode + \raise .2ex \hbox{$\scriptscriptstyle \gg $}\fi \@SF\relax} +\def\frqq{\protect\@frqq} +%+ +% Some extra definitions needed in the article +%- +\def\bsl{\char'134} +\makeatother + +\begin{document} +\title {Babel, a multilingual style-option system for use + with \LaTeX's standard document styles% + \thanks{During the development ideas from Nico Poppelier, + Piet van Oostrum and many others have been used.} + } + +\author{Johannes Braams} +\address{% + \TeX niek\\ + Kersengaarde 33\\ + 2723 BP Zoetermeer\\ + The Netherlands} +\netaddress{babel@braams.cistron.nl} +\date{06 January 1997 \\ + Version 1.04} + +\maketitle + +\begin{abstract} + The standard distribution of \LaTeX\ contains a number of document + styles that are meant to be used, but also serve as examples for + other users to create their own document styles. These styles have + become very popular among \LaTeX\ users. But it should be kept in + mind that they were designed for American tastes and contain a + number of hard-wired texts. This article describes a set of + document-style options that can be used in combination with the + standard styles, which makes the latter adaptable to other + languages. +\end{abstract} + +\section{Introduction} + +Although Leslie Lamport has stated~\cite{LLth} that one should not try +and write \emph{one} document-style option to be used with \emph{all} +the standard document styles of \LaTeX, that is exactly what I~have +done with this system of style options. The reasons for this approach +will be explained in section~\ref{why}. + +A lot of the ideas incorporated in this set of files come from the +work of Hubert Partl~\cite{HP}, \file{german.tex}. Some parts in the +implementation are different, others are the same. It will be shown +that \file{german.tex} can be modified to fit into this scheme of +style options. + +\section{Why \babel?}\label{why} + +When I~first started using \LaTeX\ I~was very happy with just the +style files that are distributed with the standard distributions of +\TeX\ and \LaTeX. That means, as long as I~made texts in English I~was +happy. Then as other users found out about \LaTeX\ and its advantages, +they started using it for texts in languages other than English. As +I~was the most experienced \LaTeX\ user at the time, they came to me +and asked me `When I'm writing a report in Dutch I~don't want chapters +to be named ``Chapter'', I~want them to be named ``Hoofdstuk'', how do +you change that?'. At that time I~didn't know, but I soon found out. +The first thing I~found was that Leslie Lamport states~\cite[pages +85--86]{LLbook} that you have to redefine the command |\@chapapp| +to get the desired result. This looked rather promising to me, so +I~had a look at the style files to find out how other such strings as +``Figure'' might be redefined. It was then that I~found out that +|\@chapapp| is the \emph{only} string defined this way, whereas +all others are hard-wired into the style. + +My first solution to this problem was to create a new document style +file called \file{artikel.sty} as a ``Dutch'' counterpart to +\file{article.sty}. The same was done for \file{report.sty}. This is +exactly what Leslie Lamport suggests~\cite{LLth}. This approach has +one major drawback however: you get two copies of basically the same +file to maintain. This was discovered when newer releases of the +styles reached our site. The standard styles had to be replaced +\emph{and} edited all over again to get the ``Dutch'' versions back. +About the same time, in early 1988, a discussion on this subject +appeared in \TeXhax. One of the persons commenting was Hubert Partl. +The method he suggested was to modify the standard document styles by +replacing the hard-wired texts by macros such as |\@chapapp|. This +led me to my second attempt at a solution. I~modified the standard +styles (all four of them) as suggested, but while doing that added an +option, implemented like the option \texttt{draft}, by defining a +command |\ds@dutch|. This command would set a variable to indicate +which language was requested. This variable I~used later on in a +|\case| statement. In this |\case| statement a choice is made between +English, Dutch and possibly other languages for texts such as +``Figure'' and ``Contents''. Unfortunately, some of this implied +changing the secondary style files \file{xxx10.sty}, \file{xxx11.sty} +and \file{xxx12.sty}. This was unfortunate because one of the +research groups in our laboratories complained their document style +didn't work properly. It turned out that their style was a modified +\file{article.sty} that had been given a different name, but it still +loaded \file{art10.sty} etc. I~found a temporary solution, but I +still wasn't exactly happy with the situation. Besides this, the +drawback of replacing the document styles with newer versions still +existed. + +When after a while a new version of the \LaTeX\ distribution arrived +at our site, I~began to think about a different way to solve the +problem. In the meantime Hubert Partl had his \file{german.sty} +published in \TUB~\cite{HP}. His article pointed the way to a +different solution. Triggered by the discussion in \TeXhax\ in early +1989 about how to detect which is the main (primary) style when +processing a document, I~started work on what is now available as +\file{dutch.sty} version~1.0, dated may 1989\footnote{This file is + available from \texttt{listserv@hearn.bitnet} as file + \file{dutch.old}.}. While working on this style option I~discovered +that some parts could be borrowed from \file{german.sty}. This +`discovery' and some discussions I had with others at Euro\TeX89, the +fourth European \TeX\ Conference, held in september 1989 in Karlsruhe, +led me towards a more universal approach. The basic idea behind it +was, starting from the algorithm to detect the main style, to design +an approach with one common file that contained macro definitions +needed by a number of language-specific style options. Users specify +the name of any of these language-specific options as an option to the +|\documentstyle| command, and internally the common file is read. + +%This is the situation as it stands now. The rest of this article is +%devoted to a description of how the system of style options described +%above is implemented and what the possibilities are. I~realize that +%with the new \TeX\ 3.0 around and work being done on a new version of +%\LaTeX\ as well some of this work may become obsolete in the near +%future. But, taking into consideration the widespread use of the +%current versions of \TeX\ and \LaTeX\, I~think it may take some time +%before {\em everybody} is working with the new releases. + +%------------------------------------------------------------ +% All text above here was copied from babel.doc, the following +% section is new for this version of the article +%------------------------------------------------------------ +\section{\LaTeX\ and document-style files}\label{lat-docstyle} + +Before the I discuss some of the code in the \babel{} system I would +like to discuss the document-style mechanism used by \LaTeX. Every +\LaTeX\ document should start with a line like: +\begin{verbatim} +\documentstyle[opt1,opt2,...]{docstyle} +\end{verbatim} +This line of code instructs \LaTeX\ to first load the file +\file{docstyle.sty}. When that is done the `options' are processed +\emph{in the order specified}, by reading the files +\file{opt1.sty}\footnote{Except when the documentstyle defines the + control sequence {\tt\bsl ds@\meta{opt1}}; in that case this control + sequence will be executed.}, \file{opt2.sty}, etc. This implies that +definitions, made in the file \file{docstyle.sty} can be overridden in +one of the option files. It is even possible to redefine code from the +very kernel of \LaTeX, but you have to know what you are doing. + +Some care has to be taken in writing document-style options, because a +number of problems can occur. First of all, if a document-style option +should be modest in size; if it tries to redefine most of the code in +\file{docstyle.sty} I think you should write (and maintain) your own, +complete, document style. Next, as it was possible to override +definitions from the main file in an option file, it is of course also +possible to override definitions made in another option file. When +this happens, your document might depend on the order in which you +have specified your document-style options. + +This mechanism of overriding definitions from the main document style +is exploited in the \babel{} system. The macros that contain the +hard-wired texts are redefined in the common part of \babel{}, +replacing each of these texts with a unique macro. These macros have +to be defined in the language-specific files. + +\section{\LaTeX\ and multilingual documents}\label{lat-lingual} + +In a european environment it sometimes happens that one wants to write +a document that contains more than \emph{one} language. I have an +example of a document, published by the {\sc eec}, that contains 9 +(nine) different languages. Also in linguistics one can find documents +written in more than one language, i.e. to compare two languages. + +If you have to write such a multilingual document you should try to +conform to the typographical conventions in use for each language. A +well known example is the type of quotation marks used. \TeX\ supplies +the user with ``quoted text'', but a Dutch user might want to have +\dlqq quoted text'', whereas a German text should contain \glqq quoted +text\grqq\ and a frenchman would perhaps like to see something like +\flqq quoted text\frqq. These language specific conventions should be +implemented in a document-style option file for each language. These +files should then be useable with \emph{all} document styles. + +In such a multilingual document a user would specify the languages +used as options to the |\documentstyle| command. He would also want a +mechanism to be able to switch between these languages in a simple +way. When he would use \TeX\ version 3.0 for the processing of his +document, he would also want the hyphenation to come out right for the +different languages. + +\section{Overview of the \babel{} solution} + +\subsection{The core of the system} + +The problems described in sections~\ref{lat-docstyle} +and~\ref{lat-lingual} can be solved using the \babel{} system of +document-style options. + +The core of this system currently performs three functions. +\begin{enumerate} + +\item\label{switch} It defines a user interface for switching between + languages; + +\item\label{hyphs} It contains code to dynamically load several sets + of hyphenation patterns; + +\item\label{repair} It `repairs' the document styles provided in the + standard distribution of \LaTeX. + +\end{enumerate} + +Obviously part~\ref{hyphs} can only be used while running ini\TeX\ to +create a new format, whereas part~\ref{repair} should \emph{not} be +read by ini\TeX. Part~\ref{repair} should even disappear when \LaTeX\ +version 3.0 arrives, as the style files supplied with the new \LaTeX\ +will no longer be language specific. Part~\ref{switch} can either be +loaded into the format with multiple hyphenation patterns, or it can +be read while processing a document. + +For this reason the core of the \babel{} system is stored in two +separate files, \file{babel.switch}, containing parts~\ref{switch} +and~\ref{hyphs}, and \file{babel.sty} which contains +part~\ref{repair}. The file \file{babel.sty} will instruct \LaTeX\ to +load \file{babel.switch} if necessary, the file \file{babel.switch} +checks the format to see if hyphenation patterns \emph{can} be loaded. + +\subsection{Language specifics} + +The language switching mechanism contains a couple of hooks for the +developers of language-specific document-style options. + +First of all the macro |\originalTeX| should be defined. Its function +is to disable special definitions made for a language to bring \TeX\ +into a `defined' state. A language-specific document-style option +might, for example, introduce an extra active character. It would then +also modify the definitions of |\dospecials| and |\@sanitize|. Such an +option would then define a macro to restore the original definitions +of these macros and restore the extra active character to its normal +category code. It would then |\let \originalTeX| to this `restoration' +macro. + +To enable the language-specific definitions three macros are provided +in the switching mechanism, |\captions|\meta{language}, +|\date|\meta{language} and |\extras|\meta{language}. + +The macro |\captions|\meta{language} should provide definitions for +the macros that replaced the hard-wired texts in the document style +and the macro |\date|\meta{language} should provide a definition for +|\today|. The real fun starts with the macro +|\extras|\meta{language}. This macro should activate all definitions +needed for \meta{language}. + +\section{The user interface} + +The user interface to the \babel{} system is quite simple. He should +specify the languages he wants to use in his document in the list of +document-style options. For instance, for a document in which both the +English and the Dutch language are used, the first line could read: +\begin{verbatim} +\documentstyle[a4,dutch,english]{artikel1} +\end{verbatim} +Please note that in this case the Dutch-specific definitions are +inactive when \LaTeX\ has finished processing document-style option +files. + +If the user then wants to switch from English to Dutch he would +include the command +\begin{verbatim} +\selectlanguage{dutch} +\end{verbatim} +before starting to write Dutch. + +If a user wants to write a document-style option of his own he might +like to define a macro that checks which language is in use at the +time the macro is executed. For this purpose the macro +|\iflanguage{|\meta{language}|}{|\meta{then-clause}|}{|% +\meta{else-clause}|}| is available. + +\section{Implementation of the core of the system} + +In this section I would like to discuss some parts of the +implementation of the \babel{} system. Not all code will be shown, +because some parts of it are just series of slightly modified code +from the standard document styles. The files are fully documented and +interested readers can print them if they have access to the +\texttt{doc} option, described by Frank Mittelbach. + +The description of the macros that follows is based on an environment +using \TeX~3.x, together with a version of \file{lplain.tex} based on +\file{plain.tex} version~3.x. The actual implementation allows for +other situations as well, i.e a version of \file{babel.sty} for +\TeX~2.x will be available. + +\subsection{Switching languages}\label{lang-switch} + +For each language to be used in a document a control sequence of the +form |\l@|\meta{language} has to be defined. This will either be done +while loading hyphenation patterns or while loading the +language-specific file. The implementation of +\hbox{|\selectlanguage{|\meta{language}|}|} and\\ +\hbox{|\iflanguage{|\meta{language}|}{|\meta{then case}|}{|\meta{else + case}|}|} is based on the existence of +\hbox{|\l@|\meta{language}}. + +\begin{figure*}[htb] +\begin{verbatim} +\def\selectlanguage#1{% + \@ifundefined{l@#1} + {\@nolanerr{#1}} + {\originalTeX + \language=\expandafter\csname l@#1\endcsname\relax + \expandafter\csname captions#1\endcsname + \expandafter\csname date#1\endcsname + \expandafter\csname extras#1\endcsname + \gdef\originalTeX{\expandafter\csname noextras#1\endcsname} + } +} +\end{verbatim} +\caption{The definition of {\tt\bsl selectlanguage}.} +\label{select} +\end{figure*} + +To switch from one language to another the macro |\selectlanguage| is +available. Its definition can be seen in figure~\ref{select}. The +first action it takes is to check whether the \meta{language} is +known, if it is not an error is signalled. If the language is known +|\originalTeX| is called upon to reset any previously set +language-specific definitions. Next the register |\language| is +updated and the three macros that should activate all +language-specific definitions are executed. Finally the macro +|\originalTeX| receives a new replacement text in order to be able to +deactivate the definitions just activated. + +\begin{figure*}[htb] +\begin{verbatim} +\def\iflanguage#1#2#3{% + \@ifundefined{l@#1} + {\@nolanerr{#1}} + {\ifnum\language=\expandafter\csname l@#1\endcsname\relax + #2 \else #3 + \fi} +} +\end{verbatim} +\caption{The definition of {\tt\bsl iflanguage}} +\label{if} +\end{figure*} + +The macro |\iflanguage| (see figure~\ref{if}) will issue a warning +when its argument is an `unkown' language. It then goes on to compare +the value of |\language| and |\l@|\meta{language} and executes either +its secon or third argument. + +\subsection{Dynamically loading patterns} + +With the advent of \TeX~3.0 it has become possible to build a format +with more than one hyphenation pattern preloaded. The core of the +\babel\ system provides code, to be executed by ini\TeX\ \emph{only}, +to dynamically load hyphenation patterns. The only restriction is that +the implementation of \TeX\ that you use has to have rather high +settings of \texttt{trie\_size} and \texttt{trie\_op\_size} to +actually load several hyphenation patterns. + +For the purpose of dynamically loading hyphenation patterns a +`configuration file' has to be introduced. This file will be read by +ini\TeX. Each line should contain either a comment, nothing or the +name of a language and the name of the file that contains the +hyphenation patterns for that language. In figure~\ref{config} an +example of such a file, instructing ini\TeX\ to load patterns for +three languages, English, Dutch and German. + +\begin{figure*}[htb] +\begin{verbatim} +% File : language.dat +% Purpose : tell iniTeX what files with patterns to load. +english english.hyphenations + +dutch hyphen.dutch % Nederlands +german hyphen.ger +\end{verbatim} +\caption{An example configuration file}\label{config} +\end{figure*} + +The configuration file will be read line by line using \TeX's |\read| +primitive. Because the name of a file might be followed by a +space-token and comment (as in the example) a macro to process each +line is needed. The definition of this macro, |\process@language|, can +be found in figure~\ref{process}. As can be seen in the definition of +this macro, its second argument \emph{always} has to be followed by a +space-token. The effect of this is that any trailing spaces are +removed. +\begin{figure*}[htb] +\begin{verbatim} +\def\process@language#1 #2 {% + \expandafter\addlanguage\csname l@#1\endcsname + \expandafter\language\csname l@#1\endcsname + \input #2} +\end{verbatim} +\caption{The definition of {\tt\bsl process@language}.} +\label{process} +\end{figure*} +The macro strips all spaces following its arguments. It's first +argument is used to define |\l@|\meta{language}. The macro +|\addlanguage| is basically a non-outer version of the plain \TeX\ +macro |\newlanguage|. The second argument of |\process@language| is +the name of the file containing the hyphenation patterns. Before the +file can be read, the register |\language| has to updated. + +The configuration file is read in a |\loop| (see figure~\ref{loop}). +When a record is read from the input file a check is done whether the +record was empty. If it was not, a space token is added to the end of +the string of tokens read. The reason for this is that we have to be +sure there always is at least \emph{one} space token present. When +that has been taken care of the data just read can be processed. The +last thing to do is to check the status of the input file, in order to +decide whether \TeX\ has to continue processing the |\loop|. When all +patterns have been processed the value of |\language| is restored. + +\begin{figure*}[htb] +\begin{verbatim} +\loop + \read1 to \@config@line + \ifx\@config@line\empty + \else + \edef\@config@line{\@config@line\space} + \expandafter\process@language\@config@line + \fi + \ifeof1 \@morefalse \fi + \if@more\repeat +\language=0 +\end{verbatim} +\caption{Reading the configuration file line by line} +\label{loop} +\end{figure*} + +\subsection{`Repairing' \LaTeX's standard document styles} + +A large part of the core of the \babel{} system is dedicated to +`repair' the standard document styles. This means redefining the +macros in table~\ref{macros}. + +\begin{table*}[htb] +\DeleteShortVerb{\|} +\begin{center} +\begin{tabular}{l | c c c c} +macro & article & report & book & letter \\ +\hline +\tt\bsl fnum@figure & $\times$ & $\times$ & $\times$ & $\times$ \\ +\tt\bsl fnum@table & $\times$ & $\times$ & $\times$ & $\times$ \\ +\tt\bsl tableofcontents & $\times$ & $\times$ & $\times$ & \\ +\tt\bsl listoffigures & $\times$ & $\times$ & $\times$ & \\ +\tt\bsl listoftables & $\times$ & $\times$ & $\times$ & \\ +\tt\bsl thebibliography & $\times$ & $\times$ & $\times$ & \\ +\tt\bsl theindex & $\times$ & $\times$ & $\times$ & \\ +\tt\bsl abstract & $\times$ & $\times$ & $\times$ & \\ +\tt\bsl part & $\times$ & $\times$ & $\times$ & \\ +\tt\bsl chapter & & $\times$ & $\times$ & \\ +\tt\bsl appendix & & $\times$ & $\times$ & \\ +\tt\bsl cc & & & & $\times$ \\ +\tt\bsl encl & & & & $\times$ \\ +\tt\bsl ps@headings & & & & $\times$ \\ +\end{tabular} +\caption{macros that need to be redefined for the four standard document + styles.} +\label{macros} +\end{center} +\MakeShortVerb{\|} +\end{table*} + +As an example of the way the macros have to be redefined, the +redefinition of |\tableofcontents| is shown in figure~\ref{content}. +\begin{figure*}[htb] +\begin{verbatim} +\@ifundefined{contentsname} + {\def\tableofcontents + {\section*{\contentsname + \@mkboth{\uppercase\expandafter{\contentsname}} + {\uppercase\expandafter{\contentsname}} + } + \@starttoc{toc} + } + } + {} +\end{verbatim} +\caption{An example of redefining a command}\label{content} +\end{figure*} + +The standard styles can be distinguished by checking the existence of +the macros |\chapter| (not in \file{article} and \texttt{letter}) and +|\opening| (only in \texttt{letter}). The result of these checks is +stored in the macro |\doc@style|. When |\doc@style| already exists +(which is the case when for instance \file{artikel1.sty} is +used~\cite{BEP}) it is not superseded (see figure~\ref{maindoc}). + +\begin{figure*}[htb] +\begin{verbatim} +\@ifundefined{doc@style} + {\def\doc@style{0} + \@ifundefined{opening} + {\@ifundefined{chapter} + {\def\doc@style{1}} + {\def\doc@style{2}} + }{\def\doc@style{3}} + }{\relax} +\end{verbatim} +\caption{Determining the main document style} +\label{maindoc} +\end{figure*} + +\section{Implementing a language specific document-style option file} + +To illustrate the way a language specific file can be implemented the +file \file{dutch.sty} is discussed here. Note that not all of the code +containde in the file \file{dutch.sty} is shown here, only those parts +that are of interest for the scope of this article are included. If +the reader would like to see the complete code, he can print all files +in the \babel{} system, using the file \file{doc.sty}, described by +Frank Mittelbach in~\cite{docsty}. + +\subsection{Compatibilty with plain \TeX} +The file \file{german.tex}~\cite{HP} was written in such a way that it +can be used by both plain \TeX\ users and \LaTeX\ users. This seemed a +good idea, so all files in the \babel{} system can be processed by +both plain \TeX\ and \LaTeX. But some of the ``useful hacks'' from +\LaTeX\ are used, so for a plain \TeX\ user they have to be defined. +For this purpose the format is checked at the start of a language +specific file. If the format is \texttt{plain} an extra file, called +\file{latexhax.sty} is read. +\begin{figure*}[htb] +\begin{verbatim} +{\def\format{plain} +\ifx\fmtname\format + \expandafter\ifx\csname @ifundefined\endcsname\relax + \gdef\next{latexhax.sty} + \aftergroup\input\aftergroup\next + \fi +\fi} +\end{verbatim} +\caption{Conditonal loading of \file{latexhax.sty}} +\end{figure*} + +This file should be read only once, so another check is done on the +existence of one of the commands defined there. + +A new group is started to keep the definition of the macro +|\format|, which is used in the following if statement, local. +When the current format turns out to be plain \TeX\ the file +\file{latexhax.sty} has to be read. But the definitions in that file +should remain valid after the group is closed. This could be +accomplished by making all definitions \texttt{global}, but another +solution is to tell \TeX\ to process the file \file{latexhax.sty} +\emph{after} the current group has been closed. The command +|\aftergroup| puts the next token on a list to be processed after +the group. + +\subsection{Switching to the Dutch language} +In section~\ref{lang-switch} the names of macros needed to switch to a +language have been described. In figure~\ref{switchdutch} these macros +and their definition are shown for the Dutch language. +\begin{figure*}[htb] +\begin{verbatim} +\def\captionsdutch{\gdef\refname{Referenties}% + \gdef\abstractname{Samenvatting}% + \gdef\bibname{Bibliografie}% + ... + \gdef\pagename{Pagina}} + +\def\datedutch{% + \gdef\today{\number\day~\ifcase\month\or + januari\or februari\or maart\or april\or + mei\or juni\or juli\or augustus\or + september\or oktober\or november\or december\fi + \space \number\year}} +\begingroup \catcode`\"\active + +\gdef\extrasdutch{% + \global\let\dospecials\dutch@dospecials + \global\let\@sanitize\dutch@sanitize + \catcode`\"\active + \gdef"{\protect\dutch@active@dq} + \gdef\"{\protect\@umlaut} +}\endgroup + +\def\noextrasdutch{% + \catcode`\"12 + \global\let\dospecials\original@dospecials + \global\let\@sanitize\original@sanitize + \global\let\"\dieresis +} +\end{verbatim} +\caption{The macros needed to switch to the Dutch language} +\label{switchdutch} +\end{figure*} + +The definitions of |\captionsdutch| and |\datedutch| are pretty +straightforward and need not be discussed. The macro |\extrasdutch| +will be discussed in some more detail. + +First, because for Dutch (as well as for German) the \texttt{"} +character is made active, the \LaTeX\ macros |\dospecials| and +|\@sanitize| have to be redefined to include this character as well. +The new definitions are implemented as two special commands, so we +globally |\let| the originals to their new versions. Then the +\texttt{"} character is made active and is defined. Then, to prevent +an error when |\"| appears in a moving argument, the macro |\"| is +redefined and made robust. All this is done inside a group to keep the +category code change for the \texttt{"} character local. + +The macro |\extrasdutch| has a counterpart, |\noextrasdutch|, that +cancels the extra definitions made by |\extrasdutch|. It changes the +|\catcode| of the \texttt{"} character back to `other' and globally +|\let|s the macros |\dospecials| and |\@sanitize| to their original +definitions. The original definition of |\"| is restored as well. + +In figure~\ref{specials} the code needed to redefine |\dospecials| and +|\@makeother| is shown. +\begin{figure*}[htb] +\begin{verbatim} +\begingroup + \def\do{\noexpand\do\noexpand}% + \xdef\dutch@dospecials{\dospecials\do\"}% + \expandafter\ifx\csname @sanitize\endcsname\relax +% do nothing if \@sanitize is undefined... + \else + \def\@makeother{\noexpand\@makeother\noexpand}% + \xdef\dutch@sanitize{\@sanitize\@makeother\"}% + \fi +\endgroup + +\global\let\original@dospecials\dospecials +\global\let\original@sanitize\@sanitize +\end{verbatim} +\caption{Code needed for the redefinition of {\tt\bsl dospecials} and + {\tt\bsl @makeother}.} +\label{specials} +\end{figure*} + +\subsection{An extra active character} + +All the code disccussed sofar is necessary because we need an extra +active character. This character is then used as indicated in +table~\ref{dutch-quote}. One of the reasons for this is that in the +Dutch language a word with an umlaut can be hyphenated just before the +letter with the umlaut, but the umlaut has to disappear if the word is +broken between the previous letter and the accented letter. + +\begin{table*}[htb] +\centering +\begin{tabular}{lp{8cm}} +\verb="a= & \verb=\"a= which hyphenates as \verb=-a=; + also implemented for the other letters. \\ +\verb="|= & disable ligature at this position. \\ +\verb="-= & an explicit hyphen sign, allowing hyphenation + in the rest of the word. \\ +\verb="`= & lowered double left quotes (see example below).\\ +\verb="'= & normal double right quotes. \\ +\verb=\-= & like the old \verb=\-=, but allowing hyphenation + in the rest of the word. +\end{tabular} +\caption{The extra definitions made by \file{dutch.sty}} +\label{dutch-quote} +\end{table*} + +In~\cite{treebus} 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, \dlqq This is a quote'', which should be typed as +\texttt{"`This is a quote"'}. + +\subsubsection{Supporting macro definitions} + +The definition of the active \texttt{"} character needs a couple of +support macros. The macro |\allowhyphens| is used make hyphenation of +word possible where it otherwise would be inhibited by \TeX. Basically +its definition is nothing more than |\nobreak \hskip 0pt plus 0pt|. +\begin{verbatim} +\gdef\allowhyphens{\penalty\@M \hskip\z@skip} +\end{verbatim} + +Then a macro is defined to lower the Dutch left double quote to the +same level as the comma. It prepares a low double opening quote in box +register~0. This macro was copied form \file{german.tex}. +\begin{verbatim} +\gdef\set@low@box#1{% + \setbox\tw@\hbox{,} \setbox\z@\hbox{#1} + \dimen\z@\ht\z@ \advance\dimen\z@ -\ht\tw@ + \setbox\z@\hbox{\lower\dimen\z@ \box\z@} + \ht\z@\ht\tw@ \dp\z@\dp\tw@} +\end{verbatim} +The macro |\set@low@box| is used to define low opening quotes. Since +it may be used in arguments to other macros it needs to be protected. +\begin{verbatim} +\gdef\dlqq{\protect\@dlqq} +\gdef\@dlqq{{% + \ifhmode + \edef\@SF{\spacefactor\the\spacefactor} + \else + \let\@SF\empty + \fi + \leavevmode\set@low@box{''} + \box\z@\kern-.04em\allowhyphens\@SF\relax}} +\end{verbatim} +For reasons of symmetry we also define |"'|. This command is defined +similar to |\dlqq|, except that the quotes aren't lowered to the +baseline. +\begin{verbatim} +\gdef\@drqq{{% + \ifhmode + \edef\@SF{\spacefactor\the\spacefactor} + \else + \let\@SF\empty + \fi + ''\@SF\relax}} +\end{verbatim} +The original double quote character is saved in the macro |\dq| to +keep it available. +\begin{verbatim} +\begingroup \catcode`\"12 + \gdef\dq{"} +\endgroup +\end{verbatim} +The original definition of |\"| is stored as |\dieresis|. The resason +for this is that if a font with a different encoding scheme is used +the definition of |\"| might not be the plain \TeX\ one. +\begin{verbatim} +\global\let\dieresis\" +\end{verbatim} + +In the Dutch language vowels with a dieresis or umlaut accent are +treated specially. If a hyphenation occurs before a vowel-plus-umlaut, +the umlaut should disappear. To be able to do this, the hyphenation +break behaviour for the five vowels, both lowercase and uppercase, +could be defined first in terms of |\discretionary|. But this results +in a large |\if|-construct in the definition of the active |"|. + +As both Knuth and Lamport have pointed out, a user should not use |"| +when he really means something like |''|. For this reason no +distinction is made between vowels and consonants. Therefore one +macro, |\@umlaut|, specifies the hyphenation break behaviour for all +letters. +\begin{verbatim} +\def\@umlaut#1{% + \allowhyphens% + \discretionary{-}{#1}{\dieresis #1}% + \allowhyphens} +\end{verbatim} + +The last support macro to be defined is |\dutch@active@dq|. +\begin{verbatim} +\gdef\dutch@active@dq#1{% + \if\string#1`\dlqq{}% +\else\if\string#1'\drqq{}% +\else\if\string#1-\allowhyphens-\allowhyphens% +\else\if\string#1|\discretionary{-}{}{\kern.03em}% +\else\if\string#1i\allowhyphens\discretionary{-}{i}{\dieresis\i}% + \allowhyphens% +\else\if\string#1j\allowhyphens\discretionary{-}{j}{\dieresis\j}% + \allowhyphens% +\else \@umlaut{#1}\fi\fi\fi\fi\fi\fi} +\end{verbatim} +The macro reads the next token and performs some appropriate action. +If no special action is defined, it will produce an umlaut accent on +top of argument~1. + +The last definition needed is a replacement for |\-|. The new version +of |\-| should indicate an extra hyphenation position, while allowing +other hyphenation positions to be generated automatically. The +standard behaviour of \TeX\ in this respect is very unfortunate for +languages such as Dutch and German, where long compound words are +quite normal and all one needs is a means to indicate an extra +hyphenation position on top of the ones that \TeX\ can generate from +the hyphenation patterns. +\begin{verbatim} +\def\-{\allowhyphens\discretionary{-}{}{}\allowhyphens} +\end{verbatim} + +\subsection{Activating the definitions} + +The last action that should be performed by a language specific file, +is activating it's definitions. Before doing that the macro +|\originalTeX| should be definined. +\begin{verbatim} +\@ifundefined{originalTeX}{\let\originalTeX\relax}{} +\end{verbatim} + +Also, the macro |\l@|\meta{language} should be defined. If it hasn't +already been defined, this means that no hyphenation patterns were +loaded for this language. +% This means that \emph{no} hyphenation will take place +\begin{verbatim} +\@ifundefined{l@dutch}{\addlanguage{dutch}}{} +\selectlanguage{dutch} +\end{verbatim} + +\section{Conclusion} + +In this article a system of document-style option files has been +presented that supports the multilingual use of \LaTeX. Some of the +code involved has been discussed. The actual files will me made +available through the international networks. They will be stored in +the fileserver in the Netherlands (address: +\texttt{LISTSERV@HEARN.BITNET}), the file \file{babel readme} will +explain what you need to get to be able to use the system. The system +was developed using the \Lopt{doc} option, so the files available are +fully documented. + +\begin{thebibliography}{9} + \bibitem{DEK} Donald E. Knuth, + \emph{The \TeX book}, Addison-Wesley, 1986. + \bibitem{LLbook} Leslie Lamport, + \emph{\LaTeX, A document preparation System}, Addison-Wesley, 1986. + \bibitem{treebus} K.F. Treebus. + \emph{Tekstwijzer, een gids voor het grafisch verwerken van tekst.} + SDU Uitgeverij ('s-Gravenhage, 1988). A Dutch book on layout + design and typography. + \bibitem{HP} Hubert Partl, + \emph{German \TeX}, \emph{TUGboat} 9 (1988) \#1, p.~70--72. + \bibitem{LLth} Leslie Lamport, + in: \TeXhax\ Digest, Volume 89, \#13, 17 februari 1989. + \bibitem{docsty}Frank Mittelbach, + \emph{The \Lopt{doc}-option}, + \emph{TUGboat} 10 (1989) \#2, p.~245--273. + \bibitem{BEP}Johannes Braams, Victor Eijkhout and Nico Poppelier, + \emph{The development of national \LaTeX\ styles}, + \emph{TUGboat} 10 (1989) \#3, p.~401--406. + \bibitem{ilatex}Joachim Schrod, + \emph{International \LaTeX\ is ready to use}, + \emph{TUGboat} 11 (1990) \#1, p.~87--90. +\end{thebibliography} + +\end{document} diff --git a/Master/texmf-dist/source/generic/babel/tb1401.tex b/Master/texmf-dist/source/generic/babel/tb1401.tex new file mode 100644 index 00000000000..7d8b0903592 --- /dev/null +++ b/Master/texmf-dist/source/generic/babel/tb1401.tex @@ -0,0 +1,266 @@ +% \iffalse meta-comment +% +% Copyright 1989-2005 Johannes L. Braams and any individual authors +% listed elsewhere in this file. All rights reserved. +% +% This file is part of the Babel system. +% -------------------------------------- +% +% It may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work is Johannes Braams. +% +% The list of all files belonging to the Babel system is +% given in the file `manifest.bbl. See also `legal.bbl' for additional +% information. +% +% The list of derived (unpacked) files belonging to the distribution +% and covered by LPPL is defined by the unpacking scripts (with +% extension .ins) which are part of the distribution. +% \fi +%%% ==================================================================== +%%% @TeX-file{ +%%% author = "Johannes L. Braams", +%%% version = "1.02", +%%% date = "06 January 1997", +%%% time = "23:18:11 MET", +%%% filename = "tb1401.tex", +%%% address = "TeXniek, +%%% Kersengaarde 33 +%%% 2723 BP Zoetermeer +%%% The Netherlands", +%%% telephone = "+31 79 352 28 19", +%%% FAX = "+31 70 343 23 95", +%%% checksum = "33086 238 1209 9472", +%%% email = "babel@braams.cistron.nl (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "", +%%% supported = "yes", +%%% abstract = "", +%%% docstring = "The update article on babel that appeared +%%% in TUGboat Volume 14 No 1. +%%% +%%% The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e} +\IfFileExists{ltugboat.cls}{% + \documentclass{ltugboat} + \def\rtitlex{TUGboat, Volume 14 (1993), No. 1} + \def\midrtitle{} + \def\PrelimDraftfooter{} + \let\TBmaketitle\maketitle + \setcounter{page}{60} + }{% + \documentclass{article} + \newcommand\address[1]{} + \newcommand\netaddress[1]{} + \newcommand\TUB{\textsl{TUGboat\/}} + \newcommand\TeXhax{\TeX hax} + \newcommand{\plain}{\texttt{plain}}} +\usepackage{shortvrb} +\MakeShortVerb{\|} +% +\newcommand{\file}[1]{\texttt{#1}} +\newcommand{\Lopt}[1]{\textsf{#1}} +\newcommand{\babel}{\textsf{babel}} +\makeatletter +% ------------------------------------------------- +% Definitions copied from doc.sty by FMi +% ------------------------------------------------- +{\obeyspaces% +\gdef\meta{\begingroup\obeyspaces% +\def {\egroup\space\hbox\bgroup\it}\m@ta}} +\def\m@ta#1{\hbox\bgroup$\langle$\it#1\/$\rangle$\egroup\endgroup} +% +{\catcode`\|=\z@ \catcode`\\=12|gdef|bslash{\}} +% +\makeatother +\newcommand{\bsl}{\protect\bslash} + + +\begin{document} +\title{An update on the \babel\ system} +\author{Johannes Braams} +\address{% + \TeX niek\\ + Kersengaarde 33\\ + 2723 BP Zoetermeer\\ + The Netherlands} +\netaddress{babel@braams.cistron.nl} +\date{06 January 1997 \\ + Version 1.02} +\maketitle + +\begin{abstract} + This article describes the changes that have been made to the + \babel\ system, since the article describing the system appeared in + \TUB\ Volume 12, number 2. This article announces the release of a + new version of the \babel\ system. +\end{abstract} + +\section{Introduction} + +Since the publication of the \babel\ system in \TUB~\cite{bab} several +changes have occurred. With the new release of \LaTeX\ -- which +appeared at the end of 1991 -- the internationalised version I\LaTeX, +prepared by Joachim Schrod~\cite{ilatex} was withdrawn. But some of +its functionality was still needed, so a modification of the \babel\ +system was necessary. + +Besides this a couple of bugs were reported and had to be fixed. The +major problem was that the language changing commands were not +`local', they contained global definitions. In the current version +these commands obey grouping correctly. + +Some macros that formerly were in language-specific files have been +moved to the core of the system, because they are being used in +several language-specific files. + +\section{Changes to the core of \babel} + +The changes to the core of the \babel\ system are the most extensive. + +\subsection*{{\tt\bsl selectlanguage}} +The \babel\ user-command |\selectlanguage| now also accepts a control +sequence as its argument. This was included to provide compatibility +for users who were used to the syntax of the original +\file{german.tex}, but wanted to switch to \babel. The escape +character is `peeled off' and the name of the control sequence is then +used as the name of the language to select. + +Another change to the |\selectlanguage| macro is that it now stores +the name of the current language in the control sequence +|\languagename|. The contents of this control sequence could be tested +in the following way: + +\begin{verbatim} + \edef\tmp{\string english} + \ifx\languagename\tmp + ... + \else + ... + \fi +\end{verbatim} + +The construction with |\string| is necessary because +|\languagename| returns the name with characters of category code +\texttt{12} (other). + +\subsection*{Saving macro definitions} + +A new way of handling macros that are temporarily \emph{re}defined was +developed by Bernd Raichle and included in the core of the \babel\ +system. Two new macros, for use in the language-specific files have +been introduced.\\ +These macros, |\babel@savevariable|\meta{register} and +|\babel@save|\meta{macro}, append code to |\originalTeX|. This code +restores the value (or meaning) of what was saved when |\originalTeX| +was executed. + +\subsection*{Special characters} + +Some of the language-specific files introduce one or more characters +that are special in some way. Such characters have to be added to +|\dospecials| (and |\@sanitize| too for \LaTeX) whenever their special +meaning is activated. But, they may have to be removed again when +another language, which doesn't use them, is in effect. + +To this end two new control sequences, that are meant to be used in +the language-specific files are introduced. They are +|\babel@add@special| and |\babel@remove@special| and perform the +necessary tasks. + +\subsection*{Additional facilities} + +A specific request from Joachim Schrod for \babel, was the possibility +to extend the definition of a control sequence on the fly. It should, +for instance, be possible that the user adds a macro of his own to the +definition of |\extrasenglish|. + +This feature is now provided by the macro\\ + |\addto{|\meta{control sequence}|}{|\meta{\TeX\ code}|}|. + It is now used throughout the +language-specific files to build the macros |\extras|\meta{lang} and +|\noextras|\meta{lang}. + +The support macros |\allowhyphens|,\\ |\set@low@box| and |\save@sf@q| +have been moved from the language-specific files to the core of the +\babel\ system. + +\subsection{The files} + +In the previous release a file called \file{latexhax.com} was +provided. This was needed to provide some macros normally defined by +\LaTeX, to \plain~\TeX\ users. The need for this file has been removed +in the current release of the \babel\ system. + +In the previous release of the system, four different files were +provided (all derived from \file{hyphen.doc} that were needed for +different combinations of versions of \TeX\ and \file{plain.tex} or +\file{lplain.tex}. This has been changed. In the current version only +two different files are derived from \file{hyphen.doc}. They are +\file{babel.switch} and \file{babel.hyphen}.\\ +The file \file{babel.switch} is needed for people who can't build a +new format or don't have \TeX\ version 3. The file \file{babel.hyphen} +should be loaded into the format by ini\TeX. It provides the macros +from \file{babel.switch}, but additionally it reads the file +\file{language.dat}, which specifies the languages for which +hyphenation patterns should be loaded. + +In the previous release the file \file{babel.com} contained +redefinitions for a lot of \LaTeX\ macros to replace texts with +control sequences. This has been removed, because it is no longer +necessary for releases of \LaTeX\ dated december 1991 or later. Those +who still have an older release of \LaTeX\ can produce a special +version of \file{babel.com} by including the docstrip option +\meta{names} when stripping the file \file{babel.doc}. + +With the release of the new version of Frank Mittelbach's \texttt{doc} +package the stripped files are no longer distributed. The distribution +of babel now includes a file \file{install.babel} with which you can +produce them (give the command \file{tex install.babel}). + +\section{Changes to the language specific files} + +Bernd Raichle has invented a solution for things like |\char"45| +when the |"| is active. His solution (from german 2.3e) has been +included in germanb and is copied for other language specific files +that have an active |"|. + +A few terms have been added to the |\captions|\meta{...} macros, +again following \file{german.tex}. These terms are |\prefacename|, +|\seename| and |\seealsoname|. I don't have the correct +translations for all languages yet, but that will be repaired as soon +as someone provides them to me. + +For the dutch language the behaviour of the active double quote has +been slightly modified. It has been noted that there is a difference +between |"e|, where a `trema' should be produced and |\"u|, where we +should get an `umlaut'. The difference between the two is that the +`trema' should disappear at a hyphenation point, whereas the `umlaut' +should not. + +\begin{thebibliography}{9} + \bibitem{bab} Johannes Braams, + \emph{Babel, a multilingual style-option system for use with + \LaTeX's standard document styles}, + \emph{TUGboat} 12 (1991) \#2, p.~291--301. + \bibitem{ilatex}Joachim Schrod, + \emph{International \LaTeX\ is ready to use}, + \emph{TUGboat} 11 (1990) \#1, p.~87--90. +\end{thebibliography} +\end{document} diff --git a/Master/texmf-dist/source/generic/babel/tb1604.tex b/Master/texmf-dist/source/generic/babel/tb1604.tex new file mode 100644 index 00000000000..0538716f82a --- /dev/null +++ b/Master/texmf-dist/source/generic/babel/tb1604.tex @@ -0,0 +1,448 @@ +% \iffalse meta-comment +% +% Copyright 1989-2005 Johannes L. Braams and any individual authors +% listed elsewhere in this file. All rights reserved. +% +% This file is part of the Babel system. +% -------------------------------------- +% +% It may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work is Johannes Braams. +% +% The list of all files belonging to the Babel system is +% given in the file `manifest.bbl. See also `legal.bbl' for additional +% information. +% +% The list of derived (unpacked) files belonging to the distribution +% and covered by LPPL is defined by the unpacking scripts (with +% extension .ins) which are part of the distribution. +% \fi +%%% ==================================================================== +%%% @TeX-file{ +%%% author = "Johannes", +%%% version = "1.0", +%%% date = "05 December 1995", +%%% time = "22:43:54 MET", +%%% filename = "tbstatus.tex", +%%% address = "TeXniek, +%%% Kersengaarde 33 +%%% 2723 BP Zoetermeer +%%% The Netherlands", +%%% telephone = "+31 79 352 28 19", +%%% FAX = "+31 70 343 23 95", +%%% checksum = "", +%%% email = "babel@braams.cistron.nl (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "", +%%% supported = "yes", +%%% abstract = "", +%%% docstring = "This article is derived from my +%%% presentation at the EuroTeX'95 conference +%%% and will appear in a future issue of +%%% TuGboat. +%%% +%%% The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e} +\IfFileExists{ltugboat.cls}{% + \documentclass{ltugboat} + \def\rtitlex{TUGboat, Volume 16 (1995), No. 4} + %\def\midrtitle{} + %\def\PrelimDraftfooter{} + %\let\TBmaketitle\maketitle + %\SelfDocumenting + \setcounter{page}{1} + }{% + \documentclass{article} + \newcommand\address[1]{} + \newcommand\netaddress[1]{} + \newcommand\TUB{\textsl{TUGboat\/}} + \newcommand\TeXhax{\TeX hax}} +\usepackage{shortvrb} +\MakeShortVerb{\|} + +\newcommand\figrule{\kern3pt\hrule\kern3pt} +\newcommand*{\file}[1]{\texttt{#1}} +\newcommand*{\cls}[1]{\texttt{#1}} +\newcommand*{\pkg}[1]{\texttt{#1}} +\newcommand*{\Lenv}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\textsf{#1}} +\newcommand*{\meta}[1]{\mbox{$\langle$\it #1\/$\rangle$}} +\newcommand*\babel{\textsf{babel}} +\newcommand*\bs{\char'134} +\let\osn\oldstylenums + +\begin{document} + +\title{The status of \babel} +\author{Johannes L. Braams} +\address{% + \TeX niek\\ + Kersengaarde 33\\ + 2723 BP Zoetermeer\\ + The Netherlands} +\netaddress{babel@braams.cistron.nl} +\date{september 1995} +\maketitle + +\begin{abstract} + In this article I will give an overview of what has happened to + \babel\ lately. First I will briefly describe the history of \babel; + then I will introduce the concept of `shorthands'. New ways of + changing the `language' have been introduced and \babel\ can now + easily be adapted for local needs. Finally I will discuss some + compatibility issues. +\end{abstract} + +\section{A brief history of \babel} + +The first ideas of developing a set of macros to support typesetting +documents with \TeX\ in languages other than English developed around +the time of the Euro\TeX\ conference in Karls\-ruhe (\osn{1989}). Back +then I had created support for typesetting in Dutch by stealing +\file{german.tex} (by Hubert Partl c.s.) and modifying it for Dutch +conventions. This worked, but I was not completely satisfied as I hate +the duplication of code. Soon after that I found that more `copies' of +\file{german.tex} existed to support other languages. This led me to +the idea of creating a package that combined these kind of language +support packages. It would have to consist of at least two `layers': +all the code the various copies of \file{german.tex} had in common in +one place, loaded only once by \TeX, and a set of files with the code +needed to support language specific needs. During the Karlsruhe +conference the name `\babel' came up in discussions I had. It seemed +an appropriate name and I sticked to it. + +\begin{table}[hbt] + \begin{center} + \begin{tabular}{l} + \hline + First ideas at Euro\protect\TeX'89 Karlsruhe\\ + First published in TUGboat 12--2\\ + Update article in TUGboat 14--1\\ + Presentation of new release at Euro\protect\TeX'95\\ + \hline + \end{tabular} + \caption{A brief history of \babel} + \end{center} +\end{table} + +After the conference I started to work on ``\babel, a multilingual +style-option system for use with \LaTeX' standard document styles''. +The first release with support for about half a dozen languages +appeared in the first half of \osn{1990}. In TUGboat volume \osn{12} +number \osn{2} an article appeared describing \babel. Soon thereafter +people started contributing translations for the `standard terms' for +languages not yet present in \babel. The next big update appeared in +\osn{1992}, accompanied by an article in TUGboat volume \osn{14} +number \osn{1}. The main new features were that an interface was added +to `push' and `pop' macro definitions and values of registers. Also +some code was moved from language files to the core of \babel. In +\osn{1994} some changes were needed to get \babel\ to work with +\LaTeXe. As it turned out a lot of problems were still unsolved, +amongst which the incompatibility between \babel\ and the use of +\textsc{T}\osn{1} encoded fonts was most important. + +\noindent Therefore \babel\ version \osn{3}.\osn{5} has appeared. +It's main features are: + +\begin{itemize} +\item complete rewrite of the way active characters are dealt with; +\item new ways to switch the language; +\item A language switch is also written to the \file{.aux} file; +\item possibility to `configure' the language specific files; +\item extended syntax of \file{language.dat}; +\item compatibility with both the \pkg{inputenc} and\\ + \pkg{fontenc} packages; +\item new languages (breton, estonian, irish, scottish, lower and + upper sorbian). +\end{itemize} + +\noindent These changes are described in the remainder of this article. + +\section{Shorthands and active characters} + +During \babel's lifetime the number of languages for which one or more +characters were made active has grown. Until \babel\ release +\osn{3}.\osn{4} this needed a lot of duplication of code for each +extra active character. A situation with which I obviously was not +very happy as I hate the duplication of code. Another problematic +aspect of the way \babel\ dealt with active characters was the way +\babel\ made it possible to still use them in the arguments of cross +referencing commands. \textsf{Babel} did this with a trick that +involves the use of |\meaning|. This resulted in the fact that the +argument of |\label| was no longer expanded by \TeX. + +Because of these problems I set out to find a different implementation +of active characters. A starting point was that a character that is +made active should remain active for the rest of the document; only +it's definition should change. During the development of this new +implementation it was suggested in discussions I had within the +\LaTeX3 team to devise a way to have `different kinds' of active +characters. Out of this discussion came the current `shorthands'. + +\begin{quote} + \textsl{A shorthand is a sequence of one or two characters that + expands to arbitrary \TeX\ code.} +\end{quote} + +These shorthands are implemented in such a way that there are three +levels of shorthands: + +\begin{itemize} +\item user level +\item language level +\item system level +\end{itemize} + +\noindent Shorthands can be used for different kinds of things: +\begin{itemize} +\item the character \verb=~= is redefined by \babel\ as a one + character, system level shorthand; +\item In some languages shorthands such as \verb="a= are defined to be + able to hyphenate the word; +\item In some languages shorthands such as \verb=!= are used to insert + the right amount of white space. +\end{itemize} + +When you want to use or define shorthands you should keep the +following in mind: +\begin{itemize} +\item User level takes precedence over language level; +\item Language level takes precedence over system level; +\item One character shorthands take precedence over two character + shorthands; +\item Shorthands are written unexpanded to \file{.aux} files. +\end{itemize} + +\noindent In table~\ref{tab:sh-ov} an overview is given of the +various shorthand characters that are used for different languages. + +\begin{table}[ht] + \begin{center} + \begin{tabular}{ll} + \hline + \texttt{\char'176} & system, catalan, estonian, galician, spanish \\ + \texttt{:} & breton, francais, turkish \\ + \texttt{;} & breton, francais \\ + \texttt{!} & breton, francais, turkish \\ + \texttt{?} & breton, francais \\ + \texttt{"} & catalan, danish, dutch, estonian, finnish\\ + & galician, german, polish, portuguese, slovene\\ + & spanish, upper~sorbian\\ + \texttt{`} & catalan (optional)\\ + \texttt{'} & catalan, galician, spanish (optional)\\ + \texttt{\char'136} & esperanto\\ + \texttt{=} & turkish \\ + \hline + \end{tabular} + \caption{Overview of shorthands}\label{tab:sh-ov} + \end{center} +\end{table} + +Note that the acute and grave characters are only used as shorthand +characters when the options \opt{activeacute} and \opt{activegrave} +are used. + +On the user level three additional commands are available to deal with +shorthands: +\begin{description} +\item[\texttt{\bs useshorthands}] This command takes one argument, the + character that should become a shorthand character. +\item[\texttt{\bs defineshorthand}] This command takes two arguments, + the first argument being the shorthand character sequence, the + second argument being the code the shorthand should expand to. +\item[\texttt{\bs languageshorthands}] This last command (which takes + one argument, the name of a language) can be used to switch to the + shorthands of another language, \emph{not} switching other language + facilities. Of course this only works if both languages were + specified as an option when loading the package \babel. +\end{description} + +On the level of the language definition files four new commands are +introduced to interface with the shorthand code. +\begin{description} +\item[\texttt{\bs initiate@active@char}] This command is used to tell + \LaTeX\ that the character in its argument is going to be used as a + shorthand character. It makes the character active, but lets it + expand to its non-active self. +\item[\texttt{\bs bbl@activate}] This can be used to switch + the expansion of an active character to its active code. +\item[\texttt{\bs bbl@deactivate}] This command resets the expansion + of an active character to expand to its non-active self. +\item[\texttt{\bs declare@shorthand}] This command is the internal + command for (and also used by) |\defineshorthand|; it has + \emph{three} arguments: the first argument is the name of the + language for which to define the shorthands, the other two are the + same as for |\defineshorthand|. +\end{description} + +One of the goals of the introduction of shorthands was to reduce the +amount of code needed in the language definition files to support +active characters. This goal has been reached; when a language needs +the double quote character (\texttt{"}) to be active all one has to +put into the language definition file are code fragments such as shown +in figure~\ref{fig:dq}. + +\begin{figure}[ht] + \figrule +\begin{verbatim} +\initiate@active@char{"} +\addto\extrasdutch{% + \languageshorthands{dutch}% + \bbl@activate{"}} +... +\declare@shorthand{dutch}{"`}{% + \textormath{\quotedblbase{}}% + {\mbox{\quotedblbase}}} +... +\end{verbatim} + \figrule + \caption{Example of defining a shorthand}\label{fig:dq} +\end{figure} + +Apart from removing a lot of code from language definition files by +introducing shorthands, some other code has been moved to +\file{babel.def} as well. In some language definition files it was +necessary to provide access to glyphs that are not normally easily +available (such as the |\quotedblbase| in the example in +figure~\ref{fig:dq}. Some of these glyphs have to be `constructed' for +\textsc{ot}\osn{1} encoding while they are present in +\textsc{t}\osn{1} encoded fonts. Having all such (encoding dependent) +code together in one place has the advantage these glyphs are the same +for all the language definition files of \babel; also maintenance is +easier this way. + +\section{Switching the language} + +Until release \osn{3}.\osn{5} \babel\ only had \emph{one} command to +switch between languages: |\selectlanguage|. It takes the name of the +language to switch to as an argument; the command is used as a +declaration and always switches everything\footnote{that means the + hyphenation pattern, the \texttt{\bs lefthyphenmin} and \texttt{\bs + righthyphenmin} parameters, the translations of the words, the + date and the specials}. Two new ways to switch to another language +have now been introduced. + +\begin{description} +\item[\texttt{\bs selectlanguage}] This command was available in + \babel\ from the start. +\item[\texttt{\bs foreignlanguage}] This new command is meant to be + used when a short piece of text (such as a quote) comes from another + language. This text should not be longer than \emph{one} paragraph. + For the text the hyphenation patterns and the specials are switched. + The command has two arguments: the name of the language and the text + from that language. +\item[environment `otherlanguage'] This new environment switches the + same aspects as the command |\selectlanguage| does. The difference + is that the switches are local to the environment whereas one either + has to use |\selectlanguage| in a group to get the same effect or + one has to issue multiple |\selectlanguage| commands. Also the + environment is one of the things needed to enable the development of + language definition files that support right-to-left typesetting. +\end{description} + +An aspect of some multilingual documents might be that they have +section titles or figure captions in different languages. For this to +work properly \babel\ now writes some information on the \file{.aux} +file when a language switch from either |\selectlanguage| or the +\Lenv{otherlanguage} environment occurs. \textsf{Babel} nows about +the \file{.toc}, \file{.lof} and \file{.lot} files; if you have added +an extra table of contents you should be aware of this. + +\section{Adapting \babel\ for local usage} + +In the past people have had to find ways to adapt \babel\ to document +classes that have been developed locally (implementing house style for +instance). Some have found ways to that without changing any of the +babel files, others have modified language definition files and have +found themselves having to make these changes each time a new release +of \babel\ is made available\footnote{which doesn't happen too often + \texttt{;-)}.}. It has been suggested to provide an easier way of +doing this. Therefore I have copied the concept of configuration files +from \LaTeXe\ and introduced language configuration files. For each +language definition file that is loaded \LaTeX\ will try to find a +configuration file. Such files have the same name as the language +definition file; except for their extension which has to be +\file{.cfg}. + +\section{Loading hyphenation patterns} + +An important change to the core of \babel\ is that the syntax of +\file{language.dat} has been extended. This was suggested by Bernard +Gaulle, author of the package \pkg{french}. His package supports an +enhanced version of \file{language.dat} in which one can optionally +indicate that a file with a list of hyphenation excpetions has to be +loaded. It is also possible to have more than one name for the same +hyphenation pattern register. + +\begin{figure}[ht] + \figrule +\begin{verbatim} +% File : language.dat +% Purpose : specify which hypenation +% patterns to load while running +% iniTeX +=american +english hyphen.english exceptions.english +=USenglish +french fr8hyph.tex +english ukhyphen.tex +=UKenglish +=british +dutch hyphen.dutch +german hyphen.german +\end{verbatim} + \figrule + \caption{Example of \file{language.dat}}\label{fig:l.d} +\end{figure} + +As you can see in the example of \file{language.dat} in +figure~\ref{fig:l.d}, an equals sign ($=$) on the beginning of a line +now has a significant meaning. It tells \LaTeX\ that the name which +follows the equals sign is to be an alternate name for the hyphenation +patterns that were loaded last. As you probably expect, there is one +exception to this rule: when the first (non-comment) line starts with +an equals sign it will be an alternate name for the \emph{next} +hyphenation patterns that will be loaded. Hence, in the example the +hyphenation patterns stored in the file \file{hyphen.english} will be +known to \TeX\ as: `american', `english' and `USenglish'. You can also +see in figuree~\ref{fig:l.d} that for `english' an extra file is +specified. It will be loaded after \file{hyphen.english} and should +contain some hyphenation exceptions. + +\section{Compatibility with other formats} + +This release of \babel\ has been tested with \LaTeXe; with and +without either of the packages \pkg{inputenc} or \pkg{fontenc}. There +should no longer be any problems using one (or both) of these packages +together with \babel. + +\noindent This release has also been tested with \textsc{Plain}~\TeX, it should +not provide any problems when used with that format. Therefore +\babel~version \osn{3}.\osn{5} should not pose any problems when used +with any format which is based on \textsc{Plain}~\TeX; this has +\emph{not} been tested by me though. Some provisions are made to make +\babel~\osn{3}.\osn{5} work with \LaTeX$\:$\osn{2}.\osn{09}; but not +all features may work as expected as I haven't tested this fully. + +Please note that although it was necessary to copy parts of +\pkg{inputenc} and \pkg{fontenc} this does not mean that you get +\textsc{t}\osn{1} support in \textsc{Plain}~\TeX, simply by adding +\babel. To acheive that much more work is needed. + +\end{document} diff --git a/Master/texmf-dist/source/generic/babel/usage.tex b/Master/texmf-dist/source/generic/babel/usage.tex new file mode 100644 index 00000000000..1c3573bdb0f --- /dev/null +++ b/Master/texmf-dist/source/generic/babel/usage.tex @@ -0,0 +1,243 @@ +% \iffalse meta-comment +% +% Copyright 1989-2005 Johannes L. Braams and any individual authors +% listed elsewhere in this file. All rights reserved. +% +% This file is part of the Babel system. +% -------------------------------------- +% +% It may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work is Johannes Braams. +% +% The list of all files belonging to the Babel system is +% given in the file `manifest.bbl. See also `legal.bbl' for additional +% information. +% +% The list of derived (unpacked) files belonging to the distribution +% and covered by LPPL is defined by the unpacking scripts (with +% extension .ins) which are part of the distribution. +% \fi +\documentclass[11pt]{article} +\usepackage[american,greek]{babel} +\languageattribute{greek}{polutoniko} +\usepackage{athnum,grmath} +\newcommand{\sg}{\selectlanguage{greek}} +\newcommand{\sa}{\selectlanguage{american}} +\begin{document} +\show\extrasgreek +%\show\extraspolutonikogreek +\selectlanguage{american} + +\title{Writing Greek with the \ttfamily greek\rmfamily\ option of the +\ttfamily babel\rmfamily\ package} +\author{Apostolos Syropoulos\\ + 366, 28th October Str.\\ + GR-671 00 Xanthi, GREECE\\ + e-mail: \texttt{apostolo@platon.ee.duth.gr}} +\date{October 15, 1997} +\maketitle +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Overview} +The \texttt{greek} option of the \texttt{babel} package is an attempt to +make it possible for someone to write Greek text with \LaTeX. The current +version of the \texttt{greek} option supports the \sg polutonik'o \sa\ +accentual system of the Greek language. +Moreover, there is now support for Greek numerals. One can produce easily +valid Greek numerals both in uppercase and lowercase forms, e.g, +\textgreek{\greeknumeral{1997}}\ and \textgreek{\Greeknumeral{1997}}. The +labels in second and fourth level enumerations are lowercase +and uppercase Greek numerals correspondingly. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Typing Greek Text} +\TeX\ understands only the basic ASCII characters, so it is not possible +to enter directly Greek letters. Instead, someone enters Latin letters +which are mapped to their Greek ``counterparts'' by \TeX. The following +table shows the transliteration employed: +\begin{center} +\begin{tabular}{|lllllllllllll|}\hline +\textgreek{a}& +\textgreek{b}& +\textgreek{g}& +\textgreek{d}& +\textgreek{e}& +\textgreek{z}& +\textgreek{h}& +\textgreek{j}& +\textgreek{i}& +\textgreek{k}& +\textgreek{l}& +\textgreek{m}& +\textgreek{n}\\ +a& b& g& d& e& z& h& j& i& k& l& m& n\\ +\hline +\textgreek{x}& +\textgreek{o}& +\textgreek{p}& +\textgreek{r}& +\textgreek{sv}& +\textgreek{t}& +\textgreek{u}& +\textgreek{f}& +\textgreek{q}& +\textgreek{y}& +\textgreek{w}& +\textgreek{c}& \hbox{ } \\ +x& o& p& r& s& +t& u& f& q& y& w& c& \hbox{ }\\ \hline +\end{tabular} +\end{center} +Please, note that in order to produce the letter \textgreek{sv} in isolation +on has to type \texttt{sv}. This feature is due to the strong ligature +that \TeX\ employs. +In the ``modern'' \textgreek{monotonik'o} accentual system only one accent is +used---\textgreek{oxe'ia} (acute). In the traditional \textgreek{polutonik'o} +accentual system we +need more accents and breathing signs. We can produce an accented letter by +prefixing the letter with he symbol that denotes the accent, e.g., +\texttt{>a'erac} produces the word \sg >a'erac.\sa\footnote{For the +technically inclined reader, we must say that \TeX\ uses the ligature table of +the font in order to determine the character that corresponds to the +input character sequence.} Here are the symbols that are recognized: + +\begin{center} +\begin{tabular}{cccc}\hline +Accent & Symbol & Example & Output\\ \hline +acute & \texttt{'} & \texttt{g'ata} & \textgreek{g'ata}\\ +grave & \texttt{`} & \texttt{dad`i} & \textgreek{dad`i}\\ +circumflex & \verb+~+ & \verb+ful~hc+ & \sg\textgreek{ful~hc}\sa\\ +rough breathing & \verb+<+ & \verb+<'otan+ & \sg\textgreek{<'otan}\sa\\ +smooth breathing & \verb+>+ & \verb+>'aneu+ & \sg\textgreek{>'aneu}\sa\\ +subscript & \texttt{|} & \verb+>anate'ilh|+ & \sg\textgreek{>anate'ilh|}\\ +dieresis & \texttt{"}& \texttt{qa"ide'uh|c} & \sg\textgreek{qa"ide'uh|c}\\ +\hline +\end{tabular} +\end{center} +Note that the subscript symbol is placed \textbf{after} the letter. +The last thing someone must know in order to be able to write normal Greek +text is the punctuation marks used in the language: +\begin{center} +\begin{tabular}{ccc}\hline +Punctuation Sign & Symbol & Output\\ \hline +period & \texttt{.} & \sg\textgreek{.}\sa\\ +semicolon & \texttt{;} & \sg\textgreek{;}\sa\\ +exclamation mark & \texttt{!} & \sg\textgreek{!}\sa\\ +comma & \texttt{,} & \sg\textgreek{,}\sa\\ +colon & \texttt{:} & \sg\textgreek{:}\sa\\ +question mark & \texttt{?} & \sg\textgreek{?}\sa\\ +left apostrophe & \texttt{``} & \sg\textgreek{``}\sa\\ +right apostrophe & \texttt{''} & \sg\textgreek{''}\sa\\ +left quotation mark & \texttt{((} & \sg\textgreek{))}\sa\\ +right quotation mark & \texttt{))} & \sg\textgreek{))}\sa\\ \hline +\end{tabular} +\end{center} +Using these conventions it is a straightforward exercise to write Greek +\textgreek{polutoniko} text. For example the following excerpt from +\textgreek{D'uskoloc} of \textgreek{M'enandroc} +\sg +\begin{quote} +T'i f'hic? <Id`wn >enj'ede pa~id'' >eleuj'eran\\ +t`ac plhs'ion N'umfac stefano~usan, S'wstrate,\\ +>er~wn 'ap~hljec e>uj'uc? +\end{quote} +\sa can be produced by the following \LaTeX\ code: +\begin{center} +\begin{tabular}{l} +\verb+T'i f'hic? <Id`wn >enj'ede pa~id'' >eleuj'eran+\\ +\verb+t`ac plhs'ion N'umfac stefano~usan, S'wstrate,+\\ +\verb+>er~wn 'ap~hljec e>uj'uc?+ +\end{tabular} +\end{center} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Producing Greek Text} +Once the Greek language is selected with the command +\begin{center} +\verb+\selectlanguage{greek}+ +\end{center} +whatever we type will be typeset with the Greek fonts. The command +\verb+\textlatin+ can be used for short passages in some language that +uses the Latin alphabet, while the the command \verb+\latintext+ changes +the base fonts to the ones used by languages that use the Latin alphabet. +However, all words will be hyphenated by following the Greek hyphenation +rules! Similar commands are available once someone has selected some +other language. The commands \verb+\textgreek+ and \verb+\greektext+ +behave exactly like their ``latin'' counterparts. For example, the +word \textgreek{M'imhc} has been produced with the command +\verb+\textgreek{M'imhc}+. Please note that certain symbols cannot have +their expected result for Greek text, unless someone has selected the Greek +language, e.g., \verb+~+ is such a symbol. + +As we have mentioned above this version of the \texttt{greek} option of the +\texttt{babel} package supports the use of Greek numerals. The commands +\verb+\greeknumeral+ and \verb+\Greeknumeral+ produce the lowercase and +the uppercase Greek numeral, e.g., +\begin{center} +\begin{tabular}{cc}\hline +Command & Output\\ \hline +\verb+\Greeknumeral{9999}+ & \sg\textgreek{\Greeknumeral{9999}}\\ +\verb+\greeknumeral{9999}+ & \sg\textgreek{\greeknumeral{9999}}\\ +\hline +\end{tabular} +\end{center} +In order to correctly typeset the greek numerals the greek option file +provides the following commands: +\begin{center} +\begin{tabular}{cc}\hline +Command & Output\\ \hline +\verb+\qoppa+ & \textgreek{\qoppa}\\ +\verb+\sampi+ & \textgreek{\sampi}\\ +\verb+\stigma+ & \textgreek{\stigma}\\ +\hline +\end{tabular} +\end{center} + +In traditional Greek typography the first paragraph after a header is +always indented, contrary to the habit of, say, American typography. This +effect can be achieved by using the package \verb+indentfirst+. + +Additional greek symbols are available: +\begin{center} +\begin{tabular}{cc}\hline +Command & Output\\ \hline +\verb+\Digamma+ & \sg\textgreek{\Digamma}\\ +\verb+\ddigamma+ & \sg\textgreek{\ddigamma}\\ +%\verb+\tao+ & \sg\textgreek{\tao}\\ +%\verb+\Qoppa+ & \sg\textgreek{\Qoppa}\\ +%\verb|\VarQoppa| & \sg\textgreek{\VarQoppa}\\ +%\verb+\varqoppa+ & \sg\textgreek{\varqoppa}\\ +%\verb+\Sampi+ & \sg\textgreek{\Sampi}\\ +%\verb|\Stigma| & \sg\textgreek{\Stigma}\\ +\verb|\euro| & \sg\textgreek{\euro}\\ +\verb|\permill| & \sg\textgreek{\permill}\\ +\hline +\end{tabular} +\end{center} + +The package \verb|athnum| provides the command \verb|\athnum|, with which +one can produce the so called \textit{Athenian numerals}: +\begin{center} +\begin{tabular}{cc}\hline +Command & Output\\ \hline +\verb|\athnum{1997}| & \sg\textgreek{\athnum{1997}}\\ +\hline +\end{tabular} +\end{center} + +The package \verb|grmath| renames the basic log-like functions with their +greek counterparts: +\begin{center} +\begin{tabular}{cc}\hline +Command & Output\\ \hline +\verb|$\sin^{2}x+\cos^{2}x=1$| & $\sin^{2}x+\cos^{2}y=1$\\ +\hline +\end{tabular} +\end{center} +\end{document} diff --git a/Master/texmf-dist/source/generic/babel/user.drv b/Master/texmf-dist/source/generic/babel/user.drv deleted file mode 100644 index 9b45647aa69..00000000000 --- a/Master/texmf-dist/source/generic/babel/user.drv +++ /dev/null @@ -1,170 +0,0 @@ -%% -%% This is file `user.drv', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% babel.dtx (with options: `driver,user') -%% -%% This file was generated from file(s) of the Babel system. -%% --------------------------------------------------------- -%% -%% Copyright (C) 2004 Johannes Braams. All rights reserved. -%% -%% To produce the documentation in the way you like you are allowed -%% to change this driver file. -%% -%% -%% File 'babel.dtx' -%%\ProvidesFile{babel.dtx}[2005/05/21 v3.8g The Babel package] -%% Babel package for LaTeX2e. -%% Copyright (C) 1989 -- 2005 by Johannes Braams, -%% TeXniek -%% all rights reserved. -%% Please report errors to: J.L. Braams -%% babel at braams.cistron.nl -\ifx\ProvidesFile\@undefined - \def\ProvidesFile#1[#2 #3 #4]{% - \wlog{File: #1 #4 #3 <#2>}% - \let\ProvidesFile\@undefined - } -\fi -\ProvidesFile{user.drv} - [2005/05/21 v3.8g % -] -\documentclass{ltxdoc} -\usepackage{url,t1enc,supertabular} -\usepackage[icelandic,english]{babel} -\DoNotIndex{\!,\',\,,\.,\-,\:,\;,\?,\/,\^,\`,\@M} -\DoNotIndex{\@,\@ne,\@m,\@afterheading,\@date,\@endpart} -\DoNotIndex{\@hangfrom,\@idxitem,\@makeschapterhead,\@mkboth} -\DoNotIndex{\@oddfoot,\@oddhead,\@restonecolfalse,\@restonecoltrue} -\DoNotIndex{\@starttoc,\@unused} -\DoNotIndex{\accent,\active} -\DoNotIndex{\addcontentsline,\advance,\Alph,\arabic} -\DoNotIndex{\baselineskip,\begin,\begingroup,\bf,\box,\c@secnumdepth} -\DoNotIndex{\catcode,\centering,\char,\chardef,\clubpenalty} -\DoNotIndex{\columnsep,\columnseprule,\crcr,\csname} -\DoNotIndex{\day,\def,\dimen,\discretionary,\divide,\dp,\do} -\DoNotIndex{\edef,\else,\@empty,\end,\endgroup,\endcsname,\endinput} -\DoNotIndex{\errhelp,\errmessage,\expandafter,\fi,\filedate} -\DoNotIndex{\fileversion,\fmtname,\fnum@figure,\fnum@table,\fontdimen} -\DoNotIndex{\gdef,\global} -\DoNotIndex{\hbox,\hidewidth,\hfil,\hskip,\hspace,\ht,\Huge,\huge} -\DoNotIndex{\ialign,\if@twocolumn,\ifcase,\ifcat,\ifhmode,\ifmmode} -\DoNotIndex{\ifnum,\ifx,\immediate,\ignorespaces,\input,\item} -\DoNotIndex{\kern} -\DoNotIndex{\labelsep,\Large,\large,\labelwidth,\lccode,\leftmargin} -\DoNotIndex{\lineskip,\leavevmode,\let,\list,\ll,\long,\lower} -\DoNotIndex{\m@ne,\mathchar,\mathaccent,\markboth,\month,\multiply} -\DoNotIndex{\newblock,\newbox,\newcount,\newdimen,\newif,\newwrite} -\DoNotIndex{\nobreak,\noexpand,\noindent,\null,\number} -\DoNotIndex{\onecolumn,\or} -\DoNotIndex{\p@,par, \parbox,\parindent,\parskip,\penalty} -\DoNotIndex{\protect,\ps@headings} -\DoNotIndex{\quotation} -\DoNotIndex{\raggedright,\raise,\refstepcounter,\relax,\rm,\setbox} -\DoNotIndex{\section,\setcounter,\settowidth,\scriptscriptstyle} -\DoNotIndex{\sfcode,\sl,\sloppy,\small,\space,\spacefactor,\strut} -\DoNotIndex{\string} -\DoNotIndex{\textwidth,\the,\thechapter,\thefigure,\thepage,\thepart} -\DoNotIndex{\thetable,\thispagestyle,\titlepage,\tracingmacros} -\DoNotIndex{\tw@,\twocolumn,\typeout,\uppercase,\usecounter} -\DoNotIndex{\vbox,\vfil,\vskip,\vspace,\vss} -\DoNotIndex{\widowpenalty,\write,\xdef,\year,\z@,\z@skip} -\makeatletter -\gdef\dlqq{{\setbox\tw@=\hbox{,}\setbox\z@=\hbox{''}% - \dimen\z@=\ht\z@ \advance\dimen\z@-\ht\tw@ - \setbox\z@=\hbox{\lower\dimen\z@\box\z@}\ht\z@=\ht\tw@ - \dp\z@=\dp\tw@ \box\z@\kern-.04em}} -\makeatother -\font\manual=logo10 % font used for the METAFONT logo, etc. -\newcommand*\MF{{\manual META}\-{\manual FONT}} -\newcommand*\TeXhax{\TeX hax} -\newcommand*\babel{\textsf{babel}} -\newcommand*\Babel{\textsf{Babel}} -\newcommand*\m[1]{\mbox{$\langle$\it#1\/$\rangle$}} -\newcommand*\langvar{\m{lang}} -\newcommand*\note[1]{} -\newcommand*\bsl{\protect\bslash} -\newcommand*\Lopt[1]{\textsf{#1}} -\newcommand*\Lenv[1]{\textsf{#1}} -\newcommand*\file[1]{\texttt{#1}} -\newcommand*\cls[1]{\texttt{#1}} -\newcommand*\pkg[1]{\texttt{#1}} -\newcommand*\langdeffile[1]{% - \DocInput{#1}} -\DisableCrossrefs -\setcounter{StandardModuleDepth}{1} -\OnlyDescription -\begin{document} -\DocInput{babel.dtx} -^^A% \changes{babel~3.6i}{1997/02/22}{Added kannada} -\clearpage -\langdeffile{esperanto.dtx} -\langdeffile{interlingua.dtx} -\langdeffile{dutch.dtx} -\langdeffile{english.dtx} -\langdeffile{germanb.dtx} -\langdeffile{ngermanb.dtx} -\langdeffile{breton.dtx} -\langdeffile{welsh.dtx} -\langdeffile{irish.dtx} -\langdeffile{scottish.dtx} -\langdeffile{greek.dtx} -\langdeffile{frenchb.dtx} -\langdeffile{italian.dtx} -\langdeffile{latin.dtx} -\langdeffile{portuges.dtx} -\langdeffile{spanish.dtx} -\langdeffile{catalan.dtx} -\langdeffile{galician.dtx} -\langdeffile{basque.dtx} -\langdeffile{romanian.dtx} -\langdeffile{danish.dtx} -\langdeffile{icelandic.dtx} -\langdeffile{norsk.dtx} -\langdeffile{swedish.dtx} -\langdeffile{samin.dtx} -\langdeffile{finnish.dtx} -\langdeffile{magyar.dtx} -\langdeffile{estonian.dtx} -\langdeffile{croatian.dtx} -\langdeffile{czech.dtx} -\langdeffile{polish.dtx} -\langdeffile{serbian.dtx} -\langdeffile{slovak.dtx} -\langdeffile{slovene.dtx} -\langdeffile{russianb.dtx} -\langdeffile{bulgarian.dtx} -\langdeffile{ukraineb.dtx} -\langdeffile{lsorbian.dtx} -\langdeffile{usorbian.dtx} -\langdeffile{turkish.dtx} -\langdeffile{hebrew.dtx} -\DocInput{hebinp.dtx} -\DocInput{hebrew.fdd} -\DocInput{heb209.dtx} -\langdeffile{bahasa.dtx} -\clearpage -\DocInput{bbplain.dtx} -\end{document} -%% -%% \CharacterTable -%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -%% Digits \0\1\2\3\4\5\6\7\8\9 -%% Exclamation \! Double quote \" Hash (number) \# -%% Dollar \$ Percent \% Ampersand \& -%% Acute accent \' Left paren \( Right paren \) -%% Asterisk \* Plus \+ Comma \, -%% Minus \- Point \. Solidus \/ -%% Colon \: Semicolon \; Less than \< -%% Equals \= Greater than \> Question mark \? -%% Commercial at \@ Left bracket \[ Backslash \\ -%% Right bracket \] Circumflex \^ Underscore \_ -%% Grave accent \` Left brace \{ Vertical bar \| -%% Right brace \} Tilde \~} -\endinput -%% -%% End of file `user.drv'. |