HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/share/jed/lib/ltx-math.sl
% ltx-math.sl
%
% AUC-TeX style LaTeX-math-mode (v0.2) by Kevin Humphreys <kwh@cogsci.ed.ac.uk>
%
% For JED (v0.97.9b) by John E. Davis <jed@jedsoft.org>
%
% Based on AUC-TeX (v9.1i) by Per Abrahamsen <auc_tex_mgr@iesd.auc.dk>

% Autoloaded by latex_math_mode (C-c ~) in latex.sl

% CHANGES HISTORY:
% Modifed for use in main jed distribution
% --- v0.1-0.2
% reduce memory usage by using array (thanks to John E. Davis)

variable Latex_Math_Array = String_Type [128];
_for (0, 127, 1) {$1 = (); Latex_Math_Array[$1] = Null_String; }

Latex_Math_Array['a'] = "alpha";
Latex_Math_Array['b'] = "beta";
Latex_Math_Array['c'] = "mathcal{}";
Latex_Math_Array['d'] = "delta";
Latex_Math_Array['e'] = "epsilon";
Latex_Math_Array['f'] = "phi";
Latex_Math_Array['g'] = "gamma";
Latex_Math_Array['h'] = "eta";
Latex_Math_Array['k'] = "kappa";
Latex_Math_Array['l'] = "lambda";
Latex_Math_Array['m'] = "mu";
Latex_Math_Array['N'] = "nabla";
Latex_Math_Array['n'] = "nu";
Latex_Math_Array['o'] = "omega";
Latex_Math_Array['p'] = "pi";
Latex_Math_Array['q'] = "theta";
Latex_Math_Array['r'] = "rho";
Latex_Math_Array['s'] = "sigma";
Latex_Math_Array['t'] = "tau";
Latex_Math_Array['u'] = "upsilon";
Latex_Math_Array['x'] = "chi";
Latex_Math_Array['y'] = "psi";
Latex_Math_Array['z'] = "zeta";
Latex_Math_Array['D'] = "Delta";
Latex_Math_Array['G'] = "Gamma";
Latex_Math_Array['Q'] = "Theta";
Latex_Math_Array['L'] = "Lambda";
Latex_Math_Array['Y'] = "Psi";
Latex_Math_Array['P'] = "Pi";
Latex_Math_Array['S'] = "Sigma";
Latex_Math_Array['U'] = "Upsilon";
Latex_Math_Array['V'] = "Phi";
Latex_Math_Array['O'] = "Omega";
Latex_Math_Array[6]   = "rightarrow";  % C-f
Latex_Math_Array[2]   = "leftarrow";   % C-b
Latex_Math_Array[16]  = "uparrow";     % C-p
Latex_Math_Array[14]  = "downarrow";   % C-n
Latex_Math_Array['<'] = "leq";
Latex_Math_Array['>'] = "geq";
Latex_Math_Array['~'] = "tilde";
Latex_Math_Array['I'] = "infty";
Latex_Math_Array['A'] = "forall";
Latex_Math_Array['E'] = "exists";
Latex_Math_Array['!'] = "neg";
Latex_Math_Array['i'] = "in";
Latex_Math_Array['*'] = "times";
Latex_Math_Array['.'] = "cdot";
Latex_Math_Array['{'] = "subset";
Latex_Math_Array['}'] = "supset";
Latex_Math_Array['['] = "subseteq";
Latex_Math_Array[']'] = "supseteq";
Latex_Math_Array['/'] = "not";
Latex_Math_Array['\\'] = "setminus";
Latex_Math_Array['+'] = "cup";
Latex_Math_Array['-'] = "cap";
Latex_Math_Array['&'] = "wedge";
Latex_Math_Array['|'] = "vee";
Latex_Math_Array['('] = "langle";
Latex_Math_Array[')'] = "rangle";
Latex_Math_Array[5]   = "exp";         % C-e
Latex_Math_Array[19]  = "sin";         % C-s
Latex_Math_Array[3]   = "cos";         % C-c
Latex_Math_Array[30]  = "sup";         % C-^
Latex_Math_Array[31]  = "inf";         % C-_
Latex_Math_Array[4]   = "det";         % C-d
Latex_Math_Array[12]  = "lim";         % C-l
Latex_Math_Array[20]  = "tan";         % C-t
Latex_Math_Array['^'] = "hat";
Latex_Math_Array['v'] = "vee";
Latex_Math_Array['0'] = "emptyset";

define latex_insert_math ()
     {
  	variable arg = prefix_argument(-1);
  	variable ch = getkey ();

	if (ch > 127) return;

	if (arg != -1) insert_char ('$');

  	insert_char ('\\');
	insert (Latex_Math_Array[ch]);

	if (ch == 'c')   % position cursor correctly for \mathcal{}
	  {
	     if (arg != -1) { insert_char ('$'); go_left(2); }
	     else go_left_1 ();
	  }
	else { if (arg != -1) insert_char ('$'); }
     }

private define get_math_mode ()
{
   if (blocal_var_exists ("Latex_Math_Mode"))
     return get_blocal_var ("Latex_Math_Mode");
   return 0;
}

private define set_math_mode (x)
{
   create_blocal_var ("Latex_Math_Mode");
   set_blocal_var (x, "Latex_Math_Mode");
}

define latex_quoted_insert ()
{
   if (get_math_mode ())
     latex_insert_math ();
   else
     call ("quoted_insert");
}

private define latex_math_mode_internal ()
{
   set_math_mode (1);
   set_mode("LaTeX Math", 0x1 | 0x20);
   local_setkey ("latex_quoted_insert", "`");
   run_mode_hooks ("latex_math_mode_hook");
}

define latex_math_mode ()
{
   latex_mode ();
   latex_math_mode_internal ();
}

define latex_toggle_math_mode ()
{
   if (get_math_mode ())
     {
	set_math_mode (0);
	latex_mode ();
	return;
     }
   latex_math_mode_internal ();
}