Tabularx:多个垂直顶部列和多个垂直底部列

Tabularx:多个垂直顶部列和多个垂直底部列

我已经尝试了几个小时来实现以下外观但tabularx没有成功:

  • 第 1 列:垂直顶部对齐,水平右侧对齐。
  • 第 2 列:垂直顶部对齐,水平左侧对齐。
  • 第 3 列:垂直顶部对齐,水平左对齐,扩大宽度(例如X)。
  • 第 4、5、6 列:垂直对齐底部,水平对齐右侧

我设法让最后三列相对于“长文本”列垂直对齐在底部,但这对前两列产生了不良影响,现在它们也垂直对齐在底部。我怎样才能将前两列垂直对齐在顶部,同时保持其他列不变?

表格来源:

\begin{table}
\renewcommand{\tabularxcolumn}[1]{b{#1}}
\newcolumntype{R}{>{\raggedleft\arraybackslash}p{0.9cm}}
\begin{tabularx}{\textwidth}[ht]{|r|p{2.7cm}|X|R|R|R|}
\hline
\textbf{\texttt \#} &
\textbf{Info} &
\textbf{Long Text} &
{\raggedright \bfseries Col 1 \\(foo.)} &
{\raggedright \bfseries Col 2 \\(bar.)} &
{\raggedright \bfseries Col 3 \\(baz.)}
\\ \hline
1 & \raggedright One, \newline thing & \lipsum*[1] &
    1.11 &
    2.22 &
    3.33 \\ \hline

2 & \raggedright Some, \newline Thing & \lipsum*[1] &
    1.55 &
    3.66 &
    6.99 \\ \hline

\end{tabularx}
\caption{XXX}
\label{tab:xxx}
\end{table}

表外观:

红色箭头显示单元格内容应如何移动才能达到所需的结果。

![表格单元格对齐

更新:明确了期望的结果。

答案1

我建议使用这个肮脏的技巧:\multirow{-n}在前两列中使用。n大约是下一个单元格中行数的两倍X

\documentclass[10pt]{article}
\usepackage{geometry}
\usepackage{tabularx, makecell, multirow}
\usepackage{lipsum}

    \begin{document}

\begin{table}
\renewcommand{\tabularxcolumn}[1]{b{#1}}
\newcolumntype{R}{>{\raggedleft\arraybackslash}b{1cm}}
\begin{tabularx}{\textwidth}[ht]{|r|p{2.7cm}|X|R|R|R|}
\hline
\textbf{\texttt \#} &
\textbf{Info} &
\textbf{Long Text} &
{\raggedright \bfseries Col 1 \\(foo.)} &
{\raggedright \bfseries Col 2 \\(bar.)} &
{\raggedright \bfseries Col 3 \\(baz.)}
\\ \hline
\multirowcell{-41}{1 }& \multirow{-40}{=}{One, \\ thing} & \lipsum*[1] &
    1.11 &
    2.22 &
    3.33 \\ \hline

\multirowcell{-41}{2} & \multirow{-40}{=}{Some, \\ Thing} & \lipsum*[1] &
    1.55 &
    3.66 &
    6.99 \\ \hline

\end{tabularx}
\caption{XXX}
\label{tab:xxx}
\end{table}

\end{document} 

在此处输入图片描述

答案2

我将使用一个简单的表定义,将每一行分成两行,然后用 向上移动第二行\\[...]

\documentclass[10pt]{article}
\usepackage{geometry}
\usepackage{tabularx, makecell, multirow}
\usepackage{array}
\renewcommand{\arraystretch}{1.3}
\usepackage{lipsum}

\begin{document}
\begin{table}\centering
\begin{tabular}{|p{.6em}|p{2.7em}|p{23em}|c|c|c|}
\hline
\textbf{\texttt \#} & \textbf{Info} & \textbf{Long Text} & \textbf{Col 1} &
    \textbf{Col 2} & \textbf{Col 3}\\[-4pt]
 & & & \textbf{(foo.)} & \textbf{(bar.)} & \textbf{(baz.)}\\ 
\hline
1& One, thing & \lipsum*[1] & & & \\[-3.5ex] 
\multicolumn{1}{c}{}&\multicolumn{1}{c}{} &\multicolumn{1}{c}{}  &
    \multicolumn{1}{c}{1.11} &
    \multicolumn{1}{c}{2.22} &
    \multicolumn{1}{c}{3.33} \\ 
\hline
2 & Some, Thing & \lipsum*[1] & & & \\[-3.54ex] 
\multicolumn{1}{c}{}&\multicolumn{1}{c}{} &\multicolumn{1}{c}{}  &
    \multicolumn{1}{c}{1.55} &
    \multicolumn{1}{c}{3.66} &
    \multicolumn{1}{c}{6.99} \\ 
\hline
\end{tabular}
\caption{XXX}\label{tab:xxx}
\end{table}
\end{document}

-

相关内容