目前我的标题如下:
第1章
章节标题
有没有办法重新格式化标题,使它们都在一行上?即
第 1 章:章节标题
答案1
您想自定义章节标题。有几种方法可以实现。
但是如果有远见,您还需要协调章节标题、小节等。
需要考虑的参数有几个:章节/部分名称和章节/部分标题的字体和样式、它们的相对位置等,以及前后的垂直空间。小节、部分等也是如此……
利用该titlesec
包,您可以获得一个良好的界面来使用这些参数,使用熟悉的 LaTeX 命令,直到获得最喜欢的结果。
有两个命令\titleformat
可\titlepacing
用于快速设置(仅限手册第 2 部分)。
这是所使用的代码。
\documentclass[a4paper,12pt]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{kantlipsum} % dummy text
\usepackage{titlesec} % added <<<<<<
%%%%%%%%%% chapters
\titleformat
{\chapter} % command to format
[block] % shape: hang, display, block, frame etc
{\sffamily\bfseries\Large} % format of label + chapter title
{\chaptertitlename\ \thechapter:} % label "Chapter 1:"
{1.5ex} % separation label - chapter title
{} % code before
\titlespacing{\chapter}
{0pt} %left of the label + title
{*0} % vertical space before the title
{*6.5} % idem after title (in ex units + glue)
%%%%%%%%%%%%%% sections
\titleformat{\section}
[block] % shape
{\sffamily\bfseries\itshape}% format (keep the chapter font family!)
{\thesection.} % label "1.1."
{0.8ex}% separation label - section title
{}
\titlespacing{\section}
{0pt} %left of label + section title
{*4} % before the label + section title
{*1.5} % after
\begin{document}
\chapter{The First}
1. \kant[1]
\section{A section}
2. \kant[2]
\end{document}
答案2
例如,查看book
类,似乎调用,而\chapter
调用\@chapter
又调用\@makechapterhead
,其定义如下:
\@makechapterhead:
macro:#1->\vspace *{50\p@ }{\parindent \z@ \raggedright \normalfont \ifnum \c@secnumdepth >\m@ne \if@mainmatter \huge \bfseries \@chapapp \space \thechapter \par \nobreak \vskip 20\p@ \fi \fi \interlinepenalty \@M \Huge \bfseries #1\par \nobreak \vskip 40\p@ }
\thechapter
重新定义这个来删除和章节标题之间的段落分隔符等#1
,似乎有效:
\documentclass{book}
\makeatletter
\renewcommand{\@makechapterhead}[1]{
\vspace *{50\p@ }{\parindent \z@ \raggedright \normalfont %
\ifnum \c@secnumdepth >\m@ne \if@mainmatter \huge \bfseries %
\@chapapp \space \thechapter: \bfseries #1\par \nobreak \vskip 40\p@ }%
}
\makeatother
\begin{document}
\chapter{Test}
\end{document}
当然,您可以根据需要用例如等替换\huge
上面的(重新)定义\Huge
。