
Ich möchte Text und Bilder in einer langen Tabelle sowohl vertikal als auch horizontal zentrieren. Leider gelingt mir das aber nicht. Nachfolgend ein Beispiel:
\documentclass[11pt,a4paper,english]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{array,longtable,ragged2e}
\usepackage{graphicx}
\begin{document}
\begin{longtable}{| l | c | c |}
\hline
& Here is a Text & Here is a Text \\\hline
Here is a Text & \includegraphics[height=2cm]{img/image.png} & \includegraphics[height=2cm]{img/image.png} \\\hline
Here is a Text & \raisebox{-\height}{\includegraphics[height=2cm]{img/image.png}} & \raisebox{-\height}{\includegraphics[height=2cm]{img/image.png}} \\\hline
\caption{My Caption}
\label{tab:FirstTab}
\end{longtable}
\mbox{}\\
\end{document}
Ich habe auch die folgenden Änderungen versucht, aber es hat nicht geholfen:
Here is a Text & \raisebox{-\height}{\includegraphics[height=2cm]{img/image.png}} & \raisebox{-\height}{\includegraphics[height=2cm]{img/image.png}} \\\hline
Antwort1
valign
Eine Möglichkeit besteht darin , Makros aus dem Paket zu verwenden adjusbox
:
\documentclass[11pt,a4paper,english]{article}
\usepackage[T1]{fontenc}
\usepackage{ragged2e}
\usepackage{babel}
\usepackage{array,longtable,makecell}
\usepackage[demo, % in real document delete 'demo'
export]{adjustbox} % it load graphicx too
\begin{document}
\begingroup
\setcellgapes{3pt}
\makegapedcells % add vertical space/above/below cell's content
\begin{longtable}{| l | c | c |}
\hline
& Here is a Text & Here is a Text \\\hline
Here is a Text & \includegraphics[height=2cm,valign=c]{img/image.png} & \includegraphics[height=2cm,valign=c]{img/image.png} \\\hline
Here is a Text & \includegraphics[height=2cm,valign=c]{img/image.png} & \includegraphics[height=2cm,valign=c]{img/image.png} \\\hline
\caption{My Caption}
\label{tab:FirstTab}
\end{longtable}
\endgroup
\end{document}
Bei Verwendung adjustbox
können wir includegraphics
durch \adjustimage
„add“ die Positionen von Bildern in Zellen mit den Einstellungen in ersetzen \adjustboxset
:
\documentclass[11pt,a4paper,english]{article}
\usepackage[T1]{fontenc}
\usepackage{ragged2e}
\usepackage{babel}
\usepackage{array,longtable}
\usepackage[demo, % in real document delete 'demo'
export]{adjustbox} % it load `graphicx` too
\begin{document}
\begingroup
\adjustboxset{height=20mm,valign=c, margin=0pt 3pt 0pt 3pt} % <---
\begin{longtable}{| l | c | c |}
\hline
& Here is a Text & Here is a Text \\
\hline
Here is a Text & \adjustimage{}{img/image} & \adjustimage{}{img/image} \\
\hline
Here is a Text & \adjustimage{}{img/image} & \adjustimage{}{img/image} \\
\hline
\caption{My Caption}
\label{tab:FirstTab}
\end{longtable}
\endgroup
\end{document}
was zum selben Ergebnis wie die erste vorgeschlagene Lösung führt.Notiz, im obigen MWE werden Grafikdateierweiterungen weggelassen png
. Sie sind erforderlich, wenn dieselben Bilddateien mit unterschiedlichen Erweiterungen verfügbar sind und Sie nur eine ausgewählte davon verwenden möchten.