2

You can add something like this to your init file to do that. (helm-add-action-to-source "Copy formatted citation(s)" (lambda (_) (kill-new (mapconcat 'identity (cl-loop for key in (helm-marked-candidates) collect (org-ref-format-entry key)) "\n\n"))) helm-...


2

Org-ref supports standard bibtex and biblatex as far as I know. So far neither of those has been a limitation.


2

To check if a field exists, one approach is: (defun bibtex-field-exists-p (field) (save-excursion (bibtex-beginning-of-entry) (let ((entry (bibtex-parse-entry))) (assoc field entry)))) If the field is missing, you could do something like: (unless (bibtex-field-exists-p "journal") (bibtex-make-field '("journal" nil "missing" nil)))


2

I could succesfully config org-roam-bibtex after a lot of tries. This is my config if someone finds useful. I copied all the config from https://rgoswami.me/posts/org-note-workflow/ The part that gave me an issue is the org-ref-default-bibliography which must be a list even if you have only one directory for your bibtex file (otherwise it will throw you an ...


2

I had the same problem. In my case, it was fixed by setting org-ref-get-filename-function: (setq org-ref-get-pdf-filename-function (lambda (key) (car (bibtex-completion-find-pdf key))))


2

Instead of a constant string you can use an expression that returns your template. Assuming origdate-is-empty is a valid function that returns nil if origdate is not empty you can use something like this (s-format (concat "${author} (${date}" (unless (origdate-is-empty) "[${origdate}]") "). ${title}. In ${editor} (...


2

You can also get the keys using helm-marked-candidates: (defun get-bibtex-key (_) (let ((keys (helm-marked-candidates))) (print keys))) (helm-add-action-to-source "Get bibtex keys" 'get-bibtex-key helm-source-bibtex 0) Then: M-x helm-bibtex M-a RET


1

There doesn't appear to be a way to stop helm-bibtex from asking which kind of citation you want. You can stop it from asking you for prenotes and postnotes: (setq bibtex-completion-cite-prompt-for-optional-arguments nil) You can also make inserting a citation the default action: (helm-delete-action-from-source "Insert Citation" helm-source-...


1

In org-ref, you can only cite a bibtex entry, and not a note. You can annotate the cite link with page numbers e.g. [[cite:some-key][p200]], and that annotation is done manually.


1

If I understand correctly, you can use the (bibtex-completion-candidates) function, which returns a list of bibtex items. You then get the list containing the "=key=" string using assoc, taking the cdr (last) element of the alist which is the citation key. Finally pass this list of keys through completing-read so you can select one from the list, ...


1

You seem to be on a MAC, but the PDF key in the bibtex contains a Windows path. Maybe Zotero should export differently? Not sure if this helps but I setup the variable (setq bibtex-completion-library-path "~/cloud/Papers/") to the path which contains all my papers. And then the bibtex entries only have the name of the file (with no path) in them. Given ...


1

Partial answer: auctex (not bundled with emacs) is the definitive package for writing and compiling LaTeX documents. It is truly excellent and can be installed from ELPA easily. reftex (also bundled with emacs) is for creating and referring to all kinds of labels and citations in those documents. It insinuates well into auctex and is equally awesome. ...


Only top voted, non community-wiki answers of a minimum length are eligible