使用 tabular(x) 对表格进行混合和指定对齐

使用 tabular(x) 对表格进行混合和指定对齐

是否可以指定每个单列的对齐方式?

我有这张表:

\begin{table}[H]
\begin{tabularx}{\columnwidth}{*{5}{>{\RaggedLeft\arraybackslash}X}}
    \toprule
    & \textbf{1990-2009} & \textbf{2010} & \textbf{2011} & \textbf{2012} \\
    \midrule
    Argentinien & 143 & 3.100 & 2.450 & 600 \\
    Brasilien & 255 & 9.563 & 5.676 & 6.066,63 \\
    Chile & ... & 5 & ... & 76 \\
    Kolumbien & 1.677 & 6 & 293 & 996 \\
    Ecuador & 1.619 & 45 & 59 & 96 \\
    Mexiko & 146 & 9 & 2 & 74 \\
    Peru & 2.262 & 94 & 929 & 1.306,94 \\
    Venezuela & 240 & 900 & ... & ... \\
    Gesamt & 6.352 & 13.712 & 9.309 & 9.206 \\
    \bottomrule
\end{tabularx}
\end{table}

但我想指定第一列左对齐,而其他列右对齐。放置一个\begin{tabularx}{\columnwidth}{l*{4}{>{\RaggedLeft\arraybackslash}X}}会破坏表格,因为它不会像现在这样跨越整个宽度。事实上,我试图制作一个像这个 pdf 第 11 页上的表格:http://repositorio.cepal.org/bitstream/handle/11362/35927/S2013956_en.pdf?sequence=1

答案1

用于\raggedright第一列和\raggedleft其他列。

不过,我通常建议按照表格的自然宽度进行排版;这里我提出了一种使用 的实现siunitx

\documentclass{article}
\usepackage{tabularx,booktabs,siunitx}

\sisetup{group-four-digits}

\begin{document}

\noindent
\begin{tabularx}{\columnwidth}{
  >{\raggedright}X
  *{4}{>{\raggedleft\arraybackslash}X}
}
\toprule
& \textbf{1990-2009} & \textbf{2010} & \textbf{2011} & \textbf{2012} \\
\midrule
Argentinien & 143 & 3.100 & 2.450 & 600 \\
Brasilien & 255 & 9.563 & 5.676 & 6.066,63 \\
Chile & ... & 5 & ... & 76 \\
Kolumbien & 1.677 & 6 & 293 & 996 \\
Ecuador & 1.619 & 45 & 59 & 96 \\
Mexiko & 146 & 9 & 2 & 74 \\
Peru & 2.262 & 94 & 929 & 1.306,94 \\
Venezuela & 240 & 900 & ... & ... \\
\midrule
Gesamt & 6.352 & 13.712 & 9.309 & 9.206 \\
\bottomrule
\end{tabularx}

\bigskip

\noindent
\begin{tabular}{
  l
  S[table-format=4.0]
  S[table-format=5.0]
  S[table-format=4.0]
  S[table-format=4.2]
}
\toprule
& \textbf{1990-2009} & \textbf{2010} & \textbf{2011} & \textbf{2012} \\
\midrule
Argentinien &  143 & 3100 & 2450 &  600 \\
Brasilien   &  255 & 9563 & 5676 & 6066,63 \\
Chile       & {--} &    5 & {--} &   76 \\
Kolumbien   & 1677 &    6 &  293 &  996 \\
Ecuador     & 1619 &   45 &   59 &   96 \\
Mexiko      &  146 &    9 &    2 &   74 \\
Peru        & 2262 &   94 &  929 & 1306,94 \\
Venezuela   &  240 &  900 & {--} & {--} \\
\midrule
Gesamt & 6352 & 13712 & 9309 & 9206 \\
\bottomrule
\end{tabular}

\end{document}

在此处输入图片描述

或者两全其美(这里我添加了句点作为千位分隔符,添加了逗号作为小数部分):

\documentclass{article}
\usepackage{tabularx,booktabs,siunitx}

\sisetup{
  group-four-digits,
  group-separator={.},
  output-decimal-marker={,},
}

\begin{document}

\noindent
\begin{tabular*}{\columnwidth}{
  @{\hspace{\tabcolsep}\extracolsep{\fill}}
  l
  S[table-format=4.0]
  S[table-format=5.0]
  S[table-format=4.0]
  S[table-format=4.2]
}
\toprule
& \textbf{1990-2009} & \textbf{2010} & \textbf{2011} & \textbf{2012} \\
\midrule
Argentinien &  143 & 3100 & 2450 &  600 \\
Brasilien   &  255 & 9563 & 5676 & 6066,63 \\
Chile       & {--} &    5 & {--} &   76 \\
Kolumbien   & 1677 &    6 &  293 &  996 \\
Ecuador     & 1619 &   45 &   59 &   96 \\
Mexiko      &  146 &    9 &    2 &   74 \\
Peru        & 2262 &   94 &  929 & 1306,94 \\
Venezuela   &  240 &  900 & {--} & {--} \\
\midrule
Gesamt & 6352 & 13712 & 9309 & 9206 \\
\bottomrule
\end{tabular*}

\end{document}

在此处输入图片描述

相关内容