stator
08-11-2007, 21:39
Hi!
Ich schreibe grade eine Arbeit mit Latex und da ist eine Styledatei vorgeschrieben, die ich verwenden muss. In dieser Datei sind die captions für die figures umdefiniert worden. Für captions die über mehrere Zeilen gehen funktioniert das bei einer reinen figures Umgebung sehr gut. Allerdings wenn ich zwei Bilder mittels minipages nebeneinander platziere und dort ebenfalls captions über mehrere Zeilen habe spinnt die Ausgabe. Ich verstehe mich zwar relativ gut mit Latex, aber mit style-Dateien hatte ich noch nie was am Hut. Vielleicht könnt ihr mir weiterhelfen. Ich hab schon gegooglet und hier im Forum gesucht, allerdings hab ich nichts brauchhaftes gefunden. Eventuell weiß ja auch jemand, ob es irgendwo eine Beschreibung für solche Styledateien gibt. Vielen Dank schonmal!
Hier nochmal das Minimalbeispiel.
test.tex:
\documentclass{article}
\usepackage{teststyle}
\begin{document}
\begin{figure}
\centering
\begin{minipage}[b]{.4\linewidth}
{\rule{5cm}{5cm}}
\caption{test test test test test test test test test test test test test test test test test test test test test test test test test test}
\end{minipage}
\hfill
\begin{minipage}[b]{.4\linewidth}
{\rule{5cm}{5cm}}
\caption{test test test test test test test test test test test test test test test test test test test test test test test test test test}
\end{minipage}
\end{figure}
\begin{figure}
\centering
{\rule{5cm}{5cm}}
\caption{test test test test test test test test test test test test test test test test test test test test test test test test test test}
\end{figure}
\end{document}
teststyle.sty:
\newlength{\captwidth}
\setlength{\captwidth}{\linewidth}
\addtolength{\captwidth}{-10mm}
\newlength{\captind}
\setlength{\captind}{10mm}
\renewcommand\figurename{Abb.}
\long\def\@makecaption#1#2{%
\vskip\abovecaptionskip
\sbox\@tempboxa{{\footnotesize \textsc{#1}: #2}}%
\ifdim \wd\@tempboxa > \captwidth
\hspace{\captind}\parbox[t]{\captwidth}{{\footnotesize \textsc{#1}.: #2}} %
\else
\global \@minipagefalse
\hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
\fi
\vskip\belowcaptionskip
}
Ich schreibe grade eine Arbeit mit Latex und da ist eine Styledatei vorgeschrieben, die ich verwenden muss. In dieser Datei sind die captions für die figures umdefiniert worden. Für captions die über mehrere Zeilen gehen funktioniert das bei einer reinen figures Umgebung sehr gut. Allerdings wenn ich zwei Bilder mittels minipages nebeneinander platziere und dort ebenfalls captions über mehrere Zeilen habe spinnt die Ausgabe. Ich verstehe mich zwar relativ gut mit Latex, aber mit style-Dateien hatte ich noch nie was am Hut. Vielleicht könnt ihr mir weiterhelfen. Ich hab schon gegooglet und hier im Forum gesucht, allerdings hab ich nichts brauchhaftes gefunden. Eventuell weiß ja auch jemand, ob es irgendwo eine Beschreibung für solche Styledateien gibt. Vielen Dank schonmal!
Hier nochmal das Minimalbeispiel.
test.tex:
\documentclass{article}
\usepackage{teststyle}
\begin{document}
\begin{figure}
\centering
\begin{minipage}[b]{.4\linewidth}
{\rule{5cm}{5cm}}
\caption{test test test test test test test test test test test test test test test test test test test test test test test test test test}
\end{minipage}
\hfill
\begin{minipage}[b]{.4\linewidth}
{\rule{5cm}{5cm}}
\caption{test test test test test test test test test test test test test test test test test test test test test test test test test test}
\end{minipage}
\end{figure}
\begin{figure}
\centering
{\rule{5cm}{5cm}}
\caption{test test test test test test test test test test test test test test test test test test test test test test test test test test}
\end{figure}
\end{document}
teststyle.sty:
\newlength{\captwidth}
\setlength{\captwidth}{\linewidth}
\addtolength{\captwidth}{-10mm}
\newlength{\captind}
\setlength{\captind}{10mm}
\renewcommand\figurename{Abb.}
\long\def\@makecaption#1#2{%
\vskip\abovecaptionskip
\sbox\@tempboxa{{\footnotesize \textsc{#1}: #2}}%
\ifdim \wd\@tempboxa > \captwidth
\hspace{\captind}\parbox[t]{\captwidth}{{\footnotesize \textsc{#1}.: #2}} %
\else
\global \@minipagefalse
\hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
\fi
\vskip\belowcaptionskip
}