在非 p 表格单元格中提升迷你框失败

在非 p 表格单元格中提升迷你框失败

当我尝试回答tabular相关问题时,我发现以下行为令我感到惊讶:

我试图将左对齐列中的多行文本与上方的空单元格重叠。multirow在本例中,这旨在替代包。我尝试了\raisebox{<amount>}[0pt]{\begin{minipage}[t]{<width>} .. \end{minipage}}(或),但当使用、或列类型时,这根本\begin{adjustbox}{minipage=[t]{<width>},raise={<amount>}{0pt}不会引发。它适用于。minipagelcrp{<width>}

MWE 是:

\documentclass{article}
\usepackage{blindtext}
\begin{document}

\begin{tabular}{lp{6cm}}
    text & .\raisebox{1ex}{Text} \\
    text &
    .\raisebox{2\baselineskip}{\begin{minipage}[t]{5cm}% baseline is raised
        \blindtext
    \end{minipage}} \\
\end{tabular}

\clearpage
\begin{tabular}{ll}% same for c and r
    text & .\raisebox{1ex}{Text} \\
    text &
    .\raisebox{2\baselineskip}{\begin{minipage}[t]{5cm}% baseline is not raised!
        \blindtext
    \end{minipage}} \\
\end{tabular}

\end{document}

‘p’ 类型的结果:

With 'p' type

类型为 ‘l’ 的结果:

With 'l' type

这种行为让我无法理解。通常,在其他水平模式下始终可以使用minipage。我猜可能是重新定义了一些内部宏,从而干扰了这一点?有人能解释为什么会发生这种情况以及如何使\raisebox非列类型也能正常工作p吗?

答案1

你的例子太复杂了。问题是你\baselineskip在 l 列中将其设置为零:

\documentclass{article}

\begin{document}

\begin{tabular}{ll}% same for c and r
    text & .\raisebox{1ex}{Text} \\
    text &
    .\the\baselineskip. \raisebox{\baselineskip}{blub}\raisebox{1cm}{BLA}\\
\end{tabular}

\end{document}

相关内容