Seite 1 von 2
Bilder in tabularx vertikal mittig zentrieren
Verfasst: Fr 19. Feb 2016, 14:39
von icecoldkilla
Hey,
ich habe eine Tabelle mit tabularx erstellt und dort gibt es auch eine Spalte mit Bildern. Die eingefügten Bilder sind jedoch immer um wenige mm nach oben verrückt und gehen über die \hline. Schaut natürlich nicht so toll aus. Wie kann ich das Bild vertikal in der Tabelle zentrieren. Im Anang ein Bild, wie es gerade ausschaut, hier das Minimalbeispiel:
\documentclass{scrreprt}
\usepackage{tabularx}
\usepackage{graphicx}
\begin{document}
\begin{table}
\begin{tabularx}{\linewidth}{c}
\textbf{Bild}\\
\hline
\includegraphics[scale=0.02]{Abbildungen/Lastregler_alt/1n4001.jpg} \\
\end{tabularx}
\end{table}
\end{document}
Verfasst: Fr 19. Feb 2016, 15:01
von Besserwisser
Das ist kein vollständiges
Minimalbeispiel und ich glaube auch nicht, dass es das beigefügte Bild produziert.
Verfasst: Fr 19. Feb 2016, 15:08
von icecoldkilla
Das angehängte Bild ist nicht ganz das Minimalbeispiel, da hast du recht Besserwisser, das angehängte Bild soll lediglich das Problem aufzeigen.
Hier nochmal mit Demo Bild.
\documentclass{scrreprt}
\usepackage{tabularx}
\usepackage[demo]{graphicx}
\begin{document}
\begin{table}
\begin{tabularx}{\linewidth}{c}
\textbf{Bild}\\
\hline
\includegraphics\\
\end{tabularx}
\end{table}
\end{document}
Verfasst: Fr 19. Feb 2016, 15:38
von esdd
Eine Möglichkeit wäre das optionale Argument von \raisebox für die Angabe einer etwas größeren Höhe zu verwenden. Dabei kann \height, also die tatsächliche Höhe des Boxinhaltes, um \dp\strutbox, d.h. die Tiefe einer Strutbox, vergrößern.
\documentclass{scrreprt}
\usepackage{tabularx}
\usepackage[demo]{graphicx}
\begin{document}
\begin{table}
\begin{tabularx}{\linewidth}{c}
\textbf{Bild}\\
\hline
\raisebox{0pt}[\dimexpr\height+\dp\strutbox]{\includegraphics[width=2cm]{example-image}}\\
\hline
\end{tabularx}
\end{table}
\end{document}

Verfasst: Fr 19. Feb 2016, 15:41
von Besserwisser
Das Bild liegt bei diesem Beispiel perfekt unter der Linie.
Davon abgesehen ergibt die Verwendung von tabularx im Beispiel nicht viel Sinn, da keine X-Spalte vorhanden ist. Außerdem ist im Beispiel das letzte \\ das obligatorische Argument von \includegraphics.
Verfasst: Fr 19. Feb 2016, 15:53
von icecoldkilla
esdd hat geschrieben:Eine Möglichkeit wäre das optionale Argument von \raisebox für die Angabe einer etwas größeren Höhe zu verwenden. Dabei kann \height, also die tatsächliche Höhe des Boxinhaltes, um \dp\strutbox, d.h. die Tiefe einer Strutbox, vergrößern.
\documentclass{scrreprt}
\usepackage{tabularx}
\usepackage[demo]{graphicx}
\begin{document}
\begin{table}
\begin{tabularx}{\linewidth}{c}
\textbf{Bild}\\
\hline
\raisebox{0pt}[\dimexpr\height+\dp\strutbox]{\includegraphics[width=2cm]{example-image}}\\
\hline
\end{tabularx}
\end{table}
\end{document}

