我只想要一个漂亮的图,但我尝试了不同的方法,有时它会超出页面,或者出现空白(就像现在一样)。我希望行与行之间有足够的间距和不同的字体高度。
这是我的代码:
%\renewcommand{\tabcolsep}{3pt}
\begin{table}
\centering
\begin{longtabu}{|p{0.2\textwidth} | p{0.1\textwidth}| p{0.1\textwidth}| p{0.1\textwidth}| p{0.1\textwidth}| p{0.1\textwidth}|}
& \bfseries{AVISO} & \bfseries{CU} & \bfseries{GSFC} & \bfseries{NOAA} & \bfseries{CSIRO} \\
\midrule
\bfseries{Minimum Ocean depth} & 0\,m & 120\,m & 120\,m & 0\,m & 0\,m \\
\bfseries{SSHA outlier removal} & - & 2\,m & - & 1\,m & - \\
\bfseries{Along track / box-gridded} & box-gridded & Along track & Along track & box-gridded & box-gridded \\
\bfseries{Box resolution} & $3^{\circ}$x$1^{\circ}$ & - & - & $3^{\circ}$x$1^{\circ}$ & $1^{\circ}$x$1^{\circ}$ \\
\bfseries{Time range of average} & per cycle & per cycle & per cycle & per cycle & monthly \\
\bfseries{Weighting} & area weighted, inclination weighted & inclination weighted & inclination weighted & area weighted & area weighted \\
\bottomrule
\end{longtabu}
\caption{caption here}
\end{table}
我也尝试过,\usepackage{tabularx}
但没有成功,我想我错过了一些东西,但我不确定是什么......
答案1
这些都是小人物的易错观点。
这超出了 TeX 的范围,但在设计表格时需要坚持一些原则。我绝不是一个印刷工或平面设计师,但这些是我在旅途中学到的一些东西:
保持标题简短!
没有人真的需要详细的列标题。如果标题不能简短明了且易于理解,则说明您在文本中对表格的解释不够充分。
绝不使用垂直规则。
阅读文档
booktabs
!(我想这很可能是由一位真正的印刷师编写或影响的。)虽然可能有非常特别虽然此类规则适用于某些情况,但这并不是其中之一。不要太冗长。
为保持信息透明,请给读者留下一些推论。不要混淆信息,也不要使信息杂乱。
文本左对齐;数字右对齐。
在列中保留相似的内容。
将单位放在列标题中,而不是正文中。
(TeX 特定)适当使用宏和列类型。
不要单独加粗每个标题,而是将适当的行为声明为列类型的一部分。不要一遍又一遍地手动使用相同的结构,而是声明一个宏并实现更详细但排版正确的设置。
可能的改进
\documentclass{article}
\usepackage{booktabs}
\usepackage{array}
\usepackage{longtable,tabu} % not needed with new table
\begin{document} %%%%% %%%%% %%%%% %%%%%%%%% %%%%%
\centering%%%%% %%%%% %%%%% %%%%% OLD TABLE %%%%%
%%%%% %%%%% %%%%% %%%%% %%%%% %%%%%%%%% %%%%%
\begin{longtabu}{|p{0.2\textwidth} | p{0.1\textwidth}| p{0.1\textwidth}| p{0.1\textwidth}| p{0.1\textwidth}| p{0.1\textwidth}|}
& \bfseries{AVISO} & \bfseries{CU} & \bfseries{GSFC} & \bfseries{NOAA} & \bfseries{CSIRO} \\
\midrule
\bfseries{Minimum Ocean depth} & 0\,m & 120\,m & 120\,m & 0\,m & 0\,m \\
\bfseries{SSHA outlier removal} & - & 2\,m & - & 1\,m & - \\
\bfseries{Along track / box-gridded} & box-gridded & Along track & Along track & box-gridded & box-gridded \\
\bfseries{Box resolution} & $3^{\circ}$x$1^{\circ}$ & - & - & $3^{\circ}$x$1^{\circ}$ & $1^{\circ}$x$1^{\circ}$ \\
\bfseries{Time range of average} & per cycle & per cycle & per cycle & per cycle & monthly \\
\bfseries{Weighting} & area weighted, inclination weighted & inclination weighted & inclination weighted & area weighted & area weighted \\
\bottomrule
\end{longtabu}
%%%%% %%%%% %%%%% %%%%% %%%%% %%%%%%%%% %%%%%
%%%%% %%%%% %%%%% %%%%% %%%%% NEW TABLE %%%%%
%%%%% %%%%% %%%%% %%%%% %%%%% %%%%%%%%% %%%%%
\newcommand\Dimen[2]{$#1^\circ\times#^d\circ$} % box dimensions
\newcolumntype{H}{>{\bfseries}r} % 'Header' column type.
% Technically speaking, you should avoid bolding things in tables. If
% you must though, this is the way to do it.
\begin{tabular}{Hrrlrll}
\toprule
System & Depth (m) & Outliers & Orientation & Resolution & Avg. Time & Weighting \\
\midrule
\addlinespace[1ex]
CU & 120 & 2 & track & & cycle & inclination \\
GSFC & 120 & & track & & cycle & inclination \\[1ex]
AVISO & 0 & & box & \Dimen{3}{2} & cycle & area\slash inclination \\
NOAA & 0 & 1 & box & \Dimen{3}{1} & cycle & area \\
CSIRO & 0 & & box & \Dimen{1}{1} & month & area \\
\bottomrule
\end{tabular}
\end{document}
必修
答案2
我也会删除所有垂直线,并且不会使用大胆的用于标题行的条目。我建议使用tabularx
包来简化使五个数据列都具有相同宽度的工作。在“框分辨率行”中,我建议使用\times
而不是文本模式x
。
\documentclass{article}
\usepackage[margin=1in]{geometry} % set margins as needed
\usepackage{booktabs,tabularx,ragged2e}
\newcolumntype{L}{>{\RaggedRight\arraybackslash}X}
\begin{document}
\begin{table}
\begin{tabularx}{\textwidth}{@{}p{1.5in}*{5}{L}@{}}
& AVISO & CU & GSFC & NOAA & CSIRO \\
\midrule
Minimum Ocean depth & 0\,m & 120\,m & 120\,m & 0\,m & 0\,m \\[1ex]
SSHA outlier removal & -- & 2\,m & -- & 1\,m & -- \\[1ex]
Along track\slash box-gridded & box-gridded & Along track & Along track & box-gridded & box-gridded \\[1ex]
Box resolution & $3^{\circ}{\times}1^{\circ}$ & - & - & $3^{\circ}{\times}1^{\circ}$ & $1^{\circ}{\times}1^{\circ}$ \\[1ex]
Time range of average & per cycle & per cycle & per cycle & per cycle & monthly \\[1ex]
Weighting & area weighted, inclination weighted & inclination weighted & inclination weighted & area weighted & area weighted \\
\bottomrule
\end{tabularx}
\caption{caption here}
\end{table}
\end{document}