documentclass 命令在哪里查找类文件?

documentclass 命令在哪里查找类文件?

我的乳胶文件的第一行是:

\documentclass[english,draft]{ectaart}

latex 失败并出现以下错误:

LaTeX Error: File `ectaart.cls' not found.

我将该文件复制到(在我的 Ubuntu 系统上):

  • 在 /usr/local/share/texmf 中
  • 在 /usr/local/share/texmf/tex
  • 在 /usr/local/share/texmf/tex/latex
  • /usr/local/texlive/2012/texmf
  • /usr/local/texlive/2012/texmf/tex
  • /usr/local/texlive/2012/texmf/tex/latex
  • /var/lib/texmf
  • /var/lib/texmf/tex
  • /var/lib/texmf/tex/latex

这些选择都不起作用。

该文件应存放到哪里?

(为什么 Latex 没有告诉我在哪里查找文件?)

答案1

TeX 的第一步是解析当前/工作文件夹中查找所需文件。这包括.tex.sty.cls、图像文件和其他所有内容。如果失败,TeX 会搜索指数运行 时生成的texhash。此索引以用作查找的基本“哈希表”形式包含 TeX 发行版的文件夹和文件位置。实际上,它只是按文件夹按字母顺序排列的文件列表。由于 TeX 可以安装在任何位置,因此需要这样一个可访问的表来识别源的位置。在 TeX Live 下,此文件(ls-R,基于R递归文件夹l浏览s) 位于您的*/texmf-dist文件夹中,其格式如下:

...

./tex/latex/bhcexam:
BHCexam.cfg
BHCexam.cls

./tex/latex/bibarts:
bibarts.sty

./tex/latex/biblatex:
bbx
biblatex.cfg
biblatex.def
biblatex.sty
biblatex1.sty
biblatex2.sty
blx-compat.def
blx-dm.def
blx-mcite.def
blx-natbib.def
cbx
lbx

...

您可以看到它如何与文件夹结构匹配:

在此处输入图片描述

查找文件时,仅按顺序搜索上述两个位置。

请注意,即使你将源文件放在 TDS(TeX 分发结构)中,它也不会被自动拾取除非您运行的texhashls-R必须更新以包含您新放置的文件,否则将找不到这些文件。


另参考:我应该将自己的.sty文件放在哪里,才能让所有文件都可以访问它们.tex

答案2

经过几个小时的挫折,我终于决定将文件“ectaart.cls”放在我的 LaTeX 文件的同一文件夹中,并且成功了!我知道这不是执行此操作的标准方法,但我确实尝试了所有其他选项。

相关内容