11

TeXMakerと同じ構文カラーリングを使用するようにTeXWorksエディターを構成しようとしています。ただし、TexWorksは正規表現を使用して何に色を付けるかを指定します。残念ながら、数学のデフォルト設定はありません。

との間のすべて、との間のすべて、との間のすべて、との$$のすべてを一致させたい。後者はLaTeXドキュメントではめったに使用されないため、あまり必要ありません。\[\]\(\)$$$$

すべてのケースに一致する複数の正規表現にすることもできます。

もちろん\$逃げているので、それに合わせたくありません\\[

\begin{equation}次に、との間のすべてを一致させたいのです\end{equation}が、それは簡単です。

「できない」という答えが考えられます。

4

1 に答える 1

11

このPCRE正規表現を試してください:

(?<!\\)    # negative look-behind to make sure start is not escaped 
(?:        # start non-capture group for all possible match starts
  # group 1, match dollar signs only 
  # single or double dollar sign enforced by look-arounds
  ((?<!\$)\${1,2}(?!\$))|
  # group 2, match escaped parenthesis
  (\\\()|
  # group 3, match escaped bracket
  (\\\[)|                 
  # group 4, match begin equation
  (\\begin\{equation\})
)
# if group 1 was start
(?(1)
  # non greedy match everything in between
  # group 1 matches do not support recursion
  (.*?)(?<!\\)
  # match ending double or single dollar signs
  (?<!\$)\1(?!\$)|  
# else
(?:
  # greedily and recursively match everything in between
  # groups 2, 3 and 4 support recursion
  (.*(?R)?.*)(?<!\\)
  (?:
    # if group 2 was start, escaped parenthesis is end
    (?(2)\\\)|  
    # if group 3 was start, escaped bracket is end
    (?(3)\\\]|     
    # else group 4 was start, match end equation
    \\end\{equation\}
  )
))))

動作中のこの正規表現を参照してください:https ://regex101.com/r/wP2aV6/25

この正規表現は再帰を使用するため、ネストされた数式を正しく処理します。

これは、PCRE互換の正規表現エンジンでのみ機能します。ネガティブルックビハインド、条件式、再帰など、すべての正規表現エンジンには存在しない高度な機能が必要です。

本当に単純なものが必要でない限り、この正規表現を使用せず、代わりに適切なLaTeXパーサーを使用することをお勧めします。

于 2013-01-26T14:28:03.363 に答える