From bba76463404fff64f60e097886fa196b973ce539 Mon Sep 17 00:00:00 2001
From: John MacFarlane <jgm@berkeley.edu>
Date: Fri, 15 Dec 2017 12:16:40 -0800
Subject: [PATCH] LaTeX writer: use \renewcommand for \textlatin with babel.

This avoids a clash with a deprecated \textlatin command defined
in Babel.  Closes #4161.
---
 src/Text/Pandoc/Writers/LaTeX.hs | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs
index 3b2cd214e..666aea07c 100644
--- a/src/Text/Pandoc/Writers/LaTeX.hs
+++ b/src/Text/Pandoc/Writers/LaTeX.hs
@@ -276,10 +276,13 @@ pandocToLaTeX options (Pandoc meta blocks) = do
                     "\\AddBabelHook{" ++ poly ++ "}{afterextras}" ++
                       "{\\renewcommand{\\text" ++ poly ++ "}[2][]{\\foreignlanguage{"
                       ++ poly ++ "}{##2}}}\n"
-               else "\\newcommand{\\text" ++ poly ++ "}[2][]{\\foreignlanguage{"
-                      ++ babel ++ "}{#2}}\n" ++
-                    "\\newenvironment{" ++ poly ++ "}[2][]{\\begin{otherlanguage}{"
-                      ++ babel ++ "}}{\\end{otherlanguage}}\n"
+               else (if poly == "latin" -- see #4161
+                        then "\\providecommand{\\textlatin}{}\n\\renewcommand"
+                        else "\\newcommand") ++ "{\\text" ++ poly ++
+                    "}[2][]{\\foreignlanguage{" ++ babel ++ "}{#2}}\n" ++
+                    "\\newenvironment{" ++ poly ++
+                    "}[2][]{\\begin{otherlanguage}{" ++
+                    babel ++ "}}{\\end{otherlanguage}}\n"
             )
             -- eliminate duplicates that have same polyglossia name
             $ nubBy (\a b -> fst a == fst b)