¿Existe alguna forma de utilizar expresiones en modo matemático dentro del entorno gramatical?

¿Existe alguna forma de utilizar expresiones en modo matemático dentro del entorno gramatical?

Estoy intentando escribir la gramática de FOL en BNF usando el syntaxpaquete, pero cada vez que uso un símbolo lógico o un comando de modo matemático (por ejemplo, \neg, \land, \mathbb{}, etc.) aparece un error. Por ejemplo:

\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}

devuelve el error

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

Intenté usar $...$ y ${...}$, pero sigo recibiendo un error.

Otros errores suelen ser

\< command > allowed only in math mode.

¿Hay alguna forma de utilizar el modo matemático dentro del grammarentorno?

Respuesta1

En el grammarentorno los personajes `, <, y "están activos para poder obtener la siguiente apariencia

ingrese la descripción de la imagen aquí

Citando del syntaxmanual

Dentro de una de estas formas abreviadas, el texto se trata más o menos palabra por palabra:

  • Cualquier carácter $, %, ^, &, {, }o ~se #trata literalmente: se ignoran sus significados especiales normales.

  • Otros caracteres especiales, a excepción de \, también se tratan literalmente: [...]

En este caso, la forma LaTeX de hacer matemáticas en línea, es decir \(...\), viene al rescate.

\documentclass{article}

\usepackage{syntax}

\begin{document}

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

\end{document}

ingrese la descripción de la imagen aquí

información relacionada