@@ -472,19 +472,27 @@ sect = try (do
472472 return (Str [chr 167]))
473473
474474escapedChar = do
475− result <- escaped (oneOf " $%^&_#{}\n")
475+ result <- escaped (oneOf " $%&_#{}\n")
476476 return (if result == Str "\n" then Str " " else result)
477477
478478unescapedChar = do -- ignore standalone, nonescaped special characters
479479 oneOf "$^&_#{}|<>"
480480 return (Str "")
481481
482−specialChar = choice [ backslash, bar, lt, gt ]
482+specialChar = choice [ backslash, tilde, caret, bar, lt, gt ]
483483
484484backslash = try (do
485485 string "\\textbackslash"
486486 return (Str "\\"))
487487
488+tilde = try (do
489+ string "\\ensuremath{\\sim}"
490+ return (Str "~"))
491+
492+caret = try (do
493+ string "\\^{}"
494+ return (Str "^"))
495+
488496bar = try (do
489497 string "\\textbar"
490498 return (Str "\\"))