我需要将以下 roman,arabic,babyloniannum 序列扩展为 象形文字。LaTeX 的解决方案已经给出别处 但非常麻烦。而且它不能对同一类的数字进行分组。
\renewcommand{\theenumi}{\roman{enumi}--\arabic{enumi}--\!\!\!\!\!\babyloniannum{\value{enumi}}\!\!\!}
我正在寻找一个使用 XeTeX 版本的 Unicode,它应该非常简单。最多是**普通的5 行代码。**
编辑这个问题不是重复的这个问题 完全没有。答案就在那里不使用 Unicode我期望使用这里。该答案的作者实际上已经声明,他无法针对我的问题写出 Unicode 答案。
更准确地说,我需要使用 Unicode 中为埃及数字预制的字形。例如,6,000 是 U+131C1。XeTeX 可以将它们与 一起使用fontspec
。但我不知道如何在文件 ideje.tex 中创建这个 U+131C1。我希望现在情况更清楚了?
答案1
我必须猜测一些 unicode 映射,只需看一下
https://www.unicode.org/charts/PDF/U13000.pdf
\documentclass{article}
\usepackage{fontspec}
\newfontfamily\hg{Segoe UI Historic}
\def\hgunits#1{\ifcase#1\relax\or
^^^^^^0133fa\or
^^^^^^0133fb\or
^^^^^^0133fc\or
^^^^^^0133fd\or
^^^^^^0133fe\or
^^^^^^0133ff\or
^^^^^^013400\or
^^^^^^013401\or
^^^^^^013402\else
?\fi}
\def\hgtens#1{\ifcase#1\relax\or
^^^^^^013386\or
^^^^^^013387\or
^^^^^^013388\or
^^^^^^013389\or
^^^^^^01338a\or
^^^^^^01338b\or
^^^^^^01338c\or
^^^^^^01338d\or
^^^^^^01338e\else
?\fi}
\def\hghundreds#1{\ifcase#1\relax\or
^^^^^^013362\or
^^^^^^013363\or
^^^^^^013364\or
^^^^^^013365\or
^^^^^^013366\or
^^^^^^013367\or
^^^^^^013368\or
^^^^^^013369\or
^^^^^^01336a\else
?\fi}
\def\hgthousands#1{\ifcase#1\relax\or
^^^^^^0131bc\or
^^^^^^0131bd\or
^^^^^^0131be\or
^^^^^^0131bf\or
^^^^^^0131c0\or
^^^^^^0131c1\or
^^^^^^0131c2\or
^^^^^^0131c3\or
^^^^^^0131c4\else
?\fi}
\def\hgtenthousands#1{\ifcase#1\relax\or
^^^^^^0130ad\or
^^^^^^0130ae\or
^^^^^^0130af\or
^^^^^^0130b0\or
^^^^^^0130b1\or
^^^^^^0130b2\or
^^^^^^0130b3\or
^^^^^^0130b4\or
^^^^^^0130b5\else
?\fi}
\def\hghundredthousands#1{\ifcase#1\relax\or
^^^^^^013190\or
^^^^^^013190^^^^^^013190\or
^^^^^^013190^^^^^^013190^^^^^^013190\or
^^^^^^013190^^^^^^013190^^^^^^013190^^^^^^013190\or
^^^^^^013190^^^^^^013190^^^^^^013190^^^^^^013190^^^^^^013190\else
?\fi}
\def\hgnum#1{{\hg\expandafter\hgnumx\the\numexpr10000000+#1\relax}}
\def\hgnumx#1#2#3#4#5#6#7#8{%
\hghundredthousands{#3}%
\hgtenthousands{#4}%
\hgthousands{#5}%
\hghundreds{#6}%
\hgtens{#7}%
\hgunits{#8}%
}
\begin{document}
152123
{\hg
\hghundredthousands{1}%
\hgtenthousands{5}%
\hgthousands{2}%
\hghundreds{1}%
\hgtens{2}%
\hgunits{3}%
}
\hgnum{152123}
\end{document}
答案2
我会转发我的答案使用Unicode。 它并不像要求的那样简洁,因为它使用了 expl3,但 David Carslisle 的答案也不是那么简洁。
这是一个使用fontspec
和 的解决方案expl3
。它不是很紧凑,但在我看来,它比传统解决方案更具可读性。
\documentclass{article}
\RequirePackage{expl3}
\usepackage{fontspec}
% These fonts are available at: http://users.teilar.gr/~g1951d/
\newfontfamily\hieroglyphfont{Aegyptus}[Scale = MatchUppercase, Script={Egyptian Hieroglyphs}]
\newfontfamily\emojifont{Symbola}[Scale = MatchUppercase] % The modern equivalent.
\newcommand\shrug{{{\emojifont\symbol{"1F937}}}}
\newcommand\EgyptianShrug{{\hieroglyphfont