(数式の入った)本をつくる

145
何か集合論かロジック について 数学専攻博士前期課程一年 石井 大海

Upload: hiromi-ishii

Post on 15-Jul-2015

2.244 views

Category:

Engineering


3 download

TRANSCRIPT

Page 1: (数式の入った)本をつくる

何か集合論かロジックについて

数学専攻博士前期課程一年石井 大海

Page 2: (数式の入った)本をつくる

何か集合論かロジックについて

数学専攻博士前期課程一年石井 大海

準備出来ませんでした……🙇💦

Page 3: (数式の入った)本をつくる

そこで……

Page 4: (数式の入った)本をつくる

本をつくる数学専攻博士前期課程一年

石井 大海

Page 5: (数式の入った)本をつくる

本をつくる数学専攻博士前期課程一年

石井 大海

(数式が入った)

Page 6: (数式の入った)本をつくる

Q. 数式が入った本をつくるには?

Page 7: (数式の入った)本をつくる

👏

を使えばよい■

Page 8: (数式の入った)本をつくる

👏

御清聴ありがとうございました!

を使えばよい■

Page 9: (数式の入った)本をつくる

……本当に?

Page 10: (数式の入った)本をつくる

本とは?

Page 11: (数式の入った)本をつくる

‒三省堂 新明解国語辞典 第六版[小型版]

“㊀人に読んでもらいたいことを書い(印刷し)てまとめた物。書物。 ㊁書籍・図書の汎称”

Page 12: (数式の入った)本をつくる

本とは

Page 13: (数式の入った)本をつくる

本とは紙に印刷されたやつ

Page 14: (数式の入った)本をつくる

本とは紙に印刷されたやつ

大体の印刷所は PDF 形式で入稿出来る

Page 15: (数式の入った)本をつくる

本とは紙に印刷されたやつ

大体の印刷所は PDF 形式で入稿出来る

   を使えば PDF は簡単に生成出来る

Page 16: (数式の入った)本をつくる

本とは紙に印刷されたやつ

大体の印刷所は PDF 形式で入稿出来る

   を使えば PDF は簡単に生成出来る

行送りや禁則などの処理もしてくれる

Page 17: (数式の入った)本をつくる

本とは紙に印刷されたやつ

大体の印刷所は PDF 形式で入稿出来る

   を使えば PDF は簡単に生成出来る

行送りや禁則などの処理もしてくれる

? で十分では?

Page 18: (数式の入った)本をつくる

本とは紙に印刷されたやつ

大体の印刷所は PDF 形式で入稿出来る

   を使えば PDF は簡単に生成出来る

行送りや禁則などの処理もしてくれる

? で十分では?

! NO!

Page 19: (数式の入った)本をつくる

21世紀の“本”

Page 20: (数式の入った)本をつくる

21世紀の“本”電子書籍

Page 21: (数式の入った)本をつくる

21世紀の“本”電子書籍

紙に印刷されてない!

Page 22: (数式の入った)本をつくる

21世紀の“本”電子書籍

紙に印刷されてない!

形式:PDF, EPUB, .mobi (Kindle), .ibooks (Apple),...

Page 23: (数式の入った)本をつくる

21世紀の“本”電子書籍

紙に印刷されてない!

形式:PDF, EPUB, .mobi (Kindle), .ibooks (Apple),...

PDF で十分なら でやればよい。

Page 24: (数式の入った)本をつくる

21世紀の“本”電子書籍

紙に印刷されてない!

形式:PDF, EPUB, .mobi (Kindle), .ibooks (Apple),...

PDF で十分なら でやればよい。

! 専用端末による快適な閲覧にはEPUB など特化形式による組版が不可欠!

Page 25: (数式の入った)本をつくる

なぜ?

Page 26: (数式の入った)本をつくる

PDFには限界がある

Page 27: (数式の入った)本をつくる

PDF の限界

Page 28: (数式の入った)本をつくる

PDF の限界寸法・文字サイズが固定

Page 29: (数式の入った)本をつくる

PDF の限界寸法・文字サイズが固定

専用端末の小さな画面で快適に見るにはユーザ側の工夫が必要(トリミング 等)

Page 30: (数式の入った)本をつくる

PDF の限界寸法・文字サイズが固定

専用端末の小さな画面で快適に見るにはユーザ側の工夫が必要(トリミング 等)

ページ送り方向の変更が端末によって未対応

