- Created by chrisgrieser
- π Last Updated: 18/01/23 16:00:02
- π Stars on GitHub: 73
- Love this? Consider supporting the creator by Starring or Sponsoring this on GitHub!
- Get Workflow
- Get Latest Release
- Get Source Code
From their README
Supercharged Citation Picker
A citation picker for academics that write in markdown. Using Alfred, it inserts citations from a BibTeX File in various formats, e.g. Pandoc, Multi-Markdown or Latex.

Feature Overview
- 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,[[wikilinks]]
, or#tags
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/exclude authors in et al, tab-completion, fuzzy-matching, sorting recently used entries to the top, β¦
- Feature-rich: paste single-entry bibliographies, open URLs, open or create literature notes, attach PDFs, search for
.csl
files online, backup the library, β¦ - Blazingly Fast: considerably quicker than any other citation pickers I know of (~200ms to fully reload a library with ~4000 entries on my machine).
- Easy Installation: no dependencies, no required plugins, no setup. Just enter the path to your
.bib
file. - Minimalistic reference manager: add or remove entries the BibTeX library, automatically rename and file PDFs, parse single entries, β¦
- Obsidian integration: When located in an Obsidian vault, literature notes is automatically opened/created in Obsidian instead of the default markdown app.
Table of Contents
Getting Started
- Download the latest release.
- Enter the BibTeX Library path.
- 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 launch the citation picker.
Search
- Search for the title, author/editor (last name), year, or collection/journal-title.
- Prepend
@
to a word to search for a citekey, e.g.@Grieser2020
. - Prepend
#
to search for keywords (tags), e.g.#sociology
. - Smart Queries: You can search for any combination of the above. For example, the query
2020 #cognition Grieser
will for entries published in 2020, with the tag "cognition", and with "Grieser" as author/editor. - Quick Queries: The search is fuzzy and case-insensitive. For year dates, it also matches the last two digits. For example, you can search for
fouc 77
to findFoucault 1977
. In addition, recently selected entries are placed further at the top of the search results.
Citation Actions
β΅
: Paste the citekey of the selected citation.β₯ + β΅
: Add another citation.β + β΅
: Add page numbers before pasting the selected citekey. Confirm the page number withβ₯ + β΅
orβ + β΅
to add another citation afterwards.
URL Actions
β + β΅
: Open the URL in the browser.β + C
: Copy the URL to the clipboard.- If the entry has a DOI but not URL, the citation picker will use the DOI-URL (
https://doi.org/...
) instead.
Icon Meanings
Icon | Entry has... |
---|---|
π | URL or DOI |
π | Abstract |
n π· | n Keywords |
π | Literature Note |
π |
Changing the Citation Format
Available Formats
You can use the scp
and select Change Citation Format to change the format of the citations:
- Pandoc (default)
- Multi-Markdown
- Latex[^5]
- Wikilink
- Tag
- Eta template
Further Format Customization
If you want to use a format that isn't available, you can customize the format yourself by changing the workflow environment variables starting with _format
(Tutorial: How to set environment variables in Alfred).
If there is a citation syntax that is commonly used, feel free to make a PR to this file which generates the formats or open a Feature Request.
Advanced Usage
Bibliography Actions
β§ + β΅
: Reveal the entry in BibDesk, VSCode, or Sublime, depending on the settingopen_entries_in
.ββ₯ + β΅
: Paste the full bibliographic entry in the APA 6th Style (requires Pandoc).β + L
: Preview the (unabridged) title, abstract, and list of keywords in Large Type.βfn + β΅
: Delete the entry from the BibTeX library.- β οΈ This feature is untested with BibTeX files created with apps other than BibDesk and Bookends (or have been formatted with
bibtex-tidy
). Create an issue for problems with other apps.
- β οΈ This feature is untested with BibTeX files created with apps other than BibDesk and Bookends (or have been formatted with
- Note that 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 will be overridden.
Adding entries to the BibTeX library
- Use the Alfred Keyword
+
, followed by a DOI, ISBN, or URL that contains a DOI. - You can parse & add a bibliographic entry by using the Alfred keyword
+
, but confirming withββ΅
instead (requires anystyle). - Leave the input after the
+
empty to create a new, empty BibTeX entry. - The new entry will be added to your library, with a properly formatted, unique citekey. Afterwards the entry will be opened in the app specified in
open_entries_in
. - Note that adding 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 will be overridden.
Literature Note Actions
- The citation picker looks in the folder specified in the workflow settings for files that are exactly named like the citekey (without
@
, but with.md
extension). Entries that have such a literature note will be indicated by aπ
. Meh + β΅
[^4]: Open the literature note.- If the file is in an Obsidian Vault, it will be opened directly in Obsidian instead of the default text editor.
- If there is no literature note, a new one will be created.
β + Y
: Preview the literature note with QuickLook (requires QLmarkdown or Peek[^1]).- Add
*
to any search query to filter only for entries with literature notes, e.g.* grieser
will search 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.
fn + β΅
: Auto-file and auto-rename the currently selected PDF. Inside your selected pdf folder, uses the template path:{first_letter_of_citekey}/{citekey-author-part}/{citekey}_{shortened_title}.pdf
- The
π
indicates that the entry already has an associated PDF at that location. Hyper + β΅
[^4]: 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, will display only entries from the author "Grieser" with PDFs. Can be combined with other queries (see: smart queries).
Auxiliary Features
Triggered via the Alfred Keyword scp
(for S
upercharged C
itation P
icker).
- CSL Search: Search for a citation style, which will be downloaded to the location specified in your workflow settings (default:
~/.pandoc/csl/
). - Bibliography Stats: Brief statistical summary of the library. (Currently only total number of references. If you have useful suggestion, feel free to open a Feature Request.)
- Cheat sheet: Citation Picker Actions: Open a cheat sheet of the available actions of the Supercharged Citation Picker.
- Force Buffer Reload: Force a reload of the citation picker. Mostly for debugging purposes.
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!
Profiles
Donate
Credits
Icons created by Freepik - Flaticon
[^1]: QLmarkdown and Peek both enable previewing of Markdown documents. Peek works with a wide range of other file types than Markdown, but costs around 5β¬. QLMarkdown is free, but only works for Markdown and requires some minor small setup. To enable the proper display of YAML headers, you need to enable the respective setting in the Advanced Options of QLMarkdown or Peek.
[^4]: Hyper
is an artificial "fifth" modifier key equivalent to ββ₯ββ§
, and can be created using apps like Karabiner Elements, BetterTouchTool, or Hyperkey. Meh
is an artificial "sixth" modifier key equivalent to β₯ββ§
.
[^5]: Latex right now does not support page numbers. If you can code, feel free to make a PR implementing LaTeX citations with page numbers.