PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ausrichtung subfloat-captions bei Tabelle+Bild nebeneinander



Bastian82
13-01-2008, 18:22
Liebe Latex-Freunde,

habe den gestrigen Tag damit zugebracht, eine Lösung für folgendes Problem zu ergooglen:

Innerhalb einer figure-Umgebung will ich per subfloat und minipage eine Tabelle und eine Grafik nebeneinander platzieren. Die beiden Objekte sind natürlich unterschiedlich hoch. Nun sollen die subfloat-captions zu den beiden aber auch auf gleicher Höhe sein. Ein bereits oft nachgefragtes Thema, ich weiß. Erschwerend kommt hinzu: Innerhalb der minipages skaliere ich die Tabelle per \resizebox, damit sie eben in die minipage passt.... Gibt es hier eine Lösung ohne "Handarbeit", sprich, ohne exakte Maße anzugeben? Die Umgebung muss ich nämlich noch verdammt oft bauen, und da wäre es schön, die Geschichte könnte sich an die jeweiligen Maße von Tabelle/Grafik selbst anpassen...

Hier mein Minimalbeispiel:

\documentclass{scrreprt}
\usepackage[german]{babel}
\usepackage[ansinew]{inputenc}
\usepackage{subfig}
\usepackage{graphicx}

\begin{document}
\begin{figure}[h!!]
\subfloat[erste Caption]{
\begin{minipage}[p]{0.5\linewidth}
\resizebox{\textwidth}{!}{
\begin{tabular}{cc}
a & b \\
123 & 222\\
333 & 444
\end{tabular}}
\end{minipage}}
\subfloat[zweite Caption]{
\begin{minipage}[p]{0.5\linewidth}
\centering
\rule{2cm}{2cm}
\end{minipage}}
\caption{Gesamtcaption}
\end{figure}
\end{document}

Ein paar kluge Antworten würden mir ne Menge Altersfalten weniger bescheren...

Bastian

sommerfee
13-01-2008, 19:28
(Eigenwerbung an)

Mit dem subcaption-Paket geht's:


\documentclass{scrreprt}
\usepackage[german]{babel}
\usepackage{caption,subcaption}
\usepackage{graphicx}

\begin{document}
\begin{figure}[h!!]
\subcaptionbox{erste Caption}[0.5\linewidth]{%
\resizebox{0.5\linewidth}{!}{%
\begin{tabular}{cc}
a & b \\
123 & 222\\
333 & 444
\end{tabular}}}%
\subcaptionbox{zweite Caption}[0.5\linewidth]{%
\centering
\rule{2cm}{2cm}}
\caption{Gesamtcaption}
\end{figure}
\end{document}

(Eigenwerbung aus)

Gruß,
Axel

Bastian82
13-01-2008, 19:46
Na danke für die flotte Antwort!
Leider meckert mein TeXnicCenter... "File subcaption.sty not found"...
Was tun?

Bastian

sommerfee
13-01-2008, 19:50
"File subcaption.sty not found"...
Was tun?

Update dein caption-Paket auf die aktuelle Version v3.1f.
(Das geht bei MikTeX mit dem Update-Wizard.)

Gruß,
Axel

P.S.: Die Anleitung dazu gibt es z.B. hier: http://www.ctan.org/get/macros/latex/contrib/caption/subcaption.pdf

Bastian82
14-01-2008, 14:44
...off topic:

der update wizard klappt nicht. "the repository list could not be downloaded for the following reason: Not found"

Ich habe dann das neue caption-Paket vom ctan-server gezogen und den entpackten caption-Ordner unter miktex\tex\latex abgelegt. Beim compilieren beschwert sich das TeXnicCenter trotzdem weiterhin: "subcaption.sty not found". Eine *.sty-Datei liegt dem Paket ja aber auch nicht bei. Lediglich die Datei subcaption.dtx gibt es. Es scheint wohl durch: Hier blickt jemand den Unterbau des frontends nicht... Aber schonmal toll, dass ich hier Kontakt zum Autor des Pakets selbst habe :-)
Meine MikTeX-Version: 2.4.1705

Bastian

Bastian82
14-01-2008, 14:57
habe gesehen, dass die repositories für die 2.4er miktex-version wohl schon geschlossen wurden, daher der streikende update-wizard... ziehe mir gerade eine 2.7er version... vielleicht klappt dann alles? werden sehen...

Bastian82
14-01-2008, 20:32
tatsächlich. nun, zusammen mit dem 2.7er miktex klappt die sache mit dem subcaption-paket! vielen dank für die hilfe!

Bastian

TobiD
26-09-2008, 17:44
Hallo!
Ich hab den alten Thread gerade gefunden, und könnte die Funktionen auch gut brauchen. Soweit funktioniert alles, aber -
Kann ich das (a), was als subcaption angezeigt wird, verändern? Z.B. dass nur a dasteht, oder auch Formatierungen wie kleinere Schriftart u.ä.
Danke!

sommerfee
27-09-2008, 09:56
Kann ich das (a), was als subcaption angezeigt wird, verändern? Z.B. dass nur a dasteht, oder auch Formatierungen wie kleinere Schriftart u.ä.

Natürlich. (Fast) alle Optionen des caption-Paketes kann man auch beim Laden von subcaption bzw. subfig angeben, so ist z.b. die Option "labelformat" für die Thematik "a" oder "a)" oder "(a)" oder... zuständig.

Eine Auflistung der möglichen Optionen mit Beispielen findet sich in der Anleitung zum caption-Paket.

Gruß,
Axel

TobiD
28-09-2008, 12:08
Danke dir!
Und kann man auch den Zähler zurücksetzten? Ich verwende mehrere subcaptionboxes, und beim dritten heißen die Bilder e und f. Ich würde aber auch gern wieder a und b haben.
Greetz

sommerfee
28-09-2008, 16:07
Der Zähler wird normalerweise bei \caption zurückgesetzt (sofern kein \ContinuedFloat vorangestellt wird).

Wenn du keine \caption hast und auch keine haben willst, dann kann man den Zähler auch manuell mit


\setcounter{subfigure}{0}

zurücksetzen, oder aber den Abbildungszähler manuell erhöhen, dies setzt auch automatisch den Unter-Abbildungzähler zurück. Beispiel:



\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[demo]{graphicx}
\usepackage{caption,subcaption}

\begin{document}

\begin{figure}
\subcaptionbox{}{\includegraphics{bild1}}
\subcaptionbox{}{\includegraphics{bild2}}
\end{figure}

\begin{figure}
\subcaptionbox{}{\includegraphics{bild3}}
\subcaptionbox{}{\includegraphics{bild4}}
\end{figure}

\setcounter{subfigure}{0}
% oder \stepcounter{figure}

\begin{figure}
\subcaptionbox{}{\includegraphics{bild5}}
\subcaptionbox{}{\includegraphics{bild6}}
\end{figure}

\end{document}


Gruß,
Axel