• Stars
    star
    124
  • Rank 288,207 (Top 6 %)
  • Language
    Emacs Lisp
  • Created about 10 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Completion back-ends for for math unicode symbols and latex tags

This add-on defines three company-mode backends:

  • company-math-symbols-latex - math latex tags (by default, active only on latex math faces)

    symbols

  • company-math-symbols-unicode - math unicode symbols and sub(super)scripts (by default, active everywhere except math faces)

    math

  • company-latex-commands - latex commands

Usage

Start math completion by typing the prefix \ key. To select the completion type RET. Depending on the context and your configuration unicode symbol or latex tag will be inserted.

Since version 1.2 sub(super)script completion is available for the company-math-symbols-unicode backend. Subscripts are inserted with either __ or \_ prefixes. Superscripts with ^^ or \^. Customize company-math-subscript-prefix and company-math-superscript-prefix if you don't like this default.

Activation

Install from ELPA or MELPA repositories.

You can either register each backend globally:

;; global activation of the unicode symbol completion 
(add-to-list 'company-backends 'company-math-symbols-unicode)

or locally per emacs mode:

;; local configuration for TeX modes
(defun my-latex-mode-setup ()
  (setq-local company-backends
              (append '((company-math-symbols-latex company-latex-commands))
                      company-backends)))

(add-hook 'tex-mode-hook 'my-latex-mode-setup)
 

If you are using AUCTeX you might need to use TeX-mode-hook instead:

(add-hook 'TeX-mode-hook 'my-latex-mode-setup)

Further Customization

Set company-tooltip-align-annotations to t in order to align symbols to the right as in the snapshots from above.

By default unicode symbols backend (company-math-symbols-unicode) is not active in latex math environments and latex math symbols (company-math-symbols-latex) is not available outside of math latex environments. You can use the following custom lists of faces to change this behavior: company-math-disallow-unicode-symbols-in-faces, company-math-allow-unicode-symbols-in-faces, company-math-disallow-latex-symbols-in-faces, company-math-allow-latex-symbols-in-faces.