将包含正确标题编号的页面大小的图形放置在章节首页的对页上的最佳方法是什么?
正确的编号意味着:如果我将图放在章节之前,则上一章的编号会继续,并且图列表会显示它属于上一章。但如果新章节是第 6 章,我希望将其标记为 6.1。
现在我在想:有没有办法使用稍后定义的标题(命令)?有没有已经执行此类操作的包?
从本质上来说,是这样的:
\cleartoevenpage{\thispagestyle{empty}}
\begin{figure}[p]
\begin{sidecaption}{\theCaption} % TODO: how?
\includegraphics{image.jpg}
\end{sidecaption}
\end{figure}
\chapter{Chapter Title}
\defineTheCaption
或者,如果这不可能的话,我该如何手动将该图标记为属于下一章,并在 lof 文件中输入正确的条目?
附言:我正在使用 memoir。使用 \newfixedcaption 似乎可以实现相反的效果:它允许在页面上的图表前放置标题。
答案1
您可以(并且应该)定义一个执行该工作的命令,而不是为每个章节明确设置所有这些命令。
我的想法是定义一个\chapterfigure
具有一个可选参数和两个强制参数的命令;可选参数和第一个强制参数用于\includegraphics
,而最后一个参数包含标题。
命令使chapter
计数器步进,因此图形的编号将是正确的;在图形之后,计数器将后退,因此在\chapter
处理时,章节编号将是正确的;然后我们进行修补,\memendofchapterhook
以便它使figure
计数器步进(将被重置为零\chapter
)并将自身重新定义为其先前的值(通常为零,但谁也不知道)。同样,我们发出\insertchapterspace
,然后将其重新定义为将其自身重新定义为其先前的值,因此当命令被调用时,\chapter
它除了将我们带回到原始情况之外什么也不做。
对于没有正面插图的章节,只需\chapter
单独发布即可。的标签\chapterfigure
应位于尾随可选参数中,以反映的语法sidecaption
;因此
\chapterfigure[<options for includegraphics>] % optional
{<graphic file name>} % mandatory
{<caption>} % mandatory
[<label>] % optional
这是一个完整的例子
\documentclass{memoir}
\usepackage{xparse}
\usepackage[demo]{graphicx}
\NewDocumentCommand{\chapterfigure}{O{} m m o}{%
\insertchapterspace
\cleartoevenpage{\thispagestyle{empty}}
\stepcounter{chapter}
\begin{figure}[p]
\IfNoValueTF{#4}
{\begin{sidecaption}{#3}}
{\begin{sidecaption}{#3}[#4]}
\includegraphics[#1]{#2}
\end{sidecaption}
\end{figure}
\addtocounter{chapter}{-1}
\let\keptmemendofchapterhook\memendofchapterhook
\renewcommand{\memendofchapterhook}{%
\stepcounter{figure}%
\keptmemendofchapterhook
\let\memendofchapterhook\keptmemendofchapterhook}%
\let\keptinsertchapterspace\insertchapterspace
\renewcommand\insertchapterspace{%
\let\insertchapterspace\keptinsertchapterspace}%
}
\begin{document}
\frontmatter
\tableofcontents
\listoffigures
\mainmatter
\chapterfigure[width=5cm,height=3cm]{somepic}
{A caption for this figure}
% Here's how to call it if there's a label
%\chapterfigure[width=5cm,height=3cm]{somepic}
% {A caption for this figure}[chapfig:one]
\chapter{A title for this chapter}
Some text
\begin{figure}[htp]
\centering
\includegraphics{xyz}
\caption{A caption to see it has the correct number}
\end{figure}
Some text
\end{document}
答案2
这是我使用的一种简单方法(感谢这里的一些提示)将横向图形放在章节页的对面,并将其编号为该章节中的第一个图形:
% For viewing in Adobe Reader, don’t forget to set View> Page Display > Show Cover Page in Two-Page View
\documentclass[draft,12pt,letterpaper,dvipsnames,svgnames,table,openright,twoside]{book}
\usepackage{pdflscape} % Has landscape environment
\usepackage{graphicx}
\graphicspath{{./images/}}
\usepackage{caption}
\usepackage{lettrine}
\usepackage{calligra}
\usepackage[nopar]{lipsum}
%
\begin{document}
\renewcommand{\LettrineFontHook}{\calligra}
% PREFACE
\chapter*{Preface}
\lipsum[2-4]
% CHAPT 1
% \section[shortish TOC entry]{formatted chapter title} \sectionmark{short title for running headers}
\chapter{Dummy Chapter}
\lipsum[2-4]
%
% CHAPT 2
\makeatletter\@openrightfalse %%%%
\newpage
\cleardoublepage\part[~STONE AGE]{STONE AGE}
%
% The following page is rotated 90-degrees clockwise in the pdf.
% In the book it appears on the LHS, opposite the section “Chapter 16”
\stepcounter{chapter}
\begin{landscape}
\begin{figure}
\captionsetup{width=1.20\textwidth}
%\vspace{12pt} % To move picture further away from binding (odd page)
\vspace{-36pt} % To move picture further away from binding (even page)
\centering
\includegraphics[width=6in]{US_Frequency_Allocations_Jan_2016_a.png}
\caption[U.S. Electromagnetic Spectrum Frequency Allocations, October 2003]{U.S. Electromagnetic Spectrum usage from DC to 300 GHz}
\scriptsize{\emph{Photo Credit: U.S. Government, Department of Commerce}}
\label{figure:FCC_EM_Radio_Spectrum}
\end{figure}
\end{landscape}
\addtocounter{chapter}{-1}
\newpage
% \section[shortish TOC entry]{formatted chapter title} \sectionmark{short title for running headers}
\chapter{2001: Welcome to Space \& Beyond!}
\label{section:DC2Daylight}
\@openrighttrue\makeatother
% Body Text:
\lettrine[lines=3,lhang=0.33,lraise=0.0,loversize=0.30,slope=-16pt,findent=2.3em,nindent=-0.4em]{U}{\textbf{nknown Origins}} \lipsum[1-5]
%
\end{document}
\endinput