
Zitat von
Ka55i0peia
Daher die Frage ob man eventuell den Darstellungs-Höhe (relativ zur Aufrufstelle) von marginpar regulieren kann.
z.B. \marginpar[above=50px][\captionof{figure}{Auf dem tollen ...}] oder so.
Hat jemand ne Idee?
Hier ist eine Lösung, die die Caption immer am Fuß enden lässt. Bei schmalen Abbildungen kann man auch optional eine kleinere Breite angeben, damit der Rand dann nicht genutzt wird. Zweiseitige Dokumente mit Links/Rechts wird beachtet.
Herbert
Code:
\documentclass[ngerman,twoside,a4paper]{article}
\usepackage[demo]{graphicx}
\usepackage{babel,calc,ifthen,blindtext}
\RequirePackage[%justification=RaggedRight,
font={sf,small},labelfont={sf,small,bf},%
aboveskip=5pt,belowskip=5pt,margin=0pt]{caption}
\newsavebox\tempbox
\newlength\fullwidth
\makeatletter
\newlength\de@Width
\newlength\de@sepWidth\de@sepWidth=3mm
\newlength\de@Indent\setlength\de@Indent{\textwidth+\marginparwidth}
\fullwidth=\de@Indent
\def\Figure{\@ifnextchar[\Figure@i{\Figure@i[]}}
\def\Figure@i[#1]{\@ifnextchar[{\Figure@ii[#1]}{\Figure@ii[#1][\fullwidth]}}
\def\Figure@ii[#1][#2]#3{%
\def\OptCaption{#1}%
\setlength\de@Width{#2}\addtolength\de@Width{-\de@sepWidth}%
\setlength\de@Indent{#2}\addtolength\de@Indent{-\textwidth}%
\def\Caption{#3}%
\begin{lrbox}{\tempbox}}
\def\endFigure{%
\end{lrbox}\begin{figure}[!htb]%
\abovecaptionskip=0pt\belowcaptionskip=0pt
\ifthenelse{\isodd{\pageref{\thefigure:WideTable}}}%
{\minipage{\de@Width}\minipage[b]{\wd\tempbox}
\usebox\tempbox\endminipage\kern\de@sepWidth%
\minipage[b]{\de@Width-\wd\tempbox}\label{\thefigure:WideTable}%
\ifx\relax\OptCaption\relax\caption{\Caption}\else\caption[\OptCaption]{\Caption}\fi%
\endminipage\endminipage}%
{\ifdim\de@Width>\textwidth \hspace*{-\de@Indent}\fi\minipage{\de@Width}%
\minipage[b]{\de@Width-\wd\tempbox}\label{\thetable:WideTable}%
\ifx\relax\OptCaption\relax\caption{\Caption}\else\caption[\OptCaption]{\Caption}\fi%
\endminipage\kern\de@sepWidth%
\minipage[b]{\wd\tempbox}\usebox\tempbox\endminipage\endminipage}%
\end{figure}}
\makeatother
\begin{document}
\title{foo}\author{bar}
\maketitle
\blindtext
\begin{Figure}{Meine sagenhaft tolle Bildbeschriftung\label{fig:0}}
\includegraphics[width=5cm]{foo}
\end{Figure}
\blindtext
\begin{Figure}[Alternative für LOF]{\blindtext}
\includegraphics[width=8cm]{foo}
\end{Figure}
\blindtext
\begin{Figure}[Alternative für LOF][\textwidth]{Meine wieder sagenhaft tolle Bildbeschriftung}
\includegraphics[width=4cm]{foo}
\end{Figure}
\blindtext Siehe auch Abbildung~\ref{fig:0}
\begin{Figure}[][0.8\textwidth]{Meine wieder sagenhaft tolle Bildbeschriftung}
\includegraphics[width=4cm]{foo}
\end{Figure}
\listoffigures
\end{document}
Herbert
Lesezeichen