タグ別アーカイブ: CSS組版

Balisageで『Loose-leaf publishing using Antenna House and CSS』の発表 その2

Balisageで『Loose-leaf publishing using Antenna House and CSS』の発表
この記事の続きです。

8月2日(金)米国Washington DCで開催された恒例Balisage会議にて米国の高名なコンサルタントであるEliot Kimber氏より「Loose-leaf publishing using Antenna House and CSS」と題した発表がありました。

原文はこちらにあります:

Loose-leaf publishing using Antenna House and CSS(Balisage: The Markup Conference 2019 July 30 – August 2, 2019)

ルーズリーフ出版とは、以前に印刷された文書のページ番号は変更せずに、内容の更新を行う出版方法です。文書の更新により新しいページが作成されると、それらのページには元のページ番号に修飾子を加えたページ番号、例えば「10.1」、「10.2」などが付与されます。このようなページは「ポイントページ」と呼ばれます。

Eliot Kimber氏の挑戦

ルーズリーフ出版の課題の1つは、文書の2つのバージョン間でどのページが変更されたかを判断することです。Eliot Kimber氏は次の様なパイプラインでルーズリーフ出版を行うことを考えました。

  1. 編集者は、変更されたページの開始と終了のマークを含むXMLソースを準備します。開始は常に、以前のバージョンのページの開始に対応し、終了は変更が終了する場所です。
  2. 入力XMLソースはXHTMLを生成するために前処理し、必要に応じて一般的にはCSSページ組版を可能にし、また具体的には、変更ページの生成を可能にするために拡張されます。
  3. 拡張されたXHTMLは、CSSスタイルを使用してAHFによってレンダリングされ、最初のエリアツリーが生成されます。
  4. 最初のエリアツリーが処理され、ポイントページ番号とそれらのページを参照するページのページ番号が更新されます。変更パッケージが作成されている場合、変更されていないページはすべて除外され、生成された「更新の説明」の節、目次、表紙など、変更されたページとパッケージに必要な他のページのみを反映するエリアツリーが作成されます。
  5. マスターページの履歴データベースが更新され、更新されたバージョンの文書のページの詳細が反映されます。これには開始ページと終了ページのIDを持つ要素からのマッピングが含まれます。
  6. 更新されたエリアツリーはAH FormatterによってPDFにレンダリングされます。

そのためには、変更された一連のページ内のどの場所でポイントページが必要かを知る必要があり、変更パッケージの目次を生成する必要があり、変更パッケージの「更新の説明」と「有効ページのリスト」の節を生成する事が課題となりました。

CSSページ組版の課題

加えて、CSSでページ組版を行う上で、いくつかの課題があります。
CSSページ組版を有効にするために完了しなければいけない事項としては:

  • 目次、巻末索引、および類似のナビゲーション構造の生成。
  • 構造化されたヘッダとフッタを作成するために使用される要素の生成。たとえば書式設定が異なる複数行のヘッダ、またはHTMLの個別の要素を必要とするインライン書式設定など。
  • @class値またはその他の考えられる手がかりを追加して、CSSスタイリングを可能に(先読みして)またはより便利にする。
  • ソースの順序に関係なく表示される要素の並べ替え。たとえば、図のキャプション要素を図の上部から図の下部に移動したり、メタデータ要素または属性を使用して表示されるコンテンツ(著作権ページや各記事または章の著作者など)を合成する。
  • ラッパー構造を追加して特定のフォーマット効果を有効にするか、スタイリングを簡単にする。
  • 作成されたさまざまなマークアップパターンを持つ要素のマークアップを標準化する。たとえば、リスト項目に段落要素を追加してCSSスタイルシートを単純化する。
  • CSSだけでは生成が困難または不可能なテキストを生成する。

またスタイルシートを実装する際、次の様な課題がありました。

  • 特定のレイアウト機能に関連する定義を、関連するW3C仕様の中で見つける。
  • AH Formatterが仕様で定義された特定の機能を実装しているかどうかを判断する。
  • 複雑なレイアウト要件においては、AH Formatterを使用した最適なソリューションを判断する。
  • 改ページを動的にコントロールする。

ほとんどのレイアウト要件では、CSSの開発は通常のCSS技術の範疇の単純な応用で可能でしたが、 次の複雑な要件を満たす必要がありました。

  • ページのfirst またはlast値を反映する必要がある柱 (ランニングヘッダとランニングフッタ) の要素の境界を越えたカウンターと変数の管理。
  • 改ページの管理。 改ページ制御のCSSセマンティクスは、XSL-FOほど明確ではない。特に、CSSには「keep together always」または「keep with next always」コントロールがない。 これにより、ページの下部にあるセクション見出しと、コンテンツが介在しないサブセクションの見出しの間など、残念な改ページが生じることがあった。改ページをより適切にコントロールするには、AHF拡張機能を使用する必要があった。
  • 幅の広いページ端領域のサイズとレイアウトの制御。ページ端領域のCSS設計では、単一の領域が端領域のほとんどまたはすべてを占めることを明確に許可していない。これにより、長いコンテンツ(たとえば、長いセクション見出し)を持つ右揃えまたは左揃えのヘッダを作成することが困難になっている。

