我试图将箭头和粗连字符符号 ‣ 和 ̶ 分别插入U+2023
到U+2043
我的文档中。我尝试使用 编译以下内容lualatex
:
\documentclass{article}
\usepackage{fontspec}
\begin{document}
\symbol{^^^^2023}
\symbol{^^^^2043}
\end{document}
但是,我得到了编译错误
Missing number, treated as zero.
<to be read again>
‣
\symbol{^^^^2023}
和
Missing number, treated as zero.
<to be read again>
⁃
\symbol{^^^^2043}
在这种情况下,错误意味着什么?我该如何将符号插入到我的文档中?将编译器更改为lualatex
其他编译器不是一个选择。
答案1
特殊语法^^^^2023
意味着插入具有 Unicode 代码点的字符U+2023
在输入层面。
例如,输入^^^^0061^^^^0062^^^^0063
如下确切地与键入相同(顺便说一下,abc
与 相同)。^^61^^62^^63
该命令的意思是*在当前字体的插槽中\symbol{<number>}
排版字形。<number>
因此,这两种方式处于不同的层次:输入对于前者,输出对于后者。
您可以使用十六进制表示法\symbol
,但需要使用以下标记:\symbol{"2023}
。您也可以输入\symbol{8227}
,或者,甚至可以输入,
\symbol{`^^^^2023}
使用字母常量表示。但这会浪费资源,因为^^^^2023
会产生相同的结果。
重要备注。符号^^^^
要求小写数字abcdef
,而"
符号需要大写 ABCDEF
。
答案2
使用\char
没有将其参数括在花括号中,或者使用\symbol
和大括号。
我使用了Noto Sans
和Noto Serif
,因为 LuaTeX 的默认字体系列(Latin Modern)不包含 或\symbol{"2023}
的字形\symbol{"2043}
。
\documentclass{article}
\usepackage{fontspec}
\begin{document}
%% 'Noto Sans' and 'Noto Serif' happen to feature the required glyphs
\setmainfont{Noto Sans}
\symbol{"2023}a\symbol{"2043} \quad \char"2023 a\char"2043
\setmainfont{Noto Serif}
\symbol{"2023}a\symbol{"2043} \quad \char"2023 a\char"2043
\end{document}