TexShop 上未找到 authblk.sty

TexShop 上未找到 authblk.sty

我安装了 MacTex basic 2015,当我使用命令打开 latex 文件时\usepackage{authblk},TexShop 提示authblk.sty未找到。我也尝试将该命令更改为\usepackage{preprint},但它会提示preprint.sty not found。但即使我从 CTAN 安装预印包,文件夹中也没有 .sty 文件。只有 .ins 和 .dtx 文件。

如何解决这个问题呢?

答案1

问题

Basic TeX 发行版会安装一组有限的软件包,其他软件包则需要您手动安装。通常的做法是使用 TeX Live Utility,它不会随 Basic TeX 一起安装,但可以在此处下载:http://amaxwell.github.io/tlutility/

但是,TeXLive Utility 默认设置为仅管理当前年份的发行。这是因为 TeX Live 的年度发行​​系统:

可以使用 TeX Live Utility 将软件包添加到较旧的发行版,但这需要更改存储库,除非您确定自己在做什么,否则我不建议这样做。此处概述了执行此操作的方法(尽管此解决方案未明确使用 TeX Live 实用程序。)

可能的解决方案

有几种方法可以解决此问题。

  1. 也许最简单的解决方案是完全放弃 Basic TeX,并安装完整的 TeX Live 2016。这将安装所有内容,并且您几乎不会再遇到缺少包的错误。

  2. 如果你的空间真的不够,你可以安装 Basic TeX 2016。然后你可以使用 TeX Live 实用程序安装缺少的软件包。如果你觉得必须使用 Basic TeX。

    但是请注意,Basic TeX 的另一个缺点是没有简单的方法来跟踪已安装的软件包,因此当您更新到下一年时,您将不得不重新安装那些额外的软件包。请参阅:

  3. 一个非常快速而肮脏的解决方案(我不推荐)是从 CTAN 手动安装包并将其放在本地文件夹中。出于各种原因,我不推荐这样做。首先,一些包以+文档texmf的形式分发,需要在文件上运行 TeX 才能生成文件。因此,安装并不像将文件复制到本地那么简单。但更严重的原因是.ins.dtx.ins.stytexmf不是对 TeX Live 中的任何软件包执行此操作的缺点是,如果您更新发行版,您安装的本地版本将始终优先于较新版本。这可能会(并且很可能会)导致将来出现问题。有关安装本地软件包的更多信息,请参阅:

真的不推荐选项 3。所以我个人会选择选项 1,这将为您节省将来的很多麻烦。

答案2

@AlanMunn & @Sidd:您将无法使用 TeX Live Utility 更新您的 BasicTeX 2015,因为它们已被 BasicTeX(和 MacTeX)2016 取代。TeX Live(和 Basic TeX)位于 Finder 隐藏的目录中。但这不是放置任何文件的地方。生成上述 .sty 文件后,您应该将其放在您的个人 texmf 树中,即 ~/Library/texmf/tex/latex/authblk/。首先,~/Library 是您 HOME 文件夹中的 Library 文件夹---不是硬盘根目录中的 /Library 文件夹。通过单击 Finder 中的“前往”菜单,然后按下 Option 键来打开该文件夹;将出现一个用于打开该 Library 文件夹的新项目。然后在该 Library 文件夹中创建嵌套文件夹 texmf/tex/latex/authblk/。最后将 authblk.sty 文件(以及如上所述生成的其他文件)放在该文件夹中。从那时起,LaTeX 将能够找到 authblk 包。

相关内容