Add thin space when needed in LaTeX quote ligatures.

Closes #5685.
This commit is contained in:
John MacFarlane 2019-08-14 11:05:01 -07:00
parent ace4cdfc23
commit 0b2fb9b8f9
2 changed files with 15 additions and 4 deletions

View file

@ -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

6
test/command/5685.md Normal file
View file

@ -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`\,``.
```