更改新章节首页的设计

更改新章节首页的设计

我有一个章节位于书籍类文档的后记部分,我想改变其样式。

更准确地说,我不希望在标题和章节正文开始之前留出同样大面积的空白。

它是一个章节没有名称并用星号标记,以便它不会出现在内容列表中,我的意思是类似于chapter*{}

这是一个 MWE:

\documentclass[13pt]{book}

\usepackage[latin1]{inputenc}
\usepackage[english]{babel}
\usepackage{showframe}

\begin{document}

\mainmatter

\chapter{Intro and end}

Nothing to say here.

\backmatter

\chapter{This is a backmatter chapter}

\chapter*{}

\thispagestyle{empty} % I also want pages without page number and so on.

I would like this text to appear at the top of the page, as if it was the second or third page in a chapter.

I do want this to be a different chapter from the previous one.

Any help will be appreciated.

\newpage
\thispagestyle{empty}
---like this text does, actually.

\end{document}

我想这对于这里的很多人来说都很容易,但我不习惯处理\renewcommand\setlenght句子......

答案1

我不太确定我是否理解了你想要什么。我不明白的主要问题是,\chapter*如果你不想要一个章节,你为什么要使用。\newpage例如,为什么不直接使用?

我不确定的第二件事是,您是否只想知道如何重新定义所有实例\chapter*,以便它不会留下这么大的空白,或者您是否想要一个可以执行类似操作的新命令。

我假设您只是想重新定义\chapter*。如果您想要其他内容,请重新表述您的问题或在下面的评论中澄清。

查看book.cls命令\chapter*最终会调用\@schapter,反过来,这会调用命令\@makeschapterhead。正是这最后一个命令创建了您不喜欢的额外空间,因此如果您重新定义它,那么空间就会消失。下面这样做,结果您的错误页面变成

在此处输入图片描述

为此,您只需复制\@makeschapterheadfrom的定义book.cls并用 注释掉第一行即可\vspace。这是您的 MWE 的修改版本(但也请参阅下面的注释):

\documentclass[13pt]{book}

\usepackage[latin1]{inputenc}
\usepackage[english]{babel}
\usepackage{showframe}

\makeatletter% you need this because the commands below contain @'s 
\def\@makeschapterhead#1{%
  %\vspace*{50\p@}% have just commented out this line
  {\parindent \z@ \raggedright
    \normalfont
    \interlinepenalty\@M
    \Huge \bfseries  #1\par\nobreak
    \vskip 40\p@
  }}
\makeatother

\begin{document}

\mainmatter

\chapter{Intro and end}

Nothing to say here.

\backmatter

\chapter{This is a backmatter chapter}

\chapter*{}

\thispagestyle{empty} % I also want pages without page number and so on.

I would like this text to appear at the top of the page, as if it was the second or third page in a chapter.

I do want this to be a different chapter from the previous one.

Any help will be appreciated.

\newpage
\thispagestyle{empty}
---like this text does, actually.

\end{document}

即使上述方法“修复”了你的 MWE,但它可能还不足以满足你的要求,因为如果你使用,\chapter*{A title}仍然会得到一些较大的差距:

在此处输入图片描述

原因是宏\vskip 40\p@末尾的\@makeschapterhead。如果您需要使用\chapter*非空标题,则需要调整此 40pt vskip。

最后,如果您不想进行普遍修改,\chapter*请更清楚地解释您在寻找什么,我会对其进行修改。

相关内容