Problem bei Bildunterschrift mit \subfloat

Tabellen und Grafiken erstellen und anordnen


19gonzo04
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Fr 31. Aug 2018, 12:48

Problem bei Bildunterschrift mit \subfloat

Beitrag 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.

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

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

Gast

Beitrag 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.

19gonzo04
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Fr 31. Aug 2018, 12:48

Beitrag von 19gonzo04 »

Vielen Dank, beide Antworten funktionierten!

Schönes Wochenende

19gonzo04
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Fr 31. Aug 2018, 12:48

Beitrag 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.

Antworten