我只是 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}