
我想將文字和圖像在長桌中垂直和水平居中。然而不幸的是我似乎無法讓它工作。範例如下:
\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}
我也嘗試了以下更改,但沒有幫助:
Here is a Text & \raisebox{-\height}{\includegraphics[height=2cm]{img/image.png}} & \raisebox{-\height}{\includegraphics[height=2cm]{img/image.png}} \\\hline
答案1
一種方法是使用套件valign
中的巨集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}
在使用時adjustbox
,我們可以替換includegraphics
為\adjustimage
add 確定單元格中圖像的位置,設定如下\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}
這給出了與第一個提出的解決方案相同的結果。筆記,在上面的MWE中省略了圖形檔案副檔名png
。如果存在具有不同擴展名的相同圖像文件,並且您只想使用其中選定的一個,則它們是必需的。