我想使用乳胶压痕在我的文件上。当我运行代码时
latexindent.exe myfile.tex
我收到以下错误。
Can't locate LatexIndent/Document.pm in @INC (you may need to install the LatexIndent::Document module) (@INC contains: /c/Users/adali/AppData/Local/Programs/MiKTeX 2.9/scripts /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl) at C:\Users\adali\AppData\Local\Programs\MiKTeX 2.9\scripts/latexindent\latexindent.pl line 27.
BEGIN failed--compilation aborted at C:\Users\adali\AppData\Local\Programs\MiKTeX 2.9\scripts/latexindent\latexindent.pl line 27.
(顺便说一下,latexindent.pl myfile.tex
也出现了同样的错误。我检查了我的本地文件,有一个名为“latexindent.pl”的文件,但没有“.exe”版本。我还检查了我也有 Perl 5v32,所以这不是 Perl 问题。)
乳胶压痕 手动的 推荐以下代码,说“latexindent.pl 附带一个脚本来帮助完成此过程;如果您运行以下脚本,系统将提示您安装适当的模块。”
perl latexindent-module-installer.pl
当我运行它时,我收到警告:
Can't open perl script "latexindent-module-installer.pl": No such file or directory
我尝试使用“latex-indent-module-installer.exe”,希望手册中没有提到 Windows 版本,但我遇到了同样的错误。
解决方案如何在 Windows 上的 TeXStudio 中使用 latexindent?也不起作用。在我手动下载 latexindent 并将其放入后,C:\Program Files\MiKTeX 2.9\scripts\latexindent
我仍然收到以下错误:
Can't locate LatexIndent/Document.pm in @INC (you may need to install the LatexIndent::Document module) (@INC contains: /c/Users/adali/AppData/Local/Programs/MiKTeX 2.9/scripts /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl) at C:\Users\adali\AppData\Local\Programs\MiKTeX 2.9\scripts/latexindent\latexindent.pl line 27.
BEGIN failed--compilation aborted at C:\Users\adali\AppData\Local\Programs\MiKTeX 2.9\scripts/latexindent\latexindent.pl line 27.
根据错误消息,我推测 latexindent 没有查看我将可执行文件放入的文件。
因此看起来有两个问题。
- Miktex 没有完全安装 latexindent 包(该包在 Miktex 中可用,我遇到问题后甚至还更新了它)
- latexindent 不会搜索 Miktex 配置的所有根 texmf 文件。
答案1
什么不起作用
- 通过 Miktex 安装(甚至尝试删除并重新安装几次都没有成功)
- 下载
latexindent
包并将其放入非本地texmf 位置。 - 运行
latexindent-module-installer
。 - 尝试通过 CPAN 下载 perl 模块
什么有效
- 创建本地 texmf 树
- 从 CTAN 下载软件包删除除 latexindent.exe 和 defaultSettings.yaml 之外的所有内容
- 将这两个文件放在本地 texmf 树下名为“scripts”的文件夹中
如果仍然收到缺少 perl 模块错误;
- 跑步
cpan -f -i <missingmodule>
命令提示符 - 现在您可以使用命令
latexindent.tex myfile.tex
为什么我们要采取手动解决方案
a. Miktex 没有正确安装latexindent
b.latexindent-module-installer-pl
在 Windows 上不起作用
c. cpan 确实下载了缺失的模块,而无需从命令提示符强制安装。