![表格中图形的垂直对齐。(自动宽度)](https://linux22.com/image/306786/%E8%A1%A8%E6%A0%BC%E4%B8%AD%E5%9B%BE%E5%BD%A2%E7%9A%84%E5%9E%82%E7%9B%B4%E5%AF%B9%E9%BD%90%E3%80%82%EF%BC%88%E8%87%AA%E5%8A%A8%E5%AE%BD%E5%BA%A6%EF%BC%89.png)
我正在尝试将照片和文本垂直和水平对齐到每个表格的中间。我尝试过“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}