覆盖单个单元格和行中的表格列对齐

覆盖单个单元格和行中的表格列对齐

在此示例中

\documentclass{article}
\usepackage{multirow}
\begin{document}
\begin{tabular}{l l l}
  00pad & 01pad & 02pad\\
  10 & 11 & 12\\
  20 & \multicolumn{1}{r}{21} & 22\\
  30 & 31 & 32\\
  \multicolumn{1}{r}{40} & \multicolumn{1}{r}{41} & \multicolumn{1}{r}{42}\\
  50 & 51 & 52\\
\end{tabular}
\end{document}

我覆盖了单元格 21 和行 4 中的列对齐。结果是:

在此处输入图片描述

是不是使用\multicolumn最高效、最简单的宏就能达到想要的效果呢?

答案1

使用makecell 略短 - 并且它允许您在此上下文中拥有多行单元格。默认情况下,它是垂直和水平居中的,但可以使用可选参数进行更改,该参数在组r, l, c和中最多可包含 2 个字母t, b, c

演示:

\documentclass{article}
\usepackage{multirow}
\usepackage{makecell}

\begin{document}

\begin{tabular}{l l l}
  00pad & 01pad & 02pad\\
  10 & 11 & 12\\
  20 & \makecell[r]{21} & 22\\
  30 & 31 & 32\\
  \makecell[r]{40} & \makecell[r]{41} & \makecell[r]{42\\43}\\
  50 & 51 & 52\\
\end{tabular}

\end{document} 

在此处输入图片描述

答案2

在您的示例中,我不会使用\multicolumn,因为简单的\hfill就可以了(对于右对齐单元格)。

已填满

\documentclass{article}
\usepackage{multirow}
\begin{document}
\begin{tabular}{l l l}
  00pad & 01pad & 02pad\\
  10 & 11 & 12\\
  20 & \hfill 21 & 22\\
  30 & 31 & 32\\
    \hfill 40 & \hfill 41 & \hfill 42\\
  50 & 51 & 52\\
\end{tabular}
\end{document}

相关内容