我正在尝试制作一个表格,其中文本为粗体,并在第一行左对齐。任何文本都必须在左对齐,数字必须在小数点分隔符(“,”)上对齐。我尝试使用,\dcolumn
但没有成功。我还想要一些样式功能,例如渐变黑色、行内垂直对齐。在底行中,当与第二列的内容对齐时,“总计”可能没问题。按照图片中的方式操作,即与第一行、第三列的内容对齐,并且数字与上面行的数字对齐将涉及多列。
这是我的妈妈:
%% start of file `*.tex'.
\documentclass[a4paper,12pt]{article}
%\usepackage{siunitx}
\usepackage{booktabs,dcolumn}
\renewcommand{\familydefault}{\sfdefault}
\newcolumntype{,}{D{,}{,}{2}}
\begin{document}
\centering
\begin{tabular}{lp{4cm}lp{10cm},p{4cm}}
\textbf{date} & \textbf{opération} & \multicolumn{2}{l}{\textbf{montant (€)}} \\
\specialrule{2pt}{0pt}{0pt}
janv. 2022 & transaction A & 100,00 \\
fevr. 2022 & achat en ligne & 3000,20 \\
mars 2022 & boutique bio & 228,21 \\
\specialrule{2pt}{0pt}{0pt}
& \textbf{total} & \textbf{3328,21}
\end{tabular}
\end{document}
编辑:实际上,.tex 文件中的日期格式为 dd/mm/yyyy。我使用isodate
选项french
和\printdate{}
显示任何日期。有没有办法让所有日期都垂直对齐,月份也一样,年份也一样?
例如:
\printdate{01/01/2022} & transaction A & 100,00 \\
\printdate{01/02/2022} & achat en ligne & 3000,20 \\
\printdate{31/03/2022} & boutique bio & 228,21 \\
答案1
siunitx
以下是使用该包及其列类型的解决方案S
。请注意,我保留了示例代码中包含的一些\textbf
指令,尽管它们似乎与您发布的屏幕截图无关。
% !TEX TS-program = lualatex %% or pdflatex, etc.
\documentclass[a4paper,12pt]{article}
\renewcommand{\familydefault}{\sfdefault}
\usepackage[T1]{fontenc}
\usepackage{siunitx}
\newcolumntype{T}[1]{S[table-format=#1]}
\usepackage{booktabs}
\usepackage[colorlinks,allcolors=blue]{hyperref} % optional
\begin{document}
\sisetup{detect-weight,detect-family,
output-decimal-marker={\text{,}}}
\centering
\begin{tabular}{@{} p{2.5cm} p{3.5cm} p{1.5cm} T{4.2} @{}}
\textbf{date} &
\textbf{opération} &
\multicolumn{2}{l}{\textbf{montant (€)}} \\
\midrule[2pt]
janv.\ 2022 & transaction A && 100,00 \\
fevr.\ 2022 & achat en ligne && 3000,20 \\
mars 2022 & boutique bio && 228,21 \\
\midrule[2pt]
& & \textbf{total} & 3328,21 \\
\bottomrule[2pt]
\end{tabular}
\end{document}