![带图片的自定义章节](https://linux22.com/image/366930/%E5%B8%A6%E5%9B%BE%E7%89%87%E7%9A%84%E8%87%AA%E5%AE%9A%E4%B9%89%E7%AB%A0%E8%8A%82.png)
我想修改\chapter{}
命令,以便我可以包含一个以下意义上的(固定高度)图像(我在 LibreOffice 中制作的快速草图),周围带有橙色边框:
使用 TikZ 可以实现这个吗?
//编辑:这是我得到的(当然,纵横比很混乱,但稍后会没问题,因为我会选择一张合适的图片):
MWE 在这里:
\documentclass[12pt]{book}
\usepackage{lipsum}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{titlesec}
\titleformat{\chapter}[display]
{\huge\bfseries}
{\makebox[0cm][r]{\huge\bfseries}\thechapter.\hskip15pt}% label
{0pt}
{\tikz[remember picture,overlay]\node[inner sep=0pt] at ($(current page.north) +
(0,-2cm)$) {\includegraphics[width=\paperwidth, height=4cm]{example-image-a}};
}
[]
\begin{document}
\chapter{A Chapter}
\lipsum[4]
\end{document}
存在以下问题:
- 章节号和标题之间有一个奇怪的换行符。为什么?
- 如果我将图像的高度调整为 8 厘米,它将覆盖章节编号等。我怎样才能确保它始终后图像的结尾?
答案1
有了overlay
,就其占用的空间而言,该框对于 TeX 来说基本上是不可见的。
\documentclass[12pt]{book}
\usepackage{graphicx}
\usepackage{titlesec}
\usepackage{lipsum}
\titleformat{\chapter}
{\huge\bfseries\printcurrentpicture}
{}
{0pt}
{\makebox[0cm][r]{\thechapter.\hspace{15pt}}}
\titlespacing{\chapter}{0pt}{0pt}{20pt}
\newcommand{\printcurrentpicture}{%
\vspace*{-\dimexpr\topskip+1in+\topmargin+\headheight+\headsep+\lineskip}%
\moveleft\dimexpr\oddsidemargin+1in\vbox{%
\hbox{%
\includegraphics[width=\paperwidth]{\thechapterpicture}%
}
\vspace{20pt}
}%
}
\newcommand{\chapterpicture}[1]{%
\def\thechapterpicture{#1}%
}
\begin{document}
\chapterpicture{example-image-a}
\chapter{A Chapter}
\lipsum[4]
\end{document}
您必须为未编号的章节定义一个合适的版本。