emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Python source block and :dir header arg
@ 2019-04-01 17:06 Joao Cortes
  2019-04-01 18:12 ` John Kitchin
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Joao Cortes @ 2019-04-01 17:06 UTC (permalink / raw)
  To: emacs-orgmode@gnu.org

Consider the following python source block,
           
#+begin_src python :results output : session :dir ./run
	import os;
	cwd = os.getcwd()
	print(cwd)
#+end_src

The dir header arg should change the directory used to run the session,
in this case to the directory "../base/run", where "base" is the parent
directory the file visited by the current buffer. Instead, I get
"../base". Is this a bug?

Thank you
Joao Cortes

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Python source block and :dir header arg
  2019-04-01 17:06 Python source block and :dir header arg Joao Cortes
@ 2019-04-01 18:12 ` John Kitchin
  2019-04-01 18:23   ` Joao Cortes
  2019-04-01 18:16 ` Joao Cortes
  2019-04-05  3:07 ` stardiviner
  2 siblings, 1 reply; 8+ messages in thread
From: John Kitchin @ 2019-04-01 18:12 UTC (permalink / raw)
  To: Joao Cortes; +Cc: emacs-orgmode@gnu.org

[-- Attachment #1: Type: text/plain, Size: 901 bytes --]

You might need to provide some additional information about your setup
(org-version, etc.). This works for me in org 9.1.9.

John

-----------------------------------
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu



On Mon, Apr 1, 2019 at 1:07 PM Joao Cortes <joaooneillcortes@outlook.pt>
wrote:

> Consider the following python source block,
>
> #+begin_src python :results output : session :dir ./run
>         import os;
>         cwd = os.getcwd()
>         print(cwd)
> #+end_src
>
> The dir header arg should change the directory used to run the session,
> in this case to the directory "../base/run", where "base" is the parent
> directory the file visited by the current buffer. Instead, I get
> "../base". Is this a bug?
>
> Thank you
> Joao Cortes
>
>

[-- Attachment #2: Type: text/html, Size: 1570 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Python source block and :dir header arg
  2019-04-01 17:06 Python source block and :dir header arg Joao Cortes
  2019-04-01 18:12 ` John Kitchin
@ 2019-04-01 18:16 ` Joao Cortes
  2019-04-02 15:59   ` John Kitchin
  2019-04-05  3:07 ` stardiviner
  2 siblings, 1 reply; 8+ messages in thread
From: Joao Cortes @ 2019-04-01 18:16 UTC (permalink / raw)
  To: emacs-orgmode@gnu.org

Looking at org-babel-execute-src-block, It seems the only way to get the
the intended behavihour is adding :mkdirp "yes" or some other
value that gives a true value to the result of the =and= call in the
following snippet.

This is the relevant code at ob-core.el, starting at line 681.
#+begin_src emacs-lisp :line yes
		 (default-directory
		   (or (and dir
			    (not (member mkdirp '("no" "nil" nil)))
			    (progn
			      (let ((d (file-name-as-directory
					(expand-file-name dir))))
				(make-directory d 'parents)
				d)))
		       default-directory))
#+end_src

This looks like a bug. If the :dir directory already
exists, the :mkdirp parameter should not stop setting the default
directory to :dir

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Python source block and :dir header arg
  2019-04-01 18:12 ` John Kitchin
