[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Supporting LatexMK in AUCTeX OOTB
From: |
Arash Esbati |
Subject: |
Re: Supporting LatexMK in AUCTeX OOTB |
Date: |
Sat, 30 Mar 2024 11:36:05 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Hi Basil,
"Basil L. Contovounesios" <basil@contovou.net> writes:
> Arash Esbati [2024-03-28 13:09 +0100] wrote:
>
> Indeed, with the exception of important bugs which can be fixed at
> https://github.com/emacsmirror/auctex-latexmk (this is the fork/mirror
> that MELPA serves).
Thanks for your response and the pointer.
>> What do others think? Is there a market for this addition?
>
> Personally I think it would be neat to have this built-in, but I'm not a
> market.
;-) I hope you know that I didn't mean it like that.
>> Can you imagine helping us with this addition?
>
> I'd be more than happy to, but I'm not sure I'll be able to find the
> time in the next couple of weeks, so if anyone else is motivated to work
> on it in the meantime, feel free.
Great, thanks. I was thinking about something like this:
--8<---------------cut here---------------start------------->8---
diff --git a/tex.el b/tex.el
index 053a0ade..abb5fcd7 100644
--- a/tex.el
+++ b/tex.el
@@ -250,6 +250,8 @@ If nil, none is specified."
("Ps2pdf" "ps2pdf %f %(O?pdf)" TeX-run-ps2pdf nil
(plain-TeX-mode LaTeX-mode docTeX-mode AmSTeX-mode Texinfo-mode)
:help "Convert PostScript file to PDF")
+ ("LaTeXMK" "latexmk %(latexmk-out) %(file-line-error) %`%(extraopts)
%S%(mode)%' %t"
+ TeX-run-format nil (LaTeX-mode docTeX-mode) :help "Run LaTeXMK")
("Glossaries" "makeglossaries %(d-dir) %s" TeX-run-command nil
(plain-TeX-mode LaTeX-mode docTeX-mode AmSTeX-mode Texinfo-mode)
:help "Run makeglossaries to create glossary file")
@@ -672,7 +674,41 @@ string."
;; Okular forward PDF search requires absolute path.
("%a" (lambda nil (prin1-to-string (expand-file-name (buffer-file-name)))))
;; the following is for preview-latex.
- ("%m" preview-create-subdirectory))
+ ("%m" preview-create-subdirectory)
+ ;; LaTeXMK support: Handling of Dvipdfmx in DVI mode is still open:
+ ("%(latexmk-out)"
+ (lambda ()
+ (cond ((eq TeX-engine 'default)
+ ;; 'default TeX-engine:
+ (if (if TeX-PDF-mode
+ ;; We want to produce a pdf
+ ;; Return t if default compiler produces PDF,
+ ;; nil for "Dvips" or "Dvipdfmx"
+ (not (TeX-PDF-from-DVI))
+ ;; t if pdftex is used in dvi-mode
+ TeX-DVI-via-PDFTeX)
+ ;; We're using pdflatex in pdf-mode
+ " -pdflatex"
+ ;; We're generating a .dvi to process with dvips or
+ ;; dvipdfmx.
+ ;; FIXME: I don't know how latexmk handles this for
+ ;; dvipdfmx!
+ " -pdflatex -dvi -ps"))
+ ;; Running luatex in pdf or dvi-mode:
+ ((eq TeX-engine 'luatex)
+ (if TeX-PDF-mode
+ " -pdflua"
+ " -dvilua -ps"))
+ ;; Running xetex in any mode:
+ ((eq TeX-engine 'xetex)
+ " -xelatex")
+ ;; For anything else: This runs traditional latex, dvi, ps,
+ ;; pdf if needed.
+ ;; FIXME: "Dvipdfmx" might be missing.
+ (t
+ (if TeX-PDF-mode
+ " -pdfps"
+ " -ps"))))))
"List of built-in expansion strings for TeX command names.
This should not be changed by the user who can use
@@ -2200,7 +2236,8 @@ Must be the car of an entry in `TeX-command-list'."
"\\.glo" "\\.gls" "\\.idx" "\\.ilg" "\\.ind"
"\\.lof" "\\.log" "\\.lot" "\\.nav" "\\.out"
"\\.snm" "\\.toc" "\\.url" "\\.synctex\\.gz"
- "\\.bcf" "\\.run\\.xml" "\\.fls" "-blx\\.bib")
+ "\\.bcf" "\\.run\\.xml" "\\.fls" "-blx\\.bib"
+ "\\.fdb_latexmk")
"List of regexps matching suffixes of files to be cleaned.
Used as a default in TeX, LaTeX and docTeX mode.")
--8<---------------cut here---------------end--------------->8---
Again, I've never used LaTeXMK and maybe I misunderstood the options, so
I'm grateful for any comments.
Best, Arash