Bilder in tabularx vertikal mittig zentrieren

Tabellen und Grafiken erstellen und anordnen


icecoldkilla
Forum-Anfänger
Forum-Anfänger
Beiträge: 26
Registriert: So 27. Dez 2015, 16:16

Bilder in tabularx vertikal mittig zentrieren

Beitrag 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}
Dateianhänge
Unbenannt.PNG
Unbenannt.PNG (44.55 KiB) 4440 mal betrachtet

Besserwisser

Beitrag von Besserwisser »

Das ist kein vollständiges Minimalbeispiel und ich glaube auch nicht, dass es das beigefügte Bild produziert.

icecoldkilla
Forum-Anfänger
Forum-Anfänger
Beiträge: 26
Registriert: So 27. Dez 2015, 16:16

Beitrag 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}

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag 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}
Bild
Dateianhänge
gl_tabelle.png
gl_tabelle.png (3.14 KiB) 4316 mal betrachtet

Besserwisser

Beitrag 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.

icecoldkilla
Forum-Anfänger
Forum-Anfänger
Beiträge: 26
Registriert: So 27. Dez 2015, 16:16

Beitrag 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}
Bild
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....

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2466
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »


Besserwisser

Beitrag 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.

icecoldkilla
Forum-Anfänger
Forum-Anfänger
Beiträge: 26
Registriert: So 27. Dez 2015, 16:16

Beitrag 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 :wink:

Besserwisser

Beitrag 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.

Antworten