Kuruluş modu verilen html belgesinin başlığındaki yeni satır


26

Eşyaları belgelemek için org-mode kullanıyorum ve genellikle pdf (lateks yoluyla) ve html'ye aktarıyorum.

Eğer \\karakterler altındadır sonunda bir satırın pdf ve html hem aktarırken, bir satır karakteri zorlar.

Ancak, html'ye dışa aktarırken bir satır arasında yeni satır karakterinin nasıl zorlanacağını bilmek istiyorum . Html ihracatında da çok satırlı başlıkları alabilmem için bu çözüme sahip olmak yararlı olacaktır.

Örnek:

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

Yukarıdakiler pdf ihracatında 2 satıra aktarılır, ancak \\karakterler html ihracatında tutulur (satırın sonunda olmadıkları için).

Çok satırlı başlıkların her iki biçimde de iyi şekilde dışa aktarılması için başlığı nasıl biçimlendiririm?

Yanıtlar:


36

Kuruluş modu 8, artık böyle LaTeX karakterlerini kabul etmiyor. Bunu yapmanın doğru yolu, ihracat snippet'lerini başlığa gömmektir:

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

Bu nedenle, hem LaTeX hem de HTML’de yeni satırları dışa aktarmak istiyorsanız, kodun şöyle görünmesi gerekebileceğini farz ediyorum:

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

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

Bu yeni satır karakterlerinin belgede birden fazla yere eklenmesi gerekiyorsa, bu ayrıntılı @@latex:\\@@ @@html:<br>@@dizenin org moduyla değiştirilmesi MACROdaha uygun olur.

Aşağıdaki gibi bir MACRO tanımı, belgenin en üstüne veya kuruluş belgelerinde bulunan ortak bir "org config" dosyasına yerleştirilebilir:

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

MACRO daha sonra başlığı aşağıdaki gibi biçimlendirmek için kullanılabilir:

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

MAKRO yaklaşımını kullanmanın avantajları:

  • Kuruluş modu belgesinin okunması daha kolay
  • {{{NEWLINE}}}Yeni bir dışa aktarma formatını destekleme tanımını değiştirme ihtiyacı ortaya çıkarsa , o zaman bu değişikliğin sadece bir yerde yapılması gerekir.

Örnek:

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

NOT: @@ascii:|@@ascii ihracatına yeni bir satır eklemeyecek; sadece org dokümanın |neresinde {{{NEWLINE}}}kullanılırsa boru karakterini yerleştirir

Son olarak, #+SUBTITLEanahtar kelime de yardımcı olabilir.


İlgili bir soru: Ascii ihracatı için yeni bir hattın nasıl aktarıldığını biliyor musunuz? @@ascii:\n@@çalışmıyor
Kaushal Modi

İşe görünmüyor. Bunun gerçekleşmesi için bir özellik isteğinin gerekli olduğunu tahmin ediyorum.
mankoff

1
Yani bilimdeki yeni çizgiler çalışmıyor, doğru mu? Aksi halde çözümünüz html ve pdf ihracatları için işe yarar. Ascii için newlines desteklendiğinde, NEWLINE makrosunu güncellemem gerekiyor.
Kaushal Modi

3

İstenmeyen yan etkileri olmadığından tam olarak emin değilim, ancak aşağıdakiler işe yarayabilir

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

Özel dizge genişletme listesinin HTML ihracatçısı içinde genişletilebilir olması nedeniyle çok şanslıyım, çünkü LaTeX ihracatçısı değil ...

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.