如何设置章节标题的格式?

如何设置章节标题的格式?

如何将书籍类的章节标题更改为排版居中的章节名称,如上图所示? 在此处输入图片描述

答案1

取决于您的专业水平,如果您更熟悉软件包,那么使用titlesecSeamus 在评论中建议的软件包是一个不错的选择。如果您来这里是为了进一步了解 LaTeX 的内部结构,您可以使用下面的代码,它使用 LaTeX@makechapterhead@makeschapterhead宏(请注意后者中的 make(s))。一个用于处理章节的普通版本,另一个用于处理带星号的版本。在开发或修改类时,最好同时更新它们。代码可以在 中找到book.cls

在此处输入图片描述

\documentclass[oneside]{book}
\usepackage[english]{babel}
\usepackage{lipsum}
\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]{%
  \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{%
  \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}

答案2

下面是一个使用的示例titlesec

\documentclass{book}

\usepackage{titlesec}
\titleformat{\chapter}[display]
{\normalfont\bfseries\filcenter}
{\LARGE\thechapter}
{1ex}
{\titlerule[2pt]
\vspace{2ex}%
\LARGE}
[\vspace{1ex}%
{\titlerule[2pt]}]

\begin{document}

\chapter{The real numbers}

\end{document}

相关内容