Quantcast
Channel: Futurismo
Viewing all articles
Browse latest Browse all 91

org-modeで書いたテキストをPandocでRestructured Textに変換する

$
0
0

やりたいこと

org-modeで書いたテキストをRestructured Textに変換したい。

Pandocを利用すると、org-modeの文章を変換することができる。

入力(org-mode) -> 変換(Pandoc) -> 出力(Restructured Text)

Pandocをつかう

Pandocとは、汎用的なドキュメント変換ツール。 ある形式から別の形式へドキュメントの形式を変換できる。

org-modeのwriterは以前からあったが、readerは最近ようやくpull requestされた。

ということで、最新の Pandocを試してみる。githubからダウンロード。

pandocはhaskellでかかれてるので、ビルドにはhaskellがひつよう。

以下を順々に実施。

cabal install alex happy
cabal update
cabal install pandoc
git submodule update --init
$ pandoc -v
pandoc 1.12.3.3
Compiled with texmath 0.6.6.1, highlighting-kate 0.5.6.1.

実験

これがゴール。

Hello Sphinx
============

テスト。

テスト
======

テストです。

これを変換する。

* Hello Sphinx

テスト。

* テスト

テストです。

変換はコマンドラインから以下を実行

pandoc -f rst hello2.org

こうなった。


-  Hello Sphinx

テスト。

-  テスト

テストです。

箇条がきではなくて、見出しなのだが。。。今後に期待ということで。

org-pandocをつかう

org-pandocをというツールをつかっても、 panodcに対応した色々なフォーマットに変換できる。

仕組みは、一度org-modeからmarkdownに変換して、 markdownをpandocにかけるというもの。

実験

変換には、以下を評価したあとに、M-x org-pandoc-export-to-pandoc実行。

(require 'ox-pandoc)
(setq org-pandoc-export-format 'rst)

こうなった。

======
hello2
======

:Author: tsu-nera

.. raw:: html

\

Table of Contents

.. raw:: html

\

  • 1. Hello Sphinx

    .. raw:: html

  • 2. テスト

    .. raw:: html

Hello Sphinx
============

テスト。

テスト
======

テストです。

ヘッダによけいなものがたくさんつくものの、default pandocよりいいな。

org-mode から markdown経由で reSTへ変換する

MarkdownからreSTへの変換はいろいろな人がチャレンジして実績があるので、この道を考える。

org-modeには、デフォルトでmarkdown変換コマンドあり。 MarkDownどころか、HTML,Pandoc,LATex.. いろいろある。

詳しくは、org-export-dispatch(C-c C-e)を実行。

さっきのゴミは、emacs-export機能のオプションを利用すれば消せた。

o#+OPTIONS: toc:nil

オプションの詳しい説明は、以下。

コマンドラインから変換したい

上記の方法は、Emacsのなかで変換処理を行うのだが、 複数ファイルを処理するとするとコマンドラインから変換処理を行いたい。

調べたところ、emacsにはbatchという機能があるようだ。

batchについては今回はわからなかったので、次回に回す。外部ライブラリまわりで苦戦。

emacs hello.org -f org-md-export-to-markdown

とりあえず、なんとなくできるという道が開けた気がした。


Viewing all articles
Browse latest Browse all 91

Trending Articles