emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Eric Schulte <schulte.eric@gmail.com>
To: Anders Johansson <mejlaandersj@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: Bug: ob-ditaa fails in generating pdf correctly
Date: Fri, 06 Jun 2014 12:22:48 -0400	[thread overview]
Message-ID: <87iooeezar.fsf@gmail.com> (raw)
In-Reply-To: 537E177E.9010906@gmail.com

Anders Johansson <mejlaandersj@gmail.com> writes:

> Hi,
> Example input:
> #+header: :eps t
> #+header: :file hello.pdf
> #+BEGIN_SRC ditaa
> +--------------+
> |              |
> |    Hello     |
> |              |
> +--------------+
> #+END_SRC
>
>
> When using the above code (which I guessed should be the correct way) 
> with ob-ditaa to produce a pdf (through  DitaaEps -> epstopdf) it fails 
> in producing the pdf correctly and instead writes an eps to "hello.pdf". 
> This isn't surprising, looking at the code where "cmd" should be 
> constructed to produce the eps as an intermediary file in /tmp (which is 
> expected in the construction of pdf-cmd) but doesn't.
>
> An ugly patch to fix it is attached

Applied.

> (this is ugly because it repeats the line:
> (org-babel-process-file-name (concat in-file ".eps")) )
>

I un-duplicated this line.

Thanks,

>
> Cheers,
> Anders Johansson
>
> --- "/home/aj/H\303\244mtningar/ob-ditaa.el"	2014-05-22 17:15:35.489071991 +0200
> +++ ob-ditaa.el	2014-05-22 17:08:46.617089186 +0200
> @@ -90,6 +90,12 @@
>  	 (java (cdr (assoc :java params)))
>  	 (in-file (org-babel-temp-file "ditaa-"))
>  	 (eps (cdr (assoc :eps params)))
> +	 (pdf-cmd (when (and (or (string= (file-name-extension out-file) "pdf")
> +				 (cdr (assoc :pdf params))))
> +		    (concat
> +		     "epstopdf"
> +		     " " (org-babel-process-file-name (concat in-file ".eps"))
> +		     " -o=" (org-babel-process-file-name out-file))))
>  	 (cmd (concat org-babel-ditaa-java-cmd
>  		      " " java " " org-ditaa-jar-option " "
>  		      (shell-quote-argument
> @@ -97,13 +103,10 @@
>  			(if eps org-ditaa-eps-jar-path org-ditaa-jar-path)))
>  		      " " cmdline
>  		      " " (org-babel-process-file-name in-file)
> -		      " " (org-babel-process-file-name out-file)))
> -	 (pdf-cmd (when (and (or (string= (file-name-extension out-file) "pdf")
> -				 (cdr (assoc :pdf params))))
> -		    (concat
> -		     "epstopdf"
> -		     " " (org-babel-process-file-name (concat in-file ".eps"))
> -		     " -o=" (org-babel-process-file-name out-file)))))
> +		      " " (if pdf-cmd
> +					  (org-babel-process-file-name (concat in-file ".eps"))
> +					  (org-babel-process-file-name out-file))))
> +	 )
>      (unless (file-exists-p org-ditaa-jar-path)
>        (error "Could not find ditaa.jar at %s" org-ditaa-jar-path))
>      (with-temp-file in-file (insert body))

-- 
Eric Schulte
https://cs.unm.edu/~eschulte
PGP: 0x614CA05D (see https://u.fsf.org/yw)

      reply	other threads:[~2014-06-06 17:14 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-22 15:27 Bug: ob-ditaa fails in generating pdf correctly Anders Johansson
2014-06-06 16:22 ` Eric Schulte [this message]

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=87iooeezar.fsf@gmail.com \
    --to=schulte.eric@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=mejlaandersj@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).