LaTeX reader: handle \ (interword space).

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1846 788f1e2b-df1e-0410-8736-df70ead52e1b
This commit is contained in:
fiddlosopher 2010-02-27 02:35:46 +00:00
parent 4ded477409
commit d3f1ddf57e

View file

@ -429,7 +429,6 @@ inline = choice [ str
, whitespace
, quoted
, apostrophe
, spacer
, strong
, math
, ellipses
@ -547,7 +546,15 @@ unescapedChar :: GenParser Char st Inline
unescapedChar = oneOf "`$^&_#{}|<>" >>= return . (\c -> Str [c])
specialChar :: GenParser Char st Inline
specialChar = choice [ backslash, tilde, caret, bar, lt, gt, doubleQuote ]
specialChar = choice [ spacer, interwordSpace,
backslash, tilde, caret,
bar, lt, gt, doubleQuote ]
spacer :: GenParser Char st Inline
spacer = try (string "\\,") >> return (Str "")
interwordSpace :: GenParser Char st Inline
interwordSpace = try (string "\\ ") >> return (Str "\160")
backslash :: GenParser Char st Inline
backslash = try (string "\\textbackslash") >> optional (try $ string "{}") >> return (Str "\\")
@ -670,9 +677,6 @@ whitespace = many1 (oneOf "~ \t") >> return Space
linebreak :: GenParser Char st Inline
linebreak = try (string "\\\\") >> return LineBreak
spacer :: GenParser Char st Inline
spacer = try (string "\\,") >> return (Str "")
str :: GenParser Char st Inline
str = many1 (noneOf specialChars) >>= return . Str