latex template: disable language-specific shorthands in babel.
Babel defines "shorthands" for some languages, and these can produce unexpected results. For example, in Spanish, `1.22` gets rendered as `122`, and `et~al.` as `etal`. One would think that babel's `shorthands=off` option (which we were using) would disable these, but it doesn't. So we remove `shorthands=off` and add some code that redefines the shorthands macro. Eventually this will be fixed in babel, I hope, and we can revert to something simpler. Closes #6817, closes #6887.
This commit is contained in:
parent
bfb2a492c8
commit
e26d31d56b
2 changed files with 8 additions and 2 deletions
|
@ -336,7 +336,10 @@ $for(polyglossia-otherlangs)$
|
|||
\setotherlanguage[$for(polyglossia-otherlangs.options)$$polyglossia-otherlangs.options$$sep$,$endfor$]{$polyglossia-otherlangs.name$}
|
||||
$endfor$
|
||||
\else
|
||||
\usepackage[shorthands=off,$for(babel-otherlangs)$$babel-otherlangs$,$endfor$main=$babel-lang$]{babel}
|
||||
\usepackage[$for(babel-otherlangs)$$babel-otherlangs$,$endfor$main=$babel-lang$]{babel}
|
||||
% get rid of language-specific shorthands (see #6817):
|
||||
\let\LanguageShortHands\languageshorthands
|
||||
\def\languageshorthands#1{}
|
||||
$if(babel-newcommands)$
|
||||
$babel-newcommands$
|
||||
$endif$
|
||||
|
|
|
@ -56,7 +56,10 @@
|
|||
\setotherlanguage[]{spanish}
|
||||
\setotherlanguage[]{french}
|
||||
\else
|
||||
\usepackage[shorthands=off,ngerman,british,nswissgerman,spanish,french,main=english]{babel}
|
||||
\usepackage[ngerman,british,nswissgerman,spanish,french,main=english]{babel}
|
||||
% get rid of language-specific shorthands (see #6817):
|
||||
\let\LanguageShortHands\languageshorthands
|
||||
\def\languageshorthands#1{}
|
||||
\newcommand{\textgerman}[2][]{\foreignlanguage{ngerman}{#2}}
|
||||
\newenvironment{german}[2][]{\begin{otherlanguage}{ngerman}}{\end{otherlanguage}}
|
||||
\newcommand{\textenglish}[2][]{\foreignlanguage{british}{#2}}
|
||||
|
|
Loading…
Reference in a new issue