emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] latex src block file output


From: Anthony Cowley
Subject: Re: [O] latex src block file output
Date: Sat, 03 Dec 2016 14:50:10 -0500
User-agent: mu4e 0.9.16; emacs 25.1.2

Nicolas Goaziou writes:

> Hello,
>
> Anthony Cowley <address@hidden> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]