Flymake pdflatex ubuntu 12.04 emacs 23.3.1 Ошибка конфигурации

Я попытался запустить flymake для pdflatex в своей системе. Следующий код включен в мой файл .emacs:

(require 'flymake)
(defun flymake-get-tex-args (file-name)
(list "pdflatex"
(list "-file-line-error" "-draftmode" "-interaction=nonstopmode" file-name)))
(add-hook 'LaTeX-mode-hook 'flymake-mode)

Ошибка:

Flymake: Configuration error has occurred while running(pdflatex -file-line-error -draftmode -interaction=nonstopmode /home/.../myfile_flymake.tex).Flymake will be switched OFF

Я искал решение, но не смог его найти. Надеюсь, кто-то может мне помочь.

заранее спасибо


person rantanplan    schedule 16.05.2013    source источник
comment
Почему в сообщении об ошибке между - и interaction есть пробел? Кажется, это не соответствует четвертой строке вашего кода конфигурации.   -  person Thomas    schedule 17.05.2013
comment
Ошибка возникает только в том случае, если myfile.tex изначально содержит ошибки? Это похоже на мой Emacs 23. Если файл не содержит синтаксических ошибок в первый раз, когда flymake пытается преобразовать его в pdflatex, он работает нормально позже, даже если я намеренно добавлю некоторые ошибки. (Кстати: у меня нет проблем с Emacs 24, так что, возможно, обновление могло бы решить вашу проблему?)   -  person Thomas    schedule 17.05.2013
comment
извините, в сообщении об ошибке нет пробела между - и interaction. Если myfile.tex не содержит синтаксических ошибок, сообщение об ошибке не появляется. Но сразу после того, как я вставляю среду, появляется та же ошибка, что и выше. Также я только что установил Emacs 24.3.1. Но ничего не изменилось.   -  person rantanplan    schedule 17.05.2013


Ответы (2)


Я думаю, это произошло из-за разрыва строки. Вызов скрипта-оболочки вместо pdflatex следующим образом решил проблему, по крайней мере, для меня:

----------[pdflatex_nobreak]----------

#!/bin/bash
export max_print_line=1000
export error_line=254
export half_error_line=238
pdflatex "$@"
person Jürgen    schedule 02.08.2013

Из руководства flymake:

Следующие ошибки вызывают предупреждающее сообщение и отключают режим flymake для буфера.

CFGERR : процесс проверки синтаксиса возвратил ненулевой код выхода, но никаких ошибок/предупреждений не поступало. Это указывает на возможную ошибку конфигурации (например, нет подходящих шаблонов сообщений об ошибках для инструмента проверки синтаксиса).

Итак, я предполагаю, что pdflatex вызывается, анализирует ваш файл .tex, а затем дает ненулевой код выхода, не «сообщая» о каких-либо ошибках или предупреждениях.

Чтобы проверить это, запустите это в своей оболочке:

pdflatex -file-line-error -draftmode -interaction=nonstopmode /home/.../myfile.tex

Теперь введите:

echo $?

чтобы увидеть код выхода. Если он не равен нулю и не было указаний на ошибку или предупреждение, то это объясняет поведение, которое вы видите.

Я только что задал вопрос, посвященный именно этой ситуации: Использование emacs для файлов .tex с Flymake - ошибка с несбалансированными фигурными скобками

person Matt Klein    schedule 13.09.2013