From 0b2fb9b8f952f20000e48c19527f35c2a16dddb1 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Wed, 14 Aug 2019 11:05:01 -0700 Subject: Add thin space when needed in LaTeX quote ligatures. Closes #5685. --- src/Text/Pandoc/Writers/LaTeX.hs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/Text/Pandoc/Writers/LaTeX.hs') diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs index 2f832b45b..232b0020c 100644 --- a/src/Text/Pandoc/Writers/LaTeX.hs +++ b/src/Text/Pandoc/Writers/LaTeX.hs @@ -333,6 +333,11 @@ stringToLaTeX context zs = do | ctx == TextString -> cs <> xs _ -> cs <> "{}" <> xs + emitquote cs = do + case xs of + '`':_ -> cs <> "\\," <> xs -- add thin space + '\'':_ -> cs <> "\\," <> xs -- add thin space + _ -> cs <> xs in case x of '?' | ligatures -> -- avoid ?` ligature case xs of @@ -367,10 +372,10 @@ stringToLaTeX context zs = do '\160' -> emits "~" '\x202F' -> emits "\\," '\x2026' -> emitcseq "\\ldots" - '\x2018' | ligatures -> emits "`" - '\x2019' | ligatures -> emits "'" - '\x201C' | ligatures -> emits "``" - '\x201D' | ligatures -> emits "''" + '\x2018' | ligatures -> emitquote "`" + '\x2019' | ligatures -> emitquote "'" + '\x201C' | ligatures -> emitquote "``" + '\x201D' | ligatures -> emitquote "''" '\x2014' | ligatures -> emits "---" '\x2013' | ligatures -> emits "--" _ | writerPreferAscii opts -- cgit v1.2.3