![Wie kann ich mit Subfig und Floatrow eine korrekte Beschriftung von Unterabbildungen erreichen?](https://rvso.com/image/305913/Wie%20kann%20ich%20mit%20Subfig%20und%20Floatrow%20eine%20korrekte%20Beschriftung%20von%20Unterabbildungen%20erreichen%3F.png)
Ich verwende subfig
und floatrow
zur Verwaltung von Unterabbildungen. Ohne floatrow
funktioniert alles einwandfrei, aber ich muss floatrow
die Bildunterschriften einfach ausrichten können, wie im subfig
Handbuch erklärt.
Durch Anpassung des Beispiels auf Seite 37 des Handbuchs und mitetwas Hilfe von Gonzalo Medina, ich habe diesen Code:
\documentclass{article}
\usepackage{graphicx,subfig}
\usepackage[heightadjust=all,valign=c]{floatrow}
\usepackage{fr-subfig}
\begin{document}
\thisfloatsetup{subfloatrowsep=none}
\begin{figure}[!htbp]
\captionsetup[subfigure]{justification=centering}
\floatbox{figure}{%
\caption{%
Components of the system: Penguins (\ref{fig:a}), Jumpers (\ref{fig:b}), Thingies (\ref{fig:c}), Cabbages (\ref{fig:d}) and Nuclear Warheads (\ref{fig:e})%
}\label{fig:x}%
}{%
\begin{subfloatrow}%
\subfloat[Penguins were here and here and here]{%
\label{fig:a}\includegraphics[height=.1\textheight]{example-image-a}}
\qquad
\subfloat[Penguin]{%
\label{fig:b}\includegraphics[height=.15\textheight]{example-image-b}}
\qquad
\subfloat[Penguin]{%
\label{fig:c}\includegraphics[height=.125\textheight]{example-image-a}}
\end{subfloatrow}
\begin{subfloatrow}
\subfloat[Penguin]{%
\label{fig:d}\includegraphics[height=.15\textheight]{example-image-b}}
\qquad
\subfloat[Penguins were here, there and everywhere!]{%
\label{fig:e}\includegraphics[height=.2\textheight]{example-image-a}}
\end{subfloatrow}}
\end{figure}
\ref{fig:x} \ref{fig:a} \ref{fig:c} \ref{fig:e}
\end{document}
Aber offensichtlich stimmt etwas mit der Nummerierung der Bildunterschriften nicht. Das sollte alles Abbildung 1 sein, aber es beginnt mit 4 und wird dann um weitere 2 erhöht. Ich habe versucht, die Beschriftungen an andere Stellen zu verschieben, aber obwohl LaTeX mir anzeigt, dass sich die Referenzen geändert haben, erhalte ich immer noch dasselbe Ergebnis. Ich habe auch versucht, die .aux
Datei usw. zu entfernen. Aber auch hier erhalte ich immer noch 4 für die Abbildung und 6 für die Unterabbildungen.
Wie geht man dabei richtig vor?
Antwort1
Dies ergibt die richtige Ausgabe:
\documentclass{article}
\usepackage{graphicx,subfig}
\usepackage[heightadjust=all,valign=c]{floatrow}
\usepackage{fr-subfig}
\begin{document}
\thisfloatsetup{subfloatrowsep=qquad}
\begin{figure}[!htbp]
\captionsetup[subfigure]{justification=centering}
\ffigbox{%
\begin{subfloatrow}[3]%
\ffigbox[\FBwidth]{\caption{Penguins were here and here and here}\label{fig:a}}{%
\includegraphics[height=.1\textheight]{example-image-a}}
\ffigbox[\FBwidth]{\caption{Penguin}\label{fig:b}}{%
\includegraphics[height=.15\textheight]{example-image-b}}
\ffigbox[\FBwidth]{\caption{Penguin}\label{fig:c}}{%
\includegraphics[height=.125\textheight]{example-image-a}}
\end{subfloatrow}
\begin{subfloatrow}
\ffigbox[\FBwidth]{\caption{Penguin}\label{fig:d}}{%
\includegraphics[height=.15\textheight]{example-image-b}}
\ffigbox[\FBwidth]{\caption{Penguins were here, there and everywhere!}\label{fig:e}}{%
\includegraphics[height=.2\textheight]{example-image-a}}
\end{subfloatrow}%
}{%
\caption{Components of the system: Penguins (\ref{fig:a}), Jumpers (\ref{fig:b}), Thingies (\ref{fig:c}), Cabbages (\ref{fig:d}) and Nuclear Warheads (\ref{fig:e})\label{fig:x}}%
}
\end{figure}
\ref{fig:x} \ref{fig:a} \ref{fig:c} \ref{fig:e}
\end{document}
Das Problem scheint die Kombination floatrow
von Befehlen mit Subfigs zu sein \subfloat
(ich vermute, dass die Verwendung von Befehlen aus beiden Paketen dazu führt, dass die Zähler in die falsche Richtung gehen (wenn jedes Paket die Kontrolle übernimmt, gehen die Zähler weiter)); sobald alles floatrow
nur mit Befehlen erledigt wird, verschwindet das Problem; beachten Sie, dass dies auch
\thisfloatsetup{subfloatrowsep=qquad}
verhalten sich wie erwartet, so dass jetzt keine manuellen Anpassungen mehr nötig sind (ich habe dazu auch einen Kommentar hinzugefügt indiese andere Frage).