2011-09-19 16 views
5

मेरे पास स्रोत, दस्तावेज़ीकरण और लेटेक्स कोड के साथ एक संगठन फ़ाइल है। लेटेक्स सामान ग्राफों का एक गुच्छा खींचता है जो बताता है कि कैसे कार्य एक दूसरे के साथ बातचीत करते हैं। जब एचटीएमएल निर्यात का उपयोग करने,संगठन मोड एचटीएमएल निर्यात

http://orgmode.org/manual/LaTeX-fragments.html

ऑर्ग मोड अनुसार छवियों के रूप में लेटेक्स कोड निर्यात कर लेना चाहिए।

#+TITLE: Test 
#+AUTHOR: Blah 
#+LATEX_HEADER: \usepackage{tikz} 
#+OPTIONS: LaTeX:dvipng 

#+begin_latex 

    \begin{tikzpicture} 
    \draw (1,0) -- (0,1) -- (-1,0) -- (0,-1) -- cycle; 
    \end{tikzpicture} 

#+end_latex 

से ऊपर अगर मैं पीडीएफ निर्यात उपयोग करती हैं इसलिए मेरी लेटेक्स सेटअप भी काम कर रहा है dvipng काम करता है अपने सिस्टम पर मौजूद है, लेकिन जब एचटीएमएल लेटेक्स ब्लॉक के लिए निर्यात पूरी तरह से नजरअंदाज कर दिया है।

+1

मुझे आश्चर्य है कि आप एचटीएमएल निर्यातक से क्या उम्मीद करते हैं। – kindahero

+1

@किंडाहेरो, मुझे निश्चित रूप से यह मुझे एक कप कॉफी बनाने की उम्मीद नहीं है, लेकिन मुझे उम्मीद है कि यह ग्राफ को डीवीपिंग के साथ प्रस्तुत करे और इसे HTML में एम्बेड करें। –

+0

तो मुझे लगता है कि आपको बेबेल http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-LaTeX.html – kindahero

उत्तर

2

मैं tikzpicture ब्लॉक काम कर रहा है, लेकिन #+begin_latex और #+end_latex उपयोग नहीं किया जाना चाहिए, के रूप में संगठन-मोड प्रलेखन के लिए अपने लिंक में कहा, केवल \begin{...} LATEX_CODE end{...} आवश्यक है बनाने के लिए सक्षम नहीं था।

यह स्निपेट काम करना चाहिए।

#+OPTIONS:  LaTeX:dvipng 
* Test 
    Blah 

    \begin{equation}       % arbitrary environments, 
    x=\sqrt{b}        % even tables, figures 
    \end{equation}       % etc 

    If $a^2=b$ and \(b=2 \), then the solution must be either $$ 
    a=+\sqrt{2} $$ or \[ a=-\sqrt{2} \]. 

    Done ! 
3

dvipng tikz को संभाल नहीं करता है। मैं निम्नलिखित खोल स्क्रिप्ट के साथ dvipng की जगह मेरी स्थापना पर इस के आसपास काम किया है:

#! /bin/bash 
shift 
shift 
dvips $9 
gm convert -trim $9 ${9/dvi/png} 

अब, मैं सी-एक्स सी सी सी एल के साथ एक tikz टुकड़ा का पूर्वावलोकन, या HTML को निर्यात कर सकते हैं। आदर्श समाधान नहीं है, लेकिन यह मेरे लिए काम करता है।

+0

इसका उपयोग करना चाहिए, या फिर भी आप एक ही कामकाज का उपयोग कर रहे हैं? मैं यह काम नहीं कर सकता। –

7

मैं एक tikz चित्र संगठन से HTML को निर्यात करने में सक्षम था (का उपयोग कर reveal.js करने के लिए, वास्तव में [ओआरजी-प्रकट] [1]) निम्नलिखित

#+OPTIONS: tex:imagemagick 
#+LaTeX_HEADER: \usepackage{tikz} 

* Slide Title 

\begin{tikzpicture} 
    \draw [blue,fill] (0,0) rectangle (5,3); 
    \draw [red,fill] (0,0) rectangle (3,2); 
