Discussion:
Positionierung mit subfig-Paket
(zu alt für eine Antwort)
Jesco
2005-05-01 19:00:08 UTC
Permalink
Hallo,

ich nutze das subfig-Paket um Grafiken u.ä. nebeneinander zu setzen. Bei
gleichzeitiger Einbindung von Graphiken und Tabellen werden die
Objekte horizontal nicht richtig ausgerichtet. In der Hilfe des
subfig-Pakets steht dazu folgender Hinweis:

The subfig package aligns sub-floats along their baselines with the
sub-caption (if any) sticking out above or below.
...
or if one sub-float is generated in some other way with its baseline
not at the expected place (perhaps an \includegraphics), then the
sub-float will be misaligned. One solution is to use the environment
options [t] or [b] to move the baseline to the top or bottom rather than
the center.

Was ist gemeint mit der "environment option" top/bottom? Unten meine
figure-Umgebung. Würde mich freuen, wenn mir jemand sagt, wie die
auszusehen hat.

Danke,
Jesco

\begin{figure}[h]
\centering \subfloat[chi(k)]{
\includegraphics[width=7cm]{grafik1.eps} }
\subfloat[FT(chi(R))]{
\includegraphics[width=2cm]{grafik2.eps} }
\subfloat[Fitparameter]{
\begin{tabular}{|l|l|}
\hline
k-R & 2-15 \\
dk & 0 \\
\hline
\end{tabular}
}
\caption{Messdaten}
\end{figure}
Rolf Niepraschk
2005-05-02 07:48:49 UTC
Permalink
Jesco wrote:
...
Post by Jesco
\begin{figure}[h]
\centering \subfloat[chi(k)]{
\includegraphics[width=7cm]{grafik1.eps} }
\subfloat[FT(chi(R))]{
\includegraphics[width=2cm]{grafik2.eps} }
\subfloat[Fitparameter]{
\begin{tabular}{|l|l|}
\hline
k-R & 2-15 \\
dk & 0 \\
\hline
\end{tabular}
}
\caption{Messdaten}
\end{figure}
Das ist _kein_ Minimalbeispiel! Sowas führt zu Lustlosigkeit der hier
Antwortenden.

...Rolf
Jesco
2005-05-02 08:04:27 UTC
Permalink
Sorry, das ist mein erster Kontakt mit dieser Mailingliste. Ich denke
mit 'Minimalbeispiel' ist gemeint, dass der Code noch gekürzt werden
kann um trotzdem den Sachverhalt darzustellen. Das mache ich gerne:

\begin{figure}
\subfloat[titelA]{
\includegraphics[width=7cm]{grafik1.eps} }
\subfloat[titelB]{
\begin{tabular}{|l|l|}
a & b \\
c & d \\
\end{tabular}
}
\end{figure}

Wie muss ich den Code ändern um die beiden Untertitel vertikal
auszurichten? Die Hilfe zum Paket subfig, in dem der \subfloat-Befehl
definiert wird lautet:
"One solution is to use the environment options [t] or [b] to move the
baseline to the top or bottom rather than the center."

Ich weiß aber nicht wo ich diese Optionen einstellen soll.

Danke und Gruß,
Jesco
Post by Rolf Niepraschk
...
Post by Jesco
\begin{figure}[h]
\centering \subfloat[chi(k)]{
\includegraphics[width=7cm]{grafik1.eps} }
\subfloat[FT(chi(R))]{
\includegraphics[width=2cm]{grafik2.eps} }
\subfloat[Fitparameter]{
\begin{tabular}{|l|l|}
\hline
k-R & 2-15 \\
dk & 0 \\
\hline
\end{tabular}
}
\caption{Messdaten}
\end{figure}
Das ist _kein_ Minimalbeispiel! Sowas führt zu Lustlosigkeit der hier
Antwortenden.
...Rolf
Stefan Lagotzki
2005-05-02 10:46:03 UTC
Permalink
Post by Jesco
Sorry, das ist mein erster Kontakt mit dieser Mailingliste. Ich denke
mit 'Minimalbeispiel' ist gemeint, dass der Code noch gekürzt werden
Ein Minimalbeispiel muss vor allem *lauffähig* sein. Nur auf
diese Weise kann man es schnell und effizient testen. Also mit
Dokumentklasse, mit allen notwendigen Paketen und mit der richtigen
Syntax. Hier stimmt einiges nicht.
Post by Jesco
\begin{figure}
\subfloat[titelA]{
\includegraphics[width=7cm]{grafik1.eps} }
\subfloat[titelB]{
\begin{tabular}{|l|l|}
a & b \\
c & d \\
\end{tabular}
}
\end{figure}
Die Tabelle hat ein optionales Argument:
\begin{tabular}[b]{Spaltendeklarationen}

Stefan

.
Jesco
2005-05-02 14:16:48 UTC
Permalink
Hallo,
Danke an Stefan und Rolf. Habe mein Beispiel nochmal überarbeitet, dass
jetzt lauffähig ist. Der Fehler tritt trotz des Einfügens der Option [b]
bei der tabular-Umgebung immer noch auf.

