- docstring const backslash = textmode ? from_ascii("\\textbackslash ")
- : from_ascii("\\backslash ");
- docstring const caret = textmode ? from_ascii("\\textasciicircum ")
- : from_ascii("\\mathcircumflex ");
-
- return subst(subst(subst(subst(subst(subst(subst(subst(subst(str,
- from_ascii("\\"), backslash),
- from_ascii("^"), caret),
- from_ascii("_"), from_ascii("\\_")),
- from_ascii("$"), from_ascii("\\$")),
- from_ascii("#"), from_ascii("\\#")),
- from_ascii("&"), from_ascii("\\&")),
- from_ascii("%"), from_ascii("\\%")),
- from_ascii("{"), from_ascii("\\{")),
- from_ascii("}"), from_ascii("\\}"));
+ docstring const backslash = textmode ? from_ascii("\\textbackslash")
+ : from_ascii("\\backslash");
+ docstring const caret = textmode ? from_ascii("\\textasciicircum")
+ : from_ascii("\\mathcircumflex");
+ docstring const tilde = textmode ? from_ascii("\\textasciitilde")
+ : from_ascii("\\sim");
+
+ return repl(repl(repl(repl(repl(repl(repl(repl(repl(repl(str,
+ '\\', backslash, textmode),
+ '^', caret, textmode),
+ '~', tilde, textmode),
+ '_', from_ascii("\\_")),
+ '$', from_ascii("\\$")),
+ '#', from_ascii("\\#")),
+ '&', from_ascii("\\&")),
+ '%', from_ascii("\\%")),
+ '{', from_ascii("\\{")),
+ '}', from_ascii("\\}"));