diff --git a/lib/languages b/lib/languages index 58c85ccfb4..3101ee3990 100644 --- a/lib/languages +++ b/lib/languages @@ -498,6 +498,7 @@ Language canadien BabelName acadian PolyglossiaName french PolyglossiaOpts "variant=canadian" + ActiveChars ;!?: XindyName french QuoteStyle french Encoding iso8859-15 @@ -705,6 +706,7 @@ Language french GuiName "French" HasGuiSupport true BabelName french + ActiveChars ;!?: PolyglossiaName french XindyName french QuoteStyle french diff --git a/src/LaTeXFeatures.cpp b/src/LaTeXFeatures.cpp index 364a4921e1..0e678ea62a 100644 --- a/src/LaTeXFeatures.cpp +++ b/src/LaTeXFeatures.cpp @@ -1284,6 +1284,14 @@ string const LaTeXFeatures::getPackages() const // The rest of these packages are somewhat more complicated // than those above. + // Babel languages with activated colon (such as French) break + // with prettyref. Work around that. + if (!runparams_.isFullUnicode() && useBabel() + && mustProvide("prettyref") && contains(getActiveChars(), ':')) { + packages << "% Make prettyref compatible with babel active colon\n" + << "\\def\\prettyref#1{\\expandafter\\@prettyref\\detokenize{#1:}}\n"; + } + if (mustProvide("changebar")) { packages << "\\usepackage"; if (runparams_.flavor == Flavor::LaTeX