Untertitel - Bildunterschrift neben der Abbildung

Untertitel - Bildunterschrift neben der Abbildung

Ich versuche, das subcaptionPaket zu verwenden (nicht subfig), um die Beschriftungen der Unterabbildungen neben der Abbildung zu generieren.

Ich habe viele ähnliche Fragen gefunden, aber alle Antworten (wieDieses hier) verwenden Sie subfigund floatrow. Ich habe versucht, floatrowmit zu verwenden subcaption(siehe MWI unten), aber ich konnte nicht dasselbe Verhalten erzeugen. Was übersehe ich?

Im subcaptionHandbuch heißt es ausdrücklich:

[f]ür eine erweiterte Nutzung der Untertitelfunktion des captionPakets schauen Sie sich bitte das floatrowPaket an

Das floatrowHandbuch gibt aber nur ein Beispiel für eine Bildunterschrift neben der Abbildung an subfig(S. 75).

Daher ist jede Hilfe sehr willkommen.

MWE:

\documentclass{scrartcl}

\usepackage{graphicx}
\usepackage[font=footnotesize,figurewithin=none]{caption}
\usepackage{subcaption}
\captionsetup{subrefformat=parens} % will result in references (typeset with \ref) like  1a  but sub-references (typeset with\subref) like  (a)
\usepackage{floatrow}
\floatsetup[subfigure]{style=plain,subcapbesideposition=top}
%\usepackage{subfig} % not compatible with subcaption

\begin{document}

\begin{figure}
  \centering
  \begin{subfigure}[t]{0.7\textwidth}
    \centering
    \includegraphics[width=0.7\textwidth]{example-image-a}
    \caption{}
    \label{subfig:a}
  \end{subfigure}
  \\
  \begin{subfigure}[t]{0.49\textwidth}
    \centering
    \includegraphics[width=\textwidth]{example-image-b}
    \caption{}
    \label{subfig:b}
  \end{subfigure}
  \hfill
  \begin{subfigure}[t]{0.49\textwidth}
    \centering
     \includegraphics[width=\textwidth]{example-image-c}
    \caption{}
    \label{subfig:c}
  \end{subfigure}
  \caption{Caption for all subfigs: \subref{subfig:a},\subref{subfig:b}, \subref{subfig:c}}
  \label{fig}
\end{figure}

\end{document}

Ausgabe von MWE:

Ausgabe von MWE

Antwort1

Anstatt herauszufinden, wie es funktioniert floatrow, war es einfacher, es einfach vorzutäuschen.

Es ist zu beachten, dass sich die [t]Option subfigureauf die erste Grundlinie bezieht, nicht auf die absolute Spitze. Sie richtet also die Unterseiten der Bilder aus und nicht die Bildunterschriften. Um die Oberseiten auszurichten, müssen Sie verwenden \raisebox. Tatsächlich gibt es überhaupt keinen Grund, die Bilder in Unterabbildungen einzufügen (nur die Bildunterschriften).

Die \raiseboxAufgabe der Überschrift bestand darin, automatisch einen Abstand zwischen den Zeilen zu erzeugen.

\documentclass{scrartcl}

\usepackage{graphicx}
\usepackage[font=footnotesize,figurewithin=none]{caption}
\usepackage{subcaption}
\captionsetup{subrefformat=parens} % will result in references (typeset with \ref) like  1a  but sub-references (typeset with\subref) like  (a)
%\usepackage{subfig} % not compatible with subcaption

\newcommand{\sidecaption}[1]% #1 = label name
{\raisebox{\abovecaptionskip}{\begin{subfigure}[t]{1.6em}
  \caption[singlelinecheck=off]{}% do not center
  \label{#1}
\end{subfigure}}\ignorespaces}

\begin{document}

\begin{figure}
  \centering
  \sidecaption{subfig:a}
  \raisebox{-\height}{\includegraphics[width=0.45\textwidth]{example-image-a}}

  \sidecaption{subfig:b}
  \raisebox{-\height}{\includegraphics[width=0.45\textwidth]{example-image-b}}%
  \hfill
  \sidecaption{subfig:c}
  \raisebox{-\height}{\includegraphics[width=0.45\textwidth]{example-image-c}}
  \caption{Caption for all subfigs: \subref{subfig:a},\subref{subfig:b}, \subref{subfig:c}}
  \label{fig}
\end{figure}

\end{document}

Demo


Es ist zu beachten, dass dies nur eine von vielen Möglichkeiten ist, eine Seitenüberschrift zu formatieren. Im Folgenden wird das Subcaption-Paket überhaupt nicht verwendet. Andererseits wird auch für das Paket kein Eintrag geschrieben \listoffigures.

\newcounter{subfigure}[figure]% not needed with subcaption
\renewcommand{\thesubfigure}{\alph{subfigure}}

\newcommand{\sidecaption}[1]% #1 = label name
{\rule{0pt}{\abovecaptionskip}% create gap between rows
  \refstepcounter{subfigure}%
  \raisebox{-\height}{(\thesubfigure)~}% align
  \label{#1}\ignorespaces}

verwandte Informationen