[[Emacs]] > Org mode
*[[Org mode:https://orgmode.org/]] [#d6cfda4f]
//Org mode is for keeping notes, maintaining TODO lists, planning projects, and authoring documents with a fast and effective plain-text system.
Org mode は
-ノートの保存
-TODO リストの管理
-プロジェクト計画
をするための Emacs のメジャーモードです。
テキストファイルを高速・効率的に編集することができます。
-[[Org mode for Emacs – Your Life in Plain Text:https://orgmode.org/]]
-[[Org Mode - GNU Emacs Manual:https://www.gnu.org/software/emacs/manual/html_node/emacs/Org-Mode.html#Org-Mode]]
-[[Org Mode (GNU Emacs Manual(Japanese Translation)): Org Mode:https://ayatakesi.github.io/emacs/29.4/html/Org-Mode.html#Org-Mode]]
----
#contents
----
*インストール [#l69ff892]
Org mode は Emacs に標準で含まれています。
Emacs 30.2 の場合は [[バージョン 9.7.11:https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/org/org.el?h=emacs-30.2#n12]] ([[2024-08-23:https://git.savannah.gnu.org/cgit/emacs/org-mode.git/tag/?h=release_9.7.11]]) です。
最新版を使いたい場合は以下の手順を踏みます。
**Emacs 標準のパッケージ管理システムを使用する場合 [#f8230508]
M-x package-install RET org RET
または
M-x list-packages RET でリストを表示して org を選択
**公式サイトのパッケージを使用する場合 [#vc647a74]
[[emacs/org-mode.git - Emacs Org mode:https://cgit.git.savannah.gnu.org/cgit/emacs/org-mode.git/refs/tags]] のパッケージを使用する場合はアーカイブを展開して名前を org-mode にリネームして ~/.emacs.d/site-lisp に配置します。
~
└─.emacs.d
└─site-lisp
└─org-mode
└─lisp
~/.emacs.d/init.el を編集して load-path に ~/.emacs.d/site-lisp/org-mode/lisp を追加します。
(add-to-list 'load-path "~/.emacs.d/site-lisp/org-mode/lisp")
*設定例 [#y73c067b]
~/.emacs.d/init.el に設定を記述します。
Org mode はデフォルトでは pdfLaTeX が使われます。
日本語を使用する場合は LuaLaTeX あるいは upLaTeX + dvipdfmx を使用してタイプセットをするように設定を変更します。
**Windows [#q16766de]
;;
;; Org mode
;;
(require 'ox-latex)
(add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
(setq org-latex-default-class "jlreq-article")
;(setq org-latex-default-class "jlreq-article-tate")
;(setq org-latex-default-class "bxjsarticle")
(setq org-latex-pdf-process '("latexmk -lualatex %f"))
;(setq org-latex-pdf-process '("latexmk -e \"$lualatex=q/lualatex %%S/\" -e \"$bibtex=q/bibtexu %B/\" -e \"$biber=q/biber --bblencoding=utf8 -u -U --output_safechars %B/\" -e \"$makeindex=q/upmendex -o %%D %%S/\" -norc -gg -pdflua %f"))
;(setq org-latex-pdf-process '("latexmk -e \"$latex=q/uplatex -kanji=utf8 -no-guess-input-enc %%S/\" -e \"$bibtex=q/bibtexu %B/\" -e \"$biber=q/biber --bblencoding=utf8 -u -U --output_safechars %B/\" -e \"$makeindex=q/upmendex -o %%D %%S/\" -e \"$dvipdf=q/dvipdfmx -o %%D %%S/\" -norc -gg -pdfdvi %f"))
;(setq org-export-in-background t)
(if (not (eq org-export-in-background t))
(setq org-file-apps
'(("pdf" . "powershell -Command \"& {\"C:/Users/*/AppData/Local/SumatraPDF/SumatraPDF.exe\" -reuse-instance %s}"))))
(add-to-list 'org-latex-classes
'("jlreq-article"
"\\ifdefined\\kanjiskip
\\documentclass[uplatex,dvipdfmx,11pt,paper=a4]{jlreq}
\\else
\\documentclass[11pt,paper=a4]{jlreq}
\\fi
[NO-DEFAULT-PACKAGES]
\\usepackage{amsmath}
\\usepackage{newtxtext,newtxmath}
\\ifdefined\\kanjiskip
\\usepackage{graphicx}
\\usepackage{hyperref}
\\usepackage{pxjahyper}
\\hypersetup{colorlinks=true}
\\else
\\usepackage{graphicx}
\\usepackage{hyperref}
\\hypersetup{pdfencoding=auto,colorlinks=true}
\\fi"
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
(add-to-list 'org-latex-classes
'("jlreq-article-tate"
"\\ifdefined\\kanjiskip
\\documentclass[uplatex,dvipdfmx,tate,11pt,paper=a4]{jlreq}
\\else
\\documentclass[tate,11pt,paper=a4]{jlreq}
\\fi
[NO-DEFAULT-PACKAGES]
\\usepackage{amsmath}
\\usepackage{newtxtext,newtxmath}
\\ifdefined\\kanjiskip
\\usepackage{graphicx}
\\usepackage{hyperref}
\\usepackage{pxjahyper}
\\hypersetup{colorlinks=true}
\\else
\\usepackage{graphicx}
\\usepackage{hyperref}
\\hypersetup{pdfencoding=auto,colorlinks=true}
\\fi"
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
(add-to-list 'org-latex-classes
'("bxjsarticle"
"\\documentclass[autodetect-engine,dvi=dvipdfmx,11pt,a4paper,ja=standard]{bxjsarticle}
[NO-DEFAULT-PACKAGES]
\\usepackage{amsmath}
\\usepackage{newtxtext,newtxmath}
\\usepackage{graphicx}
\\usepackage{hyperref}
\\ifdefined\\kanjiskip
\\usepackage{pxjahyper}
\\hypersetup{colorlinks=true}
\\else
\\ifdefined\\XeTeXversion
\\hypersetup{colorlinks=true}
\\else
\\ifdefined\\directlua
\\hypersetup{pdfencoding=auto,colorlinks=true}
\\else
\\hypersetup{unicode,colorlinks=true}
\\fi
\\fi
\\fi"
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
**macOS [#a97921ad]
動作未確認です。
;;
;; PATH
;;
(setenv "PATH" "/usr/local/bin:/Library/TeX/texbin/:/Applications/Skim.app/Contents/SharedSupport:$PATH" t)
(setq exec-path (append '("/usr/local/bin" "/Library/TeX/texbin" "/Applications/Skim.app/Contents/SharedSupport") exec-path))
;;
;; Org mode
;;
(require 'ox-latex)
(add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
(setq org-latex-default-class "jlreq-article")
;(setq org-latex-default-class "jlreq-article-tate")
;(setq org-latex-default-class "bxjsarticle")
(setq org-latex-pdf-process '("latexmk -lualatex %f"))
;(setq org-latex-pdf-process '("latexmk -e '$lualatex=q/lualatex %%S/' -e '$bibtex=q/bibtexu %B/' -e '$biber=q/biber --bblencoding=utf8 -u -U --output_safechars %B/' -e '$makeindex=q/upmendex -o %%D %%S/' -norc -gg -pdflua %f"))
;(setq org-latex-pdf-process '("latexmk -e '$latex=q/uplatex -kanji=utf8 -no-guess-input-enc %%S/' -e '$bibtex=q/bibtexu %B/' -e '$biber=q/biber --bblencoding=utf8 -u -U --output_safechars %B/' -e '$makeindex=q/upmendex -o %%D %%S/' -e '$dvipdf=q/dvipdfmx -o %%D %%S/' -norc -gg -pdfdvi %f"))
;(setq org-export-in-background t)
(setq org-file-apps
'(("pdf" . "open -a Skim %s")))
(add-to-list 'org-latex-classes
'("jlreq-article"
"\\ifdefined\\kanjiskip
\\documentclass[uplatex,dvipdfmx,11pt,paper=a4]{jlreq}
\\else
\\documentclass[11pt,paper=a4]{jlreq}
\\fi
[NO-DEFAULT-PACKAGES]
\\usepackage{amsmath}
\\usepackage{newtxtext,newtxmath}
\\ifdefined\\kanjiskip
\\usepackage{graphicx}
\\usepackage{hyperref}
\\usepackage{pxjahyper}
\\hypersetup{colorlinks=true}
\\else
\\usepackage{graphicx}
\\usepackage{hyperref}
\\hypersetup{pdfencoding=auto,colorlinks=true}
\\fi"
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
(add-to-list 'org-latex-classes
'("jlreq-article-tate"
"\\ifdefined\\kanjiskip
\\documentclass[uplatex,dvipdfmx,tate,11pt,paper=a4]{jlreq}
\\else
\\documentclass[tate,11pt,paper=a4]{jlreq}
\\fi
[NO-DEFAULT-PACKAGES]
\\usepackage{amsmath}
\\usepackage{newtxtext,newtxmath}
\\ifdefined\\kanjiskip
\\usepackage{graphicx}
\\usepackage{hyperref}
\\usepackage{pxjahyper}
\\hypersetup{colorlinks=true}
\\else
\\usepackage{graphicx}
\\usepackage{hyperref}
\\hypersetup{pdfencoding=auto,colorlinks=true}
\\fi"
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
(add-to-list 'org-latex-classes
'("bxjsarticle"
"\\documentclass[autodetect-engine,dvi=dvipdfmx,11pt,a4paper,ja=standard]{bxjsarticle}
[NO-DEFAULT-PACKAGES]
\\usepackage{amsmath}
\\usepackage{newtxtext,newtxmath}
\\usepackage{graphicx}
\\usepackage{hyperref}
\\ifdefined\\kanjiskip
\\usepackage{pxjahyper}
\\hypersetup{colorlinks=true}
\\else
\\ifdefined\\XeTeXversion
\\hypersetup{colorlinks=true}
\\else
\\ifdefined\\directlua
\\hypersetup{pdfencoding=auto,colorlinks=true}
\\else
\\hypersetup{unicode,colorlinks=true}
\\fi
\\fi
\\fi"
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
**Linux [#h20d131a]
;;
;; Org mode
;;
(require 'ox-latex)
(add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
(setq org-latex-default-class "jlreq-article")
;(setq org-latex-default-class "jlreq-article-tate")
;(setq org-latex-default-class "bxjsarticle")
(setq org-latex-pdf-process '("latexmk -lualatex %f"))
;(setq org-latex-pdf-process '("latexmk -e '$lualatex=q/lualatex %%S/' -e '$bibtex=q/bibtexu %B/' -e '$biber=q/biber --bblencoding=utf8 -u -U --output_safechars %B/' -e '$makeindex=q/upmendex -o %%D %%S/' -norc -gg -pdflua %f"))
;(setq org-latex-pdf-process '("latexmk -e '$latex=q/uplatex -kanji=utf8 -no-guess-input-enc %%S/' -e '$bibtex=q/bibtexu %B/' -e '$biber=q/biber --bblencoding=utf8 -u -U --output_safechars %B/' -e '$makeindex=q/upmendex -o %%D %%S/' -e '$dvipdf=q/dvipdfmx -o %%D %%S/' -norc -gg -pdfdvi %f"))
;(setq org-export-in-background t)
(setq org-file-apps
'(("pdf" . "evince %s")))
'(("pdf" . "okular --unique %s")))
(add-to-list 'org-latex-classes
'("jlreq-article"
"\\ifdefined\\kanjiskip
\\documentclass[uplatex,dvipdfmx,11pt,paper=a4]{jlreq}
\\else
\\documentclass[11pt,paper=a4]{jlreq}
\\fi
[NO-DEFAULT-PACKAGES]
\\usepackage{amsmath}
\\usepackage{newtxtext,newtxmath}
\\ifdefined\\kanjiskip
\\usepackage{graphicx}
\\usepackage{hyperref}
\\usepackage{pxjahyper}
\\hypersetup{colorlinks=true}
\\else
\\usepackage{graphicx}
\\usepackage{hyperref}
\\hypersetup{pdfencoding=auto,colorlinks=true}
\\fi"
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
(add-to-list 'org-latex-classes
'("jlreq-article-tate"
"\\ifdefined\\kanjiskip
\\documentclass[uplatex,dvipdfmx,tate,11pt,paper=a4]{jlreq}
\\else
\\documentclass[tate,11pt,paper=a4]{jlreq}
\\fi
[NO-DEFAULT-PACKAGES]
\\usepackage{amsmath}
\\usepackage{newtxtext,newtxmath}
\\ifdefined\\kanjiskip
\\usepackage{graphicx}
\\usepackage{hyperref}
\\usepackage{pxjahyper}
\\hypersetup{colorlinks=true}
\\else
\\usepackage{graphicx}
\\usepackage{hyperref}
\\hypersetup{pdfencoding=auto,colorlinks=true}
\\fi"
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
(add-to-list 'org-latex-classes
'("bxjsarticle"
"\\documentclass[autodetect-engine,dvi=dvipdfmx,11pt,a4paper,ja=standard]{bxjsarticle}
[NO-DEFAULT-PACKAGES]
\\usepackage{amsmath}
\\usepackage{newtxtext,newtxmath}
\\usepackage{graphicx}
\\usepackage{hyperref}
\\ifdefined\\kanjiskip
\\usepackage{pxjahyper}
\\hypersetup{colorlinks=true}
\\else
\\ifdefined\\XeTeXversion
\\hypersetup{colorlinks=true}
\\else
\\ifdefined\\directlua
\\hypersetup{pdfencoding=auto,colorlinks=true}
\\else
\\hypersetup{unicode,colorlinks=true}
\\fi
\\fi
\\fi"
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
*使い方 [#a6515cd5]
**jlreq article の横書きを使用する場合 [#t4ccb221]
org ファイルの先頭に
#+TITLE: hoge
#+AUTHOR: fuga
#+LATEX_CLASS: jlreq-article
を追加します。
**jlreq article の縦書きを使用する場合 [#c3a15d54]
org ファイルの先頭に
#+TITLE: hoge
#+AUTHOR: fuga
#+LATEX_CLASS: jlreq-article-tate
を追加します。
**bxjsarticle を使用する場合 [#mc51aa00]
org ファイルの先頭に
#+TITLE: hoge
#+AUTHOR: fuga
#+LATEX_CLASS: bxjsarticle
を追加します。
**ファイルの出力 [#nee250e6]
-C-c C-e l l で LaTeX ファイルを出力します。
-C-c C-e l p で PDF ファイルを出力します。
-C-c C-e l o で PDF ファイルを出力して表示します。
* 関連リンク [#m969bd42]
**Export to LaTeX [#k6bbb6c5]
-[[LaTeX export:https://orgmode.org/manual/LaTeX-export.html#LaTeX-export]]
-[[Emacsのorg-modeで論文を書く(その1:pdfとhtmlへの出力):https://taipapamotohus.com/post/org-mode_paper_1/]]
-[[BasicTeX + LuaTeX-ja + OrgMode on OSX で beamer な PDF を出すまで:https://gongo.hatenablog.com/entry/2014/01/13/225304]]
-[[org-mode による論文作成入門:https://akisute3.hatenablog.com/entry/2013/12/28/144918]]
-[[orgmodeで卒論を書いたときの話:https://qiita.com/PowerPC7450/items/b34b080dd941af689b56]]
-[[org-mode で日本語LaTeXを出力する方法:https://qiita.com/kawabata@github/items/1b56ec8284942ff2646b]]
-[[org-mode 8.0で変わった変数など:https://qiita.com/PowerPC7450/items/575291f7aa8ff6807abd]]
-[[org-mode 8.0 画像入り日本語PDFをOSX10.8で出力するなら LuaTeX を使え!:http://blog.livedoor.jp/tek_nishi/archives/7862119.html]]
**Export to HTML [#t60cf94b]
-[[HTML export:http://orgmode.org/manual/HTML-export.html]]
-[[Org-mode による HTML 文書作成入門 [Wayback Machine]:http://web.archive.org/web/20190330193554/http://www.geocities.jp/km_pp1/org-mode/org-mode-document.html]]
**License [#da0cead0]
[[GPLv3:https://git.savannah.gnu.org/cgit/emacs/org-mode.git/tree/COPYING]]
**リリース情報 [#lb82f3d0]
-https://elpa.gnu.org/packages/org.html
-https://git.savannah.gnu.org/cgit/emacs/org-mode.git/refs/tags
**ChangeLog [#r21fa6e2]
-https://git.savannah.gnu.org/cgit/emacs/org-mode.git/log/