Dear John, Thanks very much for your help. I have tried your code but nothing happened. However, I think it is close to my remand. I have some questions about your code: 1. When should this command be called? Don't I need to call it before the org-latex-pdf-process? 2. I use xelatex to render my .tex files. Because xelatex can not recognize the boundingbox of both .png and .pdf, so I need to generate .ebb for them in seperate folders, which are PNG and PDF folders respectively. so i think you did not mention them? I am studying elisp now, but your code is really difficult for me, so can you help me dig in? Best regard! On Fri, Apr 25, 2014 at 10:54 PM, John Kitchin wrote: > This is how I do what I think you are describing. I just take off the > extension, and let (pdf)latex pick the extension it wants. > > (defun ox-manuscript-remove-image-extensions () > "Removes .png extensions from \includegraphics directives in an exported latex file. > > > > > Run this from an org-buffer after you have exported it to a LaTeX file" > (interactive) > (let* ((org-file (file-name-nondirectory (buffer-file-name))) > (tex-file (replace-regexp-in-string "org$" "tex" org-file)) > (tex-contents (with-temp-buffer (insert-file-contents tex-file) (buffer-string)))) > > > > (message tex-file) > (with-temp-file tex-file (insert (replace-regexp-in-string > > > > (concat "\\(\\includegraphics" > "\\(\[?[^\].*\]?\\)?\\)" ;; match optional [stuff] > > > > "{\\([^}].*\\)\.\\(png\\)}") > "\\1{\\3}" tex-contents))))) > > > > > > John > > ----------------------------------- > John Kitchin > Associate Professor > Doherty Hall A207F > Department of Chemical Engineering > Carnegie Mellon University > Pittsburgh, PA 15213 > 412-268-7803 > http://kitchingroup.cheme.cmu.edu > > > > On Thu, Apr 24, 2014 at 8:46 AM, Leu Zhe wrote: > >> I am using org-mode to write some article now. Org-mode is really a >> great tool to outline a article with great table and image support. >> >> Org-mode can display inline .png image but not .pdf file. Because now >> org-mode can not control the width or height of shown inline image, so i >> use matplotlib to produce low dpi .png image in PNG folder for inline >> display and higher dpi pdf image in PDF folder for finally article export. >> >> In .org file, the image link is like [[file:PNG\*.png]] and >> \includegraphics{PNG\*.png}in the produced .tex file. Then emacs will >> use org-latex-pdf-process to render it to pdf file. What I want is that >> before or in org-latex-pdf-process, a regexp replace function is added >> to replace the \includegraphics{PDF\*.pdf}, and then produce the final >> pdf file. >> >> Can anyone give a hand? >> > >