水平玛雅数字 (mathabx)

水平玛雅数字 (mathabx)

经过研究,mathabx 是唯一在 tex 中支持玛雅数字的包。

例如,输入$\maya{2013}$结果为: 2013 年玛雅数字

现在的问题是......数字被侧面旋转了(奇怪的是,表示零的海螺壳没有旋转)。

也就是说,组正确地垂直堆叠,但在每个组内,数字本身会横向旋转

与之比较维基百科 19 的示例

我理解原因是字体编码的数字是旋转的,但我真的不明白我应该编辑什么才能得到水平数字

我了解到这些数字是在 fonts\source\public\mathabx\maydigit.mf 中创建的,但打开它显示的是 metafont 而不是 tex,而且 metafont 看起来像中文(玛雅?)

有人能帮助我理解如何将数字旋转回水平模式吗?


編輯>

最小示例:

\documentclass{minimal}
\usepackage{mathabx}

\newcommand\mathbfont{\usefont{U}{mathb}{m}{n}}

\begin{document}

\mayadigit{17}

\[
\maya{2013},
\maya{123},
\maya{45}
\]
\end{document}

它产生:最小输出

我尝试实现的目标(在图形程序中编辑): 期望结果

\maya由于它运行正常,我不需要修复。

它选择正确的数字并将其放在适当的位置。我需要的是旋转“数字符号”

所以我继续尝试编辑源 maydigit.mf。我想我可以尝试修复“two”(两个点),这样它就不会显示“:”,而是显示“..”

相关代码是

beginchar("2",fig_width#+2appr#,fig_height#,0);
  "Maya numeral 2 (ca)";
%  italcorr fig_height#*slant-0.5u#;
  pickup fine.nib;
  adjust_dot1((0.5w,0.25h),dtsz,false,false);
  dot(1,1');
  adjust_dot2((0.5w,0.75h),dtsz,false,false);
  dot(2,2');
endchar;

我认为交换这些坐标 (0.5w,0.25h) 和另一个坐标会成功。我这样做了,保存了源代码,重新编译了我的 .tex 示例……但没有任何效果(就好像字体已经“编译”过了,更改源代码不会更新使用的字体本身)。

我开始明白了。将代码改为

beginchar("2",fig_width#+2appr#,fig_height#,0);
  "Maya numeral 2 (ca)";
%  italcorr fig_height#*slant-0.5u#;
  pickup fine.nib;
  adjust_dot1((0.25h,0.5w),dtsz,false,false);
  dot(1,1');
  adjust_dot2((0.75h,0.5w),dtsz,false,false);
  dot(2,2');
endchar;

有效(间距很奇怪,但至少两个点现在是水平的)。我不仅要交换坐标,还要交换后缀(h,w)。

结果如下: 在此处输入图片描述

我会继续努力

答案1

以下似乎按预期工作:

在此处输入图片描述

\documentclass{article}
\usepackage{graphicx,mathabx}% http://ctan.org/pkg/{graphicx,mathabx}

\newcommand\mathbfont{\usefont{U}{mathb}{m}{n}}

\begin{document}

\mayadigit{17}

\[
  \maya{2013}, \maya{123}, \maya{45}
\]

\noindent\hrulefill

\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}%

\mayadigit{17}

\[
  \maya{2013}, \maya{123}, \maya{45}
\]

\end{document}

的定义\mayaexpansion取自mathabx.dcl.插入的是graphicx围绕物体中心旋转 -90 度c。仅当物体不为零时才执行此操作。

答案2

注意:以下内容不适用于pdfLaTeX


在网站上,MayaPS:使用 TeX/LaTeX 输入 Maya您将找到一个字体包,它使您能够使用多个玛雅字形(例如,用于书写数字)来满足您的要求。以下是 MWE:

在此处输入图片描述

\documentclass[letterpaper]{article}
\input mayaps
\begin{document}
\mayaSize{0.5cm}
\begin{minipage}{1cm}
\maya{905}\\
\maya{900}\\
\maya{913}
\end{minipage}
\end{document}

您在此处看到的数字 905、900 和 913 是分配给字形的数字。您可以在第 10 页和第 11 页找到这些数字法典地图文件。要编译该文档,您需要将文件mayaps.texmayaps.procodex.mpfred89.tex(如果需要)和mpfmap.tex(如果需要)复制到当前目录(文件夹)。您可以在软件包文档的第 5 页找到此文件(参考手册)。

相关内容