我遇到以下情况:在我的文档中,caption
图形的显示正常,如“ Figure 1: example
”。标题BUT
的显示为“ ”。有没有办法让其中也包含“ ” ?List of Figures
1 example
Figure 1 example
List of Figures
我正在使用它XeLaTeX
作为编译器,代码如下:
\documentclass[twoside, a4paper, 11pt]{article}
\usepackage{caption}
\captionsetup[figure]{name=Figure}
\usepackage{subcaption}
\usepackage{float}
\usepackage{chngcntr}
\counterwithin{figure}{section}
\usepackage{graphicx}
\graphicspath{ {./Images/} }
\begin{document}
\tableofcontents
\renewcommand{\listfigurename}{List of Figures}
\addcontentsline{toc}{subsection}{List of Figures} %Πρόσθεση στα περιεχόμενα (table of contents)
\listoffigures
\begin{figure}[htb]
\centering
\includegraphics[width=1\textwidth]{example.png}
\caption[Example for List of Figures]{Different example for caption under the figure.}
\label{Fig:exmpl}
\end{figure}
\end{document}
我发现我可以使用这个代码:
\usepackage[titles]{tocloft}
\newlength{\mylen}
\renewcommand{\cftfigpresnum}{\figurename\enspace}
\renewcommand{\cftfigaftersnum}{:}
\settowidth{\mylen}{\cftfigpresnum\cftfigaftersnum}
\addtolength{\cftfignumwidth}{\mylen}
BUT
这严重扰乱了我文档的结构。我是否必须更改代码中的某些内容,还是仅添加上述内容?我不明白。它确实弄乱了我的文档……它把我的文档弄乱成这样:
答案1
您可以使用包裹tocbasic
图表列表如下:
\documentclass[twoside, a4paper, 11pt]{article}
\usepackage{caption}
\captionsetup[figure]{name=Figure}% IMHO not needed.
\usepackage{subcaption}% Not used in the example.
\usepackage{float}% Not used in the example.
\usepackage{chngcntr}% Note: Not needed with LaTeX versions of the last 5 years!
\counterwithin{figure}{section}
\usepackage{graphicx}
\graphicspath{ {./Images/} }% Not used in the example.
\usepackage{tocbasic}
\setuptoc{lof}{totoc}% add an ToC entry for the LoF
\renewcommand*{\listoffigures}{\listoftoc[List of Figures]{lof}}% redefine \listoffigures to use tocbasic
\DeclareTOCStyleEntry[% reconfigure the figure entries
dynnumwidth,% automatic adapt the width reserved for the number (needs at
% least 3 LaTeX runs!)
% indent=0pt, % optional to remove the indent of the entries
entrynumberformat=\figurenumberformat,% to change the number formatting
]{tocline}{figure}
\newcommand*{\figurenumberformat}[1]{Figure\enspace\ignorespaces #1\unskip:\hfil}
\begin{document}
\tableofcontents
\listoffigures
\begin{figure}[htb]
\centering
\includegraphics[width=1\textwidth]{example-image}
\caption[Example for List of Figures]{Different example for caption under the figure.}
\label{Fig:exmpl}
\end{figure}
\end{document}
经过至少三次 LaTeX 运行,您将获得:
请参阅“使用 tocbasic 管理内容列表”一章中的“配置内容列表条目”部分英文版 KOMA-Script 手册了解更多信息。
注意:使用tocbasic
命令\setuptoc{lof}{totoc}
将图表列表 ( lof
) 的条目添加到目录中也能解决问题,即在您最初的示例中,在使用 添加该条目\addcontentsline
和使用 打印图表列表之间可能会出现分页符\listoffigures
,从而导致目录中该条目的编号错误。
答案2
最不具侵入性的方法是\numberline
对数字列表进行本地重新定义。 \numberline
用于打印数字。
\documentclass[twoside, a4paper, 11pt]{article}
\usepackage{caption}
\captionsetup[figure]{name=Figure}
\usepackage{subcaption}
\usepackage{float}
\usepackage{chngcntr}
\counterwithin{figure}{section}
\usepackage{graphicx}
%\graphicspath{ {./Images/} }
\makeatletter
\def\fignumline#1{\figurename~\hb@xt@\@tempdima{#1\hfil}}% see \numberline
\makeatother
\begin{document}
\tableofcontents
\bgroup% local redefinitions
\renewcommand{\listfigurename}{List of Figures%
\addcontentsline{toc}{subsection}{List of Figures}}%
\let\numberline=\fignumline
\listoffigures
\egroup
\begin{figure}[htb]
\centering
\includegraphics[width=1\textwidth]{example-image}
\caption[Example for List of Figures]{Different example for caption under the figure.}
\label{Fig:exmpl}
\end{figure}
\end{document}