Viele Grüße,
Jesco

\documentclass[a4paper]{report}

\usepackage{subfig}
\usepackage{graphicx}

\begin{document}

\begin{figure}
\subfloat[titelA]{
\rule[0pt]{1cm}{1cm} }
\subfloat[titelB]{
\begin{tabular}[b]{|l|l|}
a & b \\
c & d \\
\end{tabular}
}
\end{figure}

\end{document}
Post by Stefan Lagotzki
Ein Minimalbeispiel muss vor allem *lauffähig* sein. Nur auf
diese Weise kann man es schnell und effizient testen. Also mit
Dokumentklasse, mit allen notwendigen Paketen und mit der richtigen
Syntax. Hier stimmt einiges nicht.
Post by Jesco
\begin{figure}
\subfloat[titelA]{
\includegraphics[width=7cm]{grafik1.eps} }
\subfloat[titelB]{
\begin{tabular}{|l|l|}
a & b \\
c & d \\
\end{tabular}
}
\end{figure}
\begin{tabular}[b]{Spaltendeklarationen}
Stefan
.
Stefan Lagotzki
2005-05-02 18:28:31 UTC
Permalink
Post by Jesco
Hallo,
Danke an Stefan und Rolf. Habe mein Beispiel nochmal überarbeitet, dass
jetzt lauffähig ist. Der Fehler tritt trotz des Einfügens der Option [b]
bei der tabular-Umgebung immer noch auf.
Also ich habe inzwischen mal in der FAQ nachgesehen und bin auf die
Frage

6.1.6 Wie kann ich in einer Abbildung zwei Bilder nebeneinander setzen?

gestoßen. Zitat:
"Ein(en) sehr viel bequemere(n) Weg, um mehrere zusammengehörende
Abbildungen oder Tafeln in einer Float-Umgebung zu setzen, bietet das
Paket 'subfigure'. Hierzu stellt das Paket die Anweisungen \subfigure
und \subtable zur Verfügung. Die Formatierung der Einzelabbildungen läßt
sich sehr leicht anpassen."

Damit habe ich dann folgendes probiert:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[]{article}
\usepackage{graphicx}
\usepackage{subfigure}

\begin{document}
\section{Test}
\begin{figure}
\subfigure[Ein langer Titel A]{%
\rule[0pt]{5cm}{1cm}%
}%
\subtable[Ein langer Titel B]{%
\begin{tabular}[b]{ccccc}
a & b & c & d & e \\
a & b & c & d & e \\
a & b & c & d & e \\
a & b & c & d & e \\
a & b & c & d & e \\
\end{tabular}
}%
\caption{Zwei Objekte}%
\end{figure}%
\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Vielleicht hilft das ja erst mal weiter.

Das Paket 'subfigure' ist zwar Anfang 2005 durch 'subfig' abgelöst
worden. Aber mit 'subfig' klappt die Ausrichtung hier auch nicht.

Stefan

.
Jesco
2005-05-03 09:20:46 UTC
Permalink
Hallo,

ja, mit dem Paket subfigure habe ich früher auch mal gearbeitet. Als ich
dann gesehen hatte, dass subfig die Nachfolge angetreten hat, habe ich
es eben damit probiert. Aber wenns nicht klappt, dann kehre ich wieder
dazu zurück. Offensichtlich ist den Erstellern von subfig aber das
Problem der vertikalen Ausrichtung durchaus bewußt, da sie explizit in
der Paketbeschreibung darauf eingehen. Nur verstehe ich die gegebene
Anweisung nicht.

Vielen Dank für die Hilfe,
Jesco
Post by Stefan Lagotzki
Also ich habe inzwischen mal in der FAQ nachgesehen und bin auf die
Frage
6.1.6 Wie kann ich in einer Abbildung zwei Bilder nebeneinander setzen?
"Ein(en) sehr viel bequemere(n) Weg, um mehrere zusammengehörende
Abbildungen oder Tafeln in einer Float-Umgebung zu setzen, bietet das
Paket 'subfigure'. Hierzu stellt das Paket die Anweisungen \subfigure
und \subtable zur Verfügung. Die Formatierung der Einzelabbildungen läßt
sich sehr leicht anpassen."
Vielleicht hilft das ja erst mal weiter.
Das Paket 'subfigure' ist zwar Anfang 2005 durch 'subfig' abgelöst
worden. Aber mit 'subfig' klappt die Ausrichtung hier auch nicht.
Stefan
Stefan Lagotzki
2005-05-03 10:18:24 UTC
Permalink
Post by Jesco
ja, mit dem Paket subfigure habe ich früher auch mal gearbeitet. Als ich
dann gesehen hatte, dass subfig die Nachfolge angetreten hat, habe ich
es eben damit probiert. Aber wenns nicht klappt, dann kehre ich wieder
dazu zurück. Offensichtlich ist den Erstellern von subfig aber das
Problem der vertikalen Ausrichtung durchaus bewußt, da sie explizit in
der Paketbeschreibung darauf eingehen. Nur verstehe ich die gegebene
Anweisung nicht.
Offenbar ist das aus der Dokumentation von "subfigure" in die
neue Dokumentation übernommen worden. Den selben Tipp gab es
auch schon in der alten Version. Und nachdem wir die Position
der Tabelle ausgerichtet haben, hat es ja mit "subfigure" auch
funktioniert.

