我正在处理一个使用自定义类的文档。我想更改该类,以便它使用 babel[magyar] 而不是英文版本。
但是,当我尝试这样做时,出现以下错误消息:
E: .../Tester.tex:10 未定义控制序列 \begin{abstract}
我的文档使用了环境的自定义定义abstract
,如果使用以下命令导入 babel,则可以正常工作:
\RequirePackage{babel}
每当我将其更改为:
\def\magyarOptions{defaults=safest}
\RequirePackage[magyar]{babel}
然后编译失败并且我收到显示的错误消息。
有人能告诉我这是怎么发生的吗?
更新:我被要求提供一个最小工作示例而不是规范,这里我使用了文章类,并用 renewenvironment 替换了 newenvironment。
\documentclass{article}
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\def\magyarOptions{defaults=safest}
\RequirePackage[magyar]{babel}
\renewenvironment{abstract}{
\checktoopen
\tttypeout{\abstractname}
\null\vfil
\thispagestyle{plain}
\begin{center}
{\huge\textit{\abstractname} \par}
\bigskip
\end{center}
}
\begin{document}{}
\begin{abstract}
The Thesis Abstract is written here (and usually kept to just this page). The page is kept centered vertically so can expand into the blank space above the title too\ldots
%% TODO: megírni
\end{abstract}
\section{asda}
This is a test document.
\end{document}
答案1
最好使用以下方式询问模板问题:问一个问题按钮,您就可以确定熟悉模板的人会来处理您的问题。
匈牙利语的语言定义文件没有为 定义匈牙利语字符串abstract
。您必须自己定义一个。
\def\magyarOptions{defaults=safest}
\documentclass[magyar]{MastersDoctoralThesis}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\providecaptionname{magyar}{\abstractname}{abstractname magyar}
\renewenvironment{abstract}{
\checktoopen
\tttypeout{\abstractname}
\null\vfil
\thispagestyle{plain}
\begin{center}
{\huge\textit{\abstractname} \par}
\bigskip
\end{center}
}{\cleardoublepage}
\begin{document}{}
\begin{abstract}
The Thesis Abstract is written here (and usually kept to just this page). The page is kept centered vertically so can expand into the blank space above the title too\ldots
%% TODO: megírni
\end{abstract}
\section{asda}
This is a test document.
\end{document}
答案2
显然这个问题与无关magyar
。
\checktoopen
似乎没有\tttypeout{}
在所包含的任何包或类中定义article
。环境(重新)定义采用以下形式
\renewenvironment{name}{before}{after}
,其中after
部分指定每次调用时要包含的代码\end{name}
。您的定义缺少该部分。
我注释掉了这两个命令,并在定义末尾添加了一对空括号,并且效果很好:
\renewenvironment{abstract}{
%\checktoopen
%\tttypeout{\abstractname}
\null\vfil
\thispagestyle{plain}
\begin{center}
{\huge\textit{\abstractname} \par}
\bigskip
\end{center}
}{}
如果您的类定义基于其他类,那么您可能会缺少某些部分代码或\RequirePackage{}
命令。
我希望它有帮助。