From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony Cowley Subject: Re: latex src block file output Date: Sat, 03 Dec 2016 14:50:10 -0500 Message-ID: References: <87mvgdcuvc.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:47172) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cDGK7-0003Y1-KQ for emacs-orgmode@gnu.org; Sat, 03 Dec 2016 14:50:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cDGK4-00061q-IK for emacs-orgmode@gnu.org; Sat, 03 Dec 2016 14:50:15 -0500 Received: from mail-qt0-x233.google.com ([2607:f8b0:400d:c0d::233]:34255) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cDGK4-00060D-Bj for emacs-orgmode@gnu.org; Sat, 03 Dec 2016 14:50:12 -0500 Received: by mail-qt0-x233.google.com with SMTP id n6so282065886qtd.1 for ; Sat, 03 Dec 2016 11:50:11 -0800 (PST) In-reply-to: <87mvgdcuvc.fsf@nicolasgoaziou.fr> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Nicolas Goaziou Cc: "Emacs-orgmode@gnu.org" Nicolas Goaziou writes: > Hello, > > Anthony Cowley 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