Rastreando errores de exportación de Org LaTeX

9

¿Cómo rastrear los errores reportados durante el proceso de exportación? Estoy escribiendo un documento Org y lo exporto a PDF. (No sé LaTeX).

Que estaba recibiendo el siguiente error: org-latex-compile: PDF file ./myfile.pdf wasn't produced: [undefined control sequence] [package error] Runaway argument. Por prueba y error, lo reduje a esta sección del documento:

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

Después de mucha búsqueda en la web, descubrí que una limitación de LaTeX es que el texto literal no se puede usar en un subtítulo. El LaTeX generado a partir del fragmento anterior incluía líneas como:

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

Cambiar los subtítulos a una lista desordenada solucionó el problema:

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

porque esas líneas generadas se parecían más a esto:

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

Ahora, finalmente, esta es mi pregunta: ¿Hay una mejor manera de rastrear, diagnosticar y resolver tales errores que mi búsqueda de prueba y error-más-web (salvo, digamos, pasar algunas semanas aprendiendo LaTeX) ?

Actualmente, mi archivo produce una apariencia fina PDF ... pero el proceso de exportación hace emitir un mensaje de error: Process completed with errors: [package error]. No tengo idea de si esto es grave, si ha afectado mi salida de PDF de una manera que aún no he notado, o si es trivial y debería ignorarse. Cualquier ayuda es apreciada.

Sue D. Nymme
fuente
66
Hay un búfer, donde los registros de Org salen de tex2pdfcualquier otro comando que use para generar PDF. Cambia a *Org PDF LaTeX Output*para verlo. El error de paquete generalmente significa que usó algún paquete, que no instaló (le falta algún archivo STY).
wvxvw
¡Ajá! Muy interesante, no me había dado cuenta de eso. Efectivamente, existe el error, no causado por un paquete faltante, sino generado por un paquete. inputencse quejó porque usé un personaje UTF que LaTeX aparentemente no puede representar. ¡Gracias!
Sue D. Nymme

Respuestas:

8

Como @wvxvw sugirió en los comentarios, mirar el *Org PDF LaTeX Output*búfer es el lugar para verificar los errores. Con cierta familiaridad básica con LaTeX, debería poder rastrear errores relativamente simples como estos (que en mi experiencia casi siempre provienen del \verbcomando. Sin embargo, parece que no podrá rastrear directamente el error hasta El archivo Org original.

GJStein
fuente
¿No hay forma de ir directamente a la línea ofensiva en el archivo .org?
Becko
1

Encuentro que una macro como la siguiente es muy útil:

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

Es solo:

  • Cambia al búfer usando ido
  • Busca la cadena "error fatal"

Por supuesto, puedes hacer lo mismo más programáticamente, pero creo que esto es suficiente para un uso tan básico. También es un buen ejemplo del poder de los enlaces y macros de emacs, especialmente para las personas que provienen de vim que están acostumbradas al noremapestilo de enlace.

memeplex
fuente