Seite 1 von 1

Problem bei Bildunterschrift mit \subfloat

Verfasst: Fr 21. Sep 2018, 15:32
von 19gonzo04
Guten Tag liebe Forengemeinde,
gerne würde ich zwei Bilder nebeneinander setzen und neben einer allgemeinen Abbildungsunterschrift noch für jedes Bild eine eigene unterschrift setzen. Ich habe im Minimalbeispiel die Bilder mit \rule grob nachgestellt. Das Problem:

Das eine Bild ist viel schmaler als das andere und die Fläche für die Bildunterschrift ist nur ungefähr so breit wie das Bild. D.h.
Die linke Caption sieht so aus:
(a) blablablabla blabla
Und die rechte so:
(b)
bla-
bla-
bla-
bla
bla

Ich hätte gerne, dass beide Bildunterschriften in einer Reihe stehen und die Bilder sich zur Not etwas wegdrücken.

Ich hoffe es ist verständlich was ich meine.

\documentclass[a4paper,12pt, abstract=on]{scrreprt}
\usepackage[left= 2.5cm,right = 2cm, bottom = 4 cm]{geometry}

% Standard Packages
\usepackage[utf8]{inputenc}
\usepackage[main=ngerman, english]{babel}

%Für Grafiken
\usepackage{graphicx, subfig}

\begin{document}

\begin{figure}[ht]
   %\centering
      \subfloat[blablablab labla]{\rule{5cm}{1cm}}\qquad
      \subfloat[blablablabla blabla]{\rule{1cm}{1cm}}
      \caption{blablablabla}
\end{figure}

\end{document}
EDIT: Das \centering war eigentlich gesetzt, habe es probeweise auskommentiert und vergessen es wieder zu aktivieren.

Verfasst: Fr 21. Sep 2018, 16:33
von Bartman
Mit subfig kenne ich mich nicht so aus, aber mit subcaption könnte ich mir, aufgrund Deiner Beschreibung, folgendes Beispiel vorstellen:
\documentclass[fontsize=12pt]{scrreprt}
\usepackage[left=2.5cm, right=2cm, bottom=4cm, showframe]{geometry}

% Standard Packages
\usepackage[utf8]{inputenc}
\usepackage[main=ngerman, english]{babel}

%Für Grafiken
\usepackage{graphicx, subcaption}

\begin{document}
\begin{figure}[htbp]
	\centering
	\begin{subfigure}{5cm}
		\rule{\textwidth}{1cm}
		\caption{blablablab labla}
	\end{subfigure}\qquad
	\begin{subfigure}{5cm}
		\centering
		\rule{1cm}{1cm}
		\caption{blablablabla blabla}
	\end{subfigure}
	\caption{blablablabla}
\end{figure}
\end{document}

Verfasst: Fr 21. Sep 2018, 17:02
von Gast
Bei subfig kann man mit einer zusätzlichen \makebox die Breite vorgeben:
\documentclass[a4paper,12pt, abstract=on]{scrreprt}
\usepackage[left= 2.5cm,right = 2cm, bottom = 4 cm]{geometry}

% Standard Packages
\usepackage[utf8]{inputenc}
\usepackage[main=ngerman, english]{babel}

%Für Grafiken
\usepackage{graphicx, subfig}

\begin{document}

\begin{figure}[ht]
   \centering
      \subfloat[blablablab labla]{\makebox[.45\textwidth]{\rule{5cm}{1cm}}}\qquad
      \subfloat[blablablabla blabla]{\makebox[.45\textwidth]{\rule{1cm}{1cm}}}
      \caption{blablablabla}
\end{figure}

\end{document}
Man könnte auch eine \parbox oder eine minipage verwenden, muss dann aber zusätzlich nochmal \centering verwenden, während bei \makebox die Zentrierung die Voreinstellung ist bzw. einfach per weiterem optionalem Argument die Ausrichtung geändert werden kann (siehe [d]usrguide[/d]).

Trotzdem würde auch ich eher subcaption verwenden.

Verfasst: Fr 21. Sep 2018, 17:14
von 19gonzo04
Vielen Dank, beide Antworten funktionierten!

Schönes Wochenende

Verfasst: Mo 24. Sep 2018, 09:06
von 19gonzo04
Guten Morgen nochmal. Ich bin erst jetzt dazu gekommen den Code in meiner Arbeit einzubinden und es hat nun auch geklappt. Ich habe erstere Lösung, wie empfohlen verwendet, weil die zweite hinterher im kompletten Text dann doch nicht so funktionierte, aber ich habe letztenendes auch keine riesige Fehleranalyse mehr gemacht.

Ich schreibe nocheinmal, weil ich empfehlen würde noch ein zweites \centering zu verwenden, da bei mir die erste Bildunterschrift nicht zentriert war. Also:
\begin{figure}[H]
   \centering
   \begin{subfigure}{.45\textwidth}
   	  \centering
      \includegraphics[scale=0.5]{xxxx}
      \caption{xxxx}
   \end{subfigure}\qquad
   \begin{subfigure}{.45\textwidth}
      \centering
      \includegraphics[scale=0.5]{xxxx}
      \caption{xxxx}
   \end{subfigure}
   \caption{xxxx}
\end{figure}
Im Minimalbeispiel hat die zweite Lösung funktioniert, vielleicht verträgt sie sich mit einem anderen Paket nicht... Aber egal, wollte nur die Ergänzung nochmal einbringen, falls jemand ähnliche Probleme hat. Vielen Dank Euch beiden.