Как создать два разных списка фигур под двумя разными именами?

Как создать два разных списка фигур под двумя разными именами?

Я пишу диссертацию. Изображения, которые у меня есть, варьируются от диаграмм до обычных изображений. Я хочу, чтобы они были перечислены под:

Table des figuresи Tables des graphiques.

Я могу создать только один, используя figure, как мне сгенерировать второй?

решение1

Используя floatпакет и его \newfloatкоманду, можно добавлять новые плавающие среды, такие как graphique, которые затем определяют новый счетчик с тем же именем.

Например, я выбрал grpрасширение для соответствующего файла, и счетчик должен быть сброшен в пределах главы.List of...

Это \listofgraphiquesкоманда-оболочка для \listof{graphique}{Some title}.

Кроме того, некоторые \crefnameутверждения используются на всякий случай.

\documentclass{book}

\usepackage[demo]{graphicx}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage{float}
\usepackage{hyperref}
\usepackage{cleveref}


\newfloat{graphique}{tpbh}{grp}[chapter]


\newcommand{\listofgraphiquesname}{Table des graphiques}

\newcommand{\listofgraphiques}{%
  \listof{graphique}{\listofgraphiquesname}%
}

\crefname{graphique}{graphique}{graphiques}
\Crefname{graphique}{Graphique}{Graphiques}

\begin{document}

\listoffigures
\listofgraphiques

\clearpage

See \cref{grp-lagraphique} or \Cref{grp-lagraphique} or \Cref{grp-lagraphique,grp-lagraphique-encore} for more information. 

\chapter{Alors\dots}

\begin{figure}
  \centering

  \includegraphics[scale=0.5]{ente}
\caption{Foo figure} \label{fig-lafigure}
\end{figure}

