aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2020-11-25 08:25:30 -0800
committerJohn MacFarlane <jgm@berkeley.edu>2020-11-25 08:25:30 -0800
commite26d31d56bc61553d5d6153f2130184643869877 (patch)
tree8ff245f31b73c83926292962e7cbe1bbb39b402b
parentbfb2a492c86f47833e530a0b8baf167b119f9138 (diff)
downloadpandoc-e26d31d56bc61553d5d6153f2130184643869877.tar.gz
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.
-rw-r--r--data/templates/default.latex5
-rw-r--r--test/writers-lang-and-dir.latex5
2 files changed, 8 insertions, 2 deletions
diff --git a/data/templates/default.latex b/data/templates/default.latex
index aad9ee36c..f7d2f0eac 100644
--- a/data/templates/default.latex
+++ b/data/templates/default.latex
@@ -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$
diff --git a/test/writers-lang-and-dir.latex b/test/writers-lang-and-dir.latex
index 91f4be8c1..05465e581 100644
--- a/test/writers-lang-and-dir.latex
+++ b/test/writers-lang-and-dir.latex
@@ -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}}