我有象形数字在我的代码中定义,package.sty
但从 14071 开始,这会给出一个空框,而不是数字本身。有些问题,但我不知道是什么。我问过这个问题别处但现在问题不同了:它涉及到\usepackage{mathabx}
。当我注释掉数字时,\usepackage{mathabx}
数字又出现了。但是我从\ggg
这个 >>> 而不是这个 >> 中得到结果。
\documentclass{article}
%\usepackage{mathabx}
%\usepackage{unicode-math}
\usepackage{amssymb,amsmath}
\usepackage{accents}
\usepackage{tikz-cd}
%\usepackage{fontspec}
\usepackage[no-math]{fontspec}
%\usepackage{unicode-math}
\let\circ\undefined
\let\diamond\undefined
%\let\bullet\undefined
\let\ring\undefined
%\let\emptyset\undefined
%\let\owns\undefined
\usepackage{mathabx}
%\usepackage{xypic}
\usepackage[czech]{babel}
\usepackage{mypackage}
%\usepackage[utf8]{inputenc}
\newcommand{\pullbackcorner}[1][dl]{\save*!/#1-1pc/#1:(1,-1)@^{|-}\restore}
\usepackage{babyloniannum}
%\setfont{NewGardiner}
\newfontfamily\ngg{Segoe UI Historic}[Ligatures=TeX]
\MakeRobust\babyloniannum
\MakeRobust\hgnum
\usepackage{enumitem}
\begin{document}
$\ggg$
\underline{motto:}{ každý den $\pm$ nový princip }\hfill{$\square$}
\bigskip
\bigskip
\begin{enumerate}[ label=\roman{enumi}--\arabic{enumi}--\!\!\!\!\!\babyloniannum{\value{enumi}}\!\!\!--\large\ngg\symbol{\numexpr "13000+\value{enumi}}--\hgnum{\theenumi}]
\item rozhodovat se na hraně zajímavého
\item *vždycky to tam máš (data v matematice)
\item svoboda a volnost
%\newcommand{\demoletter}[1]{{\setlength{\fboxsep}{-\fboxrule}\fbox{\phantom{#1}}}}
\item \hgnum{1070}
\item \hgnum{1081}
\item \large\ngg\symbol{\numexpr "13000+1070}
\item \large\ngg\symbol{\numexpr "13000+1071}
\item \large\ngg\symbol{\numexpr "13000+1072}
\item \large\ngg\symbol{\numexpr "13000+1073}
\item \large\ngg\symbol{\numexpr "13000+1074}
\item \large\ngg\symbol{\numexpr "13000+1075}
\item \large\ngg\symbol{\numexpr "13000+1076}
\item \large\ngg\symbol{\numexpr "13000+1077}
\item \large\ngg\symbol{\numexpr "13000+1078}
\item \large\ngg\symbol{\numexpr "13000+1079}
\item \large\ngg\symbol{\numexpr "13000+1080}
\item \large\ngg\symbol{\numexpr "13000+1081}
\item teorie množin (a někdy i další) je manipulace s objekty "ode zdi ke zdi" a jejich sledování
\end{enumerate}
\end{document}
我的包.sty
% this is my first package
%
% (c) Buffalo Bill
%
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN archives
%% in directory macros/latex/base/lppl.txt.
%
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
\ProvidesPackage{mypackage}
[2011/01/11 v0.01 LaTeX package for my own purpose]
\usepackage{fontspec}
\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}
\DeclareRobustCommand\hgnum[1]{{\hg\expandafter\hgnumx\the\numexpr20000000+#1\relax}}
%\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}%
}
%\RequirePackage{whateverwe need}
\def\hi{Hello, this is my own package}
\let\myDate\date
\newcommand\GoodBye[1][\bfseries]{{#1Good Bye}}
\endinput
%%
%% End of file `mypackage.sty'.
答案1
您的 MWE 无法编译,因为它需要一个附加文件babyloniannum.sty
。
当我删除所有 Bablylonian 时,问题出在以下命令上:
\large\ngg\symbol{\numexpr "13000+1070}
您在文档中将其定义\ngg
为巴比伦楔形文字字体,但您似乎想将其用于埃及象形文字。此外,您将其设置在任意组之外,因此它会渗透并改变周围文本的字体。您想要的是类似
\DeclareTextFontCommand{\largehg}{\large\hg}
其次是
\item \largehg{\symbol{\numexpr "13000+1070}}
我确实有一台安装了 Segoe UI 的 Windows 机器,也许你的一些示例可以在它上面运行,但很多示例根本不是有效的 Unicode。为了让你的示例在这台机器上编译,我加载了
\newfontfamily\hg{Aegyptus}[
Scale=MatchUppercase,
Script={Egyptian Hieroglyphs},
UprightFeatures={Ligatures=Common}]
在哪里可以下载字体来自其网页。 请注意,版本 13.00 具有非免费许可证,限制其仅限“个人使用”。
您的问题似乎与 不直接相关mathabx
,但不要加载mathabx
。它有缺陷且过时。如果确实必须,请在 之后amssymb
和 之前加载它accents
。这是不会给您有关已定义命令的错误消息的顺序。您似乎在某个时候加载了它unicode-math
,然后将其注释掉。这是一个更好的主意。
\tracinglostchars=2
最后,在文档顶部添加一行是个好主意。当字体不包含字符时,这将打印一条警告消息,并告诉您它试图从哪种字体加载哪个字符。