表格中的垂直单元格对齐?

表格中的垂直单元格对齐?

这个问题现在让我抓狂。如何在 Latex 中绘制具有以下属性的表格?

  • 宽度 = \文本宽度

  • 1 列:水平对齐 = 左,垂直​​对齐 = 底部

  • 2 列:水平对齐 = 居中,垂直对齐 = 底部

  • 3 列:水平对齐 = 居中,垂直对齐 = 底部

梅威瑟:

\documentclass{scrartcl}
\usepackage{tabularx}
\usepackage{blindtext}

\begin{document}
\begin{tabularx}{\textwidth}{|X|p{0.4cm}|p{3cm}|}
  \hline
  \blindtext & \begin{center}A\end{center} & \begin{center}B\end{center} \\
  \hline
\end{tabularx}
\end{document} 

答案1

您可以使用以下方式收集单元格内容collcell并将其传递给\parbox

在此处输入图片描述

\documentclass{scrartcl}% http://ctan.org/pkg/KOMA-script
\usepackage{array,blindtext,collcell}% http://ctan.org/pkg/{array,blindtext,collcell}
\newcommand{\leftcol}[1]{\parbox[b]{\dimexpr\linewidth-6\tabcolsep-4\arrayrulewidth-4mm-3cm}{\strut #1\strut}}
\newcommand{\middlecol}[1]{\parbox[b]{4mm}{\centering\strut #1\strut}}
\newcommand{\rightcol}[1]{\parbox[b]{3cm}{\centering\strut #1\strut}}
\newcolumntype{L}{>{\collectcell\leftcol}l<{\endcollectcell}}
\newcolumntype{C}{>{\collectcell\middlecol}l<{\endcollectcell}}
\newcolumntype{R}{>{\collectcell\rightcol}l<{\endcollectcell}}
\begin{document}
\noindent
\begin{tabular}{|L|C|R|}
  \hline
  \cci\blindtext & A & B \\
  \hline
\end{tabular}
\end{document} 

每列的内容被捕获并传递给特定于列的宏,详细说明所需的格式。

\cci可能没有必要。请参阅collcell文档

答案2

例如(您的代码中有一行被注释,三行被添加;只有一行babel仅满足我的需要):

\documentclass{scrartcl}

\usepackage{tabularx}
\usepackage{blindtext}
\usepackage[english,polish]{babel}

\begin{document}

\renewcommand{\tabularxcolumn}[1]{>{}b{#1}}

\begin{tabularx}{\textwidth}{|X|p{0.4cm}|p{3cm}|}
  \hline
%  \blindtext & \begin{center}A\end{center} & \begin{center}B\end{center} \\
\blindtext & \hfil A \hfil& \hfil B \hfil\\
  \hline
\end{tabularx}

\end{document} 

在此处输入图片描述

答案3

这是一个相当简单的答案,在某些方面与其他两个答案相似,但不需要\hfil表格主体中的额外命令或额外的命令:

\documentclass{scrartcl}
\usepackage{tabularx}
\usepackage{array}
\usepackage{blindtext}
\begin{document}
\renewcommand\tabularxcolumn[1]{b{#1}}
\begin{tabularx}{\textwidth}{|X|>{\centering}b{0.4cm}|>{\centering 
    \arraybackslash}b{3cm}|}
  \hline
  \blindtext & A& B\\
  \hline
\end{tabularx}
\end{document}

相关内容