カテゴリー別アーカイブ: AH Formatter

[書籍紹介] MathML 数式組版入門 英語版の販売開始

この度、2019年11月12日に「MathML 数式組版入門」の英語版「An Introduction to MathML Typesetting」の販売を開始いたしました。

AH Formatter

Amazon.com より販売中となっています。
An Introduction to MathML Typesetting

こちらの書籍「An Introduction to MathML Typesetting」は 2017年8月に発売した「MathML 数式組版入門」をベースにしたもので、海外の皆さんにも幅広く利用していただこうと翻訳に着手し販売に至りました。翻訳にあたっては海外の皆さんにご理解いただけるよう表現の全般的な見直しも行いました。

MathMLとは?と思われた方、これまで当ブログで MathML について紹介した記事を以下にまとめていますので、是非ご覧ください!
[AH Formatter] MathML への取り組み

日本語版の「MathML 数式組版入門」の販売も継続しております。
書籍は次の販売店よりお買い求めいただけます。
販売店:
Amazon.co.jp
三省堂書店
楽天ブックス
honto

「MathML 数式組版入門」は全文を PDF形式で無料公開していますので、ご活用ください。
MathML 数式組版入門(PDF形式)
 
 
AH Formatter ロゴ

本書や MathML の組版に使用した『AH Formatter』は以下のページより評価版をお申し込みいただけます。こちらも合わせてお試しください。
AH Formatter 評価版のお申し込み

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


マークダウン原稿を AH Formatter を使って PDF にする

自動組版を使って製本するにあたって、原稿を何で書くかという選択は後に使う労力を決定する重要な要素です。
その執筆形態はさまざまなものがあります。
例としては XML や HTML がありますが、これらはタグを駆使して書く必要があります。
これらに対して、マークダウンは基本的にタグを使いません。
マークダウンで原稿を書いて、それを製本に使用できれば執筆作業が簡便化されるかもしれません。

マークダウン原稿から AH Formatter 経由で製本用の PDF を作成することが可能です。
あくまで一例なので、この方法が絶対というわけではありません。

その手順の概要としては
1. 原稿をマークダウンで書く。
2. マークダウン原稿を HTML に変換。
3. HTML を XSLT で加工。
4. AH Formatter を使い HTML+CSS で PDF出力。
という手順です。

今回はその手順をごく大まかに説明します。

まず原稿をマークダウンで書きます。
その原稿を Node.js の markdown-it というプラグインを使って HTML化します。
次に目次や索引を XSLT で付与します。
最後に、できた HTML と CSS を使って AH Formatter で組版します。
そうすると冊子本PDF が出来ます。

この手順により冊子本を作成する手段にマークダウンというもう一つの選択肢が出来ました。

今回は個々の手順をまったく掘り下げませんでしたが
アンテナハウスがこの実践を本にまとめたものがあるのでご興味のある方はチェックしていただけると幸いです。
→ 「簡単!Markdown+CSSによる冊子本作り -理論と実践-

販売は PDF版のみですが、300円(税抜)と非常にお求めやすくなっております。
 
 
AH Formatter ロゴ

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

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


ドロップキャップ

ドロップキャップとは段落先頭の文字を大きく組むことで、書籍の組版ではよく行われています。しかし、AH Formatter V6 にはドロップキャップの機能はありません。XSL-FOやCSSに勧告された仕様はありませんが、CSSにはドラフト仕様があります。

4. Initial Letters

そこには次のようなサンプルが最初に示されています。

sample-1
これをFOで強引に組むには、いろいろやり方がありますが、例えば次のようにしなければなりません。

<fo:block>
<fo:float axf:float-x="start" axf:float-wrap="wrap">
<fo:block-container height="5em" margin-top="-1.67em">
<fo:block font-size="5.53095em">É</fo:block>
</fo:block-container>
</fo:float>tudiant (au féminin étudiante) est un mot dérivé du latin ...

