![使用除零以外的其他内容填充整数](https://linux22.com/image/302579/%E4%BD%BF%E7%94%A8%E9%99%A4%E9%9B%B6%E4%BB%A5%E5%A4%96%E7%9A%84%E5%85%B6%E4%BB%96%E5%86%85%E5%AE%B9%E5%A1%AB%E5%85%85%E6%95%B4%E6%95%B0.png)
请考虑以下示例:
\documentclass{article}
\usepackage{siunitx,collcell}
\sisetup{minimum-integer-digits=4}
\begin{document}
\begin{tabular}{S}
{Header} \\
1234 \\ 234 \\ 34 \\ 4
\end{tabular}
%
\qquad%
%
\begin{tabular}{>{\collectcell\num}c<{\endcollectcell}}
\multicolumn{1}{c}{Header} \\
1234 \\ 234 \\ 34 \\ 4
\end{tabular}
\end{document}
在左边tabular
(siunitx
例如),该Header
列以“(缺失)小数点”为中心。在右侧tabular
(collcell
例如),Header
正如预期的那样居中(因为我们使用的是c
-type 列)。
两种情况下的整数填充都会产生前导 0
。我如何修改此填充为\phantom{0}
(或完全是其他内容),以便输出类似于
\documentclass{article}
\begin{document}
\begin{tabular}{c}
\multicolumn{1}{c}{Header} \\
1234 \\ \phantom{0}234 \\ \phantom{0}\phantom{0}34 \\ \phantom{0}\phantom{0}\phantom{0}4
\end{tabular}
\end{document}
integer-zero
我正在寻找一种方法来添加我可以根据自己的喜好指定的 键(默认为)。 (尚不存在)0
的概括同样很棒。decimal-zero
答案1
对于不使用正常列情况时对齐数字的情况,siunitx
提供\tablenum
命令。
\documentclass{article}
\usepackage{siunitx,collcell}
\begin{document}
\sisetup{table-format = 4.0}
\begin{tabular}{>{\collectcell\tablenum}c<{\endcollectcell}}
\multicolumn{1}{c}{Header} \\
1234 \\ 234 \\ 34 \\ 4
\end{tabular}
\end{document}
这是专门用于在非标准情况下创建对齐兼容的数字格式。
就问题而言,我认为这根本不需要
\documentclass{article}
\usepackage{siunitx}
\begin{document}
\begin{tabular}{S[table-format = 4.0]}
\multicolumn{1}{c}{Header} \\
1234 \\ 234 \\ 34 \\ 4
\end{tabular}
\end{document}
答案2
另一方面,如果你没有结婚\num
,你可以使用类似
\documentclass{article}
\begin{document}
\begin{tabular}{@{}r@{}}
1234\\
234\\
34\\
4
\end{tabular}
\end{document}
或者
\documentclass{article}
\newcommand{\mynum}[1]{\phantom{0000}\llap{#1}}
\begin{document}
\mynum{1234}\par
\mynum{234}\par
\mynum{34}\par
\mynum{4}
\end{document}
答案3
这不是答案,只是玩玩而已。如果你不需要数字中的零,那么它就是答案;因为它“替换”了每个零,无论它是在左边还是在中间。
\documentclass{article}
\usepackage{siunitx,calc}
\sisetup{minimum-integer-digits=4}
\begin{document}
\begingroup\mathcode`\0="8000
\begingroup\lccode`\~=`\0\lowercase{\endgroup\def~}{\makebox[\widthof{0}]
{\textvisiblespace}}
%{$\cdot$}}
\num{1234}\par
\num{234}\par
\num{34}\par
\num{4}
\endgroup
\end{document}