[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