二进制的节编号

二进制的节编号

是否可以用二进制数字对部分进行编号,从 0 开始?因此\section{First Section}将呈现为“0. 第一部分”,下一个实例将呈现“1. 第二部分”,第三个实例将呈现“10. 第三部分”?

答案1

当然。

\documentclass{article}

\usepackage{expl3}

\ExplSyntaxOn
    \cs_set:Npn \thesection {\int_to_bin:n{\value{section}-1}}
\ExplSyntaxOff

\begin{document}

\section{one}

\section{two}

\section{three}

\end{document}

MWE 输出

请注意,我只改变了显示这里的数字,因此计数器仍然具有第一节的section值,我们仅打印。如果您希望该节“真正”具有数字,则需要从定义中删除并将计数器设置为在文档开头。100-1\thesection-1

答案2

fmtcount包提供了一种获取二进制数的简单方法。要从零开始计数,您需要将节计数器初始设置为-1。如果您愿意,也可以用零填充值。

\documentclass{article}
\usepackage{fmtcount}
\renewcommand{\thesection}{\binary{section}.}
\setcounter{section}{-1}% To begin at 0

\begin{document}

\section{First section}
\section{Second section}
\section{Third section}
\section{Fourth section}
\section{Fifth section}
\renewcommand{\thesection}{\padzeroes[4]\binary{section}}
\setcounter{section}{-1}
\section{First section}
\section{Second section}
\section{Third section}
\section{Fourth section}
\section{Fifth section}
\end{document}

示例输出

相关内容