\documentclass{article}
\begin{document}
Test⁉
\end{document}
请注意,第五个字符是“⁉︎”(参见http://www.ltg.ed.ac.uk/~richard/utf-8.cgi?input=%E2%81%89%EF%B8%8E&mode=char了解详情)。
其输出为“测试”,不包含“⁉︎”部分。
我怀疑该字符最终是 Mac 字符而不是正确的 UTF-8 字符,但我不知道如何修复或检查。有什么想法吗?
答案1
原因很简单,因为很少有字体具有这个特征;特别是Latin Modern
没有它。
我只知道 4 种字体:DejaVu Sans、DejaVu Serif、Linux BioLinum O 和 Linux Libertine O。它们可以与 XeLaTeX 或 LuaLaTeX 一起使用。
\documentclass{article}
\usepackage{fontspec}
\usepackage{mathtools}
\setmainfont{Linux Libertine O}
\setsansfont{DejaVu Sans}
\begin{document}
\texttt{Linux Libertine O:} \quad Test⁉\smallskip
\texttt{Linux Biolinum: } \quad \fontspec{Linux Biolinum O}Test⁉\smallskip
\sffamily \texttt{DejaVu Sans: }\quad Test⁉
\end{document}
答案2
您需要告诉 LaTeX 您正在使用 UTF-8 输入,然后告诉它如何排版该字符(这不在标准字体中,但可以近似如下)
\documentclass{article}
\usepackage[utf8]{inputenc}
\DeclareUnicodeCharacter{2049}{!\kern-.1em?}
\begin{document}
Test⁉
\end{document}