All configuration is done through Alfred’s workflow environment variables, accessible via the [x] button in the workflow editor or the Configure Workflow panel.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.
Library Paths
Absolute path to your primary BibTeX library file (
.bib). Supports ~ for the home directory.Example: ~/Documents/references.bibAbsolute 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.bibNote and PDF Folders
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-notesPath 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/papersCitation Style and Pandoc
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.cslPath to the folder where the Citation Style Search feature (
scp → “Search & download .csl files”) saves downloaded .csl files.Default: ~/.pandoc/csl/Editor Integration
Determines which application is used to reveal an entry when you press
⇧↵. Supported values:| Value | Behavior |
|---|---|
BibDesk | Opens via x-bdsk://{citekey} URI |
Zotero | Opens via zotero://select/items/bbt:{citekey} URI (requires Better BibTeX) |
VS Code | Opens the .bib file at the entry’s line number using code -g |
Sublime | Opens via Sublime Text’s subl binary at the entry’s line number |
default app for .bib files | Opens 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
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
1Controls 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)
full, shortDisplay
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: 60Internal Variables
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:| Trigger | What changed |
|---|---|
| Primary library modified | .bib file timestamp newer than buffer |
| Secondary library modified | Secondary .bib file timestamp newer than buffer |
| Literature note folder modified | Folder timestamp newer than buffer |
| PDF folder modified | Folder timestamp newer than buffer |
| Workflow preferences updated | prefs.plist timestamp newer than buffer |
| Workflow version changed | New release installed |
buffer_reload set to true | Manually requested reload |
scp, and select Force Buffer Reload.