From: Anthony Cowley <acowley@gmail.com>
To: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Cc: "Emacs-orgmode@gnu.org" <emacs-orgmode@gnu.org>
Subject: Re: latex src block file output
Date: Sat, 03 Dec 2016 14:50:10 -0500 [thread overview]
Message-ID: <m2eg1oztal.fsf@gmail.com> (raw)
In-Reply-To: <87mvgdcuvc.fsf@nicolasgoaziou.fr>
Nicolas Goaziou writes:
> Hello,
>
> Anthony Cowley <acowley@gmail.com> writes:
>
>> When I hit C-c C-c on a latex src block with a :file header,
>> I ultimately get an error from org-compile-file that the expected
>> output file in a temp directory was not produced. However, the file is
>> produced in the current directory.
>>
>> For instance, evaluating the src block in the following Org document,
>>
>> * A Little Diagram
>>
>> #+BEGIN_SRC latex :file diagram.pdf :packages '(("" "tikz")) :border 1em
>> \usetikzlibrary{shapes,arrows}
>> \begin{tikzpicture}[->, auto, node distance=3cm]
>> \node [draw] (A) {A};
>> \node [ellipse, draw, right of=A] (B) {B};
>> \path (A) edge node {message} (B);
>> \end{tikzpicture}
>> #+END_SRC
>>
>>
>> Gives me the error,
>>
>> Debugger entered--Lisp error: (error "File \"/var/folders/n6/0j2z684n2pq_0d5kphzzvjs80000gn/T/babel-7327204x/latex-73272sec.pdf\" wasn’t produced. See \"*Org PDF LaTeX Output*\" for details")
>
> I cannot reproduce it. What Org version are you using? What is the value
> of `org-latex-pdf-process'?
Hi Nicolas, the org version I included in that original email was:
Org mode version 9.0.1 (9.0.1-elpaplus @ /Users/acowley/.emacs.d/elpa/org-plus-contrib-20161118/)
However I have since fixed the issue I was having. The problem was three-fold:
- My `org-latex-pdf-process` was a call to latexmk that did /not/ set `-outdir`. This was fine for exporting a document as LaTeX as all the work happened in the one directory, but evaluating a LaTeX src block involves a temporary directory.
- The value substituted for the `%o` placeholder in `org-latex-pdf-process` included a trailing slash which prevented it from working due to a double slash appearing in constructed paths (looking at my notes, I seem to have removed this parameter because of this problem). I now set `-outdir` to the output of a sub-shell that pipes `%o` through sed to remove the trailing slash.
- I still encountered an error when evaluating the src block even though the PDF was being produced. The error was during cleanup of temporary files, specifically a .log file. The failure to delete a nonexistent file was stopping the Org machinery that would next insert the result in my document. I addressed this by changing the second parameter of the call to `directory-files` in the `org-latex-compile` function from `nil` to `t` so that it would return absolute paths.
Since making those three changes, I am able to evaluate LaTeX src blocks and have the resulting figures appear in my Org document.
Thanks for all the hard work, and sorry I didn't follow up on my own report more promptly.
Anthony
prev parent reply other threads:[~2016-12-03 19:50 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-30 19:01 latex src block file output Anthony Cowley
2016-12-03 7:52 ` Nicolas Goaziou
2016-12-03 19:50 ` Anthony Cowley [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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m2eg1oztal.fsf@gmail.com \
--to=acowley@gmail.com \
--cc=emacs-orgmode@gnu.org \
--cc=mail@nicolasgoaziou.fr \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.