From 97aff9d8dba3dbdfcef8a647c6a6cfd0c2717d94 Mon Sep 17 00:00:00 2001 From: JP-Ellis Date: Wed, 30 Mar 2016 19:44:30 +1100 Subject: [PATCH] Add BibTeX layer. Integrates with org mode and LaTeX in order to manage citations. Signed-off-by: JP-Ellis --- layers/+emacs/org/README.org | 3 + layers/+lang/bibtex/README.org | 79 +++++++++++++++++++++++++ layers/+lang/bibtex/img/logo.png | Bin 0 -> 10831 bytes layers/+lang/bibtex/packages-config.el | 57 ++++++++++++++++++ layers/+lang/bibtex/packages.el | 25 ++++++++ layers/+lang/latex/README.org | 6 +- layers/+lang/latex/packages.el | 2 +- layers/+lang/markdown/README.org | 3 + 8 files changed, 172 insertions(+), 3 deletions(-) create mode 100644 layers/+lang/bibtex/README.org create mode 100644 layers/+lang/bibtex/img/logo.png create mode 100644 layers/+lang/bibtex/packages-config.el create mode 100644 layers/+lang/bibtex/packages.el diff --git a/layers/+emacs/org/README.org b/layers/+emacs/org/README.org index 7d92ee36b..c737d4f4f 100644 --- a/layers/+emacs/org/README.org +++ b/layers/+emacs/org/README.org @@ -33,6 +33,9 @@ * Description This layer enables [[http://orgmode.org/][org mode]] for Spacemacs. +For more extensive support of references through BibTeX files, have a look at +the [[../+lang/bibtex][BibTeX layer]]. + ** Features: - Vim inspired key bindings are provided by [[https://github.com/edwtjo/evil-org-mode][evil-org-mode]] - Nicer bullet via [[https://github.com/sabof/org-bullets][org-bullets]] diff --git a/layers/+lang/bibtex/README.org b/layers/+lang/bibtex/README.org new file mode 100644 index 000000000..750f74648 --- /dev/null +++ b/layers/+lang/bibtex/README.org @@ -0,0 +1,79 @@ +#+TITLE: BibTeX layer +#+HTML_HEAD_EXTRA: +[[file:img/logo.png]] +* Table of Contents :TOC_4_org:noexport: + - [[Description][Description]] + - [[Install][Install]] + - [[Configuration][Configuration]] + - [[Key bindings][Key bindings]] + +* Description +BibTeX and BibLaTeX files are a common way to manage bibliographies. The format +was original designed to work with LaTeX files and subsequently has been adopted +by other markup formats such as MarkDown and Org mode. + +This layer adds support to manipulate BibTeX and BibLaTeX files and offer +utilities to automatically add new entries by DOI, arXiv identifier, ISBN, and +more. + +Once enabled, this layer also introduces additional shortcuts in other modes to +easily insert citations. + +* Install +To use this contribution add it to your =~/.spacemacs= + +#+begin_src emacs-lisp + (setq-default dotspacemacs-configuration-layers '(bibtex)) +#+end_src + +* Configuration +This layer also supports having a global BibTeX file. For a basic +configuration, add this to your =~/.spacemacs= inside +=dotspacemacs/user-config=: + +#+begin_src emacs-lisp + (setq org-ref-default-bibliography '("~/Papers/references.bib") + org-ref-pdf-directory "~/Papers/" + org-ref-bibliography-notes "~/Papers/notes.org") +#+end_src + +Certain modes, such as ~latex-mode~ with AucTeX, will automatically lookup +references in a document if any of the recognized bibliography commands are +used. Other modes may have a similar feature, or one could always set +file-local variables (through ~SPC f v f~). + +You can also customize which program is used to display the PDFs. For example, +to use Zathura: + +#+begin_src emacs-lisp + (setq org-ref-open-pdf-function (lambda (fpath) (start-process "zathura" "*helm-bibtex-zathura*" "/usr/bin/zathura" fpath))) +#+end_src + +More configuration options are available and are detailed in the ~org-ref~ and +~helm-bibtex~ package documentations. + +* Key bindings +In a Bib(La)TeX files, the following key bindings are added: + +| Key Binding | Description | +|---------------+--------------------------------------------| +| ~ m j~ | Next entry | +| ~ m k~ | Previous entry | +| ~ m p~ | Open PDF | +| ~ m n~ | Open notes | +| ~ m b~ | Open browser | +| ~ m i~ | Insert new entry | +| ~ m s~ | Sort entry | +| ~ m h~ | Various actions on entry | +| ~ m l a~ | Lookup and add arXiv paper (don't get PDF) | +| ~ m l A~ | Lookup and add arXiv paper (download PDF) | +| ~ m l d~ | Lookup and add paper by DOI | +| ~ m l i~ | Lookup and add book by ISBN | +| ~ m l p~ | Lookup and add paper by PMID | + +In addition, ~org-mode~, ~latex-mode~ and ~markdown-mode~ all have the following +key binding added: + +| Key Binding | Description | +|-------------+-----------------| +| ~SPC m i c~ | Insert citation | diff --git a/layers/+lang/bibtex/img/logo.png b/layers/+lang/bibtex/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..fac271b8c0984e56358b0d3527084304aebb427c GIT binary patch literal 10831 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 KWoo3%gZ>YtCM0SA literal 0 HcmV?d00001 diff --git a/layers/+lang/bibtex/packages-config.el b/layers/+lang/bibtex/packages-config.el new file mode 100644 index 000000000..ace0d798c --- /dev/null +++ b/layers/+lang/bibtex/packages-config.el @@ -0,0 +1,57 @@ +;;; packages-config.el --- BibTeX Layer packages file for Spacemacs +;; +;; Copyright (c) 2012-2014 Sylvain Benner +;; Copyright (c) 2014-2015 Sylvain Benner & Contributors +;; +;; Author: Joshua Ellis +;; URL: https://github.com/JP-Ellis +;; +;; This file is not part of GNU Emacs. +;; +;;; License: GPLv3 + +;;; Commentary: + +;;; Code: + +(defun bibtex/init-org-ref () + (use-package org-ref + :defer t + :config + (progn + (spacemacs/set-leader-keys-for-major-mode 'bibtex-mode + ;; Navigation + "j" 'org-ref-bibtex-next-entry + "k" 'org-ref-bibtex-previous-entry + + ;; Open + "b" 'org-ref-open-in-browser + "n" 'org-ref-open-bibtex-notes + "p" 'org-ref-open-bibtex-pdf + + ;; Misc + "h" 'org-ref-bibtex-hydra/body + "i" 'org-ref-bibtex-hydra/org-ref-bibtex-new-entry/body-and-exit + "s" 'org-ref-sort-bibtex-entry + + ;; Lookup utilities + "la" 'arxiv-add-bibtex-entry + "lA" 'arxiv-get-pdf-add-bibtex-entry + "ld" 'doi-utils-add-bibtex-entry-from-doi + "li" 'isbn-to-bibtex + "lp" 'pubmed-insert-bibtex-from-pmid + )))) + +(defun bibtex/post-init-auctex () + (spacemacs/set-leader-keys-for-major-mode 'latex-mode + "ic" 'org-ref-helm-insert-cite-link)) + +(defun bibtex/post-init-org () + (spacemacs/set-leader-keys-for-major-mode 'org-mode + "ic" 'org-ref-helm-insert-cite-link)) + +(defun bibtex/post-init-markdown-mode () + (spacemacs/set-leader-keys-for-major-mode 'markdown-mode + "ic" 'org-ref-helm-insert-cite-link)) + +;;; packages.el ends here diff --git a/layers/+lang/bibtex/packages.el b/layers/+lang/bibtex/packages.el new file mode 100644 index 000000000..77b8d2f93 --- /dev/null +++ b/layers/+lang/bibtex/packages.el @@ -0,0 +1,25 @@ +;;; packages.el --- BibTeX Layer packages file for Spacemacs. +;; +;; Copyright (c) 2012-2016 Sylvain Benner & Contributors +;; +;; Author: Joshua Ellis +;; URL: https://github.com/JP-Ellis +;; +;; This file is not part of GNU Emacs. +;; +;;; License: GPLv3 + +;;; Commentary: + +;;; Code: + +(defconst bibtex-packages + '( + auctex + helm + org + org-ref + markdown-mode + )) + +;;; packages-config.el ends here diff --git a/layers/+lang/latex/README.org b/layers/+lang/latex/README.org index 4df377643..9aee57fb4 100644 --- a/layers/+lang/latex/README.org +++ b/layers/+lang/latex/README.org @@ -19,6 +19,9 @@ * Description This layer adds support for LaTeX files with [[https://savannah.gnu.org/projects/auctex/][AucTeX]]. +For more extensive support of BibTeX files than RefTeX provides, have a look at +the [[../bibtex][BibTeX layer]]. + ** Features - Auto-build with [[https://github.com/tom-tan/auctex-latexmk/][auctex-latexmk]] - Auto-completion with [[https://github.com/alexeyr/company-auctex][company-auctex]] @@ -83,7 +86,6 @@ is nil. #+END_SRC * Keybindings - | Key Binding | Description | |---------------+--------------------------------------------| | ~SPC m -~ | recenter output buffer | @@ -96,7 +98,7 @@ is nil. | ~SPC m b~ | build | | ~SPC m c~ | close LaTeX environment | | ~SPC m e~ | insert LaTeX environment | -| ~SPC m i~ | insert =\item= | +| ~SPC m i i~ | insert =\item= | | ~SPC m k~ | kill TeX job | | ~SPC m l~ | recenter output buffer | | ~SPC m m~ | insert LaTeX macro | diff --git a/layers/+lang/latex/packages.el b/layers/+lang/latex/packages.el index 0b7a8cb60..bd027e675 100644 --- a/layers/+lang/latex/packages.el +++ b/layers/+lang/latex/packages.el @@ -94,7 +94,7 @@ "." 'LaTeX-mark-environment ;; C-c . "c" 'LaTeX-close-environment ;; C-c ] "e" 'LaTeX-environment ;; C-c C-e - "i" 'LaTeX-insert-item ;; C-c C-j + "ii" 'LaTeX-insert-item ;; C-c C-j "s" 'LaTeX-section ;; C-c C-s "fe" 'LaTeX-fill-environment ;; C-c C-q C-e "fp" 'LaTeX-fill-paragraph ;; C-c C-q C-p diff --git a/layers/+lang/markdown/README.org b/layers/+lang/markdown/README.org index 1fb47ecca..96c6ac10b 100644 --- a/layers/+lang/markdown/README.org +++ b/layers/+lang/markdown/README.org @@ -23,6 +23,9 @@ This layer adds markdown support to Spacemacs. +For more extensive support of references with BibTeX files, have a look at the +[[../bibtex][BibTeX layer]]. + ** Features: - markdown files support via [[http://jblevins.org/git/markdown-mode.git/][markdown-mode]] - TOC generation via [[https://github.com/ardumont/markdown-toc][markdown-toc]]