Melacak kesalahan ekspor Org LaTeX

9

Bagaimana Anda melacak kesalahan yang dilaporkan selama proses ekspor? Saya menulis dokumen Organisasi dan mengekspornya ke PDF. (Saya tidak tahu LaTeX).

Saya mendapatkan error berikut: org-latex-compile: PDF file ./myfile.pdf wasn't produced: [undefined control sequence] [package error] Runaway argument. Dengan coba-coba, saya mempersempitnya ke bagian dokumen ini:

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

Setelah banyak pencarian web, saya menemukan bahwa batasan LaTeX adalah bahwa teks kata demi kata tidak dapat digunakan dalam subjudul. LaTeX yang dihasilkan dari cuplikan di atas termasuk baris seperti:

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

Mengubah subpos ke daftar tidak terurus memperbaiki masalah:

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

karena garis yang dihasilkan terlihat lebih seperti ini:

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

Sekarang, akhirnya, inilah pertanyaan saya: Apakah ada cara yang lebih baik untuk melacak, mendiagnosis, dan menyelesaikan kesalahan seperti itu daripada pencarian coba-coba-dan-kesalahan-plus-web saya (singkatnya, katakanlah, menghabiskan beberapa minggu belajar LaTeX) ?

Saat ini, file saya menghasilkan PDF yang tampaknya-baik saja ... tapi proses ekspor tidak mengeluarkan pesan kesalahan: Process completed with errors: [package error]. Saya tidak tahu apakah ini serius, apakah itu mempengaruhi hasil PDF saya dengan cara yang belum saya perhatikan, atau apakah itu sepele dan harus diabaikan. Bantuan apa pun dihargai.

Sue D. Nymme
sumber
6
Ada buffer, tempat Org mencatat output dari tex2pdfatau perintah lain apa pun yang Anda gunakan untuk menghasilkan PDF. Beralih ke *Org PDF LaTeX Output*untuk melihatnya. Paket error biasanya berarti Anda menggunakan beberapa paket, yang tidak Anda instal (Anda kehilangan beberapa file STY).
wvxvw
Aha! Sangat menarik, saya tidak menyadarinya. Benar saja, ada kesalahan - bukan disebabkan oleh paket yang hilang, tetapi dihasilkan oleh sebuah paket. inputencmengeluh karena saya menggunakan karakter UTF yang LaTeX tampaknya tidak dapat mewakili. Terima kasih!
Sue D. Nymme

Jawaban:

8

Seperti yang disarankan @wvxvw di komentar, melihat *Org PDF LaTeX Output*buffer adalah tempat untuk memeriksa kesalahan. Dengan keakraban dasar dengan LaTeX, Anda harus dapat melacak kesalahan yang relatif sederhana seperti ini (yang menurut pengalaman saya hampir selalu berasal dari \verbperintah. Namun, tampaknya Anda tidak akan dapat langsung melacak kesalahan kembali ke file Org asli.

GJStein
sumber
Tidak ada cara untuk langsung menuju ke baris yang menyinggung dalam file .org?
becko
1

Saya menemukan mengikat makro seperti yang berikut ini sangat berguna:

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

Itu hanya:

  • Beralih ke buffer menggunakan ido
  • Mencari string "kesalahan fatal"

Tentu saja Anda dapat melakukan hal yang sama secara lebih terprogram tetapi saya pikir ini sudah cukup untuk penggunaan dasar. Juga itu adalah contoh yang bagus dari kekuatan binding emacs dan macro, khususnya untuk orang-orang yang datang dari vim yang digunakan untuk noremapgaya mengikat.

memeplex
sumber