Baris baru di Judul dokumen html diekspor mode org

26

Saya menggunakan mode-org untuk mendokumentasikan barang-barang dan biasanya mengekspornya ke pdf (melalui lateks) dan html.

Jika \\karakter berada di akhir baris, itu memaksa karakter baris baru saat mengekspor ke pdf dan html.

Tapi saya ingin tahu bagaimana cara memaksa karakter baris baru di antara baris ketika mengekspor ke html. Akan sangat membantu untuk memiliki solusi ini sehingga saya dapat memiliki judul multi-baris dalam ekspor html juga.

Contoh:

#+TITLE: First Line of Title \\ Second Line of Title

Ekspor di atas ke 2 baris dalam ekspor pdf tetapi \\karakter tetap dalam ekspor html (karena mereka tidak di akhir baris).

Bagaimana saya bisa memformat judul sehingga judul multi-baris mengekspor baik dalam kedua format?

Kaushal Modi
sumber

Jawaban:

36

Mode organisasi 8 tidak lagi menerima karakter LaTeX seperti itu. Cara yang benar untuk melakukannya adalah menyematkan cuplikan ekspor dalam judul:

#+TITLE: Foo @@latex:\\@@ Bar

Karena itu saya berasumsi bahwa jika Anda ingin mengekspor baris baru di LaTeX dan HTML, kode tersebut mungkin harus terlihat seperti ini:

#+TITLE: Foo @@latex:\\@@ @@html:<br>@@ Bar

Sumber: https://lists.gnu.org/archive/html/emacs-orgmode/2014-09/msg00466.html

Jika karakter baris baru tersebut perlu ditambahkan di beberapa tempat dalam dokumen, mengganti @@latex:\\@@ @@html:<br>@@string verbose ini dengan mode org MACROakan lebih cocok.

Definisi MACRO seperti di bawah ini dapat ditempatkan di bagian atas dokumen atau dalam file "org config" yang umum yang termasuk dalam dokumen org Anda:

#+MACRO: NEWLINE @@latex:\\@@ @@html:<br>@@

MACRO kemudian dapat digunakan untuk memformat judul seperti di bawah ini:

#+TITLE: Foo {{{NEWLINE}}} Bar

Keuntungan menggunakan pendekatan MACRO adalah:

  • Dokumen mode org lebih mudah dibaca
  • Jika diperlukan untuk mengubah definisi {{{NEWLINE}}}untuk mendukung format ekspor baru, maka perubahan itu perlu dilakukan di satu tempat saja.

Contoh:

#+MACRO: NEWLINE @@latex:\\@@ @@html:<br>@@ @@ascii:|@@

CATATAN: @@ascii:|@@tidak akan memasukkan baris baru dalam ekspor ascii; itu hanya akan menempatkan karakter pipa di |mana {{{NEWLINE}}}pun digunakan dalam org org.

Akhirnya, #+SUBTITLEkata kunci juga dapat membantu.

mankoff
sumber
Pertanyaan terkait: Apakah Anda tahu cara menyampaikan baris baru untuk ekspor ascii? @@ascii:\n@@tidak bekerja
Kaushal Modi
Tampaknya tidak berfungsi. Saya kira permintaan fitur diperlukan untuk menerapkan ini.
mankoff
1
Maksud Anda baris baru di ASCI tidak berfungsi, benar? Kalau tidak, solusi Anda berfungsi untuk ekspor html dan pdf. Ketika baris baru untuk ascii didukung, saya hanya perlu memperbarui makro NEWLINE.
Kaushal Modi
3

Saya tidak sepenuhnya yakin tidak akan ada efek samping yang tidak diinginkan, tetapi berikut ini mungkin berhasil

(push (cons "\\\\\\\\" "<br />") org-html-special-string-regexps)

Agak beruntung bahwa daftar ekspansi string khusus dapat diperluas di eksportir HTML, karena itu tidak ada di eksportir LaTeX ...

Sigma
sumber