我正在尝试使用\quotchap
在章节标题前添加一些文字
\begin{savequote}
The Quote
\qauthor{Quote Author}
\end{savequote}
我想要的是把所有文本放在章节之前的一页上,并在新的一页上开始章节。引文和章节应该放在对开页上。这是必需的,因为在某些情况下,我想要放很多文本。但是当有大量文本时,这些文本会与章节标题和章节文本重叠,结果很糟糕。在环境\newpage
之后给出savequote
帮助没有帮助。它可以手动完成,不需要使用任何特殊环境,在某些情况下它可以工作。但我真的很想知道是否可以用来完成\quotchap
。
我使用的\documentclass{book}
是带twoside
格式。是的,应该总是这样,每章前面都有引文。
当我编译代码时扬尼斯的回答,我得到了两个章节,一个有编号,一个没有编号。但我没有看到\aquote
你在代码中定义并引用的。我是否需要在上面的代码中添加任何内容,我是否遗漏了需要做的事情?当我尝试将放在\savequote
章节开始之前时,它会显示覆盖在章节标题上的引用文本,而不是在另一页上。
答案1
我认为这是个好主意,但有一个警告,即只有前一页是空白页时才应用它。这解决了问题(我讨厌空白页,带有注释这是空白页) 以下是一些代码,我们既提供星号版本的命令,也提供普通版本的命令。我使用了一个小宏来引用,以使代码最小化,重点放在需要更改的内容上。它应该与或包同样quotchap
好用epigraph
。
\documentclass[twoside]{book}
\usepackage[english]{babel}
\usepackage{lipsum}
\def\aquote{The real voyage of discovery consists not in seeking new landscapes but in having new eyes.
---Marcel Proust}
\makeatletter
\def\thickhrule{\leavevmode \leaders \hrule height 1ex \hfill \kern \z@}
\def\position{\centering}
%% Note the difference between the commands the one is
%% make and the other one is makes
\renewcommand{\@makechapterhead}[1]{%
\ifodd\thepage \else \clearpage \aquote \fi
\vspace*{10\p@}%
{\parindent \z@ \position \reset@font
{\Huge \scshape \thechapter }
\par\nobreak
\vspace*{10\p@}%
\interlinepenalty\@M
\thickhrule
\par\nobreak
\vspace*{2\p@}%
{\Huge \bfseries #1\par\nobreak}
\par\nobreak
\vspace*{2\p@}%
\thickhrule
\vskip 40\p@
\vskip 100\p@
}}
%% This uses makes
\def\@makeschapterhead#1{%
\ifodd\thepage \else \clearpage \aquote \fi
\vspace*{10\p@}%
{\parindent \z@ \position \reset@font
{\Huge \scshape \vphantom{\thechapter}}
\par\nobreak
\vspace*{10\p@}%
\interlinepenalty\@M
\thickhrule
\par\nobreak
\vspace*{2\p@}%
{\Huge \bfseries #1\par\nobreak}
\par\nobreak
\vspace*{2\p@}%
\thickhrule
\vskip 100\p@
}}
\begin{document}
\chapter{The Real Numbers}
\lipsum[1-2]
\chapter*{The Imaginary Numbers}
\lipsum[1-2]
\end{document}
如果这对您有用,请发表评论,我将修改代码以适合该包。