summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/babel
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-12-05 00:15:08 +0000
committerKarl Berry <karl@freefriends.org>2011-12-05 00:15:08 +0000
commitf154f5571f07ba54f345aaaeedf3a77130c0fd46 (patch)
treec14becce78080d0e5a153c0759911805dee168df /Master/texmf-dist/tex/generic/babel
parent4944be8775dae899f24e60c514ab9da59cab1d1c (diff)
babel (3nov11/13nov11)
git-svn-id: svn://tug.org/texlive/trunk@24756 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel')
-rw-r--r--Master/texmf-dist/tex/generic/babel/frenchb.cfg4
-rw-r--r--Master/texmf-dist/tex/generic/babel/frenchb.ldf509
-rw-r--r--Master/texmf-dist/tex/generic/babel/romanidx.sty10
-rw-r--r--Master/texmf-dist/tex/generic/babel/spanish.ldf58
4 files changed, 393 insertions, 188 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/frenchb.cfg b/Master/texmf-dist/tex/generic/babel/frenchb.cfg
index 4a864468b5c..f83b7ca1136 100644
--- a/Master/texmf-dist/tex/generic/babel/frenchb.cfg
+++ b/Master/texmf-dist/tex/generic/babel/frenchb.cfg
@@ -1,8 +1,8 @@
%% frenchb.cfg: configuration file for frenchb.ldf
-%% Daniel Flipo Daniel.Flipo at univ-lille1.fr
+%% Daniel Flipo daniel.flipo at free.fr
%% File `frenchb.dtx'
%% Babel package for LaTeX version 2e
-%% Copyright (C) 1989 - 2009
+%% Copyright (C) 1989 - 2010
%% by Johannes Braams, TeXniek
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%% WARNING: THIS FILE SHOULD NO LONGER BE USED %%%%%%%%%
diff --git a/Master/texmf-dist/tex/generic/babel/frenchb.ldf b/Master/texmf-dist/tex/generic/babel/frenchb.ldf
index 2f4d1481cf6..ebe446e025c 100644
--- a/Master/texmf-dist/tex/generic/babel/frenchb.ldf
+++ b/Master/texmf-dist/tex/generic/babel/frenchb.ldf
@@ -7,7 +7,7 @@
%% frenchb.dtx (with options: `code')
%% This is a generated file.
%%
-%% Copyright 1989-2009 Johannes L. Braams and any individual authors
+%% Copyright 1989-2011 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.
@@ -37,17 +37,17 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
\ProvidesLanguage{frenchb}
- [2009/03/16 v2.3d French support from the babel system]
+ [2010/08/21 v2.5a French support from the babel system]
%% File `frenchb.dtx'
%% Babel package for LaTeX version 2e
-%% Copyright (C) 1989 - 2009
+%% Copyright (C) 1989 - 2010
%% by Johannes Braams, TeXniek
%% Frenchb language Definition File
-%% Copyright (C) 1989 - 2009
+%% Copyright (C) 1989 - 2010
%% by Johannes Braams, TeXniek
%% Daniel Flipo, GUTenberg
%% Please report errors to: Daniel Flipo, GUTenberg
-%% Daniel.Flipo at univ-lille1.fr
+%% daniel.flipo at free.fr
\def\CurrentOption{french}
\LdfInit\CurrentOption\datefrench
\newif\ifLaTeXe
@@ -98,12 +98,23 @@
\def\extrasfrenchb{\extrasfrench}
\def\noextrasfrancais{\noextrasfrench}
\def\noextrasfrenchb{\noextrasfrench}
-\@namedef{extras\CurrentOption}{\lccode`\'=`\'}
-\@namedef{noextras\CurrentOption}{\lccode`\'=0}
- \expandafter\addto\csname extras\CurrentOption\endcsname{%
- \bbl@frenchspacing}
- \expandafter\addto\csname noextras\CurrentOption\endcsname{%
- \bbl@nonfrenchspacing}
+\newif\ifFBunicode
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname luatexversion\endcsname\relax
+\else
+ \FBunicodetrue
+\fi
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname XeTeXrevision\endcsname\relax
+\else
+ \FBunicodetrue
+\fi
+\@namedef{extras\CurrentOption}{\lccode`\'=`\'
+ \ifFBunicode\lccode"2019="2019\fi}
+\@namedef{noextras\CurrentOption}{\lccode`\'=0
+ \ifFBunicode\lccode"2019=0\fi}
+\addto\extrasfrench{\bbl@frenchspacing}
+\addto\noextrasfrench{\bbl@nonfrenchspacing}
\long\def\STD@makecaption#1#2{%
\vskip\abovecaptionskip
\sbox\@tempboxa{#1: #2}%
@@ -113,18 +124,121 @@
\global \@minipagefalse
\hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
\fi
- \vskip\belowcaptionskip}%
-\newif\ifFBpunct@active \FBpunct@activetrue
-\newif\ifFBAutoSpacePunctuation \FBAutoSpacePunctuationtrue
-\ifFBpunct@active
- \initiate@active@char{:}
- \initiate@active@char{;}
- \initiate@active@char{!}
- \initiate@active@char{?}
+ \vskip\belowcaptionskip}
+\newcommand*{\Fcolonspace}{\space}
+\newcommand*{\Fthinspace}{\thinspace}
+\newif\ifFB@active@punct \FB@active@puncttrue
+\newif\ifFB@xetex@punct
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname XeTeXinterchartokenstate\endcsname\relax
+\else
+ \FB@xetex@puncttrue\FB@active@punctfalse
+\fi
+\newif\ifFBAutoSpaceGuill \FBAutoSpaceGuilltrue
+\ifFB@xetex@punct
+ \PackageInfo{frenchb.ldf}{No need for active punctuation characters
+ \MessageBreak with this version of XeTeX! reported}
+ \@ifundefined{@for}{%
+ \def\@nnil{\@nil}%
+ \def\@empty{}%
+ \def\@fornoop#1\@@#2#3{}%
+ \long\def\@for#1:=#2\do#3{%
+ \expandafter\def\expandafter\@fortmp\expandafter{#2}%
+ \ifx\@fortmp\@empty \else
+ \expandafter\@forloop#2,\@nil,\@nil\@@#1{#3}\fi}%
+ \long\def\@forloop#1,#2,#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else
+ #5\def#4{#2}\ifx #4\@nnil \else#5\@iforloop #3\@@#4{#5}\fi\fi}%
+ \long\def\@iforloop#1,#2\@@#3#4{\def#3{#1}\ifx #3\@nnil
+ \expandafter\@fornoop \else
+ #4\relax\expandafter\@iforloop\fi#2\@@#3{#4}}%
+ \def\@tfor#1:={\@tf@r#1 }%
+ \long\def\@tf@r#1#2\do#3{\def\@fortmp{#2}\ifx\@fortmp\space\else
+ \@tforloop#2\@nil\@nil\@@#1{#3}\fi}%
+ \long\def\@tforloop#1#2\@@#3#4{\def#3{#1}\ifx #3\@nnil
+ \expandafter\@fornoop \else
+ #4\relax\expandafter\@tforloop\fi#2\@@#3{#4}}%
+ }{}%
+ \newcount\FB@interchartokenstateORI
+ \newXeTeXintercharclass\FB@punctthick
+ \newXeTeXintercharclass\FB@punctthin
+ \newXeTeXintercharclass\FB@punctnul
+ \newXeTeXintercharclass\FB@punctguilo
+ \newXeTeXintercharclass\FB@punctguilf
+ \def\FB@charclassesORI{}
+ \def\empty{}
+ \def\FB@parse#1,#2\endparse{\def\FB@class{#1}%
+ \def\FB@charclassesORI{#2}}%
+ \newcommand*{\FB@xetex@punct@french}{%
+ \ifx\FB@charclassesORI\empty
+ \FB@interchartokenstateORI=\XeTeXinterchartokenstate
+ \@for\FB@char:={`\:,`\;,`\!,`\?,`\[,`\(,"00AB,"00BB}\do
+ {\edef\FB@charclassesORI{\FB@charclassesORI%
+ \the\XeTeXcharclass\FB@char,}}%
+ \let\shorthandonORI\shorthandon
+ \let\shorthandoffORI\shorthandoff
+ \fi
+ \XeTeXinterchartokenstate=1
+ \XeTeXcharclass `\: = \FB@punctthick
+ \XeTeXinterchartoks \z@ \FB@punctthick = {%
+ \ifhmode\FDP@colonspace\fi}%
+ \XeTeXinterchartoks \FB@punctguilf \FB@punctthick = {%
+ \FDP@colonspace}%
+ \XeTeXinterchartoks 255 \FB@punctthick = {%
+ \ifhmode\unskip\penalty\@M\Fcolonspace\fi}%
+ \@for\FB@char:={`\;,`\!,`\?}\do
+ {\XeTeXcharclass\FB@char=\FB@punctthin}%
+ \XeTeXinterchartoks \z@ \FB@punctthin = {%
+ \ifhmode\FDP@thinspace\fi}%
+ \XeTeXinterchartoks \FB@punctguilf \FB@punctthin = {%
+ \FDP@thinspace}%
+ \XeTeXinterchartoks 255 \FB@punctthin = {%
+ \ifhmode\unskip\penalty\@M\Fthinspace\fi}%
+ \@for\FB@char:={`\[,`\(}\do
+ {\XeTeXcharclass\FB@char=\FB@punctnul}%
+ \XeTeXinterchartoks \FB@punctnul \FB@punctthin = {}%
+ \XeTeXcharclass"00AB = \FB@punctguilo
+ \XeTeXinterchartoks \FB@punctguilo \z@ = {%
+ \ifFBAutoSpaceGuill\FBguill@spacing\fi}%
+ \XeTeXinterchartoks \FB@punctguilo 255 = {%
+ \ifFBAutoSpaceGuill\FBguill@spacing\ignorespaces\fi}%
+ \XeTeXcharclass"00BB = \FB@punctguilf
+ \XeTeXinterchartoks \z@ \FB@punctguilf = {%
+ \ifFBAutoSpaceGuill\FBguill@spacing\fi}%
+ \XeTeXinterchartoks \FB@punctthin \FB@punctguilf = {%
+ \ifFBAutoSpaceGuill\FBguill@spacing\fi}%
+ \XeTeXinterchartoks 255 \FB@punctguilf = {%
+ \ifFBAutoSpaceGuill\unskip\FBguill@spacing\fi}%
+ \def\shorthandoff##1{%
+ \PackageWarning{frenchb.ldf}{\protect\shorthandoff{;:!?} is
+ helpless with XeTeX,\MessageBreak use \protect\NoAutoSpacing
+ \space *inside a group* instead;\MessageBreak reported}%
+ }%
+ \def\shorthandon##1{}%
+ }
+ \newcommand*{\FB@xetex@punct@nonfrench}{%
+ \ifx\FB@charclassesORI\empty
+ \else
+ \@for\FB@char:={`\:,`\;,`\!,`\?,`\[,`\(,"00AB,"00BB}\do
+ {\expandafter\FB@parse\FB@charclassesORI\endparse
+ \XeTeXcharclass\FB@char=\FB@class}%
+ \def\FB@charclassesORI{}%
+ \XeTeXinterchartokenstate=\FB@interchartokenstateORI
+ \let\shorthandon\shorthandonORI
+ \let\shorthandoff\shorthandoffORI
+ \fi
+ }
+ \addto\extrasfrench{\FB@xetex@punct@french}
+ \addto\noextrasfrench{\FB@xetex@punct@nonfrench}
+\fi
+\ifFB@active@punct
+ \initiate@active@char{:}%
+ \initiate@active@char{;}%
+ \initiate@active@char{!}%
+ \initiate@active@char{?}%
\declare@shorthand{french}{;}{%
\ifhmode
\ifdim\lastskip>\z@
- \unskip\penalty\@M\thinspace
+ \unskip\penalty\@M\Fthinspace
\else
\FDP@thinspace
\fi
@@ -133,7 +247,7 @@
\declare@shorthand{french}{!}{%
\ifhmode
\ifdim\lastskip>\z@
- \unskip\penalty\@M\thinspace
+ \unskip\penalty\@M\Fthinspace
\else
\FDP@thinspace
\fi
@@ -142,13 +256,12 @@
\declare@shorthand{french}{?}{%
\ifhmode
\ifdim\lastskip>\z@
- \unskip\penalty\@M\thinspace
+ \unskip\penalty\@M\Fthinspace
\else
\FDP@thinspace
\fi
\fi
\string?}
- \newcommand*{\Fcolonspace}{\space}
\declare@shorthand{french}{:}{%
\ifhmode
\ifdim\lastskip>\z@
@@ -158,74 +271,88 @@
\fi
\fi
\string:}
- \def\autospace@beforeFDP{%
- \def\FDP@thinspace{\penalty\@M\thinspace}%
+ \declare@shorthand{system}{:}{\string:}
+ \declare@shorthand{system}{!}{\string!}
+ \declare@shorthand{system}{?}{\string?}
+ \declare@shorthand{system}{;}{\string;}
+ \addto\extrasfrench{%
+ \languageshorthands{french}%
+ \bbl@activate{:}\bbl@activate{;}%
+ \bbl@activate{!}\bbl@activate{?}%
+ }
+ \addto\noextrasfrench{%
+ \bbl@deactivate{:}\bbl@deactivate{;}%
+ \bbl@deactivate{!}\bbl@deactivate{?}}
+\fi
+\newif\ifFBAutoSpacePunctuation \FBAutoSpacePunctuationtrue
+\def\autospace@beforeFDP{%
+ \def\FDP@thinspace{\penalty\@M\Fthinspace}%
\def\FDP@colonspace{\penalty\@M\Fcolonspace}}
- \def\noautospace@beforeFDP{\let\FDP@thinspace\@empty
+\def\noautospace@beforeFDP{\let\FDP@thinspace\@empty
\let\FDP@colonspace\@empty}
- \ifLaTeXe
+\ifLaTeXe
\def\AutoSpaceBeforeFDP{\autospace@beforeFDP
\FBAutoSpacePunctuationtrue}
\def\NoAutoSpaceBeforeFDP{\noautospace@beforeFDP
\FBAutoSpacePunctuationfalse}
- \else
+\else
\let\AutoSpaceBeforeFDP\autospace@beforeFDP
\let\NoAutoSpaceBeforeFDP\noautospace@beforeFDP
- \AutoSpaceBeforeFDP
\fi
- \ifLaTeXe
+\AutoSpaceBeforeFDP
+\ifLaTeXe
\let\ttfamilyORI\ttfamily
\let\rmfamilyORI\rmfamily
\let\sffamilyORI\sffamily
\DeclareRobustCommand\ttfamilyFB{%
+ \FBAutoSpaceGuillfalse
\noautospace@beforeFDP\ttfamilyORI}%
\DeclareRobustCommand\rmfamilyFB{%
+ \FBAutoSpaceGuilltrue
\ifFBAutoSpacePunctuation
- \autospace@beforeFDP\rmfamilyORI
+ \autospace@beforeFDP\rmfamilyORI
\else
- \noautospace@beforeFDP\rmfamilyORI
+ \noautospace@beforeFDP\rmfamilyORI
\fi}%
\DeclareRobustCommand\sffamilyFB{%
+ \FBAutoSpaceGuilltrue
\ifFBAutoSpacePunctuation
- \autospace@beforeFDP\sffamilyORI
+ \autospace@beforeFDP\sffamilyORI
\else
- \noautospace@beforeFDP\sffamilyORI
+ \noautospace@beforeFDP\sffamilyORI
\fi}%
- \fi
- \declare@shorthand{system}{:}{\string:}
- \declare@shorthand{system}{!}{\string!}
- \declare@shorthand{system}{?}{\string?}
- \declare@shorthand{system}{;}{\string;}
- \addto\extrasfrench{%
- \languageshorthands{french}%
- \bbl@activate{:}\bbl@activate{;}%
- \bbl@activate{!}\bbl@activate{?}%
- }
- \addto\noextrasfrench{%
- \bbl@deactivate{:}\bbl@deactivate{;}%
- \bbl@deactivate{!}\bbl@deactivate{?}}
\fi
+\newcommand*{\NoAutoSpacing}{\FBAutoSpaceGuillfalse
+ \ifFB@active@punct\shorthandoff{;:!?}\fi
+ \ifFB@xetex@punct\XeTeXinterchartokenstate=0\fi}
\newcommand*{\og}{\@empty}
\newcommand*{\fg}{\@empty}
+
\ifLaTeXe
\else
- \ifx\guillemotleft\@undefined
+ \ifFBunicode
+ \def\guillemotleft{\char"00AB}
+ \def\guillemotright{\char"00BB}
+ \def\textquotedblleft{\char"201C}
+ \def\textquotedblright{\char"201D}
+ \else
\def\guillemotleft{\leavevmode\raise0.25ex
\hbox{$\scriptscriptstyle\ll$}}
- \fi
- \ifx\guillemotright\@undefined
\def\guillemotright{\raise0.25ex
\hbox{$\scriptscriptstyle\gg$}}
+ \def\textquotedblleft{``}
+ \def\textquotedblright{''}
\fi
\let\xspace\relax
\fi
\newcommand*{\FBguill@spacing}{\penalty\@M\hskip.8\fontdimen2\font
plus.3\fontdimen3\font
minus.8\fontdimen4\font}
-\DeclareRobustCommand*{\FB@og}{\leavevmode
- \guillemotleft\FBguill@spacing}
+\DeclareRobustCommand*{\FB@og}{\leavevmode\guillemotleft
+ \ifFB@xetex@punct\else\FBguill@spacing\fi}
\DeclareRobustCommand*{\FB@fg}{\ifdim\lastskip>\z@\unskip\fi
- \FBguill@spacing\guillemotright\xspace}
+ \ifFB@xetex@punct\else\FBguill@spacing\fi
+ \guillemotright\xspace}
\ifLaTeXe
\def\bbl@frenchguillemets{\renewcommand*{\og}{\FB@og}%
\renewcommand*{\fg}{\FB@fg}}
@@ -233,21 +360,19 @@
\renewcommand*{\fg}{\ifdim\lastskip>\z@\unskip\fi
\textquotedblright}}
\else
- \def\bbl@frenchguillemets{\let\og\FB@og
- \let\fg\FB@fg}
- \def\bbl@nonfrenchguillemets{\def\og{``}%
- \def\fg{\ifdim\lastskip>\z@\unskip\fi ''}}
+ \def\bbl@frenchguillemets{\let\og\FB@og
+ \let\fg\FB@fg}
+ \def\bbl@nonfrenchguillemets{\def\og{\textquotedblleft}%
+ \def\fg{\ifdim\lastskip>\z@\unskip\fi\textquotedblright}}
\fi
-\expandafter\addto\csname extras\CurrentOption\endcsname{%
- \bbl@frenchguillemets}
-\expandafter\addto\csname noextras\CurrentOption\endcsname{%
- \bbl@nonfrenchguillemets}
+\addto\extrasfrench{\bbl@frenchguillemets}
+\addto\noextrasfrench{\bbl@nonfrenchguillemets}
\@namedef{date\CurrentOption}{%
\def\today{{\number\day}\ifnum1=\day {\ier}\fi \space
\ifcase\month
- \or janvier\or f\'evrier\or mars\or avril\or mai\or juin\or
- juillet\or ao\^ut\or septembre\or octobre\or novembre\or
- d\'ecembre\fi
+ \or janvier\or f{\FBeacute}vrier\or mars\or avril\or mai\or
+ juin\or juillet\or ao{\FBucirconflexe}t\or septembre\or
+ octobre\or novembre\or d{\FBeacute}cembre\fi
\space \number\year}}
\newif\ifFB@poorman
\newdimen\FB@Mht
@@ -283,12 +408,12 @@
\fontfamily{\FB@firstthree -sup}\selectfont \FB@lc{#1}\egroup}
\DeclareRobustCommand*{\fup}[1]{%
\@ifundefined{realsuperscript}%
- {\FB@up{#1}}%
+ {\FB@up{#1}\let\realsuperscript\undefined}%
{\bgroup\let\fakesuperscript\FB@up@fake
\realsuperscript{\FB@lc{#1}}\egroup}}
- \newcommand*{\up}{\relax}
+ \providecommand*{\up}{\relax}
\else
- \newcommand*{\up}[1]{\leavevmode\raise1ex\hbox{\sevenrm #1}}
+ \providecommand*{\up}[1]{\leavevmode\raise1ex\hbox{\sevenrm #1}}
\fi
\def\ieme{\up{\lowercase{e}}\xspace}
\def\iemes{\up{\lowercase{es}}\xspace}
@@ -336,6 +461,20 @@
\newcommand*{\tild}{\char126}
\newcommand*{\boi}{$\backslash$}
\fi
+\newcommand*{\FBagrave}{\`a}
+\newcommand*{\FBegrave}{\`e}
+\newcommand*{\FBeacute}{\'e}
+\newcommand*{\FBucirconflexe}{\^u}
+\ifFBunicode
+ \ifLaTeXe
+ \else
+ \def\degre{\char"00B0}
+ \def\FBagrave{\char"00E0}
+ \def\FBegrave{\char"00E8}
+ \def\FBeacute{\char"00E9}
+ \def\FBucirconflexe{\char"00FB}
+ \fi
+\fi
\ifLaTeXe
\newcommand*{\degres}{\degre}
\def\Warning@degree@TSone{%
@@ -344,12 +483,13 @@
\MessageBreak add \protect
\usepackage{textcomp} to the preamble.
\MessageBreak Degrees used}}
+ \ifFBunicode\global\let\Warning@degree@TSone\relax\fi
\AtBeginDocument{\expandafter\ifx\csname M@TS1\endcsname\relax
\DeclareRobustCommand*{\degres}{%
\leavevmode\hbox to 0.3em{\hss\degre\hss}%
\Warning@degree@TSone
\global\let\Warning@degree@TSone\relax}%
- \let\textdegree\degres
+ \let\textdegree\degres
\else
\DeclareRobustCommand*{\degres}{%
\hbox{\UseTextSymbol{TS1}{\textdegree}}}%
@@ -368,17 +508,16 @@
\advance\dec@mcc by -\@tempcnta
\newcommand*{\DecimalMathComma}{\iflanguage{french}%
{\mathcode`\,=\dec@mcc}{}%
- \addto\extrasfrench{\mathcode`\,=\dec@mcc}}
+ \addto\extrasfrench{\mathcode`\,=\dec@mcc}}
\newcommand*{\StandardMathComma}{\mathcode`\,=\std@mcc
- \addto\extrasfrench{\mathcode`\,=\std@mcc}}
-\expandafter\addto\csname noextras\CurrentOption\endcsname{%
- \mathcode`\,=\std@mcc}
+ \addto\extrasfrench{\mathcode`\,=\std@mcc}}
+\addto\noextrasfrench{\mathcode`\,=\std@mcc}
\newcommand*{\nombre}[1]{{#1}\message{%
*** \noexpand\nombre no longer formats numbers\string! ***}}%
\let\FBstop@here\relax
-\def\FBclean@on@exit{\let\ifLaTeXe\@undefined
- \let\LaTeXetrue\@undefined
- \let\LaTeXefalse\@undefined}
+\def\FBclean@on@exit{\let\ifLaTeXe\undefined
+ \let\LaTeXetrue\undefined
+ \let\LaTeXefalse\undefined}
\ifx\magnification\@undefined
\else
\def\FBstop@here{\let\STD@makecaption\relax
@@ -397,7 +536,7 @@
see file numprint.pdf for other options.\MessageBreak
\protect\nombre\space called}%
\global\let\Warning@nombre\relax
- \global\let\numprint\relax
+ \global\let\numprint\undefined
}{}%
}
\newcommand*{\ThinSpaceInFrenchNumbers}{%
@@ -406,32 +545,36 @@
\MessageBreak Command \protect\ThinSpaceInFrenchNumbers\space
is no longer\MessageBreak defined in frenchb v.2,}}
\@namedef{captions\CurrentOption}{%
- \def\refname{R\'ef\'erences}%
- \def\abstractname{R\'esum\'e}%
+ \def\refname{R{\FBeacute}f{\FBeacute}rences}%
+ \def\abstractname{R{\FBeacute}sum{\FBeacute}}%
\def\bibname{Bibliographie}%
- \def\prefacename{Pr\'eface}%
+ \def\prefacename{Pr{\FBeacute}face}%
\def\chaptername{Chapitre}%
\def\appendixname{Annexe}%
- \def\contentsname{Table des mati\`eres}%
+ \def\contentsname{Table des mati{\FBegrave}res}%
\def\listfigurename{Table des figures}%
\def\listtablename{Liste des tableaux}%
\def\indexname{Index}%
\def\figurename{{\scshape Figure}}%
\def\tablename{{\scshape Table}}%
\def\partname{\protect\@Fpt partie}%
- \def\@Fpt{{\ifcase\value{part}\or Premi\`ere\or Deuxi\`eme\or
- Troisi\`eme\or Quatri\`eme\or Cinqui\`eme\or Sixi\`eme\or
- Septi\`eme\or Huiti\`eme\or Neuvi\`eme\or Dixi\`eme\or Onzi\`eme\or
- Douzi\`eme\or Treizi\`eme\or Quatorzi\`eme\or Quinzi\`eme\or
- Seizi\`eme\or Dix-septi\`eme\or Dix-huiti\`eme\or Dix-neuvi\`eme\or
- Vingti\`eme\fi}\space\def\thepart{}}%
+ \def\@Fpt{{\ifcase\value{part}\or Premi{\FBegrave}re\or
+ Deuxi{\FBegrave}me\or Troisi{\FBegrave}me\or
+ Quatri{\FBegrave}me\or Cinqui{\FBegrave}me\or
+ Sixi{\FBegrave}me\or Septi{\FBegrave}me\or Huiti{\FBegrave}me\or
+ Neuvi{\FBegrave}me\or Dixi{\FBegrave}me\or Onzi{\FBegrave}me\or
+ Douzi{\FBegrave}me\or Treizi{\FBegrave}me\or
+ Quatorzi{\FBegrave}me\or Quinzi{\FBegrave}me\or
+ Seizi{\FBegrave}me\or Dix-septi{\FBegrave}me\or
+ Dix-huiti{\FBegrave}me\or Dix-neuvi{\FBegrave}me\or
+ Vingti{\FBegrave}me\fi}\space\def\thepart{}}%
\def\pagename{page}%
- \def\seename{{\emph{voir}}}%
- \def\alsoname{{\emph{voir aussi}}}%
+ \def\seename{voir}%
+ \def\alsoname{voir aussi}%
\def\enclname{P.~J. }%
- \def\ccname{Copie \`a }%
+ \def\ccname{Copie {\FBagrave} }%
\def\headtoname{}%
- \def\proofname{D\'emonstration}%
+ \def\proofname{D{\FBeacute}monstration}%
\def\glossaryname{Glossaire}%
}
\AtBeginDocument{\let\captions@French\captionsfrench
@@ -459,6 +602,7 @@
\def\extrasacadian{\extrasfrench}%
\def\noextrasacadian{\noextrasfrench}%
}{}
+\newcommand{\FBWarning}[2]{\PackageWarning{#1}{#2}}
\def\CaptionSeparator{\string:\space}
\long\def\FB@makecaption#1#2{%
\vskip\abovecaptionskip
@@ -474,8 +618,9 @@
\ifx\@makecaption\STD@makecaption
\global\let\@makecaption\FB@makecaption
\else
- \@ifundefined{@makecaption}{}%
- {\PackageWarning{frenchb.ldf}%
+ \@ifundefined{@makecaption}%
+ {\let\@makecaption\undefined}%
+ {\FBWarning{frenchb.ldf}%
{The definition of \protect\@makecaption\space
has been changed,\MessageBreak
frenchb will NOT customise it;\MessageBreak reported}%
@@ -484,10 +629,10 @@
\let\FB@makecaption\relax
\let\STD@makecaption\relax
}
-\expandafter\addto\csname extras\CurrentOption\endcsname{%
+\addto\extrasfrench{%
\def\CaptionSeparator{\space\textendash\space}}
-\expandafter\addto\csname noextras\CurrentOption\endcsname{%
- \def\CaptionSeparator{\string:\space}}
+\addto\noextrasfrench{%
+ \def\CaptionSeparator{\string:\space}}
\let\listORI\list
\let\endlistORI\endlist
\def\FB@listsettings{%
@@ -559,17 +704,12 @@
\FB@enterFrenchtrue
\fi
}
-\AtBeginDocument{\ifx\@afterindentfalse\@afterindenttrue
- \let\@aifORI\@afterindenttrue
- \else \let\@aifORI\@afterindentfalse
- \fi
-}
\def\bbl@frenchindent{\let\@afterindentfalse\@afterindenttrue
\@afterindenttrue}
\def\bbl@nonfrenchindent{\let\@afterindentfalse\@aifORI
\@afterindentfalse}
\AtBeginDocument{\@ifpackageloaded{bigfoot}%
- {\PackageWarning{frenchb.ldf}%
+ {\FBWarning{frenchb.ldf}%
{bigfoot package in use.\MessageBreak
frenchb will NOT customise footnotes;\MessageBreak
reported}}%
@@ -642,13 +782,12 @@
\csname\ifmmode M\else T\fi dots@\endcsname}%
\@ifundefined{@xp}{\let\@xp\relax}{}%
\@ifundefined{mdots@}{\let\Tdots@ORI\textellipsis
- \let\Mdots@\mathellipsis}{}}
+ \let\Mdots@\mathellipsis
+ \let\mdots@\undefined}{}}
\def\bbl@frenchdots{\let\Tdots@\FBtextellipsis}
\def\bbl@nonfrenchdots{\let\Tdots@\Tdots@ORI}
-\expandafter\addto\csname extras\CurrentOption\endcsname{%
- \bbl@frenchdots}
-\expandafter\addto\csname noextras\CurrentOption\endcsname{%
- \bbl@nonfrenchdots}
+\addto\extrasfrench{\bbl@frenchdots}
+\addto\noextrasfrench{\bbl@nonfrenchdots}
\newif\ifFBStandardLayout \FBStandardLayouttrue
\newif\ifFBGlobalLayoutFrench \FBGlobalLayoutFrenchfalse
\newif\ifFBReduceListSpacing \FBReduceListSpacingfalse
@@ -664,6 +803,7 @@
\newif\ifFBFrenchSuperscripts \FBFrenchSuperscriptstrue
\newif\ifFBLowercaseSuperscripts \FBLowercaseSuperscriptstrue
\newif\ifFBPartNameFull \FBPartNameFulltrue
+\newif\ifFBSuppressWarning \FBSuppressWarningfalse
\newif\ifFBShowOptions \FBShowOptionsfalse
\AtEndOfPackage{%
\iflanguage{french}{\FBReduceListSpacingtrue
@@ -712,7 +852,8 @@
{\PackageWarning{frenchb.ldf}%
{Option `GlobalLayoutFrench' skipped:
\MessageBreak French is *not*
- babel's last option.\MessageBreak}}%
+ babel's last option.\MessageBreak}%
+ \FBGlobalLayoutFrenchfalse}%
\fi}%
\define@key{FB}{ReduceListSpacing}[true]%
{\csname FBReduceListSpacing#1\endcsname}%
@@ -761,69 +902,103 @@
{\csname FBLowercaseSuperscripts#1\endcsname}
\define@key{FB}{PartNameFull}[true]%
{\csname FBPartNameFull#1\endcsname}%
+ \define@key{FB}{SuppressWarning}[true]%
+ {\csname FBSuppressWarning#1\endcsname
+ \ifFBSuppressWarning
+ \renewcommand{\FBWarning}[2]{\relax}%
+ \else
+ \renewcommand{\FBWarning}[2]{%
+ \PackageWarning{##1}{##2}}%
+ \fi}
\define@key{FB}{ShowOptions}[true]%
{\csname FBShowOptions#1\endcsname}%
\define@key{FB}{og}{%
- \newcommand*{\FB@@og}{\iflanguage{french}%
- {\FB@og\ignorespaces}{\guillemotleft}}%
- \expandafter\ifx\csname XeTeXrevision\endcsname\relax
- \AtBeginDocument{%
- \@ifundefined{DeclareInputText}%
+ \newcommand*{\FB@@og}{%
+ \iflanguage{french}%
+ {\ifFBAutoSpaceGuill\FB@og\ignorespaces
+ \else\guillemotleft
+ \fi}%
+ {\guillemotleft}}%
+ \@ifundefined{XeTeXrevision}%
+ {\AtBeginDocument
+ {\@ifundefined{DeclareInputText}%
{\PackageWarning{frenchb.ldf}%
{Option `og' requires package inputenc.\MessageBreak}%
+ \let\DeclareInputText\undefined
}%
{\@ifundefined{uc@dclc}%
{\@ifundefined{DeclareUnicodeCharacter}%
{\@tempcnta`#1\relax
\@ifundefined{mule@def}%
- {\DeclareInputText{\the\@tempcnta}{\FB@@og}}%
+ {\DeclareInputText{\the\@tempcnta}{\FB@@og}%
+ \let\mule@def\undefined}%
{\mule@def{11}{{\FB@@og}}}%
+ \let\DeclareUnicodeCharacter\undefined
}%
{\DeclareUnicodeCharacter{00AB}{\FB@@og}}%
+ \let\uc@dclc\undefined
}%
{\uc@dclc{171}{default}{\FB@@og}}%
}%
+ }%
+ \let\XeTeXrevision\undefined
+ }%
+ {\ifFB@xetex@punct
+ \else
+ \catcode`#1=\active
+ \bgroup
+ \uccode`\~`#1%
+ \uppercase{%
+ \egroup
+ \def~%
+ }{\FB@@og}%
+ \fi
}%
- \else
- \catcode`#1=\active
- \bgroup
- \uccode`\~`#1%
- \uppercase{%
- \egroup
- \def~%
- }{\FB@@og}%
- \fi
}%
\define@key{FB}{fg}{%
- \newcommand*{\FB@@fg}{\iflanguage{french}%
- {\FB@fg}{\guillemotright}}%
- \expandafter\ifx\csname XeTeXrevision\endcsname\relax
- \AtBeginDocument{%
- \@ifundefined{DeclareInputText}%
+ \newcommand*{\FB@@fg}{%
+ \iflanguage{french}%
+ {\ifFBAutoSpaceGuill\FB@fg
+ \else\guillemotright
+ \fi}%
+ {\guillemotright}}%
+ \@ifundefined{XeTeXrevision}%
+ {\AtBeginDocument
+ {\@ifundefined{DeclareInputText}%
{\PackageWarning{frenchb.ldf}%
{Option `fg' requires package inputenc.\MessageBreak}%
+ \let\DeclareInputText\undefined
}%
{\@ifundefined{uc@dclc}%
{\@ifundefined{DeclareUnicodeCharacter}%
{\@tempcnta`#1\relax
\@ifundefined{mule@def}%
- {\DeclareInputText{\the\@tempcnta}{{\FB@@fg}}}%
+ {\DeclareInputText{\the\@tempcnta}{{\FB@@fg}}%
+ \let\mule@def\undefined
+ }%
{\mule@def{27}{{\FB@@fg}}}%
+ \let\DeclareUnicodeCharacter\undefined
+ }%
+ {\DeclareUnicodeCharacter{00BB}{{\FB@@fg}}%
}%
- {\DeclareUnicodeCharacter{00BB}{{\FB@@fg}}}%
+ \let\uc@dclc\undefined
}%
{\uc@dclc{187}{default}{{\FB@@fg}}}%
}%
+ }%
+ \let\XeTeXrevision\undefined
+ }%
+ {\ifFB@xetex@punct
+ \else
+ \catcode`#1=\active
+ \bgroup
+ \uccode`\~`#1%
+ \uppercase{%
+ \egroup
+ \def~%
+ }{{\FB@@fg}}%
+ \fi
}%
- \else
- \catcode`#1=\active
- \bgroup
- \uccode`\~`#1%
- \uppercase{%
- \egroup
- \def~%
- }{{\FB@@fg}}%
- \fi
}%
}
\newcommand*{\FBprocess@options}{%
@@ -843,16 +1018,22 @@
\addto\noextrasfrench{\let\list\listORI
\let\endlist\endlistORI}%
\fi
+ \@ifpackageloaded{enumitem}{%
+ \FBCompactItemizefalse
+ \FBWarning{frenchb.ldf}%
+ {Setting CompactItemize=false for compatibility\MessageBreak
+ with enumitem package,}}%
+ {}%
\ifFBCompactItemize
- \addto\extrasfrench{\let\itemize\itemizeFB
+ \addto\extrasfrench{\let\itemize\itemizeFB
\let\enditemize\enditemizeFB}%
- \addto\noextrasfrench{\ifFBGlobalLayoutFrench
+ \addto\noextrasfrench{\ifFBGlobalLayoutFrench
\let\itemize\itemizeFB
\let\enditemize\enditemizeFB
- \else
+ \else
\let\itemize\itemizeORI
\let\enditemize\enditemizeORI
- \fi}%
+ \fi}%
\else
\addto\extrasfrench{\let\itemize\itemizeORI
\let\enditemize\enditemizeORI}%
@@ -873,9 +1054,9 @@
\ifFBIndentFirst
\addto\extrasfrench{\bbl@frenchindent}%
\addto\noextrasfrench{\ifFBGlobalLayoutFrench
- \bbl@frenchindent
+ \bbl@frenchindent
\else
- \bbl@nonfrenchindent
+ \bbl@nonfrenchindent
\fi}%
\else
\addto\extrasfrench{\bbl@nonfrenchindent}%
@@ -892,7 +1073,7 @@
\let\rmfamily\rmfamilyFB
\let\sffamily\sffamilyFB
\fi
- \ifFBThinColonSpace\renewcommand*{\Fcolonspace}{\thinspace}\fi
+ \ifFBThinColonSpace\renewcommand*{\Fcolonspace}{\Fthinspace}\fi
\@ifpackageloaded{numprint}%
{\ifnprt@autolanguage
\providecommand*{\npstylefrench}{}%
@@ -938,6 +1119,7 @@
StandardLayout=true [false]\MessageBreak
GlobalLayoutFrench=false [true]\MessageBreak
StandardLists=true [false]\MessageBreak
+ IndentFirst=false [true]\MessageBreak
ReduceListSpacing=false [true]\MessageBreak
CompactItemize=false [true]\MessageBreak
StandardItemLabels=true [false]\MessageBreak
@@ -951,7 +1133,6 @@
\protect\ding{43},... [\textendash]\MessageBreak
ItemLabeliv=\textemdash, \textbullet,
\protect\ding{43},... [\textendash]\MessageBreak
- IndentFirst=false [true]\MessageBreak
FrenchFootnotes=false [true]\MessageBreak
AutoSpaceFootnotes=false [true]\MessageBreak
AutoSpacePunctuation=false [true]\MessageBreak
@@ -961,6 +1142,7 @@
FrenchSuperscripts=false [true]\MessageBreak
LowercaseSuperscripts=false [true]\MessageBreak
PartNameFull=false [true]\MessageBreak
+ SuppressWarning=true [false]\MessageBreak
og= <left quote character>, fg= <right quote character>
\MessageBreak
*********************************************
@@ -968,6 +1150,10 @@
\fi
}
\AtBeginDocument{%
+ \ifx\@afterindentfalse\@afterindenttrue
+ \let\@aifORI\@afterindenttrue
+ \else \let\@aifORI\@afterindentfalse
+ \fi
\let\listORI\list
\let\endlistORI\endlist
\let\itemizeORI\itemize
@@ -996,27 +1182,32 @@
\def\fg{\space\guillemotright}%
\let\bsc\textsc
\let\degres\degre
- }}%
+ }%
+ \let\pdfstringdefDisableCommands\undefined}%
\FBprocess@options
+ \let\bbl@nonfrenchspacingORI\bbl@nonfrenchspacing
+ \let\bbl@nonfrenchspacing\relax
\iflanguage{french}{\extrasfrench\captionsfrench}{\noextrasfrench}%
- \expandafter\ifx\csname XeTeXrevision\endcsname\relax
- \begingroup \newcommand{\FBOTone}{OT1}%
+ \let\bbl@nonfrenchspacing\bbl@nonfrenchspacingORI
+ \@ifundefined{XeTeXrevision}%
+ {\begingroup \newcommand{\FBOTone}{OT1}%
\ifx\encodingdefault\FBOTone
\PackageWarning{frenchb.ldf}%
{OT1 encoding should not be used for French.
\MessageBreak
Add \protect\usepackage[T1]{fontenc} to the
- preamble\MessageBreak of your document,}
+ preamble\MessageBreak of your document,}%
\fi
- \endgroup
- \else
- \@ifundefined{DeclareUTFcharacter}%
- {\PackageWarning{frenchb.ldf}%
- {Add \protect\usepackage{fontspec} *and*\MessageBreak
- \protect\usepackage{xunicode} to the preamble\MessageBreak
- of your document,}}%
- {}%
- \fi
+ \endgroup
+ \let\XeTeXrevision\undefined
+ }%
+ {\@ifundefined{DeclareUTFcharacter}%
+ {\PackageWarning{frenchb.ldf}%
+ {Add \protect\usepackage{xltxtra} to the\MessageBreak
+ preamble of your document,}%
+ \let\DeclareUTFcharacter\undefined}%
+ {}%
+ }%
}
\loadlocalcfg{frenchb}
\FBclean@on@exit
diff --git a/Master/texmf-dist/tex/generic/babel/romanidx.sty b/Master/texmf-dist/tex/generic/babel/romanidx.sty
index 851b5c370dd..a6b284f5b41 100644
--- a/Master/texmf-dist/tex/generic/babel/romanidx.sty
+++ b/Master/texmf-dist/tex/generic/babel/romanidx.sty
@@ -7,7 +7,7 @@
%% spanish.dtx (with options: `indexes')
%% This is a generated file.
%%
-%% Copyright 1989-2009 Johannes L. Braams and any individual authors
+%% Copyright 1989-2011 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.
@@ -38,10 +38,10 @@
%% extension .ins) which are part of the distribution.
%% File `spanish.dtx'
%% Babel package for LaTeX version 2e
-%% Copyright (C) 1989 - 2008
+%% Copyright (C) 1989 - 2011
%% by Johannes Braams, TeXniek
%% Spanish Language Definition File
-%% Copyright (C) 1997 - 2009
+%% Copyright (C) 1997 - 2011
%% Javier Bezos (www.tex-tipografia.com)
%% and
%% CervanTeX (www.cervantex.es)
@@ -137,7 +137,7 @@
\newif\ifes@encapsulated
-\def\es@roman#1{#1}
+\def\es@scroman#1{#1}
\edef\es@slash{\expandafter\@gobble\string\\}
\def\indexentry{%
@@ -162,7 +162,7 @@
\lowercase{
\gdef\es@idxentry#1{%
- \in@{\es@roman}{#1}%
+ \in@{\es@scroman}{#1}%
\ifin@
\advance\es@converted\@ne
\immediate\write\es@indexfile{%
diff --git a/Master/texmf-dist/tex/generic/babel/spanish.ldf b/Master/texmf-dist/tex/generic/babel/spanish.ldf
index 1dbbe470a69..73f2493886c 100644
--- a/Master/texmf-dist/tex/generic/babel/spanish.ldf
+++ b/Master/texmf-dist/tex/generic/babel/spanish.ldf
@@ -7,7 +7,7 @@
%% spanish.dtx (with options: `code')
%% This is a generated file.
%%
-%% Copyright 1989-2009 Johannes L. Braams and any individual authors
+%% Copyright 1989-2011 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.
@@ -38,10 +38,10 @@
%% extension .ins) which are part of the distribution.
%% File `spanish.dtx'
%% Babel package for LaTeX version 2e
-%% Copyright (C) 1989 - 2008
+%% Copyright (C) 1989 - 2011
%% by Johannes Braams, TeXniek
%% Spanish Language Definition File
-%% Copyright (C) 1997 - 2009
+%% Copyright (C) 1997 - 2011
%% Javier Bezos (www.tex-tipografia.com)
%% and
%% CervanTeX (www.cervantex.es)
@@ -52,14 +52,16 @@
\ProvidesLanguage{spanish.ldf}
- [2009/01/02 v5.0h Spanish support from the babel system]
+ [2011/10/06 v5.0k Spanish support from the babel system]
\LdfInit{spanish}\captionsspanish
\edef\es@savedcatcodes{%
\catcode`\noexpand\~=\the\catcode`\~
- \catcode`\noexpand\"=\the\catcode`\"}
+ \catcode`\noexpand\"=\the\catcode`\"
+ \catcode`\noexpand\:=\the\catcode`\:}
\catcode`\~=\active
\catcode`\"=12
+\catcode`\:=12
\ifx\undefined\l@spanish
\@nopatterns{Spanish}
@@ -67,6 +69,7 @@
\fi
\def\es@sdef#1{\babel@save#1\def#1}
+\def\es@sDRC#1{\babel@save#1\DeclareRobustCommand*#1}
\@ifundefined{documentclass}
{\let\ifes@latex\iffalse}
@@ -208,7 +211,7 @@
\fi
\csname es@restorelist\endcsname}
-\addto\textspanish{\es@sdef\sptext{\protect\es@sptext}}
+\addto\textspanish{\es@sDRC\sptext{\es@sptext}}
\def\es@orddot{.}
\ifes@latex
@@ -244,7 +247,7 @@
\fi}}
\fi
\ifes@latex
- \addto\textspanish{\es@sdef\lsc{\protect\es@lsc}}
+ \addto\textspanish{\es@sDRC\lsc{\es@lsc}}
\def\es@lsc{\es@xlsc\MakeUppercase\MakeLowercase}
\def\es@xlsc#1#2#3{%
\leavevmode
@@ -300,14 +303,14 @@
\addto\notextspanish{\bbl@nonfrenchspacing}
\addto\textspanish{%
\let\es@save@dot\.%
- \es@sdef\.{\@ifnextchar.{\es@dots}{\es@save@dot}}}
+ \es@sDRC\.{\@ifnextchar.{\es@dots}{\es@save@dot}}}
\def\es@dots..{\leavevmode\hbox{...}\spacefactor\@M}
\def\es@sppercent{\unskip\textormath{$\m@th\,$}{\,}}
\def\spanishplainpercent{\let\es@sppercent\@empty}
\addto\textspanish{%
\let\percentsign\%%
- \es@sdef\%{\es@sppercent\percentsign{}}}
-\addto\mathspanish{\es@sdef\dotlessi{\protect\es@dotlessi}}
+ \es@sDRC\%{\es@sppercent\percentsign{}}}
+\addto\mathspanish{\es@sDRC\dotlessi{\es@dotlessi}}
\let\nomathspanish\relax
\ifes@latex
@@ -407,14 +410,14 @@
\fi}
\def\es@use@shorthand{%
- \ifx\thepage\relax
+ \if@safe@actives
\bbl@afterelse
\string
\else
\bbl@afterfi
- {\ifx\protect\@unexpandable@protect
+ {\ifx\thepage\relax
\bbl@afterelse
- \noexpand
+ \string
\else
\bbl@afterfi
\es@use@sh
@@ -422,9 +425,9 @@
\fi}
\def\es@use@sh#1{%
- \if@safe@actives
+ \ifx\protect\@unexpandable@protect
\bbl@afterelse
- \string#1%
+ \noexpand#1%
\else%
\bbl@afterfi
\textormath
@@ -444,7 +447,8 @@
\def\es@spdeactivate#1{%
\if.#1%
- \mathcode`\.=\es@period@code
+ \mathcode`\.=\es@period@math\relax
+ \begingroup\lccode`\~=`\.\lowercase{\endgroup\let~\es@period@code}%
\else
\begingroup
\lccode`\~=`#1
@@ -569,17 +573,27 @@
\decimalcomma
\es@ifoption{nodecimaldot}{}
{\AtBeginDocument{\bgroup\@fileswfalse}%
- \es@set@shorthand{.}%
+ \begingroup\lccode`\~=`\.\lowercase{\endgroup
+ \let\es@period@code~%
+ \es@set@shorthand{.}%
+ \let~\es@period@code}%
\AtBeginDocument{\egroup}%
\@namedef{normal@char\string.}{%
\@ifnextchar\egroup
- {\mathchar\es@period@code\relax}%
+ {\es@period@code}%
{\csname active@char\string.\endcsname}}%
- \declare@shorthand{system}{.}{\mathchar\es@period@code\relax}%
+ \declare@shorthand{system}{.}{\es@period@code}%
\addto\shorthandsspanish{%
- \mathchardef\es@period@code\the\mathcode`\.%
\babel@savevariable{\mathcode`\.}%
- \mathcode`\.="8000 %
+ \edef\es@period@math{\the\mathcode`\.}%
+ \babel@save\es@period@code
+ \ifnum\es@period@math="8000
+ \begingroup\lccode`\~=`\.\lowercase{\endgroup\let\es@period@code~}%
+ \else
+ \mathchardef\es@period@code\es@period@math\relax
+ \mathcode`\.="8000 %
+ \fi
+ \begingroup\lccode`\~=`\.\lowercase{\endgroup\babel@save~}%
\es@activate{.}}%
\def\es@a#1{\es@declare{.#1}{\es@decimal#1}}%
\es@a1\es@a2\es@a3\es@a4\es@a5\es@a6\es@a7\es@a8\es@a9\es@a0}
@@ -740,7 +754,7 @@
\def\esromanindex##1##2{##1{\uppercase{##2}}}%
\def\@roman{\@Roman}}}
{\def\es@romandef{%
- \def\esromanindex##1##2{##1{\protect\es@roman{##2}}}%
+ \def\esromanindex##1##2{##1{\es@scroman{##2}}}%
\def\@roman##1{\es@roman{\number##1}}%
\def\es@roman##1{\es@scroman{\romannumeral##1}}%
\DeclareRobustCommand\es@scroman{\es@xlsc\uppercase\@firstofone}}}