我使用 TeX Live。请参阅我的示例:
\documentclass{article}
\usepackage[utf8x]{inputenc}
\usepackage[english]{babel}
\begin{document}
Check ligatures: first % here I have ligature for "fi"
\end{document}
这里有 Unicode 符号:fi
。当我编译上述 LaTeX 文件时,我得到:
! 软件包 ucs 错误:未知 Unicode 字符 64257 = U+FB01
然后我应用 LaTeX 系统建议并编译以下文件:
\documentclass{article}
\usepackage[utf8x]{inputenc}
\usepackage[english]{babel}
\DeclareUnicodeCharacter{FB01}{fi}% Here I defined a Unicode ligature
\begin{document}
Check ligatures: first
\end{document}
但是当我编译这个 LaTeX 文件时,我得到:
!缺失数字,视为零。 <待重读> F l.4 \DeclareUnicodeCharacter{FB01}{fi}
所以我的问题是:如何仅使用连字的 Unicode 符号在 LaTeX 文件中输入连字?
答案1
该代码有两个问题:
- 使用
[utf8]
而不是[utf8x]
- 的第二个参数
\DeclareUnicodeCharacter
是将被替换的字符和,所以再次将字符放在那里是没有意义的。将其替换为您真正需要的字符(f
并将i
像往常一样由 TeX 连接成连字符):\DeclareUnicodeCharacter{FB01}{fi}
经过这些更改后,代码将按预期工作。