我正在用乳胶准备财务报表,如果能够将数字输入表格中,它就会自动知道在输出中在哪里添加逗号,这将非常方便(请参阅 MWE 中的第一个表格,了解我希望如何输入数字,请参阅第二个表格,了解我希望如何输出示例)。我刚刚在下表中手动输入了年份结束日期,但您可以忽略它,因为我有一个命令可以输入它们,这样它们就不会在我正在处理的文件中以数字形式输入。此外,在示例中,负数用括号括起来,但这似乎与表格中的其他数字不一致。有什么办法可以改善这种情况吗?
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\begin{document}
\section*{Income \& Expenditure Account}
\begin{table}[htb]
\centering
\begin{tabular}{p{8.25cm}crr}
& \textbf{Note} & \textbf{2016} & \textbf{2015} \\ \hline\\
Income & 1 & 100000 & 102000 \\ \cline{3-4}\\
Cost of Sales & 2 & (50000) & (45000) \\ \cline{3-4}
Gross Profit & & 50000 & 57000 \\
\end{tabular}
\end{table}
\begin{table}[htb]
\centering
\begin{tabular}{p{8.25cm}crr}
& \textbf{Note} & \textbf{2016} & \textbf{2015} \\ \hline\\
Income & 1 & 100,000 & 102,000 \\ \cline{3-4}\\
Cost of Sales & 2 & (50,000) & (45,000) \\ \cline{3-4}
Gross Profit & & 50,000 & 57,000 \\
\end{tabular}
\end{table}
\end{document}
答案1
使用包的版本siunitx
:
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\usepackage{siunitx}
\sisetup{group-separator={,}}
\begin{document}
\section*{Income \& Expenditure Account}
\begin{table}[htb]
\centering
\begin{tabular}{
p{7.5cm}
c
*2{S[table-format=6.0, table-space-text-pre=(, table-space-text-post=)]}
}
& \textbf{Note} & {\textbf{2016}} & {\textbf{2015}} \\
\midrule
Income & 1 & 100000 & 102000 \\
\cmidrule{3-4}\\
Cost of Sales & 2 & {(}50000{)} & {(}45000{)} \\
\cmidrule{3-4}
Gross Profit & & 50000 & 57000 \\
\end{tabular}
\end{table}
\end{document}
- 可以根据要求指定普通数字。
- 数字自动在小数点处对齐。
- 同一列中的其他条目可以通过花括号保护起来,避免被数字解析(见表头)。然后这些条目将居中显示。
- 带括号的条目更复杂。示例将它们添加为前置和后置文本。
- 问题被标记为(或曾经被标记为)
booktabs
。因此,该示例使用了包提供的规则。