当课堂上需要使用多语制时,cleveref 与多语制相冲突

当课堂上需要使用多语制时,cleveref 与多语制相冲突

当我运行以下 MWE (带有xelatex)时:

% File myclass.cls
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{myclass}
\LoadClass[12pt]{article}
\RequirePackage{polyglossia}
\RequirePackage{cleveref}

% File main.tex
\documentclass{myclass}
\setmainlanguage{english}
\begin{document}
bla
\end{document}

我收到这些错误:

Undefined control sequence. \begin{document}
Command \crefrangeconjunction undefined. \begin{document}
Command \crefrangepreconjunction undefined. \begin{document}
Command \crefrangepostconjunction undefined. \begin{document}
Command \crefpairconjunction undefined. \begin{document}
Command \crefmiddleconjunction undefined. \begin{document}
Command \creflastconjunction undefined. \begin{document}
Command \crefpairgroupconjunction undefined. \begin{document}
Command \crefmiddlegroupconjunction undefined. \begin{document}
Command \creflastgroupconjunction undefined. \begin{document}

这是不是在 开头cleveref加载的情况。有人能解释为什么会发生这种情况吗?\usepackage{}main.tex

答案1

正如@ulrike-fischer所建议的,问题在于cleveref不知道使用哪种语言。根据文档,最好的解决方案应该是

\documentclass[english]{myclass}

如果我不想直接在中指定语言myclass.cls

相关内容