答案1
MacOS 别名与符号链接不太一样,因此如果您希望将本地texmf
文件夹放在其他位置,则需要使用符号链接进行链接。因此,首先将现有texmf
文件夹移动到 iCloud 同步的某个文件夹,例如您的主Documents
文件夹。
然后在终端中创建一个符号链接:
ln -s ~/Documents/texmf ~/Library/texmf
(假设 iCloud 同步您的Documents
文件夹。)
现在您只需使用 iCloudtexmf
文件夹,它将始终被看到。
答案2
我在终端(bash
shell)中做了以下测试
cd
ln -s ~/Library/Mobile\ Documents/com~apple~CloudDocs iCloudFolder
TEXMFHOME=~/iCloudFolder/texmf pdflatex test
(这暂时覆盖了内部变量TEXMFHOME
)并得到
This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) (preloaded format=pdflatex)
restricted \write18 enabled.
entering extended mode
(./test.tex
LaTeX2e <2018-04-01> patch level 5
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/size10.clo))
(/Users/enrico2013/iCloudFolder/texmf/tex/latex/test.sty
FOUND
) (./test.aux) [1{/usr/local/texlive/2018/texmf-var/fonts/map/pdftex/updmap/pdf
tex.map}] (./test.aux) )</usr/local/texlive/2018/texmf-dist/fonts/type1/public/
amsfonts/cm/cmr10.pfb>
Output written on test.pdf (1 page, 8685 bytes).
Transcript written on test.log.
在我的控制台上。
该文件test.tex
包含
\documentclass{article}
\usepackage{test}
\begin{document}
x
\end{document}
而texmf/tex/latex
iCloud Drive 中的文件夹test.sty
只包含
\typeout{FOUND}
如您所见,输出符合预期。
现在只需将顶层texmf.cnf
文件/usr/local/texlive/2018
从
% (Public domain.)
% This texmf.cnf file should contain only your personal changes from the
% original texmf.cnf (for example, as chosen in the installer).
%
% That is, if you need to make changes to texmf.cnf, put your custom
% settings in this file, which is .../texlive/YYYY/texmf.cnf, rather than
% the distributed file (which is .../texlive/YYYY/texmf-dist/web2c/texmf.cnf).
% And include *only* your changed values, not a copy of the whole thing!
%
TEXMFHOME = ~/Library/texmf
TEXMFVAR = ~/Library/texlive/2018/texmf-var
TEXMFCONFIG = ~/Library/texlive/2018/texmf-config
具有
TEXMFHOME = ~/iCloudFolder/texmf
然后复制texmf
到~/Library
iCloud 云盘。
请注意,这对您与 iCloud 同步的内容没有任何假设。
答案3
您可以\makeatletter\def\input@path{{path/to/styfiles/}}\makeatother
在 usepackage 之前执行此操作,但在之后执行!请注意路径以 结尾的\documentclass
双重和!{{}}
/
例如如果你有一个名为stydir/
包含的目录mypack.sty
,你可以执行以下操作:
\documentclass{article}
\makeatletter\def\input@path{{stydir/}}\makeatother
\usepackage{mypack}
\begin{document}
Hello
\end{document}