บรรทัดใหม่ในชื่อเรื่องของเอกสาร html ที่ส่งออกโหมด


26

ฉันใช้โหมด org เพื่อจัดทำเอกสารและมักจะส่งออกเป็น pdf (ผ่าน latex) และ html

หาก\\อักขระอยู่ท้ายบรรทัดบรรทัดนั้นจะบังคับให้อักขระขึ้นบรรทัดใหม่เมื่อส่งออกไปยังทั้ง pdf และ html

แต่ฉันต้องการทราบวิธีบังคับอักขระขึ้นบรรทัดใหม่ระหว่างบรรทัดเมื่อส่งออกเป็น html มันจะมีประโยชน์ที่จะมีทางออกนี้เพื่อให้ฉันสามารถมีชื่อหลายบรรทัดในการส่งออก html ด้วย

ตัวอย่าง:

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

การส่งออกข้างต้นไปยัง 2 บรรทัดในการส่งออกในรูปแบบ pdf แต่\\ตัวอักษรนั้นยังคงอยู่ในการส่งออกแบบ html (เนื่องจากไม่ได้อยู่ที่ท้ายบรรทัด)

ฉันจะจัดรูปแบบชื่อเรื่องอย่างไรเพื่อให้ชื่อหลายบรรทัดส่งออกได้ดีในทั้งสองรูปแบบ

คำตอบ:


36

โหมด Org 8 ไม่ยอมรับอักขระ LaTeX อีกต่อไป วิธีที่ถูกต้องที่จะทำคือฝังตัวอย่างการส่งออกในชื่อ:

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

ฉันคิดว่าถ้าคุณต้องการส่งออกบรรทัดใหม่ทั้งใน LaTeX และ HTML โค้ดอาจต้องมีลักษณะดังนี้:

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

ที่มา: https://lists.gnu.org/archive/html/emacs-orgmode/2014-09/msg00466.html

หากจำเป็นต้องเพิ่มอักขระขึ้นบรรทัดใหม่ในหลาย ๆ ตำแหน่งในเอกสารการแทนที่@@latex:\\@@ @@html:<br>@@สตริงverbose นี้ด้วยโหมด org MACROจะเหมาะสมกว่า

คำจำกัดความของ MACRO เช่นด้านล่างสามารถวางไว้ที่ด้านบนของเอกสารหรือในไฟล์ "org config" ทั่วไปที่รวมอยู่ในเอกสาร org ของคุณ:

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

MACRO นั้นสามารถใช้สำหรับการจัดรูปแบบชื่อดังนี้

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

ข้อดีของการใช้วิธี MACRO คือ:

  • เอกสารโหมดองค์กรนั้นง่ายต่อการอ่าน
  • หากความต้องการเกิดขึ้นเพื่อเปลี่ยนคำจำกัดความของ{{{NEWLINE}}}เพื่อรองรับรูปแบบการส่งออกใหม่การเปลี่ยนแปลงนั้นจำเป็นต้องทำในที่เดียว

ตัวอย่าง:

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

หมายเหตุ: @@ascii:|@@จะไม่แทรกบรรทัดใหม่ในการส่งออก ascii; มันจะวางอักขระ|ไพพ์ที่ใดก็ตามที่{{{NEWLINE}}}ใช้ในเอกสาร org

ในที่สุด#+SUBTITLEคำหลักอาจช่วยได้เช่นกัน


คำถามที่เกี่ยวข้อง: คุณจะรู้วิธีถ่ายทอดบรรทัดใหม่สำหรับการส่งออก ascii หรือไม่ @@ascii:\n@@ไม่ทำงาน
Kaushal Modi

ดูเหมือนจะไม่ทำงาน ฉันเดาว่าจำเป็นต้องมีการร้องขอคุณสมบัติเพื่อให้สามารถใช้งานได้
mankoff

1
คุณหมายถึงการขึ้นบรรทัดใหม่ใน ascii ไม่ทำงานใช่ไหม มิฉะนั้นโซลูชันของคุณจะทำงานเพื่อการส่งออก html และ pdf เมื่อรองรับการขึ้นบรรทัดใหม่สำหรับ ascii ฉันเพียงแค่ต้องอัปเดตมาโคร NEWLINE
Kaushal Modi

3

ฉันไม่แน่ใจว่าทั้งหมดจะไม่มีผลข้างเคียงที่ไม่พึงประสงค์ แต่สิ่งต่อไปนี้อาจใช้ได้

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

โชคดีที่รายการส่วนขยายของสตริงพิเศษนั้นสามารถขยายได้ในผู้ส่งออก HTML เนื่องจากไม่ได้อยู่ในผู้ส่งออก LaTeX ...

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.