doomemacs/modules/lang/latex
Henrik Lissner 0dc1084e8a
bump: :lang
ProofGeneral/PG@99f91e873e -> ProofGeneral/PG@3a99da2755
agda/agda@fbf9d159c3 -> agda/agda@4f82f9b90a
amake/flutter.el@004c91e070 -> amake/flutter.el@e71235d400
babashka/neil@a38be9f082 -> babashka/neil@6728367eff
beancount/beancount-mode@71c1622246 -> beancount/beancount-mode@7b437abcf0
chachi/cuda-mode@7dd07a20c3 -> chachi/cuda-mode@c3dae31b3d
clojure-emacs/cider@105da319b0 -> clojure-emacs/cider@8fdb53e8be
dominikh/go-mode.el@636d36e37a -> dominikh/go-mode.el@602d73e226
emacs-geiser/geiser@b6b4ac070d -> emacs-geiser/geiser@97ce88463f
emacs-geiser/guile@d5175439c0 -> emacs-geiser/guile@5a856c2982
emacs-gnuplot/gnuplot@7138b139d2 -> emacs-gnuplot/gnuplot@4c6b18f71f
emacs-lsp/lsp-dart@1f52e81c93 -> emacs-lsp/lsp-dart@9ffbafb7dc
emacs-lsp/lsp-haskell@18a7c7881f -> emacs-lsp/lsp-haskell@ba49fa9822
emacs-lsp/lsp-java@4909c14b90 -> emacs-lsp/lsp-java@868600bf7f
emacs-lsp/lsp-metals@fa4072cbe7 -> emacs-lsp/lsp-metals@0dc938be11
emacs-lsp/lsp-sourcekit@bb2b7e0278 -> emacs-lsp/lsp-sourcekit@63ff1ab638
emacs-lsp/lsp-treemacs@1d43e9e030 -> emacs-lsp/lsp-treemacs@fb1a07ae0a
emacs-straight/adaptive-wrap@f5bc153273 -> emacs-straight/adaptive-wrap@d75665b9c8
emacs-straight/auctex@451b0f08b0 -> emacs-straight/auctex@08881d08ce
emacs-straight/csv-mode@cdb73a771b -> emacs-straight/csv-mode@6979fc18eb
emacs-straight/org-mode@f398724bd5 -> emacs-straight/org-mode@6a5d0ed342
emacs-straight/rainbow-mode@0740f31f30 -> emacs-straight/rainbow-mode@2e6b18609c
emacs-straight/sml-mode@d114e5a27f -> emacs-straight/sml-mode@021233f60a
emacsmirror/paredit@9a2c4b37fc -> emacsmirror/paredit@037b9b8acb
ericdallo/jet.el@7d5157aac6 -> ericdallo/jet.el@c9a92675ef
erlang/otp@2a64588d4a -> erlang/otp@c66bf53cde
factor/factor@d143007778 -> factor/factor@31dc1a386b
fosskers/sly-overlay@4c6135c260 -> fosskers/sly-overlay@d629450590
fxbois/web-mode@005aa62d6f -> fxbois/web-mode@0c83581d1e
gcv/julia-snail@f7784c5007 -> gcv/julia-snail@dff92c4250
greghendershott/racket-mode@40ecb87f40 -> greghendershott/racket-mode@dba66c4536
hhvm/hack-mode@ccf20511f0 -> hhvm/hack-mode@343e45f2a6
https://repo.or.cz/org-contacts.git@d0cb221502c9 -> https://repo.or.cz/org-contacts.git@f0a430442b2a
hvesalai/emacs-scala-mode@4c6d636b86 -> hvesalai/emacs-scala-mode@bd0638c32a
idris-hackers/idris-mode@38dd2380dc -> idris-hackers/idris-mode@09de86a8f0
ifitzpatrick/graphql-doc.el@d37140267e -> ifitzpatrick/graphql-doc.el@17755a2466
jart/disaster@16bba9afb9 -> jart/disaster@b20f8e1ef9
joaotavora/sly@ba40c8f054 -> joaotavora/sly@742355f755
jorgenschaefer/emacs-buttercup@a1a86b027f -> jorgenschaefer/emacs-buttercup@bf01a33f8b
jrblevin/markdown-mode@8aab017f47 -> jrblevin/markdown-mode@6102ac5b73
jschaf/powershell.el@f2da15857e -> jschaf/powershell.el@38727f1cda
jwiegley/emacs-async@f317b0c9c3 -> jwiegley/emacs-async@43f97d7e68
ledger/ledger-mode@b0e65f74a5 -> ledger/ledger-mode@a6be7a2d79
nonsequitur/inf-ruby@0cfe8b2fb1 -> nonsequitur/inf-ruby@b234625c85
ocaml/dune@96ed5fb42f -> ocaml/dune@a7924e322e
ocaml/merlin@9fa77dbe81 -> ocaml/merlin@e016abfac6
oer/org-re-reveal@dbd8ffb3e5 -> oer/org-re-reveal@91610ba9b0
org-noter/org-noter@68646b685a -> org-noter/org-noter@6f292d7f1e
org-roam/org-roam@8667e44187 -> org-roam/org-roam@0b9fcbc97b
rust-lang/rust-mode@a529a45181 -> rust-lang/rust-mode@c87f6f82bd
seagle0128/grip-mode@7c42b8f61d -> seagle0128/grip-mode@9adac9c989
technomancy/fennel-mode@a4ddd1750f -> technomancy/fennel-mode@f4bd34e1c3

From this point on, Org will be pinned to tagged releases.
2024-09-07 19:04:37 -04:00
..
+fontification.el nit(latex): table d'hôte 2021-11-24 13:08:34 +01:00
+ref.el refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
+viewers.el fix(latex): reorder viewers wrt +latex-viewers 2024-09-05 15:30:22 -04:00
autoload.el docs(default,mu4e,latex): fix repetition of the in docs 2024-03-12 20:16:29 -04:00
config.el fix(latex): run after-compilation-finished hook after Tex-Tex-sentinel 2024-09-06 04:46:36 -04:00
packages.el bump: :lang 2024-09-07 19:04:37 -04:00
README.org bump!: :lang latex 2024-07-08 13:59:16 -04:00

:lang latex

Description   unfold

Provide a helping hand when working with LaTeX documents.

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.
+lsp
Enable LSP support in latex buffers. Requires doom-module::tools lsp and a langserver (supports digestif and TexLab).

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-basic texlive-latexrecommended texlive-plaingeneric

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 ];

Formatter

Formatting is handled using the doom-module::editor format module via latexindent.

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?