diff options
-rw-r--r-- | src/Text/Pandoc/Writers/LaTeX.hs | 13 | ||||
-rw-r--r-- | test/command/5685.md | 6 |
2 files changed, 15 insertions, 4 deletions
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 diff --git a/test/command/5685.md b/test/command/5685.md new file mode 100644 index 000000000..e723f755f --- /dev/null +++ b/test/command/5685.md @@ -0,0 +1,6 @@ +``` +% pandoc -f native -t latex +[Str "\8222\8218Der",Space,Str "Erz\228hler.",Space,Str "Betrachtungen",Space,Str "zum",Space,Str "Werk",Space,Str "Nikolai",Space,Str "Lesskows\8216\8220."] +^D +„‚Der Erzähler. Betrachtungen zum Werk Nikolai Lesskows`\,``. +``` |