文法環境内で数式モード式を使用する方法はありますか?

文法環境内で数式モード式を使用する方法はありますか?

パッケージを使用して BNF で FOL の文法を記述しようとしていますsyntaxが、論理記号または mathmode コマンド (例: \neg、\land、\mathbb{} など) を使用するたびにエラーが発生します。例:

\documentclass[12pt]{article} 
\usepackage{amsfonts}
\usepackage{amsmath,amsthm,amssymb}

\usepackage[mathscr]{euscript}

\usepackage{syntax}

\usepackage[margin=1in]{geometry}

    \begin{grammar}
        <formula> ::= <formula> <connective> <formula>
        \alt `\neg' <formula> 
        \alt <quantifier> <variable> `(' <formula> `)'
    \end{grammar}

エラーを返す

Missing $ inserted. \alt `\neg
Extra }, or forgotten $. \alt `\neg'
Missing $ inserted. \alt `\neg'
Missing } inserted. \alt `\neg'

$...$ と ${...}$ を使用しようとしましたが、それでもエラーが発生します。

その他のエラーは通常

\< command > allowed only in math mode.

環境内で mathmode を使用する方法はありますかgrammar?

答え1

環境では、、、のgrammar文字がアクティブになり、次の外観が得られます。`<"

ここに画像の説明を入力してください

syntaxマニュアルからの引用

これらの省略形式のいずれかでは、テキストはほぼそのまま扱われます。

  • 、、、、、、$または%の文字は文字通り^に扱われ、通常の特別な意味は無視されます。&{}~#

  • を除く他の特殊文字\も、文字どおりに扱われます: [...]

この場合、インライン数式を作成する LaTeX の方法、つまり\(...\)が役に立ちます。

\documentclass{article}

\usepackage{syntax}

\begin{document}

\begin{grammar}
    <formula> ::= <formula> <connective> <formula>
    \alt `\(\neg\)' <formula> 
    \alt <quantifier> <variable> `(' <formula> `)'
\end{grammar}

\end{document}

ここに画像の説明を入力してください

関連情報