This commit makes the latex layer automatically configure pdf-tools as
latex pdf-viewer if the pdf layer is installed.
Additionally it adds a layer variable to configure pdf-tools to open in a
split-window. (Strangely, finding out how to achieve that is far from trivial,
and also not easy to google, because many hits do not provide the "correct"
answer (see the typical example
[here](https://emacs.stackexchange.com/questions/28056/spacemacs-latex-how-to-make-view-command-tile-vertically-with-emacs-window)).
Update layers/+lang/latex/funcs.el
Co-authored-by: Lucius Hu <1222865+lebensterben@users.noreply.github.com>
- Moved backend determination to `config.el`
- Replaced unnecessary backquote construct with simple quotation
- Replaced `pcase` form with only one-arm with `when` or `unless` form
- Refactored function
- Add `dumb-jump-xref-activate` hook to `xref-backend-functions`, which
add a fallback option, i.e. `dumb-jump`, when no better alternatives
is availabe
- Removed the obsolte interface `dumb-jump-go` from the following layers:
- clojure
- latex
- vue
- The global binding `SPC j q` requires the obsolte function
`dumb-jump-quick-look` and is therfore removed
Before layers were sometimes only activating the non strict
version of smartparens. Also some were only disabling
the non-strict version leaving some of the smartparens
advices intact.
With this PR, all layers set the right version of smartparens.
Also if the layer is trying to disable it a standard function
will now take care to disable all versions of smartparens.
Classic completions now use company-math if available
however if this fails it should fall back to the
original system to avoid issues with existing
configs.
Combining company-math and company-auctex
Updating documentation and make math-symbol-lists requiring company-math
Back to original readme
math-symbol-lists is used elsewhere and should not be made dependent on the use of company-math
using the result of company-auctex-macros
Add explicit dependency of company-amth to math-symbol-lists
* LaTeX: improved i18n support and documentation
- Added a new layer config variable `latex-build-engine`, a thin wrapper of
`TeX-engine`:
- For better support of non-european character set rendering, `xetex` is
chosen when it's found on PATH, and when eithe `chinese` or `japanese`
layer is enabled
- Added a new layer config variable `latex-enable-preview`:
- When non-nil, `auto-revert-mode` is added to `doc-view-mode-hook`
- Previously this is described in documentation but requires users to set it
manually
- Documentation:
- Added a section that lists are layer config variables
- Improved all documentation examples, s.t. they are valid elisp forms to be
evaluated directly
- Improved the section on backend:
- Emphsized that LSP layer is always preferred
- Provided information on installing the language server
- Added the default value for layer config variable, `latex-nofil-env`
* minor edits
- Updated CHANGELOG.develop
- Renamed `latex-enable-preview` to `latex-refresh-preview`
- Replaced a fuzzy intra-link in documentation with a proper link
Co-authored-by: Lucius Hu <lebensterben@users.noreply.github.com>
AUCTeX is weird: It reports major-mode as latex-mode (since TeX-latex-mode is
applied as an :override advice on the basic built-in latex-mode), but its mode
hook is LaTeX-mode-hook, not latex-mode-hook (which is only run by the built-in
latex-mode). Since bind-map uses the value of major-mode, we must pass
latex-mode to spacemacs|define-jump-handlers. But then
spacemacs//init-jump-handlers-latex-mode gets added to latex-mode-hook, which
never gets run. So we must manualy add it to LaTeX-mode-hook.
[latex] Use dumb-jump as primary jump handler
Otherwise, the default is used, which prioritizes evil-goto-definition over
dumb-jump-go. Dumb Jump tends to Just Work, while evil-goto-definition doesn't
handle LaTeX very well, at least not without a TAGS table.
[latex] Update CHANGELOG.develop
This reverts commit 29c78ce841 and all other fixes
that have been made afterwards.
The motivation is that use-package is seen by many as a replacement for
`require`. Is use-package always defer the loading of packages then is breaks
this use case, this does not respect POLA so even if it was making Spacemacs
loading faster (up to 3s faster on some startup on my machine) we just cannot
use it, it would be irresponsible. Spacemacs should be easy to use, loading
performance will come with time but it is not a priority.
Had to create dummy init functions at some places since the owner of a package
is the last layer that defines the init function of a package. And a package
can be installed only if it has an owner.