Emacs 调试此elisp需要什么?

Emacs 调试此elisp需要什么?,emacs,latex,elisp,org-mode,beamer,Emacs,Latex,Elisp,Org Mode,Beamer,我有一个组织模式文件,我正试图通过XeTeX导出到Beamer LaTeX PDF。它昨晚在这台机器上运行得很好,在另一台机器上也运行得很好,后来我在这台机器上编辑了它。两者都在运行组织模式8、Emacs 24、相同的导出过程(3次运行Xeletex) 当我同步回这台机器并再次尝试导出时,我在标题“处得到了错误的块类型。我检查了我所有的标题,给了他们所有的名字,但仍然得到了相同的结果 多亏了索引可搜索FLOSS代码的奇迹,我立即在网上找到了该代码片段: (env-format (co

我有一个组织模式文件,我正试图通过XeTeX导出到Beamer LaTeX PDF。它昨晚在这台机器上运行得很好,在另一台机器上也运行得很好,后来我在这台机器上编辑了它。两者都在运行组织模式8、Emacs 24、相同的导出过程(3次运行Xeletex)

当我同步回这台机器并再次尝试导出时,我在标题“处得到了错误的
块类型。我检查了我所有的标题,给了他们所有的名字,但仍然得到了相同的结果

多亏了索引可搜索FLOSS代码的奇迹,我立即在网上找到了该代码片段:

(env-format
      (cond ((member environment '("column" "columns")) nil)
        ((assoc environment
            (append org-beamer-environments-extra
                org-beamer-environments-default)))
        (t (user-error "Wrong block type at a headline named \"%s\""
                   raw-title))))

不过,我对elisp一点也不了解,我也不知道这里发生了什么。从这段代码中,我将如何开始调试?(我意识到我可以启动emacs调试器,但它不是一个,我不能随便摆弄它。)

发布此答案只是为了了解错误标记的特定问题的具体解决方案

显然,我在另一台机器上的Beamer版本有一个“正常”的Beamer环境,它指定了一个空白的、未格式化的块。这在这台机器的安装中不存在,或者至少org/XeLaTeX不知道

我的步骤是:

  • 搜索所有未命名的标题
  • 给每一个都取一个名字
  • 使用标识字符串再现错误
  • 对照
    org beamer mode
  • 删除有问题的类型并用另一个替换它


  • 这很好,但我不认为这是“最佳答案”,因为它不涉及对emacs解释器试图告诉我的内容的实际理解。如果我对TeX的总体情况没有很好的了解,它是不可能工作的。不知道这种技巧是否会在面试中给人留下深刻印象;)

    i找到相关代码片段后,找出错误的最佳方法是使用

    您应该阅读文档以了解更多信息,但基本上我的程序如下:

  • 识别代码中崩溃的部分
  • 用Edebug(C-uC-M-x)插入代码
  • 重新执行代码,一步一步地找出发生了什么(n)
  • 如果问题出在另一个函数中,请跳转到它转到2
  • 迭代,直到您理解了代码并找到修复它的方法