org-modeで文章を書いているときに,他のsubtreeが邪魔で消したくなることがある.そして必要になれば,また,もとに戻すことができれば便利である.これを実現してくれるパッケージがrecursive-narrowである.
インストールと設定 インストールは例によって,init.orgに以下のように書き込むだけである.
#+begin_src emacs-lisp (use-package recursive-narrow :ensure t) #+end_src これでインストールと設定は終了である.
使用法 使い方も実に簡単であり,“C-x n n"で現在カーソルがあるsubtree以下のみが表示されるようになり,“C-x n w"で元の表示に戻る.これではよくわからないので,実際の画像を示す.まず,最初の画像では全体の画面が表示されており,1951行目の「Org-modeで再帰的に」の行にカーソルがある.
ここで,“C-x n n"とやると,次の画面のようになる.つまり,1951行目以降のsubtreeのみが表示される.
次にカーソルを1962行目の「インストールと設定」に移動する(画像ではすでに移動済み).そして,再度"C-x n n"とやると,以下の画像のようになる.
つまり,「インストールと設定」のsubtreeのみの表示となるわけである.集中したい領域だけが表示されて,効率よく入力できる.
広い領域の表示が必要となれば,“C-x n w"とやると,1つ前の画像の状態に戻る.そして,もう一度"C-x n w"とやると,最初の状態に戻る.なんということはないのであるが,便利である.
org-modeで文書を書いてhtmlにexportすると,素のままでは,なんの愛想もない.特にいくつかの項目をまとめた要約などを並べていくときは,side columnなどがあって,すぐに行きたいところに飛べるようになっていると嬉しい.ということで,今回はorg-modeをhtmlにexportするときのthemeがテーマである.....
とにかく,たくさんのthemesが存在する.まずは以下のサイトをチェック,というか以下を読めばこのブログは読まなくても良いような...(^^;;;
org-modeのHTMLテーマ org-modeのHTMLテーマ第2弾 How to export Org mode files into awesome HTML in 2 minutes org-spec 私のお気に入りは,ReadTheOrg(上記の1, 3にある)とorg-spec(上記の4)である.
Table of Contents ReadTheOrg org-spec ReadTheOrg これはRead the Docsで使われているthemeのcloneである.一番簡単な使い方は,3にあるようにsetup fileをorg fileのpreambleに書いておくことである.
#+SETUPFILE: https://fniessen.github.io/org-html-themes/setup/theme-readtheorg.setup あるいは,3からOrg-HTML themes projectをダウンロードしてきて解凍しローカルの"setup file"へのパスを書き込めば,ネットの接続に依存せずにexportできるようになる.たとえば,/Hoge/Fuga/org-html-themes-master/setup/theme-readtheorg.setupに設定ファイルがあるとすると以下のようにすれば良い.
#+SETUPFILE: /Hoge/Fuga/org-html-themes-master/setup/theme-readtheorg.setup 以下に研究会で発表するスライド原稿を作る下準備として,実際に10個の論文をまとめたorg fileの一部を掲示しておく.左に論文のタイトルが並び,見ている論文の小見出しが自動的に展開される.subheadの色も設定されており,読みやすい.デザインもプロっぽい印象である.書いた内容にかかわらず,なんとなく賢くなったような気分になれる(笑).
org-spec An Org-mode template for technical specification documents and HTML publishing. とのことで,技術よりのthemeである.特徴としては,Ditaa, Graphviz & PlantUMLなどによりテキストベースで図が書ける.表に対応,自動的にアップデートするフィールド,PDF生成にも対応,コードブロックの基本的なsyntax highlightingなどがある.実際の例としてhttps://demo.thi.ng/org-spec/がある.
こちらの使い方は少しだけ面倒である.リンク先からorg-specをダウンロードして解凍する.ここで,style.cssが/Hoge/Fuga/org-spec-master/css/style.cssに保存されたとする.ダウンロードして来たファイルに含まれているindex.orgに全て書いてあるので,それを真似てorg fileのpreambleに次のように書いておく.
#+HTML_HEAD: <link href="http://fonts.googleapis.com/css?family=Roboto+Slab:400,700|Inconsolata:400,700" rel="stylesheet" type="text/css" /> #+HTML_HEAD: <link href="/Hoge/Fuga/org-spec-master/css/style.css" rel="stylesheet" type="text/css" /> #+AUTHOR: taipapa #+EMAIL: your@mail.
学会発表や論文作成にあたっては,当然のことながら,その分野の他の研究者の論文を読んでまとめるなどの作業を行う.そこで,論文の要旨などをorg-modeにざっとまとめておくと,pdfにもhtmlにもtextにもexport出来て便利である.pdfは印刷に向いているが,htmlは多くの論文をいっぺんに見るのに向いており,また,compileの時間もpdfより圧倒的に速い.また,色を変えたり,ハイライトしたりするのもhtmlなら容易である.そこで,今回は,org-modeからhtmlへexportする際の有用な小技について書いてみたい.
Org Macros フォントの色を変更する方法はいろいろあるが,ハイライトや背景の色の変更までできるこの Org Macrosが一番便利である.内容は,org-modeの便利なマクロ集である.リンク先からダウンロードして,適当なところに保存し,解凍しておく.ここでは,/Users/taipapa/hoge/fuga/org-macros.setupに置くことにする.使い方は簡単で上記のwebsiteに書いてあるとおり,各org fileの先頭に以下のように記述してorg-macros.setupの場所を教えてやれば良い.
#+INCLUDE: /Users/taipapa/hoge/fuga/org-macros.setup これだけである.
注意事項としては,このブログはox-hugoで書いているが,ox-hugoの場合は文書の先頭に上記を書いても効かない.各ポストのpropertyのあとに書いておけば効く.各ポストごとに設定するようになっているらしい.....(全国15人?ぐらいの人にしか意味のない注意書きである) 上記に関しては,ox-hugoの作者であるKaushal Modi氏から以下のような指摘を頂いた.(12月19日追記) Can you try using #+setupfile instead of #+include? As an example, here is my blog Org source that I export using ox-hugo ( https://gitlab.com/kaushalm… ), and here is the setup file tha t I “include” using the more appropriate #+setupfile ( https://gitlab.com/kaushalm… ).
As you see, I use a lot of Org macros, and they all work in my “one post per subtree” flow.