提高 siunitx 表的可读性

提高 siunitx 表的可读性

我只是 LaTeX 的一个基础用户,所以请多包涵。;)

我正在使用siunitx包来对齐表格上的数字,这是一个与此非常类似的问题:将表格列标题置于逗号对齐的数字上方

但是,我的问题首先是第一列的描述很长,长度不一,其次是数字既是绝对值又是百分比值 - 绝对值很大。结果是一个整洁的表格,尽管可读性不是最好的。

我写信是想知道是否有人对我如何(i)将第一列的描述左对齐,以及(ii)提高 1900 年和 2000 年数据的可读性有什么建议,例如通过插入垂直线或不同的表列分隔符。

这是我的代码:

\documentclass[11pt,a4paper]{article}  
\usepackage{booktabs,color,graphicx}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[labelfont=bf]{caption}
\usepackage[margin=1in]{geometry} 
\usepackage{siunitx}
\sisetup{ table-number-alignment = center,
  output-decimal-marker = {,}}
\setlength\tabcolsep{15pt}
\usepackage{lscape}
\usepackage{pdflscape} 

\begin{document}

\begin{landscape}
\begin{table*}[h!]
\centering
\footnotesize
\caption[A simple table.]{A simple table with some layout problems I cannot solve.}
\label{tab:table}

\begin{tabular}{{S[table-format=10.1]}*{6}{S}}

{Some long description} & {Absolute} & {\% to the} & {Absolute} & {\% to the} & {\% of} \\
& {values} & {total} & {values} & {total} & {variation} \\
& {in 1900} & {amount in 1900} & {in 2000} & {amount in 2000} &{ 1900--2000} \\ \hline

{Some very very long description} & 10000 & 1,5 & 10000 & 1,5  & 1,5  \\
{Some very long description} & 200000 & 11,5  & 200000 & 11,5  & 1,5 \\
{Some long description} & 450000 & 1,5  & 450000 & 1,5  & 1,5  \\
{Some very very long description} & 45000000 & 11,5  & 4500000 & 11,5 & 1,5  \\ \hline
{Some description} & 12345678 & 1,5 & 12345678 & 1,5  & 1,5  \\
{Some long description} & 123456789 & 11,5  & 123456789 & 11,5 & 1,5  \\
\end{tabular}

\end{table*}
\end{landscape}

\end{document}

我尝试过多个选项多次,也查看过siunitx套餐,但尽管我付出了很大努力,但这已经是我能得到的最好的结果了。

我提前感谢任何愿意花时间帮助我的人,我将非常感谢任何有用的建议。

答案1

我建议您执行以下操作:

  • 对于第一列,不要使用S-- l(左对齐文本列)就可以了。

  • 对于第 2 列和第 4 列,不仅仅指定S,还可以指定S[table-format=10.2]

  • sidewaystable通过使用环境(由包提供)简化横向表格的生成rotating

  • 既然您已经加载了该booktabs包,您不妨使用该包的命令\toprule\midrule和 ,而\bottomrule不是使用简单的\hline指令。

结果表如下所示 - 请注意,无需转到\footnotesize

在此处输入图片描述

\documentclass[11pt,a4paper]{article}  
\usepackage{booktabs,color,rotating}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[labelfont=bf]{caption}
\usepackage[margin=1in]{geometry} 
\usepackage{siunitx}
\sisetup{ output-decimal-marker = {,}}

\begin{document}
\begin{sidewaystable}
\caption[A simple table.]{A simple table with some layout problems I cannot solve.} \label{tab:table}
\centering
\begin{tabular}{@{} l S[table-format=10.2] S S[table-format=10.2] SS @{}}
\toprule
Some long description & {Absolute} & {\% to the} & {Absolute} & {\% to the} & {\% of} \\
& {values} & {total} & {values} & {total} & {variation} \\
& {in 1900} & {amount in 1900} & {in 2000} & {amount in 2000} &{ 1900--2000} \\ 
\midrule
Some very very long description & 10000 & 1,5 & 10000 & 1,5  & 1,5  \\
Some very long description & 200000 & 11,5  & 200000 & 11,5  & 1,5 \\
Some long description & 450000 & 1,5  & 450000 & 1,5  & 1,5  \\
Some very very long description & 45000000 & 11,5  & 4500000 & 11,5 & 1,5  \\ 
\midrule
Some description & 12345678 & 1,5 & 12345678 & 1,5  & 1,5  \\
Some long description & 123456789 & 11,5  & 123456789 & 11,5 & 1,5  \\
\bottomrule
\end{tabular}
\end{sidewaystable}
\end{document}

相关内容