xelatex 错误段落在 \@tempa 完成之前结束

xelatex 错误段落在 \@tempa 完成之前结束

嗨,我收到了这个错误信息

Runaway argument?
\x@protect \[\protect \[  \@nil  \@ifpackageloaded {amstex}{\def \@tempa \ETC.
Paragraph ended before \@tempa was complete.
<to be read again> \par 
 l.435 \newenvironment{proof}[1][\proofname]{\par

在 XeLaTex 中编译此文件时

\documentclass[12pt]{book}%thesis

\usepackage{polyglossia}
\setmainlanguage{english}

\usepackage[numbers]{natbib}
\usepackage{amsfonts}
\usepackage{amsthm}
\usepackage{amsmath} 
\usepackage{amssymb} 
\usepackage{makeidx}
\usepackage{graphicx}
\usepackage{epigraph}
\usepackage{pdfpages}
\usepackage{url} 
\usepackage{breqn}
\usepackage{setspace}
\usepackage{dsfont}
\usepackage{eurosym}
\usepackage{epstopdf}
\usepackage{color}
\usepackage{setspace}
\usepackage{titling}


\begin{document}
bla
\end{document} 

pbm 好像是啥?

答案1

polyglossia(或它加载的包)使它变得\[健壮,但amsthm并不期望如此。如果你重置原始定义,事情会变得更好,

\documentclass[12pt]{book}%thesis


\let\zz\[\let\zzz\]
\usepackage{polyglossia}
\let\[\zz\let\]\zzz


\usepackage{amsthm}

\begin{document}
bla
\end{document} 

(我从示例中删除了多余的包)

相关内容