@@ -429,7 +429,6 @@ inline = choice [ str
429429 , whitespace
430430 , quoted
431431 , apostrophe
432− , spacer
433432 , strong
434433 , math
435434 , ellipses
@@ -547,7 +546,15 @@ unescapedChar :: GenParser Char st Inline
547546unescapedChar = oneOf "`$^&_#{}|<>" >>= return . (\c -> Str [c])
548547
549548specialChar :: GenParser Char st Inline
550−specialChar = choice [ backslash, tilde, caret, bar, lt, gt, doubleQuote ]
549+specialChar = choice [ spacer, interwordSpace,
550+ backslash, tilde, caret,
551+ bar, lt, gt, doubleQuote ]
552+
553+spacer :: GenParser Char st Inline
554+spacer = try (string "\\,") >> return (Str "")
555+
556+interwordSpace :: GenParser Char st Inline
557+interwordSpace = try (string "\\ ") >> return (Str "\160")
551558
552559backslash :: GenParser Char st Inline
553560backslash = try (string "\\textbackslash") >> optional (try $ string "{}") >> return (Str "\\")
@@ -670,9 +677,6 @@ whitespace = many1 (oneOf "~ \t") >> return Space
670677linebreak :: GenParser Char st Inline
671678linebreak = try (string "\\\\") >> return LineBreak
672679
673−spacer :: GenParser Char st Inline
674−spacer = try (string "\\,") >> return (Str "")
675−
676680str :: GenParser Char st Inline
677681str = many1 (noneOf specialChars) >>= return . Str
678682