Я хотел бы взять ввод данных пользователем (иногда, это будет большими абзацами), и генерируйте ЛАТЕКСНЫЙ документ. Я рассматриваю несколько простых регулярных выражений, который заменяет все экземпляры \
с \textbackslash
и все экземпляры {
или }
с \}
или \{
.
Я сомневаюсь, что это достаточно. Что еще я должен сделать?Примечание: В случае, если существует специальная библиотека, сделанная для этого, я использую Python.
Для разъяснения мне не жаль, что что-либо, чтобы быть проанализированным не рассматривало как ЛАТЕКСНЫЙ синтаксис: $a$
должен быть заменен \$a\$
.
Если ваш ввод представляет собой обычный текст и вы находитесь в нормальном режиме catcode, вы должны выполнить следующие замены:
→ textbackslash{}
(обратите внимание на пустую группу!) {
→ {
}
→ }
$
→ $
&
→ &
#
→ #
^
→ textasciicircum{}
(требуется пакет textcomp
)_
→ _
~
→ textasciitilde{}
%
→ %
Кроме того, следующие подстановки полезны, по крайней мере, при использовании кодировки OT1 (и безвредны в любом случае):
<
→ textless{}
>
→ textgreater{}
|
→ textbar{}
И эти три отключают фигурные кавычки:
"
→ textquotedbl{}
'
→ textquotesingle{}
'
→ textasciigrave{}