使用“chemmacros”包定义新命令时出现错误

使用“chemmacros”包定义新命令时出现错误

我正在使用 chemmacros 包在我的论文中写化学符号。(我正在使用带有书籍类的 Easy Thesis 模板)。

我在 thesis.cls 文件的顶部添加了这些包(如下所示)

\RequirePackage{textcomp}
\RequirePackage{etoolbox}
\RequirePackage{paralist}
\RequirePackage[bahasam,english]{babel}    

\def\theauthor{\textbf{!INSERT AUTHOR!}}
\def\thetitle{\textbf{!TITLE!}}
\def\@mtsubmissionyear{\textbf{!YEAR!}}
\def\@mtsijil{\textbf{!DEGREE!}} 

\newcommand{\submissionyear}[1]{\def\@mtsubmissionyear{#1}}
\newcommand{\sijil}[1]{\def\@mtsijil{#1}}

\RequirePackage[T1]{fontenc}
\RequirePackage[scaled]{helvet}
\RequirePackage{mathptmx}
\RequirePackage{courier}
\renewcommand\ttdefault{lmvtt}

我定义了 newcommand\makecoverandtitlepage在 thesis.cls 文件底部定义了如下 newcommand。(我从 UMthesis.cls 中获取了此命令(https://www.sharelatex.com/templates/thesis/universiti-malaya-thesis))

\newcommand{\makecoverandtitlepage}{%
    \ignorespaces
    \changepage{-40mm}{-15mm}{15mm}{0em}{0em}{20mm}{0em}{0em}{0em}
    \begin{titlingpage}
        \SingleSpacing%
        \centering%
        \renewcommand\ttdefault{lmtt}%
        \fontfamily{phv}\fontseries{mc}\fontsize{15pt}{17pt}\selectfont%
        \MakeUppercase{\thetitle}\par%
        \vfill%
        \MakeUppercase{\theauthor}\par%
        \vfill%
        INSTITUTE OF POSTGRADUATE STUDIES\\%
        UNIVERSITY OF MALAYA\\%
        KUALA LUMPUR\par%
        \bigskip%
        \@mtsubmissionyear\par%
    \end{titlingpage}%
    {\SingleSpacing\centering\thispagestyle{empty}\setcounter{page}{1}%
        \fontsize{15pt}{17pt}\selectfont%
        \renewcommand\ttdefault{lmtt}%
        \MakeUppercase{\thetitle}\par%
        \vfill%
        {\MakeUppercase{\theauthor}\par}%
        \vfill%
        {THESIS SUBMITTED IN FULFILMENT\\%
            OF THE REQUIREMENTS\\%
            FOR THE DEGREE OF \MakeUppercase{\@mtsijil}\par}%
        \vfill%
        {INSTITUTE OF POSTGRADUATE STUDIES\\%
            UNIVERSITY OF MALAYA\\%
            KUALA LUMPUR}\\[1em]%
        \@mtsubmissionyear%\\[3em]%
        \par\clearpage}%
    \changepage{40mm}{15mm}{-15mm}{0em}{0em}{-20mm}{0em}{0em}{0em}%
    \renewcommand\ttdefault{lmvtt}%
}

当我执行时出现错误,如下图所示

在此处输入图片描述

我需要一些帮助来修复这个错误。

答案1

你不得不说

\makeatletter
\newcommand{\submissionyear}[1]{\def\@mtsubmissionyear{#1}}
\newcommand{\sijil}[1]{\def\@mtsijil{#1}}
\makeatother

因为您想使用内部命令(带有@)。

相关内容