সংগঠন-মোড: রফতানির সময় TOC থেকে নির্দিষ্ট শিরোনামগুলি বাদ দিন


13

প্রশ্ন:org-mode রফতানির সময় সামগ্রীগুলির সারণি থেকে নির্দিষ্ট শিরোনামগুলি বাদ দিতে আমি কীভাবে বলতে পারি ?

উদাহরণস্বরূপ, রফতানি করা হচ্ছে

* Headline 1: Put me in TOC
* Headline 2: Put me in TOC
* Headline 3: DO NOT put me in TOC

এইচটিএমএল উত্পাদন করে

...
<div id="text-table-of-contents">
  <ul>
    <li><a href="#sec-1">1. Headline 1: Put me in TOC</a></li>
    <li><a href="#sec-2">2. Headline 2: Put me in TOC</a></li>
    <li><a href="#sec-3">3. Headline 3: DO NOT put me in TOC</a></li>
  </ul>
</div>
...

তবে আমি এটি উত্পাদন করতে চান

...
<div id="text-table-of-contents">
  <ul>
    <li><a href="#sec-1">1. Headline 1: Put me in TOC</a></li>
    <li><a href="#sec-2">2. Headline 2: Put me in TOC</a></li>
  </ul>
</div>
...

সামগ্রীগুলির সারণী বিভাগে org-modeম্যানুয়াল এই কোন তথ্য নেই।

এছাড়াও, আমি জানি যে কীওয়ার্ডটি ( ) এর মাধ্যমে org-modeসেট করে বা এগুলি দিয়ে ট্যাগ করে আমি শিরোনাম রফতানি থেকে বিরত রাখতে পারি । যদিও এটি প্রভাবিত শিরোনামগুলিকে টিওসি-তে প্রদর্শিত না হওয়া থেকে বিরত রাখে, ফলে ফলাফলগুলি নথি থেকে তাদের বিষয়বস্তু বাদ দেওয়া হয়, যা আমি চাই না।COMMENTC-c ;org-toggle-comment:noexport:


1
আপনি যে উত্তরটি সন্ধান করছেন এটি এটি নয়, তবে অন্য মৃতের শেষের নোট হিসাবে: আপনি যা চান তা EXPORT_OPTIONS: toc:nil প্রায় করেন তবে কেবল যখন আপনি কেবলমাত্র সাবট্রিটি রফতানি করেন। স্পষ্ট করার জন্য, আপনি কি বিভাগটি এখনও নম্বরযুক্ত থাকতে চান, বা আপনি ল্যাটেক্সের মতো কিছু চান \section*?
শন অলরেড

@ সানআলার্ড আমি চাই বিভাগটি এখনও নম্বরযুক্ত হোক। আরও সাধারণভাবে, আমি আলাদা বিভাগগুলি যেভাবে রফতানি করা হয় সে সম্পর্কে কোনও পরিবর্তন করতে চাই না। আমি চাই না যে তাদের কয়েকটি টিওসি-তে প্রদর্শিত হোক।
ইজিজয়েড

উত্তর:


12

সংগঠনটি org-export-collect-headlinesশিরোনাম সংগ্রহ করতে ব্যবহার করে যা টিওসি তে হওয়া উচিত। এই ফাংশনটিতে ইতিমধ্যে শিরোনামগুলি বাদ দেওয়ার জন্য দুটি মানদণ্ড রয়েছে : শিরোনামের গভীরতা এবং এটি একটি "পাদটীকা বিভাগ" (*) কিনা তাই অন্য একটি যুক্ত করা সহজ।

org-export-collect-headlinesনীচের পরিবর্তিত সংস্করণ দেখুন। এই সংস্করণটি NOTOCসম্পত্তি সেট করে টিওসিটিতে শিরোনামটি প্রদর্শিত হওয়া থেকে রোধ করা সম্ভব করে ।

* Section 1: shows up in the TOC

* Section 2: modified Org code (not in the TOC)
  :PROPERTIES:
  :NOTOC:    t
  :END:

  This is the modified =org-export-collect-headlines=:

  #+BEGIN_SRC elisp
  (defun org-export-collect-headlines (info &optional n)
    "Collect headlines in order to build a table of contents. [...]

  Return a list of all exportable headlines as parsed elements.
  Footnote sections, if any, will be ignored."
    (let ((limit (plist-get info :headline-levels)))
      (setq n (if (wholenump n) (min n limit) limit))
      (org-element-map (plist-get info :parse-tree) 'headline
        #'(lambda (headline)
            (unless (or (org-element-property :NOTOC headline)               ; new condition
                        (org-element-property :footnote-section-p headline)) ; old condition
              (let ((level (org-export-get-relative-level headline info)))
                (and (<= level n) headline))))
        info)))
  #+END_SRC

