makechapterstyle memoir 未定义的控制序列

makechapterstyle memoir 未定义的控制序列

我尝试使用 lualatex 在回忆录中制作章节样式,就像图片中那样

在此处输入图片描述

但是有一个未定义的控制序列错误。另一个问题是“您不能在垂直模式下使用`\spacefactor'。”使用 \makeatletter ... \makeatother 时,错误消失,但 chapternumber 前面的章节 (Kapitel) 也消失了。

以下是一个最简单的例子:

\documentclass[a4paper,11pt]{memoir}
\usepackage{fourier-otf}
\usepackage{fontspec}
\usepackage{blindtext}


%% Chapterstyle
%\makeatletter
\makechapterstyle{diss}{%
    
\renewcommand*{\chapterheadstart}{\vspace*{\beforechapskip}}
\renewcommand*{\printchaptername}{
    \normalfont\Large\scshape\raggedleft\so \@Kapitel}
\renewcommand*{\chapternamenum}{\space}
\renewcommand*{\printchapternum}{\chapnumfont \thechapter}
\renewcommand*{\afterchapternum}{\par\nobreak\vskip \midchapskip}
\renewcommand\printchapternonum{}
\renewcommand*{\printchaptertitle}[1]{
    \normalfont\huge\bfseries\scshape \raggedleft ##1}
\renewcommand*{\afterchaptertitle}{\par\nobreak\vskip\afterchapskip}

%\makeatother
}% end{diss}
\chapterstyle{diss}

\begin{document}
   \Blinddocument
\end{document}

我无法进一步调试。有人能帮忙吗?

答案1

这就是答案:谢谢帮助!

%% Chapterstyle
\makeatletter
\makechapterstyle{diss}{%
    
\renewcommand*{\chapterheadstart}{\vspace*{\beforechapskip}}
\renewcommand*{\printchaptername}{
    \normalfont\Large\scshape\raggedleft\@chapapp}
\renewcommand*{\chapternamenum}{\space}
\renewcommand*{\printchapternum}{\chapnumfont \thechapter}
\renewcommand*{\afterchapternum}{\par\nobreak\vskip \midchapskip}
\renewcommand\printchapternonum{}
\renewcommand*{\printchaptertitle}[1]{
    \normalfont\huge\bfseries\scshape \raggedleft ##1}
\renewcommand*{\afterchaptertitle}{\par\nobreak\vskip\afterchapskip}

}% end{diss}
\makeatother
\chapterstyle{diss}

相关内容