This extension provides autocompletion of citations stored in a bibtex file, for use with pandoc-markdown documents, along with auto-completion for pandoc-crossref cross-references.
- Citations follow the standard syntax recognized by pandoc-citeproc, i.e.:
- Citation syntax:
@BibKeyor[@bibKey]- Typing '@' should automatically trigger the suggestion window to show up. If not, try
Ctrl + Space. - The suggestion window (probably) won't trigger if the
@is right after some text without a space, i.e.text@won't trigger the suggestions buttext @will. This restriction was made so that typing an email address won't trigger the citation suggestions.
- Typing '@' should automatically trigger the suggestion window to show up. If not, try
- The YAML should contain the line
bibliography: [path/to/.bib]- The path/to/.bib can either be a single path, a list of paths enclosed by square brackets, or a bullet list of paths
- The path/to/.bib can be either a relative or absolute path
- Multiple bib files can be included if separated by comma, e.g.
[path/to/refsA.bib, path/to/refsB.bib]
- Citation syntax:
PandocCiter.CrossRefMode- Type: String, either "full" (default), "minimal", or "none"
- Function: This changes the detail shown during auto-completion of cross-references. Setting this to "none" will disable auto-completion of pandoc-crossref references.
PandocCiter.ViewType- Type: String, either "inline" (default) or "browser"
- Function: Changes how the suggested citations are shown
PandocCiter.RootFile- Type: String, path to markdown file
- Function: This is useful if there are multiple markdown files with one external master file containing the YAML header with the
bibliography: [path/to/bib]entry. This avoids having to insert the bibliography YAML header into each individual file.
PandocCiter.DefaultBibs- Type: Array of Strings, absolute or relative path to bib file
- Note: For relative paths, it will be assumed that the path is relative to the workspace folder
- Function: This is useful if there is a default bib file that is preferred for all projects. This bib file will be loaded regardless of whether or not a YAML entry is included.
- Type: Array of Strings, absolute or relative path to bib file
PandocCiter.DefaultBib- Same as
PandocCiter.DefaultBibs, except this is older and only accepts a single path as a string. Not recommended for new users. This only exists to avoid breaking older setups.
- Same as
PandocCiter.UseDefaultBib- Type: Boolean, default is
true - Function: This should be a project-specific setting. It is useful when a DefaultBib is defined but you don't want it to be used for a specific project.
- Type: Boolean, default is
PandocCiter.ForgetUnusedBib- Type: Boolean, default is
true - Function: This will check if the bibliography YAML matches the watched bib files, and if any watched files are not in the YAML, then their suggestions will be removed.
- For example, suppose two markdown files are opened but only one of them has a bibliography entry in their YAML header. If this config is set to
false, then both markdown files will show citation suggestions. If this config is set totrue, then citation suggestions will only be shown in the file with the bibliography YAML.
- For example, suppose two markdown files are opened but only one of them has a bibliography entry in their YAML header. If this config is set to
- Type: Boolean, default is
PandocCiter.ShowLog- Type: Boolean, default is
false - Function: This will show a log in the Output panel, useful for answering questions like "Why isn't the extension finding my bib file?". The Output panel can be accessed via
VSCode Top Menubar -> View -> Outputwhich will open a panel at the bottom. SelectPandocCiterfrom the drop down list, and the extension's log should show up.
- Type: Boolean, default is
PandocCiter.CitationFormat- Type: String array
- Function: Controls which bibtex fields will be shown in the suggestions window. These items will also be used to filter the suggestions during autocompletion.
- This extension started out as a a stripped down version of the LaTeX-Workshop extension that has been adjusted for markdown/pandoc
- The structure of the
srcdirectory was preserved, so that any updates/fixes here could also be ported to LaTex-Workshop, and vice versa
- The structure of the
- Contributors:
- @smartens - fixing bugs
- @yarray - adding pandoc-crossref support
- @Dominic-DallOsto - adding hover and go-to-definition support
- @MaxChang3 - improving hover support
