summaryrefslogtreecommitdiff
path: root/skeleton-conf.el
diff options
context:
space:
mode:
authorJSDurand <mmemmew@gmail.com>2021-03-03 11:12:59 +0800
committerJSDurand <mmemmew@gmail.com>2021-03-03 11:12:59 +0800
commit8e24e00a0382138c344bc36f1f1a539588dfe29e (patch)
treee64aa02afd62ea9cef417fc5c8a62cb25dc2722c /skeleton-conf.el
parent7723d21f10a4107cca960e4ecfe0014e4d3cfbe4 (diff)
TeX, skeleton, and eww.
Configure TeX and add some skeletons, and bind a key to eww.
Diffstat (limited to 'skeleton-conf.el')
-rw-r--r--skeleton-conf.el83
1 files changed, 83 insertions, 0 deletions
diff --git a/skeleton-conf.el b/skeleton-conf.el
index a1dfaaf..6c6bcd0 100644
--- a/skeleton-conf.el
+++ b/skeleton-conf.el
@@ -35,5 +35,88 @@
'(recursive-edit)
")")
+;;;###autoload
+(define-skeleton insert-defun "Insert a defun statement."
+ "defun"
+ "(defun "
+ '(recursive-edit)
+ " ("
+ '(recursive-edit)
+ ")"
+ \n
+ (cond ((y-or-n-p "interactive?")
+ "(interactive)"))
+ & ?\n
+ > _ ")")
+
+;;;###autoload
+(define-skeleton insert-tex "Insert a LaTeX skeleton."
+ "LaTeX"
+ "\\documentclass[12pt]{article}
+\\usepackage[utf8]{inputenc}
+\\usepackage[T1]{fontenc}
+\\usepackage{graphicx}
+\\usepackage{grffile}
+\\usepackage{longtable}
+\\usepackage{wrapfig}
+\\usepackage{rotating}
+\\usepackage[normalem]{ulem}
+\\usepackage{amsmath}
+\\usepackage{mathrsfs}
+\\usepackage{textcomp}
+\\usepackage{amssymb}
+\\usepackage{capt-of}
+\\usepackage{hyperref}
+\\usepackage{amsfonts, amsthm}
+\\usepackage{enumitem}
+\\usepackage{tikz}
+\\author{"
+ (let ((author (read-string "Author: " "Durand")))
+ (cond ((string-empty-p author)
+ (prog1 "\\vspace{-1ex}"
+ (setq v1 "")))
+ ((setq v1 author))))
+ "}\n"
+ "\\date{"
+ (let ((date (read-string
+ "Date: "
+ (format-time-string "%Y-%m-%d"))))
+ (cond ((string-empty-p date)
+ "\\vspace{-1ex}")
+ (date)))
+ "}\n"
+ "\\title{\\vspace{-5ex}"
+ (setq v2 (read-string "Title: ")) "}\n"
+ "\\hypersetup{\n"
+ " pdfauthor={" v1 "},\n"
+ " pdftitle={" v2 "},\n"
+ " pdfkeywords={},\n"
+ " pdfsubject={},\n"
+ " pdfcreator={" v1 "},\n"
+ " pdflang={English}}\n\n"
+ "\\newtheorem{lem}{Lemma}[section]
+\\newtheorem{coro}[lem]{Corollary}
+\\newtheorem{thm}{Theorem}[section]
+\\newtheorem{prop}{Proposition}[section]
+\\newtheorem{ex}{Exercise}[section]
+\\theoremstyle{definition}
+\\newtheorem*{rmk}{Remark}
+\\newtheorem{defn}{Definition}[section]
+
+\\newcommand{\\n}{\\mathbb{N}}
+\\newcommand{\\z}{\\mathbb{Z}}
+\\newcommand{\\q}{\\mathbb{Q}}
+\\begin{document}
+\\maketitle
+\\vspace{-10ex}\n"
+ > _
+ "\n\\end{document}")
+
+(cond ((assoc 'latex-mode auto-insert-alist)
+ (setcdr (assoc 'latex-mode auto-insert-alist)
+ #'insert-tex))
+ ((add-to-list 'auto-insert-alist
+ (cons 'latex-mode #'insert-tex))))
+
(provide 'skeleton-conf)
;;; skeleton-conf.el ends here