Text und Bilder in Longtable sowohl vertikal als auch horizontal zentrieren

Text und Bilder in Longtable sowohl vertikal als auch horizontal zentrieren

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

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

Bildbeschreibung hier eingeben

Bei Verwendung adjustboxkönnen wir includegraphicsdurch \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.

verwandte Informationen