在回忆录类中应用章节样式时出错

在回忆录类中应用章节样式时出错

我使用回忆录课程,收到错误消息file ended when scanning \makechapterstye

这就是我想要的。我从 LarsMadsen 的“Variation over VZ39,由 Danie Els 贡献,回忆录类的各种章节样式”中获取了代码

有人能帮帮我吗?这是代码:

\documentclass{memoir}
\usepackage{fourier} % or what ever
\usepackage[scaled=.92]{helvet}%. Sans serif Helvetica
\usepackage{color,calc}
\newsavebox{\ChpNumBox}
\definecolor{ChapBlue}{rgb}{0.00,0.65,0.65}
\makeatletter
\newcommand*{\thickhrulefill}{%
\leavevmode\leaders\hrule height 1\p@ \hfill \kern \z@}
\newcommand*\BuildChpNum[2]{%
\begin{tabular}[t]{@{}c@{}}
\makebox[0pt][c]{#1\strut} \\[.5ex]
\colorbox{ChapBlue}{%
\rule[10em]{0pt}{0pt}%
\rule{1ex}{0pt}\color{black}#2\strut
\rule{1ex}{0pt}}%
\end{tabular}}
\makechapterstyle{BlueBox}{%
\renewcommand{\chapnamefont}{\large\scshape}
\renewcommand{\chapnumfont}{\Huge\bfseries}
\renewcommand{\chaptitlefont}{\raggedright\Huge\bfseries}
\setlength{\beforechapskip}{20pt}
\setlength{\midchapskip}{26pt}
\setlength{\afterchapskip}{40pt}
\renewcommand{\printchaptername}{}
\renewcommand{\chapternamenum}{}
\renewcommand{\printchapternum}{%
\sbox{\ChpNumBox}{%
\BuildChpNum{\chapnamefont\@chapapp}%
{\chapnumfont\thechapter}}}
\renewcommand{\printchapternonum}{%
\sbox{\ChpNumBox}{%
\BuildChpNum{\chapnamefont\vphantom{\@chapapp}}%
{\chapnumfont\hphantom{\thechapter}}}}
\renewcommand{\afterchapternum}{}
\renewcommand{\printchaptertitle}[1]{%
\usebox{\ChpNumBox}\hfill
\parbox[t]{\hsize\width\ChpNumBox{1em}{%
\vspace{\midchapskip}%
\thickhrulefill\par
\chaptitlefont ##1\par}}%
}
\chapterstyle{BlueBox}
\begin{document}
\chapter{Introduction}
\end{document}

错误消息:使用 \makechapterstyle 扫描时文件结束。

答案1

您缺少最后一个\parbox第一个参数中的右括号,但它没有任何意义:

\hsize\width\ChpNumBox{1em}

不是一个维度。你可能想要的是

\parbox[t]{\hsize-\wd\ChpNumbox-6pt}{...}

您还需要更改代码\BuildChpNum

\newcommand*\BuildChpNum[2]{%
  \begin{tabular}[t]{@{}c@{}}
    \makebox[0pt][c]{#1\strut} \\[.5ex]
    \colorbox{ChapBlue}{%
      \rule[10em]{0pt}{0pt}%
      \hspace{6pt}\color{black}#2\strut\hspace{6pt}%
    }%
  \end{tabular}}

使用 a\rule来获得水平空间是相当奇怪的;此外,这两个1ex不同的,因为第一个是来自\normalfont,第二个是来自\bfseries。将调整6pt为你喜欢的值。

相关内容