subtítulo - título al lado de la figura

subtítulo - título al lado de la figura

Estoy intentando utilizar el subcaptionpaquete (no subfig) para generar las etiquetas de las subfiguras al lado de la figura.

He encontrado muchas preguntas similares, pero todas las respuestas (comoÉste) uso subfigy floatrow. Intenté usar floatrowwith subcaption(ver MWI a continuación), pero no pude generar el mismo comportamiento. ¿Qué me estoy perdiendo?

El subcaptionmanual establece explícitamente que

[f]para un uso más avanzado de la función de subtítulos del captionpaquete, eche un vistazo al floatrowpaquete

pero el floatrowmanual sólo da un ejemplo de un título al lado de la figura usando subfig(p.75).

Así que cualquier ayuda es muy apreciada.

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}

Producción de MWE:

Producción de MWE

Respuesta1

En lugar de descubrir cómo hacer que floatrowfuncionara, era más fácil fingir.

Cabe señalar que la [t]opción de subfigurese refiere a la primera línea base, no a la parte superior absoluta, por lo que lo que hace es alinear las partes inferiores de las imágenes en lugar de los pies de foto. Para alinear las partes superiores necesitas usar \raisebox. De hecho, no hay ninguna razón para poner las imágenes en subfiguras (solo los títulos).

El \raiseboxobjetivo del título era producir automáticamente un espacio entre filas.

\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}

manifestación


Cabe señalar que esta es sólo una de las muchas formas posibles de formatear un título lateral. Lo siguiente no utiliza el paquete de subtítulos en absoluto. OTOH, tampoco escribe una entrada para ninguno de los \listoffiguresdos.

\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}

información relacionada