$...$ を \(...\) に変換する方法

$...$ を \(...\) に変換する方法

つまり、 \[ ... \] が $$ ... $$ よりも好ましいのはなぜですか?そして 数式モードではドル記号よりも \( と \) の方が適していますか?\(...\)の代わりに を$...$\[...\]の代わりに を使用する必要があります$$...$$

しかし、すでにドル記号を少し使用している文書がある場合はどうでしょうか? どのように変換すればよいでしょうか? 単純な検索と置換では、次の理由で機能しません:

  1. $$ が始まりか終わりかは関係ありません。
  2. テキストではドル記号を使用します(通貨を表すため)。

これに関して良いヒントを持っている人はいますか?

答え1

これは、使用するエディターとそのエディターが提供する機能によって大きく異なるため、単一の答えがあるとは思えません。ただし、エディターが優れた正規表現をサポートしている場合は、これはかなり簡単なはずです。

マッチング方法はこちら$...$

/\s\$(.|\n)+?\$/g

同様に、 に一致します$$...$$:

/\s\$\$(.|\n)+?\$\$/g

これはドル記号には一致しません。ドル記号はエスケープする必要があり\$、上記のパターンではドル記号の前に空白文字(スペース、タブ、改行)が必要です。これについては、次の図でわかりやすく示しています。ここそしてここそれぞれ。

エディターが Perl のフラグをサポートしている場合は、新しい行にも一致するようにs単純化できます。(.|\n)+?.+?.

最後に、置換と組み合わせると次のようになります。

s/(\s)\$(.+?)\$/\1\(\2\)/sg

特定の文字はエスケープしないことに注意してください。これは、正規表現の特定の実装に依存するためです。特に、グループ括弧には と が必要になる場合があり\(...\)+置換?内のバックスラッシュも、使用している正規表現の実装に応じてエスケープする必要がある場合があります。

コマンドラインで Perl を使用している場合は、次の 2 つのコマンドで問題が解決するはずです。

perl -077pi.bak -e 's/(\s)\$\$(.+?)\$\$/\1\\[\2\\]/sg' document.tex
perl -077pi.bak -e 's/(\s)\$(.+?)\$/\1\\(\2\\)/sg' document.tex

これはないファイルの先頭の何かに一致します。ただし、ファイルの先頭は通常コメントか少なくとも . であるため、これは大きな問題にはならないと思います\documentclass

答え2

シングルは$インライン数式で問題なくサポートされている構文であり、$$表示数式でもほとんどの場合問題ありません。これらはスタイルが悪いですが、ほとんどの場合 ( を使用していない場合fleqn) は と同じ出力が得られるため、数式を編集するときに一般的な編集の一部としてに\[..\]変更するだけで済みます。正規表現の置換に自信がない場合は、ドキュメントのグローバル編集を緊急に行う必要はありません。正規表現を間違えると、メリットよりもデメリットの方が大きくなる可能性があります。そのため、今後は を使用するようにしてください。ただし、ドキュメントで既にについて悩んで眠れなくなるようなことはしないでください:-)$$\[\[$$

関連情報