Page 31: (数式の入った)本をつくる

PDF の限界寸法・文字サイズが固定

専用端末の小さな画面で快適に見るにはユーザ側の工夫が必要(トリミング 等)

ページ送り方向の変更が端末によって未対応

横書きは左→右、縦書きは右→左

Page 32: (数式の入った)本をつくる

PDF の限界寸法・文字サイズが固定

専用端末の小さな画面で快適に見るにはユーザ側の工夫が必要(トリミング 等)

ページ送り方向の変更が端末によって未対応

横書きは左→右、縦書きは右→左

数式+縦書きで組みたい場合(例:私)は不便!

Page 33: (数式の入った)本をつくる

PDF の限界寸法・文字サイズが固定

専用端末の小さな画面で快適に見るにはユーザ側の工夫が必要(トリミング 等)

ページ送り方向の変更が端末によって未対応

横書きは左→右、縦書きは右→左

数式+縦書きで組みたい場合(例:私)は不便!

電子書籍ストアによってはPDFは受け付けない

Page 34: (数式の入った)本をつくる

そこで

Page 35: (数式の入った)本をつくる

電子書籍フォーマットEPUB

Page 36: (数式の入った)本をつくる

電子書籍フォーマットEPUB

EPUB: 電子書籍の標準規格

Page 37: (数式の入った)本をつくる

電子書籍フォーマットEPUB

EPUB: 電子書籍の標準規格

最近縦組みやルビ、圏点などにも対応

Page 38: (数式の入った)本をつくる

電子書籍フォーマットEPUB

EPUB: 電子書籍の標準規格

最近縦組みやルビ、圏点などにも対応

禁則処理や行揃えの機能はまだまだ弱い

Page 39: (数式の入った)本をつくる

電子書籍フォーマットEPUB

EPUB: 電子書籍の標準規格

最近縦組みやルビ、圏点などにも対応

禁則処理や行揃えの機能はまだまだ弱い

Kindle の .mobi や Apple の .ibooks は EPUB に独自機能や DRM を追加したもの

Page 40: (数式の入った)本をつくる

電子書籍フォーマットEPUB

EPUB: 電子書籍の標準規格

最近縦組みやルビ、圏点などにも対応

禁則処理や行揃えの機能はまだまだ弱い

Kindle の .mobi や Apple の .ibooks は EPUB に独自機能や DRM を追加したもの

➡ EPUB さえ出力出来ればなんとかなる!

Page 41: (数式の入った)本をつくる

Table of Contents

EPUBの仕組みと数式

EPUB の仕組み

EPUB と数式

数学者がEPUBを書く方法

Pandoc によるワークフロー

Page 42: (数式の入った)本をつくる

Table of Contents

EPUBの仕組みと数式

EPUB の仕組み

EPUB と数式

数学者がEPUBを書く方法

Pandoc によるワークフロー

Page 43: (数式の入った)本をつくる

EPUBの仕組みと数式

Page 44: (数式の入った)本をつくる

EPUBの仕組み

Page 45: (数式の入った)本をつくる

EPUBの仕組みHTML5, CSS, 画像を zip で圧縮したもの

Page 46: (数式の入った)本をつくる

EPUBの仕組みHTML5, CSS, 画像を zip で圧縮したもの

実質的にウェブサイトを圧縮してまとめた物

Page 47: (数式の入った)本をつくる

EPUBの仕組みHTML5, CSS, 画像を zip で圧縮したもの

実質的にウェブサイトを圧縮してまとめた物

厳密には HTML や CSS のサブセットに電子出版用の機能追加をしたもの

Page 48: (数式の入った)本をつくる

EPUBの仕組みHTML5, CSS, 画像を zip で圧縮したもの

実質的にウェブサイトを圧縮してまとめた物

厳密には HTML や CSS のサブセットに電子出版用の機能追加をしたもの

編集方法:InDesign, Sigil など

Page 49: (数式の入った)本をつくる

EPUBの仕組みHTML5, CSS, 画像を zip で圧縮したもの

実質的にウェブサイトを圧縮してまとめた物

厳密には HTML や CSS のサブセットに電子出版用の機能追加をしたもの

編集方法:InDesign, Sigil など

Zip の中身が覗けるなら原理的にはどんなエディタでも使える(Emacs とか)

Page 50: (数式の入った)本をつくる

EPUBと数式

