"디스플레이 수학은 $$로 끝나야 합니다" 오류

"디스플레이 수학은 $$로 끝나야 합니다" 오류

다음과 같이 코드 목록에 수학을 작성하려고 합니다.

\documentclass{article}
\usepackage{listings}
\begin{document}

\begin[mathescape]{lstlisting}
$\infty$
\end{lstlisting}

\end{document}

다음 오류가 발생합니다.

! Display math should end with $$.
<to be read again> 
                   \infty 
l.10 $\infty
            $
? 

답변1

listings하지 말라는 주장이다\begin

                  %%%%%%%%%%%%
\begin{lstlisting}[mathescape]
$\infty$
\end{lstlisting}

해당 오류가 발생하는 이유는 TeX을 사용하면 필수 인수 주위에 중괄호를 생략할 수 있고, 그렇다면 첫 번째 토큰을 사용할 수 있기 때문입니다. 그래서

\begin[mathescape]{lstlisting}$\infty$

~이다

\begin{[}mathescape]{lstlisting}$\infty$

이제 \begin본질적으로 그렇습니다 \begingroup\csname[\endcsname.

\begingroup\[mathescape]{lstlisting}$\infty$

그래서 \[표시 수학을 시작하고 mathescape]{lstlisting}표시 수학 모드에서 문자로 조판된 다음 단일이 $충족되지만 TeX는 표시 수학을 끝내기 위해 이중을 원 $$하므로 기본 오류가 발생합니다.

기본적으로 매크로 처리 언어의 오류 감지는 대개 설계보다는 운에 의해 이루어집니다.

관련 정보