{"id":13837204,"url":"https://github.com/emacs-citar/citar","last_synced_at":"2025-04-04T14:06:57.742Z","repository":{"id":36993997,"uuid":"342930741","full_name":"emacs-citar/citar","owner":"emacs-citar","description":"Emacs package to quickly find and act on bibliographic references, and edit org, markdown, and latex academic documents.","archived":false,"fork":false,"pushed_at":"2024-04-19T22:32:42.000Z","size":4463,"stargazers_count":455,"open_issues_count":51,"forks_count":53,"subscribers_count":8,"default_branch":"main","last_synced_at":"2024-04-19T23:32:37.152Z","etag":null,"topics":["biblatex","bibliography","bibtex","citations","csl-json","emacs-package","embark","latex","markdown","org-cite","org-mode","vertico"],"latest_commit_sha":null,"homepage":"","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/emacs-citar.png","metadata":{"files":{"readme":"README.org","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.org","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-27T18:39:08.000Z","updated_at":"2024-05-30T03:15:07.705Z","dependencies_parsed_at":"2023-11-12T08:25:31.366Z","dependency_job_id":"5e5ac882-cbb5-4d01-b227-c658493aa2a8","html_url":"https://github.com/emacs-citar/citar","commit_stats":null,"previous_names":["bdarcus/citar"],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emacs-citar%2Fcitar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emacs-citar%2Fcitar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emacs-citar%2Fcitar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emacs-citar%2Fcitar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emacs-citar","download_url":"https://codeload.github.com/emacs-citar/citar/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247190231,"owners_count":20898700,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["biblatex","bibliography","bibtex","citations","csl-json","emacs-package","embark","latex","markdown","org-cite","org-mode","vertico"],"created_at":"2024-08-04T15:01:03.306Z","updated_at":"2025-04-04T14:06:57.716Z","avatar_url":"https://github.com/emacs-citar.png","language":"Emacs Lisp","funding_links":[],"categories":["Emacs Lisp"],"sub_categories":[],"readme":"[[https://melpa.org/#/citar][file:https://melpa.org/packages/citar-badge.svg]]\n\n* Citar\n  :PROPERTIES:\n  :CUSTOM_ID: citar\n  :END:\n\n- [[#features][Features]]\n- [[#installation][Installation]]\n- [[#configuration][Configuration]]\n- [[#usage][Usage]]\n- [[#comparisons][Comparisons]]\n- [[#acknowledgements][Acknowledgements]]\n\n** Features\n   :PROPERTIES:\n   :CUSTOM_ID: features\n   :END:\n\nCitar provides a highly-configurable =completing-read= front-end to browse and act on BibTeX, BibLaTeX, and CSL JSON bibliographic data, and LaTeX, markdown, and org-cite editing support.\n\n- quick filtering and selection of bibliographic entries from the minibuffer, and various commands to run against them.\n- a small =citar-embark= companion package, that provides contextual actions in the minibuffer, and also at-point in org, markdown, and LaTeX buffers.\n- seamless caching of multiple global and local bibliographic sources\n- configurable APIs for:\n  - indicatars, that signal the presence of related resources in the minibuffer\n  - notes, to integrate with dedicated note packages, with external packages available for =org-roam=, =denote=, and =zk=\n  - major-mode adapters\n  - entry-opening, to go to the original entry data\n\nHere's a screenshot with [[https://github.com/minad/vertico][vertico]] and symbol customization [[https://github.com/emacs-citar/citar?tab=readme-ov-file#rich-ui][noted below]].\n\n#+caption: vertico with citar\n[[file:images/vertico.png]]\n\nAnd here's =citar-capf= in a markdown buffer.\n\n#+caption: completion-at-point in a markdown buffer\n[[file:images/capf-md.png]]\n\nTo see citar in action with org-cite, you can watch [[https://emacsconf.org/2021/talks/research/][this Emacs Conf 2021 presentation]] by [[https://github.com/rka97][Ahmed Khaled]].\n\n** Installation\n   :PROPERTIES:\n   :CUSTOM_ID: installation\n   :END:\n\nThere are a variety of ways to install citar:\n\n- Doom Emacs :: The easiest way to install and configure citar and related packages is to use the [[https://github.com/hlissner/doom-emacs/tree/master/modules/tools/biblio][Doom Emacs biblio module]] with the ~vertico~ completion module.\n- MELPA :: citar is also available via [[https://melpa.org/#/citar][MELPA]].\n- GUIX :: provides the ~emacs-citar~ package.\n\nIn addition, the following packages are strongly recommended for the best experience.\n\n1. [[https://github.com/minad/vertico][Vertico]] (completion interface)\n2. [[https://github.com/oantolin/orderless][Orderless]] (completion style)\n3. [[https://github.com/oantolin/embark][Embark]] (contextual actions)\n4. [[https://github.com/minad/marginalia][Marginalia]] (annotations, and also candidate classification for Embark)\n\nIn particular, if you want to narrow your search using authors, titles, etc (i.e., not only citation keys), you need to use a completion style that is order independent; for example, [[https://github.com/oantolin/orderless][Orderless]] with ~completion-styles~ set to ~(orderless basic)~ (see [[https://github.com/oantolin/orderless#overview][example config]]).\n\nWe also recommend Emacs 28 or newer. \n\n** Configuration\n   :PROPERTIES:\n   :CUSTOM_ID: configuration\n   :END:\n\n*** Basic\n    :PROPERTIES:\n    :CUSTOM_ID: basic\n    :END:\n\nThis is the minimal configuration, and will work with any completing-read compliant vertical completion UI, like Vertico, or the built-in icomplete-vertical, with actions available via =M-x= commands.\n\n#+begin_src emacs-lisp\n(use-package citar\n  :custom\n  (citar-bibliography '(\"~/bib/references.bib\")))\n#+end_src\n\n*** =citar-capf=\n\nThis package includes a ~completion-at-point~ function to complete citation keys in the buffer, which you can configure like so:\n\n#+begin_src emacs-lisp\n(use-package citar\n  :custom\n  (citar-bibliography '(\"~/bib/references.bib\"))\n  :hook\n  (LaTeX-mode . citar-capf-setup)\n  (org-mode . citar-capf-setup))\n#+end_src\n\n*** Embark\n\nThe =citar-embark= package adds contextual access actions in the minibuffer and at-point via the ~citar-embark-mode~ minor mode.\n\nWhen using Embark, the Citar actions are generic, and work the same across org, markdown, and latex modes.\n\n#+begin_src emacs-lisp\n(use-package citar-embark\n  :after citar embark\n  :no-require\n  :config (citar-embark-mode))\n#+end_src\n\n*** Org-Cite\n\nThis shows the buffer actions made available by =citar-embark=:\n\n#+CAPTION: org-cite at-point integration with =embark-act=\n[[file:images/org-cite-embark-point.png]]\n\nIf you want to use Citar only in Org-Mode, this is the best option.\n\n#+begin_src emacs-lisp\n(use-package citar\n  :no-require\n  :custom\n  (org-cite-global-bibliography '(\"~/bib/references.bib\"))\n  (org-cite-insert-processor 'citar)\n  (org-cite-follow-processor 'citar)\n  (org-cite-activate-processor 'citar)\n  (citar-bibliography org-cite-global-bibliography)\n  ;; optional: org-cite-insert is also bound to C-c C-x C-@\n  :bind\n  (:map org-mode-map :package org (\"C-c b\" . #'org-cite-insert)))\n#+end_src\n\nYou can insert citations with the =org-cite-insert= command, which is bound to =C-c C-x C-@= in Org-Mode buffers.  The\noptional ~:bind~ command above also gives it the shorter =C-c b= binding.\n\nIf you prefer to have the Embark menu open with =org-open-at-point=, you should set this variable.\n\n#+begin_src emacs-lisp\n(setq citar-at-point-function 'embark-act)\n#+end_src\n\nYou can invoke both =embark-act= and =embark-dwim=, however, independently of =org-at-point=, and in other modes such as =latex-mode=.\n\n*** Major-mode adapters\n:PROPERTIES:\n:CUSTOM_ID: major-mode-adapters\n:END:\n\nCitar includes an adapter framework to enable major-mode specific editing integration.\nSuch adapters can provide the following capabilities, which one can configure with the ~citar-major-mode-functions~ alist:\n\n1. ~insert-keys~: to insert citation keys (this may go away though)\n2. ~insert-citation~: to insert citations\n3. ~insert-edit~: to insert citations or edit at point\n4. ~local-bib-files~: to find bibliographic files associated with a buffer\n5. ~key-at-point~: returns the citation key at point\n6. ~citation-at-point~: returns the list of keys in the citation at point\n\nCitar currently includes the following such adapters:\n\n1. ~citar-org~: by default, only supports ~org-cite~, but can one can configure for other formats\n2. ~citar-latex~: configurable bibtex, natbib and biblatex support (requires AUCTeX)\n3. ~citar-markdown~: by default, only supports the ~pandoc~ citation syntax\n\nNone of these should require any configuration, and should load as needed.\n\n*** Opening reference entries\n\nThe =citar-open-entry= command will open the source data entry.\nYou may configure this using ~citar-open-entry-function~.\nBy default, this uses ~citar-open-entry-in-file~, which will open the relevant bibliographic file and move point to the entry.\nThe other included option is ~citar-open-entry-in-zotero~, which will select the item in Zotero.\nNote that functionality depends on [[https://retorque.re/zotero-better-bibtex/][Better BibTeX]] (which you should be using anyway!).\n\n** Rich UI\n:PROPERTIES:\n:CUSTOM_ID: rich-ui\n:END:\n\nThere are three sections of the browsing UI.\n\n1. The prefix, exploiting the affixation feature only available starting with Emacs 28, and holding the symbols to indicate the presence of PDFs or notes associated with the entries.\n2. The main display, which by default shows author, title, and date.\n3. The suffix, which by default shows citekey, reference type, and (if present) tags or keywords.\n\nYou can search against all of the above content.\nFor the prefix, you can filter for associated files or notes using =has:file= or =has:notes= respectively (and at least with ~orderless~, even the =:p= or =:n= shorthand).\n\n#+CAPTION: UI sections\n[[file:images/ui-segments.png]]\n\n*** Templates\n\nThe =citar-templates= variable configures formatting for these sections, as well as the default note function.\nHere's the default value:\n\n#+begin_src emacs-lisp\n(setq citar-templates\n      '((main . \"${author editor:30%sn}     ${date year issued:4}     ${title:48}\")\n        (suffix . \"          ${=key= id:15}    ${=type=:12}    ${tags keywords:*}\")\n        (preview . \"${author editor:%etal} (${year issued date}) ${title}, ${journal journaltitle publisher container-title collection-title}.\\n\")\n        (note . \"Notes on ${author editor:%etal}, ${title}\")))\n#+end_src\n\nNote:\n\n1. You may include multiple variables in a field; the formatter will print the first one it finds.\n2. If you plan to use CSL JSON at all, you can and should include CSL JSON variables names where appropriate as such options. \n   The default main template dates field demonstrates this.\n3. The asterisk signals to the formatter to use available space for the column.\n4. The note template does not take widths, as formatting is inline there rather than columnar.\n5. The ~%~ character preceeds a token defined as a key in ~citar-display-transform-functions~, whose value is a list of functions and optional arguments.\n   Note that if you include this, if you also include a width specification, it must come after the width.\n\n*** Indicators\n\nThe UI includes configurable indicators.\nBy default, it includes plain text indicators for, each of which indicates the presence of different resources related to the reference:\n\n- notes\n- library files\n- links\n- cited (for references cited in the current buffer)\n\nFor other indicators, see the [[https://github.com/emacs-citar/citar/wiki/Indicators][wiki]].\n\nHere's a screenshot using this configuration, which removes the links indicator, and mixes plain text and an icon indicator using ~all-the-icons~.\n\n#+begin_src emacs-lisp\n(setq citar-indicators\n  (list citar-indicator-files ; plain text\n        citar-indicator-notes-icons)) ; icon\n#+end_src\n\n#+caption: UI with customized indicators.\n#+name: fig-indicators\n[[images/indicators.png]]\n\nYou can create your own indicators, of course.\nHere's an example indicator definition incorporating icons:\n\n#+begin_src emacs-lisp\n(defvar citar-indicator-notes-icons\n  (citar-indicator-create\n   :symbol (all-the-icons-material\n            \"speaker_notes\"\n            :face 'all-the-icons-blue\n            :v-adjust -0.3)\n   :function #'citar-has-notes\n   :padding \"  \"\n   :tag \"has:notes\"))\n#+end_src\n\nKeep in mind, however, the included predicate functions must be performance-optimized, since the completion UI runs them on your entire library every time you open it.\n\n**** With [[https://github.com/rainstormstudio/nerd-icons.el][nerd-icons]] (for doom users too)\n\n[[file:images/indicators-nerd-icons.png]]\n\nNerd-icons.el is a library for easily using Nerd Font icons inside Emacs, an alternative to all-the-icons, and it is the icon package that already included in [[https://github.com/doomemacs/doomemacs][Doom Emacs]]. Here's an example of getting a similar look with it:\n\n#+begin_src emacs-lisp\n(defvar citar-indicator-notes-icons\n  (citar-indicator-create\n   :symbol (nerd-icons-mdicon\n            \"nf-md-notebook\"\n            :face 'nerd-icons-blue\n            :v-adjust -0.3)\n   :function #'citar-has-notes\n   :padding \"  \"\n   :tag \"has:notes\"))\n\n(defvar citar-indicator-links-icons\n  (citar-indicator-create\n   :symbol (nerd-icons-octicon\n            \"nf-oct-link\"\n            :face 'nerd-icons-orange\n            :v-adjust -0.1)\n   :function #'citar-has-links\n   :padding \"  \"\n   :tag \"has:links\"))\n\n(defvar citar-indicator-files-icons\n  (citar-indicator-create\n   :symbol (nerd-icons-faicon\n            \"nf-fa-file\"\n            :face 'nerd-icons-green\n            :v-adjust -0.1)\n   :function #'citar-has-files\n   :padding \"  \"\n   :tag \"has:files\"))\n\n(setq citar-indicators\n  (list citar-indicator-files-icons\n        citar-indicator-notes-icons\n        citar-indicator-links-icons))\n#+end_src\n** Test Script\n    :PROPERTIES:\n    :CUSTOM_ID: test-script\n    :END:\n\nThe repository =test= directory also includes a script you can use to run this and associated packages in the =emacs -Q= sandbox.\nTo do that, simply run =./run.sh= from the =test= directory.\n\n** History and predefined searches\n    :PROPERTIES:\n    :CUSTOM_ID: history-and-predefined-searches\n    :END:\n\n=citar= has functionality similar to the [[https://github.com/tmalsburg/helm-bibtex#p][predefined search]] functionality in =helm-bibtex= and =ivy-bibtex=, but with a different implementation.\nRather than create a new command with the search terms as argument, you just set the =citar-presets= variable, and add the strings you want to access:\n\n#+begin_src emacs-lisp\n(setq citar-presets '(\"one search string\" \"another search string\"))\n#+end_src\n\nYou then have two ways to access these strings from the completion prompt:\n\n1. by using =M-n= from the prompt, which will cycle through the strings\n2. by calling =citar-insert-preset= with a keybinding, and then selecting the string\n\n=citar= also preserves the history of your selections (see caveat below about multiple candidate selection though), which are also accessible in your completion UI, but by using =M-p=.\nYou can save this history across sessions by adding =citar-history= to =savehist-additional-variables=.\n\n** Refreshing the library display\n    :PROPERTIES:\n    :CUSTOM_ID: refreshing-the-library-display\n    :END:\n\nCitar uses a cache to speed up library display.\nIf a bib file changes, the cache will automatically update the next time you run a Citar command.\n\nNote that cached data preformatted completion candidates are independently tracked by file.\nSo, for example, if you have one very large bibliography file that changes a lot, you might consider splitting into one large file that is more stable, and one-or-more smaller ones that change more frequently.\n\n*** Reftex and local bibliographic files in LaTeX\n\nCitar relies on the builtin library reftex to find the bibliographic files included in a LaTeX document.\nReftex scan the LaTeX document to find these files and caches them.\nIf you find that Citar isn't picking up bibliographic entries in the included files it is most likely due to the fact that reftex needs to do a rescan.\nYou can use ~reftex-parse-all~ or ~reftex-parse-one~ to do such a scan interactively.\nThis should be only rarely needed.\n\n** Notes\n\nCitar offers configurable note-taking and access integration.\nThe ~citar-notes-sources~ variable configures note backends, and ~citar-notes-source~ activates your chosen backend.\n\nA backend primarily specifies functions to update the Citar display, to create the completion candidates, and to open existing and new notes.\nSee the ~citar-notes-sources~ docstring for details, and the =citar-register-notes-source= and =citar-remove-notes-source= convenience functions.\n\n** Files, file association and file-field parsing\n\nIf you have ~citar-library-paths~ set, the relevant open commands will look in those directories for file names of =CITEKEY.EXTENSION=.\nThey will also parse contents of a file-field.\nThe ~citar-file-parser-functions~ variable governs which parsers to use, and there are two included parsers:\n\n1. The default =citar-file-parser-default= parser works for simple colon or semi-colon-delimited lists of file paths, as in Zotero.\n2. The =citar-file-parser-triplet= works for Mendeley and Calibre, which represent files using a format like =:/path/file.pdf:PDF=.\n\nIf you have a mix of entries created with Zotero and Calibre, you can set it like so and it will parse both:\n\n#+begin_src emacs-lisp\n(setq citar-file-parser-functions\n  '(citar-file-parser-default\n    citar-file-parser-triplet))\n#+end_src\n\nThe ~citar-library-file-extensions~ variable governs which file extensions the open commands will recognize; when `nil`, it will recognize all extensions.\nThe ~citar-file-additional-files-separator~ variable defines what patterns citar should identify for multiple library files for the same reference key.\nHere's an example to only recognize pdf and jpg extensions, but additional file names of the form ~test-1.jpg~:\n\n#+begin_src emacs-lisp\n(setq citar-library-file-extensions (list \"pdf\" \"jpg\")\n      citar-file-additional-files-separator \"-\")\n#+end_src\n\nTo change how citar opens files with given extensions, customize the ~citar-file-open-functions~ variable defined in =citar-file.el=.\n\nWhen used with embark and consult, you will have a range of alternate actions available for the candidates.\n\n#+CAPTION: File candidates with embark options\n[[file:images/file-browser-embark.png]]\n\n*** BibTeX Crossref File Support\n\nFor BibTeX entries that have a 'crossref' field, Citar will associate the entry's key with the resources (files, notes, links) that are associated with the cross-referenced entry.\n\nFor example: consider an entry for \"Baym1965\" that has a 'crossref' field \"Meyers1999\". When citar-open is called and \"Baym1965\" is selected, the minibuffer will list all files, notes, and links associated with both \"Baym1965\" and \"Meyers1999\". The proper prefixes, denoting an associated file, note, or link, will also be listed with each candidate in the minibuffer.\n\nNOTE: For the BibTeX crossref feature to work properly, the entry with the 'crossref' field must come *before* the cross-referenced entry in the bib file. (This is a requirement of BibTeX, not of Citar specifically.) In the example above, then, the entry for \"Baym1965\" must come before the entry for \"Meyers1999\".\n\n** Usage\n   :PROPERTIES:\n   :CUSTOM_ID: usage\n   :END:\n\nYou have a few different ways to use citar.\n\n*** Org-cite\n\nCitar includes an org-cite =citar= processor, with \"insert,\" \"activate\" and \"follow\" capabilities.\nWhen speaking about org-cite, *citations* refer to a set of one or more *references (citation-references)*, each of which may have text that precedes it (prefix) and text that proceeds it (suffix).\nTo learn more about org-cite, visit the [[https://orgmode.org/manual/Citations.html][Citations page in the Org Manual]].\n\nThe \"insert processor\" uses =citar-select-refs= to browse your library to insert and edit citations and citation references using the =org-cite-insert= command.\nThe command is context-aware, so *its behavior depends on the point's location in a citation*.\nFor example, if point:\n\n- precedes the colon, you are on the /citation prefix/ and will be prompted to edit the style\n- is on an existing citation-reference, you will be prompted to replace it\n- follows or precedes a citation-reference, you will be prompted to add a new citation-reference\n\nThe \"activate processor\" runs the list of functions in ~citar-org-activation-functions~, which by default uses ~citar-org-cite-basic-activate~, a version of the ~basic~ processor from ~oc-basic~ to provide fontification that leverages citar's performant caching, as well as a little function that adds a keymap (~citar-org-citation-map~) for editing citations at point.\nThe ~citar-org-citation-map~ keymap includes the following bindings that provide additional citation and citation-reference editing options.\n\n| key         | binding                         | description                                         |\n|-------------+---------------------------------+-----------------------------------------------------|\n| C-c C-x DEL | citar-org-delete-citation       | delete citation or citation-reference at point      |\n| C-c C-x k   | citar-org-kill-citation         | kill citation or citation-reference at point        |\n| S-\u003cleft\u003e    | citar-org-shift-reference-left  | move citation-reference at point left               |\n| S-\u003cright\u003e   | citar-org-shift-reference-right | move citation-reference at point right              |\n| M-p         | citar-org-update-prefix-suffix  | update prefix and suffix of reference at point, or, |\n|             |                                 | when called with prefix arg, update all             |\n|             |                                 | citation-references in citation at point            |\n| \u003cmouse-1\u003e   | citar-dwim                      | call the value of =citar-at-point-function= at point  |\n| \u003cmouse-3\u003e   | embark-act                      | call =embark-act= at point                            |\n\n\nThe \"follow processor\" provides at-point functionality accessible via the =org-open-at-point= command.\nBy default, in org-mode with org-cite support, when point is on a citation or citation-reference, and you invoke =org-open-at-point=, it will run the command set in =citar-at-point-function=, which is =citar-open= by default.\nChanging the value of =citar-at-point-function= to =embark-act= with embark installed and configured will provide access to the standard citar commands at point.\n\nOrg-cite citations include optional \"styles\" and \"variants\" to locally modify the citation rendering.\nWhen inserting a new citation, calling =org-cite-insert= with a prefix arg will prompt to select a style.\nTo edit an existing citation's style, just make sure *point is on the citation prefix* before running =org-cite-insert=, and you will get a list of available styles.\nThat list is based on your configuration; if you have the =oc-natbib= and =oc-csl= processors configured, for example, the list will include the styles and variants available in those two processors.\nThe variants included in the bundled processors include the following, with the shortcuts in parentheses:\n\n- =bare= (=b=): without surrounding punctuation\n- =caps= (=c=): force initial capitalization\n- =full= (=f=): ignore et al shortening for author names\n\nGenerally, you shouldn't need these, but they can be useful in certain circumstances.\nIf an export processor doesn't support a specific variant for a specific style, it should just fallback to the base style.\nFor example, if you specify =text/f=, and the export processor you use doesn't support the =f= variant there, it should just output as if you specified =text=.\n\n#+CAPTION: citation styles\n[[file:images/oc-styles.png]]\n\n*** =M-x=\n    :PROPERTIES:\n    :CUSTOM_ID: m-x\n    :END:\n\nSimply do =M-x= and select the command that you want, enter the terms to find the item you are looking for, and hit return.\nThis runs the default action: the command you invoked.\n\n*** Access an alternate action via =embark-act=\n    :PROPERTIES:\n    :CUSTOM_ID: access-an-alternate-action-via-embark-act\n    :END:\n\nIf while browsing you instead would rather edit that record, and you have embark installed and configured, this is where =embark-act= comes in.\nSimply input the keybinding for =embark-act= (in my case =C-o=), and select the alternate action.\n\n*** Use =embark-collect-snapshot=\n    :PROPERTIES:\n    :CUSTOM_ID: use-embark-collect-snapshot\n    :END:\n\nA final option, that can be useful: run =embark-collect-snapshot= (=S=) from =embark-act=.\nThis will select the candidate subset, and open it in a separate buffer.\nFrom there, you can run the same options discussed above using =embark-act= (which is also bound to =a= in the collect buffer).\n\nSo, for example, say you are working on a paper. You hold the complete super-set of items you are interested in citing at some point in that buffer.\nFrom there, you can run different actions on the candidates at will, rather than search individually for each item you want to cite.\n\n*** Use =citar-dwim=\n    :PROPERTIES:\n    :CUSTOM_ID: use-citar-dwim\n    :END:\n\n=M-x citar-dwim= will run the default action on citation keys found at point directly.\nIf you have =embark= installed, you use can =embark-dwim= instead for the same behavior, and =embark-act= for additional actions at-point.\n\nIf no citation key is found, the minibuffer will open for selection.\nYou can disable this behavior by setting =citar-at-point-fallback= to nil.\n\n** Related Packages\n\nThe following packages extend or otherwise enhance citar.\n\n*** Notes Sources\n\nThese small packages provide citar notes sources, and so tighter integration with the respective notes management packages.\n\n- [[https://github.com/emacs-citar/citar-org-roam][citar-org-roam]]\n- [[https://github.com/pprevos/citar-denote][citar-denote]]\n- [[https://github.com/localauthor/zk][zk-citar]]\n\n** Comparisons\n   :PROPERTIES:\n   :CUSTOM_ID: comparisons\n   :END:\n\nTo understand how citar compares to other packages like =org-ref=, =ivy-bibtex= and =helm-bibtex= (and the related =bibtex-completion=), see the [[https://github.com/emacs-citar/citar/wiki/Comparisons][comparisons]] page on the wiki.\n\n** Acknowledgements\n   :PROPERTIES:\n   :CUSTOM_ID: acknowledgements\n   :END:\n\nThe ideas in this project were initially worked out in a [[https://github.com/tmalsburg/helm-bibtex/issues/353][conversation]] with [[https://github.com/mtreca][Maxime Tréca]] and [[https://github.com/minad][Daniel Mendler]].\nDaniel, author of [[https://github.com/minad/consult][consult]] and [[https://github.com/minad/marginalia][marginalia]], helped us understand the possibilities of the new suite of completing-read packages, while Maxime came up with an [[https://github.com/tmalsburg/helm-bibtex/pull/355][initial prototype]].\n\nThis code takes those ideas and re-implements them to fill out the feature set, and also optimize the code clarity and performance.\n\n# Local Variables:\n# org-edit-src-content-indentation: 0\n# End:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femacs-citar%2Fcitar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femacs-citar%2Fcitar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femacs-citar%2Fcitar/lists"}