org-bibtex-yank 失败,类型参数错误:stringp,nil

Posted

技术标签:

【中文标题】org-bibtex-yank 失败,类型参数错误:stringp,nil【英文标题】:org-bibtex-yank fails with Wrong type argument: stringp, nil 【发布时间】:2015-07-02 01:27:44 【问题描述】:

组织 8.2.10 Emacs 24.4.1

我在暂存缓冲区中有一个 bibtex 条目,然后 M-w 条目。

它在杀戮环中

然后我切换到 org-mode 缓冲区并尝试

M org-bibtex-yank

我收到一个错误:错误类型参数:stringp,nil

我已经切换调试错误,回溯如下。我已经检查过该条目是否在 kill-ring 上 - 我可以将它拉到暂存缓冲区。

我已经为 org-bibtex-yank 设置了 debug-on-entry,并且在兔子洞里走了很长一段路!我可以在调试器的某些步骤中看到条目,但是迷路了!

我将不胜感激任何有关问题的指针,或获得更多可能有帮助的信息。

谢谢

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
looking-at(nil)
bibtex-parse-entry()
org-bibtex-read()
org-bibtex-yank()
call-interactively(org-bibtex-yank record nil)
command-execute(org-bibtex-yank record)
execute-extended-command(nil "org-bibtex-yank")
smex-read-and-run(("toggle-debug-on-error" "org-bibtex-yank" "debug-on-entry" "describe-function" "apropos" "set-variable" "package-list-packages" "load-theme" "describe-variable" "bibtex-yank" "eshell" "package-refresh-contents" "yank" "org-mode" "org-bibtex" "flyspell-mode" "server-force-delete" "org-bibtex-read-buffer" "R" "S" "S+" "cd" "dm" "5x5" "S+3" "S+6" "SAS" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" "man" "mpc" "pdb" "pwd" "rsh" "sdb" "xdb" "Sqpe" "calc" "diff" "dirs" "ffap" "gnus" ...))
smex()
call-interactively(smex nil nil)
command-execute(smex)

【问题讨论】:

我无法重现这个。您是否在 M-w 之前用鼠标选择了 bibtex 条目(突出显示它)?当我这样做时,org-bibtex-yank 工作正常。 谢谢约翰。不,我用键盘选择了它。标记并指出。我用鼠标试试! 【参考方案1】:

我知道这个问题“org-bibtex-yank 失败,类型参数错误:stringp,nil”。尤其是我无法从网络上粘贴 bibtex 条目并通过org-bibtex-yank 将其粘贴到 Org 文件中。

我目前的解决方法:

在 Emacs 缓冲区中打开 bibtex 模式。可能你用的是 dummy.bib 在 bibtex 模式缓冲区调用中 M-x bibtex-set-dialect 选择 bibtex 或 biblatex

现在我将 bibtex 条目粘贴到 bib 文件并检查行为: - 通过 M-w 标记和复制 bibtex 模式缓冲区中的 bibentry - 更改为您的组织文件 - 在那里使用 M-x org-bibtex-yank.

通常现在它可以工作了。

问题似乎是 bibtex-parse-entry 要求在调用 bibtex-set-dialect 之前调用它。

不幸的是,您不能在 bibtex 文件中执行(简单)文件变量。 M-x 添加文件本地变量 对于变量 bibtex 和值 bibtex 或 biblatex 将不起作用。 因为 bibtex.el 不支持这个。

在组织文件中尝试

# Local Variables:
# eval: (bibtex-set-dialect 'biblatex)
# End:

在 bibtex 文件中试试

M-x add-file-local-variable

并替换该行

bibtex: biblatex

通过

eval: (bibtex-set-dialect 'biblatex)

或阅读:

https://tex.stackexchange.com/questions/78455/does-emacs-support-editing-bibliography-files-for-biblatex

【讨论】:

以上是关于org-bibtex-yank 失败,类型参数错误:stringp,nil的主要内容,如果未能解决你的问题,请参考以下文章

拟合 Keras 模型会产生错误“常量折叠失败:无效参数:不支持的类型:21”

在 Kotlin 中无法“findViewById”。收到错误“类型推断失败”

接口返回失败是啥意思

为啥将 lambda 用于非类型模板参数时 gcc 会失败?

C# OleDb OUT 参数在调用 oracle 过程时失败

您指定的网页无法访问 错误类型500是啥意思?