Dòng mới trong Tiêu đề của tài liệu html được xuất ở chế độ org


26

Tôi sử dụng chế độ org để ghi lại tài liệu và thường xuất nó sang pdf (thông qua latex) và html.

Nếu các \\ký tự ở cuối dòng, nó buộc một ký tự dòng mới khi xuất sang cả pdf và html.

Nhưng tôi muốn biết làm thế nào để buộc một ký tự dòng mới ở giữa một dòng khi xuất ra html. Sẽ rất hữu ích khi có giải pháp này để tôi cũng có thể có các tiêu đề nhiều dòng trong xuất khẩu html.

Thí dụ:

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

Các xuất trên thành 2 dòng trong xuất pdf nhưng các \\ký tự được giữ lại trong xuất html (vì chúng không ở cuối dòng).

Làm cách nào tôi có thể định dạng tiêu đề để tiêu đề nhiều dòng xuất tốt ở cả hai định dạng?

Câu trả lời:


36

Chế độ Org 8 không còn chấp nhận các ký tự LaTeX như thế. Cách chính xác để làm điều đó là nhúng đoạn trích xuất trong tiêu đề:

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

Do đó, tôi giả sử rằng nếu bạn muốn xuất dòng mới trong cả LaTeX và HTML, mã có thể phải trông như thế này:

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

Nguồn: https://lists.gnu.org/archive/html/emacs-orgmode/2014-09/msg00466.html

Nếu cần thêm các ký tự dòng mới như vậy tại nhiều vị trí trong tài liệu, thay thế @@latex:\\@@ @@html:<br>@@chuỗi dài dòng này bằng chế độ org MACROsẽ phù hợp hơn.

Một định nghĩa MACRO như dưới đây có thể được đặt ở đầu tài liệu hoặc trong tệp "org config" chung có trong tài liệu org của bạn:

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

MACRO sau đó có thể được sử dụng để định dạng tiêu đề như dưới đây:

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

Ưu điểm của việc sử dụng phương pháp MACRO là:

  • Tài liệu chế độ org dễ đọc hơn
  • Nếu có nhu cầu thay đổi định nghĩa {{{NEWLINE}}}để hỗ trợ định dạng xuất mới, thì thay đổi đó cần được thực hiện tại một nơi duy nhất.

Thí dụ:

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

LƯU Ý: @@ascii:|@@sẽ không chèn một dòng mới trong xuất khẩu ascii; nó chỉ đơn giản là đặt ký tự ống |bất cứ nơi nào {{{NEWLINE}}}được sử dụng trong tài liệu org.

Cuối cùng, #+SUBTITLEtừ khóa cũng có thể giúp đỡ.


Một câu hỏi liên quan: Bạn có biết làm thế nào để truyền đạt một dòng mới cho xuất khẩu ascii? @@ascii:\n@@không hoạt động.
Kaushal Modi

Không xuất hiện để làm việc. Tôi đoán một yêu cầu tính năng là cần thiết để thực hiện điều này.
mankoff

1
Bạn có nghĩa là các dòng mới trong ascii không hoạt động, đúng không? Nếu không, giải pháp của bạn hoạt động cho xuất khẩu html và pdf. Khi các dòng mới cho ascii được hỗ trợ, tôi chỉ cần cập nhật macro NEWLINE.
Kaushal Modi

3

Tôi không hoàn toàn chắc chắn sẽ không có bất kỳ tác dụng phụ không mong muốn nào, nhưng những điều sau đây có thể hoạt động

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

Thật may mắn khi danh sách các mở rộng chuỗi đặc biệt có thể mở rộng trong trình xuất HTML, vì nó không nằm trong trình xuất LaTeX ...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.