emacs-orgmode
[Top][All Lists]
Advanced

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

Re: File generation from LaTeX src fails due to temporary PDF in wrong d


From: Christian Moe
Subject: Re: File generation from LaTeX src fails due to temporary PDF in wrong directory
Date: Wed, 29 Mar 2023 23:15:03 +0200
User-agent: mu4e 1.2.0; emacs 27.2

Hi,

Pardon the noise: It turned out to be a pretty obvious problem with my
setup that has now been resolved.

I had modified org-latex-pdf-process to use xelatex, and for some reason
my setup lacked the =-output-directory %o= switch. I should probably
have thought of that first, but the omission has had no ill effects on
ordinary PDF export, so I didn't run into any problem before trying to
use Babel with LaTeX.

Ihor and Pedro, thanks for checking.

Chris, I don't know why your attempts fail, but I'll be trying similar
things over the next days, so maybe I'll come back to you.

Yours,
Christian


chris writes:

> On Wednesday, 29 March 2023 10:00:35 CEST Pedro Andres Aranda Gutierrez wrote:
>> On Tue, 28 Mar 2023 10:04:24 +0200, Christian Moe <mail@christianmoe.com> 
>> wrote
>> Hi,
>>
>> > I'm trying and failing to export images from TikZ code, apparently
>> > because the temporary PDF is misplaced. Here is a minimal example just
>> > exporting the PDF:
>>
>> > #+LATEX_HEADER: \usepackage{tikz}
>> >
>> > #+header: :fit yes
>> > #+begin_src latex :exports results :file ./test-tikz-triangle.png
>> > \begin{tikzpicture}             %
>> > \draw[draw=black, fill=blue!10] (0,4) -- (3,0) -- (-3,0) -- cycle;
>> > \end{tikzpicture}
>> > #+end_src
>>
>> > Execution fails with an error message like this:
>> >
>> > org-compile-file: File "/tmp/babel-Tay2kl/latex-IJVI84.pdf" wasn’t
>> > produced.  See "*Org PDF LaTeX Output*" for details
>>
>> Hi Christian,
>> trying to reproduce this on a master (emacs30.0.50) on Ubuntu. To make it 
>> really
>> lightweight, I'm starting with
>> emacs -Q
>> but unfortunately, I'm not able to reproduce it here :(
>
> Hi, I've been trying to have a similar example working for hours, 
> specifically I was trying to follow 
> https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-LaTeX.html[1]
>
> Could you provide more context because if I run emacs -Q here, with the 
> example provided by OP, and type C-c C-c, I just get "no org-babel execute 
> function for latex!".
> So I guess it might have required a little more work than what I've just 
> described.
>
> Here is the setting I've used:
>
> This in my dot-emacs.org file:
> #+begin_src emacs-lisp
>   (with-eval-after-load 'org
>       (add-to-list 'org-latex-packages-alist '("" "stmaryrd" t))
>       (add-to-list 'org-latex-packages-alist '("" "tikz-cd" t))
>       (add-to-list 'org-latex-packages-alist '("" "amscd" t))
>       (add-to-list 'org-latex-packages-alist '("" "mathtools" t))
>       (add-to-list 'org-latex-packages-alist '("" "unicode-math" t))
>       ;; (add-to-list 'org-latex-packages-alist '("" "breqn" t))
>       (add-to-list 'org-latex-packages-alist '("" "thisisastupidtestfile" t))
>       (setq org-latex-create-formula-image-program 'dvisvgm) ;; probably only 
> this line is relevant with the matter at hand
>       (setq org-format-latex-options
>             (plist-put org-format-latex-options :scale 0.80)))
> #+end_src
>
> With this, when I put the following in some org file and type C-c C-x C-l I 
> immediately get a org-latex-preview of the tikz snippet:
> \begin{tikzpicture}             %
>   \draw[->] (-3,0) -- (-2,0) arc[radius=0.5cm,start angle=-180,end angle=0]
>   (-1,0) -- (1,0) arc[radius=0.5cm,start angle=180,end angle=0] (2,0) -- 
> (3,0);
>   \filldraw (-1.5,0) circle[radius=1mm];
>   \filldraw (1.5,0) circle[radius=1mm];
> \end{tikzpicture}
>
> Now If I use the following and type C-c C-c, I never get anything in multiple 
> ways:
> Note that I've also tried with imagemagick...
> #+name: test_plot_png
> #+header: :exports results :file test.svg
> #+header: :dvisvgm yes
> #+header: :fit yes :noweb yes :headers '("\\usepackage{tikz}")
> #+begin_src latex :file test.svg
>   \begin{tikzpicture}             %
>     \draw[->] (-3,0) -- (-2,0) arc[radius=0.5cm,start angle=-180,end angle=0]
>     (-1,0) -- (1,0) arc[radius=0.5cm,start angle=180,end angle=0] (2,0) -- 
> (3,0);
>     \filldraw (-1.5,0) circle[radius=1mm];
>     \filldraw (1.5,0) circle[radius=1mm];
>   \end{tikzpicture}
> #+end_src
>
> Many times a pdf is generated in the /tmp/ directory but that pdf is 
> gibberish. When I go from the latex file to the pdf using pdflatex, only 
> gibberish pdf is generated, no relation with the image that should be 
> generated.
> If instead I use lualatex, the pdf is correctly generated.
> Anyway, I've been experimenting for hours, and I have no idea how to have the 
> thing working.
>
> I also used that code someone gave me:
> #+begin_src emacs-lisp
>   (set-variable 'org-preview-latex-process-alist
>                     '((dvipng :programs ; Was here originally.
>                               ("latex" "dvipng")
>                               :description "dvi > png" :message "you need to 
> install the programs: latex and dvipng." :image-input-type "dvi" 
> :image-output-type "png" :image-size-adjust
>                               (1.0 . 1.0)
>                               :latex-compiler
>                               ("latex -interaction nonstopmode 
> -output-directory %o %f")
>                               :image-converter
>                               ("dvipng -D %D -T tight -o %O %f"))
>                       (dvisvgm :programs ; Was here originally.
>                                ("latex" "dvisvgm")
>                                :description "dvi > svg" :message "you need to 
> install the programs: latex and dvisvgm." :image-input-type "dvi" 
> :image-output-type "svg" :image-size-adjust
>                                (1.7 . 1.5)
>                                :latex-compiler
>                                ("latex -interaction nonstopmode 
> -output-directory %o %f")
>                                :image-converter
>                                ("dvisvgm %f -n -b min -c %S -o %O"))
>                       (imagemagick :programs ; The recommended "new" way.
>                                    ("latex" "convert")
>                                    :description "pdf > png" :message "you 
> need to install the programs: latex and imagemagick." :image-input-type "pdf" 
> :image-output-type "png" :image-size-adjust
>                                    (1.0 . 1.0)
>                                    :latex-compiler
>                                    ("lualatex -interaction nonstopmode 
> -output-directory %o %f")
>                                    :image-converter
>                                    ("convert -density %D -trim -antialias %f 
> -quality 100 %O"))))
> #+end_src
>
> No luck at all there neither.
>
> BTW, when I do C-c C-c on the OP example, after having evaluated
> #+begin_src emacs-lisp
>   (org-babel-do-load-languages
>    'org-babel-load-languages
>    '((latex . t)))
> #+end_src
>
> No pdf, no output, only an empty latex file generated in /tmp
>
>
> Bottom line, I'd really like to know how this hole thing is supposed to work.
> org-preview latex working perfectly fine though.
>
> Note: The reason I want to have this working is that I want to export to 
> html. Plain latex formula are displayed very very well using mathjax. But 
> TiKz things are not working.
> So even though I've got a near wysiwyg in emacs, I can't have that exported 
> to html.
> What I'd like to have is plain latex formulas exported to mathjax and tikz 
> diagrams exported using the SVG image.
> Initially my setting wasn't even using imagemagick, only dvisvgm.
>
> Also it seems we have three ways to do the exact same thing:
> org-latex-preview which works perfectly with minimal effort on my box,
> the C-c C-c thing,
> and the org-html-export-to-html thing.
> Each using independent workflow. Though probably not completely independent 
> though.
>
> My emacs is master from a month ago.
>
> Cheers,
> Chris
>
>
>
>>
>> My emacs:
>>
>> GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.33,
>>  cairo version 1.16.0) of 2023-03-26
>>
>> Would you please try again, calling with emacs -Q and giving a couple
>> clues more of your process to confirm... It may be that I'm too modern
>> ;-)
>>
>> Thx, /Pedro A.
>>
>>
>
>
>
> --------
> [1] https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-LaTeX.html



reply via email to

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