XeLaTeX 在尝试编译 beamer 演示文稿时给出许多乱码错误

XeLaTeX 在尝试编译 beamer 演示文稿时给出许多乱码错误

我正在编写一个 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 在处理文本到出错点之后的换行符。也就是说,它准确地突出显示了错误的输入。

相关内容