我怎样才能拥有如下所示的章节标题页?
请注意,我使用的是book
文档类
答案1
在尝试提问之前,最好先表明你已经尽了自己最大的努力来解决问题。这样,你就会更加感激你得到的解决方案。
我必须承认,如果你刚开始学习,这个数字需要很多LaTeX
。对于像我这样的许多初学者来说,普通book
课程就足够了。
我希望这个答案能帮助你提出自己的 MWE。然后我们再看看。请耐心等待,因为你要求的东西并不简单。这里有一些注意事项。
如果memoir
可以的话,我建议您阅读:章节开始页上的 TikZ 节点内的迷你目录
如果你正在使用其他的(可能不适用于所有,我还没有尝试过),那么你必须使用一些titlesec
魔法。
您可以结合使用并titlesec
使用tikz
如何获得彩色框作为标题?也许一些textpos
解决方案。
我从以下tikz
代码中获取了1。
\begin{tikzpicture}[overlay, remember picture]
\draw let \p1 = (current page.west), \p2 = (current page.east) in
node[minimum width=\x2-\x1, minimum height=2cm, draw, rectangle, fill=blue!20, anchor=north west, align=left, text width=\x2-\x1] at ($(current page.north west)$) {\Large\bfseries \quad #1};
\end{tikzpicture}
但我会把它精简为你的背景所需要的内容,如下所示:
\begin{tikzpicture}[overlay, remember picture]
\path let \p1 = (current page.west), \p2 = (current page.east) in
node[minimum width=\x2-\x1, minimum height=2cm, rectangle, fill=cyan, anchor=north west, align=left, text width=\x2-\x1] at ($(current page.north west)$) {};
\end{tikzpicture}
您将需要cyan
页面底部的颜色,因此我们将进一步修改它,如下所示:
\begin{tikzpicture}[overlay, remember picture]
\path let \p1 = (current page.west), \p2 = (current page.east) in
node[minimum width=\x2-\x1, minimum height=2.5in, rectangle, fill=cyan, anchor=north west, align=left, text width=\x2-\x1] at ($(current page.north west)$) {};
\path let \p1 = (current page.west), \p2 = (current page.east) in
node[minimum width=\x2-\x1, minimum height=1in, rectangle, fill=cyan!50, anchor=north west, align=left, text width=\x2-\x1] at ($(current page.south west)$) {};
\end{tikzpicture}
titlesec
然后你可以将它与我的序言中的一些内容结合使用,例如
\documentclass[10pt]{book}
\usepackage{titlesec}
\usepackage{tikz}
\usetikzlibrary{calc}
\titleformat{\chapter}[display]{\normalsize}{
\begin{tikzpicture}[overlay, remember picture]
\path let \p1 = (current page.west), \p2 = (current page.east) in
node[minimum width=\x2-\x1, minimum height=5cm, rectangle, fill=cyan, anchor=north west, align=left, text width=\x2-\x1] at ($(current page.north west)$) {};
\path let \p1 = (current page.west), \p2 = (current page.east) in
node[minimum width=\x2-\x1, minimum height=0.8in, rectangle, fill=cyan!50, anchor=south west, align=left, text width=\x2-\x1] at ($(current page.south west)$) {};
\end{tikzpicture}
}{-1.75in}{}[\vspace*{1in}]
\begin{document}
\chapter{Background}
\end{document}
您可以看到\titleformat{<>}[<>]{<>}{<>}{<>}{<>}[<>]
从page 3
titlesec
手动的。
章节标题看起来很小
而且我们想删除章节页底部的页码。所以我们也可以放在\pagestyle{empty}
某处。我们可以按如下方式更改格式:
\titleformat{\chapter}[display]{\Huge\bfseries\sffamily\color{white}}{% Changed \normalfont
\thispagestyle{empty}
\begin{tikzpicture}[overlay, remember picture]
\path let \p1 = (current page.west), \p2 = (current page.east) in
node[minimum width=\x2-\x1, minimum height=5cm, rectangle, fill=cyan, anchor=north west, align=left, text width=\x2-\x1] at ($(current page.north west)$) {};
\path let \p1 = (current page.west), \p2 = (current page.east) in
node[minimum width=\x2-\x1, minimum height=0.8in, rectangle, fill=cyan!50, anchor=south west, align=left, text width=\x2-\x1] at ($(current page.south west)$) {};
\end{tikzpicture}
}{-1.5in}{}[\vspace*{1in}]
最后一些润色
最后我们添加了\chaptername
,\thechapter
这样章节和章节编号就会出现。您可以使用textpos
以便您可以手动定位它们。
最后,你可以进行 MWE 工作
这是一个糟糕的黑客攻击,但它在很多情况下对我有用。以下是代码:
\documentclass[10pt]{book}
\usepackage{titlesec}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{textpos}
\usepackage{calc}
\DeclareFixedFont{\chapternumberfont}{T1}{ppl}{}{}{1.5in}
\titleformat{\chapter}[display]{\Huge\bfseries\sffamily\color{white}}{
\thispagestyle{empty}
\begin{tikzpicture}[overlay, remember picture]
\path let \p1 = (current page.west), \p2 = (current page.east) in
node[minimum width=\x2-\x1, minimum height=5cm, rectangle, fill=cyan, anchor=north west, align=left, text width=\x2-\x1] at ($(current page.north west)$) {
\begin{textblock*}{5in}(\dimexpr\x2-4.5in,\dimexpr0.25\headheight-1in)
\tikz \node [white,text width=2in, align=right, font=\sffamily] {{\normalsize DIGITAL MEDIA PRIMER}\\[12pt] \raisebox{50pt}{{\large \chaptertitlename}} \raisebox{-12pt}{\chapternumberfont \thechapter}};
\end{textblock*}
};
\path let \p1 = (current page.west), \p2 = (current page.east) in
node[minimum width=\x2-\x1, minimum height=0.8in, rectangle, fill=cyan!50, anchor=south west, align=left, text width=\x2-\x1] at ($(current page.south west)$) {};
\end{tikzpicture}
}{-1.75in}{}[\vspace*{1in}]
\begin{document}
\chapter{Background}
\end{document}
输出
如果你有更多时间,你可以将我在这里概述的程序与以下答案结合起来:彼得·格里尔在使用 fancyhdr 创建基于图像的页眉和页脚