summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/generic/babel/babel.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/generic/babel/babel.dtx')
-rw-r--r--Master/texmf-dist/source/generic/babel/babel.dtx39
1 files changed, 29 insertions, 10 deletions
diff --git a/Master/texmf-dist/source/generic/babel/babel.dtx b/Master/texmf-dist/source/generic/babel/babel.dtx
index 29358b853c0..01211823d1d 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{3858}
+% \CheckSum{3865}
%%
% \def\filename{babel.dtx}
% \let\thisfilename\filename
@@ -42,7 +42,7 @@
%
%% File 'babel.dtx'
%\fi
-%%\ProvidesFile{babel.dtx}[2008/03/16 v3.8j The Babel package]
+%%\ProvidesFile{babel.dtx}[2008/03/16 v3.8l The Babel package]
%\iffalse
%
% Babel DOCUMENT-STYLE option for LaTeX version 2.09 or plain TeX;
@@ -171,12 +171,10 @@
% number of hard-wired texts. This report describes \babel{}, a
% package that makes use of the new capabilities of \TeX\ version 3
% to provide an environment in which documents can be typeset in
-% a non-American language, or in more than one language.
+% a language other than US English, or in more than one language.
% \end{abstract}
%
-% \begin{multicols}{2}
% \tableofcontents
-% \end{multicols}
%
% \section{The user interface}\label{U-I}
%
@@ -983,7 +981,7 @@
%<+kernel&!patterns>\ProvidesFile{switch.def}
%<+driver&!user>\ProvidesFile{babel.drv}
%<+driver&user>\ProvidesFile{user.drv}
- [2008/03/16 v3.8j %
+ [2008/07/06 v3.8l %
%<+package> The Babel package]
%<+core> Babel common definitions]
%<+kernel> Babel language switching mechanism]
@@ -1805,6 +1803,7 @@
% \cs{date...} instead of \cs{l@...}}
% \changes{babel~3.7m}{2003/11/16}{Check for the existence of both
% \cs{l@...} and \cs{date...}}
+% \changes{babel~3.8l}{2008/07/06}{Use \cs{bbl@patterns}}
% \begin{macrocode}
\def\select@language#1{%
\expandafter\ifx\csname l@#1\endcsname\relax
@@ -1813,7 +1812,7 @@
\expandafter\ifx\csname date#1\endcsname\relax
\@noopterr{#1}%
\else
- \language=\csname l@#1\endcsname\relax
+ \bbl@patterns{\languagename}%
\originalTeX
% \end{macrocode}
% The name of the language is stored in the control sequence
@@ -1991,8 +1990,9 @@
% the extra definitions for this language.
% \changes{babel~3.6d}{1997/01/07}{set the language shorthands to
% `none' before switching on the extras}
+% \changes{babel~3.8l}{2008/07/06}{use \cs{bbl@patterns}}
% \begin{macrocode}
- \language=\csname l@#1\endcsname\relax
+ \bbl@patterns{\languagename}%
\languageshorthands{none}%
% \end{macrocode}
% Then we set the left- and right hyphenmin variables.
@@ -2011,6 +2011,23 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\bbl@patterns}
+% \changes{babel~3.8l}{2008/07/06}{Macro added}
+% This macro selects the hyphenation patterns by changing the
+% \cs{language} register. If special hyphenation patterns
+% are available specifically for the current font encoding,
+% use them instead of the default.
+% \begin{macrocode}
+\def\bbl@patterns#1{%
+ \language=\expandafter\ifx\csname l@#1:\f@encoding\endcsname\relax
+ \csname l@#1\endcsname
+ \else
+ \csname l@#1:\f@encoding\endcsname
+ \fi\relax
+}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{environment}{hyphenrules}
% \changes{babel~3.7e}{2000/01/28}{Added environment hyphenrules}
% The environment \Lenv{hyphenrules} can be used to select
@@ -2019,12 +2036,13 @@
% specified were not loaded it has no effect.
% \changes{babel~3.8j}{2008/03/16}{Also set the hyphenmin paramters to
% the correct value (PR3997)}
+% \changes{babel~3.8l}{2008/07/06}{Use \cs{bbl@patterns}}
% \begin{macrocode}
\def\hyphenrules#1{%
\expandafter\ifx\csname l@#1\endcsname\@undefined
\@nolanerr{#1}%
\else
- \language=\csname l@#1\endcsname\relax
+ \bbl@patterns{#1}%
\languageshorthands{none}%
\expandafter\ifx\csname #1hyphenmins\endcsname\relax
\set@hyphenmins\tw@\thr@@\relax
@@ -2206,11 +2224,12 @@
% files. It stores its argument in |\bbl@main@language|; to be used
% to switch to the correct language at the beginning of the
% document.
+% \changes{babel~3.8l}{2008/07/06}{Use \cs{bbl@patterns}}
% \begin{macrocode}
\def\main@language#1{%
\def\bbl@main@language{#1}%
\let\languagename\bbl@main@language
- \language=\csname l@\languagename\endcsname\relax
+ \bbl@patterns{\languagename}%
}
% \end{macrocode}
% The default is to use English as the main language.