FormatterClubセミナーでの、CAS-UBのスライドと動画を公開しました。

7月7日七夕の日のFormatterClubセミナーは、40数名のご参加いただき、大変盛況でした。大変暑い日でしたが、お集まりいただきました皆様に感謝申し上げます。

早速ですが、セミナーのCAS-UBプレゼン資料を下記に公開いたしました。参考にしていただければと存じます。

1. CAS-UBのスライド
「デジタル出版物制作Webサービス「CAS-UB」 ワンソースマルチユースのポイント AH FormatterによるPDF作成を中心に(スライドシェア)

2. 動画
CAS-UB操作の流れ(MP4形式動画)(CAS-UB Webページにて)

CAS記法によるWebページの作成:Webページ内の参考資料へのID設定と、本文から内部リンクを設定する方法

CAS-UBで次のようなWebのリンクを設定する方法を紹介します。

(1) Webページの末尾に参考資料のリストを作る。
(2) Webページの本文から、参考資料へのページ内リンクを設定する。

出来上がったWebページはこんな感じです。


図1 リンク元


図2 リンク先

HTMLで、このようなページ内部のリンクを作るには、リンク先の要素にid=id値を設定し、リンク元のアンカータグ(aタグ)のhref属性に#id値を設定します。

CAS記法では次のようにします。リンク先の要素にはユーザー独自idのマークアップを使います[1]。CAS-UBでユーザー独自のidを付けるには、二つの方法があります。難しい方法と簡単な方法があります。利用ガイドでは難しい方法のみを詳しく解説しています。(難しい方法には、自動化処理のための用途があるのですが)ここでは単にリンクを設定するだけの簡単な方法をご紹介します。

次のようにすれば良いです。