Page 51: (数式の入った)本をつくる

EPUBと数式

EPUBで数式を表示する二つの方法

Page 52: (数式の入った)本をつくる

EPUBと数式

EPUBで数式を表示する二つの方法

1. MathML:数式をXMLで表現する規格

Page 53: (数式の入った)本をつくる

EPUBと数式

EPUBで数式を表示する二つの方法

1. MathML:数式をXMLで表現する規格

2. 画像:   で組んだ数式を画像化・埋め込み

Page 54: (数式の入った)本をつくる

EPUBと数式

EPUBで数式を表示する二つの方法

1. MathML:数式をXMLで表現する規格

2. 画像:   で組んだ数式を画像化・埋め込み

? それぞれの利点・欠点は?

Page 55: (数式の入った)本をつくる

MathML

Page 56: (数式の入った)本をつくる

MathML

数式を XML で表現 <math display="block" xmlns="..."> <semantics> <mrow> <msup> <mrow> <mo stretchy="true" form="prefix">(</mo> <mfrac><mi>a</mi><mn>2</mn></mfrac> <mo>−</mo><mi>x</mi> <mo stretchy="true" form="postfix">)</mo> </mrow> <mn>2</mn> </msup> <mo>=</mo> <msup> <mrow> <mo stretchy="true" form="prefix">(</mo> <mfrac><mi>a</mi><mn>2</mn></mfrac> <mo stretchy="true" form="postfix">)</mo> </mrow> <mn>2</mn> </msup> <mo>−</mo> <mi>b</mi> </mrow> </semantics> </math>

Page 57: (数式の入った)本をつくる

MathML

数式を XML で表現✓標準規格

<math display="block" xmlns="..."> <semantics> <mrow> <msup> <mrow> <mo stretchy="true" form="prefix">(</mo> <mfrac><mi>a</mi><mn>2</mn></mfrac> <mo>−</mo><mi>x</mi> <mo stretchy="true" form="postfix">)</mo> </mrow> <mn>2</mn> </msup> <mo>=</mo> <msup> <mrow> <mo stretchy="true" form="prefix">(</mo> <mfrac><mi>a</mi><mn>2</mn></mfrac> <mo stretchy="true" form="postfix">)</mo> </mrow> <mn>2</mn> </msup> <mo>−</mo> <mi>b</mi> </mrow> </semantics> </math>

Page 58: (数式の入った)本をつくる

MathML

数式を XML で表現✓標準規格✓機械的処理がしやすい

<math display="block" xmlns="..."> <semantics> <mrow> <msup> <mrow> <mo stretchy="true" form="prefix">(</mo> <mfrac><mi>a</mi><mn>2</mn></mfrac> <mo>−</mo><mi>x</mi> <mo stretchy="true" form="postfix">)</mo> </mrow> <mn>2</mn> </msup> <mo>=</mo> <msup> <mrow> <mo stretchy="true" form="prefix">(</mo> <mfrac><mi>a</mi><mn>2</mn></mfrac> <mo stretchy="true" form="postfix">)</mo> </mrow> <mn>2</mn> </msup> <mo>−</mo> <mi>b</mi> </mrow> </semantics> </math>

Page 59: (数式の入った)本をつくる

MathML

数式を XML で表現✓標準規格✓機械的処理がしやすい

😟手で書くのが大変

<math display="block" xmlns="..."> <semantics> <mrow> <msup> <mrow> <mo stretchy="true" form="prefix">(</mo> <mfrac><mi>a</mi><mn>2</mn></mfrac> <mo>−</mo><mi>x</mi> <mo stretchy="true" form="postfix">)</mo> </mrow> <mn>2</mn> </msup> <mo>=</mo> <msup> <mrow> <mo stretchy="true" form="prefix">(</mo> <mfrac><mi>a</mi><mn>2</mn></mfrac> <mo stretchy="true" form="postfix">)</mo> </mrow> <mn>2</mn> </msup> <mo>−</mo> <mi>b</mi> </mrow> </semantics> </math>

Page 60: (数式の入った)本をつくる

MathML

数式を XML で表現✓標準規格✓機械的処理がしやすい

😟手で書くのが大変

