使用文档类时如何从章节中删除“第 N 章” book
?
这没有出现在目录中(我也不想要)。
但它出现在章节的开头以及每页的页眉中。
答案1
在...的帮助下titlesec
:
\documentclass{book}
\usepackage{titlesec}
\usepackage{lipsum}
\titleformat{\chapter}[display]
{\normalfont\bfseries}{}{0pt}{\Large}
\begin{document}
\chapter{Test Chapter}
\lipsum[3]
\end{document}
没有 titlesec:
\documentclass{book}
\usepackage{lipsum}
\makeatletter
\def\@makechapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \raggedright \normalfont
\interlinepenalty\@M
\Large \bfseries #1\par\nobreak
\vskip 40\p@
}}
\def\@makeschapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \raggedright
\normalfont
\interlinepenalty\@M
\Large \bfseries #1\par\nobreak
\vskip 40\p@
}}
\makeatother
\begin{document}
\chapter{Test Chapter}
\lipsum[3]
\end{document}
要自定义页眉/页脚,一个选项是使用fancyhdr
包;一个小例子,从默认标题中删除前缀“第 N 章”,并使用正常大小写的文本(无大写):
\documentclass{book}
\usepackage{titlesec}
\usepackage{fancyhdr}
\usepackage{lipsum}
\titleformat{\chapter}[display]
{\normalfont\bfseries}{}{0pt}{\Large}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[RE]{\leftmark}
\fancyhead[LO]{\rightmark}
\fancyhead[LE,RO]{\thepage}
\renewcommand\headrulewidth{0pt}
\renewcommand\chaptermark[1]{\markboth{#1}{}}
\renewcommand\sectionmark[1]{\markright{\thesection.\ #1}}
\begin{document}
\chapter{Test Chapter}
\section{Test Section}
\lipsum[1-20]
\end{document}
页眉/页脚的另一个选项是使用pagestyles
选项titlesec
并设计所需的样式:
\documentclass{book}
\usepackage[pagestyles]{titlesec}
\usepackage{fancyhdr}
\usepackage{lipsum}
\titleformat{\chapter}[display]
{\normalfont\bfseries}{}{0pt}{\Large}
\newpagestyle{mystyle}{
\sethead[\thepage][][\chaptertitle]{\thesection~\sectiontitle}{}{\thepage}
}
\pagestyle{mystyle}
\begin{document}
\chapter{Test Chapter}
\section{Test Section}
\lipsum[1-20]
\end{document}
答案2
部分解决方案
感谢 einpoklum 的回答,我发现这个
\titleformat{\chapter}[display]
{\bfseries\Large}
{\filright}
{1ex}{}[]
解决章节开始的问题。
但页眉仍然保留。
完整解决方案
看来这已经做到了。感谢 Gonzalo Medina,回答,我从那里运用了代码。
\usepackage[pagestyles]{titlesec}
\titleformat{\chapter}[display]{\normalfont\bfseries}{}{0pt}{\Huge}
\newpagestyle{mystyle}
{\sethead[\thepage][][\chaptertitle]{}{}{\thepage}}
\pagestyle{mystyle}
现在它看起来就像我喜欢的那样了。(不知为何,截图变得很脏。)
章节 http://user.it.uu.se/~embe8573/chapter.png 标题 http://user.it.uu.se/~embe8573/header.png
答案3
“第 N 章”文本是宏的值\@chapapp
,在书籍文档类中定义。
但是... 不需要直接修改它。参见
答案4
要删除“第 n 章”,只需\setcounter{secnumdepth}{-1}
在\begin{document}
来源:
ctan包装文档说
@chapter | 当我们有编号章节时,会调用此宏。当 secnumdepth 大于 -1 且在 book 类中 @mainmatter 为真时,我们会显示章节编号。我们还通过向终端写入消息来通知用户即将排版新章节。
%% example code in the documentation
790 \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
791 ⟨book⟩ \if@mainmatter
792 \refstepcounter{chapter}%
793 \typeout{\@chapapp\space\thechapter.}%
794 \addcontentsline{toc}{chapter}%
795 {\protect\numberline{\thechapter}#1}%
796 ⟨∗book⟩
797 \else
798 \addcontentsline{toc}{chapter}{#1}%
799 \fi
800 ⟨/book⟩
801 \else
802 \addcontentsline{toc}{chapter}{#1}%
803 \fi
例如,如果您需要删除 \part 的“第 N 部分”,则可以将其更改为\setcounter{secnumdepth}{-2}
等等。