你能告诉我下一个代码有什么问题吗?我想要一个三列表格,其中数字用系列排版typewriter
并位于标题下方居中。数字不会有任何小数部分,它们是整数及其十进制、二进制和十六进制表示形式。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{siunitx}
\usepackage{booktabs}
\begin{document}
\sisetup{math-rm=\mathtt,
group-digits=false,
table-figures-decimal=0,
table-number-alignment=center,
input-digits={0123456789ABCDEF}
}
\begin{tabular}{SS[minimum-integer-digits=8]S}
\toprule
{Decimal} & {Binary} & {Hexadecimal} \\
\midrule
63 & 00111111 & 3F \\
250 & 11111010 & FA \\
117 & 01110101 & 75 \\
220 & 11011100 & DC \\
171 & 10101011 & AB \\
94 & 01011110 & 5E \\
\bottomrule
\end{tabular}
\end{document}
如您所见,第二列没有足够的空间,并且第二列和第三列未正确对齐。我对siunitx
指南有什么误解?
答案1
第二列中的二进制数以 为中心table-format=8.0
。此外,过满\hbox
警告也消失了:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{siunitx}
\usepackage{booktabs}
\begin{document}
\sisetup{math-rm=\mathtt,
group-digits=false,
table-figures-decimal=0,
table-number-alignment=center,
input-digits={0123456789ABCDEF}
}
\begin{tabular}{SS[minimum-integer-digits=8,table-format=8.0]S[table-format=2.0]}
\toprule
{Decimal} & {Binary} & {Hexadecimal} \\
\midrule
63 & 00111111 & 3F \\
250 & 11111010 & FA \\
117 & 01110101 & 75 \\
220 & 11011100 & DC \\
171 & 10101011 & AB \\
94 & 01011110 & 5E \\
\bottomrule
\end{tabular}
\end{document}