Seite 1 von 1

Captionbreite (auf Bildbreite) setzen

Verfasst: Mo 24. Mär 2014, 23:19
von Alex_C
Hallo Forum,

total simple Angelegenheit - denke ich - hab aber noch kein Lösung gefunden:
die Captions unter den Bilder in meinem Dokument sind alle gleich breit (vlt 5cm oder so). Z.T. sind die captions sehr lang was mit unter zu viel vertikalen Platz kostet.

Hier mein Haupdokument:
\documentclass[a4paper,12pt,oneside,DIV12]{scrreprt}

\usepackage[ngerman, english]{babel} 

%Mathematischer Formelsatz
\usepackage{amsmath} % WICHTIG

%Bilder
\usepackage{graphicx}% Paket zum Eindbinden von Graphiken
\graphicspath{{images/}}% beim Einbinden von Bildern muss nicht der ganze Pfad eingegeben werden
\usepackage{subfigure} % um Bilder nebeneinander platzieren zu k�nnen
%\usepackage[justification=centering]{caption} % bilder caption mittig
\usepackage{float} % um bilder genau platieren zu können
\usepackage{caption}

%Verzeichnisse
\usepackage[printonlyused]{acronym}
Bilder binde ich folgendermaßen ein:
\begin{figure}[H]
  \centering
  \begin{minipage}{.5\linewidth}
  \setlength{\abovecaptionskip}{5pt}
  \noindent
\makebox[\textwidth]{ % verwende ich damit das Bild mittig ist
  \includegraphics[scale=1]{bild.eps}} % scale=1 o.ä. wichtig für meine Arbeit
  \caption{laaaaaaaaaaaaaaaaaaaaaaaaaaaaang.}
  \label{fig:label}
  \end{minipage}
\end{figure}
Man muss doch irgendwo die Breite der Caption einstellen können, oder? Entweder auf einen festen Wert (z.B. 8 cm) oder an die Breite der Bilder angepasst.

Danke schonmal!

Grüße Alex

Verfasst: Di 25. Mär 2014, 08:27
von Johannes_B
Warum bastelst du die Minipage da rein? Benötigst du diese wirklich? Gleiches gilt für das Paket float.
\documentclass[a4paper,12pt,oneside,DIV12]{scrreprt}
\usepackage[ngerman, english]{babel}

%\usepackage{graphicx}% Paket zum Eindbinden von Graphiken
%\graphicspath{{images/}}
%\usepackage{subfigure} %Das Paket ist veraltet, nutze lieber subcaption
%\usepackage[justification=centering]{caption} % bilder caption mittig
%\usepackage{float} %Lass das mal lieber, das bringt dir keine Punkte
\usepackage{caption}
\usepackage{blindtext}

%\usepackage[printonlyused]{acronym} 

\begin{document}
\begin{figure}[ht]
  \centering
  \fbox{
  \begin{minipage}{.5\linewidth}
  \setlength{\abovecaptionskip}{5pt} %Sowas solltest du global festlegen
  \noindent
\makebox[\textwidth]{ % verwende ich damit das Bild mittig ist %Warum?
	\rule{\linewidth}{5cm}
}
  \caption{\blindtext.}
  \label{fig:label}
  \end{minipage}}
\end{figure} 
\blindtext[2]

\begin{figure}%kein optionales Argument, freies Gleiten
	\centering %Wenn du alle zentrierst, solltest du das
%	global festlegen
	\rule{.7\textwidth}{7cm}
	\caption[Beschriftung im LOF]{\blindtext}
	\label{fig:eineindeutigesLabel}
\end{figure}

\blindtext

\begin{figure}
	\centering 
	\rule{.7\textwidth}{7cm}
	\caption{kurze Beschriftung}
\end{figure}
\end{document}
Im code sind ein paar Anmerkungen, wenn du dazu noch fragen hast, dann sag einfach Bescheid.

Verfasst: Di 25. Mär 2014, 08:37
von esdd
Bitte schau dir mal den Unterschied zwischen \textwidth und \linewidth an. Mit \makebox[\textwidth] {...} stellst du dem Bild und der Beschriftung ausdrücklich die gesamte Textbreite zur Verfügung. Dann macht es keinen Sinn der Minipage für 0.5\linewidth zu zuweisen.
Eine Möglichkeit, die Bilder genau an der Stelle einzubinden, an der sie im Quelltext erscheinen ist:
\documentclass{scrreprt}
\usepackage{blindtext}
\begin{document}
\blindtext
\begin{center}
  \begin{minipage}{8cm}
  \centering
    \rule{\linewidth}{1cm}% statt Bild
    \captionof{figure}{\blindtext}
  \end{minipage}
\end{center}
\end{document}
Dann ist die Beschriftung genau so breit, wie die umgebende Minipage.

Du kannst aber auch mit
\setcapwidth[c]{8cm}
die Breite aller Beschriftungen vorgeben.

Gruß
Elke

Verfasst: Di 25. Mär 2014, 08:41
von Johannes_B

Verfasst: Di 25. Mär 2014, 23:28
von Alex_C
Merci! :D