我正在编写一个 beamer 演示文稿,当我尝试通过运行来编译它时xelatex chessboxing.tex chessboxing.pdf
,一切都很顺利,直到这里:
! Missing $ inserted.
<inserted text>
$
l.41 \end{frame}
?
! LaTeX Error: Command $ invalid in math mode.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.41 \end{frame}
?
! LaTeX Error: Command \ttfamily invalid in math mode.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.41 \end{frame}
?
! Missing } inserted.
<inserted text>
}
l.41 \end{frame}
?
! Missing \endgroup inserted.
<inserted text>
\endgroup
l.41 \end{frame}
?
! Missing \endgroup inserted.
<inserted text>
\endgroup
l.41 \end{frame}
?
! Undefined control sequence.
\Url@FormatString ...ndafter \UrlLeft \Url@String
\UrlRight \m@th $
l.41 \end{frame}
?
! Extra }, or forgotten $.
<recently read> }
l.41 \end{frame}
?
! Missing $ inserted.
<inserted text>
$
l.41 \end{frame}
?
! Missing } inserted.
<inserted text>
}
l.41 \end{frame}
?
! Missing } inserted.
<inserted text>
}
l.41 \end{frame}
?
! Too many }'s.
\beamer@doifinframe ...2.0}, от Wikimedia Commons}
\end {beamer@frameslide}
l.41 \end{frame}
?
! LaTeX Error: \begin{document} ended by \end{beamer@framepauses}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.41 \end{frame}
?
! Extra \endgroup.
<recently read> \endgroup
l.41 \end{frame}
?
! Too many }'s.
\endbeamer@frameslide ...amer@framepauses}\egroup
\ifx \beamer@frametitle \@...
l.41 \end{frame}
?
! Undefined control sequence.
\endbeamer@frameslide ...box \else \beamer@zoomer
\fi \beamer@undolabels \be...
l.41 \end{frame}
?
! LaTeX Error: \begin{document} ended by \end{beamer@frameslide}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.41 \end{frame}
?
! Extra \endgroup.
<recently read> \endgroup
l.41 \end{frame}
?
我只需按下 Enter 键即可编译,但我的演示文稿出现了一些问题。此外,我检查了一些错误,它们看起来都像乱码。这是我的 LaTeX 文件:
\documentclass[bulgarian]{beamer}
\usepackage{hyperref}
\usepackage{enumitem}
\usepackage{blindtext}
\usepackage{babel}
\babelfont{rm}{FreeSans}
\setmainfont{FreeSans}
\setsansfont{FreeSans}
\setmonofont{FreeMono}
\usetheme{Bergen}
\usecolortheme{seagull}
\title{Шахбокс}
\author{Явор Узунов 5А клас}
\begin{document}
\begin{frame}
\frametitle{Шахбокс}
Шахбоксът е хибриден спорт. В него се играе бокс и шах. Хубав е, защото развива и мозъка, и здравословното тяло.
\includegraphics{/home/yav/Schachboxen1.jpg}
{\tiny"Schachboxen1.jpg" от WCBO, CC BY 3.0 DE \url{https://creativecommons.org/licenses/by/3.0/de/deed.en}, от Wikimedia Commons}
\end{frame}
\begin{frame}
\frametitle{Правила}
% \section[Section]{Рундове и печелене}
Има 6 рунда бърз шах и 5 рунда бокс. Започва се с шаха. Обявява се победа при:
\begin{itemize}[noitemsep]
\item нокаут
\item мат
\item свършване на времето на играч в бърз шах (9 минути)
\item по преценка на съдията
\item отказ от участие
\end{itemize}
Ако шахматните игри завършат с равен резултат, побеждава този, който има повече точки в бокса, а ако и там е равно, печели този, който е играл с черните фигур>
% \section[Section]{Класове по тежест}
\includegraphics[height=2cm]{/home/yav/Chess_Boxing_2007_(3).jpg}\includegraphics[height=2cm]{/home/yav/Chess_Boxing_2007_(4).jpg}
{\tiny Chess_Boxing_2007_(3).jpg и Chess_Boxing_2007_(4).jpg от Sascha Pohflepp, CC BY 2.0 \url{https://creativecommons.org/licenses/by/2.0}, от Wikimedia Com>
\end{frame}
\end{document}
答案1
一个更简单的测试文件是
\documentclass{beamer}
\usepackage{hyperref}
\title{Шахбокс}
\author{Явор Узунов 5А клас}
\begin{document}
\begin{frame}
Chess_Boxing_2007_(3).jpg и Chess_Boxing_2007_(4).jpg от
\end{frame}
\end{document}
这会产生您所显示的错误(只查看第一个错误,后面的错误通常是虚假的)
! Missing $ inserted.
<inserted text>
$
l.12 \end{frame}
?
这告诉您在文本模式下使用了一些数学约束,因此 TeX 插入了一个$
以进入数学。
诚然,由于 beamer 的性质,错误消息不太清楚错误的位置。然而,十有八九,这里的情况就是这样_
,不过 TeX 可以被说服给出更有用的消息...
添加
\errorcontextlines=100
转到文档序言并重新运行
这次错误消息更加详细。
! Missing $ inserted.
<inserted text>
$
<to be read again>
_
\beamer@doifinframe ...n {beamer@frameslide}Chess_
Boxing_2007_(3).jpg и Ches...
\iterate ...e {\beamer@whichframes }\beamer@donow
\ifbeamer@twoscreenstext \...
\loop ...elax \expandafter \iterate \fi }\iterate
\let \iterate \relax
\beamer@howtotreatframe ...ame by 1\relax \repeat
\beamer@writeslidentry \be...
l.13 \end{frame}
?
Chess_
注意显示 TeX 在处理文本到出错点之后的换行符。也就是说,它准确地突出显示了错误的输入。