解决方法

解决方法

更新:John 在 TeXstudio 论坛上报告了此错误,他们已修复。当您将 Latexmk 命令更改为“latexmk -pdf -silent -synctex=1 %”时,开发版 TeXstudio 2.10.9 (hg 5929:7315f2e5eed3) 可以正常工作

我最近从 Texmaker 切换到 TeXstudio(版本 2.10.8)。在 Texmaker 中,我曾经使用 Latexmk 编译我的文档。然而,在 TeXstudio 中,默认的 Latexmk 命令会返回错误消息。我使用 OS X Yosemite(版本 10.10.5)和 TeX Live。以下是示例:

\documentclass[10pt, a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{hyperref}

\begin{document}
Some text.
\end{document}

我在 TeXstudio 中的构建设置(默认编译器 = Latexmk): 我在 TeXstudio 中的构建设置:默认编译器 = Latexmk

以及相应的命令设置(latexmk-dvi-静音%): 我在 TeXstudio 中的命令设置:Latexmk = latexmk -dvi -silent %

这是我得到的错误: 在此处输入图片描述

当我选择 PdfLaTeX 而不是 Latexmk 时,文档可以正常编译。我在 stackoverflow 上看到过相关帖子,但没有一个包含 Latexmk 的解决方案。有人知道这个问题的解决方案吗?

编辑:按照 ig0774 的建议,我将路径更改为/usr/texbin/latexmk -dvi -silent %并按“确定”。重新打开 TeXstudio 的设置时,路径被重新设置为latexmk -dvi -silent %。这是错误还是我遗漏了什么?

答案1

您需要将latexmk命令更改为以 开头/usr/texbin/latexmk。默认情况下,/usr/texbin不是 GUI 应用程序 PATH 的一部分。


编辑

好吧,一个更好的建议:

  1. 完全退出 TeXStudio
  2. 在文本编辑器中打开文件“~/.config/texstudio/texstudio.ini”(您可以open -a TextEdit ~/.config/texstudio/texstudio.ini从终端或任何其他您喜欢的文本编辑器中使用)。
  3. 找到以“ ”开头的行Tools\Commands\latexmk=,将等号右侧的所有内容替换为/usr/texbin/latexmk -dvi %
  4. 启动 TeXStudio

这应该会做出必要的改变,并在重启后持久保留(希望......至少对我有用......)

答案2

该问题实际上是 OS-X 下的 TeXStudio 2.10.8 设置用于查找可执行文件的 PATH 环境变量的方式中的一个错误。

解决方法

在您的~/.profile文件末尾添加以下行

export PATH=DUMMY1:$PATH:DUMMY2

(如果您没有文件~/.profile,请创建一个包含上述行的文件。)

然后重新启动 TeXStudio,您会发现它将使用 TeXStudio 的默认设置正确运行 latexmk。

Bug 及其诊断

该错误是 TeXStudio(在 OS-X 下的 v. 2.10.8 中)将其 PATH 变量设置为以下内容的串联:

  1. 您的文件产生的任何输出~/.profile
  2. 实际预期的 PATH 变量。
  3. 一条新线。
  4. TeXStudio 完成的任何定制。

换行符才是罪魁祸首。如果像我的系统一样,TeXLive 可执行文件的位置/Library/TeX/texbin是 PATH 中的最后一项,那么该元素将被相同的字符串替换,后跟换行符。结果是 TeXLive 可执行文件不再可用。我上面建议的解决方法可以让你避免这个问题。

诊断这些问题的一个有用方法是将以下行放入的latexmk配置文件之一中,例如latexmkrc在文档目录中:

warn "PATH = '$ENV{PATH}'\n";

然后,从 TeXStudio 运行后latexmk,消息窗口将显示 PATH 变量的值。

相关内容