如何垂直对齐表格单元格内的内容?

如何垂直对齐表格单元格内的内容?

抱歉,在已经有这么多帖子的情况下又开辟一个帖子,但我现在找不到正确的解决方案。

我想垂直对齐第三列的内容(括号内的部分)。最好的方法是什么?

例子:

\documentclass [titlepage,a4paper,12pt]{article}                                                              \usepackage[ngerman]{babel}                                        \usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}      
\begin{document}  
    \begin{center}
    \begin{tabular}{l|l|l}
    Name & Umsatz (in Euro, o. Ikea) & Umsatz (in Euro, m. Ikea)   \\ \hline
    M"obel-G"unther &  8.264.620  &   6.983.137 ($- \, 1.281.483$) \\ \hline
    Ikea            &  --         &  10.143.189 ($+ \, 10.143.189$) \\
    \end{tabular}
    \end{center}
\end{document}

例子

答案1

我建议您在表格中使用四列,并让标题“Umsatz mit Ikea”跨越第 3 列和第 4 列。通过使用r第 3 列和第 4 列的列类型,您将获得营业额数字的自然对齐。

在此处输入图片描述

\documentclass[titlepage,a4paper,12pt]{article} 
\usepackage[ngerman]{babel}                                        
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}    
\usepackage{booktabs}  
\begin{document}  
\begin{center}
\begin{tabular}{lcrr}
    Name & Umsatz ohne Ikea  & \multicolumn{2}{c}{Umsatz mit Ikea} \\ 
         & (in Euro)         & \multicolumn{2}{c}{(in Euro)}\\
    \midrule
    M"obel-G"unther &  8.264.620  &   6.983.137 &  ($-1.281.483$) \\ 
    Ikea            &  --         &  10.143.189 & ($+10.143.189$) \\
\end{tabular}
\end{center}
\end{document}

答案2

我建议使用“siunitx”包和我包含的通过表列类型 S 进行自动数字对齐的功能。

\documentclass[titlepage,a4paper,12pt]{article} 
\usepackage[ngerman]{babel}                                        
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}    
\usepackage{booktabs}  
\usepackage{siunitx}

\begin{document}  
\begin{center}
\sisetup{
    table-format = 10.0,
%   group-separator={.}
}
\begin{tabular}{lcSS[retain-explicit-plus]}
    Name & Umsatz ohne Ikea  & \multicolumn{2}{c}{Umsatz mit Ikea} \\ 
         & (in Euro)         & \multicolumn{2}{c}{(in Euro)}\\
    \midrule
    M"obel-G"unther &  8264620  &   6983137 &  -1281483 \\ 
    Ikea            &  --         &  10143189 & +10143189 \\
\end{tabular}
\end{center}
\end{document}

在此处输入图片描述

通过使用现在注释掉的选项,group-separator您可能会得到由点分隔的数字组。由于您有一份德文文档,这可能不是数学上正确的选项。您可能会担心这一点。请注意,“Umsatz ohne Ikea”列未使用 siunitx 进行处理以显示差异。它只是没有标记的纯文本。您可以\num[options]{value}只使用这个单个数字,而不是使用整个 S 列。此外 - 由于我今天没有更多时间 - 您可以尝试将明确的符号放置在最后一列。一定有一种方法可以让它们左对齐,数字右对齐。请保留巨大的 siunitx 手册。

答案3

我同意 Mico 的观点,您可能需要第四列,但我对第三列和第四列的对齐方式还有另一个建议。由于第三列包含数字,因此最好将其右对齐,而第四列括号之间的数字应左对齐,并{ }在第三列后留一个空格,以使两列显示为一列。以下是我认为对您而言更好的方法:

\documentclass[titlepage,a4paper,12pt]{article} 
\usepackage[ngerman]{babel}                                        
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}    
\usepackage{booktabs}  
\begin{document}  
\begin{center}
\begin{tabular}{lcr@{ }l}
\toprule
Name            &  Umsatz ohne Ikea (in Euro) & \multicolumn{2}{c}{Umsatz mit Ikea (in Euro)} \\  \midrule
M"obel-G"unther &  8.264.620                  &   6.983.137  &  ($-1.281.483$) \\ 
Ikea            &  --                         &  10.143.189  & ($+10.143.189$) \\   
\bottomrule
\end{tabular}
\end{center}
\end{document}

表格如下:

在此处输入图片描述

相关内容