-
Notifications
You must be signed in to change notification settings - Fork 535
Format
LaTeX Workshop provides both LaTeX and BibTeX formatting capabilities. The former depends on external tools like latexindent
or tex-fmt
. The latter is provided by the grammar parsing tool embedded in this extension.
LaTeX Workshop can invoke your installed latexindent
or tex-fmt
to format the whole LaTeX file or a part of it. Calling which formatter is set by config latex-workshop.formatting.latex
, which can take three values: none
for not using any formatter, latexindent
and tex-fmt
per se.
Please note that you need to first ensure installing these formatters, otherwise the formatting will fail. This should not cause unexpected data loss, though.
Define the program to format the LaTeX document.
type | default value |
---|---|
string | "none" |
The possible values are: "none"
, "latexindent"
, or "tex-fmt"
.
Define the path of the latexindent
executable. If latexindent
is in the PATH
, setting this variable to the executable name is fine.
type | default value |
---|---|
string | "latexindent" |
Define the command line arguments for latexindent. In the addition to the placeholders defined for recipes, the following placeholders are accepted
-
%TMPFILE%
: The full path of the raw TeX file to be formatted. At this moment you need to use it as an input file oflatexindent
. -
%INDENT%
: The indent character of the file, typically\t
,' '
,' '
.
Note: For the moment the -c
option requires trailing slash."
type | default value |
---|---|
Array of strings | [ "-c", "%DIR%/", "%TMPFILE%", "-y=defaultIndent: '%INDENT%'" ] |
Define the path of the tex-fmt
executable. If tex-fmt
is in the PATH
, setting this variable to the executable name is fine.
type | default value |
---|---|
string | "tex-fmt" |
Do not wrap the output of tex-fmt
. This setting adds --keep
flag to tex-fmt
. Turning this off may wrap magic comments, and/or has unintended side effects.
Type | Default Value |
---|---|
boolean | true |
BibTeX files can be formatted either by using the VSCode Format Document or Format Selection commands or by calling one of the following three commands
-
latex-workshop.bibsort
: to sort the file, -
latex-workshop.bibalign
: to align fields, -
latex-workshop.bibalignsort
: to perform both at once.
These commands can be accessed through Visual Studio Code's Command Palette (default ctrl+shift+p or ⌘+shift+p).
Whether to sort the file when calling VSCode formatting commands is set by latex-workshop.bibtex-format.sort.enabled
. When formatting bibtex entries, you can decide to keep the trailing comma of the last field in each entry by setting latex-workshop.bibtex-format.trailingComma
to true
The commands latex-workshop.bibsort
and latex-workshop.bibalignsort
will sort a .bib
file according to an array of sorting keys specified in latex-workshop.bibtex-format.sortby
. Valid keys are either a bibtex field name (title, author, year, etc.), or \"year-desc\"
to sort by year in descending order, or \"key\"
for the entry key, or \"type\"
for the entry type (article, book, misc, etc.). E.g. [\"author\", \"year-desc\", \"title\"]
.". For example, set this to ["author", "year-desc", "title"]
to sort by author
, then year
in descending order, then title
Type | Default Value |
---|---|
array of strings | [ "key" ] |
When sorting BibTeX files, how to handle duplicates that appear. Duplicates are decided by latex-workshop.bibtex-format.sortby
.
Type | Default Value | Possible Values |
---|---|---|
enum of string | "Highlight Duplicates" |
"Ignore Duplicates" , "Highlight Duplicates" , "Comment Duplicates"
|
Sort content when calling VSCode formatter on a .bib file.
Type | Default Value |
---|---|
boolean | false |
When latex-workshop.bibtex-fields.sort.enabled
is true, these fields are put at the top, in the order defined by the array.
Type | Default Value |
---|---|
array of strings | [ "xdata", "string" ] |
The commands latex-workshop.bibalign
and latex-workshop.bibalignsort
provide basic alignment of bibliography entries. This action can be configured through the following options.
What kind of indentation to use before each field.
Type | Default Value |
---|---|
string | "2 spaces" |
The possible values are: "tab"
, "X spaces"
or simply "X"
where X
is a number.
Align equal signs inside each entry.
Type | Default Value |
---|---|
boolean | true |
Whether to surround each field value in quotation marks or curly braces.
Type | Default Value | Possible Values |
---|---|---|
enum of string | "Curly braces" |
"Curly braces" , "Quotation marks"
|
Whether to use upper- or lowercase field names. (E.g. AUTHOR = ...
vs author = ...
).
Type | Default Value | Possible Values |
---|---|---|
enum of string | "lowercase" |
"UPPERCASE" , "lowercase"
|
Keep the trailing comma of the last field item.
Type | Default Value |
---|---|
boolean | false |
Sort fields inside every entry. The sorting order is defined by latex-workshop.bibtex-fields.order
. This variable only has effect when formatting bibtex aligns fields. It is not possible to sort entries without aligning them.
Type | Default Value |
---|---|
boolean | false |
When latex-workshop.bibtex-fields.sort.enabled
is true, sort fields according the order defined here and then alphabetically for not listed fields."
Type | Default Value |
---|---|
array of strings | [ ] |