web-dev-qa-db-fra.com

L'intégration d'Emacs / LuaLaTeX avec Evince / Zathura ne fonctionnant pas sous Ubuntu 18.04. Comment puis-je le réparer?

Après ma récente mise à niveau (par nouvelle installation) vers Ubuntu 18.04, j'ai commencé à avoir quelques problèmes avec ma chaîne d’outils (Emacs, Lualatex, Evince). J'utilise la recherche en avant/en arrière pour approcher l'édition WYSIWYG LaTeX.

Evince a commencé à se bloquer lors de la recompilation/mise à jour de LuaLaTeX. Ensuite, j'ai essayé zathura (un autre PDF spectateur) à la place, et après une vue essayée, des plantages similaires se produisent également avec zathura. Après un moment, Zathura ne peut même plus être lancé par les commandes Emacs pour contrôler zathura.

J'utilise Ubuntu 18.04 et les packages emacs, evince et zathura correspondants, ainsi que certaines extensions emacs "standard" du référentiel de paquets ubuntu.

La partie pertinente de mes .emacs:

(package-initialize)

(add-to-list 'load-path "~/.emacs.d/LISP/")

(add-hook 'text-mode-hook 'electric-pair-mode) 
(add-hook 'text-mode-hook 'show-paren-mode)
(add-hook 'text-mode-hook 'turn-on-auto-fill)

(add-hook 'TeX-mode-hook 'outline-minor-mode)

(setq TeX-auto-save t)
(setq TeX-parse-self t)
(setq-default TeX-master nil)

(add-hook 'LaTeX-mode-hook 'flyspell-mode)
(add-hook 'LaTeX-mode-hook 'LaTeX-math-mode)
(add-hook 'LaTeX-mode-hook 'turn-on-reftex)
(setq reftex-plug-into-AUCTeX t)
(add-hook 'LaTeX-mode-hook 'company-mode)
(add-hook 'LaTeX-mode-hook 'TeX-source-correlate-mode)
(setq TeX-source-correlate-method 'synctex)
(setq TeX-source-correlate-start-server t)
(add-hook 'LaTeX-mode-hook 'TeX-PDF-mode)
(setq TeX-view-program-selection '((output-pdf "Zathura")))

Emacs génère l'appel suivant:

zathura file.pdf --synctex-forward 200:0:sometexinclude.tex -x "emacsclient
+%{line} %{input}"

Appelé comme ceci, zathura (je n'utilise pas de fichier de configuration zathura) présente les éléments suivants:

zsh: segmentation fault (core dumped)  zathura file.pdf
--synctex-forward 200:0:sometexinclude.tex -x

Evince tombe également en panne avec SIGSEGV, ce qui me laisse penser que c'est un problème indépendant des téléspectateurs.

La dernière chose que j'ai découverte est que le fait de supprimer le fichier synctex.gz permet de démarrer zathura et d'afficher le fichier PDF. Mais ce n'est bien sûr pas une solution souhaitable. Cependant, je n'ai pas été en mesure de trouver rapidement comment trouver le dump principal et le rendre lisible par l'homme dans ce cas. (Cela pourrait dépasser la portée de mon problème.)

Une description de ce problème se produisant avec des documents volumineux dans un environnement OS X est décrite ici : Pour moi, cela arrive aussi souvent lorsque les documents sont longs (plus de 60 pages), mais dans mon cas, sous Linux.

En espérant avoir de l'aide? (Dois-je transférer/partager cette question à/avec la communauté emacs?)

3
Mario

ne solution qui semble fonctionner pour moi pour le moment est de laisser de côté la ligne

(setq TeX-source-correlate-method 'synctex)

de ma configuration .emacs. Ainsi, le configuration minimale pour que la recherche fonctionne à nouveau semble être:

(add-hook 'LaTeX-mode-hook 'TeX-source-correlate-mode)
(setq TeX-source-correlate-start-server t)

en utilisant evince (par défaut) et avec une ligne supplémentaire pour utiliser zathura :

(setq TeX-view-program-selection '((output-pdf "Zathura")))

De plus, j'ai changé de \include et \includeonly en un schéma en commentant les latex non utilisés inclus. Ma théorie est que les liens hypertextes (par exemple vers des brouillons, des sections, etc.) vers des pages conservées dans les sorties latex et synctex mais NOT générés dans le fichier pdf peuvent causer des problèmes dans les deux PDF visionneuses que j'ai utilisées.

Une solution plus fiable consiste à supprimer le fichier .synctex.gz. Ceci à la fois pour evince et zathura résout le problème qui ne reviendra alors que de temps en temps. Cependant, je n’ai pas pu trouver de meilleure solution jusqu’à présent. Je dois dire que ce n’est pas vraiment une solution pratique.

1
Mario