我有一份长达两页的图表列表。学校的编辑希望我在新页面顶部添加“图表页面”字样。
据我所知,下面的代码可以提取我的图表、说明和页码列表并将它们列出来。
\def\listoffigures{\chapter*{List of Figures}
{\setlength{\parskip}{12\p@}
\@starttoc{lof}
}
\addtocontents{lof}{\noindent Figure\hfill Page\par}
}
\renewcommand*\l@table{\@dottedtocline{1}{0em}{2.3em}}
我希望的是,在显示图 18 后,我希望 Latex 包含新的页眉。如下所示:
psuedo code:
if figure_number = 18
%do this code
{\noindent Figure\hfill Page\par}
在我的图表列表中,图表编号 18 位于第二页顶部。
答案1
尝试这个。
% lofpsprob.tex SE 641301
\documentclass{book}
%%% using basic LaTeX to define a lof pagestyle (could use fancyhdr instead)
\makeatletter
\newcommand{\ps@lof}{%
\renewcommand{\@oddhead}{\noindent Figure \hfill Page\par}
\let\@evenhead\@oddhead
\renewcommand{\@evenfoot}{%
\hfil\normalfont\textrm{\thepage}\hfil}%
\let\@oddfoot\@evenfoot
}
\makeatother
\begin{document}
\pagestyle{lof} % use the lof pagestyle for the second and later LoF pages
\listoffigures
\addtocontents{lof}{\noindent Figure \hfill Page\par} % put this after the LoF title
\chapter{First}
\pagestyle{headings} % revert from lof pagestyle
\begin{figure} \centering FIG \caption{Fig} \end{figure}
\addtocontents{lof}{\vspace*{5.25in}} % extend LoF to 2nd page
\begin{figure} \centering GRAPHIC \caption{Graphic} \end{figure}
\begin{figure} \centering CHART \caption{Chart} \end{figure}
\end{document}
以上产生了 LoF 的第二页,我认为这是您所要求的。
答案2
我认为我明白了。
请注意,对我来说,我希望“图页”出现在第二页的顶部。图页编号为 32 时会出现这种情况(因此当宏输入 #2 = 32 时)。
使用以下内容:
\renewcommand*\l@figure[2]{
\ifnum \c@tocdepth >\z@
\addpenalty{-\@highpenalty}%
\setlength\@tempdima{2.5em}
\begingroup
\ifstrequal{#2}{32}{
\hfill
\hfill
\newline
{\noindent Figure\hfill Page\par}
}
\parindent \z@ \rightskip \@pnumwidth
\parfillskip -\@pnumwidth
\leavevmode
\advance\leftskip\@tempdima
\hskip -\leftskip
#1\nobreak\dotfill \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
\penalty\@highpenalty
\endgroup
\fi}