emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/auctex 7371b46 07/48: Add support for dvipdfmx to \incl


From: Tassilo Horn
Subject: [elpa] externals/auctex 7371b46 07/48: Add support for dvipdfmx to \includegraphics
Date: Sun, 16 Sep 2018 01:47:20 -0400 (EDT)

branch: externals/auctex
commit 7371b4617346d6f77fed2e916acd5b794743a733
Author: Ikumi Keita <address@hidden>
Commit: Ikumi Keita <address@hidden>

    Add support for dvipdfmx to \includegraphics
    
    * style/graphicx.el (LaTeX-includegraphics-extensions-list): Add
    support for dvipdfmx.
    * tests/latex/latex-test.el (LaTeX-includegraphics-extensions): New
    test to check whether correct extensions are generated.
---
 style/graphicx.el         | 15 +++++++--
 tests/latex/latex-test.el | 86 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 98 insertions(+), 3 deletions(-)

diff --git a/style/graphicx.el b/style/graphicx.el
index 94ec51c..bb89b13 100644
--- a/style/graphicx.el
+++ b/style/graphicx.el
@@ -124,8 +124,11 @@ Return value is a list of regexps."
                        temp))
             ;; We're generating a .dvi to process with dvips or dvipdfmx
             (progn
-              (dolist (x '("jpe?g" "pdf" "png"))
-                (setq temp (delete x temp)))
+              ;; dvipdfmx can handle jpeg, pdf and png for image formats.
+              (unless (and TeX-PDF-mode
+                           (string= (TeX-PDF-from-DVI) "Dvipdfmx"))
+                (dolist (x '("jpe?g" "pdf" "png"))
+                  (setq temp (delete x temp))))
               (TeX-delete-duplicate-strings
                (append LaTeX-includegraphics-dvips-extensions
                        temp)))))
@@ -148,7 +151,13 @@ Return value is a list of regexps."
                    temp)))
          ;; For anything else
          (t
-          temp))))
+          (if (and TeX-PDF-mode
+                   (string= (TeX-PDF-from-DVI) "Dvipdfmx"))
+              ;; dvipdfmx can handle the same image formats as dvips.
+              (TeX-delete-duplicate-strings
+               (append LaTeX-includegraphics-dvips-extensions
+                       temp))
+            temp)))))
 
 (defun LaTeX-includegraphics-extensions (&optional list)
   "Return appropriate extensions for input files to \\includegraphics.
diff --git a/tests/latex/latex-test.el b/tests/latex/latex-test.el
index a2dc565..78d2341 100644
--- a/tests/latex/latex-test.el
+++ b/tests/latex/latex-test.el
@@ -162,4 +162,90 @@ backend=biber % here is a comment
     (should (LaTeX-provided-package-options-member
             "biblatex" "backend=biber"))))
 
+(ert-deftest LaTeX-includegraphics-extensions ()
+  "Check correct extensions are generated accoding to `TeX-engine'."
+  (with-temp-buffer
+    (LaTeX-mode)
+    (TeX-load-style "graphicx")
+    (let (TeX-engine TeX-PDF-mode TeX-PDF-from-DVI
+                    TeX-PDF-via-dvips-ps2pdf TeX-DVI-via-PDFTeX)
+      ;; tests for default engine
+      (setq TeX-engine 'default)
+      ;; default 1
+      (setq TeX-PDF-mode t
+           TeX-PDF-from-DVI nil
+           TeX-DVI-via-PDFTeX nil)
+      (should
+       (equal (sort (LaTeX-includegraphics-extensions-list) #'string<)
+             (sort '("png" "pdf" "jpe?g" "jbig2" "jb2" "mps"
+                     "PNG" "PDF" "JPE?G" "JBIG2" "JB2" "eps") #'string<)))
+      ;; default 2
+      (setq TeX-PDF-mode t
+           TeX-PDF-from-DVI "Dvips"
+           TeX-DVI-via-PDFTeX nil)
+      (should
+       (equal (sort (LaTeX-includegraphics-extensions-list) #'string<)
+             (sort '("eps" "mps" "EPS") #'string<)))
+      ;; default 3
+      (setq TeX-PDF-mode nil
+           TeX-PDF-from-DVI nil
+           TeX-DVI-via-PDFTeX nil)
+      (should
+       (equal (sort (LaTeX-includegraphics-extensions-list) #'string<)
+             (sort '("eps" "mps" "EPS") #'string<)))
+      ;; default 4
+      (setq TeX-PDF-mode nil
+           TeX-PDF-from-DVI nil
+           TeX-DVI-via-PDFTeX t)
+      (should
+       (equal (sort (LaTeX-includegraphics-extensions-list) #'string<)
+             (sort '("png" "pdf" "jpe?g" "jbig2" "jb2" "mps"
+                     "PNG" "PDF" "JPE?G" "JBIG2" "JB2" "eps") #'string<)))
+      ;; default 5
+      (setq TeX-PDF-mode t
+           TeX-PDF-from-DVI "Dvipdfmx"
+           TeX-DVI-via-PDFTeX nil)
+      (should
+       (equal (sort (LaTeX-includegraphics-extensions-list) #'string<)
+             (sort '("eps" "mps" "EPS" "jpe?g" "pdf" "png") #'string<)))
+
+      ;; tests for luatex engine
+      (setq TeX-engine 'luatex)
+      ;; luatex 1
+      (setq TeX-PDF-mode t)
+      (should
+       (equal (sort (LaTeX-includegraphics-extensions-list) #'string<)
+             (sort '("png" "pdf" "jpe?g" "jbig2" "jb2" "mps"
+                     "PNG" "PDF" "JPE?G" "JBIG2" "JB2" "eps") #'string<)))
+      ;; luatex 2
+      (setq TeX-PDF-mode nil)
+      (should
+       (equal (sort (LaTeX-includegraphics-extensions-list) #'string<)
+             (sort '("eps" "mps" "EPS") #'string<)))
+
+      ;; test for xetex engine
+      (setq TeX-engine 'xetex)
+      (should
+       (equal (sort (LaTeX-includegraphics-extensions-list) #'string<)
+             (sort '("pdf" "eps" "mps" "ps" "png" "jpe?g" "jp2" "jpf"
+                     "PDF" "EPS" "MPS" "PS" "PNG" "JPE?G" "JP2" "JPF"
+                     "bmp" "pict" "psd" "mac" "tga" "gif" "tif" "tiff"
+                     "BMP" "PICT" "PSD" "MAC" "TGA" "GIF" "TIF" "TIFF")
+                   #'string<)))
+
+      ;; test for other engine
+      (setq TeX-engine 'omega)
+      ;; other 1
+      (setq TeX-PDF-mode t
+           TeX-PDF-from-DVI "Dvipdfmx")
+      (should
+       (equal (sort (LaTeX-includegraphics-extensions-list) #'string<)
+             (sort '("eps" "mps" "EPS" "jpe?g" "pdf" "png") #'string<)))
+      ;; other 2
+      (setq TeX-PDF-mode nil
+           TeX-PDF-from-DVI nil)
+      (should
+       (equal (sort (LaTeX-includegraphics-extensions-list) #'string<)
+             (sort '("eps" "jpe?g" "pdf" "png") #'string<))))))
+
 ;;; latex-test.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]