Erstellen Sie eine einfache "Schema" -Umgebung und eine "Liste der Schemata".
Ich habe den größten Teil meiner Arbeit geschrieben und gesetzt. Derzeit habe ich eine Liste mit Abbildungen und eine Liste mit Tabellen.
Jetzt sagt mir mein Ausschuss jedoch, dass ich auch eine Liste von Schemata haben muss. In der Chemie ist ein Schema eine Umgebung, die (Bilder von) chemischen Strukturen und Reaktionen enthält.
Leider habe ich meine chemischen Strukturen bereits als Zahlen kodiert. Es gibt einige Pakete wie chemstyle
und chemscheme
, die anscheinend ihre eigenen Schemakonstrukte bereitstellen. Ich würde es jedoch vorziehen, sie nicht zu verwenden, da einige dieser Pakete ihre eigenen Standardeinstellungen für Dinge wie chemische Formeln festlegen. (Ich sehe zum Beispiel, dass das chemstyle
Paket definiert ist \ie
, aber ich habe bereits meine eigene Definition für \ie
in meiner Arbeit.) Ich verwende bereits die Pakete chemformula
und chemmacros
.
Gibt es eine Möglichkeit, meine eigene Schema-Umgebung einfacher zu erstellen? Der einzige Unterschied, den ich brauche, besteht darin, dass Schemata als "Schema" bezeichnet und in einer Liste von Schemata aufgeführt werden sollten. Mit anderen Worten, der einzige Unterschied zwischen einer Figur und einem Schema besteht in der Buchhaltung.
Hier ist mein MWE mit einigen der wichtigsten Pakete, die ich verwende. Eine mögliche Komplikation ist, dass ich das subcaption
Paket verwende, um Unterfiguren zu erstellen. Normalerweise habe ich nur ein Bild pro Figur / Schema, aber ich erstelle Unterreferenzen \phantomsubcaption
aus dem subcaption
Paket. Außerdem verwende ich das tocloft
Paket, um die Abstände in den Listen der Abbildungen und Tabellen anzupassen, und dies könnte die Dinge möglicherweise noch komplizierter machen.
Schließlich wäre es schön, wenn ich die neue "Schema" -Umgebung mit dem cleveref
Paket verwenden könnte, da ich den \cref
Befehl aus diesem Paket häufig verwende, um auf Abbildungen, Tabellen usw. zu verweisen.
\documentclass[oneside,11pt]{book}
\usepackage[semibold,tt=false]{libertine}
\usepackage{libertinust1math}
\usepackage[font={sf,small},labelsep=quad,labelfont=sc]{caption}
\usepackage[subrefformat=parens]{subcaption}
\usepackage[
expansion = false ,
tracking = smallcaps ,
letterspace = 40 ,
]{microtype}
\usepackage{booktabs}
\usepackage{acro}
\acsetup{
barriers/use, barriers/reset,
use-id-as-short,
}
\newcommand{\ie}{i.e.}
\newcommand{\eg}{e.g.}
\newcommand{\cf}{cf.}
\newcommand{\avg}[1]{\overline{#1}}
\usepackage{mdframed}
\usepackage[capitalize]{cleveref}
\usepackage{chemformula}
\setchemformula{charge-hshift=.5pt}
\usepackage{chemmacros}
\usepackage{graphicx}
\usepackage{enumitem}
\usepackage{calc}
\usepackage{tabto}
\usepackage[titles]{tocloft}
\setlength{\cftfignumwidth}{2.9em}
\setlength{\cfttabnumwidth}{2.9em}
\begin{document}
\addcontentsline{toc}{chapter}{\listfigurename}
\listoffigures
% \phantomsection %% Remove if using hyperref
\addcontentsline{toc}{chapter}{\listtablename}
\listoftables
\chapter{First chapter}
Text in the first chapter.
Refer to \cref{fig:firstfig} using cleveref package.
Refer to \cref{tbl:firsttbl}.
Refer to \cref{fig:multi}, \cref{fig:multi:a}, and \cref{fig:multi:b}.
Refer to eventual scheme, \cref{scm:eventualscheme}.
Refer to eventual multi-part scheme, \cref{scm:eventualmultischeme}.
% Example figure
\begin{figure}[!h]
\centering
\includegraphics[width=0.02\textwidth]{example-image}
\caption{Caption of figure in first chapter.}\label{fig:firstfig}
\end{figure}
% Example table
\begin{table}[!h]
\centering
\begin{tabular}{ll}
\toprule
A & B\\
\bottomrule
\end{tabular}
\caption{Caption of table in first chapter.}\label{tbl:firsttbl}
\end{table}
% MULTIPART FIGURE
\begin{figure}[!h]
\centering
\begin{subfigure}{\textwidth}
\centering
\includegraphics[width=0.02\textwidth]{example-image}
\phantomsubcaption\label{fig:multi:a}
\end{subfigure}
\begin{subfigure}{0pt}
\phantomsubcaption\label{fig:multi:b}
\end{subfigure}
\caption{Caption of figure referring to parts \subref{fig:multi:a} and \subref{fig:multi:b} with subref command.}\label{fig:multi}
\end{figure}
% I NEED TO CHANGE THE FOLLOWING FIGURE TO A SCHEME (SINGLE-PART SCHEME)
\begin{figure}[!h]
\centering
\includegraphics[width=0.02\textwidth]{example-image-a}
\caption{Caption of eventual scheme.}\label{scm:eventualscheme}
\end{figure}
% I NEED TO CHANGE THE FOLLOWING FIGURE TO A SCHEME (MULTI-PART SCHEME, BUT ONLY WITH ONE IMAGE)
\begin{figure}[!h]
\centering
\begin{subfigure}{\textwidth}
\centering
\includegraphics[width=0.02\textwidth]{example-image-b}
\phantomsubcaption\label{scm:eventualmultischeme:a}
\end{subfigure}
\begin{subfigure}{0pt}
\phantomsubcaption\label{scm:eventualmultischeme:a}
\end{subfigure}
\caption{Caption of eventual scheme referring to parts \subref{fig:multi:a} and \subref{fig:multi:b} with subref command.}\label{scm:eventualmultischeme}
\end{figure}
\chapter{Second chapter}
Text in the second chapter.
Refer to \cref{fig:secondfig}.
% Another example figure
\begin{figure}[!h]
\centering
\includegraphics[width=0.02\textwidth]{example-image}
\caption{Caption of figure in second chapter.}\label{fig:secondfig}
\end{figure}
\end{document}

Antworten
Hier ist , wie Sie kombinieren können chemmacros
" scheme
Modul mit subcaption
und cleveref
. Ich habe auch den Referenzstil geändert, um ihn an die Unterfiguren anzupassen.
Leider \listofschemes
scheint derzeit nicht mit der book
Klasse kompatibel zu sein (siehe auch: entsprechender Fehlerbericht ). Ich habe daher report
für folgende MWE verwendet:
- Liste der Schemata:

- Verweise auf Schemata und Teilschemata:

- Bildunterschriften von Schemata:

\documentclass[oneside,11pt]{report}
\usepackage[semibold,tt=false]{libertine}
\usepackage{libertinust1math}
\usepackage[font={sf,small},labelsep=quad,labelfont=sc]{caption}
\usepackage[subrefformat=parens]{subcaption}
\usepackage[
expansion = false ,
tracking = smallcaps ,
letterspace = 40 ,
]{microtype}
\usepackage{booktabs}
\usepackage{acro}
\acsetup{
barriers/use, barriers/reset,
use-id-as-short,
}
\newcommand{\ie}{i.e.}
\newcommand{\eg}{e.g.}
\newcommand{\cf}{cf.}
\newcommand{\avg}[1]{\overline{#1}}
\usepackage{mdframed}
\usepackage{chemformula}
\setchemformula{charge-hshift=.5pt}
\usepackage{chemmacros}
\chemsetup{modules=scheme}
\AtEndPreamble{\DeclareCaptionSubType*{scheme}\counterwithin{scheme}{chapter}\renewcommand\thesubscheme{\thescheme\alph{subscheme}}}
\usepackage{graphicx}
\usepackage{enumitem}
\usepackage{calc}
\usepackage{tabto}
\usepackage[titles]{tocloft}
\setlength{\cftfignumwidth}{2.9em}
\setlength{\cfttabnumwidth}{2.9em}
\usepackage{xpatch}
\makeatletter
\xapptocmd{\@chapter}{\addtocontents{los}{\protect\addvspace{10\p@}}}{}{}
\makeatother
\usepackage[capitalize]{cleveref}
\crefformat{subscheme}{\schemename~#2#1#3}
\begin{document}
\addcontentsline{toc}{chapter}{\listfigurename}
\listoffigures
% \phantomsection %% Remove if using hyperref
\addcontentsline{toc}{chapter}{\listtablename}
\listoftables
\addcontentsline{toc}{chapter}{\listschemename}
\listofschemes
\chapter{First chapter}
Text in the first chapter.
Refer to \cref{fig:firstfig} using cleveref package.
Refer to \cref{tbl:firsttbl}.
Refer to \cref{fig:multi}, \cref{fig:multi:a}, and \cref{fig:multi:b}.
Refer to eventual scheme, \cref{scm:eventualscheme}.
Refer to eventual multi-part scheme, \cref{scm:eventualmultischeme}, \cref{scm:eventualmultischeme:a}, and \cref{scm:eventualmultischeme:b}.
\begin{figure}[!h]
\caption{Caption of figure in first chapter.}\label{fig:firstfig}
\end{figure}
\begin{table}[!h]
\caption{Caption of table in first chapter.}\label{tbl:firsttbl}
\end{table}
\begin{figure}[!h]
\begin{subfigure}{\textwidth}
\phantomsubcaption\label{fig:multi:a}
\end{subfigure}
\begin{subfigure}{0pt}
\phantomsubcaption\label{fig:multi:b}
\end{subfigure}
\caption{Caption of figure referring to parts \subref{fig:multi:a} and \subref{fig:multi:b} with subref command.}\label{fig:multi}
\end{figure}
\begin{scheme}[!h]
\caption{Caption of scheme.}\label{scm:eventualscheme}
\end{scheme}
\begin{scheme}[!h]
\begin{subfigure}{\textwidth}
\phantomsubcaption\label{scm:eventualmultischeme:a}
\end{subfigure}
\begin{subfigure}{0pt}
\phantomsubcaption\label{scm:eventualmultischeme:b}
\end{subfigure}
\caption{Caption of scheme referring to parts \subref{fig:multi:a} and \subref{fig:multi:b} with subref command.}\label{scm:eventualmultischeme}
\end{scheme}
\chapter{Second chapter}
Text in the second chapter.
Refer to \cref{fig:secondfig}.
\begin{figure}[!h]
\caption{Caption of figure in second chapter.}\label{fig:secondfig}
\end{figure}
\begin{scheme}[!h]
\caption{Caption of scheme.}\label{scm:eventualscheme2}
\end{scheme}
\end{document}
Laden Sie das newfloat
Paket und das scheme
Modul für chemmacros
.
Sie müssen nur eine subscheme
Umgebung für einrichten subcaption
, was zu Beginn des Dokuments erfolgen muss.
Ich habe tocbibind
zum Hinzufügen \listoffigures
und \listoftables
zum Inhaltsverzeichnis geladen . Ihre manuelle Methode ist falsch: Sie sollten mindestens \cleardoublepage
vorher haben \addcontentsline
.
\documentclass[oneside,11pt]{book}
\usepackage[semibold,tt=false]{libertine}
\usepackage{libertinust1math}
\usepackage[font={sf,small},labelsep=quad,labelfont=sc]{caption}
\usepackage[subrefformat=parens]{subcaption}
\usepackage{newfloat}
\usepackage[
expansion = false ,
tracking = smallcaps ,
letterspace = 40 ,
]{microtype}
\usepackage{booktabs}
\usepackage{acro}
\usepackage{mdframed}
\usepackage{chemformula}
\usepackage{chemmacros}
\usepackage{graphicx}
\usepackage{enumitem}
\usepackage{calc}
\usepackage{tabto}
\usepackage[titles]{tocloft}
\usepackage[nottoc]{tocbibind}
\usepackage[capitalize]{cleveref} % should be last
% acro options
\acsetup{
barriers/use, barriers/reset,
use-id-as-short,
}
% chemmacros options
\usechemmodule{scheme}
% chemformula options
\setchemformula{charge-hshift=.5pt}
% tocloft options
\setlength{\cftfignumwidth}{2.9em}
\setlength{\cfttabnumwidth}{2.9em}
% caption options
\AtBeginDocument{\DeclareCaptionSubType*[alph]{scheme}}
% personal commands
\newcommand{\ie}{i.e.}
\newcommand{\eg}{e.g.}
\newcommand{\cf}{cf.}
\newcommand{\avg}[1]{\overline{#1}}
\begin{document}
\tableofcontents
\listoffigures
\listoftables
\listofschemes
\chapter{First chapter}
Text in the first chapter.
Refer to \cref{fig:firstfig} using cleveref package.
Refer to \cref{tbl:firsttbl}.
Refer to \cref{fig:multi}, \cref{fig:multi:a}, and \cref{fig:multi:b}.
Refer to eventual scheme, \cref{scm:eventualscheme}.
Refer to eventual multi-part scheme, \cref{scm:eventualmultischeme}.
% Example figure
\begin{figure}[!h]
\centering
\includegraphics[width=0.02\textwidth]{example-image}
\caption{Caption of figure in first chapter.}\label{fig:firstfig}
\end{figure}
% Example table
\begin{table}[!h]
\centering
\begin{tabular}{ll}
\toprule
A & B\\
\bottomrule
\end{tabular}
\caption{Caption of table in first chapter.}\label{tbl:firsttbl}
\end{table}
% MULTIPART FIGURE
\begin{figure}[!h]
\centering
\begin{subfigure}{0.45\textwidth}
\centering
\includegraphics[width=0.02\textwidth]{example-image}
\phantomsubcaption\label{fig:multi:a}
\end{subfigure}
\begin{subfigure}{0.45\textwidth}
\includegraphics[width=0.02\textwidth]{example-image}
\phantomsubcaption\label{fig:multi:b}
\end{subfigure}
\caption{Caption of figure referring to parts \subref{fig:multi:a} and \subref{fig:multi:b} with subref command.}\label{fig:multi}
\end{figure}
\begin{scheme}[!h]
\centering
\includegraphics[width=0.02\textwidth]{example-image-a}
\caption{Caption of eventual scheme.}\label{scm:eventualscheme}
\end{scheme}
\begin{scheme}[!h]
\centering
\begin{subscheme}{0.45\textwidth}
\centering
\includegraphics[width=0.02\textwidth]{example-image-a}
\phantomsubcaption\label{scm:eventualmultischeme:a}
\end{subscheme}
\begin{subscheme}{0.45\textwidth}
\includegraphics[width=0.02\textwidth]{example-image-b}
\phantomsubcaption\label{scm:eventualmultischeme:b}
\end{subscheme}
\caption{Caption of eventual scheme referring to parts \subref{fig:multi:a} and \subref{fig:multi:b} with subref command.}\label{scm:eventualmultischeme}
\end{scheme}
\chapter{Second chapter}
Text in the second chapter.
Refer to \cref{fig:secondfig}.
% Another example figure
\begin{figure}[!h]
\centering
\includegraphics[width=0.02\textwidth]{example-image}
\caption{Caption of figure in second chapter.}\label{fig:secondfig}
\end{figure}
\end{document}
Wie @leandriis in den Kommentaren feststellte, macht das chemmacros
Paket anscheinend bereits das, was Sie wollen.
Andernfalls müssen Sie nur die Zeilen hinzufügen
\usepackage{newfloat}
\DeclareFloatingEnvironment[fileext=los,placement={!ht},name=Scheme]{myscheme}
\captionsetup[myscheme]{labelfont=bf}
\crefname{myscheme}{scheme}{schemes}
zu Ihrer Präambel und kann dann einen neuen Float-Typ myscheme
ähnlich wie verwenden figures
. Die Liste der Schemata wird mit erstellt \listofmyschemes
.