I'd like to take user input (sometimes this will be large paragraphs) and generate a LaTeX document. I'm considering a couple of simple regular expressions that replaces all instances of \ with \textbackslash and all instances of { or } with \} or \{.
I doubt that this is sufficient. What else do I need to do? Note: In case there is a special library made for this, I'm using python.
To clarify, I do not wish anything to be parsed treated as LaTeX syntax: $a$ should be replaced with \$a\$.
If your input is plain text and you are in a normal catcode regime, you must do the following substitutions:
\ → \textbackslash{} (note the empty group!){ → \{
} → \}
$ → \$
& → \&
# → \#
^ → \textasciicircum{} (requires the textcomp package)_ → \_
~ → \textasciitilde{}
% → \%
In addition, the following substitutions are useful at least when using the OT1 encoding (and harmless in any case):
< → \textless{}
> → \textgreater{}
| → \textbar{}
And these three disable the curly quotes:
" → \textquotedbl{}
' → \textquotesingle{}
` → \textasciigrave{}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With