diff options
author | fiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b> | 2008-07-11 01:24:15 +0000 |
---|---|---|
committer | fiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b> | 2008-07-11 01:24:15 +0000 |
commit | 8ed710bc9d771a25e73be2582b379485a3e240dc (patch) | |
tree | eb086d34e2863a3af8e0dfa42f05290c83992cdb /Text | |
parent | 275f9dc94c1ff15e2fafae9e3b5fe7bab2d9c88f (diff) | |
download | pandoc-8ed710bc9d771a25e73be2582b379485a3e240dc.tar.gz |
Treat '\ ' in (extended) markdown as nonbreaking space.
Print nonbreaking space appropriately in each writer (e.g. ~ in LaTeX).
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1297 788f1e2b-df1e-0410-8736-df70ead52e1b
Diffstat (limited to 'Text')
-rw-r--r-- | Text/Pandoc/Readers/Markdown.hs | 5 | ||||
-rw-r--r-- | Text/Pandoc/Writers/ConTeXt.hs | 29 | ||||
-rw-r--r-- | Text/Pandoc/Writers/LaTeX.hs | 1 | ||||
-rw-r--r-- | Text/Pandoc/Writers/Texinfo.hs | 1 |
4 files changed, 21 insertions, 15 deletions
diff --git a/Text/Pandoc/Readers/Markdown.hs b/Text/Pandoc/Readers/Markdown.hs index 7c4a778fe..c9fbbe2d9 100644 --- a/Text/Pandoc/Readers/Markdown.hs +++ b/Text/Pandoc/Readers/Markdown.hs @@ -733,7 +733,10 @@ escapedChar = do result <- option '\\' $ if stateStrict state then oneOf "\\`*_{}[]()>#+-.!~" else satisfy (not . isAlphaNum) - return $ Str [result] + let result' = if result == ' ' + then '\160' -- '\ ' is a nonbreaking space + else result + return $ Str [result'] ltSign = do st <- getState diff --git a/Text/Pandoc/Writers/ConTeXt.hs b/Text/Pandoc/Writers/ConTeXt.hs index 1695d70e7..35314758a 100644 --- a/Text/Pandoc/Writers/ConTeXt.hs +++ b/Text/Pandoc/Writers/ConTeXt.hs @@ -102,20 +102,21 @@ contextHeader options (Meta title authors date) = do escapeCharForConTeXt :: Char -> String escapeCharForConTeXt ch = case ch of - '{' -> "\\letteropenbrace{}" - '}' -> "\\letterclosebrace{}" - '\\' -> "\\letterbackslash{}" - '$' -> "\\$" - '|' -> "\\letterbar{}" - '^' -> "\\letterhat{}" - '%' -> "\\%" - '~' -> "\\lettertilde{}" - '&' -> "\\&" - '#' -> "\\#" - '<' -> "\\letterless{}" - '>' -> "\\lettermore{}" - '_' -> "\\letterunderscore{}" - x -> [x] + '{' -> "\\letteropenbrace{}" + '}' -> "\\letterclosebrace{}" + '\\' -> "\\letterbackslash{}" + '$' -> "\\$" + '|' -> "\\letterbar{}" + '^' -> "\\letterhat{}" + '%' -> "\\%" + '~' -> "\\lettertilde{}" + '&' -> "\\&" + '#' -> "\\#" + '<' -> "\\letterless{}" + '>' -> "\\lettermore{}" + '_' -> "\\letterunderscore{}" + '\160' -> "~" + x -> [x] -- | Escape string for ConTeXt stringToConTeXt :: String -> String diff --git a/Text/Pandoc/Writers/LaTeX.hs b/Text/Pandoc/Writers/LaTeX.hs index a2e6eec2c..686e98cf4 100644 --- a/Text/Pandoc/Writers/LaTeX.hs +++ b/Text/Pandoc/Writers/LaTeX.hs @@ -116,6 +116,7 @@ stringToLaTeX = escapeStringUsing latexEscapes , ('|', "\\textbar{}") , ('<', "\\textless{}") , ('>', "\\textgreater{}") + , ('\160', "~") ] -- | Puts contents into LaTeX command. diff --git a/Text/Pandoc/Writers/Texinfo.hs b/Text/Pandoc/Writers/Texinfo.hs index ac8778274..513fae847 100644 --- a/Text/Pandoc/Writers/Texinfo.hs +++ b/Text/Pandoc/Writers/Texinfo.hs @@ -123,6 +123,7 @@ stringToTexinfo = escapeStringUsing texinfoEscapes , ('}', "@}") , ('@', "@@") , (',', "@comma{}") -- only needed in argument lists + , ('\160', "@ ") ] -- | Puts contents into Texinfo command. |