Esdd, perfekt, so geht das Bild nicht mehr in eine andere Zeile über.
Der einzige wermutstropfen ist nur, dass das Bild nicht vertikal zentriert wird. Gibt es da auch eine Lösung dafür ?
Ach und an Besserwisser:
Dir ist hoffentlich bewusst, dass es sich um ein Minimalbeispiel handelt. Vielleicht ist da ja eine x-Spalte weggefallen oder vielleicht wars auch eine p{3cm} Spalte? Naja....
Verfasst: Fr 19. Feb 2016, 16:09
von Bartman
Es gäbe da noch das Paket
adjustbox.
Verfasst: Fr 19. Feb 2016, 16:35
von Besserwisser
icecoldkilla hat geschrieben:Dir ist hoffentlich bewusst, dass es sich um ein Minimalbeispiel handelt.
Dir ist hoffentlich klar, dass ein Minimalbeispiel das Problem zeigen sollte. Bei deinem Beispiel ist das offensichtlich nicht der Fall, da das Bild nicht wie behauptet oben über die Linie ragt.
icecoldkilla hat geschrieben:Der einzige wermutstropfen ist nur, dass das Bild nicht vertikal zentriert wird.
Inwiefern soll das Bild in Elkes Beispiel nicht vertikal zwischen den beiden horizontalen Linien zentriert sein? Vielleicht bin ich ja blind, aber das sieht für mich doch sehr zentriert aus.
Verfasst: Fr 19. Feb 2016, 16:44
von icecoldkilla
Besserwisser hat geschrieben:icecoldkilla hat geschrieben:Dir ist hoffentlich bewusst, dass es sich um ein Minimalbeispiel handelt.
Dir ist hoffentlich klar, dass ein Minimalbeispiel das Problem zeigen sollte. Bei deinem Beispiel ist das offensichtlich nicht der Fall, da das Bild nicht wie behauptet oben über die Linie ragt.
icecoldkilla hat geschrieben:Der einzige wermutstropfen ist nur, dass das Bild nicht vertikal zentriert wird.
Inwiefern soll das Bild in Elkes Beispiel nicht vertikal zwischen den beiden horizontalen Linien zentriert sein? Vielleicht bin ich ja blind, aber das sieht für mich doch sehr zentriert aus.
Ich hab mich im ersten Post möglicherweise etwas missverständlich ausgedrückt, das Bild ragt nicht über die \hline hinaus, aber in die \hline hinein. Und genau das tut es in meinem Beispiel.
1. Wer ist Elke
und 2. Ist das Bild nicht vertikal zentriert, wenn in der selben Zeile in einer anderen Spalte beispielsweise in länger Text drinsteht.
Besserwisser du machst deinem Namen wirklich alle Ehre, aber vielleicht postest du auch mal Lösungen anstatt zu meckern. Als Vorbild kannst du dir esdd und Bartman aussuchen

Verfasst: Fr 19. Feb 2016, 17:01
von Besserwisser
icecoldkilla hat geschrieben:Ich hab mich im ersten Post möglicherweise etwas missverständlich ausgedrückt, das Bild ragt nicht über die \hline hinaus, aber in die \hline hinein. Und genau das tut es in meinem Beispiel.
Bei deinem Code-Beispiel? Woran erkennst du da, dass der schwarze Kasten des Demo-Bildes in die schwarze Linie ragt?
icecoldkilla hat geschrieben:1. Wer ist Elke
esdd
icecoldkilla hat geschrieben:2. Ist das Bild nicht vertikal zentriert, wenn in der selben Zeile in einer anderen Spalte beispielsweise in länger Text drinsteht.
Und warum zeigst du das nicht an einem
Minimalbeispiel, obwohl ich dir bereits in meinem ersten Kommentar selbigen Link geschickt habe und darin erklärt wird, dass ein
Minimalbeispiel das Problem auch zeigen sollte? Erwartest du wirklich, dass wir uns erst ein passendes
Minimalbeispiel für ein Problem, das du bisher noch nicht einmal erwähnt hattest, aus den Fingern saugen?
icecoldkilla hat geschrieben:Besserwisser du machst deinem Namen wirklich alle Ehre
Klar. Deshalb habe ich den.
icecoldkilla hat geschrieben:aber vielleicht postest du auch mal Lösungen
Vielleicht zeigst du mal ein
Minimalbeispiel zum Problem? Ohne ein solches kann ich Lösungsvorschläge schlecht testen. Ich kann allenfalls vermuten, dass `m`-Spalten eine Möglichkeit sein könnten. Die kann man auch für `X`-Spalten einstellen. Ich spekuliere aber nicht so gerne, nur weil der Fragesteller zu faul ist, ein richtiges
Minimalbeispiel zu erstellen.