<math display="block" xmlns="..."> <semantics> <mrow> <msup> <mrow> <mo stretchy="true" form="prefix">(</mo> <mfrac><mi>a</mi><mn>2</mn></mfrac> <mo>−</mo><mi>x</mi> <mo stretchy="true" form="postfix">)</mo> </mrow> <mn>2</mn> </msup> <mo>=</mo> <msup> <mrow> <mo stretchy="true" form="prefix">(</mo> <mfrac><mi>a</mi><mn>2</mn></mfrac> <mo stretchy="true" form="postfix">)</mo> </mrow> <mn>2</mn> </msup> <mo>−</mo> <mi>b</mi> </mrow> </semantics> </math>

! デバイスによって対応状況がまちまち

Page 61: (数式の入った)本をつくる

MathML 対応状況

Page 62: (数式の入った)本をつくる

MathML 対応状況😟 iBooks: 部分的に対応

簡単な数式なら組めるが、まだまだ崩れる

縦書きと混ぜるのは絶望的iBooks による数式

Page 63: (数式の入った)本をつくる

MathML 対応状況😟 iBooks: 部分的に対応

簡単な数式なら組めるが、まだまだ崩れる

縦書きと混ぜるのは絶望的

😵 Kindle: ほぼ未対応 iBooks による数式

Kindle による数式

Page 64: (数式の入った)本をつくる

MathML 対応状況😟 iBooks: 部分的に対応

簡単な数式なら組めるが、まだまだ崩れる

縦書きと混ぜるのは絶望的

😵 Kindle: ほぼ未対応

現状では MathML を使うのは現実的ではない

iBooks による数式

Kindle による数式

Page 65: (数式の入った)本をつくる

MathML 対応状況😟 iBooks: 部分的に対応

簡単な数式なら組めるが、まだまだ崩れる

縦書きと混ぜるのは絶望的

😵 Kindle: ほぼ未対応

現状では MathML を使うのは現実的ではない

iBooks による数式

Kindle による数式

➡各社が対応すれば将来的には標準になるだろう

Page 66: (数式の入った)本をつくる

画像として埋め込む

Page 67: (数式の入った)本をつくる

画像として埋め込む画像フォーマットはどうするべきか?

Page 68: (数式の入った)本をつくる

画像として埋め込む画像フォーマットはどうするべきか?

電子書籍は文字の拡大縮小が可能

Page 69: (数式の入った)本をつくる

画像として埋め込む画像フォーマットはどうするべきか?

電子書籍は文字の拡大縮小が可能

PNG や JPEG のようなラスター形式だと拡大・縮小した際に粗くなる恐れがある

Page 70: (数式の入った)本をつくる

画像として埋め込む画像フォーマットはどうするべきか?

電子書籍は文字の拡大縮小が可能

PNG や JPEG のようなラスター形式だと拡大・縮小した際に粗くなる恐れがある

拡大可能なベクター形式であるSVGが望ましいだろう

Page 71: (数式の入った)本をつくる

Page 72: (数式の入った)本をつくる

例✓同じ見た目の数式がどの環境

でもできる

iBooks

Kindle

Page 73: (数式の入った)本をつくる

例✓同じ見た目の数式がどの環境

でもできる

😟数式ごとにサイズを手動で指定してやる必要がある

iBooks

Kindle

Page 74: (数式の入った)本をつくる

例✓同じ見た目の数式がどの環境

でもできる

😟数式ごとにサイズを手動で指定してやる必要がある

😟拡大すると少しフォントが太くなることがある

iBooks

Kindle

Page 75: (数式の入った)本をつくる

例✓同じ見た目の数式がどの環境

でもできる

😟数式ごとにサイズを手動で指定してやる必要がある

😟拡大すると少しフォントが太くなることがある

😟大量の画像が入るので、描画が少し遅くなる

iBooks

Kindle

Page 76: (数式の入った)本をつくる

例✓同じ見た目の数式がどの環境

でもできる

😟数式ごとにサイズを手動で指定してやる必要がある

😟拡大すると少しフォントが太くなることがある

😟大量の画像が入るので、描画が少し遅くなる

😟数式を一々画像に変換する必要

iBooks

Kindle

Page 77: (数式の入った)本をつくる

EPUB数式まとめ

Page 78: (数式の入った)本をつくる

EPUB数式まとめMathML

Page 79: (数式の入った)本をつくる

EPUB数式まとめMathML✓標準規格

Page 80: (数式の入った)本をつくる

EPUB数式まとめMathML✓標準規格

😵現状では未対応なデバイスが多い

Page 81: (数式の入った)本をつくる

