在 fncychap 中更改章节名称

在 fncychap 中更改章节名称

我正在使用包fncychap这里) 使用 scrbook 和 Sonny。现在我想将单词“chapter”的名称更改为日期,这样我在创建新章节时就可以手动输入。我尝试过\ChNameVar{}但没成功。那么你如何创建它呢?

答案1

重新定义\DOCH可以抑制章节编号;该\MyChap命令允许您在需要时重新定义\chaptername

\documentclass{scrbook}
\usepackage[Sonny]{fncychap}

\newcommand\MyChap[1]{%
 \renewcommand\chaptername{#1}}
\makeatletter
\renewcommand{\DOCH}{%
    \raggedleft
    \CNV\FmN{\@chapapp}\space \CNoV
    \par\nobreak
    \vskip 40\p@}
\makeatother

\begin{document}

\MyChap{September 13}
\chapter{Test title}

\end{document}

在此处输入图片描述

评论中提出了一项新要求:将章节标题放在右边,而不是左边;这可以通过重新定义\DOTI和来实现\DOTIS

\documentclass{scrbook}
\usepackage[Sonny]{fncychap}

\newcommand\MyChap[1]{%
 \renewcommand\chaptername{#1}}
\makeatletter
\renewcommand{\DOCH}{%
    \raggedleft
    \CNV\FmN{\@chapapp}\space \CNoV
    \par\nobreak
    \vskip 40\p@}
\renewcommand{\DOTI}[1]{%
    \CTV\raggedright\mghrulefill{\RW}\par\nobreak
    \vskip 5\p@
    \CTV\FmTi{#1}\par\nobreak
    \mghrulefill{\RW}\par\nobreak
    \vskip 40\p@}
  \renewcommand{\DOTIS}[1]{%
    \CTV\raggedright\mghrulefill{\RW}\par\nobreak
    \vskip 5\p@
    \CTV\FmTi{#1}\par\nobreak
    \mghrulefill{\RW}\par\nobreak
    \vskip 40\p@}
\makeatother

\begin{document}

\MyChap{September 13}
\chapter{Test title}

\end{document}

在此处输入图片描述

相关内容