Pandoc で Markdown 文書を PDF に変換!
Updated:
Pandoc(あるマークアップ形式で書かれた文書を別の形式へ変換するためのコマンドラインツール)を使用して Markdown 文書を PDF に変換する方法についての記録です。
0. 前提条件
- Linux Mint 17.2(64bit) での作業を想定。
- 組版処理ソフト\(\LaTeX\)が必要なので、\(\TeX Live\)がインストール済みであること。(以下を参照)
- Apt パッケージ版をインストールする。
- 今回は使用しないが、最新版をインストールしたければ Cabal(Haskell ライブラリやプログラムをビルド・パッケージングするシステム)を使用してソースからインストールする。(但し、パッケージ依存性の問題が発生しやすいとされているため、利用には注意)
- Pandoc では様々な変換が可能だが、今回は Markdown から PDF への変換を行う。
1. Pandoc のインストール
これだけ。
$ sudo apt-get install pandoc
ちなみに、 RedHat 系ディストリビューションなら yum install pandoc
でインストールできる。(但し、 EPEL リポジトリからインストールするので導入済みであること)
2. Pandoc インストールの確認
$ pandoc --version
pandoc 1.12.2.1
Compiled with texmath 0.6.5.2, highlighting-kate 0.5.5.1.
Syntax highlighting is supported for the following languages:
actionscript, ada, apache, asn1, asp, awk, bash, bibtex, boo, c, changelog,
clojure, cmake, coffee, coldfusion, commonlisp, cpp, cs, css, curry, d,
diff, djangotemplate, doxygen, doxygenlua, dtd, eiffel, email, erlang,
fortran, fsharp, gnuassembler, go, haskell, haxe, html, ini, java, javadoc,
javascript, json, jsp, julia, latex, lex, literatecurry, literatehaskell,
lua, makefile, mandoc, markdown, matlab, maxima, metafont, mips, modelines,
modula2, modula3, monobasic, nasm, noweb, objectivec, objectivecpp, ocaml,
octave, pascal, perl, php, pike, postscript, prolog, python, r,
relaxngcompact, rhtml, roff, ruby, rust, scala, scheme, sci, sed, sgml, sql,
sqlmysql, sqlpostgresql, tcl, texinfo, verilog, vhdl, xml, xorg, xslt, xul,
yacc, yaml
Default user data directory: /home/masaru/.pandoc
Copyright (C) 2006-2013 John MacFarlane
Web: http://johnmacfarlane.net/pandoc
This is free software; see the source for copying conditions. There is no
warranty, not even for merchantability or fitness for a particular purpose.
3. テスト用 Markdown 文書の作成
File: pandoc_test.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Pandoc 変換テスト
=================
はじめに
--------
### はじめにー1
これは `Pandoc` の変換テストです。これは `Pandoc` の変換テストです。
### はじめにー2
これは `Pandoc` の変換テストです。これは `Pandoc` の変換テストです。
概要
----
#### 概要ー1
Markdown 文書を PDF に変換します。Markdown 文書を PDF に変換します。
#### 概要ー2
Markdown 文書を PDF に変換します。Markdown 文書を PDF に変換します。
参考
----
* [Pandoc - About pandoc](http://pandoc.org/ "Pandoc - About pandoc")
* [Pandoc ユーザーズガイド 日本語版 - Japanese Pandoc User's Association](http://sky-y.github.io/site-pandoc-jp/users-guide/ "Pandoc ユーザーズガイド 日本語版 - Japanese Pandoc User's Association")
```
class Test
def initialize
@name = "Pandoc"
end
def hello
puts "Hello #{@name}."
end
end
a = Test.new
a.hello
```
(上記コード内の最後の ```
は、実際は半角(1バイト)文字)
4. Markdown から PDF への変換
$ pandoc pandoc_test.md -V documentclass=ltjarticle --latex-engine=lualatex -o pandoc_test.pdf
-V documentclass=ltjarticle
は、日本語フォントを使用するためのオプション。
(\(\LaTeX\)文書のdocumentclass
をltjarticle
に設定するオプション)--latex-engine=lualatex
は、\(\LaTeX\)エンジンをlualatex
(日本語を扱う場合の推奨値)に設定するオプション。
(指定しない場合は、デフォルトのpdflatex
となる)-o pandoc_test.pdf
は、出力ファイルを指定するオプション。
(指定しない場合は、標準出力に HTML 出力される)- その他、各種オプションあり。
- A4 用紙に設定したければ
-V geometry:a4paper
オプションを指定する。 - 余白を 2cm に設定したければ
-V geometry:margin=2cm
オプションを指定する。
- A4 用紙に設定したければ
(想像していたより変換に時間がかかる)
5. PDF の確認
作成された PDF 文書を確認してみる。(以下は、公開の都合上 PNG 画像としてキャプチャしたもの)
6. 参考サイト
普段 Markdown でテキストを保存することが多いので、何かと重宝しそうです。
以上。
Comments