PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Vertikale Ausrichtung von Tabellen, Bildern etc



Ford Prefect
11-06-2008, 14:34
Hi folks,

ich arbeite schon einige Zeit mit LaTeX und habe mir viel selbst beigebracht, aber bei manchen Sachen komme ich einfach nicht weiter, deshalb hab ich mich jetzt mal entschlossen, nachzufragen.

Also: Ich habe öfters das Problem, dass ich eine Aufzählung habe und hinter den Aufzählungszeichen oft gleich eine Tabelle oder eine eingebundene pdf- oder jpg-Datei kommt. Dann steht das Aufzählungszeichen meistens in der Mitte oder unten (relativ zum Objekt dahinter), und das sieht ja blöd aus. Ich kann außerdem nicht direkt nach dem Aufzählungszeichen eine neue Zeile beginnen, da LaTeX meint "there's no line here to end". Wie bekomme ich es hin, dass mein Aufzählungszeichen oben steht?

Code-Beispiel (benötigt graphicx-package):


\begin{itemize}
\item[a)] %wird vertikal zur Mitte der Tabelle angeordnet
\begin{tabular}{|c|} \hline foo \\ \hline bar \\ \hline \end{tabular}
\item[b)] %wird ganz unten angeordnet relativ zur eingebundenen pdf
\includegraphics[width=4.2cm]{spam.pdf}
\item[c)] \\ %erzeugt einen Fehler, wie kann ich den umgehen?
\end{itemize}

Sabrina.Dankers
11-06-2008, 15:04
Hallo,

es ist ja auch nicht sinnvoll, direkt nach dem Aufzählungszeichen eine neue Zeile anzufangen. Du musst dir eine unsichtbare Stütze machen (siehe Quellcode).

Bei den Tabellen gibst du als Positionierung einfach t für top an und Bilder kannst du mit \raisebox verschieben. Die werden üblicherweise in der Zeile eingefügt und mit der Unterkante auf die Grundlinie gesetzt.


Also: Ich habe öfters das Problem, dass ich eine Aufzählung habe und hinter den Aufzählungszeichen oft gleich eine Tabelle oder eine eingebundene pdf- oder jpg-Datei kommt. Dann steht das Aufzählungszeichen meistens in der Mitte oder unten (relativ zum Objekt dahinter), und das sieht ja blöd aus. Ich kann außerdem nicht direkt nach dem Aufzählungszeichen eine neue Zeile beginnen, da LaTeX meint "there's no line here to end". Wie bekomme ich es hin, dass mein Aufzählungszeichen oben steht?

Code-Beispiel (benötigt graphicx-package):


\begin{itemize}
\item[a)] %genau wenn du nichts anderes angibst.
\begin{tabular}[t]{|c|} \hline foo \\ \hline bar \\ \hline \end{tabular}
\item[b)] %das ist korrekt so, musst also das Bild verschieben.
\raisebox{-4.2cm}{\includegraphics[width=4.2cm]{spam.pdf}}
\item[c)] \rule{1mm}{0mm}\\ %unsichtbare Stütze einbauen. Am einfachsten eine Linie mit Höhe Null.
\end{itemize}

Ford Prefect
11-06-2008, 15:16
Funktioniert alles wunderbar, danke.

Stefan_K
11-06-2008, 15:29
Hallo,

statt \item[c)] \rule{1mm}{0mm}\\ könnte man auch schneller \item[c)]~\\ schreiben. Oder, um Linie und Leerzeichen ganz zu vermeiden: \item[c)]\leavevmode\\.
Warum verwendest Du die itemize-Umgebung für eine Aufzählung? Dafür gibt es enumerate. Ein analoges Beispiel damit und entsprechend angepassten Labeln:

\renewcommand*\theenumi{\alph{enumi}}
\renewcommand*\labelenumi{\theenumi)}
\begin{enumerate}
\item
\begin{tabular}[t]{|c|} \hline foo \\ \hline bar \\ \hline
\end{tabular}
\item \raisebox{-4.2cm}{\includegraphics[width=4.2cm]{nellly.jpg}}
\item\leavevmode\\
Test
\end{enumerate}
Mit dem enumerate-Paket (http://www.ctan.org/tex-archive/help/Catalogue/entries/enumerate.html) oder paralist (http://www.ctan.org/tex-archive/help/Catalogue/entries/paralist.html) gehts noch einfacher, dann benötigt man die ersten beiden Zeilen oben nicht.

Viele Grüße,

Stefan

Ford Prefect
11-06-2008, 15:38
Ich muss zugeben, dass ich enumerate nicht gekannt habe. Ich habe von Anfang an itemize verwendet und nie nach Alternativen geschaut ;). Danke für den Hinweis.