This Nova extension provides syntax highlighting and autocompletion for TeX languages including LaTeX, ConTeXt and BibTeX. See the extension's Readme for user documentation.
The included syntaxes are and can only be best effort.
The ability of changing the \catcode
of characters renders every effort to fully comprehend TeX-based syntax futile without implementing a full TeX interpreter.
Some special structures are understood and highlighted appropriately:
verbatim
, lstlisting
or equation
that change processing of their content are known.[name=value, ...]
.
This will not be right in all contexts.Spell-checking excludes command and parameter names, but cannot fully distinguish between content that should be checked and content that shouldn't (e.g. reference names).
The document structure only includes numbered headings, i.e. headings like \section*
(LaTeX) or \subject
(ConTeXt) are not shown.
Heading titles are constructed from textual content until a command is encountered – so if your section title starts with \textit
, the displayed title in the outline will be empty.
Skim is used for showing a PDF because that is the only way SyncTeX support can realistically be provided. It is very unlikely that this will ever be an in-editor view.
These are ideas, there is not necessarily a plan to implement them. You are welcome to do PRs for any of these.
{}
when selecting tabular
environment.icon.svg
is the source for the extension's icon.
Use the following commands to regenerate the .png
files (needs a librsvg
installation):
rsvg-convert icon.svg -o TeX.novaextension/extension@2x.png
rsvg-convert -h 128 icon.svg -o TeX.novaextension/extension.png
MIT