home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Simtel MSDOS - Coast to Coast
/
simteldosarchivecoasttocoast2.iso
/
sprint
/
dpubtex.zip
/
DPUBTEX.SPM
Wrap
Text File
|
1989-03-31
|
8KB
|
249 lines
; --------------- TEX Macro Definitions ------------
; ---------- Forward Declarations
AltGDispatch :
AltHDispatch :
AltMDispatch :
AltVDispatch :
TexFormatMenu :
TexHorizontalMenu :
TexMathMenu :
TexGreekMenu :
TexGreekVarMenu :
TexEnclose :
; ---------- Forward Declarations
TexFormatMenu :
menu "Tex Format" {
"Horizontal" TexHorizontalMenu,
"Math" TexMathMenu,
"Greek" TexGreekMenu,
"Greek Variations" TexGreekVarMenu
}
TexHorizontalMenu :
menu "Tex Horizontal" {
"I italic" (set QD "{\\it ") (set QN "\\/}") TexEnclose,
"B bold" (set QD "{\\bf ") (set QN "}") TexEnclose,
"[ Left Bracket" insert "\\lbrack ",
"] Right Bracket" insert "\\rbrack ",
"1 Abstract not available" insert "Abstract Not Available.",
"2 Abstract shortened by author" insert "(Abstract shortened with permission of author.)",
"3 Abstract shortened by UMI" insert "(Abstract shortened by UMI.)",
"4 Copies available USC" insert "(Copies available exclusively from Micrographics Department, Doheny Library, USC, Los Angeles, CA 90089-0182.)"
}
TexMathMenu :
menu "Tex Math" {
"c Degree" insert "$\\sp\\circ$",
"p prime" insert "$\\sp\\prime$",
"P double prime" insert "$\\sp{\\prime\\prime}$",
"u SuperscriptRom" (set QD "$\\sp{\\rm ") (set QN "}$") TexEnclose,
"d SubscriptRom" (set QD "$\\sb{\\rm ") (set QN "}$") TexEnclose,
"s Sub-superscript" (set QD "$\\sbsp{") (set QN " }{}$") TexEnclose,
"U Superscript" (set QD "$\\sp") (set QN " $") TexEnclose,
"D Subscript" (set QD "$\\sb") (set QN " $") TexEnclose,
"x Times" insert "$\\times$",
"$ Dollar signs" (set QD "$ ") (set QN " $") TexEnclose,
"f footnote" (set QD "\\ftn$\\sp") (set QN " $") TexEnclose,
"t Right arrow" insert "$\\to$",
"g Left arrow" insert "$\\gets$",
"r Angle brackets" (set QD "$\\langle ") (set QN "\\rangle$") TexEnclose,
"m Sim" insert "$\\sim$",
"l Calligraphy" (set QD "${\\cal ") (set QN "}$") TexEnclose,
"\\ Backslash" insert "$\\backslash$",
"i Infinity" insert "$\\infty$",
"& Art equation" (set QD "<<<++$$\\eqalign{") (set QN " \\cr}$$++>>>") TexEnclose,
"+ Art table" (set QD "<<<++$$\\vbox{") (set QN " }$$++>>>") TexEnclose,
"= Art paste" (set QD "<<<==$$\\vbox{\\vskip") (set QN " pt}$$==>>>") TexEnclose
}
TexGreekMenu :
menu "Tex Greek" {
"alpha" insert "$\\alpha$",
"beta" insert "$\\beta$",
"chi" insert "$\\chi$",
"delta" insert "$\\delta$",
"Delta" insert "$\\Delta$",
"epsilon" insert "$\\epsilon$",
"phi" insert "$\\phi$",
"Phi" insert "$\\Phi$",
"gamma" insert "$\\gamma$",
"Gamma" insert "$\\Gamma$",
"eta" insert "$\\eta$",
"iota" insert "$\\iota$",
"kappa" insert "$\\kappa$",
"lambda" insert "$\\lambda$",
"Lambda" insert "$\\Lambda$",
"mu" insert "$\\mu$",
"nu" insert "$\\nu$",
"omega" insert "$\\omega$",
"Omega" insert "$\\Omega$",
"pi" insert "$\\pi$",
"theta" insert "$\\theta$",
"Theta" insert "$\\Theta$",
"rho" insert "$\\rho$",
"sigma" insert "$\\sigma$",
"Sigma" insert "$\\Sigma$",
"tau" insert "$\\tau$",
"upsilon" insert "$\\upsilon$",
"Upsilon" insert "$\\Upsilon$",
"xi" insert "$\\xi$",
"Xi" insert "$\\Xi$",
"psi" insert "$\\psi$",
"Psi" insert "$\\Psi$",
"zeta" insert "$\\zeta$"
}
TexGreekVarMenu :
menu "Tex Greek Variations" {
"Epsilon" insert "$\\varepsilon$",
"Phi" insert "$\\varphi$",
"Pi" insert "$\\varpi$",
"Theta" insert "$\\vartheta$",
"Rho" insert "$\\varrho$",
"Sigma" insert "$\\varsigma$"
}
TexEnclose :
if select=0 { ; nothing selected
insert QD ; insert Tex prefix string (e.g. {\it )
insert QN ; insert Tex suffix string (e.g. })
if (0 subchar QN) = ' ' {
WordBack BSKey ; delete blank space and leave cursor
}
else if ((length QD - 1) subchar QD = ' ') {
WordBack ; put cursor after blank space
}
}
else if select=1 { ; text selected. surround it.
FixRegion
markregion {
f past isgray ; skip leading spaces
if inruler (toeol c); don't start on a ruler
if !beforemark (r past isgray) ; fix bug if region is blank
if inruler return ; empty selection, so quit
insert QD ; put open delimiter & Tex codes here
while ('^J' csearch && (past isgray || inruler) && beforemark)
(insert QD) ; put open delimiter before each line
swapmark ; go to end
r past isgray ; skip trailing spaces
insert QN ; put close delimiter & Tex codes here
}
Unselect
}
else (past isclose)
AltGDispatch :
(0->x $)->x
if (!menudelay || !(menudelay wait)) (status "\nGreek: ")
GetKey case {
'a' insert "$\\alpha$",
'b' insert "$\\beta$",
'c' insert "$\\chi$",
'd' insert "$\\delta$",
'D' insert "$\\Delta$",
'e' insert "$\\epsilon$",
'f' insert "$\\phi$",
'F' insert "$\\Phi$",
'g' insert "$\\gamma$",
'G' insert "$\\Gamma$",
'h' insert "$\\eta$",
'i' insert "$\\iota$",
'k' insert "$\\kappa$",
'l' insert "$\\lambda$",
'L' insert "$\\Lambda$",
'm' insert "$\\mu$",
'n' insert "$\\nu$",
'o' insert "$\\omega$",
'O' insert "$\\Omega$",
'p' insert "$\\pi$",
'q' insert "$\\theta$",
'Q' insert "$\\Theta$",
'r' insert "$\\rho$",
's' insert "$\\sigma$",
'S' insert "$\\Sigma$",
't' insert "$\\tau$",
'u' insert "$\\upsilon$",
'U' insert "$\\Upsilon$",
'x' insert "$\\xi$",
'X' insert "$\\Xi$",
'y' insert "$\\psi$",
'Y' insert "$\\Psi$",
'z' insert "$\\zeta$",
$ 1 Bell
}
AltHDispatch :
(0->x $)->x
if (!menudelay || !(menudelay wait)) (status "\nHorizontal/Text: ")
GetKey case {
'i' (set QD "{\\it ") (set QN "\\/}") TexEnclose,
'b' (set QD "{\\bf ") (set QN "}") TexEnclose,
'[' insert "\\lbrack ",
']' insert "\\rbrack ",
'1' insert "Abstract Not Available.",
'2' insert "(Abstract shortened with permission of author.)",
'3' insert "(Abstract shortened by UMI.)",
'4' insert "(Copies available exclusively from Micrographics Department, Doheny Library, USC, Los Angeles, CA 90089-0182.)",
$ 1 Bell
}
AltMDispatch :
(0->x $)->x
if (!menudelay || !(menudelay wait)) (status "\nMath: ")
GetKey case {
'c' insert "$\\sp\\circ$",
'p' insert "$\\sp\\prime$",
'P' insert "$\\sp{\\prime\\prime}$",
'u' (set QD "$\\sp{\\rm ") (set QN "}$") TexEnclose,
'd' (set QD "$\\sb{\\rm ") (set QN "}$") TexEnclose,
's' (set QD "$\\sbsp{") (set QN " }{}$") TexEnclose,
'x' insert "$\\times$",
'$' (set QD "$ ") (set QN " $") TexEnclose,
'f' (set QD "\\ftn$\\sp") (set QN " $") TexEnclose,
't' insert "$\\to$",
'g' insert "$\\gets$",
'r' (set QD "$\\langle ") (set QN "\\rangle$") TexEnclose,
'm' insert "$\\sim$",
'l' (set QD "${\\cal ") (set QN "}$") TexEnclose,
'\\' insert "$\\backslash$",
'i' insert "$\\infty$",
'&' (set QD "<<<++$$\\eqalign{") (set QN " \\cr}$$++>>>") TexEnclose,
'+' (set QD "<<<++$$\\vbox{") (set QN " }$$++>>>") TexEnclose,
'=' (set QD "<<<==$$\\vbox{\\vskip") (set QN " pt}$$==>>>") TexEnclose,
'-' insert "$\\pm$",
'U' (set QD "$\\sp") (set QN " $") TexEnclose,
'D' (set QD "$\\sb") (set QN " $") TexEnclose,
$ 1 Bell
}
AltVDispatch :
(0->x $)->x
if (!menudelay || !(menudelay wait)) (status "\nvar Greek: ")
GetKey CharToAlpha case {
'E' insert "$\\varepsilon$",
'F' insert "$\\varphi$",
'P' insert "$\\varpi$",
'Q' insert "$\\vartheta$",
'R' insert "$\\varrho$",
'S' insert "$\\varsigma$",
$ 1 Bell
}
;-----------------------------------------------------------------
; Control and Function Keys (Suggested)
; Alt-Letter codes
~G : AltGDispatch
~H : AltHDispatch
~M : AltMDispatch
~T : TexFormatMenu
~V : AltVDispatch