Alexander-Miller/company-shell@a77f4de759 -> Alexander-Miller/company-shell@5f959a63a6 Emacs-Kotlin-Mode-Maintainers/kotlin-mode@3e0c34087b -> Emacs-Kotlin-Mode-Maintainers/kotlin-mode@fddd747e5b FStarLang/fstar-mode.el@c95c2a61a6 -> FStarLang/fstar-mode.el@ab0697b947 Fuco1/sphinx-mode@9d4075c106 -> Fuco1/sphinx-mode@77ca51adf9 Groovy-Emacs-Modes/groovy-emacs-modes@bf732d367b -> Groovy-Emacs-Modes/groovy-emacs-modes@c612ac1e9f Khady/merlin-eldoc@db7fab1edd -> Khady/merlin-eldoc@bf8edc63d8 OVYA/php-cs-fixer@7e12a1af5d -> OVYA/php-cs-fixer@efe4368d89 ProofGeneral/PG@e1e29acb04 -> ProofGeneral/PG@8416875696 Wilfred/elisp-def@dfca043ec0 -> Wilfred/elisp-def@1d2e88a232 agda/agda@b612cabaae -> agda/agda@bb7603d197 amake/flutter.el@08138f8c95 -> amake/flutter.el@edd3f5eb3f ananthakumaran/exunit.el@0715c2dc2d -> ananthakumaran/exunit.el@e0a8c2b81f beancount/beancount-mode@ea8257881b -> beancount/beancount-mode@519bfd868f bradyt/dart-mode@3bac14200f -> bradyt/dart-mode@9c846769ab brantou/emacs-go-tag@59b243f2fa -> brantou/emacs-go-tag@33f2059551 cdominik/cdlatex@8e963c6853 -> cdominik/cdlatex@ac024ce293 clojure-emacs/cider@92c1b6de20 -> clojure-emacs/cider@1ed5163433 clojure-emacs/clj-refactor.el@db89b55871 -> clojure-emacs/clj-refactor.el@b5abe655e5 clojure-emacs/clojure-mode@414157c3e5 -> clojure-emacs/clojure-mode@3453cd229b cpitclaudel/company-coq@a6e349e013 -> cpitclaudel/company-coq@5affe7a96a crystal-lang-tools/emacs-crystal-mode@96a8058205 -> crystal-lang-tools/emacs-crystal-mode@9bfb9f0f56 davazp/graphql-mode@9740e4027b -> davazp/graphql-mode@1437b79006 diml/utop@bbd9a6ed45 -> diml/utop@ace481388a dominikh/go-mode.el@3273fcece5 -> dominikh/go-mode.el@166dfb1e09 elixir-editors/emacs-elixir@e0d0466d83 -> elixir-editors/emacs-elixir@7641373f05 emacs-csharp/csharp-mode@856ecbc0a7 -> emacs-csharp/csharp-mode@02c61c219b emacs-ess/ESS@39eba28300 -> emacs-ess/ESS@8b4664e4a7 emacs-lsp/lsp-dart@fda433671f -> emacs-lsp/lsp-dart@3db9f93c83 emacs-lsp/lsp-java@0968038b9a -> emacs-lsp/lsp-java@dbe448a886 emacs-lsp/lsp-sourcekit@f877659bab -> emacs-lsp/lsp-sourcekit@468c641e35 emacs-php/composer.el@7c7f89df22 -> emacs-php/composer.el@5af1707fef emacs-php/php-mode@5f26bec865 -> emacs-php/php-mode@fb11df8268 emacs-php/phpactor.el@34195f1533 -> emacs-php/phpactor.el@9440005814 emacs-php/psysh.el@21250984ad -> emacs-php/psysh.el@796b26a5cd emacs-straight/auctex@830e40a063 -> emacs-straight/auctex@3929d5408b emacs-straight/csv-mode@43f6106f0d -> emacs-straight/csv-mode@d190a479b4 emacs-straight/rainbow-mode@949166cc01 -> emacs-straight/rainbow-mode@8e96388fb4 emacs-straight/sml-mode@0338e9729b -> emacs-straight/sml-mode@5426ff4738 emacsmirror/auctex-latexmk@4d35352265 -> emacsmirror/auctex-latexmk@b00a95e6b3 emacsmirror/paredit@e4a67f4f23 -> emacsmirror/paredit@9a2c4b37fc emacsorphanage/macrostep@424e3734a1 -> emacsorphanage/macrostep@75ecd04121 erlang/otp@9ba9f6e60d -> erlang/otp@be7109f43b ethereum/emacs-solidity@20fb77e089 -> ethereum/emacs-solidity@ddb4a901c3 factor/factor@1aeafdb87b -> factor/factor@76ac65649d fsharp/emacs-fsharp-mode@c1e58c61f9 -> fsharp/emacs-fsharp-mode@09fec6c91f fxbois/web-mode@efa853e5cf -> fxbois/web-mode@df97ab62c9 godotengine/emacs-gdscript-mode@4badcf6a0c -> godotengine/emacs-gdscript-mode@d392e8aa7e greghendershott/racket-mode@af9b760e7b -> greghendershott/racket-mode@947d9806ee hhvm/hack-mode@a522f61c08 -> hhvm/hack-mode@26f06ffe82 idris-hackers/idris-mode@65d6db1b75 -> idris-hackers/idris-mode@c96f45d1b8 immerrr/lua-mode@5a9bee8d5f -> immerrr/lua-mode@ad639c62e3 iyefrat/evil-tex@0fa85c3fc8 -> iyefrat/evil-tex@3e0a26b91a jcollard/elm-mode@d4e434fa18 -> jcollard/elm-mode@5797500d74 joaotavora/sly@4513c382f0 -> joaotavora/sly@fa70fc8ab1 jorgenschaefer/emacs-buttercup@ceedad5efa -> jorgenschaefer/emacs-buttercup@07a52c9969 jrblevin/markdown-mode@1f709778ac -> jrblevin/markdown-mode@c765b73b37 jschaf/powershell.el@ce1f0ae0b2 -> jschaf/powershell.el@f2da15857e jwiegley/emacs-async@c78bab7506 -> jwiegley/emacs-async@71cc50f27f leanprover/lean-mode@c1c68cc946 -> leanprover/lean-mode@362bc6fa3e ledger/ledger-mode@b55384d9cd -> ledger/ledger-mode@4b32f70173 midnightSuyama/shader-mode@d7dc8d0d6f -> midnightSuyama/shader-mode@fe5a1982ba necaris/conda.el@667968184e -> necaris/conda.el@28f51e49fd nlamirault/phpunit.el@fe6bc91c3b -> nlamirault/phpunit.el@4a36906344 ocaml-ppx/ocamlformat@9cbd8150c2 -> ocaml-ppx/ocamlformat@1ad4bdba9e ocaml/dune@3df932f7f9 -> ocaml/dune@f5a5a9c17b ocaml/merlin@be753d9412 -> ocaml/merlin@306af713e2 ocaml/tuareg@ad8a688b7e -> ocaml/tuareg@53ce2fdfdd pashky/restclient.el@9e2cfa8652 -> pashky/restclient.el@0ba72816f9 polymode/polymode@2094c92403 -> polymode/polymode@15b6c1e94a purcell/flycheck-package@615c1ed8c6 -> purcell/flycheck-package@3a6aaed29f purescript-emacs/purescript-mode@0acd1af446 -> purescript-emacs/purescript-mode@cf113871f9 s-kostyaev/go-gen-test@35df36dcd5 -> s-kostyaev/go-gen-test@f84f4177af seagle0128/grip-mode@6d6ddbe0af -> seagle0128/grip-mode@5809fb62f6 sebasmonia/sharper@96edd4a1db -> sebasmonia/sharper@496e90e337 smihica/emmet-mode@6b2e554f7f -> smihica/emmet-mode@63b6932603 swift-emacs/swift-mode@f4529efa45 -> swift-emacs/swift-mode@1244ee48de technomancy/fennel-mode@5664357349 -> technomancy/fennel-mode@52da9715b0 vspinu/company-math@45778f5731 -> vspinu/company-math@3eb006874e whirm/flycheck-kotlin@bf1b398bdd -> whirm/flycheck-kotlin@a2a6abb9a7 wwwjfy/emacs-fish@a7c953b149 -> wwwjfy/emacs-fish@d04478c0ab xuchunyang/elisp-demos@01c301b516 -> xuchunyang/elisp-demos@792be709c8 yoshiki/yaml-mode@535273d5a1 -> yoshiki/yaml-mode@3fcb36d603 ziglang/zig-mode@aa20d630b8 -> ziglang/zig-mode@9c5e41d6a0
:lang latex
Description unfold
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
Maintainers
Module flags
- +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).
Packages
- 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
TODO Hacks
🔨 This module's hacks haven't been documented yet. Document them?
TODO Changelog
This module does not have a changelog yet.
Installation
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.
Ubuntu
apt-get install texlive
Arch Linux
pacman -S texlive-core
TODO macOS
brew install --cask basictex
# If the above doesn't work, then
brew install --cask mactex # WARNING: large 4gb download!
🔨 This has not been verified.
NixOS
environment.systemPackages = [ pkgs.texlive.combined.scheme-medium ];
TODO Usage
🔨 This module has no usage documentation yet. Write some?
Configuration
Specifying the location of a bibtex file & corresponding PDFs
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")
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 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
.
Using cdlatex's snippets despite having yasnippet
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.
Troubleshooting
There are no known problems with this module. Report one?
Frequently asked questions
This module has no FAQs yet. Ask one?
TODO Appendix
🔨 This module has no appendix yet. Write one?