最終更新日: 2018-11-25 日 22:35
ホーム | 文書トップ | 目次

Org-mode

Table of Contents

概要

これまでemacs-museを使い続けてきたが、org-modeへの乗り換えを検討してみる。

きっかけは、近頃、googleさんからemacs-museが吐き出すhtmlが「イマドキじゃない!」と言われ続けている為である。

orgからのエクスポートで、うまい具合に PC用/スマホ用に適用できる html(blog)を生成できる仕組みを探す。

まずは、通常のhtmlエクスポートの置き換えから。

htmlへのexport

基本的な設定

(when (locate-library "org")
  (setq org-export-html-coding-system 'utf-8)
  (setq org-html-coding-system 'japanese-shift-jis)
  (setq org-export-default-language 'ja)
  (setq org-publish-project-alist
        '(
          ("doc"
           :base-directory "orgファイルを置くディレクトリ"
           :base-extension "org"
           :publishing-directory "HTML出力先のディレクトリ"
           :publishing-function org-html-publish-to-html
           :auto-sitemap t                ; Generate sitemap.org automagically...
           :sitemap-filename "sitemap.org"  ; ... call it sitemap.org (it's the default)...
           :sitemap-title "Sitemap"         ; ... with title 'Sitemap'.
           :recursive t)
          ))

  (setq org-html-head-include-default-style nil)
  (setq org-html-head "<link rel=\"stylesheet\" type=\"text/css\" href=\"../conf/default.css\" />")
  (setq org-html-head-include-scripts nil)
  (setq org-startup-folded nil)
  (setq org-html-validation-link "")

  (setq org-export-with-sub-superscripts '{})
  (setq org-export-with-section-numbers nil)

  (setq org-html-preamble-format '(("en" "
<div align=right>
最終更新日: %C
</div>

<div align=right>
<a href=\"http://cha.la.coocan.jp/\">ホーム</a> |
<a href=\"index.html\">文書トップ</a> | <a href=\"sitemap.html\">目次</a>
</div>
")))

(setq org-html-postamble "
<div align=right>
<a href=\"http://cha.la.coocan.jp/\">ホーム</a> |
<a href=\"index.html\">文書トップ</a> | <a href=\"sitemap.html\">目次</a>
</div>

<div align=right>
Created by %c
</div>

")

(define-key global-map "\C-c\C-xl" 'org-toggle-link-display)

  )

ちなみに、上記もorg-modeとの連携機能によって色付けして表示されている。 (packageで htmlize のインストールが必要)

Org-modeで保存後自動でpublishする

むむ。これは非常に便利。after-save-hook に add-hook するのは躊躇するところもあるが。

(when (locate-library "org")
・
・
・
  (defun auto-export-my-blog ()
    (let* ((project-plist (cdr (assoc "doc" org-publish-project-alist)))
           (project-dir (expand-file-name
                         (plist-get project-plist :base-directory))))
      (save-excursion
        (if (string= project-dir (file-name-directory buffer-file-name))
            (org-publish-current-file)))))

  (add-hook 'after-save-hook
            'auto-export-my-blog)
・
・
・
)

罫線

  Windows 8 Windows 7 Windows XP  
1 CF-B11JWCYS ( 32bit ) ( 64bit ) CF-B11JWCYS ※Windows XPダウングレード J
2 CF-B11YWCYS ( 32bit ) ( 64bit ) CF-B11YWCYS ※Windows XPダウングレード Y
3 CF-B11LWCCS ( 64bit ) CF-B11LWCCS ( 32bit ) ( 64bit ) L
4 CF-B11LWCTS ( 64bit )  
5 CF-B11QWCCS ( 64bit ) CF-B11QWCCS ( 32bit ) ( 64bit ) Q
6 CF-B11QWCTS ( 64bit )  
7 CF-B11AWDCS ( 64bit ) CF-B11AWDCS ( 32bit ) ( 64bit ) A
8 CF-B11AWDTS ( 64bit )  
9 CF-B11RWPCS ( 64bit ) CF-B11RWPCS ( 32bit ) ( 64bit ) R
10 CF-B11RWPTS ( 64bit )  
11 CF-B11TWCCS ( 64bit ) CF-B11TWCCS ( 32bit ) ( 64bit ) T

LaTeX

設定

(when (locate-library "ox-latex")
  (require 'ox-latex))

(when (locate-library "ox-bibtex")
  (require 'ox-bibtex))

;;; LaTeX 形式のファイル PDF に変換するためのコマンド
  (setq org-latex-pdf-process
        '("platex %f"
          "platex %f"
          "bibtex %b"
          "platex %f"
          "platex %f"
          "dvipdfmx %b.dvi"))

;;; \hypersetup{...} を出力しない
  (setq org-latex-with-hyperref nil)

  (add-to-list 'org-latex-classes
               '("thesis"
                 "\\documentclass{jarticle}
                [NO-PACKAGES]
                [NO-DEFAULT-PACKAGES]
                \\usepackage[dvipdfmx]{graphicx}"
                 ("\\section{%s}" . "\\section*{%s}")
                 ("\\subsection{%s}" . "\\subsection*{%s}")
                 ("\\subsubsection{%s}" . "\\subsubsection*{%s}")
                 ("\\paragraph{%s}" . "\\paragraph*{%s}")
                 ("\\subparagraph{%s}" . "\\subparagraph*{%s}")))

その他

org-mode vs emacs-muse

困ったこと

過去の情報

blog

参考

その他リンク

ホーム | 文書トップ | 目次
Created by Emacs 26.2 (Org mode 9.1.9)