@ 2019-04-01 18:23   ` Joao Cortes
  0 siblings, 0 replies; 8+ messages in thread
From: Joao Cortes @ 2019-04-01 18:23 UTC (permalink / raw)
  To: emacs-orgmode@gnu.org


Sorry I forgot that. Here it is.


Emacs  : GNU Emacs 26.1 (build 1, x86_64-redhat-linux-gnu, GTK+ Version 3.23.2)
 of 2018-08-13
Package: Org mode version 9.2.2 (release_9.2.2-324-g86bff2 @ ~/.emacs.d/org-mode/lisp/)

current state:
==============
(setq
 org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer)
 org-link-shell-confirm-function 'yes-or-no-p
 org-babel-after-execute-hook '(org-display-inline-images)
 org-metadown-hook '(org-babel-pop-to-session-maybe)
 org-clock-out-hook '(org-clock-remove-empty-clock-drawer)
 org-html-format-inlinetask-function 'org-html-format-inlinetask-default-function
 org-enforce-todo-dependencies t
 org-ref-create-notes-hook '((lambda nil (org-narrow-to-subtree)
			      (insert (format "cite:%s\n" (org-entry-get (point) "Custom_ID"))))
			     )
 org-odt-format-headline-function 'org-odt-format-headline-default-function
 org-ref-show-broken-links nil
 org-agenda-files '("~/OneDrive/Documents/escola/doutoramento/office/logbook/PhD.org" "~/OneDrive/Documents/biblioteca//office/bibliothecary.org" "~/OneDrive/Documents/geral.org")
 org-ascii-format-inlinetask-function 'org-ascii-format-inlinetask-default
 org-ref-pdf-directory "~/OneDrive/Documents/biblioteca/pandora/"
 org-modules '(ol-bbdb ol-bibtex ol-docview ol-eww ol-gnus org-habit ol-info ol-irc ol-mhe ol-rmail
	       ol-w3m)
 org-blocker-hook '(org-block-todo-from-children-or-siblings-or-parent)
 org-mode-hook '((lambda nil (abbrev-mode 1)) org-tempo-setup org-clock-load org-ref-org-menu
		 (lambda nil (org-bullets-mode 1))
		 #[0 "\301\211.\207" [imenu-create-index-function org-imenu-get-tree] 2]
		 turn-on-auto-fill
		 #[0 "\300\301\302\303\304$\207"
		   [add-hook change-major-mode-hook org-show-all append local] 5]
		 #[0 "\300\301\302\303\304$\207"
		   [add-hook change-major-mode-hook org-babel-show-result-all append local] 5]
		 org-babel-result-hide-spec org-babel-hide-all-hashes org-eldoc-load)
 org-clock-persist 'history
 org-ref-insert-cite-function 'org-ref-helm-insert-cite-link
 org-yank-adjusted-subtrees t
 org-odt-format-drawer-function #[514 "\207" [] 3 "\n\n(fn NAME CONTENTS)"]
 org-archive-hook '(org-attach-archive-delete-maybe)
 org-confirm-elisp-link-function 'yes-or-no-p
 org-ref-clean-bibtex-key-function '(lambda (key) (replace-regexp-in-string ":" "" key))
 org-agenda-before-write-hook '(org-agenda-add-entry-text)
 org-preview-latex-default-process 'dvisvgm
 org-metaup-hook '(org-babel-load-in-session-maybe)
 org-bibtex-headline-format-function #[257 "\300.\236A\207" [:title] 3 "\n\n(fn ENTRY)"]
 org-latex-format-drawer-function #[514 "\207" [] 3 "\n\n(fn _ CONTENTS)"]
 org-babel-pre-tangle-hook '(save-buffer)
 org-file-apps '(("\\.pdf\\'" lambda (file link) (org-pdfview-open link)) (auto-mode . emacs)
		 ("\\.mm\\'" . default) ("\\.x?html?\\'" . default) ("\\.pdf\\'" . default))
 org-tab-first-hook '(org-babel-hide-result-toggle-maybe org-babel-header-arg-expand)
 org-ref-bibliography-notes "~/OneDrive/Documents/biblioteca//office/bibliothecary.org"
 org-babel-load-languages '((latex . t) (python . t) (shell . t) (gnuplot . t) (C . t) (R . t)
			    (ruby . t))
 org-ref-clean-bibtex-entry-hook '(org-ref-bibtex-format-url-if-doi orcb-key-comma
				   org-ref-replace-nonascii orcb-& orcb-% org-ref-title-case-article
				   orcb-clean-year orcb-key orcb-clean-doi orcb-clean-pages
				   orcb-check-journal org-ref-sort-bibtex-entry orcb-fix-spacing)
 org-log-done 'time
 org-ref-insert-label-function 'org-ref-helm-insert-label-link
 org-ref-open-pdf-function 'org-ref-open-pdf-at-point
 org-columns-summary-types '(("X+" org-columns--summary-sum joc/org-collect-enrolled))
 org-ascii-format-drawer-function #[771 ".\207" [] 4 "\n\n(fn NAME CONTENTS WIDTH)"]
 org-ref-open-notes-function '(lambda nil (org-show-entry) (outline-show-branches)
			       (outline-show-children) (org-cycle (quote (64)))
			       (recenter-top-bottom 0))
 org-src-lang-modes '(("arduino" . arduino) ("redis" . redis) ("php" . php) ("C" . c) ("C++" . c++)
		      ("asymptote" . asy) ("bash" . sh) ("beamer" . latex) ("calc" . fundamental)
		      ("cpp" . c++) ("ditaa" . artist) ("dot" . fundamental) ("elisp" . emacs-lisp)
		      ("ocaml" . tuareg) ("screen" . shell-script) ("shell" . sh) ("sqlite" . sql))
 org-occur-hook '(org-first-headline-recenter)
 org-log-into-drawer "LOGBOOK"
 org-ref-bibtex-assoc-pdf-with-entry-move-function 'rename-file
 org-ref-insert-link-function 'org-ref-helm-insert-cite-link
 org-ref-insert-ref-function 'org-ref-helm-insert-ref-link
 org-agenda-include-diary t
 org-structure-template-alist '(("el" . "src emacs-lisp") ("a" . "export ascii") ("c" . "center")
				("C" . "comment") ("e" . "example") ("E" . "export")
				("h" . "export html") ("l" . "export latex") ("q" . "quote")
				("s" . "src") ("v" . "verse"))
 org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-show-empty-lines
		  org-optimize-window-after-visibility-change)
 org-speed-command-hook '(org-speed-command-activate org-babel-speed-command-activate)
 org-ref-default-bibliography '("~/OneDrive/Documents/biblioteca/office/biblioteca.bib")
 org-preview-latex-process-alist '((dvipng :programs ("latex" "dvipng") :description "dvi > png"
				    :message "you need to install the programs: latex and dvipng."
				    :image-input-type "dvi" :image-output-type "png"
				    :image-size-adjust (1.0 . 1.0) :latex-compiler
				    ("latex -interaction nonstopmode -output-directory %o %f")
				    :image-converter ("dvipng -D %D -T tight -o %O %f"))
				   (dvisvgm :programs ("latex" "dvisvgm") :description "dvi > svg"
				    :message "you need to install the programs: latex and dvisvgm."
				    :image-input-type "dvi" :image-output-type "svg"
				    :image-size-adjust (1.7 . 1.5) :latex-compiler
				    ("latex -interaction nonstopmode -output-directory %o %f")
				    :image-converter ("dvisvgm %f -n -b min --exact -c %S -o %O"))
				   (imagemagick :programs ("latex" "convert") :description "pdf > png"
				    :message
				    "you need to install the programs: latex and imagemagick."
				    :image-input-type "pdf" :image-output-type "png"
				    :image-size-adjust (1.0 . 1.0) :latex-compiler
				    ("pdflatex -interaction nonstopmode -output-directory %o %f")
				    :image-converter
				    ("convert -density %D -trim -antialias %f -quality 100 %O"))
				   )
 org-odt-format-inlinetask-function 'org-odt-format-inlinetask-default-function
 org-attach-method 'ln
 org-ref-completion-library 'org-ref-ivy-cite
 org-dynamic-block-alist '(("columnview" . org-columns-insert-dblock)
			   ("clocktable" . org-clock-report))
 org-babel-tangle-lang-exts '(("ruby" . "rb") ("D" . "d") ("C++" . "cpp") ("python" . "py")
			      ("latex" . "tex") ("emacs-lisp" . "el") ("elisp" . "el"))
 org-confirm-shell-link-function 'yes-or-no-p
 org-link-parameters '(("id" :follow org-id-open) ("w3m" :store org-w3m-store-link)
		       ("rmail" :follow org-rmail-open :store org-rmail-store-link)
		       ("mhe" :follow org-mhe-open :store org-mhe-store-link)
		       ("irc" :follow org-irc-visit :store org-irc-store-link :export org-irc-export)
		       ("info" :follow org-info-open :export org-info-export :store
			org-info-store-link)
		       ("gnus" :follow org-gnus-open :store org-gnus-store-link)
		       ("eww" :follow eww :store org-eww-store-link)
		       ("bbdb" :follow org-bbdb-open :export org-bbdb-export :complete
			org-bbdb-complete-link :store org-bbdb-store-link)
		       ("docview" :follow org-docview-open :export org-docview-export :store
			org-docview-store-link)
		       ("man" :follow org-man-open :export org-man-export :store org-man-store-link)
		       ("printindex" :follow org-ref-index :export
			#[(path desc format) "\b\301=\205	.\300\302!\207"
			  [format latex "\\printindex"] 2]
			)
		       ("index" :follow #[(path) "\301\b!\207" [path occur] 2] :export
			#[(path desc format) "\b\302=\205\n.\300\303	\"\207"
			  [format path latex "\\index{%s}"] 3]
			)
		       ("bibentry" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-bibentry :complete org-bibentry-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("Autocites" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-Autocites :complete org-Autocites-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("autocites" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-autocites :complete org-autocites-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("supercites" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-supercites :complete org-supercites-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("Textcites" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-Textcites :complete org-Textcites-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("textcites" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-textcites :complete org-textcites-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("Smartcites" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-Smartcites :complete org-Smartcites-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("smartcites" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-smartcites :complete org-smartcites-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("footcitetexts" :follow
			(lambda (_) (funcall org-ref-cite-onclick-function nil)) :export
			org-ref-format-footcitetexts :complete org-footcitetexts-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("footcites" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-footcites :complete org-footcites-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("Parencites" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-Parencites :complete org-Parencites-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("parencites" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-parencites :complete org-parencites-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("Cites" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-Cites :complete org-Cites-complete-link :help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("cites" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-cites :complete org-cites-complete-link :help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("fnotecite" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-fnotecite :complete org-fnotecite-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("Pnotecite" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-Pnotecite :complete org-Pnotecite-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("pnotecite" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-pnotecite :complete org-pnotecite-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("Notecite" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-Notecite :complete org-Notecite-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("notecite" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-notecite :complete org-notecite-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("footfullcite" :follow
			(lambda (_) (funcall org-ref-cite-onclick-function nil)) :export
			org-ref-format-footfullcite :complete org-footfullcite-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("fullcite" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-fullcite :complete org-fullcite-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("citeurl" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-citeurl :complete org-citeurl-complete-link :help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("citedate*" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-citedate* :complete org-citedate*-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("citedate" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-citedate :complete org-citedate-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("citetitle*" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-citetitle* :complete org-citetitle*-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("citetitle" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-citetitle :complete org-citetitle-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("Citeauthor*" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-Citeauthor* :complete org-Citeauthor*-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("Autocite*" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-Autocite* :complete org-Autocite*-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("autocite*" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-autocite* :complete org-autocite*-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("Autocite" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-Autocite :complete org-Autocite-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("autocite" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-autocite :complete org-autocite-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("supercite" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-supercite :complete org-supercite-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("parencite*" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-parencite* :complete org-parencite*-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("cite*" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-cite* :complete org-cite*-complete-link :help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("Smartcite" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-Smartcite :complete org-Smartcite-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("smartcite" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-smartcite :complete org-smartcite-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("Textcite" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-Textcite :complete org-Textcite-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("textcite" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-textcite :complete org-textcite-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("footcitetext" :follow
			(lambda (_) (funcall org-ref-cite-onclick-function nil)) :export
			org-ref-format-footcitetext :complete org-footcitetext-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("footcite" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-footcite :complete org-footcite-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("Parencite" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-Parencite :complete org-Parencite-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("parencite" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-parencite :complete org-parencite-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("Cite" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-Cite :complete org-Cite-complete-link :help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("Citeauthor" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-Citeauthor :complete org-Citeauthor-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("Citealp" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-Citealp :complete org-Citealp-complete-link :help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("Citealt" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-Citealt :complete org-Citealt-complete-link :help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("Citep" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-Citep :complete org-Citep-complete-link :help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("Citet" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-Citet :complete org-Citet-complete-link :help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("citeyearpar" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-citeyearpar :complete org-citeyearpar-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("citeyear*" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-citeyear* :complete org-citeyear*-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("citeyear" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-citeyear :complete org-citeyear-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("citeauthor*" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-citeauthor* :complete org-citeauthor*-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("citeauthor" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-citeauthor :complete org-citeauthor-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("citetext" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-citetext :complete org-citetext-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("citenum" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-citenum :complete org-citenum-complete-link :help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("citealp*" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-citealp* :complete org-citealp*-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("citealp" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-citealp :complete org-citealp-complete-link :help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("citealt*" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-citealt* :complete org-citealt*-complete-link
			:help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("citealt" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-citealt :complete org-citealt-complete-link :help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("citep*" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-citep* :complete org-citep*-complete-link :help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("citep" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-citep :complete org-citep-complete-link :help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("citet*" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-citet* :complete org-citet*-complete-link :help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("citet" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-citet :complete org-citet-complete-link :help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("nocite" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-nocite :complete org-nocite-complete-link :help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			)
		       ("cite" :follow (lambda (_) (funcall org-ref-cite-onclick-function nil))
			:export org-ref-format-cite :complete org-cite-complete-link :help-echo
			(lambda (window object position)
			 (when org-ref-show-citation-on-enter
			  (save-excursion (goto-char position)
			   (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor))))
			    (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))
			   )
			  )
			 )
			:face org-ref-cite-link-face-fn :display full :keymap
			(keymap (S-up . org-ref-sort-citation-link)
			 (S-right lambda nil (interactive) (org-ref-swap-citation-link 1))
			 (S-left lambda nil (interactive) (org-ref-swap-citation-link -1))
			 (C-right . org-ref-next-key) (C-left . org-ref-previous-key)
			 (16777337 lambda nil
			  "Paste key at point. Assumes the first thing in the killring is a key."
			  (interactive) (org-ref-insert-key-at-point (car kill-ring)))
			 (16777303 lambda nil "Copy all the keys at point." (interactive)
			  (kill-new (org-element-property :path (org-element-context))))
			 (16777335 lambda nil (interactive)
			  (kill-new (car (org-ref-get-bibtex-key-and-file))))
			 (16777318 lambda nil (interactive)
			  (save-excursion (org-ref-open-citation-at-point)
			   (kill-new (org-ref-format-bibtex-entry-at-point)))
			  )
			 (16777319 . org-ref-google-scholar-at-point)
			 (16777317 lambda nil "Email entry at point" (interactive)
			  (org-ref-open-citation-at-point) (org-ref-email-bibtex-entry))
			 (16777315 . org-ref-wos-citing-at-point)
			 (16777330 . org-ref-wos-related-at-point)
			 (16777326 . org-ref-open-notes-at-point)
			 (16777328 . org-ref-open-pdf-at-point) (16777333 . org-ref-open-url-at-point)
			 (16777314 . org-ref-open-citation-at-point)
			 (16777327 . org-ref-cite-hydra/body) (follow-link . mouse-face)
			 (mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
			:store org-ref-bibtex-store-link)
		       ("Cref" :follow org-ref-ref-follow :export org-ref-Cref-export :complete
			org-ref-complete-link :face org-ref-ref-face-fn :help-echo
			org-ref-ref-help-echo)
		       ("cref" :follow org-ref-ref-follow :export org-ref-cref-export :complete
			org-ref-complete-link :face org-ref-ref-face-fn :help-echo
			org-ref-ref-help-echo)
		       ("autoref" :follow org-ref-ref-follow :export org-ref-autoref-export :complete
			org-ref-complete-link :face org-ref-ref-face-fn :help-echo
			org-ref-ref-help-echo)
		       ("eqref" :follow org-ref-ref-follow :export org-ref-eqref-export :complete
			org-ref-complete-link :face org-ref-ref-face-fn :help-echo
			org-ref-ref-help-echo)
		       ("nameref" :follow org-ref-ref-follow :export org-ref-export-nameref :complete
			org-ref-complete-link :face org-ref-ref-face-fn :help-echo
			org-ref-ref-help-echo)
		       ("pageref" :follow org-ref-ref-follow :export
			#[(path desc format)
			  "\b\302\267\202.\0\300\303	\"\207\300\304	\"\207\305\207"
			  [format path #s
			   (hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy
			    t data (html 6 latex 11))
			   "(<pageref>%s</pageref>)" "\\pageref{%s}" nil]
			  3]
			:face org-ref-ref-face-fn :complete org-pageref-complete-link :help-echo
			org-ref-ref-help-echo)
		       ("ref" :follow org-ref-ref-follow :export org-ref-ref-export :complete
			org-ref-complete-link :face org-ref-ref-face-fn :help-echo
			org-ref-ref-help-echo)
		       ("label" :follow
			#[(label)
			  "\302\b!.\303\304\305	\211\306U\204.\0	\307V\203.\0\310\202.\0\311#\302\b!\")\207"
			  [label count org-ref-count-labels message format "%s occurence%s" 0 1 "s" ""]
			  6
			  "On clicking count the number of label tags used in the buffer.\nA number greater than one means multiple labels!"]
			:export
			#[(keyword desc format)
			  "\b\302\267\202.\0\300\303	\"\207\300\304	\"\207\300\305	\"\207\306\207"
			  [format
			   
			   keyword
			   
			   #s
			   
			   (hash-table
			    
													  
													    
														    
			    size
			    
													  
													    
														    
			    3
			    
													  
													    
														    
			    test
			    
													  
													    
														    
			    eq
			    
													  
													    
														    
			    rehash-size
			    
													  
													    
														    
			    1.5
			    
													  
													    
														    
			    rehash-threshold
			    
													  
													    
														    
			    0.8125
			    
													  
													    
														    
			    purecopy
			    
													  
													    
														    
			    t
			    
													  
													    
														    
			    data
			    
													  
													    
														    
			    (html 6 md 11 latex 16)
			    
													  
													    
														    
			    )
			   
			   "<div id=\"%s\"></div>" "<a name=\"%s\"></a>" "\\label{%s}" nil]
			  3]
			:store org-label-store-link :face org-ref-label-face-fn :help-echo
			#[(window object position)
			  "\212\bb\210\303 .\304\305!.r\nq\210\306\216	c\210\307 \210\310 -\207"
			  [position
			   
			   s
			   
			   temp-buffer
			   
			   org-ref-link-message
			   
			   generate-new-buffer
			   
			   " *temp*"
			   
			   #[nil
			     
													     
														       
																	   
																				
																					    
																					      
			     "\301\b!\205	.\302\b!\207"
			     
													     
														       
																	   
																				
																					    
																					      
			     [temp-buffer buffer-name kill-buffer]
			     
			     
			     
			     
			     
			     
													     
														       
																	   
																				
																					    
																					      
			     2]
			   
			   fill-paragraph buffer-string]
			  2]
			)
		       ("list-of-tables" :follow org-ref-list-of-tables :export
			#[(keyword desc format) "\b\301=\205	.\300\302!\207"
			  [format latex "\\listoftables"] 2]
			)
		       ("list-of-figures" :follow org-ref-list-of-figures :export
			#[(keyword desc format) "\b\301=\205	.\300\302!\207"
			  [format latex "\\listoffigures"] 2]
			)
		       ("addbibresource" :follow org-ref-follow-addbibresource :export
			#[(keyword desc format)
			  "\b\302\267\202.\0\300\303!\207\300\304	\"\207\305\207"
			  [format keyword #s
			   (hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy
			    t data (html 6 latex 10))
			   "" "\\addbibresource{%s}" nil]
			  3]
			)
		       ("bibliographystyle" :export
			#[(keyword desc format)
			  "\b\302=\204\f.\b\303=\203.\0\300\304	\"\207\305\207"
			  [format keyword latex beamer "\\bibliographystyle{%s}" ""] 3]
			)
		       ("printbibliography" :follow org-ref-open-bibliography :export
			#[(keyword desc format) "\b\302\267\202.\0\303 \207\304 \207	\207\305\207"
			  [format org-ref-printbibliography-cmd #s
			   (hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy
			    t data (org 6 html 9 latex 12))
			   org-ref-get-org-bibliography org-ref-get-html-bibliography nil]
			  2]
			)
		       ("nobibliography" :follow org-ref-open-bibliography :export
			org-ref-nobibliography-format)
		       ("bibliography" :follow org-ref-open-bibliography :export
			org-ref-bibliography-format :complete org-bibliography-complete-link
			:help-echo
			#[(window object position)
			  "\212\bb\210\303 .\304\305!.r\nq\210\306\216	c\210\307 \210\310 -\207"
			  [position
			   
			   s
			   
			   temp-buffer
			   
			   org-ref-link-message
			   
			   generate-new-buffer
			   
			   " *temp*"
			   
			   #[nil
			     
													     
														       
																	   
																				
																					    
																					      
			     "\301\b!\205	.\302\b!\207"
			     
													     
														       
																	   
																				
																					    
																					      
			     [temp-buffer buffer-name kill-buffer]
			     
			     
			     
			     
			     
			     
													     
														       
																	   
																				
																					    
																					      
			     2]
			   
			   fill-paragraph buffer-string]
			  2]
			:face org-ref-bibliography-face-fn)
		       ("Acp" :follow or-follow-acronym :face org-ref-acronym-face :help-echo
			or-acronym-tooltip :export
			#[771 "\211\301\267\202.\0\302\303\300A.#\207\302\304.\226\"\207"
			  [("Acp" . "Glspl") #s
			   (hash-table size 1 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy
			    t data (latex 6))
			   format "\\%s{%s}" "%s"]
			  7 "\n\n(fn PATH _ FORMAT)"]
			)
		       ("acp" :follow or-follow-acronym :face org-ref-acronym-face :help-echo
			or-acronym-tooltip :export
			#[771 "\211\301\267\202.\0\302\303\300A.#\207\302\304.\226\"\207"
			  [("acp" . "glspl") #s
			   (hash-table size 1 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy
			    t data (latex 6))
			   format "\\%s{%s}" "%s"]
			  7 "\n\n(fn PATH _ FORMAT)"]
			)
		       ("Ac" :follow or-follow-acronym :face org-ref-acronym-face :help-echo
			or-acronym-tooltip :export
			#[771 "\211\301\267\202.\0\302\303\300A.#\207\302\304.\226\"\207"
			  [("Ac" . "Gls") #s
			   (hash-table size 1 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy
			    t data (latex 6))
			   format "\\%s{%s}" "%s"]
			  7 "\n\n(fn PATH _ FORMAT)"]
			)
		       ("ac" :follow or-follow-acronym :face org-ref-acronym-face :help-echo
			or-acronym-tooltip :export
			#[771 "\211\301\267\202.\0\302\303\300A.#\207\302\304.\226\"\207"
			  [("ac" . "gls") #s
			   (hash-table size 1 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy
			    t data (latex 6))
			   format "\\%s{%s}" "%s"]
			  7 "\n\n(fn PATH _ FORMAT)"]
			)
		       ("acrfull" :follow or-follow-acronym :face org-ref-acronym-face :help-echo
			or-acronym-tooltip :export
			#[771 "\211\301\267\202.\0\302\303\300A.#\207\302\304.\226\"\207"
			  [("acrfull" . "acrfull") #s
			   (hash-table size 1 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy
			    t data (latex 6))
			   format "\\%s{%s}" "%s"]
			  7 "\n\n(fn PATH _ FORMAT)"]
			)
		       ("acrlong" :follow or-follow-acronym :face org-ref-acronym-face :help-echo
			or-acronym-tooltip :export
			#[771 "\211\301\267\202.\0\302\303\300A.#\207\302\304.\226\"\207"
			  [("acrlong" . "acrlong") #s
			   (hash-table size 1 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy
			    t data (latex 6))
			   format "\\%s{%s}" "%s"]
			  7 "\n\n(fn PATH _ FORMAT)"]
			)
		       ("acrshort" :follow or-follow-acronym :face org-ref-acronym-face :help-echo
			or-acronym-tooltip :export
			#[771 "\211\301\267\202.\0\302\303\300A.#\207\302\304.\226\"\207"
			  [("acrshort" . "acrshort") #s
			   (hash-table size 1 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy
			    t data (latex 6))
			   format "\\%s{%s}" "%s"]
			  7 "\n\n(fn PATH _ FORMAT)"]
			)
		       ("glslink" :follow or-follow-glossary :face org-ref-glossary-face :help-echo
			or-glossary-tooltip :export
			#[771 "\211\300\267\202\f.\301\302.\x04#\207\301\303.\"\207"
			  [#s
			   (hash-table size 1 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy
			    t data (latex 6))
			   format "\\glslink{%s}{%s}" "%s"]
			  7 "\n\n(fn PATH DESC FORMAT)"]
			)
		       ("glsdesc" :follow or-follow-glossary :face org-ref-glossary-face :help-echo
			or-glossary-tooltip :export
			#[771 "\211\301\267\202\f.\302\303\300.#\207\302\304.\"\207"
			  ["glsdesc" #s
			   (hash-table size 1 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy
			    t data (latex 6))
			   format "\\%s{%s}" "%s"]
			  7 "\n\n(fn PATH _ FORMAT)"]
			)
		       ("glssymbol" :follow or-follow-glossary :face org-ref-glossary-face :help-echo
			or-glossary-tooltip :export
			#[771 "\211\301\267\202\f.\302\303\300.#\207\302\304.\"\207"
			  ["glssymbol" #s
			   (hash-table size 1 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy
			    t data (latex 6))
			   format "\\%s{%s}" "%s"]
			  7 "\n\n(fn PATH _ FORMAT)"]
			)
		       ("Glspl" :follow or-follow-glossary :face org-ref-glossary-face :help-echo
			or-glossary-tooltip :export
			#[771 "\211\301\267\202\f.\302\303\300.#\207\302\304.\"\207"
			  ["Glspl" #s
			   (hash-table size 1 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy
			    t data (latex 6))
			   format "\\%s{%s}" "%s"]
			  7 "\n\n(fn PATH _ FORMAT)"]
			)
		       ("Gls" :follow or-follow-glossary :face org-ref-glossary-face :help-echo
			or-glossary-tooltip :export
			#[771 "\211\301\267\202\f.\302\303\300.#\207\302\304.\"\207"
			  ["Gls" #s
			   (hash-table size 1 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy
			    t data (latex 6))
			   format "\\%s{%s}" "%s"]
			  7 "\n\n(fn PATH _ FORMAT)"]
			)
		       ("glspl" :follow or-follow-glossary :face org-ref-glossary-face :help-echo
			or-glossary-tooltip :export
			#[771 "\211\301\267\202\f.\302\303\300.#\207\302\304.\"\207"
			  ["glspl" #s
			   (hash-table size 1 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy
			    t data (latex 6))
			   format "\\%s{%s}" "%s"]
			  7 "\n\n(fn PATH _ FORMAT)"]
			)
		       ("gls" :follow or-follow-glossary :face org-ref-glossary-face :help-echo
			or-glossary-tooltip :export
			#[771 "\211\301\267\202\f.\302\303\300.#\207\302\304.\"\207"
			  ["gls" #s
			   (hash-table size 1 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy
			    t data (latex 6))
			   format "\\%s{%s}" "%s"]
			  7 "\n\n(fn PATH _ FORMAT)"]
			)
		       ("bibtex" :follow org-bibtex-open :store org-bibtex-store-link)
		       ("pdfview" :follow org-pdfview-open :complete org-pdfview-complete-link :store
			org-pdfview-store-link :export joc-org-pdfview-page-export)
		       ("bookmark-other-win" :follow bookmark-jump-other-window :export nil)
		       ("bookmark" :follow bookmark-jump :export nil) ("file+sys") ("file+emacs")
		       ("shell" :follow org-link--open-shell)
		       ("news" :follow
			#[257 "\301\300\302.Q!\207" ["news" browse-url ":"] 5 "\n\n(fn URL)"])
		       ("mailto" :follow
			#[257 "\301\300\302.Q!\207" ["mailto" browse-url ":"] 5 "\n\n(fn URL)"])
		       ("https" :follow
			#[257 "\301\300\302.Q!\207" ["https" browse-url ":"] 5 "\n\n(fn URL)"])
		       ("http" :follow
			#[257 "\301\300\302.Q!\207" ["http" browse-url ":"] 5 "\n\n(fn URL)"])
		       ("ftp" :follow
			#[257 "\301\300\302.Q!\207" ["ftp" browse-url ":"] 5 "\n\n(fn URL)"])
		       ("help" :follow org-link--open-elisp) ("file" :complete org-link-complete-file)
		       ("elisp" :follow org-link--open-elisp)
		       ("doi" :follow doi-link-menu :export
			#[(doi desc format)
			  "\b\304\267\202 .\300\305	\n\v\206.\0\306\nP$\207\300\307	\n\v\206.\0\306\nP$\207\310\207"
			  [format
			   
			   doi-utils-dx-doi-org-url
			   
			   doi
			   
			   desc
			   
			   #s
			   
			   (hash-table
			    
																    
																      
																	   
																	       
																					
			    size
			    
																    
																      
																	   
																	       
																					
			    2
			    
																    
																      
																	   
																	       
																					
			    test
			    
																    
																      
																	   
																	       
																					
			    eq
			    
																    
																      
																	   
																	       
																					
			    rehash-size
			    
																    
																      
																	   
																	       
																					
			    1.5
			    
																    
																      
																	   
																	       
																					
			    rehash-threshold
			    
																    
																      
																	   
																	       
																					
			    0.8125
			    
																    
																      
																	   
																	       
																					
			    purecopy
			    
																    
																      
																	   
																	       
																					
			    t
			    
																    
																      
																	   
																	       
																					
			    data
			    
																    
																      
																	   
																	       
																					
			    (html 6 latex 19)
			    
																    
																      
																	   
																	       
																					
			    )
			   
			   "<a href=\"%s%s\">%s</a>" "doi:" "\\href{%s%s}{%s}" nil]
			  6]
			)
		       )
 org-bullets-bullet-list '("◉" "○" "✸" "✿" "♠" "♣")
 org-latex-format-headline-function 'org-latex-format-headline-default-function
 org-link-elisp-confirm-function 'yes-or-no-p
 org-latex-format-inlinetask-function 'org-latex-format-inlinetask-default-function
 org-tab-before-tab-emulation-hook '(org-tempo-complete-tag)
 org-html-format-drawer-function #[514 "\207" [] 3 "\n\n(fn NAME CONTENTS)"]
 org-ref-get-pdf-filename-function 'org-ref-get-pdf-filename
 org-html-format-headline-function 'org-html-format-headline-default-function
 org-src-window-setup 'split-window-below
 org-confirm-babel-evaluate nil
 org-ref-cite-onclick-function 'org-ref-cite-click-helm
 org-ref-notes-function 'org-ref-notes-function-one-file
 org-use-speed-commands t
 org-tags-exclude-from-inheritance '("ST")
 org-latex-bib-compiler "biblatex"
 org-insert-heading-hook '(joc-org-creation-time)
 )

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Python source block and :dir header arg
  2019-04-01 18:16 ` Joao Cortes
