
Me gustaría centrar texto e imágenes tanto vertical como horizontalmente en una tabla larga. Sin embargo, desafortunadamente parece que no puedo hacerlo funcionar. A continuación se muestra un ejemplo:
\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}
También probé los cambios a continuación, pero no ayudó:
Here is a Text & \raisebox{-\height}{\includegraphics[height=2cm]{img/image.png}} & \raisebox{-\height}{\includegraphics[height=2cm]{img/image.png}} \\\hline
Respuesta1
Una forma es utilizar valign
la macro del adjusbox
paquete:
\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}
Al usar adjustbox
, podemos reemplazar includegraphics
con \adjustimage
agregar determinar posiciones de imágenes en celdas con configuraciones en \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}
lo que da el mismo resultado que la primera solución propuesta.Nota, en el MWE anterior se omiten las extensiones de archivos de gráficos png
. Son necesarios si hay disponibles archivos de las mismas imágenes con diferentes extensiones y entre ellos desea utilizar solo uno seleccionado.