Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/chrisgrieser/alfred-bibtex-citation-picker/llms.txt

Use this file to discover all available pages before exploring further.

All configuration is done through Alfred’s workflow environment variables, accessible via the [x] button in the workflow editor or the Configure Workflow panel.
Use ~ in path variables to reference your home directory. This keeps your configuration portable across machines and avoids hard-coding absolute paths like /Users/yourname/....

Library Paths

bibtex_library_path
string
required
Absolute path to your primary BibTeX library file (.bib). Supports ~ for the home directory.Example: ~/Documents/references.bib
secondary_library_path
string
Absolute path to an optional secondary BibTeX library file (.bib). When set, entries from both libraries are shown together in the picker. Secondary-library entries are marked with a 2️⃣ icon.Example: ~/Documents/secondary-refs.bib

Note and PDF Folders

literature_note_folder
string
Path to the folder where Markdown literature notes are stored. Notes must be named exactly after the citekey (e.g., Grieser2022.md). Entries that have a matching note are marked with a 📓 icon.When this folder resides inside an Obsidian vault, literature notes are automatically opened in Obsidian instead of the default text editor.Example: ~/Documents/literature-notes
pdf_folder
string
Path to the folder where PDFs are stored. PDFs must be named after the citekey, optionally followed by an underscore and additional text — for example Grieser2022.pdf or Grieser2022_some-title.pdf. Entries with a matching PDF are marked with a 📕 icon.This folder is also used by the auto-file PDF feature.Example: ~/Documents/papers

Citation Style and Pandoc

csl_for_pandoc
string
Path to a .csl (Citation Style Language) file used by Pandoc when generating formatted bibliographies (⌘⌥↵) or formatted single-entry citations.Defaults to the APA 7th edition style bundled with the workflow.Example: ~/.pandoc/csl/chicago-author-date.csl
csl_folder
string
Path to the folder where the Citation Style Search feature (scp → “Search & download .csl files”) saves downloaded .csl files.Default: ~/.pandoc/csl/

Editor Integration

open_entries_in
string
Determines which application is used to reveal an entry when you press ⇧↵. Supported values:
ValueBehavior
BibDeskOpens via x-bdsk://{citekey} URI
ZoteroOpens via zotero://select/items/bbt:{citekey} URI (requires Better BibTeX)
VS CodeOpens the .bib file at the entry’s line number using code -g
SublimeOpens via Sublime Text’s subl binary at the entry’s line number
default app for .bib filesOpens the library file in whatever app is registered for .bib files
Opening entries from the secondary library is not yet supported — ⇧↵ only works for entries in the primary library.

Search Behavior

match_authors_in_etal
string
Controls which authors are searchable for entries listed as “et al.” Accepted values:
  • 1 — Match all authors in the entry, even those hidden behind “et al.”
  • 0 (default) — Match only the first author displayed
Example: 1
match_year_type
string
Controls which year format is matched when you type a year in the search query. Accepted values:
  • full — Match the 4-digit year (e.g., 2022)
  • short — Match the 2-digit year (e.g., 22)
  • full, short — Match both formats simultaneously (comma-separated)
Example: full, short

Display

alfred_bar_width
string
Maximum number of characters to show in an entry title before it is truncated with an ellipsis (). Set this to match the width of your Alfred window.Example: 60

Internal Variables

buffer_reload
string
Internal flag. When set to true, forces the citation picker to rebuild its entry cache (buffer) on the next run. After the reload completes, the workflow resets this variable automatically.To trigger a manual reload interactively, type scp in Alfred and select Force Buffer Reload.

Buffer Invalidation

The picker caches the parsed entry list in a buffer file for speed (a full reload of 4,000 entries takes ~200 ms). The buffer is automatically invalidated and rebuilt whenever any of the following changes:
TriggerWhat changed
Primary library modified.bib file timestamp newer than buffer
Secondary library modifiedSecondary .bib file timestamp newer than buffer
Literature note folder modifiedFolder timestamp newer than buffer
PDF folder modifiedFolder timestamp newer than buffer
Workflow preferences updatedprefs.plist timestamp newer than buffer
Workflow version changedNew release installed
buffer_reload set to trueManually requested reload
To force an immediate reload at any time, open Alfred, type scp, and select Force Buffer Reload.

Build docs developers (and LLMs) love