Skip to content

evandroforks/LaTeXYZ

 
 

Repository files navigation

LaTeXYZ

This package is NOT a replacement of any LaTeX package. It is meant to be used together with LaTeXTools (or similar package) and to improve the typing experience with Sublime Text by providing a bunch of keybinds and helper functions.

Installation

By Package Control

  1. Download & Install Sublime Text 3 (https://www.sublimetext.com/3)
  2. Go to the menu Tools -> Install Package Control, then, wait few seconds until the installation finishes up
  3. Now, Go to the menu Preferences -> Package Control
  4. Type Add Channel on the opened quick panel and press Enter
  5. Then, input the following address and press Enter
    https://raw.githubusercontent.com/evandrocoan/StudioChannel/master/channel.json
    
  6. Go to the menu Tools -> Command Palette... (Ctrl+Shift+P)
  7. Type Preferences: Package Control Settings – User on the opened quick panel and press Enter
  8. Then, find the following setting on your Package Control.sublime-settings file:
    "channels":
    [
        "https://packagecontrol.io/channel_v3.json",
        "https://raw.githubusercontent.com/evandrocoan/StudioChannel/master/channel.json",
    ],
  9. And, change it to the following, i.e., put the https://raw.githubusercontent... line as first:
    "channels":
    [
        "https://raw.githubusercontent.com/evandrocoan/StudioChannel/master/channel.json",
        "https://packagecontrol.io/channel_v3.json",
    ],
    • The https://raw.githubusercontent... line must to be added before the https://packagecontrol.io... one, otherwise, you will not install this forked version of the package, but the original available on the Package Control default channel https://packagecontrol.io...
  10. Now, go to the menu Preferences -> Package Control
  11. Type Install Package on the opened quick panel and press Enter
  12. Then, search for LaTeXYZ and press Enter

See also:

  1. ITE - Integrated Toolset Environment
  2. Package control docs for details.

Auto match pairs

The following auto paring is activated when auto_match_enabled is true.

When auto_create_fields is set true, these commands will create fields. The cursor will move to next field when pressing tab. If there is any selected text, auto matching pair wraps the selection.

  • Auto pairing \(\), \[\] and \{\}.

  • Single and double quotation marks are replaced by the LaTeX quotation pairs, e.g., 'foo' becomes `foo' and "foo" becomes ``foo''. (Disabled by setting use_latex_quotes to false)

  • In math environment,

Keys Mappings
(,( \left(\right)
[,[ \left[\right]
\,{,{ \left\{\right\}
\,| ||
\,|,| \left|\right|
\,< \langle \rangle
\,<,< \left\langle \right\rangle

Since LaTeXYZ uses the blacktick ` in various keybindings

  • The ` to `' auto completion in LaTeXTools is disabled by default.

Auto complete math commands

Math commands are only valid in math environment, eg, $$, \[\] or \begin{equation}, \end{equation}. These Math keybinds are similar to Emacs's Auc-Tex and Vim's vim-latex-suite (not exactly the same).

When auto_create_fields is set true, these commands will create fields. The cursor will move to next field when pressing tab.

Math symbols

Keys Mappings
_ ,_ _{}
^,^ ^{}
`,_ \bar{}
_ (with text highlighted) \bar{SELECTION}
_ ,_ (with text highlighted) \overline{SELECTION}
`,_ \hat{}
^ (with text highlighted) \hat{SELECTION}
^, ^ (with text highlighted) \widehat{SELECTION}
.,.,. \ldots
`,, \nonumber
`,/ \frac{}{}
/ (with text highlighted) \frac{SELECTION}{}
`,0 \varnothing
`,2 \sqrt{}
`,6 \partial
`,8 \infity
Keys Mappings
<,-,tab \leftarrow
<,-,-,tab \longleftarrow
<,=,tab \Leftarrow
<,=,=,tab \Longleftarrow
-,>,tab \rightarrow
-,-,>,tab \longrightarrow
=,>,tab \Rightarrow
=,=,>,tab \Longrightarrow
<,-,>,tab \leftrightarrow
<,-,-,>,tab \longleftrightarrow
<,=,>,tab \Leftrightarrow
<,=,=,>,tab \Longleftrightarrow

Greek letters

Keys Mappings Keys Mappings Keys Mappings
`,a \alpha `,i \iota `,s \sigma
`,b \beta `,k \kappa `,t \tau
`,g \gamma `,l \lambda `,u \upsilon
`,d \delta `,m \mu `,f \varphi
`,e \varepsilon `,n \nu `,c \chi
`,z \zeta `,x \xi `,y \psi
`,h \eta `,p \pi `,w \omega
`,q \theta `,r \rho
Keys Mappings
`,G \Gamma
`,D \Delta
`,Q \Theta
`,L \Lambda
`,X \Xi
`,P \Pi
`,S \Sigma
`,Y \Upsilon
`,F \Phi
`,Y \Psi
`,W \Omega

More symbols will be defined in further versions

Backslash triggered completions

It provides a list of commands to auto complete when \ is triggered.

However, it is now recommended to turn this off and use cwl support of LaTeXTools.

Others

  • LaTeXYZ: Install Jump to Pdf Mousebinding (LaTeXTools)

    • C+Shift+Click - jump to and forward sync with the pdf file
  • LaTeXYZ: Toggle Auto Set Preview Math Template Preamble (LaTeXTools)

    • When set True, \newcommand commands in the current file are included when previewing math.
  • LaTeXYZ: Install BracketHighlighter Settings (BracketHighlighter)

Deprecations

The wraping commands C+l, e and C+l, c are deprecated. Users can add the following to their user settings.

// Wrap selected text in environment
{ "keys": ["ctrl+l","e"], "command": "insert_snippet", "args": {"contents": "\\begin{${1:env}}\n$SELECTION$0\n\\end{$1}"}, "context":
    [
        {"key": "selector", "operator": "equal", "operand": "text.tex.latex"}
    ]
},

// Wrap selected text in command
{ "keys": ["ctrl+l","c"], "command": "insert_snippet", "args": {"contents": "\\\\${0:cmd}{$SELECTION}"}, "context":
    [
        {"key": "selector", "operator": "equal", "operand": "text.tex.latex"}
    ]
}

Why LaTeXYZ?

Just to make sure that it is loaded after LaTeXTools.