इसके साथ मैं सबसे कठिन समस्या थी जो विभिन्न वर्गों की सशर्त स्टाइलिंग और विभिन्न वर्गों की सशर्त संख्या है। यह इन दोनों समस्याओं का हल है।
यहाँ मेरा पेपर है:
#+TITLE: Complex Tracking of Awesome Things
#+AUTHOR: Bastibe
#+INCLUDE: style.org
* Abstract
:PROPERTIES:
:NUMBERS: no
:HTML_CONTAINER_CLASS: abstract
:END:
Lorem ipsum dolor sit amet...
* Introduction
:PROPERTIES:
:NUMBERS: no
:END:
* Methodology
* Results
* Conclusion
* Acknowledgements
:PROPERTIES:
:NUMBERS: no
:END:
सबसे पहले, इसमें कुछ अतिरिक्त विकल्पों के साथ एक ऑर्ग फाइल शामिल है। यह फ़ाइल, जिसे style.org
ऊपर कहा गया है , कस्टम स्टाइल शीट लोड करने के लिए HTML एक्सपोर्ट सेट करती है और कुछ LaTeX विकल्प सेट करती है। यदि आप LaTeX को निर्यात नहीं कर रहे हैं, तो आपको उन लोगों की आवश्यकता नहीं होगी।
#+LANGUAGE: en
#+OPTIONS: tags:nil html-postamble:nil # toc:nil
#+STARTUP: nofold hideblocks
#+BIND: org-latex-title-command ""
#+HTML_MATHJAX: path:"MathJax/MathJax.js"
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="style.css" />
#+LATEX_CLASS: article
#+LATEX_CLASS_OPTIONS: [a4paper, 12pt]
#+LATEX_HEADER: \usepackage{setspace}
#+LATEX_HEADER: \onehalfspacing
#+LATEX_HEADER: \usepackage{fontspec}
#+LATEX_HEADER: \setmainfont{Cambria}
#+LATEX_HEADER: \setmonofont{PragmataPro}
#+LATEX_HEADER: \usepackage{polyglossia}
#+LATEX_HEADER: \setdefaultlanguage{english}
#+LATEX_HEADER: \usepackage[a4paper, scale=0.8]{geometry}
#+LATEX_HEADER: \usepackage{amsmath}
#+LATEX_HEADER: \usepackage{units}
#+LATEX_HEADER: \usepackage{titling}
#+LATEX_HEADER: \usepackage{listings}
#+LATEX_HEADER: \lstset{basicstyle=\ttfamily\footnotesize,showstringspaces=false}
#+LATEX_HEADER: \usepackage[hang]{caption}
HTML जैसे पेपर को रेंडर करने के लिए, थोड़ा सीएसएस पर्याप्त है (इसमें सहेजा गया है style.css
:
#content {
max-width: 80ex;
position: relative;
margin: 5px auto;
font-family: Cambria;
text-align: justify;
-moz-hyphens: auto;
}
.abstract {
max-width: 65ex;
margin: 5px auto;
margin-top: 4em;
margin-bottom: 4em;
content: none;
}
p {
text-indent: 5ex;
margin-bottom: 0;
margin-top: 0;
}
हालांकि, सेक्शन नंबर गलत होंगे। संगठन मोड या तो सभी अनुभागों को नंबर दे सकता है, या कोई भी नहीं। पत्रों को आमतौर पर शरीर के खंडों पर संख्याओं की आवश्यकता होती है, लेकिन सार और सारांश नहीं। निम्नलिखित कोड का टुकड़ा Org को नियमित वर्गों के सामने संख्याएँ बना देगा, लेकिन संपत्ति :NUMBERS: no
सेट होने पर संख्याओं को दबा देगा :
(defun headline-numbering-filter (data backend info)
"No numbering in headlines that have a property :numbers: no"
(let* ((beg (next-property-change 0 data))
(headline (if beg (get-text-property beg :parent data))))
(if (string= (org-element-property :NUMBERS headline) "no")
(cond ((eq backend 'latex)
(replace-regexp-in-string
"\\(part\\|chapter\\|\\(?:sub\\)*section\\|\\(?:sub\\)?paragraph\\)"
"\\1*" data nil nil 1))
((eq backend 'html)
(replace-regexp-in-string
"\\(<h[1-6]\\)\\([^>]*>\\)"
"\\1 class=\"nonumber\"\\2" data nil nil)))
data)))
(setq org-export-filter-headline-functions '(headline-numbering-filter))
यह LaTeX निर्यात के लिए अच्छा काम करता है, लेकिन HTML निर्यात में नहीं। आधुनिक सीएसएस के साथ, ब्राउज़र आपके लिए नंबरिंग कर सकते हैं (संलग्न style.css
)
/* do not show section numbers */
span.section-number-2 { display: none; }
span.section-number-3 { display: none; }
span.section-number-4 { display: none; }
span.section-number-5 { display: none; }
span.section-number-6 { display: none; }
/* use LaTeX-style names for the counters */
h1 { counter-reset: section; }
h2 { counter-reset: subsection; }
h3 { counter-reset: subsubsection; }
h4 { counter-reset: paragraph; }
h5 { counter-reset: subparagraph; }
.nonumber::before { content: none; }
h2::before {
content: counter(section) " ";
counter-increment: section;
}
h3::before {
content: counter(section) "." counter(subsection) " ";
counter-increment: subsection;
}
h4::before {
content: counter(section) "." counter(subsection) "." counter(subsubsection) " ";
counter-increment: subsubsection;
}
h5::before {
content: counter(section) "." counter(subsection) "." counter(subsubsection) "." counter(paragraph) " ";
counter-increment: paragraph;
}
h6::before {
content: counter(section) "." counter(subsection) "." counter(subsubsection) "." counter(paragraph) "." counter(subparagraph) " ";
counter-increment: subparagraph;
}
इसके साथ, आप अपने कागज को LaTeX और HTML दोनों में निर्यात कर सकते हैं।
...
के रूप में लपेटा जाएगा<div class="abstract"><p>...</p></div>
। शीर्षक जैसे LaTeX होने के लिए शायद आपको बग रिपोर्ट भरनी चाहिए। अभी के लिए मैक्रो{{{AUTHOR}}}
और स्निपेट्स@@html:whatever@@
का उपयोग करें जो आप चाहते हैं।