From 0b3b77415f8971f21a77ef1f15e06bfb30a7b365 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Wed, 14 Oct 2020 10:22:15 -0700 Subject: [PATCH] Modify fix to #6742 to use stringToLaTeX. --- src/Text/Pandoc/Writers/LaTeX.hs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs index 965395d7cce7..28b4efca4719 100644 --- a/src/Text/Pandoc/Writers/LaTeX.hs +++ b/src/Text/Pandoc/Writers/LaTeX.hs @@ -1,4 +1,5 @@ {-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE TupleSections #-} {-# LANGUAGE PatternGuards #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE ViewPatterns #-} @@ -635,7 +636,8 @@ blockToLaTeX (CodeBlock (identifier,classes,keyvalAttr) str) = do let listingsCodeBlock = do st <- get ref <- toLabel identifier - let esc = escapeStringUsing (backslashEscapes "\\{}%~_&#^") + kvs <- mapM (\(k,v) -> (k,) <$> + stringToLaTeX TextString v) keyvalAttr let params = if writerListings (stOptions st) then (case getListingsLanguage classes of Just l -> [ "language=" <> mbBraced l ] @@ -645,8 +647,8 @@ blockToLaTeX (CodeBlock (identifier,classes,keyvalAttr) str) = do || "number-lines" `elem` classes ] ++ [ (if key == "startFrom" then "firstnumber" - else key) <> "=" <> mbBraced (esc attr) | - (key,attr) <- keyvalAttr, + else key) <> "=" <> mbBraced attr | + (key,attr) <- kvs, key `notElem` ["exports", "tangle", "results"] -- see #4889 ] ++