我正在为一位朋友制作一个模板,他多年来一直在写一本小说,但时间安排很紧张(家庭问题)。我的目标是将格式与内容完全分开(因此LaTeX
),这样他就可以专注于他的故事。
我想在章节前添加一张图片。在书籍类中,新章节从奇怪的页面。是否可以在紧接的前面添加整页图像甚至页?
平均能量损失
\documentclass[a5paper,demo]{book}
\usepackage{lipsum}
\usepackage{graphicx}
\title{Captain Awesome in the Awesome land}
\author{Eric Cartman}
\begin{document}
\maketitle
\frontmatter
\tableofcontents
\mainmatter
\chapter{Awesome}
\lipsum[1-2]
\begin{figure}[p]
\centering
\includegraphics[width=\textwidth]{dummy.pdf}
\end{figure}
\chapter{More Awesome}
\lipsum[1-2]
\end{document}
这将在第 1 章末尾添加一个黑色方形虚拟占位符图像,并添加一张白色页面,以便第 2 章从奇怪的书的侧面。我希望在第 2 章之前立即看到此占位符图像。
顺便说一句,在模板中我将章节放在单独的.tex
文件中,并通过模式扩展循环将它们添加到书中。这样,我的朋友甚至不需要输入\include{chap37}
主文档。
谢谢
编辑:澄清一下,请求是放置该图像的页面。我不在乎它是第 1 章还是第 2 章的一部分。我认为它需要成为第 1 章的一部分,因为出于目录目的,第 2 章必须从标题开始。但是在一本有 37 个章节的书中,我可能想在前面的偶数页中为其中一些章节添加一些图像,而不是所有章节。而且在每种情况下,它肯定会是不同的图像。与该章的故事有关的东西。有些章节会以奇数页结束。有些会以偶数页结束。
编辑 2:我找到了部分解决方案。相关章节应该包含这个,而不是简单地\chapter{}
\cleartoevenpage
\includegraphics{chapter pic}
\chapter{chapter title}
这是我想要的、需要的行为。但是,我也在使用。零件页后的透明页加上图像前的透明页会在零件页后放置两页白页,这是不可取的。在这种情况下,图像应放在之后和之前的\part
页面上。修改后的 MWE:\part
\chapter
\documentclass[a5paper,demo]{book}
\usepackage{lipsum}
\usepackage{graphicx}
\title{Captain Awesome in the Awesome land}
\author{Eric Cartman}
\begin{document}
\maketitle
\frontmatter
\tableofcontents
\mainmatter
\part{Foo}
\chapter{Awesome}
\lipsum[1-2]
\part{Bar}
\cleartoevenpage
\begin{figure}[p]
\centering
\includegraphics[width=\textwidth]{dummy.pdf}
\end{figure}
\chapter{More Awesome}
\lipsum[1-2]
\end{document}
答案1
你可以调整一下清晰度,把偶数页\cleardoublepage
原来的空白替换成。\hbox{}
\noindent\includegraphics[width=\textwidth]{example-image}
的原始代码
\cleardoublepage
:
\def\cleardoublepage{\clearpage\if@twoside\ifodd\c@page\else\hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}
调整后的版本
\cleardoublepage
:
\def\cleardoublepage{\clearpage\if@twoside\ifodd\c@page\else\noindent\includegraphics[width=\textwidth]{example-image}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}
完整的示例(注意:之前
contents
还会有整页图像,因为也contents
没有编号):chapter
编辑:在代码中添加一个切换按钮
\ifaddimages
,当想要添加图像时将其设置为 true,当不想添加图像时将其设置为 false。定义一个\theaddimage
扩展到要添加的图像名称的新命令。重新定义此命令以更改添加的图像。
\documentclass[a5paper]{book}
\usepackage{lipsum}
\usepackage{showframe}
\usepackage{graphicx}
\title{Captain Awesome in the Awesome land}
\author{Eric Cartman}
\newif\ifaddimages\addimagestrue
\newcommand{\theaddimage}{example-image-a}
\makeatletter
\def\cleardoublepage{\clearpage\if@twoside\ifodd\c@page\else\ifaddimages\vspace*{-\topskip}\vspace*{\fill}\noindent\includegraphics[width=\textwidth]{\theaddimage}\vspace{\fill}\else\hbox{}\fi\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}
\makeatother
\begin{document}
\maketitle
\frontmatter
\tableofcontents
\renewcommand{\theaddimage}{example-image-b}\addimagesfalse
\mainmatter
\chapter{Awesome}
\addimagestrue
\lipsum[1]
\chapter{More Awesome}
\lipsum[1-2]
\chapter{More Awesome}
\lipsum[1]
\end{document}