Eliot Kimber氏はこれらの課題をCSSページ組版用にXMLを準備し、AH Formatterの拡張機能を用いて、クリアーしていきました。

発表資料ではこれらの課題をどのように解決したかを具体的なサンプルコードを示し説明を行っています。原文の他に、日本語翻訳版もWeb上にご用意でき次第、ここにお知らせいたしますので、ぜひご参照いただければと思います。


「技術書典7」に出展いたします。

来週 9月22日(日)に開催される「技術書典」(主催:TechBooster / 達人出版会)に向けて、最近、組版界隈で話題の Markdown(と CSS)を用いて、実際に技術同人誌『簡単!Markdown+CSSによる冊子本作り ―理論と実践―』を作成いたしました。当日販売いたしますので、ぜひお手にとってご覧ください。

『簡単!Markdown+CSSによる冊子本作り ―理論と実践―』の表紙

本書籍の内容については、先日、弊社ブログでご紹介しております。ご関心ございましたらご覧ください。
Markdown+CSS組版で冊子本(PDF)を作ってみる

◆ 技術書典概要
・開催日時:2019年9月22日(日) 11:00~17:00
・開催場所:池袋サンシャインシティ2/3F 展示ホールC/D(文化会館ビル2/3F)
・サークル名とブース番号:アンテナハウスCAS電子出版(き45D)
販売書籍
技術書典7

◆技術書典ご来場予定の方に

一般参加者は13時まで有償の整理券が必要です。ご注意ください。

整理券のご案内

整理券は1,000円で、3種類あります。

(1) Cホール(3階)から入場 11時~
(2) Dホール(2階)から入場 11時~
(3) Dホール(2階)から入場 12時~

弊サークルの場所は、展示ホールD(2F):き45Dです。

アンテナハウスCAS電子出版(き45D)

入場が13時過ぎると無償(ただし、待機列解消後)になります。Markdown本はたくさん印刷しましたので、まず売り切れはないと思いますので、遅くてもたぶん大丈夫なはずです。


Balisageで『Loose-leaf publishing using Antenna House and CSS』の発表

8月2日(金)米国Washington DCで開催された恒例Balisage会議にて米国の高名なコンサルタントであるEliot Kimber氏より「Loose-leaf publishing using Antenna House and CSS」と題した発表がありました。

原文はこちらにあります:

Loose-leaf publishing using Antenna House and CSS(Balisage: The Markup Conference 2019 July 30 – August 2, 2019)

ルーズリーフ出版は、PDFによるデジタルな配信が可能になるにしたがって消え去っており、唯一残っているのが、地方自治体の条例分野だそうです。

この分野でのサービスをしているMunicode社では、ずっとXMLベースの出版システムであるXPPを使用していました。配信のソースコンテンツをHTML5ベースで開発して、HTMLからPDFを作成するためにCSS組版を採用することになりました。Municode社の組版要求を満たすことができる世界で唯一のCSS組版エンジンがAH Formatterであったことから、白羽の矢が立つこととなりました。

しかし、AH Formatter自身には、ルーズリーフ出版機能はありません。そこで、コンサルタントであるEliot Kimber氏の出番となりました。さて、Kimber氏は課題にどのように立ち向かったのでしょうか。興味津々です。

しかし、今日はこれ以上ご紹介している時間がありません。続きは、また、機会をみてご紹介いたします。もちろん英語であれば、今すぐ原文をお読みいただけます。


[AH Formatter] Markdown形式の原稿を CSS組版により PDF文書に変換するための事例紹介

AH Formatter の導入事例紹介ページに有限会社フェリックス・スタイル様の事例「AH Formatter を用いた Markdown-PDF 変換事例紹介」を掲載しております。

事例紹介ページにある PDF文書では、Markdown形式の原稿を『AH Formatter』の CSS組版により、表紙や目次、ノンブルなどを備えた PDF文書へと変換するフローが詳解されております。

また、この事例紹介の PDF文書も Markdown原稿から作成されており、その作成に用いたソースファイル一式も GitHub にて公開しておりますので、実際に Markdown原稿から CSS組版を利用した PDF へのビルドをご体験いただけます。是非ご覧ください。

なお、主に海外の方に向けて、ソースファイルは英語版もご用意しております。
Markdown-PDF
https://github.com/2SC1815J/md2pdf/tree/en (English Version)
 
 
AH Formatter ロゴ