@ 2019-04-02 15:59   ` John Kitchin
  2019-04-03 17:31     ` Joao Cortes
  0 siblings, 1 reply; 8+ messages in thread
From: John Kitchin @ 2019-04-02 15:59 UTC (permalink / raw)
  To: Joao Cortes; +Cc: emacs-orgmode@gnu.org

That looks different than what I see in org 9.2.1, if it has changed
then it might be a bug indeed.

What I see is:

(default-directory
		   (or (and dir (file-name-as-directory (expand-file-name dir)))
		       default-directory))


I think :mkdirp is only for tangling files, so I wouldn't expect it to
affect this, unless its use has been expanded. Even if it has been
expanded, if the directory exists, it should work fine, but if it
doesn't exist, and :mkdirp is nil or no, then it should fail. If it is
non-nil then the directory should be made I guess.

Joao Cortes <joaooneillcortes@outlook.pt> writes:

> Looking at org-babel-execute-src-block, It seems the only way to get the
> the intended behavihour is adding :mkdirp "yes" or some other
> value that gives a true value to the result of the =and= call in the
> following snippet.
>
> This is the relevant code at ob-core.el, starting at line 681.
> #+begin_src emacs-lisp :line yes
> 		 (default-directory
> 		   (or (and dir
> 			    (not (member mkdirp '("no" "nil" nil)))
> 			    (progn
> 			      (let ((d (file-name-as-directory
> 					(expand-file-name dir))))
> 				(make-directory d 'parents)
> 				d)))
> 		       default-directory))
> #+end_src
>
> This looks like a bug. If the :dir directory already
> exists, the :mkdirp parameter should not stop setting the default
> directory to :dir


--
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Python source block and :dir header arg
  2019-04-02 15:59   ` John Kitchin
@ 2019-04-03 17:31     ` Joao Cortes
  2019-04-05 14:34       ` John Kitchin
  0 siblings, 1 reply; 8+ messages in thread
From: Joao Cortes @ 2019-04-03 17:31 UTC (permalink / raw)
  To: emacs-orgmode@gnu.org

Thanks for checking. Do you know what to do now, assuming It is a bug?

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Python source block and :dir header arg
  2019-04-01 17:06 Python source block and :dir header arg Joao Cortes
  2019-04-01 18:12 ` John Kitchin
  2019-04-01 18:16 ` Joao Cortes
@ 2019-04-05  3:07 ` stardiviner
  2 siblings, 0 replies; 8+ messages in thread
From: stardiviner @ 2019-04-05  3:07 UTC (permalink / raw)
  To: emacs-orgmode


Joao Cortes <joaooneillcortes@outlook.pt> writes:

> Consider the following python source block,
>            
> #+begin_src python :results output : session :dir ./run
> 	import os;
> 	cwd = os.getcwd()
> 	print(cwd)
> #+end_src
>
> The dir header arg should change the directory used to run the session,
> in this case to the directory "../base/run", where "base" is the parent
> directory the file visited by the current buffer. Instead, I get
> "../base". Is this a bug?

It works fine in my machine. It print absolute path to "/run".

>
> Thank you
> Joao Cortes


-- 
[ stardiviner ]
       I try to make every word tell the meaning what I want to express.

       Blog: https://stardiviner.github.io/
       IRC(freenode): stardiviner, Matrix: stardiviner
       GPG: F09F650D7D674819892591401B5DF1C95AE89AC3
      

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Python source block and :dir header arg
  2019-04-03 17:31     ` Joao Cortes
@ 2019-04-05 14:34       ` John Kitchin
  0 siblings, 0 replies; 8+ messages in thread
From: John Kitchin @ 2019-04-05 14:34 UTC (permalink / raw)
  To: Joao Cortes; +Cc: emacs-orgmode@gnu.org

[-- Attachment #1: Type: text/plain, Size: 1031 bytes --]

I updated to the latest org, and I am not sure if you are seeing a bug. You
might need to fix the space between : and session in your example, and name
the session something. Also, you need to make sure the directory exists.
This example works as expected for me:

#+begin_src python :results output :session t :dir ./run
import os
cwd = os.getcwd()
print("dir: ", cwd)
#+end_src

#+RESULTS:
: dir:  /Users/jkitchin/Box
Sync/kitchingroup/jkitchin/journal/2019/04/05/run

There are still some subtle possible issues, e.g. you cannot change the
:dir after you run this in a session. I am not sure why. Personally I
prefer ipython for sessions.

John

-----------------------------------
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu



On Wed, Apr 3, 2019 at 1:31 PM Joao Cortes <joaooneillcortes@outlook.pt>
wrote:

> Thanks for checking. Do you know what to do now, assuming It is a bug?
>
>

[-- Attachment #2: Type: text/html, Size: 1907 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-04-05 14:43 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-04-01 17:06 Python source block and :dir header arg Joao Cortes
2019-04-01 18:12 ` John Kitchin
2019-04-01 18:23   ` Joao Cortes
2019-04-01 18:16 ` Joao Cortes
2019-04-02 15:59   ` John Kitchin
2019-04-03 17:31     ` Joao Cortes
2019-04-05 14:34       ` John Kitchin
2019-04-05  3:07 ` stardiviner

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).