org mode下通过doi插入信息报错

我用的是windows系统,GNU Emacs版,http://ftp.gnu.org/pub/gnu/emacs/windows/下载的emacs-25.2-x86_64版本。装了org-ref、helm、 helm-bibtex等插件。在使用doi-utils-add-bibtex-entry-from-doi时提示如下:

Debugger entered–Lisp error: (void-function org-ref-find-bibliography) org-ref-find-bibliography() doi-utils-add-bibtex-entry-from-doi(“10.1016/j.cell.2017.03.020”) funcall-interactively(doi-utils-add-bibtex-entry-from-doi “10.1016/j.cell.2017.03.020”) call-interactively(doi-utils-add-bibtex-entry-from-doi record nil) command-execute(doi-utils-add-bibtex-entry-from-doi record) execute-extended-command(nil “doi-utils-add-bibtex-entry-from-doi” “doi-add”) funcall-interactively(execute-extended-command nil “doi-utils-add-bibtex-entry-from-doi” “doi-add”) call-interactively(execute-extended-command nil nil) command-execute(execute-extended-command)

求问是什么问题,该怎么解决。谢谢。 另,安装org-ref插件时其实提示过一些warning,但是不能理解,没有处理。 doi-utils.el:1371:1:Warning: the following functions are not known to be defined: org-ref-find-bibliography, reftex-get-bib-field, org-ref-bib-citation

org-ref-arxiv.el:231:1:Warning: the function ‘parsebib-find-bibtex-dialect’ is not known to be defined.

In org-ref-bibtex-assoc-pdf-with-entry: org-ref-bibtex.el:728:25:Warning: reference to free variable ‘org-ref-pdf-directory’

In orhc-bibtex-field-formatter: org-ref-bibtex.el:1092:27:Warning: reference to free variable ‘org-ref-pdf-directory’ org-ref-bibtex.el:1098:27:Warning: reference to free variable ‘org-ref-notes-directory’

In end of data: org-ref-bibtex.el:1324:1:Warning: the following functions are not known to be defined: reftex-get-bib-field, bibtex-completion-edit-notes, parsebib-find-next-item, parsebib-read-entry, bibtex-completion-get-value, org-ref-find-bibliography, bibtex-completion-get-entry

In end of data: org-ref-citeproc.el:919:1:Warning: the following functions are not known to be defined: org-ref-get-bibtex-key-and-file, parsebib-find-bibtex-dialect

还有很多…………

以及各种error In org-ref: org-ref-helm.el:289:78:Error: ‘add-to-list’ can’t use lexical var ‘matches’; use ‘push’ or ‘cl-pushnew’ org-ref-helm.el:317:54:Error: ‘add-to-list’ can’t use lexical var ‘matches’; use ‘push’ or ‘cl-pushnew’ org-ref-helm.el:306:39:Error: ‘add-to-list’ can’t use lexical var ‘matches’; use ‘push’ or ‘cl-pushnew’

/(ㄒoㄒ)/~~求帮助……

恐怕你没有用正确的方法安装插件,或者 org-ref-core.el 没正确加载,所以会报错

求问怎么正确安装😂,没找到过教程。谢谢

package-install,或者 use-package 什么的。用Cask 管理也行。

我把emacs以及package全删了,重新装了一下。结果连doi-add都不能用了/(ㄒoㄒ)/~~。使用doi-insert-bibtex时显示error in process filter: Could not create connection to data.crossref.org:443。使用doi-utils-add-bibtex-entry-from-doi则显示symbol’sfunction definition is void: org-ref-find-bibliography。是啥情况……这次安装除了提示Warning (emacs): pdftotext not found.没见有错啊……

前面一个是网络问题。后面一个,看起来你要 spacemacs/recompile-elpa 试一下。

我觉得我好像忽略了个重要的问题…… 你的 bibtex layer 的配置是哪些?

表示不懂什么是spacemacs/recompile-elpa……

另外,什么叫bibtex layer……/(ㄒoㄒ)/~~我是小白……

