精美的章节标题

精美的章节标题

我正在寻找不错的预定义章节标题。我找到了fncychap包,发现里面memoir也有不少。

您知道其他提供预定义花式章节样式的软件包吗?

答案1

尽管memoir课程、fancychaptitlesec其他课程都有一些预定义的章节样式,但我明白您在寻找更好的样式。

这里有两个问题需要考虑:

  1. 原始 LaTeX 结构和命令的局限性,
  2. 此类努力的印刷要求。

重新定义章节的困难之一是各种软件包以及 提供的不同机制LaTeX。 使问题更加复杂的是 中的代码book.cls至少分为四个块。

一种克服限制的方法,并提供一些更通用、更抽象的例程来定义类似于键提供的键值方法PGF。我以前在这方面做过一些工作,典型的设置是:

\cxset{
 name=\so{CHAPTER},
 numbering=arabic,
 number font-size=\large,
 number before={},
 number position=rightname,
 chapter color={black!80},
 chapter font-size=\large,
 chapter before=\rule[3pt]{\textwidth}{0.4pt}\par\hfill,
 number after=,
 chapter after=\hfill\hfill\par\rule[6pt]{\textwidth}{0.4pt}\par,
 number color=\color{black!80},
 title font-family=\bfseries,
 title font-color=\color{black!80},
 title font-weight=,
 title font-size=\LARGE,
 title beforeskip=\hfill\par\hspace*{0pt},
 header style=empty
}

尽管乍一看,键和代码似乎令人难以理解,但使用 可以大大简化styles。因此,一旦定义了一组键,就可以将其存储在.style命令中。此方法的另一个优点是,可以通过使用库轻松地合并社区设置。这对于TikZ基于设计非常重要,因为形状和复杂性很难抽象出来。

这引出了与章节重新定义相关的问题的第二部分:排版。章节的外观和感觉必须与设计的其余部分相融合。例如,请考虑以下两张图片:

在此处输入图片描述在此处输入图片描述

只对章节进行定义是没有用的。样式应该扩展到练习、表格、章节目录等。使用键值方法的类似方法可能会使这项任务更容易,并在社区中共享样式。最初我尝试使用.ini文件并LuaLaTeX加载它们。然而,键值方法更好,社区也更熟悉。

我从不同的书籍中收集了超过 50 种风格,并且已经准备好了可供实验的基本代码(仅适用于章节)。

现在是编码部分。首先,我们为所有主要元素定义键:

