emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: John Kitchin <jkitchin@andrew.cmu.edu>
To: Leu Zhe <lzhes43@gmail.com>
Cc: "emacs-orgmode@gnu.org" <emacs-orgmode@gnu.org>
Subject: Re: To interrupt org-latex-pdf-process to regexp-replace some string of the .tex intermediate file and continue to export
Date: Fri, 25 Apr 2014 12:56:25 -0400	[thread overview]
Message-ID: <CAJ51ETq9i58yA3FOWfYudxXdGD3LgaHb7r4ACUi6-TPnhUpT5w@mail.gmail.com> (raw)
In-Reply-To: <CALjq+LYzkn224e_FLvRVtGphnWPWuSTQ8gZjT_eLUa_uVsxDMA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 4049 bytes --]

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 <lzhes43@gmail.com> 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 <jkitchin@andrew.cmu.edu>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 <lzhes43@gmail.com> 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?
>>>
>>
>>
>

[-- Attachment #2: Type: text/html, Size: 9642 bytes --]

  reply	other threads:[~2014-04-25 16:56 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-24 12:46 To interrupt org-latex-pdf-process to regexp-replace some string of the .tex intermediate file and continue to export Leu Zhe
2014-04-25 12:29 ` Feng Shu
2014-04-25 13:54 ` John Kitchin
2014-04-25 15:23   ` Leu Zhe
2014-04-25 16:56     ` John Kitchin [this message]
2014-04-26  6:06       ` Kyutech
2014-04-25 17:06     ` Nick Dokos
2014-04-25 23:17       ` John Kitchin
  -- strict thread matches above, loose matches on Subject: below --
2014-04-25 15:28 Leu Zhe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAJ51ETq9i58yA3FOWfYudxXdGD3LgaHb7r4ACUi6-TPnhUpT5w@mail.gmail.com \
    --to=jkitchin@andrew.cmu.edu \
    --cc=emacs-orgmode@gnu.org \
    --cc=lzhes43@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).