我装的package有org和org-ref(及其下需求的dash、helm、helm-bibtex、ivy、hydra、key-chord、s、f、pdf-tools),其他的基本是built-in的了。

bibtex 跟LaTex有关,制作参考文献的。

大概明白了。 你可能不知道 Spacmacs 有现成配置好的 bibtex 工具能用。

额……还是没看懂。 如果配置文件就是.emacs或者init.el之类的话,我的里面貌似没有version-control shell auto-completion之类的东西。

我的init.el里面是这些东西,然后没有.emacs这个文件。

(require 'package) (add-to-list ‘package-archives’ (“melpa” . “http://elpa.emacs-china.org/melpa/”) t) (add-to-list ‘package-archives’ (“gnu” . “http://elpa.emacs-china.org/gnu/”) t) (add-to-list ‘package-archives’ (“elpa” . “Welcome to ELPA”) t) (add-to-list ‘package-archives’ (“marmalade” . “http://elpa.emacs-china.org/marmalade/”) t) (add-to-list ‘package-archives’ (“org” . “http://elpa.emacs-china.org/org/”) t) (add-to-list ‘package-archives’ (“user42 elpa” . “http://elpa.emacs-china.org/user42/”) t) (add-to-list ‘package-archives’ (“melpa stable” . “http://elpa.emacs-china.org/melpa-stable/”) t)

;; Added by Package.el. This must come before configurations of ;; installed packages. Don’t delete this line. If you don’t want it, ;; just comment it out by adding a semicolon to the start of the line. ;; You may delete these explanatory comments. (package-initialize)

(custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won’t work right. '(package-selected-packages (quote (org org-ref)))) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won’t work right. )

;;中文与外文字体设置 (set-default-font “Cambria-12”) (set-fontset-font “fontset-default”
‘gb18030’ (“楷体” . “unicode-bmp”))

(setq frame-title-format “%b %I”) ;显示文件名和大小

(auto-image-file-mode t) ;让Emacs可以直接打开、显示图片

(fset 'yes-or-no-p 'y-or-n-p) ;以Y/N代表yes/no

(setq x-select-enable-clipboard t) ;支持和外部程序的拷贝


另,我是想在org mode下通过doi插入bibtex类型的信息,类似于: @article{邵明柏2013盐酸小檗碱对高糖、高脂联合诱导内皮细胞分泌, title={盐酸小檗碱对高糖、高脂联合诱导内皮细胞分泌TNF-α的干预作用}, author={邵明柏 and 何秀婷 and 李杰}, journal={中国老年学}, volume={33}, number={18}, pages={4496-4498}, year={2013}, } 这种的

进入bibtex模式后貌似和org模式是冲突的?

额,怎么用呢?有没有教程? 我找到一个可能的网站,http://www.jonathanleroux.org/bibtex-mode.html,但是英文的,表示不想看……

Emacs 自带的 Org 是老版本。为了兼容你可能要再装个新的 Org。

已经是最新版的org,还是有问题。emacs比我想象的要麻烦太多了……

我按照你的配置尝试了一下,我只改了包的安装源。

安装org, org-ref后,运行你上面的命令,查找文献,没有出现任何问题。

求给个安装源,我再试试,谢谢。

论坛的安装源就可以了。 把可以你安装的elpa里的内容都删掉,重新试试。

(require 'package)
(setq package-archives '(("gnu"   . "http://elpa.emacs-china.org/gnu/")
                         ("melpa" . "http://elpa.emacs-china.org/melpa/")))
(package-initialize)

尝试了N多次,仍然不能解决。打算以后换台电脑试试,如果还不行,可能就是网络问题?who knows……十分感谢你的帮助。THANKS。

虽然问题至今没能解决,仍然感谢你的帮助。THANKS。

org-ref是一个非常好用的工具,我从作者那里得到了不少帮助。

如果你实在想解决问题,可以加群,我试试看能不能给你解决;

或者直接去github上问作者,一般是可以解决问题的。

已申请加群。另,之前几天想到一个问题,使用此功能是否需要先建立bibtex的文件?我貌似没有建过……该怎么建立呢?谢谢!