ここでは、font-size と margin-top などを手計算で設定して大きさと位置を合わせています。これらは、ドロップキャップが次のように配置されるように計算されています。cap-height や baseline の位置は、使用しているフォントによって決まります。

initial-letters-cap-height
AH Formatter でドロップキャップを自動組版するためには、これらの値を自動的に計算することが必要になります。そして、CSSのドラフトに合わせると次のように指定できればよいでしょう。

<fo:block axf:initial-letters="3">Étudiant (au féminin étudiante) est un mot dérivé du latin ...

これはもっとも単純な例で、実際のドロップキャップはこんな単純ではありません。<fo:float>を利用する実装では、本当の<fo:float>が絡んできたときの制御はとても複雑になります。CSSのドラフトは、行の高さが一定であるという暗黙の前提があります。行の高さが途中で変化するようなケースでは、結果を利用者が予測できず実装も極めて複雑になるでしょう。

ドロップキャップは、次期 AH Formatter で対応される予定です。


11月14日(木)Markdownセミナー開催日が迫りました。

今週の木曜日に新宿・大久保にてMarkdownのセミナーを計画しています。

セミナーのご案内はこちらより:
「Markdown + CSS/TeXで冊子本を作ってみた 」

まだ席に余裕がありますので、関心をお持ちの方はぜひご参加ください。

本セミナーでアンテナハウスからは『簡単! Markdown+CSSによる冊子本作り―理論と実践』という冊子を制作した体験を主として説明致します。

Markdownの文法については、冊子ではグルーバーの元祖Markdownを基本にしていましたが、その後、他の文法も調べたところ、現時点ではCommonMarkの方が標準として適切と判断するにいたりましたので、セミナーではCommonMarkの文法を基本にご説明いたします。

CommonMarkと元祖Markdownの違い

CommonMarkは、グルーバーのMarkdownの考え方に基づいて、これをより厳格に規定しようという提案です。

2019年9月現在、CommonMark Version 0.29が公開されています。仕様書はジョン・マクファーレン氏(カリフォルニア大学バークレー校哲学教授。汎用マークアップ変換ツールPandocの開発者でもあります。)によるものです。CommonMarkは、元祖Markdownの規定が曖昧な箇所を明確化し、規定に不備がある箇所を補っています。元祖Markdownの考え方を尊重しながらも、元祖Markdownの規定では不合理と考えられる箇所については、説明を付けた上で元祖Markdownとは異なる規定を導入している箇所があります。

MarkdownはASCII句読点文字と空白や空行の組み合わせを使ってマークアップしたテキストをタグで表現した構造化文書に変換します。その際の解釈の一元性を保つ必要があります。例えば、ASCII句読点文字がマークアップ用なのか地のテキストの一部なのか、二つの用途のどちらを優先して解釈するか、などを細かく決めなければなりません。このため、CommonMarkの規則はかなり複雑になっています。CommonMarkでは元祖Markdownのマークアップ機能を基本としながらも、マークアップの付け方や解釈を大幅に強化しています。マークアップに使用するASCII句読点文字は同じでありながら、その使用方法と解釈が大幅に変更になっているものがあります。

CommonMarkの仕様にある文法は非常に微に入り細を穿っています。そのためエンドユーザがCommonMarkの規則を覚えて使うのは困難であり、仕様書はエンドユーザ向けというよりもMarkdown処理系の開発者向けといえます。エンドユーザはリアルタイム・プレビューアを使ってマークアップを解釈した結果を、HTML表示で確認しながらマークアップしていくのが良いでしょう。

追加されたマークアップ機能

CommonMarkは、元祖Markdownの機能をいくつか拡張しています。元祖Markdownのマークアップ機能に対して、CommonMarkで追加された機能は、①コードフェンス、②番号付き箇条書きの区切り記号を元祖Markdownの ‘.’ のみに加えて ‘)’ を使用可能に、③ショートカット型の参照リンクの追加、④強制改行文字の追加です。

