我正在尝试将照片和文本垂直和水平对齐到每个表格的中间。我尝试过“array”包,但似乎我需要定义列的宽度。我希望根据任何对象的最大长度调整列。
\documentclass{article}
\usepackage{array}
\begin{document}
\begin{table}
\begin{tabular}{lcr}
& $\downarrow$ & \\
$\rightarrow$ & \rule{4cm}{4cm} & $\leftarrow$ \\
& $\uparrow$ &
\end{tabular}
\end{table}
\end{document}
在此示例中,我使用了 \rule 函数。我想使用常规图形。
答案1
一个选项是使用adjustbox
选项export
。然后valign
可用作\includegraphics
\documentclass{article}
\usepackage{array}
\usepackage{graphicx}
\usepackage[export]{adjustbox}
\begin{document}
\begin{table}
\begin{tabular}{lcr}
& $\downarrow$ & \\
$\rightarrow$ & \includegraphics[valign=c,width=3cm]{example-image-a} & $\leftarrow$ \\
& $\uparrow$ &
\end{tabular}
\end{table}
\end{document}
另一个选择是使用raisebox
\documentclass{article}
\usepackage{array}
\usepackage{graphicx}
\begin{document}
\begin{table}
\begin{tabular}{lcr}
& $\downarrow$ & \\
$\rightarrow$ &
\raisebox{-0.5\height}{\includegraphics[width=3cm]{example-image-a}} & $\leftarrow$ \\
& $\uparrow$ &
\end{tabular}
\end{table}
\end{document}
准确地说应该是这样(感谢 Manuel)
\raisebox{\dimexpr-0.5\height+\fontdimen22\textfont2\relax}{\includegraphics[width=3cm]{example-image-a}}
答案2
Well\rule
有一个可选参数来调整垂直对齐:
\documentclass{article}
\usepackage{array}
\begin{document}
\begin{table}
\begin{tabular}{lcr}
& $\downarrow$ & \\
$\rightarrow$ & \rule[-2cm]{4cm}{4cm} & $\leftarrow$ \\
& $\uparrow$ &
\end{tabular}
\end{table}
\end{document}