考虑以下代码:
\documentclass[12pt]{book}
\usepackage{graphicx,caption}
\usepackage[T1]{fontenc} % Allows one to make bold smallcaps.
\newcommand\NewCaption[2]{\caption[#1]{\textbf{\scshape{#2 #1}}}}
\begin{document}
\thispagestyle{empty}
\begin{figure}[!htb]
\centering
\includegraphics[width=.75\linewidth,angle=0]{example-image-a}
\captionsetup{labelformat=empty} \vspace{10pt}
\NewCaption{ImageA Caption}{\Large}
\label{fig:Image Caption}
\end{figure}
\begin{figure}[!htb]
\centering
\includegraphics[width=.75\linewidth,angle=0]{example-image-b}
\captionsetup{labelformat=empty} \vspace{10pt}
\NewCaption{ImageB Caption}{\Large}
\label{fig:Image Caption}
\end{figure}
\listoffigures
\end{document}
输出结果如下:
问题:此图表列表显示是否可以自定义?如果可以,我怎样才能使整个显示以粗体显示,并使标题本身(图像 A 标题、图像 B 阳离子)以小写字母显示?
谢谢。
答案1
图表列表是可自定义的!也许比我更有经验的人可以指出一个有特殊功能的包,但在我看来,最好的方法是从源头开始!
图表列表实际上是由您使用的文档类定义的!在您的例子中,由于您使用 book 作为文档类,因此 LaTeX 会book.cls
在基础文件夹中调用该类。在那里,在第 662 行中,您将找到以下内容:
\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
这一行处理数字列表输入的格式。如果你对这一切是如何工作的感到好奇,你可以查看其第 49 页原始文件!
对于您的特殊情况,只需在启动文档之前添加以下几行:
\makeatletter
\renewcommand*{\l@figure}{% % Figure label command
\scshape % Small caps
\bfseries % Bold
\@dottedtocline{1}{1.5em}{2.3em} % Dotted line
}
\makeatother
这样做的目的是修补原始\l@figure
命令以添加您想要的内容。您可以根据需要随意编辑它!
对于这个特殊的情况,你应该得到如下结果:
希望这可以帮助!
答案2
您已经加载了包caption
,因此您可以利用它的设置。
使用font={Large,bf,sc}
in \captionsetup
(无需对每个图形重复),您可以获得大号、粗体、小号大写字母的标题。
和
\captionsetup[figure]{
position=below, aboveskip=10pt,
}
可以设置字幕的位置和跳过(无需放置\vspace{10pt}
)。
至于图片列表,包tocloft
允许自定义。LoF中
有\renewcommand{\cftfigfont}{\bfseries}
一个粗体图片标题。
\documentclass[12pt]{book}
\usepackage[T1]{fontenc} % Allows one to make bold smallcaps.
\usepackage{graphicx,caption}
\captionsetup{labelformat=empty, font={Large,bf,sc}} % needed only once
\captionsetup[figure]{
position=below, aboveskip=10pt,
}
\usepackage{tocloft}
\renewcommand{\cftfigfont}{\bfseries}
\begin{document}
\thispagestyle{empty}
\begin{figure}[!htb]
\centering
\includegraphics[width=.75\linewidth]{example-image-a}
\caption{ImageA Caption}
\label{fig:Image Caption}
\end{figure}
\begin{figure}[!htb]
\centering
\includegraphics[width=.75\linewidth]{example-image-b}
\caption{ImageB Caption}
\label{fig:Image Caption}
\end{figure}
\newpage\listoffigures
\end{document}