\end{tikzpicture} 

मैं साथ ऑर्ग 8.2.5h से उम्मीद है कि यह सहायक है। #+LaTeX_Header लाइन के बिना, LaTeX प्रक्रिया tikz को शामिल करने के बारे में नहीं जानता है, और बिल्ड विफल रहता है। यदि मैं के बजाय tex:dvipng का प्रयास करता हूं, तो मुझे एक छवि मिलती है, लेकिन गलत तरीके से प्रस्तुत किया जाता है।

+0

यह वही है जो मैं पूरे दिन की तलाश में रहा हूं (इसे बीजीडब्ल्यू में प्रकट करने के लिए भी प्राप्त करने के लिए)! – rockt

4

संगठन मोड के हाल के संस्करणों के साथ (अभी तक, संस्करण 9 से पुराना --- नीचे संपादित देखें), आप निम्न की तरह कुछ उपयोग कर सकते हैं, जो लाटेक्स के साथ-साथ HTML पर भी निर्यात कर सकता है। बाद के मामले में, convert (ImageMagick टूलकिट से) का उपयोग tikz कोड स्निपेट से जेनरेट किए गए पीडीएफ को 100px द्वारा आकार 100px की पीएनजी छवि में अनुवादित करने के लिए किया जाता है।

#+TITLE: Test 
#+AUTHOR: Blah 
#+LATEX_CLASS: article 
#+LATEX_CLASS_OPTIONS: [american] 
# 
# Setup tikz package for both LaTeX and HTML export: 
#+LATEX_HEADER: \usepackage{tikz} 
#+PROPERTY: header-args:latex+ :packages '(("" "tikz")) 
# 
#+PROPERTY: header-args:latex+ :imagemagick (by-backend (latex nil) (t "yes")) 
#+PROPERTY: header-args:latex+ :exports results :fit yes 

* One Diamond 

#+name: diamond 
#+header: :iminoptions -density 600 -resample 100x100 
#+header: :file (by-backend (latex "diamond.tikz") (t "diamond.png")) 
#+begin_src latex :results raw file 
    \begin{tikzpicture} 
    \draw (1,0) -- (0,1) -- (-1,0) -- (0,-1) -- cycle; 
    \end{tikzpicture} 
#+end_src 

#+attr_latex: :float nil :width "" 
#+results: diamond 

* COMMENT setup 

