11

ユーザー入力(これは大きな段落になることもあります)を取得して、LaTeXドキュメントを生成したいと思います。\のすべてのインスタンスと、または\textbackslashのすべてのインスタンスを、{または}で置き換えるいくつかの単純な正規表現を検討しています。\}\{

これで十分だとは思えません。他に何をする必要がありますか?注:このために作成された特別なライブラリがある場合は、Pythonを使用しています。

明確にするために、LaTeX構文として解析されるものは望まない: 。$a$に置き換える必要があり\$a\$ます。

4

1 に答える 1

16

入力がプレーンテキストであり、通常のcatcodeレジームにある場合は、次の置換を行う必要があります。

  • \\textbackslash{}(空のグループに注意してください!)
  • {\{
  • }\}
  • $\$
  • &\&
  • #\#
  • ^\textasciicircum{}textcompパッケージが必要)
  • _\_
  • ~\textasciitilde{}
  • %\%

さらに、次の置換は、少なくともOT1エンコーディングを使用する場合に役立ちます(どのような場合でも無害です)。

  • <\textless{}
  • >\textgreater{}
  • |\textbar{}

そして、これら3つは中引用符を無効にします。

  • "\textquotedbl{}
  • '\textquotesingle{}
  • `\textasciigrave{}
于 2010-04-13T06:03:50.960 に答える