相关疑难解决方法(0)

如何在emacs中调用latexmk,并跳转到下一个错误

我想使用latexmk在Emacs中编译我的LaTeX文档.特别是我需要Emacs功能next-error,通常使用Cx`调用,并跳转到文档中的下一个LaTeX错误.

我想打电话latexmk或使用C-x compileAUCTeX C-c C-c.

首先,我开始latexmk使用

$pdflatex = 'pdflatex -interaction=nonstopmode';
Run Code Online (Sandbox Code Playgroud)

选项1:Cx编译

我按下C-x compile并键入latexmk -pdf foo,运行pdflatex.但是next-error,即使*compilation*缓冲区包含错误,也不会跳转到错误:

! Paragraph ended before \author was complete.
<to be read again> 
                   \par 
l.48 
[...]
Compilation exited abnormally with code 12 
Run Code Online (Sandbox Code Playgroud)

如何在第48行自动跳转到此错误?

请注意,解析乳胶输出的这个问题与latexmk直接无关.我刚才也会出现同样的问题C-x compile pdflatex -interaction=nonstopmode foo.

选项2:AUCTeX

如何设置AUCTeX latexmk -pdf而不是pdflatex我的.tex文件?当然,我也想next-error在这里工作.

更新:我开始获得赏金,因为如果这有效,对许多人来说这将是一个很好的工具.我认为如果给出一个解决方案可以让我latexmk在Emacs中轻松编译我的LaTeX文档并使用跳转到错误next-error …

emacs latex build-process auctex latexmk

26
推荐指数
2
解决办法
6742
查看次数

Emacs latexmk函数将我抛入空缓冲区

这是如何将latexmk绑定到Emacs中的一个键并让它显示错误(如果有的话)的后续内容.

我正在使用Emacs中的一个函数来编译LaTeX文档,latexmk但它的行为并不像我想要的那样.我使用的功能是一个JouniK.Seppänen提出:

(defun run-latexmk ()
  (interactive)
  (let ((TeX-save-query nil)
        (TeX-process-asynchronous nil)
        (master-file (TeX-master-file)))
    (TeX-save-document "")
    (TeX-run-TeX "latexmk" "latexmk" master-file)
    (if (plist-get TeX-error-report-switches (intern master-file))
        (TeX-next-error t)
      (minibuffer-message "latexmk done"))))

(add-hook 'LaTeX-mode-hook
          (lambda () (local-set-key (kbd "C-0") #'run-latexmk)))
Run Code Online (Sandbox Code Playgroud)

主要的问题是,当我使用该功能时(通过按下C-0),它有时会把我扔进一个名为TeX Live 2011的空缓冲区.

重现此问题的一种方法是尝试编译以下内容(vc.tex不存在并不重要):

\immediate\write18{sh ./vc}
\input{vc}
\documentclass{article}
\begin{document}
\end{document}
Run Code Online (Sandbox Code Playgroud)

另一种再现方式是尝试编译以下内容:

\documentclass{article}
\newcommand{foo}{
\begin{document}
\end{document}
Run Code Online (Sandbox Code Playgroud)

一个小的(装饰性的)问题是迷你缓冲器的高度有时会从一条线扩展到两条线,run-latexmk并且在它运行之后它会弹回到一条线高度.我在找到一个简单的例子来重现这种行为时遇到了问题(我只为非常大的文档复制了它).

我想解决这两个问题.我也有兴趣以其他方式与我在Emacs中与latexmk进行交互.


这是*... output* buffer最后一个示例(缺少结束大括号的示例\newcommand:

Running `latexmk' on `test' with ``latexmk''
Latexmk: This is …
Run Code Online (Sandbox Code Playgroud)

emacs auctex latexmk

10
推荐指数
1
解决办法
4575
查看次数

标签 统计

auctex ×2

emacs ×2

latexmk ×2

build-process ×1

latex ×1