Saya menyusun dokumen dalam mode-org dan mengekspornya ke LaTeX, HTML, dll. Sesuai kebutuhan. Saya sering menggunakan tag :no_export:
setiap kali saya tidak ingin subtree tertentu muncul di output.
Apa yang saya juga inginkan adalah agar ekspor mengabaikan sepenuhnya subtree heading tertentu , tetapi tidak mengabaikan konten subtree di bawah heading itu. Dengan kata lain, subtree tertentu harus diekspor seolah kontennya hanya merupakan kelanjutan dari induk, alih-alih memiliki subtree sendiri.
Idealnya saya membayangkan tag seperti :no_title:
. Saya ingin garis besar mode-org saya terlihat kurang lebih seperti yang biasa saya lakukan. Tetapi saya akan mempertimbangkan pendekatan lain dengan hasil yang serupa.
Sebagai ilustrasi, berikut adalah MWE dari dokumen yang disusun dalam mode-org.
* Chapter 1
** Section 1
*** Paragraph 1 :no_title:
First paragraph of text in the section.
*** Paragraph 2 :no_title:
Second paragraph of text in the section.
* Chapter 2
** Section 1
*** Subsection 1
**** Paragraph 1 :no_title:
First paragraph of text in the subsection.
**** Paragraph 2 :no_title:
Second paragraph of text in the subsection
Ketika saya mengekspor itu saat ini, saya mendapatkan sesuatu seperti ini:
1 Bab 1
1.1 Bagian 1
1.1.1 Paragraf 1: no_title:
Paragraf teks pertama di bagian ini.
1.1.2 Paragraf 2: no_title:
Paragraf teks kedua di bagian ini.
2 Bab 2
2.1 Bagian 1
2.1.1 Subbagian 1
◊ 2.1.1.1 Paragraf 1: no_title:
Paragraf teks pertama dalam sub-bagian.
Tapi yang saya inginkan lebih seperti ini:
1 Bab 1
1.1 Bagian 1
Paragraf teks pertama di bagian ini.
Paragraf teks kedua di bagian ini.
2 Bab 2
2.1 Bagian 1
2.1.1 Subbagian 1
Paragraf teks pertama dalam sub-bagian.
sumber
contrib/lisp
folder - lihat orgmode.org/cgit.cgi/org-mode.git/tree/contrib/lisp/ox-extra.el - dalam file konfigurasi emacs Anda, Anda mungkin perlu menambahkan baris seperti(add-to-list 'load-path "/path/to/contrib/lisp")
.Ya , ini sepenuhnya mungkin. Tambahkan kode berikut ke file init Anda:
Ucapan Terima Kasih
Pertanyaan ini telah ditanyakan pada StackOverflow sebelumnya (dengan fokus dan kata-kata yang berbeda, yang mungkin mengapa Anda tidak dapat menemukannya ketika Anda mencari di internet sebelum memposting di sini). Kode di atas adalah versi kode yang disederhanakan dalam jawaban yang diterima ; ini bekerja untuk eksportir baru yang diperkenalkan pada
org-mode
8.0 dan merupakan agendostik backend .Memperbarui
Seperti dibahas dalam komentar, kode di atas menyebabkan isi entri yang ditandai dengan
:no_title:
hilang jika didahului oleh entri yang ditandai untuk dikeluarkan dari dokumen yang diekspor. Misalnya, mengekspor dokumen berikut akan menghasilkan dokumen dengan judul dan TOC, tetapi tidak ada konten:Alasan untuk ini adalah bahwa
org-mode
menghilangkan judul ditandai dengan:no_title:
sebelum menghapus entri yang headline ditandai dengan:no_export:
. Akibatnya, ketika sempat menghapusno_export
entri, ia memperlakukan kontenno_title
entri sebagai milikno_export
entri sebelumnya . Ini masuk akal karena tidak ada elemen struktural (pos) yang memisahkan isi dari entri asli lagi.Untuk mengatasi masalah ini, kami dapat mentransfer tanggung jawab untuk menghapus
no_export
entriorg-remove-headlines
. Dengan cara ini, kami memastikan semuano_export
entri hilang sebelum berita utama dihapus darino_title
entri:sumber
no_export
tajuk tepat sebelum yang ditandaino_title
, maka isi tajuk kedua juga tidak diekspor.no_export
danno_title
judul saudara kandung (yaitu, apakah mereka memiliki jumlah bintang terkemuka yang sama)? Jika tidak, yang mana dari dua judul yang memiliki lebih banyak bintang?org-remove-headlines
hanyalah sebuah fungsi; itu tidak akan banyak membantu Anda jika tidak pernah dipanggil dari mana pun. Jadi ya, Anda masih perlu mengevaluasi jalur(add-hook 'org-export-before-processing-hook #'org-remove-headlines)
untuk mengaktifkan perilaku yang benar. Saya mungkin seharusnya secara eksplisit tentang hal itu dalam pengeditan jawaban asli saya. Adapun peringatan yang Anda lihat: Saya tidak mendapatkannya dengan vanilla Emacs 24.4 dan versi 8.2.10 dari Mode Org. Untuk menghilangkan peringatan yang Anda sebutkan, Anda bisa mencoba(require 'org-agenda)
sebelum mengevaluasiadd-hook
baris.