我是第一次使用,无论我多么努力,我都无法将作品编译成 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
编码。