使用 PdfLaTeX 的 Unicode

使用 PdfLaTeX 的 Unicode

我想让 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+1F701 空气炼金术符号

相关内容