追踪Org LaTeX导出错误


9

您如何跟踪导出过程中报告的错误?我正在编写一个组织文档并将其导出为PDF。(我不知道LaTeX)。

我收到以下错误: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)

现在,最后,这是我的问题:是否有比我的试验和错误加上网络搜索更好的方法来跟踪,诊断和解决此类错误(例如,花了几个星期学习LaTeX) ?

目前,我的文件生成的PDF看上去不错,但是导出过程确实发出错误消息:Process completed with errors: [package error]。我不知道这是否严重,它是否以我尚未注意到的方式影响了我的PDF输出,或者它是否微不足道,应该忽略。任何帮助表示赞赏。


6
有一个缓冲区,Org会在其中记录来自tex2pdf生成PDF或任何其他用于生成PDF的命令的输出。切换*Org PDF LaTeX Output*查看。程序包错误通常表示您使用了一些未安装的程序包(缺少某些STY文件)。
wvxvw 2015年

啊哈!非常有趣,我没有注意到。当然,存在错误-不是由缺少包引起的,而是包产生inputenc抱怨是因为我使用了LaTeX显然无法表示的UTF字符。谢谢!
Sue D. Nymme

Answers:


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绑定和宏功能强大的一个很好的例子,特别适合来自vim的人,他们习惯于noremap绑定样式。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.