방정식에 인용할 때 오류가 발생했습니다.

방정식에 인용할 때 오류가 발생했습니다.

내 문서의 한 방정식에 이상한 문제가 있습니다. 새로 다시 컴파일하기 위해 출력 파일을 지울 때마다 모든 참고문헌 관련 파일도 다시 생성해야 하며 이 코드 조각은 컴파일에 실패합니다.

\begin{equation}
    A\stackrel{\cite{A01}}{=}B
\end{equation}

오류:\bfseries 명령은 수학 모드에서 유효하지 않습니다. A\stackrel{\cite{A01}}{=}

다음과 같이 파일을 편집하면 다음과 같은 사실을 알 수 있습니다.

\begin{equation}
    A\stackrel{\cite{A01}}{=}B
%   A=B  %First compile with this, then with the other!!
\end{equation}

첫 번째 줄에 주석을 달고, 두 번째 줄의 주석 처리를 해제하고, 컴파일하고, 주석 처리된 줄을 다시 전환하고, 다시 컴파일하면 작동합니다.

기본적으로 새로운 컴파일에서만 실패하며 그 이후에는 문제가 없습니다. 하지만 저는 24시간 내내 논문 작업을 하고 있고 하루에 적어도 두 번은 해야 하기 때문에 여전히 짜증스럽습니다.
또한: 내 논문(LaTeX 코드 포함)을 제출할 때 누군가가 이 문제에 직면하게 될 것이며, 내 파일을 컴파일하기 위해 무엇이 잘못되었는지 알아내도록 강요하지 않고 싶습니다.

이에 대한 도움을 주셔서 감사합니다!

MWE:

\documentclass{scrreprt}
\usepackage{natbib}
\usepackage{hyperref}
\usepackage{filecontents}

\begin{filecontents*}{foo.bib}
    @misc{A01,
        author = {Author, A.},
        year = {2001},
        title = {Alpha},
    }
    @misc{B02,
        author = {Buthor, B.},
        year = {2002},
        title = {Bravo},
    }
\end{filecontents*}

\begin{document}
    \begin{equation}
    A\stackrel{\cite{A01}}{=}B
%   A=B  %First compile with this, then with the other!!
    \end{equation}

    \nocite{*} 
    \bibliography{foo}
    \bibliographystyle{plain}
\end{document}

답변1

~ 안에

\begin{equation}
  A\stackrel{\cite{A01}}{=}B
\end{equation}

수학 모드에 있습니다 \cite{A01}. 거기에 다음과 같이 작성하면 쉽게 확인할 수 있습니다 x^2.

LaTeX가 처음 실행 시 수학 모드에서 인용을 처리하려고 시도할 때 여전히 알 수 없는 경우 \reset@font\bfseries ? natbib인쇄하려는 경우 다음과 같은 오류가 발생합니다 Command \bfseries invalid in math mode.

이를 피하는 방법은 텍스트 모드로 돌아가는 것입니다. 나는 로딩 amsmath하고 말함으로써 그렇게 할 것입니다

A\stackrel{\text{\cite{A01}}}{=}B

덧붙여서, 표준 정의 \cite(즉, 로드하지 않는 경우 natbib)에서는 오류가 발생하지 않습니다. 왜냐하면 a에 물음표가 인쇄되어 \hbox수학 모드가 중단되기 때문입니다.

\hbox{\reset@font\bfseries ?}

관련 정보