使用 Miktex 便携式时设置 TEXMFHOME 变量

使用 Miktex 便携式时设置 TEXMFHOME 变量

显然Miktex 有时无法正确设置 TEXMFHOME 变量,或者将其留空,即使您手动将文件夹添加到“根”列表并刷新文件名数据库也是如此。那么如何设置 TEXMFHOME 变量?换一种说法:Miktex 的版本是什么tlmgr conf texmf TEXMFHOME ~/path/to/texmf

答案1

首先要说一句:
我自己没有使用过 MikTeX portable,而且说实话我也不完全了解它。所以让我根据我找到的内容给出一些提示。也许其他人可以提供更多信息。

MiKTeX 显然不使用 kpse 机制。在 MikTeX 中添加本地 TeXMF 树的推荐方法是使用 MiKTeX 选项对话框:

  1. 通过执行所包含的来启动 MiKTeX 便携版miktex-portable.cmd
  2. 右键单击出现托盘栏图标并选择“MiKTeX 选项”。
  3. 选择“Roots”选项卡并添加您的本地 TEXMF 树。它将被保存为相对路径<miktex-portable>\miktex\config\miktexstartup.ini。您的本地 TEXMF 树一定不是 的子文件夹<miktex-portable>
  4. 我现在想做的似乎不起作用,我认为这是 MiKTeX 2.9 中的一个错误:激活“显示 MiKTeX 维护的根目录”后,应该能够更改文件夹的顺序,但我无法做到这一点。
  5. 单击“确定”后,所有内容将保存在 ini 中,如上所述。

根据<miktex-portable>\doc\miktex\miktex.pdf第 4.6 节,(或参见<miktex-portable>\doc\miktex\localadditions.html网页链接:http://docs.miktex.org/manual/localadditions.html)还有另外2种方法:

  • 使用命令行选项--include-directory=dir,例如latex --include-directory=C:\path\to\my\style\files thesis.tex。我不知道这是否适用于完整的本地 TEXMF 树,但我担心它不适用。
  • 设置环境变量,这在脚本别名批处理文件中很有用。给定的示例是
set TEXINPUTS=C:\path\to\my\style\files

latex thesis.tex

我更倾向于使用相对路径和命令行参数,而不是绝对路径,例如,如果你latex.cmd直接在中保存批处理脚本X:\miktex-portable,并且你的本地 TEXMF 树在X:\localtexmf

@echo off
setlocal

set LOCALDRIVE=%~d0
set LOCALPATH=%~dp0
:: %~d0 enhances to X: here, %~dp0 to X:\miktex-portable\

set PATH=%LOCALPATH%miktex\bin;%PATH%
set TEXINPUTS=%LOCALDRIVE%\localtexmf
:: I fear, this does not work in the wanted manner
:: There are some other possible environment variables

latex %*
:: %* pipes all command line options, given to to batch file, to the call of latex.exe

然后你就可以这样做了latex.cmd <command line options> file_to_compile.tex

另一方面,您可以考虑使用便携式 texlive 版本。

相关内容