Provide a helping hand when working with LaTeX documents.
- Sane defaults
- Fontification of many popular commands
- Pretty indentation of wrapped lines using the doom-package:adaptive-wrap package
- Spell checking with doom-package:flycheck
- Change PDF viewer to Okular or doom-package:latex-preview-pane
- Bibtex editor
- Autocompletion using doom-package:company-mode
- Compile your
.tex
code only once using LatexMk
- @tecosaur
- @ymarco
Become a maintainer?
- +cdlatex
- Enable doom-package:cdlatex for fast math insertion.
- +fold
- Use TeX-fold (from doom-package: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 doom-module::tools lsp and a langserver (supports digestif and TexLab).
- doom-package:adaptive-wrap
- doom-package:auctex
- doom-package:auctex-latexmk if doom-module:+latexmk
- doom-package:cdlatex if doom-module:+cdlatex
- doom-package:evil-tex if doom-module::editor evil +everywhere
- doom-package:latex-preview-pane
- if doom-module::completion company
- doom-package:company-auctex
- doom-package:company-math
- doom-package:company-reftex
This module’s hacks haven’t been documented yet. Document them?
This module does not have a changelog yet.
Enable this module in your doom!
block.
This module requires ghostscript and a latex compiler. These are provided by the
texlive
bundle, available through many OS package managers.
Ghostscript <= 9.27 is reportedly 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.
apt-get install texlive
pacman -S texlive-basic texlive-latexrecommended texlive-plaingeneric
brew install --cask basictex
# If the above doesn't work, then
brew install --cask mactex # WARNING: large 4gb download!
This has not been verified.
environment.systemPackages = [ pkgs.texlive.combined.scheme-medium ];
Formatting is handled using the doom-module::editor format module via latexindent.
This module has no usage documentation yet. Write some?
Reftex has a variable that allow you to specify where it should find your bibliography file(s):
;; in $DOOMDIR/config.el
(setq reftex-default-bibliography "/your/bib/file.bib")
This module provides integration for four supported pdf viewers. They are
- Skim.app (MacOS only)
- Evince
- Sumatra PDF
- Zathura
- Okular
- pdf-tools (requires doom-module::tools pdf module)
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:
;; in $DOOMDIR/config.el
(setq +latex-viewers '(zathura))
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
.
doom-package:cdlatex has a snippet insertion capability which is disabled in favor of doom-package:yasnippet when using doom-module::editor snippets. If you still wanna use it, simply rebind the TAB key for cdlatex, which takes care of snippet-related stuff:
;; in $DOOMDIR/config.el
(map! :map cdlatex-mode-map
:i "TAB" #'cdlatex-tab)
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.
There are no known problems with this module. Report one?
This module has no FAQs yet. Ask one?
This module has no appendix yet. Write one?