diff options
author | John MacFarlane <jgm@berkeley.edu> | 2019-03-29 10:04:22 -0700 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2019-03-29 10:04:22 -0700 |
commit | 93ee73e1dc0405ddf71417d907656c2a8726f133 (patch) | |
tree | f3fe6f16220dbbc4c7ca45e650af2e83ce771d4c | |
parent | 5fa4ea8eb1e712f95a1c273e36dd4bbef19d6bc9 (diff) | |
download | pandoc-93ee73e1dc0405ddf71417d907656c2a8726f133.tar.gz |
LaTeX writer: Avoid inadvertently creating ?` or !` ligatures.
These are upside down ? and !, resp.
Closes #5407.
-rw-r--r-- | src/Text/Pandoc/Writers/LaTeX.hs | 8 | ||||
-rw-r--r-- | test/command/5407.md | 14 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs index 0ef04db3f..d0c08815c 100644 --- a/src/Text/Pandoc/Writers/LaTeX.hs +++ b/src/Text/Pandoc/Writers/LaTeX.hs @@ -340,6 +340,14 @@ stringToLaTeX context zs = do -> cs <> xs _ -> cs <> "{}" <> xs in case x of + '?' | ligatures -> -- avoid ?` ligature + case xs of + '`':_ -> emits "?{}" + _ -> emitc x + '!' | ligatures -> -- avoid !` ligature + case xs of + '`':_ -> emits "!{}" + _ -> emitc x '{' -> emits "\\{" '}' -> emits "\\}" '`' | ctx == CodeString -> emitcseq "\\textasciigrave" diff --git a/test/command/5407.md b/test/command/5407.md new file mode 100644 index 000000000..ac9bed29d --- /dev/null +++ b/test/command/5407.md @@ -0,0 +1,14 @@ +``` +% pandoc -t latex --wrap=preserve +hi there?“ +hi there!“ +hi there?‘ +hi there!‘ +hi there! +^D +hi there?{}`` +hi there!{}`` +hi there?{}` +hi there!{}` +hi there! +``` |