This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/layers/+lang/latex/README.org

189 lines
7.8 KiB
Org Mode
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#+TITLE: LaTeX layer
#+TAGS: dsl|layer|markup|programming
[[file:img/latex.png]]
* Table of Contents :TOC_5_gh:noexport:
- [[#description][Description]]
- [[#features][Features:]]
- [[#bibtex][BibTeX]]
- [[#install][Install]]
- [[#layer][Layer]]
- [[#auto-completion][Auto-completion]]
- [[#previewing][Previewing]]
- [[#build-command][Build command]]
- [[#auto-fill][Auto-fill]]
- [[#folding][Folding]]
- [[#magic-latex-buffer][Magic latex buffer]]
- [[#key-bindings][Key bindings]]
- [[#folding-1][Folding]]
- [[#reftex][RefTeX]]
* Description
This layer adds support for LaTeX files with [[https://savannah.gnu.org/projects/auctex/][AucTeX]].
** Features:
- Auto-build with [[https://github.com/tom-tan/auctex-latexmk/][auctex-latexmk]]
- Auto-completion with [[https://github.com/alexeyr/company-auctex][company-auctex]]
- Tags navigation on ~%~ with [[https://github.com/redguardtoo/evil-matchit][evil-matchit]]
- Labels, references, citations and index entries management with [[http://www.gnu.org/software/emacs/manual/html_node/reftex/index.html][RefTeX]]
* BibTeX
For more extensive support of BibTeX files than RefTeX provides, have a look at
the [[https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Blang/bibtex/README.org][BibTeX layer]].
* Install
** Layer
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.
** Auto-completion
Add the layer =auto-completion= to the variable
=dotspacemacs-configuration-layers= of your dotfile =~/.spacemacs=.
** 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=:
#+BEGIN_SRC emacs-lisp
(add-hook 'doc-view-mode-hook 'auto-revert-mode)
#+END_SRC
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.
#+BEGIN_SRC emacs-lisp
dotspacemacs-configuration-layers '(
(latex :variables latex-build-command "LaTeX"))
#+END_SRC
** Auto-fill
To enable auto-fill set the variable =latex-enable-auto-fill= to =t=.
The variable =latex-nofill-env= provide the list of environment names where
=auto-fill-mode= will be inhibited.
#+BEGIN_SRC emacs-lisp
dotspacemacs-configuration-layers '(
(latex :variables latex-enable-auto-fill t))
#+END_SRC
** Folding
Enable folding of text by setting =latex-enable-folding= to =t=. Default value
is nil.
#+BEGIN_SRC emacs-lisp
dotspacemacs-configuration-layers '(
(latex :variables latex-enable-folding t))
#+END_SRC
** Magic latex buffer
To enable "magic" symbols in latex buffers, set the variable
=latex-enable-magic= to =t=.
#+BEGIN_SRC emacs-lisp
dotspacemacs-configuration-layers '(
(latex :variables latex-enable-magic t))
#+END_SRC
The precise effect of this feature can be modified by adjusting the following
variables:
- =magic-latex-enable-block-highlight=: show font properties like =\large=
(default =t=).
- =magic-latex-enable-block-align=: reflect block alignment such as =\center=
(default =nil=).
- =magic-latex-enable-pretty-symbols=: substitute symbols in place of code, e.g.
greek letters (default =t=).
- =magic-latex-enable-suscript=: show subscripts and superscripts (default =t=).
- =magic-latex-enable-inline-image=: show images inline (default =nil=).
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~ | run all commands (compile and open viewer) |
| ~SPC m b~ | build |
| ~SPC m c~ | close LaTeX environment |
| ~SPC m 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 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~ | reftex-citation |
| ~SPC m r g~ | reftex-grep-document |
| ~SPC m r i~ | reftex-index-selection-or-word |
| ~SPC m r I~ | reftex-display-index |
| ~SPC m r TAB~ | reftex-index |
| ~SPC m r l~ | reftex-label |
| ~SPC m r p~ | reftex-index-phrase-selection-or-word |
| ~SPC m r P~ | reftex-index-visit-phrases-buffer |
| ~SPC m r r~ | reftex-reference |
| ~SPC m r s~ | reftex-search-document |
| ~SPC m r t~ | reftex-toc |
| ~SPC m r T~ | reftex-toc-recenter |
| ~SPC m r v~ | reftex-view-crossref |