我正在寻找在一个终端中使用的命令以便了解以下事实。
- 是否安装了一个 LaTeX 发行版?
- 放置本地类或包的路径是什么?在我的 Mac 中,我知道它是
'/usr/local/texlive/texmf-local/tex/latex'
。
该命令将由一个 Python 脚本使用,以便自动安装我的个人小类或包。
以下评论中给出的解决方案在 Mac 上很有效,我认为这在 Linux 下也有效,但我不知道在 Windows 下该怎么做...
答案1
至于找到本地安装的正确位置,我们在make.bat
LaTeX3 的文件中执行此操作。在那里,我们有
if not defined TEXMFHOME (
for /f "delims=" %%I in ('kpsewhich --var-value=TEXMFHOME') do @set TEXMFHOME=%%I
if [%TEXMFHOME%] == [] (
set TEXMFHOME=%USERPROFILE%\texmf
)
这意味着如果变量TEXMFHOME
存在则使用它,否则我们尝试kpsewhich
获取一个值,如果没有返回任何值则返回到默认位置。
为了查找“某个程序”,我使用了从其他地方挑选的另一段批处理文件编程。这里的示例是查找 Perl,但同样的方法也适用于查找 pdfTeX
:perl
set PATHCOPY=%PATH%
:perl-loop
if defined PERLEXE goto :end
for /f "delims=; tokens=1,2*" %%I in ("%PATHCOPY%") do (
if exist %%I\perl.exe set PERLEXE=perl
set PATHCOPY=%%J;%%K
)
if defined PERLEXE goto :end
if not "%PATHCOPY%"==";" goto :perl-loop
echo.
echo This procedure requires Perl, but it could not be found.
exit /b 1
goto :EOF
答案2
我希望我没有误解这个问题。
对于 Windows,我只需在命令行中尝试使用pdftex --version
或 即可pdflatex --version
。如果安装了 (正确) 版本的 TeX,您将获得发行版的名称和版本。
您还可以使用它path
来查看是否存在 TeX(MiKTex 或 TeXLive)二进制文件的目录。
kpsewhich
在 Windows 上运行,但与 Unix 版本具有不同的参数(参见@Joseph Wright 和@Alan Munn 的评论)。
答案3
如果您只想要 LaTex、pdfTex 或软件包的版本,您可以检查系统上编译的任何项目中的日志文件,它就在那里。您还可以在那里看到不同软件包的路径,并从那里推断出可执行 TeX 文件的路径