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 <m...@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