母公司:
\documentclass{article}
\usepackage{ctex}
\usepackage[table]{xcolor}
\begin{document}
¥
\end{document}
输出:
它只适用于XeLaTeX
。甚至无法使用 Latex 进行编译。错误消息:package inputenc 错误...
我希望找到一种解决方法,这样我就可以输入人民币符号了,但更重要的是,我希望有人能借此机会向我解释哪里出了问题。我假设当我从网上粘贴 ¥ 符号时,我粘贴的是 ¥ 的 UTF8 编码,而 Xelatex 默认不是使用 UTF-8 编码吗?那么这是字体编码的问题吗?我尝试阅读网上的资料,但坦率地说,我还没有找到一个能以我能理解的方式向我解释的资料。
答案1
这似乎是默认fandol
字体集的问题。您有几种选择。首先,您可以加载不同的字体集。此模板加载 CTAN 上可用的免费字体,并且适用于 LuaLaTeX 或 PDFLaTeX:
\tracinglostchars=2
\documentclass{article}
\usepackage[fontset=none]{ctex}
\usepackage[table]{xcolor}
\defaultfontfeatures{ Scale = MatchLowercase, Ligatures = TeX }
\setmainfont{Noto Serif}[Scale = 1.0]
\setCJKmainfont{Noto Serif CJK SC}[
Script=CJK,
Language=Chinese Simplified]
\setsansfont{Noto Sans}
\setCJKsansfont{Noto Sans CJK SC}[
Script=CJK,
Language=Chinese Simplified]
\setmonofont{Noto Sans Mono}
\setCJKmonofont{Noto Sans Mono CJK SC}[
Script=CJK,
Language=Chinese Simplified]
\begin{document}
¥
\end{document}
或者,给出ctex
(或等)系统上可用的ctexart
其他选项,例如 或。请参阅手册的§4.3。fontset
windows
macnew
ubuntu
ctex
最后,LaTeX 内核提供了\textyen
,因此您可以将¥
字符重新设置为使用该字符:
\usepackage{newunicodechar}
\newunicodechar{¥}{\textyen}
如果您能在任何引擎上编译您的文档,那么这应该能在任何引擎上工作。