Stefan

.
Ulrike Fischer
2005-05-03 10:27:20 UTC
Permalink
Jesco <***@spamgourmet.com> schrieb:

Bitte lerne zu zitieren. Stelle das TOFU ab.
Post by Jesco
Hallo,
Danke an Stefan und Rolf. Habe mein Beispiel nochmal überarbeitet, dass
jetzt lauffähig ist. Der Fehler tritt trotz des Einfügens der Option [b]
bei der tabular-Umgebung immer noch auf.
\documentclass[a4paper]{report}
\usepackage{subfig}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\subfloat[titelA]{
\rule[0pt]{1cm}{1cm} }
\subfloat[titelB]{
\begin{tabular}[b]{|l|l|}
a & b \\
c & d \\
\end{tabular}
}
\end{figure}
\end{document}
Das hat nichts mit subfig zu tun. Deine beiden Objekte sind perfekt
ausgerichtet: Die Grundline des \rule ist genau auf Höhe der Grundlinie
der untersten Zeile der Tabelle. Dein Problem ist, dass die Tabelle
eine Tiefe hat, die die \rule nicht hat, du musst sie also etwas heben:

\documentclass[a4paper]{report}

\usepackage{subfig}
\usepackage{graphicx}

\begin{document}

\begin{figure}
\subfloat[titelA]{
\rule[0pt]{1cm}{1cm} }
\subfloat[titelB]{
\raisebox{\depth}{\begin{tabular}[b]{|l|l|}
a & b \\
c & d \\
\end{tabular}}
}
\end{figure}

\end{document}
--
Ulrike Fischer
e-mail: zusätzlich meinen Vornamen vor dem @ einfügen.
e-mail: add my first name between the news and the @.
Jesco
2005-05-03 11:25:25 UTC
Permalink
Post by Ulrike Fischer
Das hat nichts mit subfig zu tun. Deine beiden Objekte sind perfekt
ausgerichtet: Die Grundline des \rule ist genau auf Höhe der Grundlinie
der untersten Zeile der Tabelle. Dein Problem ist, dass die Tabelle
\documentclass[a4paper]{report}
\usepackage{subfig}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\subfloat[titelA]{
\rule[0pt]{1cm}{1cm} }
\subfloat[titelB]{
\raisebox{\depth}{\begin{tabular}[b]{|l|l|}
a & b \\
c & d \\
\end{tabular}}
}
\end{figure}
\end{document}
Damit funktioniert es jetzt, vielen Dank!
Gruß,
Jesco
Ulrike Fischer
2005-05-03 13:06:24 UTC
Permalink
Post by Jesco
Post by Ulrike Fischer
Dein Problem ist, dass die Tabelle
Damit funktioniert es jetzt, vielen Dank!
Du kannst alternativ auch die \rule in eine tabular stecken:

\begin{figure}
\subfloat[titelA]{
\begin{tabular}[b]{l}\rule[0pt]{1cm}{1cm}
\end{tabular}}
\subfloat[titelB]{
\begin{tabular}[b]{|l|l|}
a & b \\
c & d
\end{tabular}
}
\end{figure}

Die Ausrichtung von \rule und tabular ist dann etwas anders als bei
meinem ersten Vorschlag. Du hast die Wahl ...
--
Ulrike Fischer
e-mail: zusätzlich meinen Vornamen vor dem @ einfügen.
e-mail: add my first name between the news and the @.
Jesco
2005-05-03 14:52:48 UTC
Permalink
Post by Jesco
\begin{figure}
\subfloat[titelA]{
\begin{tabular}[b]{l}\rule[0pt]{1cm}{1cm}
\end{tabular}}
\subfloat[titelB]{
\begin{tabular}[b]{|l|l|}
a & b \\
c & d
\end{tabular}
}
\end{figure}
Die Ausrichtung von \rule und tabular ist dann etwas anders als bei
meinem ersten Vorschlag. Du hast die Wahl ...
Damit funktioniert es auch, aber bei Verwendung von \raisebox{\depth}
gefällt mir die untere Ausrichtung von Tabelle und Box besser.

Vielen Dank für die Hilfe,
Jesco

Rolf Niepraschk
2005-05-02 11:18:55 UTC
Permalink
Post by Jesco
Sorry, das ist mein erster Kontakt mit dieser Mailingliste. Ich denke
mit 'Minimalbeispiel' ist gemeint, dass der Code noch gekürzt werden
Der Code muss alles Nötige enthalten. Und zusätzlich soll er so kurz wie
möglich sein:

==> http://www.latex-einfuehrung.de/

...Rolf
Loading...