문법 환경 내에서 mathmode 표현식을 사용할 수 있는 방법이 있나요?

문법 환경 내에서 mathmode 표현식을 사용할 수 있는 방법이 있나요?

패키지를 이용하여 BNF에 FOL의 문법을 작성하려고 하는데 syntax논리 기호나 수학 모드 명령(예: \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}

여기에 이미지 설명을 입력하세요

관련 정보