# SmartDoc

Ver. 1.0
浅海 智晴
ASAMI, Tomoharu
http://www.netpassport.or.jp/~wtasami
2002年2月4日
Feb. 4, 2002

# SmartDocとは

# About SmartDoc

SmartDocはXMLをベースにしたドキュメント生成ツールです。 SmartDoc形式のドキュメントをHTML4.0, HTML3.2, LaTeX2e, JavaHelp, プレインテキストに変換します。 同一のドキュメントでWWWによる公開と、LaTeXによる高品質印刷を行うことが できます。 SmartDoc is the XML utility to create documents. It can convert SmartDoc format document to HTML4.0, HTML3.2, LaTeX2e, Java Help and plain text. By using the same document , possible to open by WWW , and high quality printing by LaTeX.

# SmartDocの特徴

# Features

- XMLベースのマークアップ言語
- HTMLライクな文法で記述したドキュメントをHTML4.0、HTML3.2, LaTeX2e, JavaHelp, プレインテキストに変換

- HTML4とLaTeX2eのタグをベースにドキュメント記述に必要なタグを用意
- HTML4、LaTeX2eそれぞれの不足機能はSmartDocが補完
- 目次、参考文献、索引の生成

- HTML4ではSmartDocが生成
- LaTeX2eではLaTeX2eの機能を使用

- 表

- HTML4ライクの文法(rowspan, colspan, align)でLaTeX2eの表もゲット

- 図

- HTML4.0/3.2生成ではGIF, LaTeX2e生成ではEPSを取り込む

- プログラム

- プログラムソースコードの取り込み機能
- マニュアル作成に便利

- コンソール

- コンソール出力の取り込み機能
- マニュアル作成に便利

- HTML4.0/3.2、LaTeX2eの固有機能の埋め込み機能

- LaTeX2eの数式もこの方法で記述可能

  数式に関してはいずれMathML(XMLの数式向け拡張文法)でサポートする予定

- マルチロケール機能

- 同一ドキュメント内に複数のロケールのコンテンツを記述
- フォーマット変換時にロケール向けに整形
- I18Nアプリケーションのマニュアル作成に便利

- マルチリンガル機能

- Unicodeを使うことによって複数言語を同時に記述可能
- 言語はXMLのxml:lang属性で指定

- Mark-up language based on XML
- Convert the documents written by the format like HTML to HTML4.0, HTML3.2, LaTeX2e and plain text

- It is ready the tag to describe the ducuments based on the tag of HTML4 and LaTeX2e
- SmartDoc supports uncomfortable matter of HTML4 and LaTeX2e
- Generate table of contents, bibliography, index automatically

- In HTML4, SmartDoc handles
- In LaTeX2e, use LaTeX2e function

- Table

- It can get LaTex2e table by the format like HTML4 (rowspan, colspan, align)

- Graphic

- HTML4.0/HTML3.2 mode : GIF
- LaTeX2e mode : EPS

- Program

- The getting in function of program source code
- To manual preparation convenient

- Console

- The getting in function of console output
- To manual preparation convenient

- Multi-locale

- Contents of plural locales are able to be described into the same documents
- Restoration for locales at the time of format transformation
- To the manual preparation of an I18N application convenient

- Multilingual

- Possibility that describe a plural language simultaneously by using Unicode
- Language designated with xml:lang attribute of XML

- HTML4 and LaTeX2e individual function of insertion

- The formula of LaTeX2e is described by this method as well

  The formula will be supported by MathML(XML expand formula)

## Mark up language function comparison

| SmartDoc | DocBook | LinuxDoc | HTML | LaTeX | RTF | プレイン | Plain
--- | --- | --- | --- | --- | --- | --- | --- | ---
論理構造 | Logical structure | A | A | A | B | A | ? | x
コンバート | Convert | A | B | A | C | x | ? | C
目次の自動生成 | TOC automatic generation | A | A | A | x | A | ? | x
索引の自動生成 | Index automatic generation | A | A | ? | x | A | ? | x
参考文献の自動生成 | Bibliography automatic generation | A | ? | ? | x | A | ? | x
用語集の自動生成 | Glossary automatic generation | A(Plan) | ? | ? | x | x | ? | x
RDFの自動生成 | RDF automatic generation | A(Plan) | x | x | x | x | x | x
CDFの自動生成 | CDF automatic generation | A(Plan) | x | x | x | x | x | x
マルチリンガル | Multilingual | A | ? | ? | B | x | x | B
マルチロケール | Multi locale | A | x | x | B | x | x | x

A
  フルサポート
B
  実用レベルサポート(一部制限付き)
C
  制限付きで可能
?
  不明
x
  非常に困難

A
  full
B
  Practical use level(minor restriction)
C
  Possibility with a restriction accompaniment
?
  Unknown
x
  Difficult

# インストール

# Install

インストールディレクトリに入っているsdoc(UNIX)または sdoc.bat(Windows)を適当にいじってください。 Customize sdoc(UNIX) or sdoc.bat(Windows) included in the installation directory properly.

# 実行方法

# How to use

C:\tmp>sdoc foo.sdoc

# Status

現在のバージョンのフォーマットはまだ安定していません。 このためDTDはまだ提供されていません。

実用上問題なく動作しますが、マニュアルはまだ完備されていません。

The format of this version is not stabilizing. Because of this DTD has not been offered yet.

This version runs without any problem on practical use. However the manual has not been equipped.

# Thanks

- XMLパーサにはXerces Java Parser 1.2を使用しています。
- XSLTプロセッサにはXalan-Java version 1.2を使用しています。
- 正規表現エンジンにはSavarese.OrgのPerlTools-1.2を使用しています。
- 桜井雅史さん提供のJavaソースのシンタクスハイライト機能を使っています。
- 桜井雅史さん提供のTeX/MathML変換機能を使っています。

- Xerces Java Parser 1.2 is being used for a XML Parser.
- Xalan-Java version 1.2 is being used for a XSLT Processor.
- PerlTools-1.2 of Savarese.Org is being used for a regex engine.
- SAKURAI, Masashi provides a Syntax hilight facility for Java source.
- SAKURAI, Masashi provides a TeX to MathML translator.