使用玛雅数字作为枚举标签

使用玛雅数字作为枚举标签

我正在尝试重新定义枚举标签,以便我可以使用玛雅数字(\mayadigit来自 mathabx 包,或者理想情况下是来自的固定旋转数字)这里)。我尝试简单地\renewcommand\theenumi{\mayadigit{enumi}}按照您对 的操作进行操作\roman。在这种情况下,我收到以下错误:

缺失数字,视为零

似乎\roman比 具有更多的结构\mayadigit,但我找不到为 定义相同内容所需的内容\mayadigit

答案1

enumitem我通过查看包设法使它工作moreenum。如果有人感兴趣的话,这是我的解决方案:


\usepackage{graphicx}
\usepackage{enumitem}
\usepackage{mathabx}
\newcommand\mathbfont{\usefont{U}{mathb}{m}{n}}

\def\mayaexpansion{%
    \mayacntc=\mayacnta\mathbfont
    \ifnum\mayacntc=0 0\else
    \rotatebox[origin=c]{-90}{%
    \loop\ifnum\mayacntc>5\advance\mayacntc by -5\repeat
    \the\mayacntc\mayacntc=\mayacnta
    \loop\ifnum\mayacntc>5\advance\mayacntc by -5 5\repeat}%
    \fi}%

\makeatletter
\newcommand*{\mayalabel}[1]{%
  \expandafter\@mayalabel\csname c@#1\endcsname}
\newcommand*{\@mayalabel}[1]{%
  \protect\mayadigit{\number#1}}
\AddEnumerateCounter{\mayalabel}{\@mayalabel}{\mayadigit{5}}
\makeatother 

\makeatletter
\newcommand*{\mayafull}[1]{%
  \expandafter\@mayafull\csname c@#1\endcsname}
\newcommand*{\@mayafull}[1]{%
  \protect\ensuremath{\maya{\number#1}}}
\AddEnumerateCounter{\mayafull}{\@mayafull}{\maya{5}}
\makeatother

使用[label=\mayalabel*]会给你\mayadigit{}[label=\mayafull*]会给你\maya{}。不过,它们都没有真正超过二十个。前者是错误的,后者很笨重。

相关内容