Mercurial > hgrepos > hgweb.cgi > yatex
view yatex23.el @ 391:e834bbfce2ab dev
Use latex-math-preview if available. %#PREVIEWDPI
author | HIROSE Yuuji <yuuji@gentei.org> |
---|---|
date | Thu, 15 Jan 2015 23:20:31 +0900 |
parents | e95ae850eefb |
children | 27d24ac018c1 |
line wrap: on
line source
;;; yatex23.el --- YaTeX facilities for Emacs 23 or later -*- coding: sjis -*- ;;; (c)2014-2015 by HIROSE Yuuji.[yuuji@yatex.org] ;;; Last modified Tue Jan 6 08:54:04 2015 on firestorm ;;; $Id$ ;;; Code: (defvar YaTeX-dnd-auto-figure "figure" "*If set, include dropped \\includegraphcs{} into that environment. The value should be string. Set this `nil' to disable enclosing.") (defvar YaTeX-dnd-auto-figure-package (cons "graphicx" (cond ((string-match "pdflatex" tex-command) "pdftex") (t "dvipdfmx"))) "*Default LaTeX package and its option for \\includegraphics") (defun YaTeX-dnd-handler (uri action) "DnD handler for yatex-mode Convert local image URI to \\includegraphcis{} and .tex file names to \\include{}." (let*((file (dnd-get-local-file-name uri)) (path (save-excursion (YaTeX-visit-main t) (file-relative-name file))) (insert-file-directory nil) (case-fold-search t) (b nil) p1 p2 (cc (current-column)) envstart) (cond ((memq action '(copy link move private)) (cond ((string-match "\\.\\(jpe?g\\|png\\|gif\\|bmp\\|tiff?\\|e?ps\\|pdf\\)$" path) (if (and (stringp YaTeX-dnd-auto-figure) (not (YaTeX-in-environment-p YaTeX-dnd-auto-figure)) (not (string-match "figure" (or (YaTeX-inner-environment t) "body"))) YaTeX-dnd-auto-figure) (setq b (format "\\begin{%s}[htbp] %%\\centering\n" YaTeX-dnd-auto-figure))) (unwind-protect (progn (setq envstart (point-marker)) (insert "\\includegraphics") (insert "{" (YaTeX::includegraphics 1 path t) "}") (save-excursion (YaTeX-package-auto-usepackage "includegraphics" 'section (car YaTeX-dnd-auto-figure-package) (cdr YaTeX-dnd-auto-figure-package))) (cond (b (undo-boundary) (save-excursion (goto-char envstart) (insert b)) (YaTeX-indent-line) (insert "\n") (indent-to (1+ cc)) (setq p1 (point)) (insert "\\caption{") (setq p2 (point)) (insert (format "}\\label{%s}\n" path)) (indent-to cc) (insert (format "\\end{%s}\n" YaTeX-dnd-auto-figure)) (goto-char p2) (undo-boundary) (insert (file-name-nondirectory path)) (undo-boundary) (goto-char p1) (insert "%") (end-of-line) (or (get 'YaTeX-dnd-auto-figure 'guide) (progn (newline 1) (indent-to (1+ cc)) (insert (format (if YaTeX-japan "%% Undo(%s)するとcaptionが活きます。2度押しで空欄 3度押しで無環境" "%% TYPE undo(%s) to ACTIVATE caption. Twice to clear caption. 3 to no-env") (key-description (car (where-is-internal 'undo))))) (put 'YaTeX-dnd-auto-figure 'guide t))))) (YaTeX-help "includegraphics")) (set-marker envstart nil) ;;sure to reset marker action)) ((string-match "\\(.*\\)\\.tex$" path) (insert "\\include{" (match-string 1 path) "}")) ((string-match "\\(.*\\)\\.bib$" path) (insert "\\bibliography{" (match-string 1 path) "}")) ((string-match "\\.ind$" path) (insert "\\input{" path "}")))) (t (message "%s" action))))) (defvar YaTeX-on-the-fly-bg-face '("#f0f0c0" . "#706868") "Background color of on-the-fly preview image activated environment.") (defvar YaTeX-on-the-fly-overlay nil "Overlay of on-the-fly preview image") (defface YaTeX-on-the-fly-activated-face (list (list (list '(class color) '(min-colors 65536)) (list ':background (if (eq YaTeX-background-mode 'light) (car YaTeX-on-the-fly-bg-face) (cdr YaTeX-on-the-fly-bg-face)))) (list t (list ':bold t))) "Face of on-the-fly preview image mode") (provide 'yatex23) ; Local variables: ; fill-prefix: ";;; " ; paragraph-start: "^$\\|\\|;;;$" ; paragraph-separate: "^$\\|\\|;;;$" ; coding: sjis ; End: