在 \multirow 中使用 \multicolumn 时放错了 \omit

在 \multirow 中使用 \multicolumn 时放错了 \omit

我正尝试按以下方式将 \multicolumn 放入 \multirow 环境中:

\documentclass{article}

\usepackage{multirow}
\usepackage{array}
\usepackage{mwe}

\begin{document}
    \begin{tabular}{|p{.03\textwidth}|p{.73\textwidth}|p{.03\textwidth}|p{.15\textwidth}|}
        Test1 & Test2 & Test3 &
        \multirow{1}{*}{\multicolumn{1}{m{\linewidth}}{\includegraphics[width=\linewidth]
        {example-image}}}
    \end{tabular}
\end{document}

为了澄清起见,我的表格中有多个行(6),并且多行跨越这 6 行。内部多列是为了使图像在多行内居中。但是,我收到错误:

Misplaced \Omit

有人知道为什么会发生这种情况吗?谢谢!

更新:

请参阅 Christian 的答案以修复错误。但是当其中一行有多行文本时,Latex 仍然无法垂直居中图片。作为一种解决方法,我增加了多行跨越的行数,即使实际上有 6 行。这无疑是一个丑陋的黑客,我对此并不特别满意,但它目前有效。如果有人有更好的解决方案,我愿意接受建议。

更新 2:

好的,更新 2。请参阅 Christian 的修订解决方案和评论,了解解决此问题的两种可能方法。感谢 Christian 提供的所有帮助!

答案1

我想,这就是你的意思。

\documentclass{article}

\usepackage{multirow}
\usepackage{array}
\usepackage{mwe}

\begin{document}
  \begin{tabular}{|p{.03\textwidth}|p{.73\textwidth}|p{.03\textwidth}|p{.15\textwidth}|}
          Test1 & Test2 & Test3 & 
    \multicolumn{1}{m{\linewidth}}{\multirow{6}{*}{\includegraphics[scale=0.1]{example-image}}% End of multirow
          }% End of multicolumn
      \\ % End of the first row 
       Line2  & & &\\
       Line3  & & & \\
       Line4  & & & \\
       Line5  & & & \\
       Line6  & & & \\
        \end{tabular}
\end{document}

另一个版本的内容为垂直居中,它使用makecell包和\multirowcell命令,允许表格单元格中的内容垂直移动( 的第一个可选参数\multirowcell),我将其设置为,-2pt因为我有印象,这可以正确对齐,但是,如果图像的大小/缩放比例发生变化,则必须对其进行修改。这也是一种“黑客行为”,但也许比添加额外的行要好。

 \documentclass{article}

    \usepackage{multirow,makecell}
    \usepackage{array}
    \usepackage{mwe}

    \begin{document}
        \begin{tabular}{|p{.1\textwidth}|p{.2\textwidth}|p{.1\textwidth}|p{.15  \textwidth}|}
          \hline
          Test1 & Test2 & Test3 & 
           \multirowcell{6}[-2pt]{\includegraphics[scale=0.1]{example-image}%
           }% End of multirowcell
          \\
           Line2  & & & \\
           Line3  & & & \\
           Line4  & & & \\
           Line5  & & & \\
           Line6  & & & \\
        \hline
        \end{tabular}

    \end{document}

我添加了\hline顺序检查以检查对齐并减少了列宽。请根据需要回滚。

多行单元格的屏幕截图

顺便说一句,该\multirow命令还允许垂直移动,但我到目前为止还没有尝试过。

相关内容