ติดตามข้อผิดพลาดในการส่งออก Org LaTeX


9

คุณติดตามข้อผิดพลาดที่รายงานในระหว่างกระบวนการส่งออกได้อย่างไร ฉันกำลังเขียนเอกสารองค์กรและส่งออกเป็น PDF (ฉันไม่รู้จักน้ำยาง)

ฉันได้รับข้อผิดพลาดต่อไปนี้: org-latex-compile: PDF file ./myfile.pdf wasn't produced: [undefined control sequence] [package error] Runaway argument. จากการทดลองและข้อผิดพลาดฉัน จำกัด ให้แคบลงจนถึงส่วนนี้ของเอกสาร:

* Prefix key
  * ~M-p~ (currently unassigned)
  * ~H-c~ (currently unassigned)
  * ~H-;~ (currently unassigned)

หลังจากค้นหาเว็บมากฉันค้นพบว่าข้อ จำกัด ของ LaTeX คือข้อความคำต่อคำไม่สามารถใช้ในหัวข้อย่อย LaTeX ที่สร้างจากตัวอย่างด้านบนมีบรรทัดดังต่อไปนี้:

\subsubsection{\verb~M-p~ (currently unassigned)}

การเปลี่ยนหัวเรื่องย่อยเป็นรายการที่ไม่ได้เรียงลำดับแก้ไขปัญหาได้:

* Prefix key
  - ~M-p~ (currently unassigned)
  - ~H-c~ (currently unassigned)
  - ~H-;~ (currently unassigned)

เนื่องจากบรรทัดที่สร้างขึ้นเหล่านั้นมีลักษณะดังนี้:

\item \verb~M-p~ (currently unassigned)

ตอนนี้ในที่สุดนี่คือคำถามของฉัน:มีวิธีที่ดีกว่าในการติดตามตรวจสอบวินิจฉัยและแก้ไขข้อผิดพลาดดังกล่าวมากกว่าการทดลองใช้และข้อผิดพลาดบวกกับการค้นหาเว็บ (สั้น ๆ บอกว่าใช้เวลาสองสามสัปดาห์ในการเรียนรู้ ?

ปัจจุบันไฟล์ของฉันผลิตรูปแบบไฟล์ PDF ที่ดูเหมือนจะปรับ ... Process completed with errors: [package error]แต่กระบวนการส่งออกไม่ออกข้อผิดพลาด: ฉันไม่รู้ว่านี่เป็นเรื่องร้ายแรงหรือไม่ไม่ว่าจะส่งผลกระทบต่อผลลัพธ์ PDF ของฉันในแบบที่ฉันยังไม่ได้สังเกตหรือถ้ามันเป็นเรื่องเล็กน้อยและควรละเว้น ความช่วยเหลือใด ๆ ที่ชื่นชม


6
มีบัฟเฟอร์ซึ่ง Org บันทึกผลลัพธ์จากtex2pdfหรือคำสั่งอื่นที่คุณใช้สร้าง PDF เปลี่ยนเป็น*Org PDF LaTeX Output*ดู โดยทั่วไปข้อผิดพลาดของแพคเกจหมายความว่าคุณใช้แพคเกจบางอย่างซึ่งคุณไม่ได้ติดตั้ง (คุณพลาดไฟล์ STY บางส่วน)
wvxvw

Aha! น่าสนใจมากฉันไม่ได้สังเกตว่า แน่นอนว่ามีข้อผิดพลาด - ไม่ได้เกิดจากแพ็คเกจที่ขาดหายไป แต่สร้างโดยแพ็คเกจ inputencบ่นเพราะฉันใช้ตัวอักษร UTF ที่ LaTeX ไม่สามารถแสดงได้ ขอบคุณ!
Sue D. Nymme

คำตอบ:


8

ตามที่ @wvxvw แนะนำในความคิดเห็นการดู*Org PDF LaTeX Output*บัฟเฟอร์เป็นที่สำหรับตรวจสอบข้อผิดพลาด ด้วยความคุ้นเคยขั้นพื้นฐานกับ LaTeX คุณควรจะสามารถติดตามข้อผิดพลาดที่ค่อนข้างง่ายเช่นนี้ (ซึ่งจากประสบการณ์ของฉันมักจะมาจาก\verbคำสั่งอย่างไรก็ตามดูเหมือนว่าคุณจะไม่สามารถติดตามข้อผิดพลาดกลับไปที่ ไฟล์ Org ดั้งเดิม


ไม่มีวิธีใดในการไปยังบรรทัดที่ละเมิดในไฟล์. org โดยตรงหรือไม่
becko

1

ฉันพบว่าการผูกแมโครอย่างหนึ่งต่อไปนี้มีประโยชน์มาก:

(local-set-key (kbd "C-c m o")
               (kbd "C-x b org SPC output RET M-< C-s fatal SPC error"))

ก็แค่:

  • สลับไปที่บัฟเฟอร์โดยใช้ ido
  • ค้นหาสตริง "ข้อผิดพลาดร้ายแรง"

แน่นอนคุณสามารถทำสิ่งเดียวกันได้มากกว่าโดยทางโปรแกรม แต่ฉันคิดว่านี่เพียงพอสำหรับการใช้งานพื้นฐาน นอกจากนี้ยังเป็นตัวอย่างที่ดีของพลังของการผูก emacs และมาโครโดยเฉพาะสำหรับผู้ที่มาจากกลุ่มที่ใช้ในการnoremapผูกสไตล์

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