『AH Formatter』の評価版は以下のページよりお申し込みいただけます。是非、お試しください。
AH Formatter 評価版のお申し込み

XSL-FO の基本仕様と『AH Formatter』の拡張機能をお試しいただけるよう「サンプル FO 集」もご用意しています。

『AH Formatter』についてお問い合わせがございましたら sis@antenna.co.jp 宛てにご連絡ください。


AH Formatter V6.6 改訂2版 の強化内容

昨日、2018年12月6日に XML/HTML 自動組版ソフトのベストセラー『AH Formatter V6.6』のメンテナンスリリースとして改訂2版を公開しました。

AH Formatter ロゴ

基本的に改訂版では機能強化は行っておりませんが、今回は海外のユーザ様からご要望のあった次の機能に対応しました。

『AH Formatter』は主にバージョンアップのたびに機能強化や新機能の追加を行っていますが、”あったら便利な機能” も既に追加されていることがございますし、いくつかの機能を組み合わせたり工夫することで実現できることもありますので、どうぞお気軽にサポートにお問い合わせください。なお、未実装の機能であれば、ご要望として承り今後の開発の参考にさせていただきます。お問い合わせをお待ちしております。

ご購入前のお客様で『AH Formatter』についてお問い合わせがございましたら、sis@antenna.co.jp 宛てにご連絡ください。

 


CSS組版はどこまでいけるだろうか?

表題に関して、最近、参考になった話題をひとつ紹介します。併せてCSS組版の未来を少し考えます。

去る8月1日に、DITAユーザーズというメーリングリストに「CSS3 vs XSL-FO for PDF output」[1]という質問が投稿されました。

投稿者は、現在、SDL+AH XSL FormatterでDITAからPDFを作成している[2]とのことですが、次のようなストレートな質問をされました。

「XSL-FOは古くて頑丈です。CSSはひとあたりが良くて単純で、スタイルをWebと共有するのも簡単です。XSL-FOを使い続けることに未来がありますか? それともCSSに全面移行するべきでしょうか?」

XML組版といえば、ここ十数年XSL-FO一辺倒でしたが、CSSで組版できることへのアピールが増えてきました。製品もいくつかあります(弊社でも出しております)。このところ、DITAコミュニティでもCSS組版の話題が散見されるようになってきました。

この質問は、DITAユーザーズというディープなXMLユーザーのコミュニティで寄せられたもので、参加者は例えば書籍の組版をする人たちとは異なっています。しかし、投稿者の疑問はDITAユーザーに限らず、XMLやHTMLを使う人が共有されているものでしょう。

DITAユーザーズでは、直ちにクールな回答がいくつか寄せられました。

その中でもEliot Kimber氏の意見が参考になりました。Kimber氏は3月に来日されたのですが、その際に聞いたところ、「いま一番関心があるのはVivlioStylesのCSS組版」とのことで、大きな期待を寄せていました。そして、5月にサンフランシスコで開催されたCSSワーキング・グループのF2F会議にオブザーバーとして自ら参加したとのことです。氏のメーリングリストの意見を要約すると、次のようになります。

1. VivlioStyles、Prince、Antenna HouseのCSS組版は歩みを進めているが、CSSの印刷向けの機能が標準化されていないので、必然的にベンダー特有になっている。
2.CSS仕様に印刷向けの機能を入れることには、ブラウザベンダーが団結して反対しているので、標準化は難しそうだ。
3.CSSとXSL-FOの機能を比較してみれば、CSSではできないことがいろいろあることがわかるだろう。これは、だれも行ったことはなさそうだ。
4.CSSにはバージョンXというものはなく、モジュール毎に進化している。
5.ページ組版に特化したHTMLを作り、ブラウザのCSSとJavaScriptでそれを組版するのは確かに可能である。しかし、ブラウザとCSSが両方共進化している中で、それを実装してメンテナンスするのは容易ではないだろう。

氏の結論としては、予測可能な将来において、DITAコミュニティがXSL-FOに代えてCSS組版を採用するのは難しい、ということです。

CSSを組版に使うための根本の仕様は「CSS Paged Media Module Level 3」[4]です。これは1999年に「Paged Media Properties for CSS3」として最初のドラフトができてから何回となく改訂されています。最新は2013年3月版ですが、まだワーキングドラフトの段階から進んでいません。次のバージョンもEditor’s Draftとして用意されているところです。

新しいものを試してみたいという人はどこの世界にも一定数はいると思います。個人で試す範囲では、仕様がどうであろうとあまり関係は無いでしょう。しかし、その一線を超えて、実務の世界で積極的に使うにはまずCSS組版の仕様が勧告になることが前提になるでしょう。

