misc:software:Pandoc?を活用するために markdown-mode.el と pandoc-mode.el を導入する。
以下の設定を ~/.emacs.d/init.el に追記する。
;; ------------------------------------------------------------------------ ;; (auto-install-from-url "http://jblevins.org/git/markdown-mode.git/plain/markdown-mode.el") (require 'markdown-mode) (pushnew '("\\.md\\'" . markdown-mode) auto-mode-alist)
そのうえで markdown-mode.el を実際に入手する必要がある。 以下のいずれかの手段を講じること。
その後 emacs を再起動する。
~/.emacs.d/init.el に以下の設定を追記する。 すでに脚注への参照として使用している文字列については指定できないようにしている。
(defun markdown-footnote-new () "Insert a footnote with a new number and jump to a position to enter the footnote text." (interactive) (let (fn) ;; input *new* footnote name (duplication of footnote name is prohibited). (save-match-data (while (and (setq fn (read-string (format "footnote name (default %d): " markdown-footnote-counter) nil nil markdown-footnote-counter)) (save-excursion (save-restriction (widen) (goto-char (point-min)) (search-forward (format "[^%s]:" fn) nil t)))))) (insert (format "[^%s]" fn)) (markdown-footnote-text-find-new-location) (insert (format "[^%s]: " fn)) (when (and (integerp fn) (= fn markdown-footnote-counter)) (markdown-footnote-counter-inc))))
脚注を指定する文字として、正規表現でいうところの [A-Za-z0-9_\-] を使用できるようにする。
(defconst markdown-footnote-chars "[A-Za-z0-9_\-]" "Regular expression maching any character that is allowed in a footnote identifier.")
リンク用の記法 [id]: の判定処理に不具合がある。 [id]: の : を複数行にわたって探し続けてしまうのだ。 この不具合が表れるのは、行頭に [id] と書き、続けて文章を書いたときである。
これを解決するには init.el に以下の設定を追記する(これで、markdown-mode.el の (defconst markdown-regex-reference-definition ...) の [^^] を [^^\n] に書き換える。)。 こうして [id]: の : を同一行から探し出すようになる。
(defconst markdown-regex-reference-definition "^ \\{0,3\\}\\(\\[[^^\n]+?\\]\\):\\s *\\(.*?\\)\\s *\\( \"[^\"]*\"$\\|$\\)" "Regular expression for a link definition [id]: ...")
markdown.el の markdown-mode-map はつぎのように設定されている。
markdown-insert-link | C-c C-a l |
markdown-insert-reference-link-dwim | C-c C-a r |
markdown-insert-wiki-link | C-c C-a w |
markdown-insert-image | C-c C-i i |
markdown-insert-bold | C-c C-p b |
markdown-insert-bold | C-c C-s s |
markdown-insert-italic | C-c C-p i |
markdown-insert-italic | C-c C-s e |
markdown-insert-code | C-c C-p f |
markdown-insert-code | C-c C-s c |
markdown-insert-blockquote | C-c C-s b |
markdown-blockquote-region | C-c C-s C-b |
markdown-insert-pre | C-c C-s p |
markdown-pre-region | C-c C-s C-p |
markdown-insert-hr | C-c- |
markdown-insert-header-1 | C-c C-t 1 |
markdown-insert-header-2 | C-c C-t 2 |
markdown-insert-header-3 | C-c C-t 3 |
markdown-insert-header-4 | C-c C-t 4 |
markdown-insert-header-5 | C-c C-t 5 |
markdown-insert-header-6 | C-c C-t 6 |
markdown-insert-title | C-c C-t t |
markdown-insert-section | C-c C-t s |
markdown-footnote-new | C-c C-f n |
markdown-footnote-goto-text | C-c C-f g |
markdown-footnote-return | C-c C-f b |
markdown-follow-wiki-link-at-point | C-c C-w |
markdown-next-wiki-link | M-n |
markdown-previous-wiki-link | M-p |
markdown-enter-key | C-m |
markdown-cycle | <tab> |
markdown-shifttab | <S-iso-lefttab> |
outline-next-visible-heading | C-M-n |
outline-previous-visible-heading | C-M-p |
outline-forward-same-level | C-M-f |
outline-backward-same-level | C-M-b |
outline-up-heading | C-M-u |
markdown | C-c C-c m |
markdown-preview | C-c C-c p |
markdown-export | C-c C-c e |
markdown-export-and-view | C-c C-c v |
markdown-check-refs | C-c C-c c |
まず、/app/Pandoc_tools に以下のファイルを置く。 詳しくは misc:software:Pandoc:tools? を参照のこと。
以下の設定を ~/.emacs.d/init.el に追記する。
;; (auto-install-from-url "http://blechmusik.xii.jp/resources/app/emacs/site-lisp/pandoc-mode.el") (require 'pandoc-mode) (add-hook 'markdown-mode-hook 'pandoc-mode) (define-key markdown-mode-map (kbd "C-: C-: C-g") 'pandoc-generator-dwim)
そのうえで pandoc-mode.el を実際に入手する必要がある。 以下のいずれかの手段を講じること。
その後 emacs を再起動する。
変換したいファイルを開いている状態で C-: C-: C-g (pandoc-generator-dwim) と入力する。 ファイルローカル変数(File Variables - GNU Emacs Manual)で文字列が設定されているなら、その文字列を分析して変換する。 そうでなければつづけて以下のオプションを参考にして変換先の形式を入力すること。 複数のオプションを使用してもよい。
入力する文字 | 処理 |
S | 単一 html 形式で保存する |
C | 複数 html 形式で保存する |
R | RTF 形式で保存する |
B | 変換したファイルを ファイル名/ に保存する |
T | 変換したファイルを /tmp/ に保存する |
V | Windows の関連づけにしたがって変換したファイルを開く |