我一直在尝试自动打印一个二进制数字,每四位数字中间有一个小空格。从右边开始,然后向左移动。
我发现这允许我实现这一点的包,但不幸的是,它要求我添加一个
0b
在每个数字前面。我宁愿不打印出来,因为我使用
$_2$
有人可以帮我使用这个包吗不是打印出
0b
或者有其他方法可以实现此目的?谢谢
答案1
可能还有其他方法,但是这个(灵感来自这个答案) 似乎有效。
\documentclass{article}
\usepackage{soul}
\newcounter{binst}
\makeatletter
\newcommand{\FormatBinary}[1]{\begingroup%
\setcounter{binst}{0}
\def\SOUL@soeverytoken{%
\stepcounter{binst}%
\ifnum\value{binst}=5\relax%
\setcounter{binst}{1}\,%
\fi%
\the\SOUL@token}%
\so{#1}\endgroup}
\makeatother
\begin{document}
\FormatBinary{100100010010}
\end{document}