diff etc/auctex/style/epsf.el @ 50:ee648375d8d6 r19-16b91

Import from CVS: tag r19-16b91
author cvs
date Mon, 13 Aug 2007 08:56:41 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/auctex/style/epsf.el	Mon Aug 13 08:56:41 2007 +0200
@@ -0,0 +1,96 @@
+;;; epsf.el - Support for the epsf style option.
+
+;; Contributed by Marc Gemis <makke@wins.uia.ac.be>
+
+;;; Code: 
+
+(TeX-add-style-hook "epsf"
+ (function
+  (lambda ()
+    (TeX-add-symbols
+     '("epsfsize" TeX-arg-epsfsize)
+     '("epsffile" TeX-arg-file)
+     '("epsfbox" TeX-arg-file)
+     "epsflly" "epsfury" "testit" "epsfgetlitbb"
+     "epsfnormal" "epsfgetbb" "other" "epsfsetgraph"
+     "PsFragSpecialArgs" "epsfaux" "testit" "epsfgrab"
+     "epsfllx" "epsflly" "epsfury" "epsfverbosetrue"
+     )
+    (LaTeX-add-environments
+     '("epsffig" LaTeX-env-epsffigure)
+     )
+
+    )))
+
+
+(defun LaTeX-env-epsffigure (environment)
+  "Create a `figure'-environment with \\label and \\caption and \\epsfbox
+commands. Eventually a `psfrags'-environment is inserted round the \\epsfbox."
+
+  (let ((float (read-input "Float to: " LaTeX-float))
+	(caption (read-input "Caption: "))
+	(label (read-input "Label: " LaTeX-figure-label))
+        ; gf: ask if there is an psfrag environment needed
+	(psfrag (y-or-n-p "PS fragments: "))
+	(psfile (read-file-name "EPS-file: " "" "" nil))
+	)
+
+    (setq LaTeX-float (if (zerop (length float))
+			  LaTeX-float
+			float))
+
+    (LaTeX-insert-environment "figure"
+			      (concat LaTeX-optop LaTeX-float LaTeX-optcl))
+    (LaTeX-insert-environment "center")
+    (if psfrag
+	(progn
+	  (LaTeX-insert-environment "psfrags")
+	  (newline-and-indent)
+	  ))
+    (if (or (zerop (length label))
+	    (and (string= "figure" environment)
+		 (equal LaTeX-figure-label label))
+	    )
+	()
+      (newline-and-indent)
+      (insert TeX-esc "label" TeX-grop label TeX-grcl)
+      (end-of-line 0)
+      (LaTeX-indent-line))
+
+
+    (newline-and-indent)
+    (insert TeX-esc "leavevmode")
+    (newline-and-indent)
+    (insert TeX-esc "epsfbox" TeX-grop psfile TeX-grcl)
+    (if (zerop (length caption))
+	()
+      (newline-and-indent)
+      (insert TeX-esc "caption" TeX-grop caption TeX-grcl))
+    (newline)
+    (forward-line 4)
+    (newline)
+
+))
+
+(defun TeX-arg-epsfsize (optional &optional prompt definition)
+  "Create a line that print epsf figures at a certain percentage"
+  (interactive)
+  (let ((scale (read-input "Scale (%): "))
+	)
+    (setq scalestr (if (zerop (length scale))
+		       "75"
+		     (format "%s" scale)
+		     ))
+    (save-excursion
+      ; append #1#{scale#1}
+      (insert "#1#2" TeX-grop "0." scale "#1" TeX-grcl)
+      ; insert \def before \epsfsize
+      (beginning-of-line 1)
+      (newline)
+      (insert TeX-esc "def")
+      (forward-line -1)
+      (insert "% From now on print figures at " scale "% of original size")
+      )
+    (end-of-line)))
+
+;;; epsf.el ends here