\documentclass[]{article}
\usepackage[iso-8859-1]{inputenx}
\usepackage[T1]{fontenc}
\begin{document}
¡
£
§
©
ª
«
¬
®
\end{document}
我在想。当我使用 package+option 排版文档时\usepackage[iso-8859-1]{inputenx}
,我自然会认为我可以使用为 iso-8859-1 定义的所有字符(维基百科链接)。
我的示例文档在这里可以工作,但是一旦我添加一些字符,就会收到错误消息。例如日元符号 (¥):
!LaTeX 错误:命令 \textyen 在编码 T1 中不可用。
在里面inputenx
文档您可以在 iso-8859-1 部分找到以下代码:
\ProvideTextCommandDefault{\textyen}{%
\TextSymbolUnavailable\textyen
}
或许这是有关联的。
另一方面,也许错误含义是指fontenc T1
。
主要问题
为什么使用时并非所有 iso-8859-1 字符都可用\usepackage[iso-8859-1]{inputenx}
?
答案1
输入编码指定了输入字节的解释,并且该字节被正确地解释为日元并且乳胶将其转换为\textyen
。
然后发生的情况与输入编码无关,并且等同于\textyen
源文件中的情况。如果该命令被定义为生成字符,它将生成字符(textcomp
例如,您可以使用包),但由于文档字体编码指定为 T1,而 T1 不包含日元,因此默认情况下您会得到显示的错误。
如果您使用输入,可能更容易看出区别[utf8]
,这允许解释数千个输入字符,但如果您使用 T1 编码,则字体中只有 256 个字符。