#vivliosytle #CSS組版 Vivliostyle新年会に参加して,「CSS組版の文献紹介と作業報告」という題で発表した。感想などを記す。イベントの概要をに示した。

概要

イベント情報
項目 内容
イベント名 Vivliostyle新年会
URL https://www.facebook.com/events/391498301016858/
ハッシュタグ
開催地 http://r.gnavi.co.jp/9s6ckezv0000/map/
開催日時 2015-01-07T20:00
参加人数 33

発表資料
項目 内容
演題 CSS組版の文献紹介と作業報告
スライド https://senooken.jp/public/20150107/slide/
動画 https://senooken.jp/public/20150107/movie/

今回の発表資料はライセンスに注意した。というのも,Vivliostyleの会社のロゴや,中で書籍の表紙画像を含んでいるからである。厳密にいうと,これらのロゴや画像には著作権があり無断での利用は禁止される。そのため,発表資料にCC BYのライセンス(出典明記)を適用できない。一般的には,著作権者の黙認により問題が起きていない。ただ,他の人が使えるようにするにはCC BYのライセンス明記が必要だ。

そこで表紙のCC BYのライセンスに対して,以下を追記した。

except for images and figures

これにより画像以外はCC BYのライセンスにした。自由に使っていい画像もあるんだけど,個別に判定するのは面倒くさいので一律で決めた。今後は迷ったら画像はCC BYから除外し,自信のあるときだけ全部CC BYにする。

発表内容について

今回の発表は比較的急遽作った。12月中旬に今回の新年会の開催の連絡が来て,12月末に「プロジェクターが使えるので発表したい人は準備してね。」と知らされたからだ。ちょうど業務が立て込んでいて,年始は家でも仕事に打ち込んでいた。

あんまりネタはなかったんだけど,もう少し自分をアピールして,この先協力してくれる人や助けてくれる人が必要なので,頑張って発表することにした。

発表内容は以下のとおりだ。

  • 新年会の参加の経緯
  • CSS組版に関する文献紹介
  • CSS組版の試行例
    • 表組み
    • 相互参照

11/7のTeXユーザーの集いの後からほそぼそとやっていた,文献収集と「CSSによるプリントデザイン」を参考にやってみたCSS組版の例を紹介した。

資料の作成にはだいたい4-5時間はかかった。もともと5分程度の発表を予定していたが,当日の発表は10分くらいだった。もう少し資料の作成時間を短縮したいのだけど,なかなかうまい方法が見つからない。ただの箇条書きを羅列するだけなら楽に作れるが,そういうスライドはあんまり魅力的で なく悪いので作りたくない。当日の発表ではレイアウトや色などいまいちだったので,帰宅後修正してスライドシェアに公開した。

新年会参加の経緯では,以下のTeXユーザーの集いでの発表の感想記事に書いた内容をベースにしてスライドにまとめた。

My Future Sight for Past: TeXユーザーの集い2014で「TeXはオワコンなのか?」という題で発表した http://myfuturesightforpast.blogspot.jp/2014/11/tex2014tex.html

CSS組版関連の文献は,過去の村上さんが紹介していたものをまとめただけで特に独自性はない。この中で大事なのはアンテナハウスが公開している「CSSによるプリントデザイン」だ。これに書いているとおりにやればそれなりのことができる。

HTML+CSS+JavaScriptの参考書籍は,僕が1-2か月ほどかけて調査して購入した書籍の紹介だ。この辺の技術は僕も夏頃から勉強始めただけでまだまだ初心者だ。もっとよい書籍があればぜひ教えてほしい。ある程度知識がないとどの本がよいかどうかというのは判断できない。

最後にCSS組版の試行について。

僕のCSS組版の当分の目標はTeXでやっていたことをできるようにすることだ。そのためにひとまず表組と相互参照に手を付けた。ここに載せた内容は自分で調べたり考えてやったことがメインだ。「CSSによるプリントデザイン」も参考にしたが,id値の命名規則などは自分で考えたものだ。

TeXではpretyrefとかrefstyleというパッケージで,label名のプレフィクスから自動で判別して相互参照時に番号の前の「表」とか「図」とかのキャプションラベル部分も挿入してくれる。これをつかわないといちいち表\ref{tab:hoge}というように自分で入力しないといけない。これが面倒なのでやりたくなかった。

感想

僕は出版関係の人間ではなくただのLaTeXが好きだった一般人なので,はっきりいって部外者に近い。組版関係のイベントで見たことのある人は何人かいたけど,挨拶はしていないし話題もないので自分から話しかける勇気もなく始まるまで居心地は悪かった。

僕はもともと今回の新年会はもう少し少人数で椅子に座ってやるのかなと思っていた。そして具体的な作業のロードマップ的なのが示されるのかなと思った。しかし,違った。多数の参加者を募ったり自由に会話するには立食のほうがいいけど,込み入った話は会議室みたいなとこでやるのがいいかなと思っていた。

