我的文档的所有警告和错误都涉及“forest.sty”

我的文档的所有警告和错误都涉及“forest.sty”

我使用 TeXstudio 和 TeX Live 2016。我需要 forest 包来制作我的一个图形。当我收到错误或警告时,TeXstudio 的日志窗口会引用 forest.sty 包,当我单击该消息时,forest.sty 文件将被打开。

例子: 错误和警告

这非常不切实际。有人知道我该如何摆脱这种行为吗?主 tex 文件的行号似乎是正确的。

MWE 生成一个针对 forest.sty 的警告:

\documentclass[12pt, a4paper]{article}
\usepackage{pgfplots}
\usepackage{forest}

\begin{document}
\resizebox*{!}{.4\textheight}{%
\begin{tikzpicture}[
font=\sffamily,
Dateblock/.style={
draw,
fill=white,
rectangle, 
minimum width={width("1984")+2pt},
font=\bfseries},
]
\node[Dateblock] (1964){1964};
\end{tikzpicture}
}

\end{document} 

答案1

这是 TeXstudio 日志解析器的一个错误。将在下一个版本(2.12.4)中修复。

答案2

问题的根源是 xparse 的一些消息,当“d”或“r”类型与括号一起使用时。这导致日志中的消息包含一对空括号:

 Defining command \test with sig. 'r()' on line 3 

这对空括号似乎让 texstudio 感到困惑。

一个简单的例子来说明这个问题:

\documentclass{article} 
\begin{filecontents}{parenthese-bug.sty}
    \typeout{()}
\end{filecontents}
\usepackage{parenthese-bug} 
\begin{document} 
\rule{40cm}{1cm} 
\end{document} 

输出结果如下:

在此处输入图片描述

forest 在内部使用d()-type 声明,但我发现其他软件包也会在 texstudio 中触发相同的行为。我认为这是 texstudio 的一个错误,您应该报告它。

答案3

类似的错误也影响了 Kile。

Kile Bug 报告参考:https://bugs.kde.org/show_bug.cgi?id=377789

对于 Kile 来说,作为一种解决方法,你可以这样写

\typeout{)}

之前\begin{document},警告/错误将被(更)正确地归因。

不幸的是,这种解决方法似乎在 TeXStudio 中不起作用。(可能涉及不同但相关的错误?)

相关内容