LaTeX 编译器和编辑器交互

LaTeX 编译器和编辑器交互

当 pdflatex 发现错误时,它会停止并要求用户回复。如果我按“e”,编辑器应该在错误的位置打开文件。但是,我使用的是不同的(非 LaTeX 标准的)编辑器。所以,问题是,TeX 编译器如何在退出时通知应启动编辑器并将文件定位在特定点。当然,可以编写脚本并分析日志文件,但这是一个迂回的过程。我使用的是 Windows 7、Mik TeX 和 FAR Manager。我借助宏从 FAR Manager 的内部编辑器运行 pdflatex。

答案1

如果e使用的话(现在很少见),它会使用 TEXEDIT 环境(或 kpathse)变量来知道要打开什么。现在(即自 1990 年代以来的任何时间)通常的编辑器交互是从调用 tex 来处理当前文件的编辑器开始,而不是启动 tex,然后在每次出现错误时启动编辑器的新实例。但是对于 texlive,至少可以在texmf.cnf您的环境中更改默认值,就像其他路径配置设置一样,初始设置显示为注释,如下所示。

% These variables specify the external program called for the
% interactive `e' option.  %d is replaced by the line number and %s by
% the current filename.  The default is specified at compile-time, and
% we let that stay in place since different platforms like different values.
%TEXEDIT = vi +%d '%s'                    % default for Unix
%TEXEDIT = texworks --position=+%d "%s"   % default for Windows
%MFEDIT = ${TEXEDIT}
%MPEDIT = ${TEXEDIT}

因此,TEXEDIT=emacs在启动 tex 之前在您的环境中进行设置可以让您免于输入vi

答案2

对于 Mik Tex,环境是 MIKTEX_EDITOR,符号为:%l 表示行号,%f 表示文件名。

相关内容