Функция Emacs latexmk выбрасывает меня в пустой буфер - PullRequest
10 голосов
/ 25 октября 2011

Это продолжение до Как связать latexmk с одним ключом в Emacs и показать ошибки при наличии .

Я использую функцию в Emacs для компиляции документов LaTeX с latexmk, но она работает не так, как я хочу. одна функция, которую я использую: Jouni K. 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)))

Основная проблема заключается в том, что когда я использую функцию (нажав C-0), она иногда выбрасывает меня в пустой буфер с именем TeX Live 2011.

Один из способов воспроизвести эту проблему - попытаться скомпилировать следующее (не имеет значения, что vc.tex не существует):

\immediate\write18{sh ./vc}
\input{vc}
\documentclass{article}
\begin{document}
\end{document}

Другой способ воспроизвести это попытаться скомпилировать следующее:

\documentclass{article}
\newcommand{foo}{
\begin{document}
\end{document}

Небольшая (косметическая) проблема заключается в том, что высота минибуфера иногда увеличивается от одной строки до двух строк как run-latexmk, и после его запуска она возвращается к высоте одной строки. У меня возникли проблемы с поиском простого примера для воспроизведения этого поведения (я воспроизводил его только для очень больших документов).

Я бы хотел решить обе проблемы. Мне также были бы интересны другие способы взаимодействия с latexmk в Emacs.


Вот *... output* buffer из последнего примера (тот, с отсутствующей закрывающей фигурной скобкой \newcommand:

Running `latexmk' on `test' with ``latexmk''
Latexmk: This is Latexmk, John Collins, 10 October 2011, version: 4.27a.
**** Report bugs etc to John Collins <collins at phys.psu.edu>. ****
Rule 'pdflatex': File changes, etc:
   Changed files, or newly in use since previous run(s):
      'test.tex'
------------
Run number 1 of rule 'pdflatex'
------------
------------
Running 'pdflatex -recorder -halt-on-error -interaction=nonstopmode -shell-escape -synctex=1  -recorder  "test.tex"'
------------
Latexmk: applying rule 'pdflatex'...
This is pdfTeX, Version 3.1415926-2.3-1.40.12 (TeX Live 2011)
 \write18 enabled.
entering extended mode
(./test.tex
LaTeX2e <2011/06/27>
Babel <v3.8m> and hyphenation patterns for english, dumylang, nohyphenation, ge
rman-x-2011-07-01, ngerman-x-2011-07-01, afrikaans, ancientgreek, ibycus, arabi
c, armenian, basque, bulgarian, catalan, pinyin, coptic, croatian, czech, danis
h, dutch, ukenglish, usenglishmax, esperanto, estonian, ethiopic, farsi, finnis
h, french, galician, german, ngerman, swissgerman, monogreek, greek, hungarian,
 icelandic, assamese, bengali, gujarati, hindi, kannada, malayalam, marathi, or
iya, panjabi, tamil, telugu, indonesian, interlingua, irish, italian, kurmanji,
 lao, latin, latvian, lithuanian, mongolian, mongolianlmc, bokmal, nynorsk, pol
ish, portuguese, romanian, russian, sanskrit, serbian, serbianc, slovak, sloven
ian, spanish, swedish, turkish, turkmen, ukrainian, uppersorbian, welsh, loaded
.
(/usr/local/texlive/2011/texmf-dist/tex/latex/base/article.cls
Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
(/usr/local/texlive/2011/texmf-dist/tex/latex/base/size10.clo)))
Runaway argument?
{ \begin {document} \end {document} 
! File ended while scanning use of \@argdef.
<inserted text> 
                \par 
<*> test.tex

!  ==> Fatal error occurred, no output PDF file produced!
Transcript written on test.log.
Collected error summary (may duplicate other messages):
  pdflatex: Command for 'pdflatex' gave return code 256
Latexmk: Use the -f option to force complete processing.
Latexmk: Errors, so I did not complete making targets

latexmk exited at Thu Oct 27 08:11:07

Следующая информация выводится из файла TeX, из которого * TeX Help * show Emergency stop.:

Running `latexmk' on `laskurs_logik.hemtenta' with ``latexmk''
Latexmk: This is Latexmk, John Collins, 10 October 2011, version: 4.27a.
**** Report bugs etc to John Collins <collins at phys.psu.edu>. ****
Rule 'pdflatex': File changes, etc:
   Changed files, or newly in use since previous run(s):
      'laskurs_logik.hemtenta.tex'
------------
Run number 1 of rule 'pdflatex'
------------
------------
Running 'pdflatex -recorder -halt-on-error -interaction=nonstopmode -shell-escape -synctex=1  -recorder  "laskurs_logik.hemtenta.tex"'
------------
Latexmk: All targets (laskurs_logik.anteckningar.pdf) are up-to-date
Latexmk: applying rule 'pdflatex'...
This is pdfTeX, Version 3.1415926-2.3-1.40.12 (TeX Live 2011)
 \write18 enabled.
entering extended mode
(./laskurs_logik.hemtenta.tex
LaTeX2e <2011/06/27>
Babel <v3.8m> and hyphenation patterns for english, dumylang, nohyphenation, ge
rman-x-2011-07-01, ngerman-x-2011-07-01, afrikaans, ancientgreek, ibycus, arabi
c, armenian, basque, bulgarian, catalan, pinyin, coptic, croatian, czech, danis
h, dutch, ukenglish, usenglishmax, esperanto, estonian, ethiopic, farsi, finnis
h, french, galician, german, ngerman, swissgerman, monogreek, greek, hungarian,
 icelandic, assamese, bengali, gujarati, hindi, kannada, malayalam, marathi, or
iya, panjabi, tamil, telugu, indonesian, interlingua, irish, italian, kurmanji,
 lao, latin, latvian, lithuanian, mongolian, mongolianlmc, bokmal, nynorsk, pol
ish, portuguese, romanian, russian, sanskrit, serbian, serbianc, slovak, sloven
ian, spanish, swedish, turkish, turkmen, ukrainian, uppersorbian, welsh, loaded
.
(/usr/local/texlive/2011/texmf-dist/tex/latex/nag/nag.sty
(/usr/local/texlive/2011/texmf-dist/tex/latex/nag/nag-l2tabu.cfg)
(/usr/local/texlive/2011/texmf-dist/tex/latex/nag/nag-orthodox.cfg))fatal: Not a git repository (or any parent up to mount parent /home)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
 (./vc.tex)
 (/usr/local/texlive/2011/texmf-dist/tex/latex/base/article.cls
Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
(/usr/local/texlive/2011/texmf-dist/tex/latex/base/leqno.clo)
(/usr/local/texlive/2011/texmf-dist/tex/latex/base/fleqn.clo)
(/usr/local/texlive/2011/texmf-dist/tex/latex/base/size12.clo))
(/usr/local/texlive/2011/texmf-dist/tex/latex/base/inputenc.sty
(/usr/local/texlive/2011/texmf-dist/tex/latex/base/utf8.def
(/usr/local/texlive/2011/texmf-dist/tex/latex/base/t1enc.dfu)
(/usr/local/texlive/2011/texmf-dist/tex/latex/base/ot1enc.dfu)
(/usr/local/texlive/2011/texmf-dist/tex/latex/base/omsenc.dfu)))
(/usr/local/texlive/2011/texmf-dist/tex/latex/base/fontenc.sty
(/usr/local/texlive/2011/texmf-dist/tex/latex/base/t1enc.def))
(/usr/local/texlive/2011/texmf-dist/tex/latex/lm/lmodern.sty)
(/usr/local/texlive/2011/texmf-dist/tex/latex/base/fixltx2e.sty) (./strict.sty)
(/usr/local/texlive/2011/texmf-dist/tex/latex/tools/verbatim.sty)
(/usr/local/texlive/2011/texmf-dist/tex/latex/enumitem/enumitem.sty)
(/usr/local/texlive/2011/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty
(/usr/local/texlive/2011/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty
(/usr/local/texlive/2011/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.te
x)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def
(/usr/local/texlive/2011/texmf-dist/tex/latex/ms/everyshi.sty))
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex))
(/usr/local/texlive/2011/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty
(/usr/local/texlive/2011/texmf-dist/tex/latex/graphics/graphicx.sty
(/usr/local/texlive/2011/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/local/texlive/2011/texmf-dist/tex/latex/graphics/graphics.sty
(/usr/local/texlive/2011/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/local/texlive/2011/texmf-dist/tex/latex/latexconfig/graphics.cfg)
(/usr/local/texlive/2011/texmf-dist/tex/latex/pdftex-def/pdftex.def
(/usr/local/texlive/2011/texmf-dist/tex/generic/oberdiek/infwarerr.sty)
(/usr/local/texlive/2011/texmf-dist/tex/generic/oberdiek/ltxcmds.sty))))
(/usr/local/texlive/2011/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.c
ode.tex))
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.d
ef
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-p
df.def)))
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.
code.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.
code.tex)) (/usr/local/texlive/2011/texmf-dist/tex/latex/xcolor/xcolor.sty
(/usr/local/texlive/2011/texmf-dist/tex/latex/latexconfig/color.cfg))
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex
)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.
tex
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic
.code.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigo
nometric.code.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.rando
m.code.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.compa
rison.code.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.
code.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round
.code.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.
code.tex)))
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex)
)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.co
de.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconst
ruct.code.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage
.code.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.co
de.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicst
ate.code.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransform
ations.code.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.cod
e.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.c
ode.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathproce
ssing.code.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.co
de.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.cod
e.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.cod
e.tex
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.
code.tex))
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.co
de.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretranspare
ncy.code.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.
code.tex)))
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.cod
e.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.
tex)
(/usr/local/texlive/2011/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version
-0-65.sty)
(/usr/local/texlive/2011/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version
-1-18.sty))
(/usr/local/texlive/2011/texmf-dist/tex/latex/pgf/utilities/pgffor.sty
(/usr/local/texlive/2011/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)
) (/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex
))
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.cod
e.tex
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothan
dlers.code.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.cod
e.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/frontendlayer/tikz/librarie
s/tikzlibrarytopaths.code.tex)))
(/usr/local/texlive/2011/texmf-dist/tex/latex/isomath/isomath.sty
(/usr/local/texlive/2011/texmf-dist/tex/latex/was/fixmath.sty)
(/usr/local/texlive/2011/texmf-dist/tex/latex/oberdiek/kvoptions.sty
(/usr/local/texlive/2011/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
(/usr/local/texlive/2011/texmf-dist/tex/generic/oberdiek/etexcmds.sty
(/usr/local/texlive/2011/texmf-dist/tex/generic/oberdiek/ifluatex.sty)))))
(/usr/local/texlive/2011/texmf-dist/tex/latex/amsfonts/amssymb.sty
(/usr/local/texlive/2011/texmf-dist/tex/latex/amsfonts/amsfonts.sty))
(/usr/local/texlive/2011/texmf-dist/tex/latex/mh/mathtools.sty
(/usr/local/texlive/2011/texmf-dist/tex/latex/tools/calc.sty)
(/usr/local/texlive/2011/texmf-dist/tex/latex/mh/mhsetup.sty)
(/usr/local/texlive/2011/texmf-dist/tex/latex/amsmath/amsmath.sty
For additional information on amsmath, use the `?' option.
(/usr/local/texlive/2011/texmf-dist/tex/latex/amsmath/amstext.sty
(/usr/local/texlive/2011/texmf-dist/tex/latex/amsmath/amsgen.sty))
(/usr/local/texlive/2011/texmf-dist/tex/latex/amsmath/amsbsy.sty)
(/usr/local/texlive/2011/texmf-dist/tex/latex/amsmath/amsopn.sty)))
(/usr/local/texlive/2011/texmf-dist/tex/latex/onlyamsmath/onlyamsmath.sty)
(/usr/local/texlive/2011/texmf-dist/tex/latex/tools/bm.sty)
(/usr/local/texlive/2011/texmf-dist/tex/latex/turnstile/turnstile.sty
(/usr/local/texlive/2011/texmf-dist/tex/latex/base/ifthen.sty))
(/usr/local/texlive/2011/texmf-dist/tex/latex/jknapltx/mathrsfs.sty)
(/usr/local/texlive/2011/texmf-dist/tex/generic/babel/babel.sty
(/usr/local/texlive/2011/texmf-dist/tex/generic/babel/english.ldf
(/usr/local/texlive/2011/texmf-dist/tex/generic/babel/babel.def))
(/usr/local/texlive/2011/texmf-dist/tex/generic/babel/swedish.ldf))
(/usr/local/texlive/2011/texmf-dist/tex/latex/microtype/microtype.sty
(/usr/local/texlive/2011/texmf-dist/tex/latex/microtype/microtype.cfg))
(/usr/local/texlive/2011/texmf-dist/tex/latex/csquotes/csquotes.sty
(/usr/local/texlive/2011/texmf-dist/tex/latex/etoolbox/etoolbox.sty
(/usr/local/texlive/2011/texmf-dist/tex/latex/etex-pkg/etex.sty))
(/usr/local/texlive/2011/texmf-dist/tex/latex/csquotes/csquotes.def)
(/usr/local/texlive/2011/texmf-dist/tex/latex/csquotes/csquotes.cfg))
(/usr/local/texlive/2011/texmf-dist/tex/latex/biblatex/biblatex.sty
(/usr/local/texlive/2011/texmf-dist/tex/latex/logreq/logreq.sty
(/usr/local/texlive/2011/texmf-dist/tex/latex/logreq/logreq.def))
(/usr/local/texlive/2011/texmf-dist/tex/latex/url/url.sty)
(/usr/local/texlive/2011/texmf-dist/tex/latex/biblatex/blx-compat.def)
(/usr/local/texlive/2011/texmf-dist/tex/latex/biblatex/biblatex.def)
(/usr/local/texlive/2011/texmf-dist/tex/latex/biblatex/bbx/authoryear-comp.bbx
(/usr/local/texlive/2011/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx
(/usr/local/texlive/2011/texmf-dist/tex/latex/biblatex/bbx/standard.bbx)))
(/usr/local/texlive/2011/texmf-dist/tex/latex/biblatex/cbx/authoryear-comp.cbx)
(/usr/local/texlive/2011/texmf-dist/tex/latex/biblatex/biblatex.cfg))
(/usr/local/texlive/2011/texmf-dist/tex/latex/hyperref/hyperref.sty
(/usr/local/texlive/2011/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
(/usr/local/texlive/2011/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty))
(/usr/local/texlive/2011/texmf-dist/tex/generic/ifxetex/ifxetex.sty)
(/usr/local/texlive/2011/texmf-dist/tex/latex/hyperref/pd1enc.def)
(/usr/local/texlive/2011/texmf-dist/tex/latex/latexconfig/hyperref.cfg))

Package hyperref Message: Driver (autodetected): hpdftex.

(/usr/local/texlive/2011/texmf-dist/tex/latex/hyperref/hpdftex.def
(/usr/local/texlive/2011/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty))
(/usr/local/texlive/2011/texmf-dist/tex/latex/ellipsis/ellipsis.sty
(/usr/local/texlive/2011/texmf-dist/tex/latex/tools/xspace.sty))
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/frontendlayer/tikz/librarie
s/tikzlibrarycalc.code.tex)
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/frontendlayer/tikz/librarie
s/tikzlibraryshapes.misc.code.tex
(/usr/local/texlive/2011/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibrary
shapes.misc.code.tex))
(/usr/local/texlive/2011/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx)
(./laskurs_logik.hemtenta.aux)
(/usr/local/texlive/2011/texmf-dist/tex/latex/lm/t1lmr.fd)
ABD: EveryShipout initializing macros
(/usr/local/texlive/2011/texmf-dist/tex/context/base/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
) (/usr/local/texlive/2011/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
(/usr/local/texlive/2011/texmf-dist/tex/latex/oberdiek/grfext.sty)
(/usr/local/texlive/2011/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg))
(/usr/local/texlive/2011/texmf-dist/tex/latex/microtype/mt-cmr.cfg)
(./laskurs_logik.hemtenta.bbl)
(/usr/local/texlive/2011/texmf-dist/tex/latex/hyperref/nameref.sty
(/usr/local/texlive/2011/texmf-dist/tex/generic/oberdiek/gettitlestring.sty))
(./laskurs_logik.hemtenta.out) (./laskurs_logik.hemtenta.out)
(/usr/local/texlive/2011/texmf-dist/tex/latex/lm/ot1lmr.fd)
(/usr/local/texlive/2011/texmf-dist/tex/latex/lm/omllmm.fd)
(/usr/local/texlive/2011/texmf-dist/tex/latex/lm/omslmsy.fd)
(/usr/local/texlive/2011/texmf-dist/tex/latex/lm/omxlmex.fd)
(/usr/local/texlive/2011/texmf-dist/tex/latex/amsfonts/umsa.fd)
(/usr/local/texlive/2011/texmf-dist/tex/latex/microtype/mt-msa.cfg)
(/usr/local/texlive/2011/texmf-dist/tex/latex/amsfonts/umsb.fd)
(/usr/local/texlive/2011/texmf-dist/tex/latex/microtype/mt-msb.cfg)
(/usr/local/texlive/2011/texmf-dist/tex/latex/jknapltx/ursfs.fd)
(/usr/local/texlive/2011/texmf-dist/tex/latex/pxfonts/upxsyc.fd)
(/usr/local/texlive/2011/texmf-dist/tex/latex/lm/omslmr.fd)
(/usr/local/texlive/2011/texmf-dist/tex/latex/lm/t1lmtt.fd)

Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
(hyperref)                removing `\citeauthor' on input line 127.


Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
(hyperref)                removing `\citetitle' on input line 127.


Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
(hyperref)                removing `\citeauthor' on input line 143.


Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
(hyperref)                removing `\citetitle' on input line 143.

[1{/usr/local/texlive/2011/texmf-var/fonts/map/pdftex/updmap/pdftex.map}]
[2pdfTeX warning (ext4): destination with the same identifier (name{equation.0.
1}) has been already used, duplicate ignored

\@EveryShipout@Output ...@Org@Shipout \box \@cclv 

l.170 
      ]pdfTeX warning (ext4): destination with the same identifier (name{equati
on.0.1}) has been already used, duplicate ignored
<to be read again> 
                   \relax 
l.171 \begin{equation}
                      pdfTeX warning (ext4): destination with the same identifi
er (name{equation.0.1}) has been already used, duplicate ignored
<to be read again> 
                   \relax 
l.178 \begin{equation}
                      pdfTeX warning (ext4): destination with the same identifi
er (name{equation.0.1}) has been already used, duplicate ignored
<to be read again> 
                   \relax 
l.188 \begin{equation}
                       [3]pdfTeX warning (ext4): destination with the same iden
tifier (name{equation.0.1}) has been already used, duplicate ignored
<to be read again> 
                   \relax 
l.194 \begin{equation}
                      pdfTeX warning (ext4): destination with the same identifi
er (name{equation.0.1}) has been already used, duplicate ignored
<to be read again> 
                   \relax 
l.200 \begin{equation}
                      pdfTeX warning (ext4): destination with the same identifi
er (name{equation.0.1}) has been already used, duplicate ignored
<to be read again> 
                   \relax 
l.207 \begin{equation}


Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
(hyperref)                removing `\citeauthor' on input line 220.


Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
(hyperref)                removing `\citetitle' on input line 220.

[4]
No complaints by nag.
[5] (./laskurs_logik.hemtenta.aux) )
(see the transcript file for additional information){/usr/local/texlive/2011/te
xmf-dist/fonts/enc/dvips/lm/lm-ec.enc}{/usr/local/texlive/2011/texmf-dist/fonts
/enc/dvips/lm/lm-rm.enc}{/usr/local/texlive/2011/texmf-dist/fonts/enc/dvips/lm/
lm-mathit.enc}{/usr/local/texlive/2011/texmf-dist/fonts/enc/dvips/lm/lm-mathsy.
enc}</usr/local/texlive/2011/texmf-dist/fonts/type1/public/lm/lmbx12.pfb></usr/
local/texlive/2011/texmf-dist/fonts/type1/public/lm/lmbxi10.pfb></usr/local/tex
live/2011/texmf-dist/fonts/type1/public/lm/lmcsc10.pfb></usr/local/texlive/2011
/texmf-dist/fonts/type1/public/lm/lmmi12.pfb></usr/local/texlive/2011/texmf-dis
t/fonts/type1/public/lm/lmmi8.pfb></usr/local/texlive/2011/texmf-dist/fonts/typ
e1/public/lm/lmr10.pfb></usr/local/texlive/2011/texmf-dist/fonts/type1/public/l
m/lmr12.pfb></usr/local/texlive/2011/texmf-dist/fonts/type1/public/lm/lmr17.pfb
></usr/local/texlive/2011/texmf-dist/fonts/type1/public/lm/lmr7.pfb></usr/local
/texlive/2011/texmf-dist/fonts/type1/public/lm/lmr8.pfb></usr/local/texlive/201
1/texmf-dist/fonts/type1/public/lm/lmri12.pfb></usr/local/texlive/2011/texmf-di
st/fonts/type1/public/lm/lmsy10.pfb></usr/local/texlive/2011/texmf-dist/fonts/t
ype1/public/lm/lmsy7.pfb></usr/local/texlive/2011/texmf-dist/fonts/type1/public
/lm/lmsy8.pfb></usr/local/texlive/2011/texmf-dist/fonts/type1/public/lm/lmtt10.
pfb>
Output written on laskurs_logik.hemtenta.pdf (5 pages, 251703 bytes).
SyncTeX written on laskurs_logik.hemtenta.synctex.gz.
Transcript written on laskurs_logik.hemtenta.log.
Latexmk: Found input bbl file 'laskurs_logik.hemtenta.bbl'
Latexmk: Log file says output to 'laskurs_logik.hemtenta.pdf'
Latexmk: Found biber source file(s) [/home/repabil/Dokument/skola/refse.bib laskurs_logik.hemtenta.bcf]
Rule 'pdflatex': Rules & subrules not known to be previously run:
   pdflatex
Rule 'pdflatex': The following rules & subrules became out-of-date:
      'pdflatex'
------------
Run number 1 of rule 'pdflatex'
------------
------------
Running 'pdflatex -recorder -halt-on-error -interaction=nonstopmode -shell-escape -synctex=1  -recorder  "vc.tex"'
------------
laskurs_logik.hemtenta.aux
laskurs_logik.hemtenta.bcf
laskurs_logik.hemtenta.out
laskurs_logik.hemtenta.run.xml
Latexmk: All targets (laskurs_logik.hemtenta.pdf) are up-to-date
Latexmk: applying rule 'pdflatex'...
This is pdfTeX, Version 3.1415926-2.3-1.40.12 (TeX Live 2011)
 \write18 enabled.
entering extended mode
(./vc.tex
LaTeX2e <2011/06/27>
Babel <v3.8m> and hyphenation patterns for english, dumylang, nohyphenation, ge
rman-x-2011-07-01, ngerman-x-2011-07-01, afrikaans, ancientgreek, ibycus, arabi
c, armenian, basque, bulgarian, catalan, pinyin, coptic, croatian, czech, danis
h, dutch, ukenglish, usenglishmax, esperanto, estonian, ethiopic, farsi, finnis
h, french, galician, german, ngerman, swissgerman, monogreek, greek, hungarian,
 icelandic, assamese, bengali, gujarati, hindi, kannada, malayalam, marathi, or
iya, panjabi, tamil, telugu, indonesian, interlingua, irish, italian, kurmanji,
 lao, latin, latvian, lithuanian, mongolian, mongolianlmc, bokmal, nynorsk, pol
ish, portuguese, romanian, russian, sanskrit, serbian, serbianc, slovak, sloven
ian, spanish, swedish, turkish, turkmen, ukrainian, uppersorbian, welsh, loaded
.
)
! Emergency stop.
<*> vc.tex

!  ==> Fatal error occurred, no output PDF file produced!
Transcript written on vc.log.
Failure to make 'vc.pdf'
Collected error summary (may duplicate other messages):
  pdflatex: Command for 'pdflatex' gave return code 256

------------
Latexmk: Some operations failed, for the following tex file(s)
  'vc.tex'
Latexmk: Use the -f option to force complete processing.
Latexmk: Errors, so I did not complete making targets

latexmk exited at Sat Nov  5 14:28:13

Ответы [ 2 ]

8 голосов
/ 06 ноября 2011

Существует проблема с тем, как вызывается latexmk.Он вызывается без аргументов и пытается компилировать все текстовые файлы в каталоге, включая только что созданный vc.tex.Это, конечно, вызывает проблемы, потому что vc.tex не может быть скомпилировано, и вы каждый раз получаете сообщение об ошибке.

Начиная с имеющейся у вас функции, это довольно легко исправить, используя TeX-command-expand, например:

(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"
                 (TeX-command-expand "latexmk %t" 'TeX-master-file)
                 master-file)
    (if (plist-get TeX-error-report-switches (intern master-file))
        (TeX-next-error t)
      (minibuffer-message "latexmk done"))))

РЕДАКТИРОВАТЬ: Чтобы исправить проблему с буфером "TeX Live 2011", вы должны использовать другой ответ.

4 голосов
/ 26 октября 2011

У меня давно была эта проблема, и я изучил ее. Это связано с тем, что AUCTeX анализирует выходные данные, пытаясь определить, в каком файле находится ошибка. Когда TeX начинает чтение файла, он выводит (/path/to/the/file, а когда он заканчивает чтение файла, он печатает ). Есть множество способов, которыми AUCTeX может неправильно понять. Первый «файл», который он читает, - это TeX Live 2011, а затем по какой-то причине он считает, что больше файлов закрыто, чем открыто, и вы в конечном итоге возвращаетесь в TeX Live 2011.

В приведенном вами коротком примере проблема в том, что вывод содержит

(./auctex-bug2.texsh: ./vc: No such file or directory

и он не распознает это как новый файл, поскольку (я полагаю) он содержит :. Конечно, в любом случае это будет неправильный файл, но это ни здесь, ни там. Я могу получить правильное поведение, добавив пробел в буфер *... output* в соответствующем месте перед запуском TeX-next-error (это невозможно при использовании C-0, так как он вызывает TeX-next-error автоматически, но может быть сделано при запуске «вручную» через C-c C-c latexmk RET C-c C-l).

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

Для меня одной из распространенных проблем было AUCTeX, неправильно вставлявшее вместе строки "overfull box". Вы можете прочитать электронное письмо , где я это выяснил, а также исправление (которое есть в последней версии AUCTeX из CVS, но не в последней версии 11.86).

Недавно у меня возникла та же проблема, и я решил снова в нее разобраться. На этот раз это было из-за линии

Package hyperref Message: Driver (autodetected): hpdftex.

, в котором он не распознал (autodetected как файл, но думал, что ) отметил конец файла. В любом случае, я переписал TeX-parse-error, чтобы раскрасить выходной буфер, что очень помогло в его отслеживании. Как это исправить, конечно, будет зависеть от проблемы.

Ниже приведено то, что я использовал для раскрашивания вывода. Просто оцените определение функции и затем запустите LaTeX как обычно.

(defun TeX-parse-error (old)
  "Goto next error.  Pop to OLD buffer if no more errors are found."
  (let ((regexp
         (concat
          ;; TeX error
          "^\\(!\\|\\(.*?\\):[0-9]+:\\) \\|"
          ;; New file
          "(\\(\"[^\"]*?\"\\|/*\
\\(?:\\.+[^()\r\n{} \\/]*\\|[^()\r\n{} .\\/]+\
\\(?: [^()\r\n{} .\\/]+\\)*\\(?:\\.[-0-9a-zA-Z_.]*\\)?\\)\
\\(?:[\\/]+\\(?:\\.+[^()\r\n{} \\/]*\\|[^()\r\n{} .\\/]+\
\\(?: [^()\r\n{} .\\/]+\\)*\\(?:\\.[-0-9a-zA-Z_.]*\\)?\\)?\\)*\\)\
)*\\(?: \\|\r?$\\)\\|"
          ;; End of file
          "\\()\\))*\\|"
          ;; Hook to change line numbers
          " !\\(?:offset(\\([---0-9]+\\))\\|"
          ;; Hook to change file name
          "name(\\([^)]+\\))\\)\\|"
          ;; LaTeX bad box
          "^\\(\\(?:Overfull\\|Underfull\\|Tight\\|Loose\\)\
 \\\\.*?[0-9]+--[0-9]+\\)\\|"
          ;; LaTeX warning
          "^\\(LaTeX [A-Za-z]*\\|Package [A-Za-z]+ \\)Warning:.*")))
    (while
        (cond
         ((null
           (re-search-forward regexp nil t))
          ;; No more errors.
          (message "No more errors.")
          (beep)
          (TeX-pop-to-buffer old)
          nil)
         ;; TeX error
         ((match-beginning 1)
          (when (match-beginning 2)
            (unless TeX-error-file
              (push nil TeX-error-file)
              (push nil TeX-error-offset))
            (unless (car TeX-error-offset)
              (rplaca TeX-error-file (TeX-match-buffer 2))))
          (if (looking-at "Preview ")
              t
            (TeX-error)
            nil))
         ;; LaTeX bad box
         ((match-beginning 7)
          (if TeX-debug-bad-boxes
              (progn
                (TeX-warning (TeX-match-buffer 7))
                nil)
            (re-search-forward "\r?\n\
\\(?:.\\{79\\}\r?\n\
\\)*.*\r?$")
            t))
         ;; LaTeX warning
         ((match-beginning 8)
          (if TeX-debug-warnings
              (progn
                (TeX-warning (TeX-match-buffer 8))
                nil)
            t))

         ;; New file -- Push on stack
         ((match-beginning 3)
          (overlay-put
           (make-overlay (match-beginning 3) (match-end 3))
           'face 'font-lock-type-face)
          (let ((file (TeX-match-buffer 3))
                (end (match-end 3)))
            ;; Strip quotation marks and remove newlines if necessary
            (when (or (eq (string-to-char file) ?\")
                      (string-match "\n" file))
              (setq file
                    (mapconcat 'identity (split-string file "[\"\n]+") "")))
            (push file TeX-error-file)
            (push nil TeX-error-offset)
            (goto-char end))
          t)

         ;; End of file -- Pop from stack
         ((match-beginning 4)
          (overlay-put
           (make-overlay (match-beginning 4) (match-end 4))
           'face 'font-lock-warning-face)
          (when (> (length TeX-error-file) 1)
            (pop TeX-error-file)
            (pop TeX-error-offset))
          (goto-char (match-end 4))
          t)

         ;; Hook to change line numbers
         ((match-beginning 5)
          (setq TeX-error-offset
                (list (string-to-number (TeX-match-buffer 5))))
          t)

         ;; Hook to change file name
         ((match-beginning 6)
          (setq TeX-error-file
                (list (TeX-match-buffer 6)))
          t)))))

EDIT

Что касается второго примера, то это сложный пример, потому что, как TeX, читает до конца файла и закрывает его, прежде чем выдает ошибку. Технически, когда появляется ошибка, вы не находитесь ни в одном файле, но это только потому, что TeX не понимает, где произошла настоящая ошибка.

Во всяком случае, вот чрезвычайно грязный способ обойти проблему. Он пытается восстановить файл, который должен быть «по умолчанию», на основе имени выходного буфера *file-name output*. Это просто маскирует проблему, но, вероятно, будет работать не менее 80% времени, если ваши документы состоят из одного файла. Когда это не работает, это будет сбивать с толку - возможно, даже больше, чем сейчас. : -)

(defadvice TeX-parse-reset (after make-master-file-default () activate)
  (push (concat (substring (buffer-name) 1 (- (length (buffer-name)) 8)) "." TeX-default-extension) TeX-error-file)
  (push nil TeX-error-offset))
...