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