EPUB数式まとめMathML✓標準規格

😵現状では未対応なデバイスが多い

😟対応していても描画機能が足りないことが多い

Page 82: (数式の入った)本をつくる

EPUB数式まとめMathML✓標準規格

😵現状では未対応なデバイスが多い

😟対応していても描画機能が足りないことが多い

SVG画像として配置

Page 83: (数式の入った)本をつくる

EPUB数式まとめMathML✓標準規格

😵現状では未対応なデバイスが多い

😟対応していても描画機能が足りないことが多い

SVG画像として配置✓どこでも同じ見た目の数式が書ける

Page 84: (数式の入った)本をつくる

EPUB数式まとめMathML✓標準規格

😵現状では未対応なデバイスが多い

😟対応していても描画機能が足りないことが多い

SVG画像として配置✓どこでも同じ見た目の数式が書ける

😟見易い描画のためには手直しが必要

Page 85: (数式の入った)本をつくる

EPUB数式まとめMathML✓標準規格

😵現状では未対応なデバイスが多い

😟対応していても描画機能が足りないことが多い

SVG画像として配置✓どこでも同じ見た目の数式が書ける

😟見易い描画のためには手直しが必要

😟画像を多用するのでやや重くなる

Page 86: (数式の入った)本をつくる

EPUB数式まとめMathML✓標準規格

😵現状では未対応なデバイスが多い

😟対応していても描画機能が足りないことが多い

SVG画像として配置✓どこでも同じ見た目の数式が書ける

😟見易い描画のためには手直しが必要

😟画像を多用するのでやや重くなる

😟いずれにせよ TeX の数式を変換する必要がある

Page 87: (数式の入った)本をつくる

EPUB数式まとめMathML✓標準規格

😵現状では未対応なデバイスが多い

😟対応していても描画機能が足りないことが多い

SVG画像として配置✓どこでも同じ見た目の数式が書ける

😟見易い描画のためには手直しが必要

😟画像を多用するのでやや重くなる

😟いずれにせよ TeX の数式を変換する必要がある

➡ 現状では SVG 画像として埋め込むのが局所最適解

Page 88: (数式の入った)本をつくる

Table of Contents

EPUBの仕組みと数式

EPUB の仕組み

EPUB と数式

数学者がEPUBを書く方法

Pandoc によるワークフロー

Page 89: (数式の入った)本をつくる

Table of Contents

EPUBの仕組みと数式

EPUB の仕組み

EPUB と数式

数学者がEPUBを書く方法

Pandoc によるワークフロー

Page 90: (数式の入った)本をつくる

数学者がEPUBを書く方法

Page 91: (数式の入った)本をつくる

実際のEPUB作業

Page 92: (数式の入った)本をつくる

実際のEPUB作業EPUB を一から手で書くのは理想的ではない

Page 93: (数式の入った)本をつくる

実際のEPUB作業EPUB を一から手で書くのは理想的ではない

新しい文法の習得、既存の資源が生かせない、数式を全部手で変換するのはつらい

Page 94: (数式の入った)本をつくる

実際のEPUB作業EPUB を一から手で書くのは理想的ではない

新しい文法の習得、既存の資源が生かせない、数式を全部手で変換するのはつらい

    など慣れた形式で書きたい(特に数式!)

Page 95: (数式の入った)本をつくる

実際のEPUB作業EPUB を一から手で書くのは理想的ではない

新しい文法の習得、既存の資源が生かせない、数式を全部手で変換するのはつらい

    など慣れた形式で書きたい(特に数式!)

? から変換出来ないか?

Page 96: (数式の入った)本をつくる

実際のEPUB作業EPUB を一から手で書くのは理想的ではない

新しい文法の習得、既存の資源が生かせない、数式を全部手で変換するのはつらい

    など慣れた形式で書きたい(特に数式!)

? から変換出来ないか?

😄 Pandoc ならできる!

Page 97: (数式の入った)本をつくる

Pandoc

Page 98: (数式の入った)本をつくる

PandocPandoc: a universal document converter

Page 99: (数式の入った)本をつくる

PandocPandoc: a universal document converter

Haskell製

Page 100: (数式の入った)本をつくる

PandocPandoc: a universal document converter

Haskell製

様々なドキュメント形式の間の相互変換ツール

Page 101: (数式の入った)本をつくる

PandocPandoc: a universal document converter

Haskell製