CommonMarkで追加されたマークアップ機能一覧
構造 HTML要素 マークアップ文字
コードフェンス pre code ```または~~~で囲まれた範囲 ```
プログラムコード行
```
番号付き箇条書きの区切り文字 ol li 数字+’)’+空白で番号付き箇条書き 1) 番号箇条項目
参照リンク(ショートカット型) a href=”” [リンクテキスト]
別の箇所に
[リンクテキスト]: /uri
[foo]
別の箇所に
[foo]: /uri “title”
強制改行 br 強制改行したい行末に ‘\’ この行末に強制改行\

海外出展情報 その2

10月14から17日にロンドンで開催された S1000D User Forum は、航空宇宙および防衛分野の技術文書を作成する多くのアンテナハウスのパートナーおよび顧客と会うことができました。アンテナハウスは卓上展示とベンダーとしてのプレゼンテーションを行いました。フォーラムには世界中から300人以上の航空宇宙および防衛分野の専門家が集まりましたが、その出席者の多くに弊社の Antenna House XSL Formatter を使用していただいています。また同じく弊社の製品である Regressions Testing System と、OSDC (Office Server Document Converter) の PDF を SVG に変換する機能に大きな関心が寄せられました。航空宇宙および防衛分野で使用される技術文書においては、依然としてページ出力が非常に重要とされていますが、現在の目標はその文書をタブレット上に表示することです。SVG になぜ関心があるのかというと、そのページを表示する速度にあります。

プレゼンテーションでは Antenna House XSL Formatter を使用してS1000D サンプル文書をフォーマットし、PDF と SVG 出力を作成しました。次に Regressions Testing System のデモンストレーションでは2つのディレクトリにある8つのペアになっている文書(合計で2,000ページ)の内容の比較を行いました。 デモンストレーションでは各ペアの文書の全ての相違点を2分以内に発見することができました。


海外出展情報 その1

10月にAntenna Houseは、Xplor Webinarとロンドンで開催された S1000D User Forum / ILS specification day に参加しました。

今回はXplor Webinarのご紹介をしたいと思います。

10月16日に開催された Xplor International が主催する教育ウェビナーで、弊社のシニアアーキテクトであるトニー・グラハムはAccessibility Mattersを発表しました。多くのアンテナハウスの顧客とパートナーがこのウェビナーに参加し、Xplorのメンバーもこの話題に興味を持っていました。このウェビナーはデジタルの世界においてアクセシビリティがいかに、またなぜ重要であるかを学ぶ絶好の機会でした。

プレゼンテーションの中で、トニーはHTML、Web Content Accessibility Guidelines(WCAG)、およびPDF / UA(Universal Accessibility)標準のアクセシビリティ機能を調査しました。アクセス可能なHTMLやPDFを作成するために必要な情報は、通常ソースXMLに含まれているか、ソースXMLから推測できるため、ユーザーの行動よりもファイル形式に重点を置いて調査しています。ただしXMLそのものをユーザーが目にすることはほとんどありません。このウェビナーでは、神経障害や失読症などの学習障害のある人がアクセスしやすいように、コンテンツのスタイリングが持ついくつかの側面についても調査しました。

プレゼンテーションはこちらのYouTubeからご覧いただくことができます。

https://www.youtube.com/watch?v=X00icPURCvw&feature=youtu.be


Markdownセミナーを開催します

Markdownの活用例として「Markdown + CSS/TeXで冊子本を作ってみた ~仕組みと実践方法のレクチャー~」を開催します。

日 時: 2019年11月14日(木)
会 場: ITS健保センター大久保 1F A
住 所: 〒169-0073 東京都新宿区百人町2丁目27ー6
(関東ITソフトウェア健康保険組合)
イベント詳細: https://connpass.com/event/149490/
申込みページ: https://connpass.com/event/149490/

セミナーでご紹介する内容は、以下の予定です。

  • 第一部 書籍の原稿としてMarkdown を使う
    【LaTeXとPandoc による事例】
    LaTeX は、それ自身もドキュメントの構造化を支援する記法を備えていますが、最近ではより簡便な記法としてMarkdown を採用し、主にPDF 生成のためのエンジンとして使われることも増えています。本セミナーでは、そのような事例のひとつとして、LaTeX とPandoc を併用したMarkdown による書籍制作システムについて紹介します。
  • 第二部 簡単! Markdown+CSSによる冊子本作り―理論と実践
    【Markdownでどうやって原稿を書くか】
    Markdownで冊子本の原稿を書く方法を説明します。Markdown(CommonMarkを中心に)を使って原稿を書く方法と、冊子本を記述するのに必要な機能を検討します。Markdownでは不足する機能についてどのように対処するべきかを考えます。実際に冊子本の原稿を執筆した例を解説します。
    【Markdown原稿をPDFにするにはどうするか】
    マークダウンで作成した原稿から冊子本印刷用PDFを生成するまでの流れを解説します。コマンドラインでNode.js用のスクリプトを使用して原稿をHTMLに変換し、XSLTで目次と索引を自動生成したものをCSSでレイアウト指定してAHFormatterでPDFを出力する実践例の紹介となります。

また、「AH FormatterとCSSを使ったルーズリーフ出版」と AH Formatter に関する最新情報をお伝えします。

是非、ご参加ください。

〒103-0004
東京都中央区東日本橋2-1-6 東日本橋藤和ビル5F
アンテナハウス株式会社
◆ご購入に関するお問い合わせ(祝日を除く月~金曜日9:30~18:00)
TEL : 03-5829-9021
FAX : 03-5829-9023
E-mail: sis@antenna.co.jp
URL : https://www.antenna.co.jp/


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

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

この記事の続きです。
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)

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

https://www.antenna.co.jp/AHF/ahf_jirei/pdf/201909/Loose-leafPublishingUsingAntennaHouseAndCSS-J.pdf


「ソフトウェア&アプリ開発展【秋】」(通称 SODEC ) 出展

2019年10月23日から開催される「ソフトウェア&アプリ開発展【秋】」(通称 SODEC ) にアンテナハウスは今年も出展致します。

PDFの作成から閲覧や加工・編集しPDFの再利用を目的としたツールをご紹介いたします。PDFは作って見るだけではありません。くっつけたり離したり、お望み通りに加工・編集が可能です。
こんなことが出来ないかなとか、出来たらいいなといったご要望があればご相談に乗ります。
他にもXMLなどドキュメント作成や変換などのお手伝いをいたしますので、ぜひともアンテナハウスブースへお立ち寄りください。

■ ご紹介製品

  • PDF Tool API
    ページ結合・分割、しおり・注釈編集・セキュリティ付与などのPDF 加工機能を行うAPIです。
    ブラウザからの呼び出しでの利用方法をデモします。
  • AH Formatter
    XSL-FO を忠実に実装し、日本語組版など多くの拡張機能で商品レベルの書籍組版ができます。
  • PDF Driver
    GDI 型の仮想プリンタドライバと、これを制御する付属APIのセット製品です。
  • Office Server Document Converter
    Microsoft Officeがインストールされていない環境でも、Word/Excel/PowerPoint等の文書をPDFや各種画像ファイルへダイレクト変換するライブラリです。
  •  PDF Server
    サーバ上で画像データやMSOffice文書からPDFを生成し、イントラネットで配信したり、各種グループウェアへ自動登録を行う開発不要のサーバソリューションです。
  • PDF Viewer SDK
    PDFの表示と編集、印刷のコントロールを行う専用アプリケーション開発用ライブラリです。

■ 展示会詳細とアンテナハウスブース

「ソフトウェア&アプリ開発展【秋】」
会 期:2019年10月23日(水)~2019年10月25日(金)
10:00~18:00(25日のみ17:00終了)
場 所:幕張メッセ
展示製品: https://www.antenna.co.jp/system/
★アンテナハウスブース:14-25


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上にご用意でき次第、ここにお知らせいたしますので、ぜひご参照いただければと思います。

その3 >>


Pages: 1 2 3 4 5 6 7 8 9 10 ... 22 23 24 Next