]> code.delx.au - gnu-emacs-elpa/blobdiff - packages/auctex/style/psfig.el
Update AUCTeX ELPA package to the new 11.87 release.
[gnu-emacs-elpa] / packages / auctex / style / psfig.el
diff --git a/packages/auctex/style/psfig.el b/packages/auctex/style/psfig.el
new file mode 100644 (file)
index 0000000..70fef60
--- /dev/null
@@ -0,0 +1,79 @@
+;;; psfig.el - Support for the psfig style option.
+
+;; Contributed by Marc Gemis <makke@wins.uia.ac.be>
+;; Please direct comments to him.
+
+;;; Code:
+
+(TeX-add-style-hook "psfig"
+ (function
+  (lambda ()
+       ;; probable some of the following symbols may be removed
+    (TeX-add-symbols "protect" "figurepath"  "fbox"
+                    "other" "letter" "other" "then" "Sine" "Cosine"
+                    "psdraft" "psfull" "psscalefirst" "psrotatefirst"
+                    "psnodraftbox" "psdraftbox" "pssilent" "psnoisy"
+                    "minmaxtest"
+     '("psfig" TeX-arg-psfig)
+     '("psfigurepath" t)
+                    )
+    (LaTeX-add-environments
+     '("psfigure" LaTeX-env-psfigure)
+     )
+    )))
+
+(defun TeX-arg-psfig (optional)
+   "Ask for file, width and length. Insert psfig macro"
+   (let ((psfile (read-file-name "PS-file: " "" "" nil))
+        (figwidth (read-string "Figure width: "))
+        (figheight (read-string "Figure height: "))
+        )
+
+     (insert TeX-grop "figure=" psfile)
+     (if (not (zerop (length figwidth)))
+        (insert ",width=" figwidth))
+     (if (not (zerop (length figheight)))
+        (insert ",height=" figheight))
+     (insert TeX-grcl)
+     )
+   )
+
+
+(defun LaTeX-env-psfigure (environment)
+  "Create  with \\label and \\caption and \\psfig commands."
+  (let ((float (read-string "Float to: " LaTeX-float))
+       (caption (read-string "Caption: "))
+       (label (read-string "Label: " LaTeX-figure-label))
+        ; gf: ask if this should be centered
+       (psfile (read-file-name "PS-file: " "" "" nil))
+       (figwidth (read-string "Figure width: "))
+       (figheight (read-string "Figure height: "))
+       )
+
+    (setq LaTeX-float (if (zerop (length float))
+                         LaTeX-float
+                       float))
+
+    (LaTeX-insert-environment "figure"
+                             (concat LaTeX-optop LaTeX-float LaTeX-optcl))
+
+    (insert TeX-esc "centerline" TeX-grop TeX-esc "psfig" TeX-grop
+           "figure=" psfile)
+    (if (not (zerop (length figwidth)))
+       (insert ",width=" figwidth))
+    (if (not (zerop (length figheight)))
+       (insert ",height=" figheight))
+    (insert TeX-grcl TeX-grcl)
+    (if (zerop (length caption))
+       ()
+      (newline-and-indent)
+      (insert TeX-esc "caption" TeX-grop caption TeX-grcl))
+    (if (or (zerop (length label))
+           (equal LaTeX-figure-label label))
+       ()
+      (newline-and-indent)
+      (insert TeX-esc "label" TeX-grop label TeX-grcl))
+
+    (forward-line 2)))
+
+;;; psfig.el ends here