様々なドキュメント形式の間の相互変換ツール

対応形式:MS Word,    , HTML, EPUB, InDesign, Markdown,...

Page 102: (数式の入った)本をつくる

PandocPandoc: a universal document converter

Haskell製

様々なドキュメント形式の間の相互変換ツール

対応形式:MS Word,    , HTML, EPUB, InDesign, Markdown,...

EPUB

Page 103: (数式の入った)本をつくる

PandocPandoc: a universal document converter

Haskell製

様々なドキュメント形式の間の相互変換ツール

対応形式:MS Word,    , HTML, EPUB, InDesign, Markdown,...

EPUB

➡  を EPUB に変換出来る!

Page 104: (数式の入った)本をつくる

例$ pandoc -S -t epub3 -o formalism.epub --epub-metadata=metadata.xml --epub-stylesheet=epub.css --bibliography=biblio.bib formalism-in-math.tex

Page 105: (数式の入った)本をつくる

例$ pandoc -S -t epub3 -o formalism.epub --epub-metadata=metadata.xml --epub-stylesheet=epub.css --bibliography=biblio.bib formalism-in-math.tex

EPUB3 へ変換

-t epub3

Page 106: (数式の入った)本をつくる

例$ pandoc -S -t epub3 -o formalism.epub --epub-metadata=metadata.xml --epub-stylesheet=epub.css --bibliography=biblio.bib formalism-in-math.tex

EPUB3 へ変換

メタデータ(タイトル・著者等)とデザインの指定

--epub-metadata=metadata.xml --epub-stylesheet=epub.css

Page 107: (数式の入った)本をつくる

例$ pandoc -S -t epub3 -o formalism.epub --epub-metadata=metadata.xml --epub-stylesheet=epub.css --bibliography=biblio.bib formalism-in-math.tex

EPUB3 へ変換

メタデータ(タイトル・著者等)とデザインの指定

参考文献も自動処理! --bibliography=biblio.bib

Page 108: (数式の入った)本をつくる

ライブラリと実行ファイルの二種類がある

$ pandoc -S -t epub3 -o formalism.epub --epub-metadata=metadata.xml --epub-stylesheet=epub.css --bibliography=biblio.bib formalism-in-math.tex

EPUB3 へ変換

メタデータ(タイトル・著者等)とデザインの指定

参考文献も自動処理!

Page 109: (数式の入った)本をつくる

ライブラリと実行ファイルの二種類がある

単純な変換処理なら実行ファイルで十分

$ pandoc -S -t epub3 -o formalism.epub --epub-metadata=metadata.xml --epub-stylesheet=epub.css --bibliography=biblio.bib formalism-in-math.tex

EPUB3 へ変換

メタデータ(タイトル・著者等)とデザインの指定

参考文献も自動処理!

Page 110: (数式の入った)本をつくる

ライブラリと実行ファイルの二種類がある

単純な変換処理なら実行ファイルで十分

$ pandoc -S -t epub3 -o formalism.epub --epub-metadata=metadata.xml --epub-stylesheet=epub.css --bibliography=biblio.bib formalism-in-math.tex

EPUB3 へ変換

メタデータ(タイトル・著者等)とデザインの指定

参考文献も自動処理!

? 単純でない処理は?

Page 111: (数式の入った)本をつくる

単純でない処理の例

日本語特有の組版(ルビ、圏点、…)の変換

数式のSVGへの変換

MathMLへの変換は勝手にやってくれる

独自に定義した定理環境の変換

Page 112: (数式の入った)本をつくる

単純でない処理の例

日本語特有の組版(ルビ、圏点、…)の変換

数式のSVGへの変換

MathMLへの変換は勝手にやってくれる

独自に定義した定理環境の変換

➡変換フィルターを自分で書く!

Page 113: (数式の入った)本をつくる

変換フィルター?

Page 114: (数式の入った)本をつくる

変換フィルター?Pandoc は変換途中の文書構造をJSONに変換して、間に独自の変換フィルターを噛ませることが出来る

Page 115: (数式の入った)本をつくる

変換フィルター?Pandoc は変換途中の文書構造をJSONに変換して、間に独自の変換フィルターを噛ませることが出来る

JSON がパーズ出来ればよいので言語非依存

Page 116: (数式の入った)本をつくる

変換フィルター?Pandoc は変換途中の文書構造をJSONに変換して、間に独自の変換フィルターを噛ませることが出来る

JSON がパーズ出来ればよいので言語非依存

Pandoc がパーズ出来なかった    はそのまま処理せず情報を持たせるようにできる

Page 117: (数式の入った)本をつくる

変換フィルター?Pandoc は変換途中の文書構造をJSONに変換して、間に独自の変換フィルターを噛ませることが出来る

JSON がパーズ出来ればよいので言語非依存

Pandoc がパーズ出来なかった    はそのまま処理せず情報を持たせるようにできる

その生   をパーズして適切なHTMLに変換するようにしてやればいい!(参考:Haskell には   を弄れるライブラリがある)

Page 118: (数式の入った)本をつくる

フィルターの例

Page 119: (数式の入った)本をつくる

フィルターの例拙作フィルター集:pandoc-japanese-filters

Page 120: (数式の入った)本をつくる

フィルターの例拙作フィルター集:pandoc-japanese-filters

数式のSVGへの変換、独自定理環境の変換、日本語組版の変換 等

Page 121: (数式の入った)本をつくる

フィルターの例拙作フィルター集:pandoc-japanese-filters

数式のSVGへの変換、独自定理環境の変換、日本語組版の変換 等

後は数式のサイズや余白を調整すればよいだけ

Page 122: (数式の入った)本をつくる

フィルターの例拙作フィルター集:pandoc-japanese-filters

数式のSVGへの変換、独自定理環境の変換、日本語組版の変換 等

後は数式のサイズや余白を調整すればよいだけ

$ pandoc -S -R -F env-to-div-filter -F math-to-svg-filter -t epub3 -o formalism.epub --epub-metadata=metadata.xml --epub-stylesheet=epub.css

--bibliography=biblio.bib formalism-in-math.tex

Page 123: (数式の入った)本をつくる

フィルターの例拙作フィルター集:pandoc-japanese-filters

数式のSVGへの変換、独自定理環境の変換、日本語組版の変換 等

後は数式のサイズや余白を調整すればよいだけ

$ pandoc -S -R -F env-to-div-filter -F math-to-svg-filter -t epub3 -o formalism.epub --epub-metadata=metadata.xml --epub-stylesheet=epub.css

--bibliography=biblio.bib formalism-in-math.tex

生LaTeXの許可

-R

Page 124: (数式の入った)本をつくる

フィルターの例拙作フィルター集:pandoc-japanese-filters

数式のSVGへの変換、独自定理環境の変換、日本語組版の変換 等

後は数式のサイズや余白を調整すればよいだけ

$ pandoc -S -R -F env-to-div-filter -F math-to-svg-filter -t epub3 -o formalism.epub --epub-metadata=metadata.xml --epub-stylesheet=epub.css

--bibliography=biblio.bib formalism-in-math.tex

生LaTeXの許可 フィルターの指定

-F env-to-div-filter -F math-to-svg-filter

Page 125: (数式の入った)本をつくる

その他

Page 126: (数式の入った)本をつくる

その他Markdown など他の形式で数式部分だけ   で書くこともできる

数式まぜ書き Markdown ====================

このような形 $\mathcal{M} \Vdash \varphi$ で、**インライン数式**や、

$$\int_{-\infty}^\infty e^{-x^2} \mathrm{d}x$$

のようにディスプレイ数式も混ぜられる。

Page 127: (数式の入った)本をつくる

その他Markdown など他の形式で数式部分だけ   で書くこともできるパーズの前後で情報が失われる場合(Docxなど)は自分でパーザを書く

数式まぜ書き Markdown ====================

このような形 $\mathcal{M} \Vdash \varphi$ で、**インライン数式**や、

$$\int_{-\infty}^\infty e^{-x^2} \mathrm{d}x$$

のようにディスプレイ数式も混ぜられる。

Page 128: (数式の入った)本をつくる

その他Markdown など他の形式で数式部分だけ   で書くこともできるパーズの前後で情報が失われる場合(Docxなど)は自分でパーザを書く

数式まぜ書き Markdown ====================

このような形 $\mathcal{M} \Vdash \varphi$ で、**インライン数式**や、

$$\int_{-\infty}^\infty e^{-x^2} \mathrm{d}x$$

のようにディスプレイ数式も混ぜられる。

フィルターではなく、ライブラリを使って Haskell で直にプログラムを書くこともできる

Page 129: (数式の入った)本をつくる

