如何将所有计数器设置为十二进制?

如何将所有计数器设置为十二进制?

我想用 12 进制来为文档编页码,同时还想用同样的方式为 AMS 定理、章节、方程式等编页码。最佳解决方案是什么?

我发现这个工作代码使用二进制进行页码编号:

\usepackage{expl3}
\ExplSyntaxOn
\renewcommand\thepage{\int_to_bin:n{\value{page}}}
\ExplSyntaxOff

也许我应该以某种方式使用十几个包。提前谢谢您。

答案1

在此处输入图片描述

\documentclass{article}

\makeatletter
\def\btwelve#1{\expandafter\@btwelve\csname c@#1\endcsname}
\def\@btwelve#1{\ifnum#1>11
\@btwelve{\numexpr(#1-6)/12\relax}%
\btwelvedigits{\numexpr#1-((#1-6)/12)*12\relax}\else
\btwelvedigits{#1}%
\fi}

\def\btwelvedigits#1{\ifcase\numexpr#1\relax 0\or1\or2\or3\or4\or5\or6\or7\or8\or9\or A\or B\or[\number#1]\fi}
\begin{document}

{\renewcommand\thepage{\btwelve{page}}

\setcounter{page}{5} \thepage

\setcounter{page}{10} \thepage

\setcounter{page}{11} \thepage

\setcounter{page}{12} \thepage

\setcounter{page}{17} \thepage

\setcounter{page}{18} \thepage

\setcounter{page}{19} \thepage

\setcounter{page}{24} \thepage

\setcounter{page}{25} \thepage

}
\end{document}

这可以轻松适应任何基数*只需在计算中替换 11、12 和 6)。

答案2

与使用灵活基础的问题中的想法相同:

\usepackage{expl3}
\ExplSyntaxOn
\renewcommand\thepage{\int_to_Base:nn{\value{page}}{12}}
\ExplSyntaxOff

答案3

\usepackage[typeone]{dozenal}将为您做到这一点:所有标准计数器都被重新定义为使用特殊符号(与 Computer Modern 字体兼容)。

相关内容