yatex
annotate yatexadd.el @ 8:c746646cecf5
Restrict YaTeX:framebox in picture environment.
author | yuuji |
---|---|
date | Tue, 04 May 1993 13:00:17 +0000 |
parents | 49be9ccb0b65 |
children | 390df0e505da |
rev | line source |
---|---|
yuuji@6 | 1 ;;; -*- Emacs-Lisp -*- |
yuuji@8 | 2 ;;; YaTeX add-in functions. |
yuuji@8 | 3 ;;; yatexadd.el rev.3 |
yuuji@6 | 4 ;;; (c)1991-1993 by HIROSE Yuuji.[yuuji@ae.keio.ac.jp] |
yuuji@8 | 5 ;;; Last modified Tue May 4 21:50:37 1993 on figaro |
yuuji@8 | 6 ;;; $Id$ |
yuuji@6 | 7 |
yuuji@6 | 8 (provide 'yatexadd) |
yuuji@6 | 9 |
yuuji@6 | 10 ;;; |
yuuji@6 | 11 ;;Sample functions for LaTeX environment. |
yuuji@6 | 12 ;;; |
yuuji@6 | 13 (defvar YaTeX:tabular-default-rule |
yuuji@6 | 14 "@{\\vrule width 1pt\\ }c|c|c@{\\ \\vrule width 1pt}" |
yuuji@6 | 15 "*Your favorite default rule format." |
yuuji@6 | 16 ) |
yuuji@6 | 17 (defun YaTeX:tabular () |
yuuji@8 | 18 "YaTeX add-in function for tabular environment." |
yuuji@8 | 19 (let (bars (rule "") (j 0) (loc (YaTeX:read-position "tb"))) |
yuuji@6 | 20 (setq bars (string-to-int (read-string "Number of `|': "))) |
yuuji@6 | 21 (if (> bars 0) |
yuuji@6 | 22 (while (< j bars) (setq rule (concat rule "|")) (setq j (1+ j))) |
yuuji@6 | 23 (setq rule YaTeX:tabular-default-rule)) |
yuuji@6 | 24 (setq rule (read-string "rule format: " rule)) |
yuuji@6 | 25 |
yuuji@8 | 26 (message "") |
yuuji@8 | 27 (format "%s{%s}" loc rule)) |
yuuji@6 | 28 ) |
yuuji@6 | 29 |
yuuji@8 | 30 (defun YaTeX:read-position (oneof) |
yuuji@8 | 31 (let ((pos "") loc) |
yuuji@6 | 32 (while (not (string-match |
yuuji@8 | 33 (setq loc (read-key-sequence |
yuuji@8 | 34 (format "Position (`%s') [%s]: " oneof pos))) |
yuuji@6 | 35 "\r\^g\n")) |
yuuji@6 | 36 (cond |
yuuji@8 | 37 ((string-match loc oneof) |
yuuji@6 | 38 (if (not (string-match loc pos)) |
yuuji@6 | 39 (setq pos (concat pos loc)))) |
yuuji@6 | 40 ((and (string-match loc "\C-h\C-?") (> (length pos) 0)) |
yuuji@6 | 41 (setq pos (substring pos 0 (1- (length pos))))) |
yuuji@6 | 42 (t |
yuuji@6 | 43 (ding) |
yuuji@8 | 44 (message "Please input one of `%s'." oneof) |
yuuji@6 | 45 (sit-for 3)))) |
yuuji@8 | 46 (message "") |
yuuji@8 | 47 (if (string= pos "") "" |
yuuji@8 | 48 (concat "[" pos "]"))) |
yuuji@8 | 49 ) |
yuuji@8 | 50 |
yuuji@8 | 51 (defun YaTeX:table () |
yuuji@8 | 52 "YaTeX add-in function for table environment." |
yuuji@8 | 53 (YaTeX:read-position "htbp") |
yuuji@6 | 54 ) |
yuuji@6 | 55 |
yuuji@6 | 56 (defun YaTeX:description () |
yuuji@6 | 57 "Truly poor service:-)" |
yuuji@6 | 58 (setq single-command "item[]") |
yuuji@8 | 59 "" |
yuuji@6 | 60 ) |
yuuji@6 | 61 |
yuuji@6 | 62 (defun YaTeX:itemize () |
yuuji@6 | 63 "It's also poor service." |
yuuji@6 | 64 (setq single-command "item") |
yuuji@8 | 65 "" |
yuuji@6 | 66 ) |
yuuji@6 | 67 |
yuuji@6 | 68 (fset 'YaTeX:enumerate 'YaTeX:itemize) |
yuuji@8 | 69 |
yuuji@8 | 70 ;;; |
yuuji@8 | 71 ;;Sample functions for section-type command. |
yuuji@8 | 72 ;;; |
yuuji@8 | 73 (defun YaTeX:multiput () |
yuuji@8 | 74 (concat (YaTeX:read-coordinates "Pos") |
yuuji@8 | 75 (YaTeX:read-coordinates "Step") |
yuuji@8 | 76 "{" (read-string "How many times: ") "}") |
yuuji@8 | 77 ) |
yuuji@8 | 78 |
yuuji@8 | 79 (defun YaTeX:put () |
yuuji@8 | 80 (YaTeX:read-coordinates "Pos") |
yuuji@8 | 81 ) |
yuuji@8 | 82 |
yuuji@8 | 83 (defun YaTeX:makebox () |
yuuji@8 | 84 (concat (YaTeX:read-coordinates "Dimension") |
yuuji@8 | 85 (YaTeX:read-position "lrtb")) |
yuuji@8 | 86 ) |
yuuji@8 | 87 |
yuuji@8 | 88 (defun YaTeX:framebox () |
yuuji@8 | 89 (if (YaTeX-quick-in-environment-p "picture") |
yuuji@8 | 90 (YaTeX:makebox)) |
yuuji@8 | 91 ) |
yuuji@8 | 92 |
yuuji@8 | 93 (defun YaTeX:dashbox () |
yuuji@8 | 94 (concat "{" (read-string "Dash dimension: ") "}" |
yuuji@8 | 95 (YaTeX:read-coordinates "Dimension")) |
yuuji@8 | 96 ) |
yuuji@8 | 97 |
yuuji@8 | 98 (defun YaTeX:read-coordinates (&optional mes varX varY) |
yuuji@8 | 99 (concat |
yuuji@8 | 100 "(" |
yuuji@8 | 101 (read-string (format "%s %s: " (or mes "Dimension") (or varX "X"))) |
yuuji@8 | 102 "," |
yuuji@8 | 103 (read-string (format "%s %s: " (or mes "Dimension") (or varY "Y"))) |
yuuji@8 | 104 ")") |
yuuji@8 | 105 ) |
yuuji@8 | 106 |
yuuji@8 | 107 ;;; |
yuuji@8 | 108 ;;Sample functions for maketitle-type command. |
yuuji@8 | 109 ;;; |
yuuji@8 | 110 (defun YaTeX:sum () |
yuuji@8 | 111 "Read range of summation." |
yuuji@8 | 112 (YaTeX:check-completion-type 'maketitle) |
yuuji@8 | 113 (concat (YaTeX:read-boundary "_") (YaTeX:read-boundary "^")) |
yuuji@8 | 114 ) |
yuuji@8 | 115 |
yuuji@8 | 116 (fset 'YaTeX:int 'YaTeX:sum) |
yuuji@8 | 117 |
yuuji@8 | 118 (defun YaTeX:lim () |
yuuji@8 | 119 "Insert limit notation of \\lim." |
yuuji@8 | 120 (YaTeX:check-completion-type 'maketitle) |
yuuji@8 | 121 (let ((var (read-string "Variable: ")) limit) |
yuuji@8 | 122 (if (string= "" var) "" |
yuuji@8 | 123 (setq limit (read-string "Limit ($ means infinity): ")) |
yuuji@8 | 124 (if (string= "$" limit) (setq limit "\\infty")) |
yuuji@8 | 125 (concat "_{" var " \\rightarrow " limit "}"))) |
yuuji@8 | 126 ) |
yuuji@8 | 127 |
yuuji@8 | 128 (defun YaTeX:gcd () |
yuuji@8 | 129 "Add-in function for \\gcd(m,n)." |
yuuji@8 | 130 (YaTeX:check-completion-type 'maketitle) |
yuuji@8 | 131 (YaTeX:read-coordinates "\\gcd" "(?,)" "(,?)") |
yuuji@8 | 132 ) |
yuuji@8 | 133 |
yuuji@8 | 134 (defun YaTeX:read-boundary (ULchar) |
yuuji@8 | 135 "Read boundary usage by _ or ^. _ or ^ is indicated by argument ULchar." |
yuuji@8 | 136 (let ((bndry (read-string (concat ULchar "{...}: ")))) |
yuuji@8 | 137 (if (string= bndry "") "" |
yuuji@8 | 138 (concat ULchar "{" bndry "}"))) |
yuuji@8 | 139 ) |
yuuji@8 | 140 |
yuuji@8 | 141 (defun YaTeX:check-completion-type (type) |
yuuji@8 | 142 "Check valid completion type." |
yuuji@8 | 143 (if (not (eq type YaTeX-current-completion-type)) |
yuuji@8 | 144 (error "This should be completed with %s-type completion." type)) |
yuuji@8 | 145 ) |