Org-babel के साथ एक TikZ आकृति से PNG कैसे उत्पन्न करें?
मैं tikz कोड से चित्र बनाने के लिए org-babel का उपयोग करने का प्रयास कर रहा हूं।
पहला कोड ( इस उदाहरण से लें ) पूरी तरह से काम करता है, लेकिन जब y टिक को एक png (या एक jpg) में निर्यात करना चाहता है, तो मुझे एक त्रुटि है:
org-compile-file: File "/tmp/babel-RNLDyr/latex-o3rO8d.pdf" wasn’t produced. See "*Org PDF LaTeX Output*" for details
मुझे इस त्रुटि का कारण नहीं मिल रहा है और " ऑर्ग पीडीएफ लाटेक्स आउटपुट " बफर मौजूद नहीं है।
एक svg बनाने के लिए कोड का उपयोग (यह काम है):
#+HEADER: :file ./images/contour.svg :imagemagick yes
#+HEADER: :results output silent :headers '("\\usepackage{tikz}")
#+HEADER: :fit yes :imoutoptions -geometry 400 :iminoptions -density 600
#+BEGIN_src latex
\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
कोड का उपयोग पीएनजी बनाने के लिए (यह काम नहीं करता है):
#+HEADER: :file ./images/contour.png :imagemagick yes
#+HEADER: :results output silent :headers '("\\usepackage{tikz}")
#+HEADER: :fit yes :imoutoptions -geometry 400 :iminoptions -density 600
#+BEGIN_src latex
\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
जवाब
मैं निम्नलिखित न्यूनतम प्रतिलिपि प्रस्तुत करने योग्य उदाहरण के साथ TikZ की एक PNG छवि उत्पन्न करने में सक्षम था।
नीचे दिखाए गए GIF में, आप देख सकते हैं कि मैं ध्वज emacs
का उपयोग करके -Q
और main.el
फ़ाइल में मौजूद लिस्प कोड लोड करके निष्पादित करता हूं । छवि main.org
किसी भी समस्या के बिना फ़ाइल से उत्पन्न होती है।
निम्न कोड ब्लॉक main.org
फ़ाइल की सामग्री को दर्शाता है
#+LATEX_HEADER: \usepackage{tikz}
#+begin_src latex :file main.png :results file graphics
\begin{tikzpicture}
\draw node[circle, draw] (a) {$a$}
node[circle, draw, right of = a] (b) {$b$}
node[circle, draw, below of = a] (c) {$c$}
node[circle, draw, below of = b] (d) {$d$};
\end{tikzpicture}
#+end_src
निम्न कोड ब्लॉक main.el
फ़ाइल की सामग्री को दर्शाता है
; The following configuration sets the font (demostration purposes)
(set-frame-font "Iosevka SS04 Light 30")
; The following configuration make Org Mode use imagemagick for processing images.
;
; This was retrieved from this question (https://emacs.stackexchange.com/questions/60696) I posted.
(setq org-preview-latex-default-process 'imagemagick)
; The following configuration disables the confirmation prompt whenever code blocks are evaluated.
(setq org-confirm-babel-evaluate nil)
; The following hook make images to be shown after code blocks are executed.
(add-hook 'org-babel-after-execute-hook 'org-redisplay-inline-images)
; The following configuration allows code blocks whose language is latex to be evaluated
(org-babel-do-load-languages 'org-babel-load-languages
'((latex . t)))