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 9
  • Win 5
  • Mac 4
  • Linux 0
Dec 22 Dec 21 Dec 20 Dec 19 Dec 18 Dec 17 Dec 16 Dec 15 Dec 14 Dec 13 Dec 12 Dec 11 Dec 10 Dec 9 Dec 8 Dec 7 Dec 6 Dec 5 Dec 4 Dec 3 Dec 2 Dec 1 Nov 30 Nov 29 Nov 28 Nov 27 Nov 26 Nov 25 Nov 24 Nov 23 Nov 22 Nov 21 Nov 20 Nov 19 Nov 18 Nov 17 Nov 16 Nov 15 Nov 14 Nov 13 Nov 12 Nov 11 Nov 10 Nov 9 Nov 8
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 1 0 0 0 0 0 0 1 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