我正在准备一本包含 的书memoir
。这本书有三个部分。我想将部分标题凸起并在标题正下方插入一张图片。我能够将部分标题凸起到页面的上部并添加图片,但图片落在以下(通常是空白的)页面上(见下面的最小示例)。
我怎样才能使图像出现在与零件标题相同的页面上,并直接出现在其下方?
以下是最小示例:
\documentclass[12pt,letterpaper]{memoir} %
\usepackage[T1]{fontenc}
\usepackage{eso-pic}
\usepackage[english]{babel}
\usepackage[demo]{graphicx}
\makeatletter
\renewcommand*{\beforepartskip}{\null\vskip-2cm}
\renewcommand*{\afterpartskip}{\par\vskip-5cm%
\@afterindentfalse\@afterheading}
\makeatother
\begin{document}
% \frontmatter
%
%
% \mainmatter
\part{This is the first part}
\AddToShipoutPicture*{%
% By default, eso-pic's zero coordinate is in the lower left corner
\put(\LenToUnit{3.5in},\LenToUnit{5.5in}){%
\includegraphics[height=25mm,keepaspectratio]{figs/PA-500942}%
}
}
\part{This is the second part}
\end{document}
答案1
使用与此问题相同的技术将图形添加到零件页面这样做更容易memoir
:
\includegraphics
首先,我们定义一个命令来设置每个部分的图像名称。此命令采用与包中的命令相同的参数graphicx
。然后我们将图像添加到memoir
类\printparttitle
命令中。您可以使用\vfil
命令来根据需要更改垂直间距。
\documentclass{memoir}
\usepackage[demo]{graphicx}
\makeatletter
% define a user command to choose the image
% this command also creates an internal command to insert the image
\def\@partimage{}
\newcommand{\partimage}[2][]{\gdef\@partimage{\includegraphics[#1]{#2}}}
\renewcommand{\printparttitle}[1]{\parttitlefont #1\vfil\@partimage\vfil\gdef\@partimage{}}
\makeatother
\begin{document}
\partimage{foo.png}
\part{A part}
\partimage[width=\textwidth]{bar.png}
\part{Another part}
\end{document}
答案2
这不是答案,而是我对@Alan Munn 答案的评论的后续。我将其作为答案,以便可以包含代码示例。
我的问题不是我使用了该subfiles
软件包,而是我没有总是在部件页面中添加图像。这是一个简化的示例:部件页面包含一个图像,并且其工作方式与宣传的一致(实际上与 Alan 的示例相同):
\documentclass{memoir}
\usepackage[demo]{graphicx}
\makeatletter
% define a user command to choose the image
% this command also creates an internal command to insert the image
\newcommand{\partimage}[2][]{\gdef\@partimage{\includegraphics[#1]{#2}}}
\renewcommand{\printparttitle}[1]{\parttitlefont #1\vfil\@partimage\vfil}
\makeatother
\begin{document}
\partimage{foo.png} % this works beautifully!
\part{A part}
Lorem ipsum.
\end{document}
但是,如果我注释掉该\partimage
命令,因为我不想向零件页面添加任何图像:
...
\begin{document}
%%%%% \partimage{foo.png}
\part{A part}
Lorem ipsum.
\end{document}
然后我收到以下错误:
! Undefined control sequence.
\printparttitle ...ttitlefont #1\vfil \@partimage
\vfil
l.15 \part{A part}
这可能是因为\printparttitle
期望一个\partimage
,或者在我看来是这样(如果我错了,请纠正)。
由于我是 LaTeX 新手,我无法提出一个优雅的解决方案。可能的破解方法:可以\partimage{some_dummy_image.jpg}
使用 10x10 像素白框作为虚拟图像来调用。或者可以重写命令\partimage
,使其在调用时不执行任何操作\partimage{}
(由于缺乏知识,我无法做到这一点)。
总结:如果你总是用图像装饰零件页面。