我怎样才能改善表格的外观?(没有空白、字体大小合适、不超出页面末尾)

我怎样才能改善表格的外观?(没有空白、字体大小合适、不超出页面末尾)

我只想要一个漂亮的图,但我尝试了不同的方法,有时它会超出页面,或者出现空白(就像现在一样)。我希望行与行之间有足够的间距和不同的字体高度。

这是我的代码:

    %\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}

相关内容