ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Ling​Ex​Ref

by KenyC ST3

Insert references to surrounding LaTeX linguistic examples

Labels latex, gb4e, linguex, expex

Details

Installs

  • Total 0
  • Win 0
  • Mac 0
  • Linux 0
Jul 19 Jul 18 Jul 17 Jul 16 Jul 15 Jul 14 Jul 13 Jul 12 Jul 11 Jul 10 Jul 9 Jul 8 Jul 7 Jul 6 Jul 5 Jul 4 Jul 3 Jul 2 Jul 1 Jun 30 Jun 29 Jun 28 Jun 27 Jun 26 Jun 25 Jun 24 Jun 23 Jun 22 Jun 21 Jun 20 Jun 19 Jun 18 Jun 17 Jun 16 Jun 15 Jun 14 Jun 13 Jun 12 Jun 11 Jun 10 Jun 9 Jun 8 Jun 7 Jun 6 Jun 5
Windows 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Mac 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Readme

Source
raw.​githubusercontent.​com

LingExRef plugin

Demonstration of package

This Sublime Text 3 and 4 plugin allows you quickly insert references to surrounding LaTeX linguistic examples. Inspired by quick-latex-ref which offers a similar functionality for Emacs.

Usage

Press Ctrl + Alt + Down to insert a reference to the next example. Press Ctrl + Alt + Up to insert a reference to the previous example.

If the example already has a \label{someexample}, a reference to \cref{someexample} is inserted where the cursor is ; if it does not, a label is inserted right after \ex with name example and reference is inserted with name example and both names are then selected so you can change the name of the reference.

Installation

(Instructions shamelessly adapted from this README)

Option 1: Install Using Package Control (Recommended)

  1. Install Package Control: If you haven't already, follow the installation instructions to install Package Control.
  2. Open Command Palette: Use Shift+Ctrl+P on Windows/Linux or Cmd+Shift+P on macOS to open the Command Palette.
  3. Install Package: Type Package Control: Install Package and press Enter.
  4. Find and Install: Search for “LingExRef” in the list, then press Enter to install it.
  5. Restart Sublime Text: Ensure the plugin is properly loaded.

Option 2: Manual Installation

  1. Download the Plugin: Clone this repository or download the ZIP file and extract it.
  2. Locate Sublime Text Packages Directory:
    • On Windows, the path is usually C:\Users\<Your Username>\AppData\Roaming\Sublime Text 3\Packages\
    • On macOS, the path is usually /Users/<Your Username>/Library/Application Support/Sublime Text 3/Packages/
    • On Linux, the path is usually ~/.config/sublime-text-3/Packages/
  3. Install the Plugin: Copy the plugin directory (containing LingExRef.py and Default.sublime-commands files) into the Sublime Text Packages directory.
  4. Restart Sublime Text: This ensures the plugin is loaded and ready to use.

Why not use \nextx or \Next?

The following works and achieves the same result after compilation, so why do we need a plugin?

Example (\nextx) shows that subjunctive conditionals need not be counterfactual

\ex
If Alice was allergic to penicillin, she would show exactly the symptoms she's showing right now.
\xe

Answer from enricoflor:

this is somewhat of an antipattern: it is a convenient feature (because so often you want to refer to something close to point), but it can cause serious headaches if you happen to restructure the text where these references occur. It may be very hard to notice that the reference you intended is now different because a different \label than the one you intended to refer to intervenes between the \Next macro and the item it should refer to. The convenience provided by these macros is better delivered by your text editor (ideally, GNU Emacs).

Configuration options

Options from LingExRef.sublime-settings

  • ex_start_delimiter: regex matching the beginning of an example ; the newly created \label{..} will be placed just after that point.
  • ex_start_delimiter: regex matching the end of an example or the beginning of a sub-example (or anything that may change what \label{..} will refer to). Any existing label will be looked for between ex_start_delimiter and ex_stop_delimiter. LingExRef/LingExRef.sublime-settings contains the regex for common packages.
  • label_command: LateX command to create label, place a $ where you want the label name to be (default: \label{$})
  • ref_command: LateX command to create a reference to a label, place a $ where you want the reference name to be (default: \ref{$})

Limitations

  • Does not allow to cycle through next examples with repeated keystrokes