10 KiB
LaTeX layer
Description
This layer adds support for LaTeX files with AucTeX.
Features:
- Auto-build with auctex-latexmk
- Syntax highlighting
- Auto-completion
- Tags navigation on
%
with evil-matchit - Labels, references, citations and index entries management with RefTeX
BibTeX
For more extensive support of BibTeX files than RefTeX provides, have a look at the BibTeX layer.
Install
To use this configuration layer, add it to your ~/.spacemacs
. You will need to
add latex
to the existing dotspacemacs-configuration-layers
list in this
file.
Configuration
Most layer configurations can be done by setting layer variables in your dotfile. Some however require adding lines to your user-config.
Choosing a backend
This layer provides two alternative backends to choose from.
Company-auctex
This is the default choice if nothing is set and no lsp layer is loaded in your dotfile. This mode only provides very limited IDE capabilities. Used best for smaller documents. To set explicitly set the following in your dotfile:
(latex :variables latex-backend 'company-auctex)
LSP
For proper IDE support this backend should be used. It is based on an external server which will be started automatically by emacs, once a latex file is opened. The key bindings are the same for all lsp modes so if you are already familiar with one you should be able to work the same in all modes.
To set explicitly do the following in your dotfile:
(latex :variables
latex-backend 'lsp)
For this to work you will also need to obtain
the latest version of the lsp server from here
and put it into your PATH
.
NOTE: Key bindings for LSP are defined in the LSP layer. Also it is advisable to have a look at the autocomplete layer for an optimal intellisense config for LSP.
Previewing
To perform full-document previews (that is, aside from the inline previewing
under SPC m p
), add the following to your .spacemacs
under
dotspacemacs/user-config
:
(add-hook 'doc-view-mode-hook 'auto-revert-mode)
Then when you open up a compiled PDF, the preview will update automatically when you recompile.
Build command
A build command can be specified via the layer variable latex-build-command
.
If LatexMk
is specified, the appropriate LatexMk
configuration will be
applied. (the default on systems with latexmk
in the path) This variable can
be set to any of the entities in TeX-command-list
, including any custom
entries you may have added there. To use the regular AucTeX
command set
latex-build-command
to LaTeX
as shown below.
dotspacemacs-configuration-layers '(
(latex :variables latex-build-command "LaTeX"))
Auto-fill
To disable auto-fill (which is on by default) set the variable
latex-enable-auto-fill
to nil
.
The variable latex-nofill-env
provide the list of environment names where
auto-fill-mode
will be inhibited.
dotspacemacs-configuration-layers '(
(latex :variables latex-enable-auto-fill nil))
Folding
Enable folding of text by setting latex-enable-folding
to t
. Default value
is nil.
dotspacemacs-configuration-layers '(
(latex :variables latex-enable-folding t))
Magic latex buffer
To enable "magic" symbols in latex buffers, set the variable
latex-enable-magic
to t
.
dotspacemacs-configuration-layers '(
(latex :variables latex-enable-magic t))
The precise effect of this feature can be modified by adjusting the following variables:
magic-latex-enable-block-highlight
: show font properties like\large
(defaultt
).magic-latex-enable-block-align
: reflect block alignment such as\center
(defaultnil
).magic-latex-enable-pretty-symbols
: substitute symbols in place of code, e.g. greek letters (defaultt
).magic-latex-enable-suscript
: show subscripts and superscripts (defaultt
).magic-latex-enable-inline-image
: show images inline (defaultnil
).
By default, the underlying latex code is echoed in the echo area.
Key bindings
Key binding | Description |
---|---|
SPC m - |
recenter output buffer |
SPC m , |
TeX command on master file |
SPC m . |
mark LaTeX environment |
SPC m * |
mark LaTeX section |
SPC m % |
comment or uncomment a paragraph |
SPC m ; |
comment or uncomment a region |
SPC m a or with LSP SPC m a u |
run all commands (compile and open viewer) |
SPC m b or with LSP SPC m c |
build the document (compile) |
SPC m c or with LSP SPC m i c |
close LaTeX environment |
SPC m e or with LSP SPC m i e |
insert LaTeX environment |
SPC m i i |
insert \item |
SPC m k |
kill TeX job |
SPC m l |
recenter output buffer |
SPC m m |
insert LaTeX macro |
SPC m n |
goto next error |
SPC m N |
goto previous error |
SPC m s |
insert LaTeX section |
SPC m v |
view output |
SPC m h d |
TeX documentation, can be very slow |
SPC m f e |
fill LaTeX environment |
SPC m f p |
fill LaTeX paragraph |
SPC m f r |
fill LaTeX region |
SPC m f s |
fill LaTeX section |
SPC m p r |
preview region |
SPC m p b |
preview buffer |
SPC m p d |
preview document |
SPC m p e |
preview environment |
SPC m p s |
preview section |
SPC m p p |
preview at point |
SPC m p f |
cache preamble for preview |
SPC m p c |
clear previews |
SPC m v |
view |
SPC m x b |
make font bold |
SPC m x B |
make font medium weight |
SPC m x c |
make font monospaced (for code) |
SPC m x e |
make font emphasised |
SPC m x i |
make font italic |
SPC m x o |
make font oblique |
SPC m x r |
remove font properties |
SPC m x f a |
use calligraphic font |
SPC m x f c |
use small-caps font |
SPC m x f f |
use sans serif font |
SPC m x f n |
use normal font |
SPC m x f r |
use serif font |
SPC m x f u |
use upright font |
Folding
Available only when latex-enable-folding
is non nil.
Key binding | Description |
---|---|
SPC m z = |
fold TeX math |
SPC m z b |
fold TeX buffer |
SPC m z e |
fold TeX environment |
SPC m z m |
fold TeX macro |
SPC m z r |
fold TeX region |
RefTeX
Key binding | Description |
---|---|
SPC m r c or with LSP SPC m R c |
reftex-citation |
SPC m r g or with LSP SPC m R g |
reftex-grep-document |
SPC m r i or with LSP SPC m R i |
reftex-index-selection-or-word |
SPC m r I or with LSP SPC m R I |
reftex-display-index |
SPC m r TAB or with LSP SPC m R TAB |
reftex-index |
SPC m r l or with LSP SPC m R l |
reftex-label |
SPC m r p or with LSP SPC m R p |
reftex-index-phrase-selection-or-word |
SPC m r P or with LSP SPC m R P |
reftex-index-visit-phrases-buffer |
SPC m r r or with LSP SPC m R r |
reftex-reference |
SPC m r s or with LSP SPC m R s |
reftex-search-document |
SPC m r t or with LSP SPC m R t |
reftex-toc |
SPC m r T or with LSP SPC m R T |
reftex-toc-recenter |
SPC m r v or with LSP SPC m R v |
reftex-view-crossref |