muse-mode

2009年09月25日

EmacsMuse(2) : LaTeX publishの時まともなfigure環境を使いたい

タイトル通りなんだけどσ(^◇^;) 期末で報告書の作成でどーしても細かい設定しないとはみ出して困ったチャンになっちゃったので作ってみた。本当は生LaTeXで書くのが筋なんだろーけど、締めまでもう一週間もない。・゜゜・(≧◯≦)・゜゜・。
(defun muse-publish-figure-tag (beg end &optional attr)
  (let* (
	 (position (cdr (assoc "position" attrs)))
	 (caption (cdr (assoc "caption" attrs)))
	 (label (cdr (assoc "label" attrs)))
	 (center (cdr (assoc "center" attrs)))
         (centerp (and (stringp center) (string= center "t")))
	 )
    (if (muse-style-derived-p 'latex)
	(progn
	  (muse-publish-ensure-block beg end)
	  (goto-char beg)
	  (insert (concat "\\begin{figure}"
       (if (stringp position)
       (concat "[" position "]\n") "\n")))
	  (if centerp (insert "\\begin{center}\n"))
	  (goto-char end)
	  (if (stringp label)
       (insert (concat "\\label{" label "}\n")))
	  (if (stringp caption)
            (insert (concat "\\caption{" caption "}\n")))
	  (if centerp (insert "\\end{center}\n"))
	  (insert "\\end{figure}")
	  (muse-publish-mark-read-only beg (point))))))
(add-to-list 'muse-publish-markup-tags
             '("figure" t t nil muse-publish-figure-tag))


このエントリーをはてなブックマークに追加 Share on Tumblr Clip to Evernote
highfrontier at 17:24|PermalinkComments(0)

EmacsMuse : LaTeX publishのとき”要旨”を使いたい

タイトル通りなんだけどカスタムタグ <abstract>で囲みたかったので 以下のようにやってみた。
(setq muse-latex-markup-strings
      (acons
       'begin-abstract "\\begin{abstract}"
       muse-latex-markup-strings))
(setq muse-latex-markup-strings
      (acons 
       'end-abstract "\\end{abstract}"
       muse-latex-markup-strings))
(defun muse-publish-abstract-tag (beg end)
  (muse-publish-ensure-block beg end)
  (goto-char beg)
  (insert (muse-markup-text 'begin-abstract))
  (goto-char end)
  (insert (muse-markup-text 'end-abstract))
  (muse-publish-mark-read-only beg (point)))
(add-to-list 'muse-publish-markup-tags
             '("abstract" t nil nil muse-publish-abstract-tag))
appendixも同様にして作れる。 EmacsMuseを今日始めて使ったんで本来のやり方知らないんだけど(汗

このエントリーをはてなブックマークに追加 Share on Tumblr Clip to Evernote
highfrontier at 02:51|PermalinkComments(0)