我该如何在OSX上安装LaTeX .sty文件?

60

我有一个设置好的LaTeX项目:

tex/
  - documents/
      - some_file.tex
  - support/
      - todonotes.sty

其中some_file.tex使用了todonotes

\usepackage[colorinlistoftodos,textwidth=0.9\marginparwidth]{todonotes}

当我尝试在TextMate中构建PDF时,我遇到了“LaTeX错误:找不到'todonotes.sty'文件”的问题。我该如何告诉LaTex或TextMate我的.sty文件的位置?

稍后

具体来说,我正在使用MacPorts中的tetex,虽然考虑到迄今为止的答案,我可能会尝试另一个发行版。


1
抱歉,我没有看到你正在使用tetex。它可能相当老了...试试MacTeX吧,它非常好用,而且包管理器也很不错。 - Mica
7个回答

56

在 Mac OS X(Snow Leopard 10.6.7)中,将您的.sty文件放入

/usr/local/texlive/2010basic/texmf-dist/tex/latex/base/

接着,运行texhash命令。不要忘记以管理员身份运行(例如sudo -s


我该如何查看 /usr/local... 我找不到它。 - Aku
1
在Finder中键入Cmd-Shift-G,以打开“前往路径”菜单。 - Sebastian Wramba
4
你可能实际上没有那个特定的目录。例如,我的目录是“/usr/local/texlive/2012/texmf-dist/tex/latex/base/”。尝试在命令行中浏览这些文件夹(例如使用 Mikey 建议的终端应用程序),但要准备好确切的文件夹不完全匹配,特别是在“/usr/local/texlive/”下面的目录。 - jvriesem
2
我的正确目录是/usr/local/texlive/2014/texmf-dist/tex/latex/base/ - James M

41

或者,您可以将样式文件放在与文档相同的目录中,而不是在“support”目录中。如果您使用的是OS X,则可能应该使用texlive 2008。如果您使用的是texlive 2008,请打开终端并键入:

sudo tlmgr install todonotes

用你想要安装的软件包的名称替换“todonotes”。


3
在Mac OS X上安装TeXLive 2008最好的方法是使用MacTeX:https://www.tug.org/mactex/。MacTeX包括TeX Live Utility,它是tlmgr的本机Mac OS X图形界面。 - las3rjock
1
如果您安装了perl/tk,请在终端中输入以下命令:sudo tlmgr --gui - Mica

12

你可以将样式文件放在 ~/texmf/tex/ 中,标准的LaTeX发行版应该能够找到它们。如果您更喜欢系统范围内安装它们,可以将它们放在 LaTeX 安装内的相应 texmf/tex 文件夹中(OS X 上此安装位置取决于您使用的 LaTeX 发行版)。

您可以在命令行上使用 tlmgr conf 来列出所有分发配置信息,TEXMFHOME 变量给出了您的 texmf 树的路径。


17
在MacTeX中,~/Library/texmf/tex/latex/是放置相关文件的位置。 - Will Robertson
谢谢,Will。特别是在 Mac 上,texmf 中的不一致性让人很沮丧。~/texmf/... 对于类 Unix 安装(比如 Fink 或 MacPorts)来说是可行的,因此感谢您添加了与 MacTeX 相关的信息。 - Barry Wark
2
是的,tlmgr conf。我会编辑答案并包含该信息。 - Barry Wark
2
仅仅为了让这个更加现代化。至少从MacTex 2011开始,~/texmf将可以正常工作。 - Jeremy Wall

4
如前所述,只需将自定义的 .sty 文件放入 ~/texmf/tex/usr/share/texmf-texlive/tex/ 中,但不要忘记运行 mktexlsrtexhash 来更新 LaTeX 的本地包数据库。否则,LaTeX 将根本找不到它,除非它和处理的文件在同一目录中。

1
感谢@Frakturfreak的提示!这可能对每个人都很清楚,但如果在写入权限方面遇到任何问题,只需使用sudo mktexlsr运行即可。 - Rubens

1
我使用的是BasicTex 2015版本,但以上方法都未能解决我的问题,因此我在这里提供了解决方案
简而言之:sudo tlmgr install preprint可以解决问题,kpsewhich fullpage.sty可以确认修复结果。

0

这个关于LaTeX包的页面说你需要安装.sty文件到LaTeX安装目录(我的Ubuntu安装似乎是/usr/share/texmf-texlive/tex/latex/),或者你需要在每个包含LaTeX源代码的文件中拥有一个.sty文件副本,即至少在你的tex/documents文件夹中。


-6
我尝试了这个方法,对我很有效:
在终端中输入以下命令:sudo apt-get install texlive-full

总的来说,这不是针对OSX的答案,更可能是针对Ubuntu或其他基于Debian的Linux发行版。 - Tom Bush

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接