Emacs org-modeを使ってみる: (17) orgの表を埋め込む
今回は,LaTeXファイルやHTMLファイルにorgの表を埋め込む方法についてまとめてみる.
なおUbuntu 8.04 LTSとEmacs22上で, org-6.34c (2010年1月10日リリース)の利用を前提にしている.
リンク
LaTeXファイル内に表を埋め込む
LaTeXファイルを開いて,「M-x orgtbl-mode RET」でマイナーモードをorgtbl-modeにする.
LaTeXファイル中に以下のように記述する.
% BEGIN RECEIVE ORGTBL table1 % END RECEIVE ORGTBL table1 \iffalse #+ORGTBL: SEND table1 orgtbl-to-latex |----------+----+----+----+----+------| | | Q1 | Q2 | Q3 | Q4 | 合計 | |----------+----+----+----+----+------| | パソコン | 30 | 0 | 50 | 0 | 80 | | ソフト | 5 | 15 | 20 | 3 | 43 | | 通信 | 2 | 2 | 2 | 2 | 8 | |----------+----+----+----+----+------| | 合計 | 37 | 17 | 72 | 5 | 131 | |----------+----+----+----+----+------| \fi
ここで,「table1」は表の名前を表している.
「#+ORGTBL」の行にカーソルを移動して「C-c C-c」とタイプすると,以下のように「table1」という名前で指定した場所にLaTeXの表が埋め込まれる!
% BEGIN RECEIVE ORGTBL table1 \begin{tabular}{lrrrrr} \hline & Q1 & Q2 & Q3 & Q4 & 合計 \\ \hline パソコン & 30 & 0 & 50 & 0 & 80 \\ ソフト & 5 & 15 & 20 & 3 & 43 \\ 通信 & 2 & 2 & 2 & 2 & 8 \\ \hline 合計 & 37 & 17 & 72 & 5 & 131 \\ \hline \end{tabular} % END RECEIVE ORGTBL table1 \iffalse #+ORGTBL: SEND table1 orgtbl-to-latex |----------+----+----+----+----+------| | | Q1 | Q2 | Q3 | Q4 | 合計 | |----------+----+----+----+----+------| | パソコン | 30 | 0 | 50 | 0 | 80 | | ソフト | 5 | 15 | 20 | 3 | 43 | | 通信 | 2 | 2 | 2 | 2 | 8 | |----------+----+----+----+----+------| | 合計 | 37 | 17 | 72 | 5 | 131 | |----------+----+----+----+----+------| \fi
orgの表は,上のように「\iffalse」,「\fi」でくくるか,「\end{document}」の後ろに置けば良い.
オプション
オプション | 意味 |
---|---|
:skip N | 表の最初のN行(横線も含む)を無視する |
:skipcols (n1 n2 ...) | n1, n2, ...番目の列を無視する |
:splice t | tabular環境を出力しない |
:fmt fmt | 各列の出力フォーマットを指定する |
:lstart str | 各行の先頭に文字列strを出力する |
:lend str | 各行の終わりで \\ の代りにstrを出力する |
以下は,オプションを指定した例である.
% BEGIN RECEIVE ORGTBL table1 \hline {\bf パソコン} & 30 & 0 & 50 & 0 \\[1em] {\bf ソフト} & 5 & 15 & 20 & 3 \\[1em] {\bf 通信} & 2 & 2 & 2 & 2 \\[1em] \hline {\bf 合計} & 37 & 17 & 72 & 5 \\[1em] \hline % END RECEIVE ORGTBL table1 \iffalse #+ORGTBL: SEND table1 orgtbl-to-latex :skip 2 :skipcols (6) :splice t :fmt (1 "{\\bf %s}") :lend " \\\\[1em]" |----------+----+----+----+----+------| | | Q1 | Q2 | Q3 | Q4 | 合計 | |----------+----+----+----+----+------| | パソコン | 30 | 0 | 50 | 0 | 80 | | ソフト | 5 | 15 | 20 | 3 | 43 | | 通信 | 2 | 2 | 2 | 2 | 8 | |----------+----+----+----+----+------| | 合計 | 37 | 17 | 72 | 5 | 131 | |----------+----+----+----+----+------| \fi
その他のファイル内に表を埋め込む
「orgtbl-to-latex」以外にも以下の変換が可能である.
関数名 | 変換形式 |
---|---|
orgtbl-to-texinfo | texinfo |
orgtbl-to-html | HTML |
orgtbl-to-csv | カンマ区切りのCSV |
orgtbl-to-tcsv | タブ区切りのCSV |
ただし,orgtbl-to-html では「:fmt」,「:lstart」,「:lend」のオプションは利用できない.
「Emacs org-modeを使ってみる」の目次
- (1) インストール
- (2) 見出しと項目の編集
- (3) 表の編集
- (4) 表計算
- (5) TODOリスト
- (6) アジェンダ表示
- (7) ハイパーリンク
- (8) メモを取る
- (9) キーバインド1/3
- (10) キーバインド2/3
- (11) キーバインド3/3
- (12) GTDツールとして
- (13) HTMLにエクスポート
- (14) LaTeXにエクスポート
- (15) Beamerにエクスポート
- (16) エクスポート結果
- (17) orgの表を埋め込む
- (18) 計時
- (19) graphvizとditaaの図を埋め込む
- (20) gnuplotを呼び出す
- (21) LaTeX数式のインライン画像表示
- (22) RSSフィードを取り込む
- (23) エクスポート時に利用できるLaTeX記号
- (24) 繰り返し行動の記録
- (25) iCalendarにエクスポート
- (26) タグとプロパティ
- (27) ドローワとアーカイブ
- (28) バッファ内設定一覧
- (29) エクスポートオプション一覧
- (30) CSSクラス名一覧
- (31) Emacs Lispの実行
- (32) HTML表のスタイル設定
- (33) 脚注と参考文献の利用
- (34) 短縮形リンクの利用
- (35) org-babel-perlを使う1/4
- (36) org-babel-perlを使う2/4
- (37) org-babel-perlを使う3/4
- (38) org-babel-perlを使う4/4
- (39) speedbarを使う
- (40) org-babel-Rを使う1/2
- (41) org-babel-Rを使う2/2
- (42) 日本語化ditaaの利用
- (43) mhcをインポート
- (44) 再びHTMLにエクスポート
- (45) Firefoxからブックマーク