John, thanks you very much. Your code really satisfies my demand. I plan to use your function to replace org-export. Thanks again, and thanks Nick for your explanation. Best regards. On Sat, Apr 26, 2014 at 1:56 AM, John Kitchin wrote: > You first export your org-file to latex. the function I sent assumes the > tex file has the same basename as the org-file, and ends in .tex. > > Then, with your org-file as the current buffer, call that function. It > will modify the latex file by replacing your \includegraphics lines with > the equivalent line minus the .png. > > then you need to manually build the latex file if you want the pdf. > > I am not sure what an ebb file is, or what the difference in latex vs > xelatex is. > > https://github.com/jkitchin/jmax/blob/master/ox-manuscript.el > > 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 Fri, Apr 25, 2014 at 11:23 AM, Leu Zhe wrote: > >> 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? >>>> >>> >>> >> >