宴会の最中にVivliostyleの紹介とか希望者による発表という形式だった。しかし,この形式は僕には合わなかった。理由は以下に挙げる。

  • 発表が始まるまでお互い知らない者同士で,部外者かつコミュ力のない人は困る
  • 発表内容に集中できず,質疑などの大事な議論が全員で共有できない

もくもく会もそうだけど,何か話題やコンテンツがあるから人は話をしたり,集まるんだから,以下に示すように先に発表をやって質疑もして宴会で発表やその他の雑談などでよい。

  • ☓:宴会▷発表▷宴会(個人での質疑)
  • ○:発表▷質疑▷宴会

このスタイルを踏襲しているので,やはり僕はオープンCAE勉強会@関東のスタイルが気に入っている。

Vivliostyleの村上さんの発表では,正社員や協力開発者などの紹介,会社のロゴの秘話,会社設立の経緯について説明があった。おそらく初公開の情報だったので非常に興味深かった。やはり出版の世界でも自由の流れはあり,それが大事なんだと再確認できた。BookJSの開発者が協力してくれるみたいで,これはすごいと思った。既に国際的に協力者がいてさすがだなと思った。

僕の発表の後に何人か僕に声をかけてくれた。11/7のTeXユーザーの集い2014での僕の発表「TeXはオワコンなのか?」を見てくれていたようだ。組版記法とかMarkdownがダメなこととか話せて楽しかった。こういう場でもなければ組版の話とかすることはないのでね…

個人的に重要な問題である,JavaScriptの勉強するモチベーションについても質問してみた。が,しっくりする答えはなかった。業務で使わない以上,Atomエディタとかブラウザの拡張機能とか無理やり自分の利益に結びつけるのが大事だと思った。

それと組版に関して自分が日頃思うことを適当に以下で書く。

軽量マークアップはAsciiDocがベスト?

軽量マークアップでは調査中だけど,個人的にはAsciiDocが最も優れていると思う。Markdownは普及しているだけで以下のような問題がある。

  • 貧弱な仕様
  • 独自拡張の乱立

Markdownでがんばって書籍書こうとしている人がいるらしいけど,そもそもMarkdownは書籍執筆に向いていないんだから無理だ。無理にスクリプトでTeXにつなげようとしているみたいだけど,書籍執筆にMarkdownを使うこと自体がそもそも間違い。

SphinxとかRe:VIEWも不満はある。

Sphinxはいちいちプレビュー確認するためだけにプロジェクト作らないといけない。そして見出しの書き方が気に入らない。以下のように見出しの下に記号を5個とか並べるというもの。

見出し1
======

見出し2
-----

複数のレベルは記号を変更してやらないといけない。この書き方は個人的に嫌だ。Markdownのように行頭記号の個数で判別すべき。また,Python特有のインデントが重要な意味を持つというのも危なっかしい。

Re:VIEWは一部で実績はあるがそもそもあまり普及していない。公式サイトにもまともなマニュアルがないし,使い方がいまいちよくわからない。なんか同人誌でRe:VIEWの使い方の本が出ているらしいけど,Sphinxみたいにちゃんとpdfのリファレンスマニュアルを公式サイトで出すべきだ。

AsciiDocはDocBookという技術書のマークアップの簡易記法となっている。記法がよく考えられている。DockBookを経由することでTeXを使わずにpdfを出力できる。これが大きい。けっきょく既存の軽量マークアップでは自由ソフトだけで高品質なpdfをつくろうと思ったらTeXを使うしかない。Re:VIEWはInDesignに対応しているだけで,自由な組版ソフトは結局TeX依存。PandocでDocBookに変換したらいいのかもしれないが,Pandocは万能ではないし完全に再現できるとは思えない。

ただ,DocBookとかAsciiDocの情報があんまりなく,日本語の出力に工夫がいる。僕もまだうまくてきていないので今後も調査が必要だ。

このあたりの話は他の人にも意見を聞いてみたいので,まとめてどこかで発表したいなと思っている。

EPUBの存在意義とは?

電子書籍・EPUB関係の人がけっこういたような印象だった。個人的にはEPUBは利便性・必要性が理解できない。なぜこんなに話題になっているのかわからない。今回の発表で紹介した「パーフェクトJavaScript」はもともとEPUBしかなかったのでしかたなくEPUBで読んでいたのだけど,悪かった。理由は主に以下だ。

  • 表は汚い画像で検索できない
  • 1ページあたりの情報量が少ないのでページをたくさんめくらないといけない
  • 注釈など書き込みはできない

あまりにも使いにくいので自分でEPUBをpdfに変換した。12月にpdf版もでてこれはまともだったのでよかった。

リフローすることにそんなに利点があるとは思えない。それよりかは仕様がしっかり決まって十分に普及しているpdfでいいと思っている。EPUBの利点についてはまたどこかで質問してみたい。

まとめ

あんまりまとまりがないけど,まとめる。Vivliostyle新年会で発表して,何人かの人と議論を交わした。EPUBについては懐疑的なので,またどこかで質問してみたい。

とりあえず今後は,「CSSによるプリントデザイン」を参考に現状でできる範囲でCSS組版についてやってみるつもりだ。どこかでまた何か発表できたらいいと思う。