** Sub-section
   This shows up in the TOC: property inheritance is off by default.

(*) যদিও "পাদটীকা বিভাগগুলি" কী তা আমি জানি না।

এটি এক্সপোর্ট ব্যাকেন্ডের জন্য কাজ করে যা টিওসিটি ম্যানুয়ালি তৈরি করে। LaTeX, Beamer, এবং টেক্সিনফোর ব্যাকেন্ডগুলি তা করে না।

এই পরামর্শকে যে কোনওটিতে যুক্ত করে লটেক্স এবং বিমেরে রফতানি করার সময়, টিওসি থেকে বাদ org-export-numbered-headline-pদিয়ে UNNUMBEREDসম্পত্তি রফতানির সাথে শিরোনাম তৈরি করতে পারে \section*{...}:

(advice-add 'org-export-numbered-headline-p :around
            (lambda (orig headline info)
              (and (funcall orig headline info)
                   (not (org-element-property :UNNUMBERED headline)))))

নোট করুন যে 2014-10-03 20:06:34 (GMT) এর মধ্যে UNNUMBERED এর চেক ইতিমধ্যে অন্তর্নির্মিত


1
ধন্যবাদ, এটি HTML রফতানির জন্য দুর্দান্ত কাজ করে। ল্যাকেক্স / বিমারের পক্ষে কাজ করার জন্য আমার আসলে এটিও প্রয়োজন; আমি প্রাথমিকভাবে এটি উল্লেখ করিনি কারণ আমি ধরে নিয়েছিলাম যে একটি জেনেরিক সমাধান হতে হবে যা সকলের (বা কমপক্ষে সর্বাধিক) রফতানি ব্যাক-এন্ডের জন্য কাজ করবে ... ল্যাকেক্স রফতানির জন্য কীভাবে এই সমস্যাটি মোকাবেলা করবেন আপনার কোনও ধারণা আছে? রফতানির সময় তুলনা করা .htmlএবং .texফাইলগুলি org-modeউত্পন্ন করে, মূল সমস্যাটি মনে হয় যে org-modeএটি এইচটিএমএল এর জন্য নিজেই টিওসি তৈরি করে, তবে কেবল ফাইলটিতে জেনেরিকটি ফেলে \tableofcontentsদেয় .tex
ইজজেড

@ জাজিজেড: আমি মনে করি না যে জেনেরিক সমাধান সম্ভব: আপনি যেমন বলেছিলেন, ল্যাটেক্স (এবং বিমার এবং টেক্সিনফোর) এক্সপোর্ট ব্যাকএন্ডস টিওসি তৈরি করতে নেটিভ কমান্ড ব্যবহার করে অন্য ব্যাক-এন্ড নিজে হাতে টিওসি তৈরি করে। এটা তোলে হয় করা সম্ভব লেটেক্ মধ্যে TOC থেকে একটি অধ্যায় বাদ , কিন্তু আমি একটি সমাধান হিসেবে সম্প্রদায় দ্বারা গৃহীত খুঁজে পেলাম না সঠিক । আমি org-modeরফতানির কোডে লিঙ্কিত ধারণাটি ব্যবহার করতে বড় পরিবর্তনগুলির প্রয়োজন হবে org-latex-headline। টেক্সিনফোর সমর্থিত এটিকে বাস্তবায়নের জন্য, আমি কোথায় শুরু করব তাও জানি না।
কনস্টান্টাইন

ঠিক আছে, অনুসরণ করার জন্য অনেক ধন্যবাদ। বিমেরের জন্য, আমি মনে করি আমি কেবল যে বিভাগগুলিকে টিওসিতে নাম্বারবিহীন প্রদর্শন করতে চাই না তা তৈরি করে নেব । মামলা বন্ধ. :)
ইজজেড

@itsjeyd: আপনি পরিবর্তন করতে পারেন org-export-numbered-headline-pপ্রায় স্বয়ংক্রিয়ভাবে এই আচরণ পেতে - যদি এটি একটি নম্বরবিহীন বিভাগে বাঁক হয় একটি বিকল্প, যে হয়। আপনার আগ্রহ থাকলে আমি বিস্তারিত বলতে পারি।
কনস্টানটাইন

দয়া করে করুন - সমাধানগুলি সরলকরণে সর্বদা আগ্রহী!
itjeyd
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.