[Tex/LaTex] Adding word ‘Table’ before each entry in list of tables

captionsfloatstable of contents

I need to prefix each entry in list of tables and figures with appropriate text – table or figure for each. Also I need to remove chapter numbers from list, because tables are numbered consequently through the whole report.

I managed to do everyting I need with this simple commands:

\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

Now only one thing remains: to be consistent with text in list of tables and figures.

Best Answer

You can use the chngcntr package to change the counter for figures and the one for the tables, and the tocloft package to add the words "Table" and "Figure" to the list of tables and figures. A little example:

\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}

Only the combined list of the resulting document is shown:

Related Question