\begin{graphique}
  \centering

  \includegraphics[scale=0.5]{ente}
  \caption{C'est bon!}  \label{grp-lagraphique}
\end{graphique}

\chapter{Encore}

\begin{figure}
  \centering

  \includegraphics[scale=0.5]{ente}
\caption{La figure encore} \label{fig-lafigure-encore}
\end{figure}

\begin{graphique}
  \centering

  \includegraphics[scale=0.5]{ente}
  \caption{C'est bon encore!}  \label{grp-lagraphique-encore}
\end{graphique}




\end{document}

введите описание изображения здесь

С Graphiqueзаглавными буквами:

\documentclass{book}

\usepackage[demo]{graphicx}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage{float}
\usepackage{caption}
\usepackage{hyperref}
\usepackage{cleveref}




\newfloat{graphique}{tpbh}{grp}[chapter]


\newcommand{\listofgraphiquesname}{Table des graphiques}

\newcommand{\listofgraphiques}{%
  \listof{graphique}{\listofgraphiquesname}%
}

\crefname{graphique}{graphique}{graphiques}
\Crefname{graphique}{Graphique}{Graphiques}


\DeclareCaptionLabelFormat{graph}{#1~#2}
\captionsetup[graphique]{name={Graphique},labelformat=graph}


\begin{document}



\listoffigures
\listofgraphiques

\clearpage

See \cref{grp-lagraphique} or \Cref{grp-lagraphique} or \Cref{grp-lagraphique,grp-lagraphique-encore} for more information. 

\chapter{Alors\dots}




\begin{figure}
  \centering

  \includegraphics[scale=0.5]{ente}
\caption{Foo figure} \label{fig-lafigure}
\end{figure}

\begin{graphique}
  \centering

  \includegraphics[scale=0.5]{ente}
  \caption{C'est bon!}  \label{grp-lagraphique}
\end{graphique}

\chapter{Encore}

\begin{figure}
  \centering

  \includegraphics[scale=0.5]{ente}
\caption{La figure encore} \label{fig-lafigure-encore}
\end{figure}

\begin{graphique}
  \centering

  \includegraphics[scale=0.5]{ente}
  \caption{C'est bon encore!}  \label{grp-lagraphique-encore}
\end{graphique}


\end{document}

введите описание изображения здесь

решение2

Вместо пакета float(см.Ответ Кристиана) вы можете использовать пакетnewfloat. Это частьcaptionпучоки имеет очень простую и понятную команду \DeclareFloatingEnvironmentдля объявления новых плавающих элементов.

\documentclass{book}

\usepackage[demo]{graphicx}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage{newfloat}
\usepackage{caption}
\usepackage{hyperref}
\usepackage{cleveref}

\newcommand{\listofgraphiquesname}{List of Graphics}
\addto\captionsfrench{% Switch name by language
  \def\listofgraphiquesname{Table des graphiques}%
}
\DeclareFloatingEnvironment[%
  fileext=grp,
  listname=\listofgraphiquesname,
  name=Graphique,
  placement=tpbh,
  within=chapter,
  chapterlistsgaps=on
]{graphique}

\crefname{graphique}{graphique}{graphiques}
\Crefname{graphique}{Graphique}{Graphiques}

\begin{document}

\listoffigures
\listofgraphiques

\clearpage

See \cref{grp-lagraphique} or \Cref{grp-lagraphique} or \Cref{grp-lagraphique,grp-lagraphique-encore} for more information. 

\chapter{Alors\dots}




\begin{figure}
  \centering

  \includegraphics[scale=0.5]{ente}
\caption{Foo figure} \label{fig-lafigure}
\end{figure}

\begin{graphique}
  \centering

  \includegraphics[scale=0.5]{ente}
  \caption{C'est bon!}  \label{grp-lagraphique}
\end{graphique}

\chapter{Encore}

\begin{figure}
  \centering

  \includegraphics[scale=0.5]{ente}
\caption{La figure encore} \label{fig-lafigure-encore}
\end{figure}

\begin{graphique}
  \centering

  \includegraphics[scale=0.5]{ente}
  \caption{C'est bon encore!}  \label{grp-lagraphique-encore}
\end{graphique}


\end{document}

Если у вас есть одноязычный документ, вам даже не нужно определять, \listofgraphiquesnameа можно просто использовать listname={List of Graphics}. Я добавил его, чтобы показать, как можно делать определения, зависящие от языка.


Пакет KOMA-Scriptпредоставляет пакетtocbasicкоторый предоставляет \DeclareNewTOC. Команда похожа на newfloat's, \DeclareFloatEnvironmentно предоставляет дополнительные возможности для настройки записей списка. И пакет загружает пакет KOMA-Script scrbase, который предоставляет альтернативный интерфейс для создания зависимых от языка имен:

\documentclass{book}

\usepackage[demo]{graphicx}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage{tocbasic}
\usepackage{hyperref}
\usepackage{cleveref}

% Define language depending names using scrbase
\newcommand*{\listofgraphiquesname}{List of Graphics}
\newcaptionname{french}{\listofgraphiquesname}{Table des graphiques}
\newcommand*{\graphiquename}{Graphic}
\newcaptionname{french}{\graphiquename}{Graphique}
\DeclareNewTOC[%
  type=graphique,
  name=\graphiquename,
  float,
  floatpos=tpbh,
  counterwithin=chapter,
  listname=\listofgraphiquesname,
  tocentrynumwidth=2.3em,% hanging indent of the entries to the list of …
  tocentryindent=1.5em,% indent of entries to the list of …
]{gpo}

\crefname{graphique}{graphique}{graphiques}
\Crefname{graphique}{Graphique}{Graphiques}

\begin{document}

\listoffigures
\listofgraphiques

\clearpage

See \cref{grp-lagraphique} or \Cref{grp-lagraphique} or \Cref{grp-lagraphique,grp-lagraphique-encore} for more information. 

\chapter{Alors\dots}

\begin{figure}
  \centering

  \includegraphics[scale=0.5]{ente}
\caption{Foo figure} \label{fig-lafigure}
\end{figure}

\begin{graphique}
  \centering

  \includegraphics[scale=0.5]{ente}
  \caption{C'est bon!}  \label{grp-lagraphique}
\end{graphique}

\chapter{Encore}

\begin{figure}
  \centering

  \includegraphics[scale=0.5]{ente}
\caption{La figure encore} \label{fig-lafigure-encore}
\end{figure}

\begin{graphique}
  \centering

  \includegraphics[scale=0.5]{ente}
  \caption{C'est bon encore!}  \label{grp-lagraphique-encore}
\end{graphique}


\end{document}

Как видите, эти пакеты не обязательно используют класс KOMA-Script, но также работают с несколькими другими классами, такими как стандартный bookкласс.

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