我正在尝试格式化如下的表格:
0.0a summarry b other summarry
(long)
.1a junk b more junk
1.0a etc b so forth
也就是说,所有内容都顶部和左侧对齐,并且所有内容都排列整齐,主列的大小相同。
到目前为止我能想到的最好的办法是:
\documentclass{minimal}
\usepackage{amsmath}
\usepackage{fontspec}
\usepackage{array}
\setmainfont{DejaVu Sans}
\title{---}
\date{}
\newcolumntype{T}{>{\vtop\bgroup\vspace*{-\ht\strutbox}\hbox\bgroup}
c<{\egroup\egroup}}
\begin{document}
\begin{tabular}{ T T T l T l }
\hline
0&.0&a&
summary
&b&
other summary (long)
\\ \hline
&.1&a&
junk
&b&
more junk
\\ \hline
1&.0&a&
etc
&b&
so forth
\\ \hline
\end{tabular}
\end{document}
答案1
\documentclass{article}
\usepackage{amsmath}
\usepackage{fontspec}
\usepackage{array,ragged2e}
\setmainfont{DejaVu Sans}
\begin{document}
\begin{tabular}{ r @{} l >{\RaggedRight}p{3cm} r >{\RaggedRight}p{3cm} } \hline
0.0 &a& summary &b& other summary (long) \\ \hline
.1 &a& junk &b& more junk \\ \hline
1.0 &a& etc &b& so forth \\ \hline
\end{tabular}
\end{document}
答案2
\documentclass{article}
\usepackage{booktabs} % <--- for drawing rules
%--------------------------------------
\begin{document}
\begin{tabular}{p{.05\textwidth}p{.4\textwidth}p{.03\textwidth}p{.4\textwidth}}
\toprule
0.0a & summary &b & other summary (long) \\ \midrule
0.1a & junk &b & more junk \\ \midrule
1.0a & etc &b & so forth \\ \bottomrule
\end{tabular}
%--------------------------------------
\end{document}
答案3
不清楚你试图用这个\vtop
构造(它根本不是 LaTeX)做出什么输出。它使每个条目成为一行,垂直对齐方式奇数。你建议的输出似乎显示 4 列,但代码有 6 列?如果它在数字列和较长的描述之间交替,也许 tabularx 就是lXlX
你要找的
\documentclass{article}
\usepackage{amsmath}
%\usepackage{fontspec}
\usepackage{array,tabularx,dcolumn}
%\setmainfont{DejaVu Sans}
\title{---}
\date{}
\begin{document}
\centering
\begin{tabularx}\linewidth{D{.}{.}{-1}llXlX}
\hline
0.0&a& summary &b& other summary (long)
\\ \hline
.1&a& junk &b& more junk
\\ \hline
1.0&a& etc &b& so forth
\\ \hline
\end{tabularx}
\end{document}