2

我一直在使用用于 vim 的 LaTeXBox 插件为 LaTeX 处理错误格式,并且我发现了一个我无法解决的问题。

LaTeX 生成相对结构化的日志文件,其中类似 Lisp 的括号语法用于解析文件,例如:

(/path/to/some/file.xxx ...)

起初,这看起来是一个简单的问题,我们可以使用%P/%O/%Q指令 with%r%f来解析文件名。对于简单的.tex文件和项目,这很好用。但是,在某些情况下,这些行可能会在文件名完成之前中断。例如,我们可能会得到这样的东西:

) (/some/file/with/long/file/name.sty) (/some/file/with/even/longer/fi
le/name.sty (...
))

上面的大部分输出都可以正确解析,但是,如上所示,其中一条路径已损坏,将不会被解析。一个这样的错误足以破坏文件堆栈,从而导致日志文件的错误解析。

这个问题可以用更一般的方式来说明:我想使用错误格式来解析跨行的文件名:

/path/to/some/
file.txt

我正在寻找解决这个问题的方法,或者使用更多的 vim 魔法(也许我错过了一个不错的错误格式选项?),或者使用 or 的一些latex选项pdflatex。任何解决方案表示赞赏。

4

1 回答 1

1

I think I have found a good solution to this. Apperantly, one may use max_print_line=<number> to set the wrap with of the latex log output. Thus, if one issues the latex command:

max_print_line=2000 pdflatex <filename>.tex

The problem with filenames being broken across lines will probably be solved, since lines will not be broken until they reach 2000 colums.

I found this solution first through this SO answer.

So, to sum up: I think the %P/%O/%Q directives with %r and %f to parse the file names should work if one uses max_print_line.

Beware: this is max_print_line, not max_print_lines.

于 2013-07-24T10:12:12.390 回答