:lang latex
Writing papers in Emacs has never been so fun
1. Description
Provide a helping hand when working with LaTeX documents.
- Sane defaults
- Fontification of many popular commands
- Pretty indentation of wrapped lines using the
adaptive-wrap
package - Spell checking with
flycheck
- Change PDF viewer to Okular or
latex-preview-pane
- Bibtex editor
- Autocompletion using
company-mode
- Compile your .tex code only once using LatexMk
1.1. Maintainers
This module has no dedicated maintainers. Become a maintainer?
1.2. Module flags
- +cdlatex
- Enable cdlatex for fast math insertion.
- +fold
- Use TeX-fold (from auctex) to fold LaTeX macros to unicode, and make folding hook-based and less manual.
- +latexmk
- Use LatexMk instead of LaTeX to compile documents.
- +lsp
- Enable LSP support in LaTeX buffers. Requires :tools lsp module. Supports digestif and TexLab LSP servers.
1.3. Packages
1.4. Hacks
No hacks documented for this module.
2. Prerequisites
You will need ghostscript and a latex compiler. All this is provided by the texlive bundle, available through many OS package managers.
Ghostscript <= 9.27 is reported buggy and doesn’t work with auctex’s math
previews. (You can check you ghostscript version with gs --version
.) Most
package managers already have newer versions, but if not you might have to build
gs from source.
2.3. TODO macOS
3. TODO Usage
This module has no usage documentation yet. Write some?
4. Configuration
4.1. Specifying the location of a bibtex file & corresponding PDFs
4.2. Changing the PDFs viewer
This module provides integration for four supported pdf viewers. They are:
- Skim.app (MacOS only)
- Evince
- Sumatra PDF
- Zathura
- Okular
- pdf-tools (requires :tools pdf)
They are searched for in this order. See +latex-viewers
to change the order,
or remove tools from the search altogether. If you want to exclusively use one
tool, for instance:
If none of these tools are found, latex-preview-pane
(uses DocView
in Emacs)
is used as a fallback. You can use this exclusively by setting +latex-viewers
to nil
.
4.3. Using cdlatex’s snippets despite having yasnippet
cdlatex has a snippet insertion capability which is disabled in favor of yasnippet when using :editor snippets. If you still wanna use it, simply rebind the TAB key for cdlatex, which takes care of snippet-related stuff:
This would favor yasnippet’s expansion and cursor movement over cdlatex’s expansion and movement, but that shouldn’t matter if you’re not using yasnippet in latex buffers.
5. Troubleshooting
There are no known problems with this module. Report one?
6. TODO Appendix
This module has no appendix yet. Write one?