\def\cxset{\pgfqkeys{/chapter}}
\cxset{%
  name/.code={\gdef\chaptername{#1}},
  chapter font-family/.store in=\chapterfontfamily@cx,
  ...
}

由于我们想使用基本的 LaTeX 结构和约定,我们重新定义了 来 \@makechapterhead处理键。请记住,有两个命令用于LaTeX排版章节标题。一个用于命令的无星号版本,而另一个用于带星号版本。在我们的方法中,命令的星号版本是不必要的,因为我们可以定义一个键来指示排版引擎忽略编号(numbering=none),因此我们将带星号和不带星号的版本都重定向到同一个宏。

 \renewcommand\@makechapterhead[2][]{%
   ...
   \titlebeforeskip@cx%
   \if@lefttitle%
     \beforenumber@cx%
     \counterdisplay\c@chapter\afternumber@cx%
   \fi
   ...
  }

宏包含排版算法并与各种键挂钩。要排版章节标题,最简单的方法是将一组键定义为样式。例如,我们可以使用:

   \cxset{manet/.style={
   name={},
   numbering=none,
   ...
   }

定义样式“manet”。然后该章节的排版如下:

  \cxset{manet}
  \chapter{EDOUARD MANET}
  \begin{multicols}{3}
    \leftskip0pt
    \lettrine{I}{psum dolor} sit amet latixeus. \lipsum*[1-2]
    Latinicus porcupinus to fill the line.
  \end{multicols}

给出以下结果:

在此处输入图片描述在此处输入图片描述

稍加变化,我们就可以继承这种风格,得到“骑着黄蜂摩托车的红衣主教篇”:

   \cxset{manet}
   \topimage{<image file>}
   \chapter{ALAN MacDONALD}

如果需要,可以定义附加键来满足所有字段的需求。

仅由文本部分组成的章节更容易定义。您只需设置样式编号即可。

   \cxset{style7}
   \chapter{Introduction to Style Seven}
   ...
   \cxset{style12}
   \chapter{Introduction to Style Twelve}
   ...

在此处输入图片描述在此处输入图片描述

特殊章节开头需要不同的处理方式,最好将其描述为环境,因为它们往往包含许多文本部分和图像:

  \begin{specialchapter}[
     image=genetics-dogs,%chromosomes
     image caption={Labrador retriever\\
      ...
     by two gene pairs.}]%
    {Extensions\\ of Mendelian\\ Genetics}
    \begin{itemize}
     ...
    \end{itemize}
  \end{specialchapter}

在此处输入图片描述在此处输入图片描述

上面的第二幅图只更改了图像键,只是为了说明该技术。有趣的是,这些图像采用传统的装箱技术放置,而不是使用tikZpicture commands。阴影是通过拉伸“阴影”图像文件来实现的,就像在 HTML5 之前在网络上使用的那样。

该技术已被证明是有用的,易于定义,尽管文档仍需开发,代码需要良好的清理和一些必须做的事情;与此同时,您可以下载图片样本(在文档中使用),第x章包文件,文档tex 文件和文档 pdf 文件

如果您有任何其他有趣的设计可以添加到我们的收藏中,请在聊天中与我联系。

答案2

你可以使用titlesec和 TikZ 一起。这里有一个你可以修改颜色和形状的例子:

\documentclass[svgnames]{report}
\usepackage{tikz}
\usepackage{kpfonts}
\usepackage[explicit]{titlesec}
\newcommand*\chapterlabel{}
\titleformat{\chapter}
  {\gdef\chapterlabel{}
   \normalfont\sffamily\Huge\bfseries\scshape}
  {\gdef\chapterlabel{\thechapter\ }}{0pt}
  {\begin{tikzpicture}[remember picture,overlay]
    \node[yshift=-3cm] at (current page.north west)
      {\begin{tikzpicture}[remember picture, overlay]
        \draw[fill=LightSkyBlue] (0,0) rectangle
          (\paperwidth,3cm);
        \node[anchor=east,xshift=.9\paperwidth,rectangle,
              rounded corners=20pt,inner sep=11pt,
              fill=MidnightBlue]
              {\color{white}\chapterlabel#1};
       \end{tikzpicture}
      };
   \end{tikzpicture}
  }
\titlespacing*{\chapter}{0pt}{50pt}{-60pt}

\begin{document}
\tableofcontents
\chapter{Introduction}
Text
\chapter{Main}
\section{Section}
Text
\begin{thebibliography}{99}
\bibitem{Test} test reference
\end{thebibliography}
\end{document}

花哨的章节标题示例

来源:TeX博客

答案3

有没有更简单的解决方案可以避免使用复杂的 tikz 代码?好吧,这不是 TeXer 大师班,但是如果你想节省时间,请尝试以下解决方法:

  1. 例如,在 Microsoft Word 中绘制您喜欢的页面,并将文件保存为 PDF、JPG 或 PNG。
  2. 将其作为图片插入到您的 TeX-doc 中。对于 a4paper,代码将是...

\cleardoublepage \pagestyle{空}

{\centering\includegraphics[width=210mm,height=297mm,trim=+5mm 0 0 +5mm]{test.pdf}}
\addcontentsline{toc}{part}{Part 1 TestPart}

\newpage
\pagestyle{plain}

在此处输入图片描述

如您所见,我没有直接使用 \part{...}。默认情况下,“part”计数器对文章类中的部分和较低级别没有影响,因此当您将此部分添加到目录时,请不要忘记手动分配数字。

相关内容