texlive debian 软件包错误

texlive debian 软件包错误

有人能回答为什么会出现错误“未找到编码文件‘utf8enc.def’”吗?

111.tex 输入文件:

\documentclass[a4paper,12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[utf8]{fontenc}
\usepackage[russian,english]{babel}

\begin{document}
АБВ ABC
\end{document}

终端输出:

dy636363@computerdy636363 ~ $ latex 111.tex
This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian)
restricted \write18 enabled.
entering extended mode
(./111.tex
LaTeX2e <2011/06/27>
Babel <3.9g> and hyphenation patterns for 2 languages loaded.
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size12.clo))
(/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
(/usr/share/texlive/texmf-dist/tex/latex/base/utf8.def
(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.dfu)
(/usr/share/texlive/texmf-dist/tex/latex/base/ot1enc.dfu)
(/usr/share/texlive/texmf-dist/tex/latex/base/omsenc.dfu)))
(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty

! Package fontenc Error: Encoding file `utf8enc.def' not found.
(fontenc)                You might have misspelt the name of the encoding.

该目录的 ls 程序输出是,它包含 utf***:

dy636363@computerdy636363 ~ $ ls /usr/share/texlive/texmf-dist/tex/latex/base/
...
exscale.sty   leqno.sty     ot1cmfib.fd   t1cmdh.fd     utf8.def
fix-cm.sty    letter.cls    ot1cmfr.fd    t1cmfib.fd    utf8enc.dfu
fixltx2e.sty  letter.sty    ot1cmr.fd     t1cmfr.fd     utf8-test.tex
flafter.sty   lppl.tex      ot1cmss.fd    t1cmr.fd      utf8test.tex

答案1

这句\usepackage[utf8]{fontenc}是错误的:好的是

\usepackage[T2A,T1]{fontenc}

支持拉丁字母和西里尔字母。但是,您必须标记要使用西里尔字母的位置:

\documentclass[a4paper,12pt]{article}
\usepackage[T2A,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}

\begin{document}
\foreignlanguage{russian}{АБВ} ABC

\textcyrillic{АБВ} ABC
\end{document}

选择哪一个\foreignlanguage{russian}取决于\textcyrillic个人品味。

在此处输入图片描述

答案2

字体和输入编码是不同的(见fontenc 与 inputenc)。因此,utf8作为inputenc包的一个选项是有意义的(它是一种输入编码),但对于fontenc(它是不是字体编码)。你大概想要类似

\usepackage[T1]{fontenc}

(或者可能T2A,T1,因为您的线路上似乎有一些俄语文本babel)。

答案3

这似乎是新版本基础编译器的一个错误。

我在使用 pdflatex 时遇到了同样的错误,并通过替换解决了该问题

\usepackage[utf8]{inputenc}

经过

\usepackage[utf8]{input}

然后编译器会说它没有找到 input.sty 并要求输入一个文件。只需输入“inputenc.sty”。它应该能够完成。

我正在寻找更好的解决方案,等待下一个版本。

编辑:抱歉,我的问题似乎已经解决了。这与 fontenc 包附加文件名的方式有关。

相关内容