siunitx 表中二进制和十六进制数对齐问题

siunitx 表中二进制和十六进制数对齐问题

你能告诉我下一个代码有什么问题吗?我想要一个三列表格,其中数字用系列排版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}

结果

相关内容