# BibDesk

BibDesk is an open-source reference management software package for macOS, used to manage bibliographies and references when writing essays and articles. It can also be used to organize and maintain a library of documents in PDF format and other formats. It is primarily a BibTeX front-end for use with LaTeX, but also offers external bibliographic database connectivity for importing, a variety of means for exporting, and capability for linking to local documents and automatically filing local documents. It takes advantage of many macOS features such as AppleScript and Spotlight.
First launched publicly in 2002, BibDesk is under continuing development by various contributors via SourceForge. The original developer was Michael McCracken, and much of the code has subsequently been written by Adam Maxwell and Christiaan Hofman. Also available directly from SourceForge, it is currently bundled with the MacTeX distribution of TeX Live.

## Features

BibDesk offers an iTunes-like Cocoa-based graphical user interface for creating, editing, managing, and searching BibTeX databases. It supports BibTeX features such as macros and crossrefs.

### Importing

Users can add new items to a BibTeX database, and copy items between databases, by dragging or pasting, or by using one of the included macOS services. BibDesk enables one-click importing of items from several kinds of external groups:
* Search groups retrieve items from external bibliographic databases, such as PubMed, the U.S. Library of Congress, Web of Science, or any other database searchable via the Z39.50 or Entrez protocols. BibDesk enables one-click importing of references to articles and books listed in these databases and library catalogs.
* The Web group displays a built-in WebKit browser that recognizes bibliographic entries on some web pages (such as Google Scholar, arXiv, JSTOR, WorldCat, and Wikipedia) and harvests them (using COinS, h-cite microformat, or BibTeX) for easy searching and single-click import.
* External file groups retrieve items from a remote URL on the Internet or from a local file.
* Shared groups contain items that other BibDesk users share on the local network, discovered using Bonjour, similar to local sharing of music in iTunes.
* Script groups generate their items using any script, either a shell script or an AppleScript, that returns valid BibTeX or any other text format that BibDesk can import.
BibDesk can also import records in RIS format. It can import from other formats with the help of command-line conversion tools such as BibUtils.
In addition, users can combine the Firefox extensions Zotero and Zot2Bib to do one-click importing of references from Firefox to BibDesk using Zotero's ability to harvest references from a wider variety of websites.

### Organizing

BibDesk permits articles residing on a user's computer to be linked to BibDesk database entries via drag and drop or a menu command or scripting, and BibDesk can optionally auto-file linked PDFs or other external files into a user-specifiable folder. There is a graphical interface for managing custom database fields, as well as a variety of ways to annotate citations.
Within BibDesk, references can be organized in groups and smart groups (similar to playlists and smart playlists in iTunes), and in field groups (a simple kind of smart group based on database fields). Multiple groups can be selected to display a list of references in any group (union) or in all groups (intersection).

### Citing

References can be cited in any document by copy and paste or drag and drop from BibDesk, or via a macOS service. A custom URI scheme, x-bdsk://citekey, allows hyperlinking to BibDesk references from any other application. In addition, a reference can be opened quickly in BibDesk by first selecting any cite key in a LaTeX document or other text document and then using the provided macOS service "Show Reference With Cite Key" (which, like all services, can be assigned a custom keyboard shortcut). Cite key autocomplete is available in some applications (including TeXShop) via a macOS service.

### Searching

A quick search field permits searching any field in a database, or any associated PDF annotations created in Skim (an open-source PDF reader created by BibDesk's developers), or the entire content of any linked external files. A more detailed "find and replace" window allows finding and replacing text in any field, with support for regular expressions.
The entries of any BibTeX database that has been opened and saved in BibDesk are made accessible to Spotlight searches anywhere in macOS, so any system-wide Spotlight searches will also search title, author, abstract, and keywords fields of BibDesk databases. Individual references are listed in Spotlight and, when opened, will be selected in BibDesk.
BibDesk database entries can also be searched with some other macOS applications such as Alfred and DEVONthink.

### Exporting

References can be exported via a menu command, cut and paste, drag and drop, or a macOS service. Although it was created to import and export in BibTeX format for use in LaTeX documents, BibDesk has a built-in graphical editor for creating custom export templates using Apple's key-value coding, which the user can program to export selected references in any citation style or in any structured text format. Sample templates are included for plain text, RTF, HTML, RSS, and some other XML formats, and other templates are available on the BibDesk wiki.
BibDesk can format entire bibliographies internally either via previews that use BibDesk's export templates or via previews of LaTeX output. In its previews of LaTeX output, BibDesk can automatically produce citations in any of the basic BibTeX styles or in any style for which the user has a BibTeX style (.bst) file.
BibDesk does not itself contain citation styles (such as APA, MLA, Chicago) and does not support Citation Style Language (CSL). Users who wish to use BibDesk but need to use CSL can export a BibTeX file to another application that supports CSL, such as Zotero, or Pandoc, which when combined with Markdown can also serve as a simpler alternative to LaTeX for producing academic writing.

### Scripting

BibDesk offers automation using AppleScript, and using other scripting languages via AppleScript. Example scripts are available on the BibDesk wiki and elsewhere.

## System requirements

The following table shows which version of BibDesk is compatible with each version of macOS.
| Operating system version | Last compatible BibDesk version |
| Mac OS X v10.2.8 "Jaguar" | 1.1.8 |
| Mac OS X v10.3.9 "Panther" | 1.2.11 |
| Mac OS X v10.4.11 "Tiger" | 1.3.22 |
| Mac OS X v10.5.8 "Leopard" | 1.5.10 |
| Mac OS X v10.6.8 "Snow Leopard" | 1.6.22 |
| Mac OS X v10.7.5 "Lion" | 1.7.9 |
| OS X v10.8.5 "Mountain Lion" | 1.7.9 |
| OS X v10.9 "Mavericks" | 1.7.9 |
| OS X v10.10 "Yosemite" | 1.8.20 |
| OS X v10.11 "El Capitan" | 1.8.20 |
| macOS v10.12 "Sierra" | 1.8.20 |
| macOS v10.13 "High Sierra" (or higher) | latest |