有没有办法在图表列表中使用“图 1”而不是仅仅使用“1”,而不会弄乱现有文档?

有没有办法在图表列表中使用“图 1”而不是仅仅使用“1”,而不会弄乱现有文档?

我遇到以下情况:在我的文档中,caption图形的显示正常,如“ Figure 1: example”。标题BUT的显示为“ ”。有没有办法让其中也包含“ ” ?List of Figures1 exampleFigure 1 exampleList 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 运行,您将获得:

经过三次 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}

相关内容