aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b>2006-10-30 23:15:28 +0000
committerfiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b>2006-10-30 23:15:28 +0000
commit3dbd266d21f94aebce5cd458f6d632bac79804ec (patch)
tree1f42e3ddca2c4d872fb697e642dc71356ca5d891
parent10633afb8d1eb066f97d6a09f8f5ff1fc4630a1e (diff)
downloadpandoc-3dbd266d21f94aebce5cd458f6d632bac79804ec.tar.gz
Improved LaTeX writer's handling of dashes:
+ Recognize a double hyphen as an Em-dash, even when it occurs next to punctuation (e.g. a quotation mark). + Collapse space around Em-dashes. + Process quotes before dashes. This way (foo -- 'bar') will turn into (foo---`bar') instead of (foo---'bar'). git-svn-id: https://pandoc.googlecode.com/svn/trunk@49 788f1e2b-df1e-0410-8736-df70ead52e1b
-rw-r--r--src/Text/Pandoc/Writers/LaTeX.hs6
-rw-r--r--tests/writer.latex2
2 files changed, 4 insertions, 4 deletions
diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs
index b77789e90..0674652cf 100644
--- a/src/Text/Pandoc/Writers/LaTeX.hs
+++ b/src/Text/Pandoc/Writers/LaTeX.hs
@@ -78,10 +78,10 @@ escapeSingleQuotes =
escapeEllipses = gsub "\\.\\.\\.|\\. \\. \\." "\\ldots{}"
escapeDashes = gsub "([0-9])-([0-9])" "\\1--\\2" .
- gsub " -- " "---" .
- gsub "([^[:punct:][:space:]])--([^[:punct:][:space:]])" "\\1---\\2"
+ gsub " *--- *" "---" .
+ gsub "([^-])--([^-])" "\\1---\\2"
-escapeSmart = escapeSingleQuotes . escapeDoubleQuotes . escapeDashes . escapeEllipses
+escapeSmart = escapeDashes . escapeSingleQuotes . escapeDoubleQuotes . escapeEllipses
-- | Escape string for LaTeX (including smart quotes, dashes, ellipses)
stringToLaTeX :: String -> String
diff --git a/tests/writer.latex b/tests/writer.latex
index 6f3efc710..7f632cb6d 100644
--- a/tests/writer.latex
+++ b/tests/writer.latex
@@ -383,7 +383,7 @@ This is code: \verb!>!, \verb!$!, \verb!\!, \verb!\$!, \verb!<html>!.
Here is some quoted `\verb!code!' and a ``\href{http://example.com/?foo=1&bar=2}{quoted link}''.
-Some dashes: one---two --- three---four---five.
+Some dashes: one---two---three---four---five.
Dashes between numbers: 5--7, 255--66, 1987--1999.