Note added by

on 2006-08-28 10:51:54 pierodancona currentWord = STDIN.read

"ld" => "\\ldots",

arrows, to make for consistent triggers. So "uar" gives all uparrows, and similarly for "dar", "lar", "rar", "lrar" - then "har" gives all harpoons and "hoo" all hooks.
100+ simbols). What more can you ask for? the shortcut they are easier to type  :)

RULES:
"blacktriangledown" => "blacksquare",

\smallskip-\medskip-\bigskip. I added also to superset's,  "sk" to commands starting with those two letters (grouped into cycles again). There are only 4 exceptions to triggers "BR" "BC" etc  to obtain \mathbb{R} and similar, very common). The cycles are ordered into frequency usage (roughly), i.e. rarer symbols come at the end. the 2) double letters are expanded to hyperbolic inverse functions, "sb"  to subset's,  "sp" to this rule ("ah" get expanded

Hi, I did some more homework. Why not expand of form \ plus alphabetic characters)? the poor "Expand to Greek Letter" command and make it into a full-featured "Symbol" command? so that it can insert all Tex-Latex-Amstex elementary macros (i.e., for the 3) triple or more letters: I used them only

I did it and the I ignored two-letter commands like \lg or \ge for result is quite pleasing. Very fast, zero effort, nothing to remember (only one key combo for obvious reasons, but I included \Re and \Im since with

shortcutHash = {

"z" => "\\zeta",

#!/usr/bin/env ruby
shortcutHash = {
"v" => "\\digamma",
"sqcap" => "sqcup",
"int" => "infty",
"V" => "\\Digamma",
"cdot" => "cdots",
"arctan" => "arcsin",
"D" => "\\Delta",
"blacksquare" => "blacktriangle",
"boxplus" => "boxdot",
"limsup" => "lim",
"ah" => "\\arcsinh",
"Uparrow" => "updownarrow",
"BS" => "\\mathbb{S}",
"Longleftarrow" => "leftarrow",
"k" => "\\kappa",
"bigvee" => "bigwedge",
"leq" => "leqq",
"Bo" => "\\Box",
"arccosh" => "arctanh",
"bigwedge" => "bigotimes",
"bigotimes" => "bigoplus",
"fl" => "\\flat",
"om" => "\\ominus",
"iiint" => "iint",
"da" => "\\dagger",
"Longrightarrow" => "rightarrow",
"we" => "\\wedge",
"im" => "\\implies",
"th" => "\\therefore",
"os" => "\\oslash",
"intercal" => "int",
"rt" => "\\rtimew",
"leftrightarrow" => "longleftrightarrow",
"updownarrow" => "Updownarrow",
"up" => "\\uplus",
"lrar" => "\\leftrightarrow",
"diamond" => "diagdown",
"leftrightarrow" => "longleftrightarrow",
"blacktriangledown" => "blacksquare",
"rightharpoondown" => "leftharpoonup",
"blacktriangleright" => "blacktriangledown",
"longleftarrow" => "Leftarrow",
"nonumber" => "not",
"BS" => "\\mathbb{S}",
"tr" => "\\triangle",
"q" => "\\theta",
"bo" => "\\boxminus",
"mh" => "\\mho",
"in" => "\\int",
"curlyvee" => "cup",
"succeq" => "succcurlyeq",
"oi" => "\\oint",
"succ" => "succeq",
"longmapsto" => "lozenge",
"dagger" => "dashv",
"na" => "\\nabla",
"backprime" => "barwedge",
"pe" => "\\perp",
"Ga" => "\\Game",
"displaystyle" => "div",
===========code starts here======
"Ca" => "\\Cap",
"l" => "\\lambda",
"iint" => "iiint",
"pr" => "\\prod",
"kappa" => "varkappa",
"exp" => "exists",
"t" => "\\tau",
"nonumber" => "not",
"ci" => "\\circ",
"neq" => "nexists",
"lim" => "liminf",
"sk" => "\\smallskip",
"L" => "\\Lambda",
"bi" => "\\bigcup",
"leftthreetimes" => "lesssim",
"a" => "\\alpha",
"barwedge" => "backprime",
"st" => "\\star",
"subseteqq" => "Subset",
"triangleleft" => "triangleright",
"bigcirc" => "bigcup",
"an" => "\\angle",
"propto" => "prod",
"ma" => "\\mapsto",
"Supset" => "spadesuit",
"eqref" => "ref",
"leqq" => "leftthreetimes",
"ot" => "\\otimes",
"ra" => "\\rangle",
"va" => "\\vartriangle",
"e" => "\\epsilon",
"s" => "\\sigma",
"sqcup" => "sqrt",
"i" => "\\iota",
"si" => "\\sin",
"medskip" => "bigskip",
"circledS" => "circ",
"pi" => "varpi",
"iint" => "iiint",
"dots" => "doteq",
"ve" => "\\vee",
"dar" => "\\downarrow",
"be" => "\\because",
"diagdown" => "diagup",
"displaystyle" => "div",
"op" => "\\oplus",
"sin" => "sinh",
"square" => "sqcap",
"circleddash" => "circledast",
  print shortcutHash[currentWord]
"rightarrow" => "longrightarrow",
"et" => "\\eth",
"hoo" => "\\hookleftarrow",
"G" => "\\Gamma",
"vd" => "\\vdots",
"lo" => "\\log",
"barwedge" => "backprime",
"dd" => "\\ddots",
"la" => "\\langle",
"sinh" => "sim",
"setminus" => "searrow",
"G" => "\\Gamma",
"ap" => "\\approx",
"ddots" => "ddagger",
"ta" => "\\tan",
"hookrightarrow" => "hookleftarrow"
"if" => "\\iff",
"ve" => "\\vee",
"bigskip" => "smallskip",
"rc" => "\\rceil",
"lb" => "\\label",
"jm" => "\\jmath",
"lozenge" => "log",
"lrar" => "\\leftrightarrow",
"varsigma" => "sigma",
"dashv" => "dagger",
"hb" => "\\hbar",
"varkappa" => "kappa",
"natural" => "nabla",
"bigcup" => "bigcap",
"sinh" => "sim",
"vartriangle" => "varnothing",
"backprime" => "barwedge",
"Longrightarrow" => "rightarrow",
"Ga" => "\\Game",
"inf" => "int",
"lozenge" => "log",
"lesssim" => "leq",
"hoo" => "\\hookleftarrow",
"su" => "\\sum",
"tan" => "tanh",
"sqcup" => "sqrt",
"sb" => "\\subset",
"rt" => "\\rtimew",
"U" => "\\Upsilon",
"i" => "\\iota",
"u" => "\\upsilon",
"theta" => "vartheta",
"infty" => "inf",
"ex" => "\\exp",
"b" => "\\beta",
"re" => "\\Re",
"P" => "\\Pi",
"li" => "\\lim",
"sm" => "\\smallsetminus",
"S" => "\\Sigma",
"sk" => "\\smallskip",
"n" => "\\nu",
"s" => "\\sigma",
"sq" => "\\sqrt",
"st" => "\\star",
"f" => "\\phi",
"subset" => "subseteq",
"vd" => "\\vdots",
"propto" => "prod",
"bu" => "\\bullet",
"dd" => "\\ddots",
"ci" => "\\circ",
"rf" => "\\rfloor",
"bi" => "\\bigcup",
"bigoplus" => "biguplus",
"rightarrow" => "longrightarrow",
"X" => "\\Chi",
"to" => "\\top",
"sup" => "supp",
"implies" => "imath",
"tanh" => "tan",
  print shortcutHash[currentWord]
"do" => "\\dots",
"di" => "\\displaystyle",
"gr" => "\\grtsim",
"ti" => "\\times",
"bigtriangledown" => "bigcirc",
"ce" => "\\centerdot",
"if" => "\\iff",
"qq" => "\\qquad",
"arcsin" => "arccos",
"al" => "\\aleph",
"em" => "\\emptyset",
"biguplus" => "bigodot",
"Cu" => "\\Cup",
"rh" => "\\rhd",
"circledcirc" => "circledS",
"min" => "mid",
"dots" => "doteq",
"t" => "\\tau",
"vee" => "veebar",
"da" => "\\dagger",
"sqrt" => "square",
"lt" => "\\ltimes",
"prec" => "preceq",
"scriptstyle" => "scriptscriptstyle",
"Longleftrightarrow" => "leftrightarrow",
"jm" => "\\jmath",
"lc" => "\\lceil",
"sw" => "\\swarrow",
"Di" => "\\Diamond",
"re" => "\\Re",
"inf" => "int",
"cos" => "cosh",
"he" => "\\heartsuit",
"ar" => "\\arcsin",
"succ" => "succeq",
"int" => "infty",
"cup" => "curlywedge",
"BZ" => "\\mathbb{Z}",
"cd" => "\\cdot",
"sp" => "\\supset",
"boxtimes" => "boxplus",
"do" => "\\dots",
"cosh" => "colon",
"Q" => "\\Theta",
"bigtriangledown" => "bigcirc",
"sq" => "\\sqrt",
"varphi" => "phi",
"vartheta" => "theta",
"ld" => "\\ldots",
"square" => "sqcap",
"nw" => "\\nwarrow",
"y" => "\\psi",
"rh" => "\\rhd",
"m" => "\\mu",
"lim" => "liminf",
"veebar" => "vee",
"preceq" => "propto",
"sc" => "\\scriptstyle",
"pi" => "varpi",
"BQ" => "\\mathbb{Q}",
"BC" => "\\mathbb{C}",
"c" => "\\chi",
"x" => "\\xi",
"x" => "\\xi",
"h" => "\\eta",
"diamond" => "diagdown",
"triangleleft" => "triangleright",
"Subset" => "subset",
"mi" => "\\min",
"max" => "mapsto",
"complement" => "cos",
"log" => "longmapsto",
"leqq" => "lesssim",
"dashv" => "dagger",
"od" => "\\odot",
"th" => "\\therefore",
"ii" => "\\iint",
"boxminus" => "boxtimes",
"cong" => "complement",
"ex" => "\\exp",
"arcsinh" => "arccosh",
"spadesuit" => "supset",
"supset" => "supseteq",
"ot" => "\\otimes",
"eqref" => "ref",
"hb" => "\\hbar",
"c" => "\\chi",
"ba" => "\\backprime",
"la" => "\\langle",
"cl" => "\\clubsuit",
"sup" => "supp",
"ca" => "\\cap",
"to" => "\\top",
"exists" => "exp",
"a" => "\\alpha",
"triangleright" => "triangle",
"ti" => "\\times",
"co" => "\\cos",
"arcsin" => "arccos",
"Updownarrow" => "uparrow",
"z" => "\\zeta",
"si" => "\\sin",
"subseteq" => "subseteqq",
"circleddash" => "circledast",
"F" => "\\Phi",
"cdots" => "cdot",
"bigstar" => "bigtriangleup",
"bigcap" => "bigvee",
"longrightarrow" => "Rightarrow",
"imath" => "implies",
"l" => "\\lambda",
"W" => "\\Omega",
"prod" => "prec",
"BR" => "\\mathbb{R}",
"max" => "mapsto",
"Fi" => "\\Finv",
"preceq" => "propto",
"uparrow" => "Uparrow",
"rf" => "\\rfloor",
"subset" => "subseteq",
"spadesuit" => "supset",
"supseteq" => "supseteqq",
"arccosh" => "arctanh",
"bigcirc" => "bigcup",
"phi" => "varphi",
"medskip" => "bigskip",
"cdots" => "cdot",
"measuredangle" => "sphericalangle",
"triangle" => "triangledown",
"prod" => "prec",
"intercal" => "int",
"Di" => "\\Diamond",
"hookrightarrow" => "hookleftarrow"
"fo" => "\\forall",
"sim" => "simeq",
"sqcap" => "sqcup",
"varrho" => "rho",
"am" => "\\amalg",
"bigstar" => "bigtriangleup",
1) single letters are expanded to greek letters (cycling through possibilities)
"rightharpoonup" => "rightharpoondown",
"leftharpoondown" => "rightharpoonup",
"blacktriangleleft" => "blacktriangleright",
"cl" => "\\clubsuit",
"longleftrightarrow" => "Leftrightarrow",
"leftharpoonup" => "leftharpoondown",
"Leftrightarrow" => "Longleftrightarrow",
"Leftrightarrow" => "Longleftrightarrow",
"qu" => "\\quad",
"int" => "intercal",
"cosh" => "colon",
else
  print currentWord
"epsilon" => "varepsilon",
"smallskip" => "medskip",
end
on 2006-08-28 10:47:53
else
pierodancona (7793 bytes) on 2006-08-28 10:48:36

"varrho" => "rho",


New Ticket symbols.txt Status: open, reported by

"limsup" => "lim",

pierodancona pierodancona on 2006-08-28 (request)

Here is the code:
#!/usr/bin/env ruby
"rho" => "varrho",
"sp" => "\\supset",
"downarrow" => "Downarrow",
"bigskip" => "smallskip",
"BR" => "\\mathbb{R}",
"hs" => "\\hslash",
"notin" => "nonumber",
"ba" => "\\backprime",
"ri" => "\\rightthreetimes",
"diagdown" => "diagup",
"fo" => "\\forall",
"pe" => "\\perp",
"doteq" => "dotplus",
"ct" => "\\cite",
"lf" => "\\lfloor",
"hookleftarrow" => "hookrightarrow",
"ne" => "\\neq",
"mid" => "min",
"supp" => "succ",
if (shortcutHash.has_key?(currentWord)) then
"lt" => "\\ltimes",
"ap" => "\\approx",
"V" => "\\Digamma",
"ce" => "\\centerdot",
"Bb" => "\\Bbbk",
"u" => "\\upsilon",
"circledast" => "circledcirc",
"searrow" => "setminus",
"g" => "\\gamma",
"lesssim" => "leq",
"nearrow" => "neq",
"ct" => "\\cite",
"rightharpoonup" => "rightharpoondown",
"W" => "\\Omega",
"eq" => "\\equiv",
"har" => "\\leftharpoonup",
"sm" => "\\smallsetminus",
"scriptscriptstyle" => "scriptstyle",
"blacktriangle" => "blacktriangleleft",
"leftharpoonup" => "leftharpoondown",
"rightharpoondown" => "leftharpoonup",
"be" => "\\because",
"bigodot" => "bigstar",
"succcurlyeq" => "surd",
"circledcirc" => "circledS",
"supseteq" => "supseteqq",
"varnothing" => "vartriangle",
"b" => "\\beta",
"in" => "\\int",
"qq" => "\\qquad",
"angle" => "measuredangle",
"S" => "\\Sigma",
"curlywedge" => "curlyvee",
"vartriangle" => "varnothing",
"lb" => "\\label",
"varkappa" => "kappa",
"triangle" => "triangledown",
"varnothing" => "vartriangle",
"an" => "\\angle",
"Fi" => "\\Finv",
"cu" => "\\cup",
"varpi" => "pi",
"uparrow" => "Uparrow",
"oi" => "\\oint",
"rar" => "\\rightarrow",
"q" => "\\theta",
"leftarrow" => "longleftarrow",
"su" => "\\sum",
"sh" => "\\sharp",
"te" => "\\textstyle",
"lar" => "\\leftarrow",
"dotplus" => "dots",
"bigwedge" => "bigotimes",
"bl" => "\\blacksquare",
"arccos" => "arctan",
"uar" => "\\uparrow",
"sim" => "simeq",
"succeq" => "succcurlyeq",
"mapsto" => "max",
"setminus" => "searrow",
"te" => "\\textstyle",
"d" => "\\delta",
"exp" => "exists",
"eq" => "\\equiv",
"BZ" => "\\mathbb{Z}",
"colon" => "cong",
"Leftarrow" => "Longleftarrow",
"doteq" => "dotplus",
"nabla" => "natural",
File added by pierodancona on 2006-08-28 10:50:52
"lf" => "\\lfloor",
"ar" => "\\arcsin",
"diamondsuit" => "displaystyle",
"Downarrow" => "downarrow",
"Bo" => "\\Box",
"gg" => "\\ggg",
"Leftarrow" => "Longleftarrow",
some more snippet code (check it, it's not bad)
"el" => "\\ell",
"int" => "intercal",
"pa" => "\\partial",
"ref" => "Re",
"colon" => "cong",
"rar" => "\\rightarrow",
"fr" => "\\frac",
"blacksquare" => "blacktriangle",
"qu" => "\\quad",
"ne" => "\\neq",
"bigvee" => "bigwedge",
"U" => "\\Upsilon",
"vartheta" => "theta",
"circ" => "circleddash",
"min" => "mid",
"lc" => "\\lceil",
"se" => "\\setminus",
"bigcup" => "bigcap",
"m" => "\\mu",
"Bb" => "\\Bbbk",
"simeq" => "sin",
"hookleftarrow" => "hookrightarrow",
"Y" => "\\Psi",
"longleftarrow" => "Leftarrow",
"vdash" => "vdots",
"complement" => "cos",
"e" => "\\epsilon",
"sum" => "sup",
"bigcap" => "bigvee",
"li" => "\\lim",
"no" => "\\not",
"od" => "\\odot",
"vdash" => "vdots",
"div" => "diamond",
"diagup" => "divideontimes",
"kappa" => "varkappa",
"arctan" => "arcsin",
"gr" => "\\grtsim",
"nw" => "\\nwarrow",
"bigodot" => "bigstar",
"lar" => "\\leftarrow",
"arctanh" => "arcsinh",
"boxtimes" => "boxplus",
"leq" => "leqq",
"L" => "\\Lambda",
"divideontimes" => "diamondsuit",
"succcurlyeq" => "surd",
"curlyvee" => "cup",
"sum" => "sup",
"supp" => "succ",
"Subset" => "subset",
"em" => "\\emptyset",
"sin" => "sinh",
"mh" => "\\mho",
"na" => "\\nabla",
"epsilon" => "varepsilon",
"iiint" => "iint",
"not" => "notin",
"f" => "\\phi",
"bo" => "\\boxminus",
"divideontimes" => "diamondsuit",
"imath" => "implies",
"ll" => "\\lll",
"cos" => "cosh",
"p" => "\\pi",
"cu" => "\\cup",
"r" => "\\rho",
"leftarrow" => "longleftarrow",
"dagger" => "dashv",
"Q" => "\\Theta",
"as" => "\\ast",
"diamondsuit" => "displaystyle",
"sphericalangle" => "angle",
"updownarrow" => "Updownarrow",
"lo" => "\\log",
"varepsilon" => "epsilon",
"Longleftarrow" => "leftarrow",
"ri" => "\\rightthreetimes",
"sb" => "\\subset",
"hs" => "\\hslash",
"leqq" => "leftthreetimes",
"boxdot" => "boxminus",
"sigma" => "varsigma",
"searrow" => "setminus",
"circledS" => "circ",
"r" => "\\rho",
"h" => "\\eta",
"X" => "\\Chi",
"ah" => "\\arcsinh",
"surd" => "sum",
"infty" => "inf",
"sqrt" => "square",
"al" => "\\aleph",
"ddagger" => "ddots",
if (shortcutHash.has_key?(currentWord)) then
"he" => "\\heartsuit",
"natural" => "nabla",
"gg" => "\\ggg",
"nearrow" => "neq",
"Updownarrow" => "uparrow",
"k" => "\\kappa",
oops... corrected some errors (there can be others :)
"rho" => "varrho",
"mi" => "\\min",
"tan" => "tanh",
"Downarrow" => "downarrow",
"no" => "\\not",
"ii" => "\\iint",
"tanh" => "tan",
"notin" => "nonumber",
"ma" => "\\mapsto",
"bigotimes" => "bigoplus",
"longrightarrow" => "Rightarrow",
"subseteq" => "subseteqq",
"blacktriangleright" => "blacktriangledown",
"blacktriangleleft" => "blacktriangleright",
"har" => "\\leftharpoonup",
"BD" => "\\mathbb{D}",
"subseteqq" => "Subset",
"div" => "diamond",
"ll" => "\\lll",
"Y" => "\\Psi",
"surd" => "sum",
"pr" => "\\preccurlyeq",
"cdot" => "cdots",
"varphi" => "phi",
"ddots" => "ddagger",
"v" => "\\digamma",
"prec" => "preceq",
"not" => "notin",
"os" => "\\oslash",
"longmapsto" => "lozenge",
"fl" => "\\flat",
"im" => "\\implies",
"supseteqq" => "Supset",
"measuredangle" => "sphericalangle",
"nabla" => "natural",
"up" => "\\uplus",
"varepsilon" => "epsilon",
"triangledown" => "triangleleft",
"sigma" => "varsigma",
"log" => "longmapsto",
"el" => "\\ell",
"ca" => "\\cap",
"p" => "\\pi",
"phi" => "varphi",
"sphericalangle" => "angle",
"boxplus" => "boxdot",
"BD" => "\\mathbb{D}",
"mid" => "min",
"uar" => "\\uparrow",
"triangleright" => "triangle",
"P" => "\\Pi",
"n" => "\\nu",
"as" => "\\ast",
"Re" => "eqref",
"liminf" => "limsup",
"dar" => "\\downarrow",
"cong" => "complement",
"et" => "\\eth",
"pr" => "\\prod",
"liminf" => "limsup",
"veebar" => "vee",
"va" => "\\vartriangle",
"neq" => "nexists",
"dotplus" => "dots",
"le" => "\\lesssim",
"downarrow" => "Downarrow",
"BQ" => "\\mathbb{Q}",
"le" => "\\lesssim",
"Cu" => "\\Cup",
"curlywedge" => "curlyvee",
"supset" => "supseteq",
"mapsto" => "max",
"di" => "\\displaystyle",
"pr" => "\\preccurlyeq",
"arccos" => "arctan",
"co" => "\\cos",
"supseteqq" => "Supset",
"cup" => "curlywedge",
"angle" => "measuredangle",
"Re" => "eqref",
"ref" => "Re",
"ta" => "\\tan",
"tr" => "\\triangle",
"arcsinh" => "arccosh",
"op" => "\\oplus",
"vee" => "veebar",
"F" => "\\Phi",
"Supset" => "spadesuit",
"simeq" => "sin",
"Ca" => "\\Cap",
"varpi" => "pi",
"theta" => "vartheta",
"ddagger" => "ddots",
"y" => "\\psi",
"vdots" => "vdash",
"circ" => "circleddash",
"fr" => "\\frac",
"Rightarrow" => "Longrightarrow",
"D" => "\\Delta",
"w" => "\\omega",
"implies" => "imath",
"se" => "\\setminus",
"we" => "\\wedge",
"circledast" => "circledcirc",
"smallskip" => "medskip",
"sw" => "\\swarrow",
"om" => "\\ominus",
"BC" => "\\mathbb{C}",
"Rightarrow" => "Longrightarrow",
"varsigma" => "sigma",
"nexists" => "nearrow",
"ra" => "\\rangle",
"sc" => "\\scriptstyle",
oops... corrected some errors (there can be others :)
"biguplus" => "bigodot",
"diagup" => "divideontimes",
"bigoplus" => "biguplus",
"bl" => "\\blacksquare",
"pa" => "\\partial",
"g" => "\\gamma",
"cd" => "\\cdot",
"w" => "\\omega",
"am" => "\\amalg",
"boxdot" => "boxminus",
"rc" => "\\rceil",
"boxminus" => "boxtimes",
"triangledown" => "triangleleft",
"Uparrow" => "updownarrow",
"bigtriangleup" => "bigtriangledown",
"longleftrightarrow" => "Leftrightarrow",
"blacktriangle" => "blacktriangleleft",
"bigtriangleup" => "bigtriangledown",
"exists" => "exp",
"scriptstyle" => "scriptscriptstyle",
"leftharpoondown" => "rightharpoonup",
"Longleftrightarrow" => "leftrightarrow",
"scriptscriptstyle" => "scriptstyle",
"nexists" => "nearrow",
"vdots" => "vdash",
"arctanh" => "arcsinh",
}
currentWord = STDIN.read
"sh" => "\\sharp",
"bu" => "\\bullet",
}
  print currentWord
end

"d" => "\\delta",

Note added by Show Ticket