Bildbreite bei subfigure

Tabellen und Grafiken erstellen und anordnen


ocir
Forum-Century
Forum-Century
Beiträge: 122
Registriert: Do 22. Jun 2017, 17:14

Bildbreite bei subfigure

Beitrag von ocir »

Hallo

Ich möchte zwei Bilder nebeneinander setzen. Beide Bilder sind gleich groß, 12 cm breit und 8 cm hoch.
\documentclass[
BCOR=5mm,           % Binderkorrektur von 5mm vorsehen
DIV=10,              % Seite in X Kästchen einteilen (Siehe Koma-Script Guide)
fontsize=12pt,      % Schriftgröße 12 Punkte
oneside,            % Einseitig
parskip,            % Paragraphen nicht einrücken
headsepline,        % Kopfzeile nach unten durch Linie abgrenzen (scrheadings)
plainheadsepline,   % Kopfzeile nach unten durch Linie abgrenzen (scrplain)
plainfootbotline,   % Fußzeile nach unten durch Linie abgrenzen (scrplain)
footsepline,        % Fußzeile nach oben durch Linie abgrenzen (scrheadings)
plainheadtopline,   % Kopfzeile nach oben durch Linie abgrenzen (scrplain)
plainfootsepline,   % Fußzeile nach oben durch Linie abgrenzen (scrplain)
bibliography=totoc, % Literaturverzeichnis ins Inhaltsverzeichnis aufnehmen
listof=totoc,         % Sonstige Verzeichnise ins Inhaltsverzeichnis aufnehmen
fleqn				%gibt Formeln linksbündig aus	
]{scrbook}          % Koma-Script Klasse zum setzen eines Buchs

\usepackage{blindtext}
\usepackage[demo]{graphicx}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[ngerman]{translator}
\usepackage[labelfont=bf, 
			format=plain, 
			font=small, 
			justification=RaggedRight, 
			singlelinecheck=false]{caption}
\usepackage{scrlayer-scrpage}

\pagestyle{scrheadings}
\clearscrheadfoot
\automark[section]{chapter}
\ohead[\sffamily\scshape\bfseries\large\headmark]
{\sffamily\scshape\bfseries\large\headmark}
\cfoot[\sffamily\thepage]{\sffamily\thepage}

\usepackage{listings}

\usepackage{graphicx}
\usepackage{wrapfig}
\usepackage{subcaption}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage[inner=3cm,outer=2.0cm,top=2cm,bottom=2.0cm,includeheadfoot]{geometry}

\begin{document}
\mainmatter

\blindtext

\begin{center}
	\begin{figure}
		\begin{subfigure}{0.5\textwidth}
		\centering
		\includegraphics[width=0.48\textwidth]{example-image}
		\subcaption{Bild 1}
		\end{subfigure}
%------------------------------------------------------------------------------------
		\begin{subfigure}{0.5\textwidth}
		\centering
		\includegraphics[width=0.48\textwidth]{example-image}
		\subcaption{Bild 2}
		\end{subfigure}
	\caption{Test}
	\label{abb_Test}
	\end{figure}	
\end{center}

\end{document}
Wie man sieht, sind die Bilder jedoch bei weitem nicht 0,48\textwidth breit. Woran liegt das?

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

Beitrag von Bartman »

Das \textwidth, welches der Option width von \includegraphics zugewiesen wird, orientiert sich an der subfigure-Umgebung, welche bei Dir auf die Hälfte der Seitenbreite eingestellt wurde.
\documentclass[
BCOR=5mm,           % Binderkorrektur von 5mm vorsehen
DIV=10,              % Seite in X Kästchen einteilen (Siehe Koma-Script Guide)
fontsize=12pt,      % Schriftgröße 12 Punkte
oneside,            % Einseitig
parskip,            % Paragraphen nicht einrücken
headsepline,        % Kopfzeile nach unten durch Linie abgrenzen (scrheadings)
plainheadsepline,   % Kopfzeile nach unten durch Linie abgrenzen (scrplain)
plainfootbotline,   % Fußzeile nach unten durch Linie abgrenzen (scrplain)
footsepline,        % Fußzeile nach oben durch Linie abgrenzen (scrheadings)
plainheadtopline,   % Kopfzeile nach oben durch Linie abgrenzen (scrplain)
plainfootsepline,   % Fußzeile nach oben durch Linie abgrenzen (scrplain)
bibliography=totoc, % Literaturverzeichnis ins Inhaltsverzeichnis aufnehmen
listof=totoc,         % Sonstige Verzeichnise ins Inhaltsverzeichnis aufnehmen
fleqn            %gibt Formeln linksbündig aus   
]{scrbook}          % Koma-Script Klasse zum setzen eines Buchs

\usepackage{blindtext}
%\usepackage[demo]{graphicx}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[ngerman]{translator}
\usepackage[labelfont=bf, 
         format=plain, 
         font=small, 
         justification=RaggedRight, 
         singlelinecheck=false]{caption}
\usepackage{scrlayer-scrpage}

\pagestyle{scrheadings}
\clearscrheadfoot
\automark[section]{chapter}
\ohead[\sffamily\scshape\bfseries\large\headmark]
{\sffamily\scshape\bfseries\large\headmark}
\cfoot[\sffamily\thepage]{\sffamily\thepage}

\usepackage{listings}

\usepackage{graphicx}
\usepackage{wrapfig}
\usepackage{subcaption}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage[inner=3cm,outer=2.0cm,top=2cm,bottom=2.0cm,includeheadfoot]{geometry}

\begin{document}
\mainmatter

\blindtext

\begin{figure}
	\centering
	\begin{subfigure}{0.48\textwidth}
		\centering
		\includegraphics[width=\textwidth]{example-image}
		\subcaption{Bild 1}
	\end{subfigure}
	\hfill
	\begin{subfigure}{0.48\textwidth}
		\centering
		\includegraphics[width=\textwidth]{example-image}
		\subcaption{Bild 2}
	\end{subfigure}
	\caption{Test}
	\label{abb_Test}
\end{figure}
\end{document}

ocir
Forum-Century
Forum-Century
Beiträge: 122
Registriert: Do 22. Jun 2017, 17:14

Beitrag von ocir »

Das ist doch dann aber komplett verdreht?! :roll:

Mit \includegraphics[width=0.48\textwidth]{example-image} sage ich doch, dass das Bild halb so breit wie die Textbreite sein soll.

Mit \begin{subfigure}{0.5\textwidth} sage ich, dass die Umgebung die Breite der halben Textbreite hat.

Und du schreibst es ja jetzt andersrum und sagst sogar, dass das Bild die Textbreite haben soll.

Oh man, irgendwann werde ich es wohl mal alles halbwegs verstehen :cry: Danke für eure Geduld!

markusv
Forum-Meister
Forum-Meister
Beiträge: 947
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag von markusv »

\textwidth spiegelt immer die jeweilige Breite wider, die Text in der Umgebung/der Gruppe einnehmen kann.
Die subfigure-Umgebung in deinem ersten Beispiel steht auf der "Original-"Seite und nimmt die Hälfte der Textbreite ein. Die \textwidth der Subfigure-Umgebung ist nun halb so groß wie die \textwidth der umgebenden Seite. Lässt du nun die Grafik innerhalb der Subfigure-Umgebung auf .48\textwidth begrenzen, bekommst du lediglich 24% der Seitentextbreite (0.5*0.48), da LaTeX die hier "gültige" Textbreite der Subfigure-Umgebung annimmt.
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

Gast

Beitrag von Gast »

markusv hat geschrieben:\textwidth spiegelt immer die jeweilige Breite wider, die Text in der Umgebung/der Gruppe einnehmen kann.
Das ist zu allgemein! Was du da beschreibst ist \linewidth. \textwidth ist dagegen die Breite des aktuellen Textbereichs. Das ist außerhalb von Umgebungen die Satzspiegelbreite. Es gibt aber Umgebungen, die \textwidth auf die innere Breite des Textbereichs setzen. In erster Linie ist das minipage und eben diverse von minipage abgeleitete Umgebungen wie varwidth (siehe Paket varwidth) oder eben subfigure von subcaption, da diese laut Anleitung (siehe Anmerkung am Ende von Abschnitt 3 der [d]subcaption[/d]-Anleitung) eigentlich minipage-Umgebungen sind. Wenn also etwas nach minipage riecht, dann ist \textwidth die Breite davon.

Neben \textwidth und \linewidth gibt es auch noch \columnwidth. Das ist die aktuelle Spaltenbreite. Diese wird in minipage ebenfalls auf die Breite der Umgebung gesetzt.

Antworten