Supercharged citation picker

A smart citation picker and lightweight reference manager for
Alfred. Uses .bib files and supports
Pandoc,
Multi-Markdown,
LaTeX, org
mode, and various other formats.
Feature overview
Core features
- Inserts Pandoc citation syntax (
[@citekey]), supporting page numbers &
multiple citations ([@citekey, p. 23; @citekey, p. 42]). Can also be
configured to use LaTeX, Multi-Markdown, eta templates, org
mode, [[wikilinks]], #tags, or bare citkeys as citation format.
- App-independent: Works system-wide, in every text field of every app.
- Smart search: Search for citekeys, authors, title, publication, keywords
(tags), include or exclude authors in et al., tab-completion,
short queries, sorting recently used entries to the top, …
- Simple installation: Just enter the path to your
.bib file, and you are
ready to go.
- Blazingly fast: Considerably quicker than any other citation picker
(200 milliseconds to fully reload a library with 4000 entries).
Advanced features
- Citation actions: Paste single-entry bibliographies, open URLs,
open or create literature notes, attach PDFs, search for
.csl files online,
and more.
- Lightweight reference management: Automatically rename and file PDFs, add,
or remove entries.
- Quickly add new entries: Select a DOI or ISBN and add them directly to
your BibTeX library via hotkey.
- Support for two libraries: You can pick citations from two BibTeX Library
files at the same time.
- Obsidian integration: When located in your Obsidian
Vault, literature notes are automatically
opened/created in Obsidian instead of the default Markdown app.
Table of contents
Installation
- Download the latest release.
- Enter the BibTeX library path.
- Select your citation format. The default is Pandoc Citations. To switch to
another format like LaTeX, Multi-Markdown, org mode, eta, [[wikilinks]],
or #tags use the keyword
scp in Alfred and select Change citation format.
- Use the citation picker via the Alfred keyword
cc, or set a
hotkey for the
citation picker by double-clicking the respective field in the workflow
window.
Basic usage
Press the hotkey in
any text field to start the citation picker. Alternatively, use the ct
keyword.
Search
- You can search for the title, author/editor (last name), year, collection, or
journal name.
- Prepend
@ to a word to search for a citekey, for example @Grieser2020.
- Prepend
# to search for keywords (tags), for example #sociology.
- Smart Queries: You can search for any combination of the above. For example,
the query
2020 #cognition grieser searches for entries published in 2020,
with the tag “cognition,” and with “Grieser” as author/editor.
- Short Queries: You do not need to fully spell out every item.
grie #cogn 2020 gives you the same result as above, if no other author begins with
grie and no other tag starts with cogn.
Citation actions
- ⏎: Paste the citekey of the selected citation.
- ⌥⏎: Add another citation.
- ⇧ ⇧ ⌘ ⌘ ⏎ ⏎: Paste an inline-citation
(citation without surrounding formatting, for example
@Grieser2022 instead
of [@Grieser2022])
- ⌘ ⌘ ⏎ ⏎: Add page numbers before pasting the selected
citekey.
- Confirm the page number with ⌥⏎ or
⌘⏎ to add another citation afterward.
- Confirm with ⇧⌘⏎ for an inline-citation
with page number (
@Grieser2022 [p. 42]).
URL actions
- ⌃⏎: Open the URL in the browser.
- ⌘C: Copy the URL to the clipboard.
- In both cases, if the entry has a DOI but not a URL, the citation picker uses
the DOI-URL (
https://doi.org/…) instead.
Icon meanings
| Icon |
Entry has |
| 🌐 |
URL or DOI |
| 📄 |
Abstract |
| n 🏷 |
n Keywords |
| 📓 |
Literature Note |
| 📕 |
PDF |
| 2️⃣ |
entry is from 2nd library |
| 📎 |
entry has attachment |
You can use the scp and select Change citation format to change the format
of the citations:
- Pandoc (default)
- Org Mode
- Multi-Markdown (
MMD)
- LaTeX
- eta template
iA Writer
- Formatted single entry
- Requires Pandoc.
- The used citation style can be customized in the workflow configuration
(default: APA 7th).
[[wikilink]]
#tag
- bare citekey
- bracketed citekey
[!NOTE]
Not all formats support all citation-related features. For example, adding
Page numbers as well as inline-citations are not supported for LaTeX,
Wikilinks, and Tags.
If there is a citation syntax that is commonly used, or if you want to improve
support for an existing format, feel free to open a Feature
Request
or make a PR to this file which defines the citation
formats.
[!NOTE]
Due to technical restrictions, you may need to set the citation style once
more after updates to this workflow.
Advanced usage
Bibliography actions
- ⇧⏎: Reveal the entry in Zotero, Neovim, VS Code,
BibDesk, or Sublime Text, depending on the setting in the workflow
configuration. (Note that this does not work for the secondary library.)
- ⌘⌥⏎: Paste the full bibliographic entry.
- Requires Pandoc.
- The used citation style can be customized in the workflow configuration.
(default: APA 7th)
- ⌘L: Preview the unabridged title, abstract, and list of
all keywords (tags).
- ⌘fn⏎: Delete the entry from the BibTeX
library. (⚠️ This cannot be undone.)
- ⌘Y: Preview the URL of entry in a QuickLook window.
Add new entries
- Universal Action
or Hotkey: Uses
the selected DOI, ISBN, or URL containing a DOI to add a new entry
to the library.
[!NOTE]
Adding or removing entries does not work with the BetterBibTeX Zotero
Plugin since the plugin only does
a one-way-sync (Zotero ➞ BibTeX file), meaning any changes to the .bib file
are not reflected in Zotero.
Literature note actions
- The citation picker looks in the folder specified in the workflow settings for
files that are exactly named like the citekey. Entries that have such a
literature note are indicated by a
📓.
- ⌃⌥⏎: Open the literature note.
- If the file is in your Obsidian Vault, it is
opened directly in Obsidian instead of the default text editor.
- If there is no literature note, a new one is created.
- Add
* to any search query to filter only for entries with literature notes,
for example * grieser searches for entries matching “Grieser” which also
have a literature notes. Can be combined with other queries (see: smart
queries).
PDF management actions
The following features require that all your PDFs are located in the folder
specified in your workflow settings.
- The citation picker looks in the folder specified in the workflow settings for
PDFs that are exactly named like the citekey, optionally followed by an
underscore
_ and some text. For example: {citekey}.pdf or
{citekey}_{title}.pdf. The citekey itself must not contain underscores, and
the filename must not include the @.
- The
📕 indicates that the entry has an associated PDF at that location.
- Hyper⏎[^1]: If the entry has an associated PDF file,
open it with the default PDF reader.
- Add
pdf to any search query to filter only for entries with PDFs that have
been added by the auto-file feature. pdf grieser, for example, displays only
entries from the author “Grieser” with PDFs. Can be combined with other
queries (see: smart queries).
- A
📎 indicates that the BibTeX entry has a file, local-url, or
attachment field. You can use
⌃⌥⌘⏎ to open the attachment. If
there are multiple attachments, the first one is opened.
Link preview
Auxiliary features
Triggered via the Alfred Keyword scp (mnemonic: Supercharged Citation Picker).
- Cheat sheet: Open a cheat sheet of the available actions of the
Supercharged Citation Picker.
- Citation Style Search: Search for a citation style (
.csl file), which is
downloaded to the location specified in your workflow settings (default:
~/.pandoc/csl/).
- Force Buffer Reload: Force a reload of the citation picker. Mostly for
debugging purposes.
Cite this software project
If you want to mention this software project in an academic publication, please
cite it as:
Grieser, C. (2023). Supercharged Citation Picker [Computer software].
https://github.com/chrisgrieser/alfred-bibtex-citation-picker
For other citation styles, use the following metadata: cff
file
Credits
Icons created by Freepik
(Flaticon)
About the developer
In my day job, I am a sociologist studying the social mechanisms underlying the
digital economy. For my PhD project, I investigate the governance of the app
economy and how software ecosystems manage the tension between innovation and
compatibility. If you are interested in this subject, feel free to get in touch.
For bug reports and features requests, please use the GitHub issue
tracker.
If you find this project helpful, you can support me via 🩷 GitHub
Sponsors.
[^1]: Hyper is an artificial “fifth” modifier key equal to ⌘⌥⌃⇧, and can be
created using apps like Karabiner Elements, BetterTouchTool,
or Hyperkey.
评论