Blob Blame History Raw
--- ./doc/language/language.tex.orig	2013-02-21 08:19:16.000000000 -0700
+++ ./doc/language/language.tex	2013-02-22 11:54:34.856890763 -0700
@@ -13,6 +13,9 @@
 \usepackage{latexsym}
 %\usepackage{showidx} % shows index entries in the margin
 \usepackage[chapter]{tocbibind}
+\usepackage{amsmath}
+\usepackage{amssymb}
+\usepackage{stmaryrd}
 \usepackage{ifpdf}
 \ifpdf
 \usepackage[pdftex,dvipsnames,usenames]{color}
--- ./doc/language/pvs-doc.el.in.orig	2013-02-21 08:19:16.000000000 -0700
+++ ./doc/language/pvs-doc.el.in	2013-02-22 11:54:19.800914545 -0700
@@ -43,15 +43,128 @@
   "Return a list of which elements are characters in the STRING."
   (mapcar #'identity string))
 
+(defun unicode-to-latex (cp)
+  (case cp
+    (955 "$\\lambda$")
+    (8226 "$\\bullet$")
+    (8592 "$\\leftarrow$")
+    (8593 "$\\uparrow$")
+    (8594 "$\\rightarrow$")
+    (8595 "$\\downarrow$")
+    (8605 "$\\rightsquigarrow$")
+    (8614 "$\\mapsto$")
+    (8656 "$\\Leftarrow$")
+    (8657 "$\\Uparrow$")
+    (8658 "$\\Rightarrow$")
+    (8659 "$\\Downarrow$")
+    (8660 "$\\Leftrightarrow$")
+    (8704 "$\\forall$")
+    (8707 "$\\exists$")
+    (8711 "$\\nabla$")
+    (8712 "$\\in$")
+    (8713 "$\\notin$")
+    (8715 "$\\ni$")
+    (8723 "$\\mp$")
+    (8724 "$\\dotplus$")
+    (8728 "$\\circ$")
+    (8730 "$\\sqrt{}$")
+    (8739 "$\\mid$")
+    (8741 "$\\parallel$")
+    (8743 "$\\wedge$")
+    (8744 "$\\vee$")
+    (8745 "$\\cap$")
+    (8746 "$\\cup$")
+    (8769 "$\\nsim$")
+    (8771 "$\\eqsim$")
+    (8773 "$\\cong$")
+    (8775 "$\\ncong$")
+    (8776 "$\\approx$")
+    (8777 "$\\not\\approx$")
+    (8781 "$\\asymp$")
+    (8782 "$\\Bumpeq$")
+    (8783 "$\\bumpeq$")
+    (8784 "$\\doteq$")
+    (8791 "$\\circeq$")
+    (8793 "$\\triangleq$")
+    (8800 "$\\neq$")
+    (8801 "$\\equiv$")
+    (8804 "$\\leq$")
+    (8805 "$\\geq$")
+    (8806 "$\\leqq$")
+    (8807 "$\\geqq$")
+    (8808 "$\\lneqq$")
+    (8809 "$\\gneqq$")
+    (8810 "$\\ll$")
+    (8811 "$\\gg$")
+    (8814 "$\\nless$")
+    (8815 "$\\ngtr$")
+    (8816 "$\\nleq$")
+    (8817 "$\\ngeq$")
+    (8826 "$\\prec$")
+    (8827 "$\\succ$")
+    (8834 "$\\subset$")
+    (8835 "$\\supset$")
+    (8836 "$\\not\\subset$")
+    (8837 "$\\not\\supset$")
+    (8838 "$\\subseteq$")
+    (8839 "$\\supseteq$")
+    (8846 "$\\uplus$")
+    (8847 "$\\sqsubset$")
+    (8848 "$\\sqsupset$")
+    (8851 "$\\sqcap$")
+    (8852 "$\\sqcup$")
+    (8853 "$\\oplus$")
+    (8854 "$\\ominus$")
+    (8855 "$\\otimes$")
+    (8856 "$\\oslash$")
+    (8857 "$\\odot$")
+    (8859 "$\\circledast$")
+    (8862 "$\\boxplus$")
+    (8863 "$\\boxminus$")
+    (8864 "$\\boxtimes$")
+    (8866 "$\\boxdot$")
+    (8867 "$\\dashv$")
+    (8869 "$\\bot$")
+    (8872 "$\\vDash$")
+    (8873 "$\\vdash$")
+    (8896 "$\\bigwedge$")
+    (8897 "$\\bigvee$")
+    (8898 "$\\bigcap$")
+    (8899 "$\\bigcup$")
+    (8904 "$\\bowtie$")
+    (8968 "$\\lceil$")
+    (8969 "$\\rceil$")
+    (8970 "$\\lfloor$")
+    (8971 "$\\rfloor$")
+    (8988 "$\\ulcorner$")
+    (8989 "$\\urcorner$")
+    (8990 "$\\llcorner$")
+    (8991 "$\\lrcorner$")
+    (9001 "$\\langle$")
+    (9002 "$\\rangle$")
+    (9633 "$\\square$")
+    (9655 "$\\rhd$")
+    (9665 "$\\lhd$")
+    (9671 "$\\Diamond$")
+    (9711 "$\\bigcirc$")
+    (9733 "$\\bigstar$")
+    (10016 "$\\maltese$")
+    (10752 "$\\bigodot$")
+    (10753 "$\\bigoplus$")
+    (10754 "$\\bigotimes$")
+    (12298 "$\\ll$")
+    (12299 "$\\gg$")
+    (12314 "$\\llbracket$")
+    (12315 "$\\rrbracket$")
+    (t (concat "\\char" (format "%d" cp)))))
+
 (defun escape-tex-operator-chars (string)
   (let ((pos (- (length string) 1))
 	(chars nil))
     (while (>= pos 0)
       (setq chars
-	    (nconc
-	     (string-to-char-list (concat "\\char"
-	                                  (format "%d" (aref string pos))))
-	     chars))
+	    (nconc (string-to-char-list (unicode-to-latex (aref string pos)))
+		   chars))
       (decf pos))
     (concat chars)))