Supported languages:
- LaTeX
- ConTeXt
- plain TeX
- BibTeX
Supported features:
- syntax highlighting
- spell checking
- auto indentation
- language server (LaTeX, ConTeXt)
- command completion suggestions
- auto-completion of
\end
commands (LaTeX) - auto-completion of
\stop
commands (ConTeXt) - outlining and folding of document structure:
\begin
/\end
(LaTeX)\start
/\stop
(ConTeXt)
- outlining (no folding) of
\chapter
,\section
etc (LaTeX, ConTeXt) currently not for ConTeXt \start\stop variants - tasks for building and live PDF preview (ConTeXt, LaTeX via
latexmk
)
You will need a TeX distribution installed on your system. This extension has been tested and is known to work with both MacTeX and TeX Live from the Nix Package Manager. On your system, latexmk, the PDF backend you want to use (pdfLaTeX, XeLaTeX or LuaLaTeX) and all packages used in your document need to be available in order to build the PDF from within Nova.
A latexmkrc
or .latexmkrc
file, located at the root of your workspace, is recognized.
If that file exists, it (or a global file, e.g. in the user home directory) must set $pdf_mode
to something other than 0
so that a PDF is generated.
If that workspace file sets @default_files
, a task configuration for each of the files listed there will be generated.
There will also be a task for building the current .tex
file with latexmk
.
If the autogenerated task(s) do not fit with your project, you can create a task from the latexmk
template and set all desired latexmk
options manually – this can be done in the Project Settings.
If and only if no latexmkrc
/ .latexmkrc
file exists at the workspace root, building the PDF will use the PDF processor chosen in the extension's settings.
You can use context
from either your TeX distribution or as standalone installation, though the latter is untested.
A task for building the current file with context
is automatically generated.
You can create a task from the context
template in Project Settings to have a task building a specific file.
Neither forwards nor backwards navigation are working with ConTeXt, the ConTeXt wiki states that this may be a bug in ConTeXt's SyncTeX implementation.
You can use any language server that supports talking via stdin/stdout. Specify the path to the language server in the extension's preferences. Recommended language servers are:
- TexLab (default for LaTeX, supports LaTeX)
- Digestif (default for ConTeXt, supports LaTeX and ConTeXt)
For viewing the document, you need the PDF viewer Skim which, unlike Preview, supports SyncTeX. It is recommended to position Nova and Skim side-by-side. The PDF view does not integrate into the Nova window.
Both the autogenerated tasks and a task created via template support the following actions:
- build builds the PDF document in the project's directory.
- run navigates the PDF view to the position of the cursor in the currently active source file.
If the PDF is not yet open in Skim, it will be opened.
In Skim settings, you can select Nova as editor to enable backwards navigation via
⌘⇧
+Click. - clean removes the PDF and intermediate files.
To enable backwards navigation in Skim, select the Nova preset in the Sync preferences.