将宏传递给 \setmainlanguage 时出错

将宏传递给 \setmainlanguage 时出错

使用 vanilla XeLaTeX ( XeTeX 3.141592653-2.6-0.999994 (TeX Live 2022)) 或 LuaLaTeX ( This is LuaHBTeX, Version 1.15.0 (TeX Live 2022)) 编译此示例时出错。

我有以下课程test.cls

\ProvidesClass{test}[2022/05/06 Test class]
\DeclareOption{portuguese}{\def\my@mainlanguage{portuguese}}
\DeclareOption{english}{\def\my@mainlanguage{english}}
\ProcessOptions\relax
\ExecuteOptions{}
\LoadClass{article}\RequirePackage{polyglossia}
\setmainlanguage{\my@mainlanguage}

以及一份示例文档:

\documentclass[portuguese]{test}
\title{Test}
\begin{document}
\maketitleTest
\end{document}

错误信息是:

! LaTeX Error: Missing \begin{document}.
See the LaTeX manual or LaTeX Companion for explanation.Type  H <return>  for immediate help. ...

l.8 \setmainlanguage{\my@mainlanguage}

它使用 2021 年的 TeXLive 进行编译,没有任何错误。

相关内容