我有一个使用自定义的 tex 项目.cls
,该项目在 Windows 7 中使用 TeXlipse + MikTeX 构建。它.cls
有许多 CTAN LaTeX contrib 包依赖项,我使用 MikTeX 逐个安装了它们(我的自动安装程序出了点问题)。
该项目具有目录结构:
src/ <- .tex files here
fig/ <- .pdf figures etc
style/ <- .cls file here
该项目被检查为CVS回购,Mac用户需要能够结帐并构建此用户的最新修订Mac OSX 10.5.8, pdfTeXk, Version 3.1415926-1.40.9
。
我希望能够在style/
目录中签入这些贡献软件包,然后使用一些命令行参数包括style/
PDFTEXK搜索路径中的目录,以便.sty
在用户构建时可以找到文件src/document.tex
。
我无法访问Mac,但我确实尝试使用Centos 5.6来完成同一操作,而没有pdflatex
运气。tetex-latex-3.0-33.8.el5_5.6.x86_64.rpm
.sty
-input-directory
TEXINPUT
我知道TeXShop有一个包管理器,可以为该用户下载并安装所需的包,但我想避免这样做,原因如下:
我不想鼓励他们用 pdfTeXk 来破坏他们已经工作的环境。
我的理解是 TeXShop 不会在构建期间自动安装包,这很痛苦,因为它
.cls
有 10-20 个 contrib 依赖项。
这里有简单的解决方案吗?也许我只是被 MikTex 的易用性宠坏了,但这似乎是一个非常基本的功能。
编辑:值得指出的是,我在 CentOS 上使用命令行,并且我相信用户在 OSX 上也做同样的事情。
答案1
解决方案1:安装MACTEX
如果您的Mac用户安装完整麦金塔电脑发行版,那么缺少软件包的可能性非常小,前提是您使用的软件包是 MikTeX 的标准组成部分。除非软件包与源文档位于同一文件夹中,否则 TeXLive 确实要求软件包处于严格的层次结构中。有很多方法可以实现您的目标,但在探索这些方法之前,更简单的方法是安装正确的 Mac 发行版并查看问题是否消失。
解决方案2:添加一个额外的texmf
目录。
texmf
添加额外的本地目录并不难如何向 TeXLive 添加包含个人风格文件的额外可搜索目录,而不是在 ~/Library/texmf 下?(答案的第二部分)。
请注意,TeXLive 对目录结构非常严格texmf
,因此 LaTeX 包必须位于tex/latex
目录中。请参阅如何使本地软件包超过默认软件包有关目录结构的详细信息texmf
。
解决方案 3:创建指向额外目录的符号链接
还有另一种方法可以实现这一点。在 Mac 上,本地添加内容通常应位于 中~/Library/texmf
,其目录结构应与上面链接的问题中概述的目录结构一致。您无需添加额外的本地texmf
目录并为您的目录赋予该结构,只需在 中style
放置指向目录的符号链接即可。这样,任何样式/类文件都可以找到,就像它们位于本地 texmf 文件夹的正确部分一样。 style
~/Library/texmf/tex/latex
答案2
$TEXMFHOME
您可以在运行之前重新定义环境变量pdflatex
。
export TEXMFHOME=style
主目录中只需要一个主 tex 文件。对于图像,您可以使用路径\includegraphics[..]{fig/...}
,或者定义
\graphicspath={{fig/}}
要将所有辅助文件放入源目录,请运行
pdflatex --output-director=src/ main.tex
该文件main.tex
可以使用\include
或\input
用于其他TEX文件,export TEXMFHOME=...
如果您使用一个文件,则可以将可选参数添加到编辑器的设置中。