在表格列表的每个条目前添加单词“表格”

在表格列表的每个条目前添加单词“表格”

我需要在表格和图片列表中的每个条目前加上适当的文本 - 每个条目的前缀是表格或图片。我还需要从列表中删除章节编号,因为整个报告中的表格都是按顺序编号的。

我设法用这些简单的命令完成了我需要的一切:

\renewcommand{\thetable}{\arabic{table}}
\renewcommand{\thefigure}{\arabic{figure}}

\makeatletter
\providecommand\phantomsection{}% for hyperref

\newcommand\listoftablesandfigures{%
    \chapter*{List of Tables and Figures}%
    \phantomsection
%\addcontentsline{toc}{chapter}{List of Illustrations}%
%\section*{Figures}%
%\phantomsection
%\addcontentsline{toc}{section}{\protect\numberline{}Figures}%
\@starttoc{lof}%
\bigskip
%\section*{Tables}%
%\phantomsection
%\addcontentsline{toc}{section}{\protect\numberline{}Tables}%
\@starttoc{lot}}
\makeatother

现在只剩下一件事:与表格和图表列表中的文本保持一致。

答案1

您可以使用chngcntr包来更改图形计数器和表格计数器,以及使用tocloft包将单词“表”和“图形”添加到表格和图形列表中。一个小例子:

\documentclass{report}
\usepackage{chngcntr}  
\usepackage{tocloft}
\usepackage{hyperref}

\counterwithout{figure}{chapter}
\counterwithout{table}{chapter}

\renewcommand{\cftfigpresnum}{Figure\ }
\renewcommand{\cfttabpresnum}{Table\ }

\newlength{\mylenf}
\settowidth{\mylenf}{\cftfigpresnum}
\setlength{\cftfignumwidth}{\dimexpr\mylenf+1.5em}
\setlength{\cfttabnumwidth}{\dimexpr\mylenf+1.5em}


\makeatletter
\newcommand\listoftablesandfigures{%
    \chapter*{List of Tables and Figures}%
    \phantomsection
\@starttoc{lof}%
\bigskip
\@starttoc{lot}}
\makeatother

\begin{document}
\listoftablesandfigures

\chapter{Test one}
\section{Test one one}

\begin{table}
  \caption{Test table one}
\end{table}

\begin{figure}
  \caption{Test figure one}
\end{figure}

\chapter{Test two}
\section{Test two two}

\begin{table}
  \caption{Test table two}
\end{table}

\begin{figure}
  \caption{Test figure two}
\end{figure}

\end{document}

仅显示结果文档的组合列表:

答案2

只需使用这些命令代替\listoftables\listoffigures

对于数字:

{%
    \let\oldnumberline\numberline%
    \renewcommand{\numberline}{\figurename~\oldnumberline}%
    \listoffigures%
}

对于表格:

{%
    \let\oldnumberline\numberline%
    \renewcommand{\numberline}{\tablename~\oldnumberline}%
    \listoftables%
}

无需使用任何包并使事情变得复杂。

相关内容