*.sty 文件未找到

*.sty 文件未找到

这个问题和之前的帖子非常相似: 我应该将自己的 .sty 或 .cls 文件放在哪里,以使它们可供我的所有 .tex 文件使用?

我在 Windows 7 上使用 MiKTeX 2.9 和 TeXnicCenter 编写和执行我的 LaTeX 文件。我使用 Elsevier 的模板提交期刊文章,但收到 LaTeX 错误,提示“未找到文件‘numcompress.sty’”。此文件当前与其他文件位于同一目录中elsarticleC:\Program Files (x86)\MikTex 2.9\tex\latex\elsarticle。我实际上完全按照上述问题中发布的说明进行操作:https://tex.stackexchange.com/a/20121/但结果仍然没有改变。

答案1

您是以用户身份还是管理员身份使用 MikTeX?为安全起见,请更改为管理员,检查您的文件numcompress.sty是否确实在目录中C:\Program Files (x86)\MikTex 2.9\tex\latex\elsarticle。现在启动 MiKTeX 2.9 Windows start-> all programms。选择Maintenance (Admin),然后Settings (admin)(管理员很重要!)。现在选择General并单击Refresh FNDB。之后您可以再次更改为用户并运行 MiKTeX。Refresh FNDB意味着刷新您使用的文件名的数据库。

答案2

正如其他人的回答所说:如果将文件放入主 miktex 树中,则应在管理员模式下更新 FNDB。但不建议将此树用于本地添加。当 miktex 更新软件包时,您的添加可能会丢失。使用其他树之一(UserConfig 或 CommonConfig)或(更好)使用新的本地树:创建(例如)C:\mylocaltree\tex\latex\elsarticle,在此文件夹中复制您的文件,然后C:\mylocaltree在 miktex 设置中将其添加为新根。

答案3

首先,启动以管理员身份运行 Windows cmd 行并使用以下方式搜索.sty您知道存在且有效的文件查找texmf实用程序,例如

findtexmf colortbl.sty

确保您的.sty文件位于类似的位置。

现在,使用初始化公用事业:

initexmf --admin -u
initexmf --admin --dump

第一个命令刷新文件名数据库,第二个命令执行其他更新。您可能不需要两个命令,但这样做不会有什么坏处。

答案4

绝对地不要将本地文件添加到您的 MikTeX 分发文件夹中。升级后,它会消失,您将无法再编译文档,这将带来很大的麻烦。当您几年后想要重新编译它时,期刊甚至可能没有您需要的版本可供下载。

Ulrike Fischer 的答案是迄今为止唯一正确的答案,但有几个好地方可以放置该文件:

  • 向 MikTeX 添加第二个根,例如C:\texmflocal\。将其放在适当的子目录中,例如C:\texmflocal\tex\latex\
  • 在您的用户目录中创建一个本地 texmf 根目录,并使用TEXINPUTS环境变量选择它。这样您就可以拥有一个不会一直为所有人打开的根目录。
  • 将文件放入您的项目文件夹中。然后,您可以确保它将与需要它的源文件一起存档。这是一个简短的文本文件,您有数 TB 的磁盘空间。

将新文件放入用户目录后,您必须更新 MikTeX Tasks 菜单下的文件名数据库,或者运行texhash

相关内容