- TeX Suite
- Support for TeX, LaTeX, ConTeXt and BibTeX
- 1696 Installs
-
This extension is allowed to:
- Read & Write Files
- Launch Subprocesses
Readme
TeX Suite
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
)
LaTeX
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.
ConTeXt
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.
Language Server
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)
PDF Building and Preview
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.
Changelog
Version 1.0.4
- fixed a problem with newer 10.x Nova versions that could crash the language server
Version 1.0.3
- fixed a bug that prevented the language servers to be started
Version 1.0.2
LaTeX:
- fixed the task template's Run task
Version 1.0.1
LaTeX:
- fixed the task template not being able to call latexmk
Version 1.0.0
This release is the result of merging https://github.com/mava/Nova-LaTeX into the TeX Suite.
All:
- added language server support
- removed
\chapter
,\section
etc folding as it was not quite compatible with environment folding - added environments to the document symbols sidebar
- changed Skim integration to use newer builtin functionality. This means Skim doesn't run as subprocess of Nova anymore.
- implemented Skim forward navigation
- removed issue parsing from
latexmk
/context
output, since issues are now generated from the language server - fixed a problem where a command was parsed as sectioning command if part of the command looked like one (e.g.
\sectiona
) - fixed a problem when
$
was used in a sectioning title - new icon
BibTeX:
- added BibTeX syntax
Version 0.5.1
All:
- fixed the previously added preferences and shell probing to actually work (#2)
- improved error messages on tooling problems (e.g. when the latexmk or context executables are not found)
Version 0.5.0
LaTeX:
- fixed latexmk runner bugs that were introduced in 0.4.0
- improved parsing of LaTeX error messages
All:
- added editor actions to make text emphasised and bold.
- probe user's default shell for proper path to tools (latexmk/context/etc)
- added global & project preferences to explicitly set the path to the tools that ought to be used
- made extension only activate in workspaces with *.tex or [.]latexmkrc files or files that use one of the TeX syntaxes
Version 0.4.0
LaTeX:
- Can clean via latexmk.
- auto-generate task from
[.]latexmkrc
file, if one exists.
ConTeXt:
- implemented task template similar to latexmk, including build, preview and clean support
All:
- automatically open Issues Sidebar when an error is encountered during building / running.
Version 0.3.1
Updated Changelog. whoops :)
Version 0.3.0
LaTeX:
- Fixed latexmk issue matcher so that Nova will show a proper error item when compilation fails.
- Added "run" task that runs Skim as preview application and continuously updates the PDF when editing files.
- Implemented SyncTeX support which enables backwards navigation from PDF to source.
All:
- Fixed comment definitions.
Version 0.2
LaTeX:
- Disabled highlighting of numbers outside math mode. This yielded far too much false positives.
- Suggest
document
as environment name in auto-completion - Added task template for building via latexmk.
Version 0.1
Initial release