[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Detect latexmk is running on currently buffer.
From: |
Hongyi Zhao |
Subject: |
Detect latexmk is running on currently buffer. |
Date: |
Tue, 12 Oct 2021 15:54:49 +0800 |
Currently, I'm using the following configuration to automate the LaTeX
workflow in Emacs with AUCTeX:
```emacs-lisp
;; Automatically revert a buffer when the corresponding file on disk is updated.
(global-auto-revert-mode 1)
(setq auto-revert-use-notify nil)
;; Automatically save the buffer to disk periodically.
(use-package real-auto-save
:hook ((TeX-mode python-mode) . real-auto-save-mode)
:config
(setq real-auto-save-interval 5) ;; in seconds
)
;; After the buffer is changed and saved to disk, run latexmk on the
;; corresponding file immediately.
;;See ~/.latexmkrc for correspoding configuration
(use-package smart-compile
:init
(declare-function smart-compile-string "smart-compile")
(defun run-latexmk ()
(when (string-match ".tex$" (buffer-file-name))
(let ((buf (get-buffer "*Background TeX proccess*")))
(if (bufferp buf) (kill-buffer buf))) ;; flush previous log
(start-process-shell-command
"Background TeX" "*Background TeX proccess*"
;; use an external application as the previewer
;;(smart-compile-string "latexmk -pv %f")
;; use pdf-tools
(smart-compile-string "latexmk %f")
)))
(define-minor-mode AutoTeX-mode
"Mode for compiling latex sources and creating PDFs after saving."
:global nil
:lighter " Auto"
(if AutoTeX-mode
(add-hook 'after-save-hook 'run-latexmk t t)
(remove-hook 'after-save-hook 'run-latexmk t)))
:hook (LaTeX-mode . (lambda () (AutoTeX-mode 1)))
)
```
Though the above method works, I meet a problem when the project LaTeX
files are large to some extent. To be more specific, when the project
is large to a certain extent, the compilation time of latexmk will be
relatively long, which may lead to the following race condition: When
the previous latexmk process has not ended, the subsequent latexmk
process is launched again.
Any hints for fixing this problem?
Regards
--
Assoc. Prof. Hongyi Zhao <hongyi.zhao@gmail.com>
Theory and Simulation of Materials
Hebei Vocational University of Technology and Engineering
No. 473, Quannan West Street, Xindu District, Xingtai, Hebei province
- Detect latexmk is running on currently buffer.,
Hongyi Zhao <=