我包括 TeX 文件
\input{file}
但是当我使用 pdflatex 编译主文件时,我得到:
\textyen unavailable in encoding T1
如果我将其全部保存在一个 tex 文件中,则不会发生这种情况,该文件顶部包含:
\usepackage[swedish]{babel}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
是否有任何简单的方法可以让包含的 tex 文件继承主文件中定义的包的使用?
答案1
我认为问题中有一个拼写错误(修订 3)。\textgen
实际上是\textyen
。
以下文档采用 UTF-8 编码,
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\begin{document}
å
\end{document}
产生错误:
! LaTeX Error: Command \textyen unavailable in encoding T1.
这意味着,问题的输入文件很可能以 UTF-8 编码。包inputenc
还支持使用不同编码的文档。可以通过设置编码\inputencoding{...}
。示例:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8,latin9]{inputenc}
\begin{document}
% text is encoded in latin9
% ...
\inputencoding{utf8}
\input{utf8encodedfile}
\inputencoding{latin9}
% back to latin9
% ...
\end{document}
编码utf8
有些特殊,需要先在前导码中加载,然后才能在文档正文中使用。这就是二包的选项inputenc
。
另一种解决方案:
所有输入文件都使用相同的编码。这简化了包的调用
inputenc
,也可能简化了编辑。selinput
当文件重新编码或编码未知时,包可以帮助选择编码。