1.リンク先に:id=id値 という属性名と属性値を設定する
2.リンク元に[[#id値|アンカーテキスト]] というマークアップをする。

上の例では次のようになります。

1.リンク先
CAS記法のマークアップ:
*::nolabel:id=s1 [1] [[http://stackoverflow.com/questions/42618628/how-to-convert-office-file-to-image/43161134|How to convert office file to image]]
HTMLでは右のようになります:
<ul class=”nolabel”><li id=”s1″>[1] <a href=”http://stackoverflow.com/questions/42618628/how-to-convert-office-file-to-image/43161134″ >How to convert office file to image</li>

2.リンク元
CAS記法のマークアップ:
StackOverflow の質問(英語)[[#s1|[1~]]]より引用
HTMLでは右のようになります:
StackOverflow の質問(英語)<a href=”#s1″ >[1]より引用

::nolabelはリンクとは関係なく、CSSで箇条書きのラベルを付けないようにするためのクラス属性の設定です。
:id=s1 が箇条書きの項目(li)のid属性になります。

参考資料
[1] CAS-UBでは見出しや図・表のキャプションには自動的にidを設定します。ユーザーがCAS記法で設定するidについては、自動設定のidと区別するためにユーザー独自idという表現をしています。これは、HTMLでは通常のid属性にあたります。
[2]第9章 CAS記法の属性マークアップリファレンス
[3] ここでCAS-UBで作ったHTMLを埋め込んだWebのページ: Microsoft Office(マイクロソフト オフィス)のファイルを、プログラム開発者が自力でPDFや画像に変換するには、どうしたら良い?

ワンソースマルチユースの課題:HTMLソースのオーサリング問題を改めて考えてみようと。

2017年になってから久しぶりにWebページを自分で編集・更新をし始めています。XHTML形式のWebページをoXygenというXMLエディタ[1]で編集しているのですが、このところ毎日Webページ制作の生産性の低さに辟易しています。

少し遡っての個人的な経験ですが、私は2000年頃からドキュメントの多くをXML(XHTML)で作成するようになり、Webページなども簡単なHTMLタグの組み合わせで作成していました。それらのWebページはXHTMLタグでマークアップして簡単なCSSでレイアウトを施したものです。今から見ますと原始的なものですが、この頃のマークアップ編集はAntenna House XMLエディタという自社開発のXMLエディタを使っていました。この間、Antenna House XMLエディタは、開発があまり進まず、時代の流れに遅れてしまい、結局、販売も断念してしまいました。

その間、HTMLのタグを直接編集するのはどうも生産性が低いのでなんとかうまい解決策がないものかと考えていました。そうした経験からWiki記法のような簡易マークアップを使ってHTMLを書くことで、HTML制作の生産性を高めることができるだろう、と考えました。それが、2010年にCAS-UBの開発を開始した一つの理由です。CAS-UBはWiki記法を拡張したCAS記法をつかってHTML文書を記述します[2]。これは檜山正幸さんという天才的なアーキテクトに設計していただいたものです。自分で言うのもなんですが、いつも良く出来ていると感じます。CAS記法をなかなか普及させられないのは、偏に私のマーケティング力が足りないからだと反省します。

もう一つの理由は、出版の世界は一品生産のため、DITAマニュアルの制作システムのように大きな投資が必要なシステムを作るのは難しいので、PDFとEPUBを作る仕組をWebサービスとして提供するのが向いているのではないかと考えたことです。CAS-UBは出版物を作る仕組としてうまく機能するようになっています。まだまだ改善が必要ですが。

そうしたことで、2011年頃から、業務上の文書はOffice、簡単なWebページはブログ、出版物にするときはCAS-UB、といった使い分をしていました。そんなことで、個人的には問題も感じなくなり、もうワンソースマルチユースには課題はないだろうなどと考え始めていたのです。そして、ワンソースマルチユースの大きな課題であるソースドキュメント編集の問題について、やや忘れかけていました。

で、久しぶりにWebページ(HTML)をXMLエディタ(oXygen)で編集し始めて、HTML直接編集の生産性がさらに低下しているのに辟易しています。ずっと、HTMLの生産性が低い理由は、コンテンツ(原稿)とタグ(マークアップ)の二つを同時に考えるためと思っていました。しかし、今回、久しぶりにWebページを編集してみて、レイアウトのための余計なクラス属性や余計な階層構造が、さらに生産性を下げる原因になっている、と痛感しています。

ちなみに、今『CSS設計の教科書』(谷 拓樹著、インプレス発行、2016年2月第1版第4刷)を読んでいます。この本を見ますとCSSのセレクタには要素ではなく、クラス属性を指定する方を推奨しています。要素のセマンティクスにはあまり依存しないで、div要素に多数のクラスを設定し、CSSではクラスのセレクタを使って部品化し組み合わせる方法などがあります(pp.45-52 OOCSS)。こうなってきますと、今度はコンテンツの編集の際に、レイアウトのためのクラスの設定を適切に行わなければならなくなります。結局、HTMLの編集において、テキストや画像コンテンツ、セマンティクスとしてのHTMLタグ、さらにCSSレイアウトのためのクラス属性の設定、という三つを同時に考慮しなければなりません。これはちょっと? です。

見栄えの良いWebページを作るために、CSSが複雑になりメンテナンスしにくいのでクラス属性を組み合わせ、今度は内容を書くのが大変になる! って本末転倒しているように感じます。どうしたら良いんでしょうかね。

また、最近、2回ほど学術情報XML推進協議会のセミナーに参加して、皆さんの意見も伺い、久しぶりにコンテンツ制作の問題がまだ課題なんだな、と痛感している次第です。ということで、HTMLのオーサリングについて、改めて整理し直そうと考えているところです。

[1] oXygen
[2] CAS記法リファレンス
[3] 次回 HTMLを手軽に作る方法を再検討します。手軽といえば、まずWordでHTMLを作ることが思いつきます。

■シリーズ
(1) ワンソースマルチユースの課題:HTMLソースのオーサリング問題を改めて考えてみようと。
(2) HTMLを手軽に作る方法を再検討します。手軽といえば、まずWordでHTMLを作ることが思いつきます。
(3) Word2013のWord文書をHTML形式で保存を試してみる。その問題点は?
(4) HTMLを簡単に作る方法:h1要素の話(1)

『XSL-FOの基礎』画像制作のこと。Word経由でインポートした画像は印刷品質の劣化が激しいため、第2版ではできるだけSVG形式に変更した件。

『XSL-FOの基礎』は初版は2016年5月に初版をリリースしましたが、今回は大幅に改訂して第2版となります。改訂の一部として、多くの画像をラスターからベクトル(SVG形式)に変更しました。以下、このことを少し説明します。

本書にはXSL-FOのオブジェクトとプロパティの説明の一部として組版結果の紹介をしています。例えば、こんな感じです。

組版結果はPDFです。初版では、組版結果の多くはPDFを表示して画像スクリーンキャプチャしていました。最初のうち原稿をWordで書いていましたので、スクリーンから切り取ってWordに貼り付けていたものもあります。原稿のWord文書をCAS-UBで取り込んだとき、このラスター画像もCAS-UBに取り込まれます。途中からはCAS-UBで原稿を直接書いて編集しましたので、スクリーンをキャプチャしてPNGファイルとして取り込んだものもあります。初版の画像制作は、主に次のようなフローになります。

こうした画像を画面で見ている限りでは、それほど見栄えに差がないのですが、プリントオンデマンドで紙に出力しますと画像の品質の差が歴然となります。Wordに貼り付けて(CAS-UBのWordインポートで)CAS-UBに取り込んだ画像は品質が非常に悪くなります。一方、PNGファイルをCAS-UBに取り込むときは、印刷したときの画像の品質はPNGの精度(ピクセル数)次第です。特に、文字がはいっているような画像は品質が低いと問題があります。

ということで第2版ではできるだけPDFからベクトル画像(SVG)を作ることにしました。SVGを作る方法はいろいろあると思いますが。今回は自社開発のPDFビューアのSVG切り出し機能を使いました[PDF加工画像化ツール]。この操作は次のようになります。


図1 PDFを開く


図2 SVGにしたい範囲を選択


図3 SVG形式で保存

SVGにした画像はPNG形式も用意しています。PDF生成時はSVG形式を使い、EPUB生成時にはPNGに差し替えるようにしました。残念ながらKindleではSVGを正しく表示できないことがあるためです。

SVGからPNGへの変換は「置換」機能を使います。

複数の画像ファイルを用意しておき、出力形式によって画像を使い分ける機能はCAS-UBのWeb制作サービスの中に取り込んでいきたいものです。これは次のバージョンアップの課題の一つといたします。

参考資料
1. 技術書典2と『PDFインフラストラクチャ解説』第1.1版、『XSL-FOの基礎 第二版』のご紹介
2. 『XSL-FO の基礎 – XML を組版するためのレイアウト仕様』

CAS-UB 操作紹介ミニ動画が20本になりました。

CAS-UBはデジタル技術を活用して本を作るWebサービスです。その特徴は、次のような点にあります。

(1)小説のようなほぼ文字だけの本ではなく、図版や表などを多用する専門書も編集・制作できること
(2)EPUBだけではなく、プリントオンデマンドのためのPDFを簡単なパラメータ設定のみで作ることができること

特に紙の本は、できあがったものを見ますと、一見簡単にできていそうに見えます。しかし、実際に本を作ってみますと、まず本の編集・制作作業はかなり複雑です。紙の本には長い歴史があり、表紙・扉・前書・目次・本文・後書・索引などの多くの構成要素があります。さらに日本語の本は横組・縦組があり、綴じ方(開き方)が反対になります。他にどんな点が難しいかは下記の参考資料(本のワンソースマルチユース制作〜その理論・実践・未来)をご覧ください。本の制作にあたっては、このような諸要素を予め配慮する必要があります。

こうしたことから、商業出版社では、専門的な知識をもつDTP制作者や制作会社に制作作業を外注していることが多いようです。しかし、本の制作を外注して行うと日程や費用が掛かってしまいます。さらに、DTPで制作するとPDFに特化してしまうため、EPUBなどの電子書籍にするのに別途の日にちがかかります。

CAS-UBは、コンピュータを使って、本の編集・制作作業をできるだけ自動的に行い、知識の伝搬・技術・産業の発展に欠かせない専門的な本の生産性を高めるのが目標です。

やや複雑なCAS-UBの編集操作やPDFの作成を、直感的に理解していただくために、次のミニ動画を用意しています。それぞれ1~2分ですので、ぜひご覧ください。なお、この中の動画の多くは、ECMJ石田社長のブログを、ECMJ流Eコマースを勝ち抜く原理原則 シリーズという本にする過程を録画したものです。

CAS-UB紹介動画一覧

新しい出版物の作成
編集機能について
図版と画像の扱い
本の構成を編集する
PDF生成

なお、動画の内容は随時追加・改訂していく予定です。

参考資料
本のワンソースマルチユース制作〜その理論・実践・未来
CAS-UB Webページ
ミニ動画作成のきっかけになった10月24日セミナーのプレゼンテーション

CAS-UBの編集デモ動画 新ファイル : 索引を追加する

ブログの記事を整理した本文ができあがりました。本には索引が必要ですので、簡単な索引を設定します。

【シナリオ】
1.索引を設定します
(1) 本文で索引項目を選定します。日本語の漢字を含むときは、索引の読みを入力して、「CAS記法」をクリックすると索引がマークアップされます。
(2) アルファベット・カタカナ・ひらがなは読みの入力は不要です。
(3) 本文中に表示されない索引項目は位置だけ指定し、索引語と(必要なら)読みを入力します。索引のマークアップには:nodisp属性が付きます。
(4) PDFに索引を「出す」「出さない」を設定します。(索引項目が一つもないと、「出す」としても索引ページはできません。)
(5) 目次に索引ページが追加されています。
(6) 索引項目には本文へのリンクが設定されます。

※PDFの生成設定は本文二段組みとなっている。

【デモ動画】
索引を追加する(mp4動画です)

【デモ動画一覧】(それぞれMP4ファイルを表示します)
(1)新出版物を作り『蕎麦の味と食い方問題』(青空文庫)をコピーする
(2)ルビ、縦中横、リンクをマークアップする
(3)Wordからの外部入力の操作例
(4)PDF生成の基本設定
(5)PDF生成のレイアウト調整
(6)PDFの後書きのページ内配置と見出しの指定変更
(7)『XSL-FOの基礎』サンプルレイアウト改善の例
(8)ブログをコピーして節の本文に貼り付け、項の見出しを付ける
(9)目次に出す見出しのレベルを二つから一つに変更する
(10)検索、検索・置換する、記事の先頭はそのままにする
(11)Word文書で作成した「前書」を追加します。

CAS-UBの編集デモ動画 新ファイル : 前書を追加する

ブログの記事を整理した本文ができあがりました。そこで、Word文書で作成した「前書」を追加します。

【シナリオ】
1.本文第1章~第9章に「前書」を追加する
2.まえがきはWordの原稿で用意する
3.Wordの原稿からインポートする
4.記事の種類を「前書」に設定する
※「前書」は自動的に目次の前に配置する
 「前書」には番号は付かない

※PDFの生成設定は本文二段組みとなっている。

【デモ動画】
前書を追加する(mp4動画です)

【デモ動画一覧】(それぞれMP4ファイルを表示します)
(1)新出版物を作り『蕎麦の味と食い方問題』(青空文庫)をコピーする
(2)ルビ、縦中横、リンクをマークアップする
(3)Wordからの外部入力の操作例
(4)PDF生成の基本設定
(5)PDF生成のレイアウト調整
(6)PDFの後書きのページ内配置と見出しの指定変更
(7)『XSL-FOの基礎』サンプルレイアウト改善の例
(8)ブログをコピーして節の本文に貼り付け、項の見出しを付ける
(9)目次に出す見出しのレベルを二つから一つに変更する
(10)検索、検索・置換する、記事の先頭はそのままにする

CAS-UBの編集デモ動画 新ファイル : 検索、検索・置換する、記事の先頭はそのままにする

ブログの記事に、「総ページビュー(PV)」という表現が頻出します。そこで、各記事の先頭だけは「総ページビュー(PV)」とし、あとは「総ページビュー」に置換します。

【シナリオ】
1.「総ページビュー(PV)」を検索
2.三つの記事に延べ20回以上
3.「総ページビュー(PV)」を「総ページビュー」に置換
4.各記事の先頭だけはそのまま残す
5.チェックが済んだら置換します
6.「総ページビュー(PV)」を検索
7.各記事の先頭だけ残っています

※PDFの生成設定は本文二段組みとなっている。

【デモ動画】
検索、検索・置換する、記事の先頭はそのままにする(mp4動画です)

【デモ動画一覧】(それぞれMP4ファイルを表示します)
(1)新出版物を作り『蕎麦の味と食い方問題』(青空文庫)をコピーする
(2)ルビ、縦中横、リンクをマークアップする
(3)Wordからの外部入力の操作例
(4)PDF生成の基本設定
(5)PDF生成のレイアウト調整
(6)PDFの後書きのページ内配置と見出しの指定変更
(7)『XSL-FOの基礎』サンプルレイアウト改善の例
(8)ブログをコピーして節の本文に貼り付け、項の見出しを付ける
(9)目次に出す見出しのレベルを二つから一つに変更する

CAS-UB V4紹介ブログ
1. CAS-UB V4.0の公開予定についてのご案内(予告)
2. CAS-UB V4の編集画面を垣間見る。V3では構成編集と編集画面が別でしたが、統合しました。
3. CAS-UB V4.0 デジタルファーストへ向けて、CAS記法の強化
4. CAS-UB のWebサービスV4.0をリリースしました
5.10月24日 CAS-UB 五周年記念セミナーのスライドと動画をアップしました。
6. CAS-UBの編集デモファイル 見出しを付ける

CAS-UBの編集デモ動画 新ファイル : 目次に出す見出しのレベル

ブログの記事を幾つかの章に分類して章には見出しを付けます。そして、ひとつひとつを節の記事とします。

【シナリオ】
1.本文は章-節の二階層となります。
2.PDF出力のデフォルトでは、章と節の見出しを目次の項目とします。
3.節が多いとき、目次の項目が多くなります。
4.目次に章の見出しだけ出すように設定を変更します。
5.章見出しだけが目次項目となります。
6.目次項目には本文へのリンクが設定されます。

※PDFの生成設定は本文二段組みとなっている。

【デモ動画】
目次に出す見出しのレベルを変更する例(mp4動画です)

【デモ動画一覧】(それぞれMP4ファイルを表示します)
(1)新出版物を作り『蕎麦の味と食い方問題』(青空文庫)をコピーする
(2)ルビ、縦中横、リンクをマークアップする
(3)Wordからの外部入力の操作例
(4)PDF生成の基本設定
(5)PDF生成のレイアウト調整
(6)PDFの後書きのページ内配置と見出しの指定変更
(7)『XSL-FOの基礎』サンプルレイアウト改善の例
(8)ブログをコピーして節の本文に貼り付け、項の見出しを付ける

CAS-UB V4紹介ブログ
1. CAS-UB V4.0の公開予定についてのご案内(予告)
2. CAS-UB V4の編集画面を垣間見る。V3では構成編集と編集画面が別でしたが、統合しました。
3. CAS-UB V4.0 デジタルファーストへ向けて、CAS記法の強化
4. CAS-UB のWebサービスV4.0をリリースしました
5.10月24日 CAS-UB 五周年記念セミナーのスライドと動画をアップしました。
6. CAS-UBの編集デモファイル 見出しを付ける

CAS-UBの編集デモ動画 新ファイル : 見出しを付ける

ブログの記事をコピーして、節の記事とする例のデモ動画を追加しました。

【シナリオ】
1.CAS-UBの記事の構成は章-節となっている
2.ブログのタイトルをコピーして節のタイトルに貼り付ける
3.ブログの本文をコピーして節の本文に貼り付ける
4.記事の本文の*を見出しのマークアップ’=’にする
5.CAS-UBは見出しと段落には一行を空ける
6.PDFを生成する

※PDFの生成設定は本文二段組みとなっている。

【デモ動画】
ブログの記事をコピーして、節の記事とする例(mp4動画です)

【デモ動画一覧】(それぞれMP4ファイルを表示します)
(1)新出版物を作り『蕎麦の味と食い方問題』(青空文庫)をコピーする
(2)ルビ、縦中横、リンクをマークアップする
(3)Wordからの外部入力の操作例
(4)PDF生成の基本設定
(5)PDF生成のレイアウト調整
(6)PDFの後書きのページ内配置と見出しの指定変更
(7)『XSL-FOの基礎』サンプルレイアウト改善の例

CAS-UB V4紹介ブログ
1. CAS-UB V4.0の公開予定についてのご案内(予告)
2. CAS-UB V4の編集画面を垣間見る。V3では構成編集と編集画面が別でしたが、統合しました。
3. CAS-UB V4.0 デジタルファーストへ向けて、CAS記法の強化
4. CAS-UB のWebサービスV4.0をリリースしました
5.10月24日 CAS-UB 五周年記念セミナーのスライドと動画をアップしました。
6. CAS-UBの編集デモファイル 見出しを付ける