我想让 Alchemy 符号在 PdfLaTeX 中工作。我无法访问 XeTeX 或 LuaTex,因为我在 iPad 上使用 Tex Writer。以下是两个最小示例。
第一个有效。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage[utf8x]{inputenc}
\begin{document}
\unichar{"00E4}
\unichar{"20AC}
\end{document}
这个不能编译:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage[utf8x]{inputenc}
\begin{document}
\unichar{"00E4}
\unichar{"1F701}
\end{document}
错误信息如下:
l.9 \unichar{"1F701}
?
! Emergency stop.
...
l.9 \unichar{"1F701}
Unicode character 128769 = U+1F701:
ALCHEMICAL SYMBOL FOR AIR
Character is not defined in uni-*.def files.
Enter I! to define the glyph.
Here is how much of TeX's memory you used:
1717 strings out of 493024
24829 string characters out of 6124273
70825 words of memory out of 5000000
5308 multiletter control sequences out of 15000+600000
4403 words of font info for 15 fonts, out of 8000000 for 9000
1141 hyphenation exceptions out of 8191
23i,0n,17p,304b,478s stack positions out of 5000i,500n,10000p,200000b,80000s
! ==> Fatal error occurred, no output PDF file produced!
答案1
TeX 是一个排版程序:它的工作是从字体中挑选字形(形状),并决定将它们放在页面上的什么位置。因此,TeX 需要获取有关这些形状的信息。
为了解释您的输入,TeX 默认会单独处理每个字节。\usepackage[utf8x]{inputenc}
您可以让 TeX 知道它应该将字节序列解释为 Unicode 字符,如 UTF-8 编码所指定的那样。例如,当您€
在文件中输入内容时,它会理解您的意思Unicode 字符 U+20AC(欧元符号),因为文件将包含与该字符的 UTF-8 编码对应的字节。这相当于手动输入\unichar{"20AC}
。
但仅仅了解你想要的是某个特定的 Unicode 字符是不够的:那又怎么样?TeX 仍然需要知道如何处理它。
例如:
ä
U+00E4 带分音符的拉丁文小写字母 A定义为texmf-dist/tex/latex/ucs/data/uni-0.def
(\"a
TeX 知道如何做)€
U+20AC 欧元符号定义为,texmf-dist/tex/latex/ucs/data/uni-32.def
而\ifx\euro\undefined\texteuro\else\euro\fi
这又是通过 TeX 中可用的字形以某种方式制作的
你想要的角色,U+1F701 空气炼金术符号