現在のCSS組版は、各社それぞれが自己流の土台の上に築いている、というのが実態です。弊社は2006年からCSS組版の開発に取り組み、2009年に初版をリリースしました。CSS組版仕様の進展は、2006年に予想したよりも、残念ながら、遙かに遅かったと言わざるを得ません。その理由の一つに、CSS組版は、CSSの本流ではない、ということがあるのかもしれません。

弊社の立場としましては、CSSの仕様が勧告案(Candidate Recommendation)に進むのを待ちながら、着実に実装を進めていきたいと考えているところです。

[1] CSS3 vs XSL-FO for PDF output
[2] 同:Message 3
[3] 同:Message 7
[4] CSS Paged Media Module Level 3 W3C Working Draft 14 March 2013


AH CSS Formatterで作った本:『CSS Secrets』(Lea Verou)をチェック!

CSSについての解説書はたぶん数えきれないほどありますが、6月に発売された『CSS Secrets』の評判はかなりよさそうです。しかも、この本は弊社のAH CSS Formatterを使っているらしい!

O’ReillyからはPDF版とEPUB版も購入できます。AmazonはKindle版のみです。Kindle版はたぶんあまり読み易くないし、DRMがかかっているので買いたくありません。PDFにしようか、紙版にしようかと迷いましたが、ビジュアルな本は高くてもやはり紙でしょう。早速購入してみました。

書名:『CSS Secrets, Better Solutions to Everyday Web Design Problems』(英語)
著者: Lea Verou
発行所: O’Reilly Media 米国
発行日:2015年6月
ページ数:392

本書のタイトルは、Webデザインで日々発生する問題にどう対処するかについてです。但し、Web全体のデザインをどうしたら良いか、というものではありません。CSS仕様の項目をトピック的にとりあげて、CSS 2.1からCSSレベル3でどのように強化されたのかという観点の説明が主体です。例も、大きなコードではなく簡単なコードとその表示見本を示しています。仕様を作成する立場からの解説本という位置づけになるでしょう。

表紙

01e2d1f7ef2b51d5db79af8812d645905f785cd473

本のページは次のような内容です。

内容1

01327ef684cc6035a23dacb7112099ed765ad092c9

内容2

0120c504fdafc9d07727f9e13cb3f9627a54af0777

この本の制作方法について

この本の内容は、O’Reillyが定義するHTML Book標準のHTML5で書かれており、レイアウト、図、カラーなどはHTML+CSSでスタイル付けされているそうです。

本の制作はO’Reillyの提供するAtlasシステムを使っています。O’Reilly AtlasのPDFレンダラーはアンテナハウスのAH CSS Formatterが採用されています。

つまり、上のようなページは印刷用CSSでレイアウトを指定し、弊社のAH CSS FormatterでPDF化しています。

すごいですね!

CSS組版の実際

CSSでレイアウト指定して作られた本はこれが初めてではありません。例えば、アンテナハウスでPDFを制作した『日本語組版処理の要件』という本もCSS Formatterで制作しています。

HTML+CSSで本を作る、ということは技術的にはできているわけです。

残る大きな問題は、こうした手法が、どの位一般的に使えるか、また生産性がどうか、ということでしょう。『CSS Secrets』の著者であるLea Verouさんは、現在、W3CのCSSワーキンググループに招待されてInvited Expertとして仕様の策定作業に参加しているほどの人です。つまりCSSについて恐らく世界でも有数の専門知識をもっている人が、CSS組版レイアウトの限界に挑戦した(著者の言葉)本が『CSS Secrets』です。この著者だからできることで、誰でもすぐに真似できることではありません。

さて、この本の制作についての統計が載っています。

・内容HTMLは10,000行を超える
・レイアウトはSCSSで4,700行、SCSSから生成したCSSは3,800行

※SCSSというプリプロセッサを使って、SCSSの記法で書いたプログラムからCSSを生成している。最近は、Webページもほとんどこのような手法で作るようになっていると言われます。CSSをハンドコードするのはもはや少数派?

1冊の本のために3,800行の印刷用CSS(生成)しているのですが、これにどれだけの時間を労するものなのか?
『CSS Secrets』はTechyな著者によるTechyな挑戦と言えます。著者がかけた時間と熱意に脱帽です。

一方、プロが使う仕事のためのツールは生産性が重要な指標になります。

システムやツールを評価する観点として、InDesignなどのDTP方式と比べて生産性がどの程度かは、実用性を判断する上で大きなポイントです。

ちなみにアンテナハウスでは、Atlasと類似の本を作る仕組みとしてCAS-UBをサービスしています。CAS-UBはテキスト文字組主体の本に限れば、InDesignよりもはるかに高い生産性で本を作ることができます。ビジネス・ツールは生産性を向上できないと意味がないと思います。