Настройка списка таблиц для включения слова «таблица»

Настройка списка таблиц для включения слова «таблица»

Я настраиваю список таблиц и список рисунков в документе класса отчета. Я пытаюсь создать списки, которые начинаются так: "Таблица 1: Некоторая информация" и т. д., вместо того, чтобы начинаться по умолчанию с номеров разделов ("1.2 Некоторая информация"). Есть две вещи, которые я не могу сделать: 1. добавить ":" после таблицы/рисунка и 2. Убрать дополнительный вертикальный пробел между таблицами/рисунками из разных глав, т. е. я хочу, чтобы расстояния между элементами в списках были одинаковыми, независимо от того, к какой главе они относятся.

Вот код только для списка таблиц:

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

\renewcommand{\cfttabpresnum}{Table }
\newlength{\mylen}
\settowidth{\mylen}{\cfttabpresnum\cfttabaftersnum}
\addtolength{\cfttabnumwidth}{\mylen}

\begin{document}
\listoftables

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

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

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

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

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

решение1

Для настройки любой tableofcontentsподобной команды ( ToC, LoT, или LoF) мне нравитсяtitletocпакет, так как он предлагает тот же удобный пользовательский интерфейс пакета titlesec.

Важная часть кода ниже:

\titlecontents{table}
[0pt]                                               % left margin
{\addvspace{.5cm}\itshape}%                         % above code (e.g vertical space)
{\contentsmargin{0pt} \bfseries                     % numbered entry format
    TABLE~\thecontentslabel:\enspace%
    \large}
{\contentsmargin{0pt}\large}                        % unnumbered entry format
{\titlerule*[.5pc]{.}\contentspage}                 % filler-page format (e.g dots)
[\addvspace{.5pc}]                                  % below code (e.g vertical space)

Я использовал больше команд пробелов, чем вы просили, но вы можете настроить их по своему вкусу. В частности, вы можете изменить \enspaceна любую \hspace{}команду, которая вам нравится.

% arara: pdflatex
% !arara: indent: {overwrite: true}

\documentclass{report}
\usepackage{titletoc}
\usepackage{hyperref}

\titlecontents{table}
[0pt]                                               % left margin
{\addvspace{.5cm}\itshape}%                         % above code (e.g vertical space)
{\contentsmargin{0pt} \bfseries                     % numbered entry format
    TABLE~\thecontentslabel:\enspace%
    \large}
{\contentsmargin{0pt}\large}                        % unnumbered entry format
{\titlerule*[.5pc]{.}\contentspage}                 % filler-page format (e.g dots)
[\addvspace{.5pc}]                                  % below code (e.g vertical space)


\begin{document}

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

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

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

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

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

Связанный контент