aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2019-08-14 11:05:01 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2019-08-14 11:07:02 -0700
commit0b2fb9b8f952f20000e48c19527f35c2a16dddb1 (patch)
treeb20e50740db028cc80baa1223c18b4d19d51027b /src
parentace4cdfc2333f2b7feae4b928d62aa86cd1e58d9 (diff)
downloadpandoc-0b2fb9b8f952f20000e48c19527f35c2a16dddb1.tar.gz
Add thin space when needed in LaTeX quote ligatures.
Closes #5685.
Diffstat (limited to 'src')
-rw-r--r--src/Text/Pandoc/Writers/LaTeX.hs13
1 files changed, 9 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