summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/babel/babel.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-01-08 22:23:50 +0000
committerKarl Berry <karl@freefriends.org>2016-01-08 22:23:50 +0000
commit28ae25e8b8174c6312ec23f63edf12f160321412 (patch)
treeac0167cf34029dec3b88061c675908575cac07c0 /Master/texmf-dist/source/latex/babel/babel.dtx
parent0dde4d7f4b9ba62d4c0cbde98fabe06aa2f15764 (diff)
babel (8jan16)
git-svn-id: svn://tug.org/texlive/trunk@39320 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/babel/babel.dtx')
-rw-r--r--Master/texmf-dist/source/latex/babel/babel.dtx86
1 files changed, 50 insertions, 36 deletions
diff --git a/Master/texmf-dist/source/latex/babel/babel.dtx b/Master/texmf-dist/source/latex/babel/babel.dtx
index d37a62decf5..4d8444ab9fe 100644
--- a/Master/texmf-dist/source/latex/babel/babel.dtx
+++ b/Master/texmf-dist/source/latex/babel/babel.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 2012-2013 Javier Bezos and Johannes L. Braams.
+% Copyright 2012-2016 Javier Bezos and Johannes L. Braams.
% Copyright 1989-2012 Johannes L. Braams and any individual authors
% listed elsewhere in this file.
% All rights reserved.
@@ -36,7 +36,7 @@
%\iffalse
%% File 'babel.dtx'
%\fi
-%%\ProvidesFile{babel.dtx}[2015/08/03 v3.9m The Babel package]
+%%\ProvidesFile{babel.dtx}[2016/01/08 v3.9n The Babel package]
%\iffalse
%
% Babel DOCUMENT-STYLE option for LaTeX version 2.09 or plain TeX;
@@ -196,8 +196,8 @@
\vspace{2cm}\hspace{1.5cm}
\begin{minipage}{5cm}
\Large
-Version 3.9m\newline
-2015/08/03
+Version 3.9n\newline
+2016/01/08
\vspace{1cm}
\textit{Original author}\newline
@@ -225,6 +225,7 @@ Javier Bezos
\luatex, to provide an environment in which documents can be typeset
in a language other than US English, or in more than one language or
script.
+
However, no attempt has been done to take full advantage of the
features provided by the latter, which would require a completely
new core (as for example \file{polyglossia} or as part of \LaTeX3).
@@ -824,15 +825,16 @@ As some languages use this mechanism for tools not available
otherwise, a macro \verb|\babelshorthand| is defined, which allows
using them; see above.
-\Describe{safe=}{\texttt{none} $\string|$ \texttt{ref}
-$\string|$ \texttt{bib}}
-Some \LaTeX{} macros are redefined so that using
-shorthands is safe. With \texttt{safe=bib} only |\nocite|, |\bibcite| and
-|\bibitem| are redefined. With |safe=ref| only |\newlabel|, |\ref|
-and |\pageref| are redefined (as well as a few macros from
+\Describe{safe=}{\texttt{none} $\string|$ \texttt{ref} $\string|$
+\texttt{bib}} Some \LaTeX{} macros are redefined so that using
+shorthands is safe. With \texttt{safe=bib} only |\nocite|, |\bibcite|
+and |\bibitem| are redefined. With |safe=ref| only |\newlabel|, |\ref|
+and |\pageref| are redefined (as well as a few macros from
\textsf{varioref} and \textsf{ifthen}). With |safe=none| no macro is
-redefined. Of course, in such a case you cannot use shorthands in
-these macros.
+redefined. This option is strongly recommended, because a good deal of
+incompatibilities and errors are related to these redefinitions -- of
+course, in such a case you cannot use shorthands in these macros, but
+this is not a real problem (just use ``allowed'' characters).
\Describe{math=}{\texttt{active} $\string|$ \texttt{normal}}
Shorthands are mainly intended for text, not for math. By setting this
@@ -1286,12 +1288,12 @@ Then you preprocess it with |devnag| \m{file}, which creates
this part remains untouched in version 3.9 (but it is in the `to
do' list).
\item Using a character mathematically active (ie, with math code
- |"8000|) as a shorthand can make \TeX{} enter in an infinite
- loop. (Another issue in the `to do' list, although there is a
- partial solution.)
+ |"8000|) as a shorthand can make \TeX{} enter in an infinite loop in
+ some rare cases. (Another issue in the `to do' list, although there
+ is a partial solution.)
\item Plain \luatex{} does not load patterns on the fly. Since this
-format is not based on \babel{} but on \file{etex.src} further
-investigation is required. This is another task in the `to do' list.
+ format is not based on \babel{} but on \file{etex.src} further
+ investigation is required. This is another task in the `to do' list.
\end{itemize}
The following packages can be useful, too (the list is still
@@ -1620,7 +1622,7 @@ explained in in sec. \ref{s:strings} (\babel{} 3.9 and later).
\begin{verbatim}
\ProvidesLanguage{<language>}
- [2015/08/03 v0.0 <Language> support from the babel system]
+ [2016/01/08 v0.0 <Language> support from the babel system]
\LdfInit{<language>}{captions<language>}
\ifx\undefined\l@<language>
@@ -1805,13 +1807,14 @@ is |french|, just redefine |\frenchchaptername|.
\Describe\StartBabelCommands
{\marg{language-list}\marg{category}\oarg{selector}}
-The \m{language-list} specifies which languages the block is intended
-for. A block is taken into account only if the |\CurrentOption| is
-listed here. Alternatively, you can define |\BabelLanguages| to a
-comma-separated list of languages to be defined (if undefined,
-|\StartBabelCommands| sets it to |\CurrentOption|). You may write
-|\CurrentOption| as the language, but this discouraged -- a explicit
-name (or names) is much better and clearer.
+The \m{language-list} specifies which languages the block is
+intended for. A block is taken into account only if the
+|\CurrentOption| is listed here. Alternatively, you can define
+|\BabelLanguages| to a comma-separated list of languages to be
+defined (if undefined, |\StartBabelCommands| sets it to
+|\CurrentOption|). You may write |\CurrentOption| as the language,
+but this is discouraged -- a explicit name (or names) is much better
+and clearer.
A ``selector'' is a name to be used as value in package option
|strings|, optionally followed by extra info about the encodings to be
@@ -2402,8 +2405,8 @@ help from Bernd Raichle, for which I am grateful.
% little bit of literate programming.
%
% \begin{macrocode}
-%<<version=3.9m>>
-%<<date=2015/08/03>>
+%<<version=3.9n>>
+%<<date=2016/01/08>>
% \end{macrocode}
%
% We define some basic macros which just make the code cleaner.
@@ -3076,7 +3079,7 @@ help from Bernd Raichle, for which I am grateful.
\expandafter\bbl@tempa\bbl@loaded,\@nnil
\ifx\bbl@tempb\bbl@tempc\else
\bbl@warning{%
- Last declared language option is `\bbl@tempc,\\%
+ Last declared language option is `\bbl@tempc',\\%
but the last processed one was `\bbl@tempb'.\\%
The main language cannot be set as both a global\\%
and a package option. Use `main=\bbl@tempc' as\\%
@@ -3159,13 +3162,22 @@ help from Bernd Raichle, for which I am grateful.
% \luatex, and 2 is \xetex. You may use it in your language style
% if necessary.
%
-% \changes{babel~3.9k}{2014/03/24}{Added definition for \cs{uselanguage}}
+% \changes{babel~3.9k}{2014/03/24}{Added definition for
+% \cs{uselanguage}}
+% \changes{babel~3.9n}{2015/12/21}{Define a few macros for 2.09}
%
% \begin{macrocode}
%<*core>
<@Make sure ProvidesFile is defined@>
\ProvidesFile{babel.def}[<@date@> <@version@> Babel common definitions]
<@Load macros for plain if not LaTeX@>
+\ifx\bbl@ifshorthand\@undefined
+ \def\bbl@ifshorthand#1#2#3{#2}%
+ \def\bbl@opt@safe{BR}
+ \def\AfterBabelLanguage#1#2{}
+ \let\bbl@afterlang\relax
+ \let\bbl@language@opts\@empty
+\fi
<@Load switch if newer@>
\ifx\bbl@languages\@undefined
\openin1 = language.def
@@ -6325,16 +6337,18 @@ help from Bernd Raichle, for which I am grateful.
% Then we can redefine |\ifthenelse|:
% \changes{babel~3.6f}{1997/01/14}{\cs{ifthenelse} needs to be long}
% \changes{babel~3.9a}{2012/06/22}{\cs{ref} is also taken into account}
+% \changes{babel~3.9n}{2015/12/14}{Don't use generic temp
+% macros. babel/4441}
% \begin{macrocode}
\bbl@redefine@long\ifthenelse#1#2#3{%
% \end{macrocode}
% We want to revert the definition of |\pageref| and |\ref| to
-% their original definition for the duration of |\ifthenelse|,
+% their original definition for the first argument of |\ifthenelse|,
% so we first need to store their current meanings.
% \begin{macrocode}
- \let\bbl@tempa\pageref
+ \let\bbl@temp@pref\pageref
\let\pageref\org@pageref
- \let\bbl@tempb\ref
+ \let\bbl@temp@ref\ref
\let\ref\org@ref
% \end{macrocode}
% Then we can set the |\@safe@actives| switch and call the original
@@ -6349,12 +6363,12 @@ help from Bernd Raichle, for which I am grateful.
% \begin{macrocode}
\@safe@activestrue
\org@ifthenelse{#1}{%
- \let\pageref\bbl@tempa
- \let\ref\bbl@tempb
+ \let\pageref\bbl@temp@pref
+ \let\ref\bbl@temp@ref
\@safe@activesfalse
#2}{%
- \let\pageref\bbl@tempa
- \let\ref\bbl@tempb
+ \let\pageref\bbl@temp@pref
+ \let\ref\bbl@temp@ref
\@safe@activesfalse
#3}%
}%