Bearbeiten des Referenzstils für Unterabbildungen mit cleveref und memoir

Bearbeiten des Referenzstils für Unterabbildungen mit cleveref und memoir

Ich verwende das cleverefPaket, um Floats (in diesem Fall Subfigures) in der memoirKlasse zu referenzieren. Derzeit sieht die Ausgabe so aus (tut mir leid für das Dänisch, ich glaube nicht, dass das wichtig ist): Unterfiguren in Memoiren mit cleveref

Verwenden Sie die folgende Eingabe (natürlich sind nicht alle Pakete enthalten):

\documentclass[oneside,article,12pt,danish]{memoir}
\usepackage{graphicx}
\newsubfloat{figure}
\captiontitlefont{\slshape}
\subcaptionfont{\slshape}

\usepackage{varioref}
\usepackage{hyperref}
\usepackage{cleveref}

\begin{document}

\begin{figure}[h!]
  \centering
  \subbottom[Subfigure 1 caption]{\rule{3cm}{1cm}\label{sub1}}
  \hspace{1cm}
  \subbottom[Subfigure 2 caption]{\rule{3cm}{1cm}\label{sub2}}
\caption{Figure text.}
\label{fig:secondfig}
\end{figure}

\cref{sub1,sub2}

\end{document}

Mir gefällt, wie die Abbildungen/Unterabbildungen aufgebaut sind, aber ich hätte gerne, dass die Referenz „ 5aoder“ 5.aanstelle von lautet 5(a), ohne die Bildunterschriften zu ändern. Gibt es eine allgemeine Möglichkeit, dies im gesamten Dokument zu tun, sodass es leicht in eine etwas zufällige Notation geändert werden kann?

Antwort1

Diese Lösung vermeidet das Laden captionund behält dadurch die Möglichkeiten von bei memoir. Zumindest scheint es so, obwohl meine Tests eher minimal waren. Kommentieren Sie die entsprechende Zeile aus bzw. fügen Sie sie ein, um die Formatierung mit oder ohne Punkt zu erreichen, je nach Lust und Laune.

\documentclass[oneside,article,12pt,danish]{memoir}
\newsubfloat{figure}
\captiontitlefont{\slshape}
\subcaptionfont{\slshape}

% \renewcommand{\thesubfigure}{\alph{subfigure}}% plain version
\renewcommand{\thesubfigure}{.\alph{subfigure}}% dotted version
\makeatletter
\renewcommand{\@thesubfigure}{(\alph{subfigure})%
    \if@tightsubcap\hskip\subfloatlabelskip\else\space\fi}
\makeatother

\usepackage{varioref}
\usepackage{hyperref}
\usepackage{cleveref}

\begin{document}

\begin{figure}[h!]
  \centering
  \subbottom[Subfigure 1 caption]{\rule{3cm}{1cm}\label{sub1}}
  \hspace{1cm}
  \subbottom[Subfigure 2 caption]{\rule{3cm}{1cm}\label{sub2}}
\caption{Figure text.}
\label{fig:secondfig}
\end{figure}

\cref{sub1,sub2}

\end{document}

Unterabbildungen mit abweichendem Referenzformat in <code>Memoiren</code>

Wenn Sie laden würden xcolor, könnten Sie (paradoxerweise) nur die Verweise auf die unter der Abbildung stehenden Teile in großen, blauen Kleinbuchstaben setzen, ohne die Bildunterschriften oder andere Verweise zu beeinträchtigen:

\renewcommand{\thesubfigure}{\Huge\color{blue}.\alph{subfigure}}% dotted version

bizarre Formatierung

Dies wäre natürlich eine schreckliche Wahl, zeigt aber, dass das Format problemlos „in eine einigermaßen zufällige Notation geändert“ werden kann, während das Format der Untertitel und die Schnittstelle von beibehalten werden memoir.

Antwort2

OK, hier ist ein Teilvorschlag zur Verwendung subfigvon und caption. Ich habe die Memoir-Klasse noch nie verwendet. Wenn ich Artikel verwende, sind die Abbildungen mit „1.a“ gekennzeichnet, wenn ich zu Memoir wechsle, erhalte ich „0.1.a“. Ein Teil Ihres Codes lässt sich bei mir nicht kompilieren. Ich habe ihn auskommentiert. Ich habe die Abbildung so geändert, dass sie mehr wie mein eigener Code aussieht (also subfloatnicht subbottom), weil ich Letzteres noch nie verwendet habe. Ich habe die Antwort auf die Frage eingefügt, auf die ich zuvor verlinkt habe.

Mit den oben genannten Vorbehalten bezüglich des nicht kompilierenden Codes macht mein Beispiel hier also in Bezug auf die Abbildungsbeschriftung das, was Sie wollen (glaube ich).

Es gibt wahrscheinlich eine bessere Lösung.

\documentclass[12pt]{memoir}
\usepackage{graphicx}



%%%%These do not work for me - is there a missing package?
%\newsubfloat{figure}
%\captiontitlefont{\slshape}
%\subcaptionfont{\slshape}
%%%%

\usepackage{varioref}
\usepackage{hyperref}
\usepackage{cleveref}

\usepackage[font=sl,labelfont=up]{caption}
\usepackage[font=sl,labelfont=up]{subfig}

\renewcommand\thesubfigure{\alph{subfigure}} % default: "(\alph{subfigure})"
\makeatletter
\renewcommand{\p@subfigure}{\thefigure.} % default: "\thefigure" (without the ".")
\makeatother


\begin{document}


\begin{figure}
  \centering
  \subfloat[Subfigure 1 caption]{\rule{3cm}{1cm}\label{sub1}}
  \hspace{1cm}
  \subfloat[Subfigure 2 caption]{\rule{3cm}{1cm}\label{sub2}}
\caption{Figure text.}
\label{fig:secondfig}
\end{figure}

\cref{sub1,sub2}

\end{document}

verwandte Informationen