表格中图形的垂直对齐。(自动宽度)

表格中图形的垂直对齐。(自动宽度)

我正在尝试将照片和文本垂直和水平对齐到每个表格的中间。我尝试过“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}

升降规则

相关内容