その他Markdown など他の形式で数式部分だけ   で書くこともできるパーズの前後で情報が失われる場合(Docxなど)は自分でパーザを書く

数式まぜ書き Markdown ====================

このような形 $\mathcal{M} \Vdash \varphi$ で、**インライン数式**や、

$$\int_{-\infty}^\infty e^{-x^2} \mathrm{d}x$$

のようにディスプレイ数式も混ぜられる。

フィルターではなく、ライブラリを使って Haskell で直にプログラムを書くこともできるPandoc は EPUB に限らず、ウェブサイトの生成にも使える

Page 130: (数式の入った)本をつくる

その他Markdown など他の形式で数式部分だけ   で書くこともできるパーズの前後で情報が失われる場合(Docxなど)は自分でパーザを書く

数式まぜ書き Markdown ====================

このような形 $\mathcal{M} \Vdash \varphi$ で、**インライン数式**や、

$$\int_{-\infty}^\infty e^{-x^2} \mathrm{d}x$$

のようにディスプレイ数式も混ぜられる。

フィルターではなく、ライブラリを使って Haskell で直にプログラムを書くこともできるPandoc は EPUB に限らず、ウェブサイトの生成にも使える

私のサイトでは TeX や Markdown から PDF / HTML を生成するのに使っています

Page 131: (数式の入った)本をつくる

まとめ

Page 132: (数式の入った)本をつくる

まとめPandoc を使えば好きなフォーマットから自動で EPUB を生成出来る

Page 133: (数式の入った)本をつくる

まとめPandoc を使えば好きなフォーマットから自動で EPUB を生成出来る

✓数式を一々手で画像に変換しなくていい!

Page 134: (数式の入った)本をつくる

まとめPandoc を使えば好きなフォーマットから自動で EPUB を生成出来る

✓数式を一々手で画像に変換しなくていい!

細かな変換処理はフィルターを書く

Page 135: (数式の入った)本をつくる

まとめPandoc を使えば好きなフォーマットから自動で EPUB を生成出来る

✓数式を一々手で画像に変換しなくていい!

細かな変換処理はフィルターを書く

Pandoc は EPUB のみならず色々な書類を生成するのにも使える

Page 136: (数式の入った)本をつくる

まとめ

Page 137: (数式の入った)本をつくる

まとめ電子書籍は EPUB で

Page 138: (数式の入った)本をつくる

まとめ電子書籍は EPUB で

数式は現状 SVG で張り込むのがよい

Page 139: (数式の入った)本をつくる

まとめ電子書籍は EPUB で

数式は現状 SVG で張り込むのがよい

見栄をよくするには自分でサイズ調整

Page 140: (数式の入った)本をつくる

まとめ電子書籍は EPUB で

数式は現状 SVG で張り込むのがよい

見栄をよくするには自分でサイズ調整

将来的には MathML?

Page 141: (数式の入った)本をつくる

まとめ電子書籍は EPUB で

数式は現状 SVG で張り込むのがよい

見栄をよくするには自分でサイズ調整

将来的には MathML?

EPUB 生成は Pandoc で!

Page 142: (数式の入った)本をつくる

まとめ電子書籍は EPUB で

数式は現状 SVG で張り込むのがよい

見栄をよくするには自分でサイズ調整

将来的には MathML?

EPUB 生成は Pandoc で!

    など既存の資源を自動変換出来る

Page 143: (数式の入った)本をつくる

まとめ電子書籍は EPUB で

数式は現状 SVG で張り込むのがよい

見栄をよくするには自分でサイズ調整

将来的には MathML?

EPUB 生成は Pandoc で!

    など既存の資源を自動変換出来る

数式画像生成の自動化

Page 144: (数式の入った)本をつくる

まとめ電子書籍は EPUB で

数式は現状 SVG で張り込むのがよい

見栄をよくするには自分でサイズ調整

将来的には MathML?

EPUB 生成は Pandoc で!

    など既存の資源を自動変換出来る

数式画像生成の自動化

細かい変換処理はフィルターを書く

Page 145: (数式の入った)本をつくる

Any Questions?電子書籍は EPUB で

数式は現状 SVG で張り込むのがよい

見栄をよくするには自分でサイズ調整

将来的には MathML?

EPUB 生成は Pandoc で!

    など既存の資源を自動変換出来る

数式画像生成の自動化

細かい変換処理はフィルターを書く