答案1
纯粹基于回忆录的解决方案
我们创建了自己的章节样式,除非章节未编号(用于目录等),否则将禁用打印章节标题。这与写入目录无关,因此无需\chapter[...]{}
\documentclass{memoir}
\usepackage{lipsum}
\renewcommand{\thechapter}{\Roman{chapter}}
\newif\ifchapternonum
\makechapterstyle{Roman}{
% don't print the chapter title unless it is un-numbered (e.g. ToC)
\renewcommand\printchaptertitle[1]{%
\ifchapternonum%
\chaptitlefont ##1
\fi
}
\renewcommand\printchaptername{}
\renewcommand\chapnumfont{\LARGE\bfseries\centering}
\renewcommand\afterchapternum{}
\renewcommand\afterchaptertitle{\par\bigskip}
% a chapter is executed inside a group so the toggle below is local
% to that group
\renewcommand\printchapternonum{\chapternonumtrue}
}
\chapterstyle{Roman}
\renewcommand\cftchapteraftersnum{.}
\addtolength\cftchapternumwidth{1em}
\pagestyle{plain}
\begin{document}
\tableofcontents*
\chapter{Chapter A}
\lipsum
\chapter{Chapter B}
\lipsum
\chapter{Chapter C}
\lipsum
\end{document}
答案2
该包titlesec
将适用于罗马章节编号,而使用短章节标题可能有助于在目录中使用与正文不同的章节名称。
\documentclass{memoir}
\usepackage{titlesec}
\usepackage{lipsum}
\renewcommand{\thechapter}{\Roman{chapter}}
\titleformat{\chapter}[block]
{\centering\normalfont\huge\bfseries}{\thechapter.}{1em}{\Huge}
\begin{document}
\chapter[Chapter1]{}
\lipsum
\chapter[Chapter2]{}
\lipsum
\chapter[Chapter3]{}
\lipsum
\tableofcontents
\end{document}
编辑
正如daleif
指出的那样,你不应该使用titlesec
with memoir
。这是一个没有 的编辑版本titlesec
:
\documentclass{memoir}
\usepackage{lipsum}
\renewcommand{\thechapter}{\Roman{chapter}}
\renewcommand{\chaptername}{}
\begin{document}
\chapter[Chapter1]{}
\lipsum
\chapter[Chapter2]{}
\lipsum
\chapter[Chapter3]{}
\lipsum
\tableofcontents
\end{document}