我有一份包含许多类似图表的文档,这些图表通常具有相同的标题,除了温度等细微差别之外。
\documentclass{memoir}
\usepackage[demo]{graphicx}
\usepackage{pgffor}
\begin{document}
\listoffigures
\foreach \x in {100,200,300,400,500,600,700,800,900,1000}{
\begin{figure}[htbp]
\centering
\includegraphics[width=0.75\linewidth]{MyPicture}
\caption[Figure for Plot at Temperature of \x{}K]{Figure Caption for Plot at Temperature of \x{}K}
\end{figure}
}
\end{document}
其结果如下:
现在我想做以下两件事之一:
要么将所有列表压缩为图表列表中的一行项目 - 最好使用页面范围而不是单个页面:
0.1 - 0.10 Figures for plots at Temperatures of 100 to 1000K 1-10
或者其次,为第一条记录提供完整列表,为后续记录提供修改后的记录以仅反映微小的变化,确保关键的 100,200,300K 等......全部垂直排列。
0.1 Figures for plots at Temperatures of 100K 1
0.2 .....................................200K 2
0.3 .....................................300K 3
以前有人处理过这种事情吗?我的图表列表中有好几页项目,我只想将其压缩一点或使其更易于阅读。
答案1
第二种选择更简单、更美观,但我将点改为, ''
以便将点留在标题的右侧:
\documentclass{article}
\usepackage{calc}
\def\scap{\makebox[\widthof{Figures for plots at Temperatures of }]%
{\xleaders\hbox to 4em{ '' }\hfill}}
\begin{document}
\listoffigures
\newpage
\begin{figure}\caption{Figures for plots at Temperatures of 100K}
\end{figure}\clearpage
\begin{figure}\caption[\scap 200K]{Figures for plots at Temperatures of 200K}
\end{figure}\clearpage
\begin{figure}\caption[\scap 300K]{Figures for plots at Temperatures of 300K}
\end{figure}
\end{document}
无论如何,如果您想删除点,只需在序言中插入:
\makeatletter
\renewcommand{\@dotsep}{1000}
\makeatother
\dotfill
并在宏定义中将引号改为: