Seite 1 von 1

\caption{}-Bildüberschrift dynamisch an Bildbreite anpassen

Verfasst: Do 20. Nov 2014, 18:14
von maxiw
Hallo zusammen,

ich würde gerne sowohl meine Bildüberschrift als auch meine Bildunterschrift dynamisch an die Breite des Bildes anpassen. Ich weiß, dass man mit \captionsetup{} die Breite anpassen kann, allerdings sind meine Bilder nicht immer gleich groß. Außerdem kenne ich die Breite oft garnicht Kann man das irgendwie global machen?

Hier ein Minimalbsp.:
\documentclass{scrreprt}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage[demo]{graphicx}
\usepackage{tabularx}

\usepackage[format=hang, justification=raggedright, singlelinecheck=false, labelfont=bf]{caption}

\begin{document}

\begin{figure}[htbp]
\centering%
\captionabove{Bildüberschrift}%
\frame{\includegraphics{grafik}}%
\captionsetup{labelformat=empty}
\captionbelow{Hier steht die Bildunterschrift, die auch gerne einmal etwas länger ist.}
\end{figure}

\end{document}
Vielen, vielen Dank schonmal im Vorraus!

Verfasst: Do 20. Nov 2014, 19:43
von Besserwisser
Davon abgesehen dass dafür ein Beispiel im KOMA-Script-Buch zu finden ist, gibt es auch noch das Paket threeparttable, das auch für Abbildungen zu diesem Zweck eine Umgebung enthält.

Spätestens bei schmalen Bildern wird es aber lächerlich.

Verfasst: Fr 21. Nov 2014, 10:44
von maxiw
Das hilft mir jetzt nicht wirklich weiter, könnte mir das jemand bitte etwas genauer erklären?

Verfasst: Fr 21. Nov 2014, 10:55
von u_fischer

Verfasst: Fr 21. Nov 2014, 11:06
von maxiw
Super, das hilft. Es löst aber mein Problem leider noch nicht vollständig.

Verstehe ich das richtig, dass
\setlength{\captionmargin}{20pt}
den Abstand vom Seitenrand angibt?

Da ich aber unterschiedlich große Grafiken habe, ist dieser ja auch immer unterscheidlich. Wenn ich das also in mein Dokument einfüge, ist der Titel z.B. bei einer Breiten Tabelle zu weit eingerückt und bei einer schmalereren Grafik zuweit außen. Ich hoffe ich versteht, was ich meine.

Verfasst: Fr 21. Nov 2014, 11:10
von u_fischer
Wieso probierst du die (beiden) Antworten nicht aus, statt zu theoretisieren? Und testest dann, was genau captionmargin macht? Und wenn es nicht funktioniert, kannst du dann ja ein Beispiel zeigen.

Verfasst: Fr 21. Nov 2014, 11:27
von maxiw
Ich habe es ausprobiert, und es war genau so.

Hier das Beispiel:
\documentclass{scrreprt}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage[demo]{graphicx}
\usepackage{tabularx}

\usepackage[format=hang, justification=raggedright, singlelinecheck=false, labelfont=bf]{caption}

\setlength{\captionmargin}{2cm}

\newsavebox\mybox
\newlength\myboxlen

\newcommand{\figcap}[2]{%
\sbox\mybox{#1}
\settowidth{\myboxlen}{\usebox{\mybox}}
\centering
\usebox\mybox
\hskip \textwidth
\parbox{\myboxlen}{#2}
}

\begin{document}

\begin{figure}[htbp]
\centering%
\captionabove{Bildüberschrift}%
\includegraphics{draft}
\captionbelow{Hier steht die Bildunterschrift, die auch gerne einmal etwas länger ist.}
\end{figure}


\begin{table}[h]
\centering
\caption{Vergleich Definitionen Kreativität}
\begin{tabular}{|p{7cm}|p{4cm}|} \hline
	\textbf{Definition Kreativität} & \textbf{Autor / Quelle} \\ \hline
	Text Spalte 1 & Text Spalte 2 \\ \hline
	Text Spalte 1 & Text Spalte 2 \\ \hline
\end{tabular}
\end{table}

\end{document}

Verfasst: Fr 21. Nov 2014, 16:56
von esdd
Verwendest Du tatsächlich bei den Bildern gleichzeitig Bildunter- und Bildüberschrift? Das irritiert mich.

Verfasst: Fr 21. Nov 2014, 17:00
von u_fischer
maxiw hat geschrieben:Ich habe es ausprobiert, und es war genau so.

Hier das Beispiel:
\documentclass{scrreprt}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage[demo]{graphicx}
\usepackage{tabularx}

\usepackage[format=hang, justification=raggedright, singlelinecheck=false, labelfont=bf]{caption}

\setlength{\captionmargin}{2cm}

\newsavebox\mybox
\newlength\myboxlen

\newcommand{\figcap}[2]{%
\sbox\mybox{#1}
\settowidth{\myboxlen}{\usebox{\mybox}}
\centering
\usebox\mybox
\hskip \textwidth
\parbox{\myboxlen}{#2}
}

\begin{document}

\begin{figure}[htbp]
\centering%
\captionabove{Bildüberschrift}%
\includegraphics{draft}
\captionbelow{Hier steht die Bildunterschrift, die auch gerne einmal etwas länger ist.}
\end{figure}


\begin{table}[h]
\centering
\caption{Vergleich Definitionen Kreativität}
\begin{tabular}{|p{7cm}|p{4cm}|} \hline
	\textbf{Definition Kreativität} & \textbf{Autor / Quelle} \\ \hline
	Text Spalte 1 & Text Spalte 2 \\ \hline
	Text Spalte 1 & Text Spalte 2 \\ \hline
\end{tabular}
\end{table}

\end{document}
Wieso definierst du den \figcap-Befehl und benutzt ihn dann gar nicht?