无论什么包都无法编译

无论什么包都无法编译

我是第一次使用,无论我多么努力,我都无法将作品编译成 PDF。为了检查我的作品是否有问题,我借用了一个用于测试塞尔维亚语输出的示例(我需要用塞尔维亚拉丁语书写,最好直接使用 UTF-8 输出,我怀疑这是问题所在,直到我遇到了完全相同的情况,只有英文字体)。以下是示例 .tex 文件和我在终端中得到的答案:

\documentclass[utf8]{article}
\usepackage{inputenc}
\title{Mačak u vreći}
\author{Pero Perić}

\begin{document}
\maketitle

\section{Probni znakovi}
šđžčć ŠĐŽČĆ

\end{document}

这是我在 Xetec 中获得的输出(与 Luatex 相同)

     [filip@tux Latex learning]$ xetex 1.tex
     This is XeTeX, Version 3.14159265-2.6-0.99999 (TeX Live 
     2019/dev/Debian) (preloaded format=xetex)
     restricted \write18 enabled.
     entering extended mode
     (./1.tex
     ! Undefined control sequence.
     l.1 \documentclass
              [utf8]{article}
     ?

如果是我缺乏基本的 Google 技能,我深表歉意,但我找不到类似问题的答案。还应该指出的是,无论是 documentclass 还是 inputclass 或任何其他命令,终端中错误的输出始终是未定义的控制序列。

我使用 Vim 作为我的文本编辑器。

答案1

您需要使用xelatex而不是xetex。同样,lualatex而不是luatex

当您运行时xetex,它会加载不包含 LaTeX 定义的纯 TeX 格式,因此您会遇到错误。

答案2

作为对@Don Hosek 的精彩回答的补充(+1)。

使用 pdfLaTeX 引擎时,您需要声明字体编码,即T1支持所有“probne znakove”:

编辑:

  • 中的选项 [utf8]\documentclass未定义,因此使用它时您会收到警告:Unused global option(s): [utf8]。正确的写法应该是:
\documentclass{article}
\usepackage[utf8]{inputenc}
  • 2018 年 4 月之后的 LaTeX 版本LATEX 新闻有默认utf8编码,因此你可以退出\usepackage[utf8]{inputenc}
  • 默认的 LaTeX 字体编码是 OT1,即原始 Computer Modern 字体的编码,它没有定义字母 đ (\dj),因此在您的情况下,Command \dj unavailable in encoding OT1使用 LaTeX 或 pdfLaTeX 编译器会收到错误。使用它们,可以使用输入编码消除此错误T1
\documentclass{article}
\usepackage[T1]{fontenc}  % <---
\title{Mačak u vreći}
\author{Pero Perić}

\begin{document}
\maketitle

\section{Probni znakovi}
šđžčć ŠĐŽČĆ

\end{document}

在此处输入图片描述

  • 使用XeLaTeX并且luaLaTeX您不需要T1编码。

相关内容