#+name: setup 
#+begin_src emacs-lisp :results silent :exports none 
    (defmacro by-backend (&rest body) 
    `(case (if (boundp 'backend) (org-export-backend-name backend) nil) ,@body)) 
#+end_src 

# Local variables: 
# eval: (org-sbe "setup") 
# End: 

इसके अलावा, एक, का उपयोग करके LaTeX में एक अस्थायी figure वातावरण में एक शीर्षक जोड़ सकते हैं, और चित्र सम्मिलित करें:

#+caption: A diamond. 
#+attr_latex: :float t :width "" 
#+results: diamond 

नोट :width विशेषता रिक्त स्ट्रिंग पर सेट है को मिटाने के लिए ऑर्गे-मोड का डिफ़ॉल्ट व्यवहार, जो लाटेक्स को निर्यात करते समय चित्र की चौड़ाई 0.9\textwidth पर सेट करता है।


this page के अनुसार, यह भी संभव है पीएनजी के बजाय, बस में diamond.svg द्वारा diamond.png की जगह और ImageMagick से संबंधित हेडर को दूर करने के रूप में, द्वारा एसवीजी में चित्रों निर्यात करने के लिए: तथापि

#+TITLE: Test 
#+AUTHOR: Blah 
#+LATEX_CLASS: article 
#+LATEX_CLASS_OPTIONS: [american] 
# 
# Setup tikz package for both LaTeX and HTML export: 
#+LATEX_HEADER: \usepackage{tikz} 
#+PROPERTY: header-args:latex+ :packages '(("" "tikz")) 
# 
#+PROPERTY: header-args:latex+ :exports results 

* One Diamond 

#+name: diamond 
#+header: :file (by-backend (latex "diamond.tikz") (t "diamond.svg")) 
#+begin_src latex :results raw file 
    \begin{tikzpicture} 
    \draw (1,0) -- (0,1) -- (-1,0) -- (0,-1) -- cycle; 
    % \node at (0,0) {\(x_i\)}; 
    \end{tikzpicture} 
#+end_src 

#+caption: A diamond. 
#+attr_latex: :float t :width "" 
#+results: diamond 

* COMMENT setup 

#+name: setup 
#+begin_src emacs-lisp :results silent :exports none 
    ;; (setq org-babel-latex-htlatex "htlatex") 
    (defmacro by-backend (&rest body) 
    `(case (if (boundp 'backend) (org-export-backend-name backend) nil) ,@body)) 
#+end_src 

# Local variables: 
# eval: (org-sbe "setup") 
# End: 

ध्यान दें कि यह समाधान tikz कोड में गणितीय मैक्रोज़ का समर्थन नहीं करता है। htlatex को बुनियादी गणितीय संरचनाओं का समर्थन करना चाहिए (उपरोक्त 2 टिकज़ और लिस्प लाइनों को अन-टिप्पणी करके कोशिश की जानी चाहिए), लेकिन इस सुविधा को स्पष्ट रूप से कुछ पुनर्विक्रय की आवश्यकता है, क्योंकि परिणामस्वरूप एसवीजी अमान्य है।


संपादित

के बाद से संस्करण 9, कोड ऊपर (निदर्शी प्रयोजनों के लिए आंकड़ा के लिए एक संदर्भ के साथ) हो जाता है:

#+TITLE: Test 
#+AUTHOR: Blah 
#+LATEX_CLASS: article 
#+LATEX_CLASS_OPTIONS: [american] 
# 
# Setup tikz package for both LaTeX and HTML export: 
# 
#+LATEX_HEADER: \usepackage{tikz} 
#+PROPERTY: header-args:latex+ :packages '(("" "tikz")) 
#+PROPERTY: header-args:latex+ :imagemagick yes :fit yes 

* One Diamond 

#+name: diamond 
#+header: :iminoptions -density 600 -resample 100x100 
#+header: :file (by-backend (latex "diamond.tikz") (t "diamond.png")) 
#+begin_src latex :results raw graphics 
    \begin{tikzpicture} 
    \draw (1,0) -- (0,1) -- (-1,0) -- (0,-1) -- cycle; 
    \end{tikzpicture} 
#+end_src 

#+name: fig:diamond 
#+caption: A diamond. 
#+attr_latex: :float t :width "" 
#+results: diamond 

Figure [[fig:diamond]] is a diamond. 

* Setup               :noexport: 
#+name: setup 
#+begin_src emacs-lisp :exports none :results silent 
    (defmacro by-backend (&rest body) 
    `(case org-export-current-backend ,@body)) 
#+end_src 

# Local variables: 
# eval: (org-sbe "setup") 
# End: 

मुख्य अंतर "टिप्पणी में हैं "सेटअप अनुभाग के लिए" नोएक्सपोर्ट "टैग बनना (this answer देखें), by-backend मैक्रो का कोड, और लेटेक्स कोड ब्लॉक के परिणाम के लिए" ग्राफिक्स "विशेषता।

+0

हैलो, क्या आप बता सकते हैं कि 'लेटेक्स +' एक्साक्लिटी क्या है? – DJJ

+0

'# + संपत्ति: हेडर-Args: लेटेक्स + ' हेडर-तर्क: लेटेक्स' नामक हेडर तर्कों में '' जोड़ता है। यह किसी भी तरह "अनुमान लगाने योग्य" [दस्तावेज़ों में] है (http://orgmode.org/manual/Property-syntax.html#Property-yntax) (हालांकि मैं मानता हूं कि यह बेहतर हो सकता है)। – nberth

+0

बहुत बढ़िया !!! मैं कुछ घंटों के लिए OrgMode9 के समाधान पर काम कर रहा था ... –

संबंधित मुद्दे