我使用 TEXMFLOCAL、TEXINPUTS 和 TEXFONTMAPS 来调整 tex 编译。在 Linux 和 Mac OS X 下一切都运行良好,但 Windows 下的 MitTeX 却出乎我的意料。
c:\tmp\tex> type test.bat
set TEXMFLOCAL=some;thing
kpsewhich --var-value TEXMFLOCAL
c:\tmp\tex> test.bat
c:\tmp\tex>set TEXMFLOCAL=some;thing
c:\tmp\tex>kpsewhich --var-value TEXMFLOCAL
C:/Documents and Settings/user/Application Data/MiKTeX/2.9
为什么环境变量 TEXMFLOCAL 的值被忽略了?是我设置错了,还是这是 MikTeX 的一个特性?如何通过脚本(.bat 或 .py)影响 MikTeX 的 TEXMFLOCAL、TEXINPUTS 和 TEXFONTMAPS?
答案1
MiKTeX 全局识别的唯一环境变量(至少是记录在案的)是(MiKTeX 手册,第 8 章):
BIBINPUTS 用于定位 .bib 文件的额外路径。
BSTINPUTS 用于定位 .bst 文件的额外路径。
MFINPUTS 用于定位 METAFONT 输入和打开文件的额外路径。
MIKTEX_REPOSITORY 软件包存储库的位置。这可以是完全限定路径名(本地软件包存储库)或 URL(远程软件包存储库)。
MIKTEX_TRACE 以逗号分隔的跟踪流名称列表(请参阅第 9 章“跟踪流”)。如果设置了此变量,则 MiKTeX 程序会将跟踪消息写入 DebugView 窗口。
MPINPUTS 用于定位 MetaPost 输入文件的额外路径。
TEXINPUTS 用于定位 TeX \input 和 \openin 文件的额外路径。
TFMFONTS 用于定位 TeX 字体度量文件的额外路径
如果你想知道如何设置本地 texmf 树,请查看在 MiKTeX 中创建本地 texmf 树