当我运行以下 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
。