Top > MyPage
 

SmartDocドキュメント

SmartDocとは

SmartDocはドキュメント指向のXMLフォーマットとこのフォーマットから各種ファイルを生成する処理系の総称であり、以下の要件を満たすことを重点ポイントとしている。

  • Webパブリッシング
  • 高品質印刷
  • 国際化
  • 技術ドキュメント指向
  • XML技術

SmartDoc導入

SmartDocを動作させるには、Javaの実行環境が必要であるので、事前にJavaの実行ができることを確認しておく必要がある。

Sun MicrosystemsのJavaサイト

SmartDocインストール

The SmartDoc Project

上記サイト、ダウンロードページよりダウンロードする。

zipファイルではあるが、アーカイバで展開することを意図していないので注意。

必ず、このようにjavaコマンドでインストーラを起動する。

    > java -jar smartdoc-1.1.zip

実行すると、インストールディレクトリなどを訊かれるので、入力する。

デフォルトで良い場合は、そのままリターン。

ダウンロードページに詳細があるのでそちらをみること。

基本的な使い方

sdocコマンド

sdocコマンドの基本的な使い方は、コマンドの引数としてSmartDocファイルを指定するというものである。例えば、sample.sdocというファイルをつくった場合は次のようになる。

> sdoc sample.sdoc

これで、このディレクトリにsample.htmlができる。

バージョン表示、ヘルプ表示

バージョンの表示にはversionオプションを指定。

> sdoc -version

ヘルプの表示にはhelpオプションを指定。

> sdoc -help

formatオプション

SmartDocでは、同一のソース文書から、用途に応じて複数のターゲット文書を出力し分けることができる。SmartDoc 1.0では以下のターゲットの出力をサポートしている。

  • HTML 4.0
  • HTML 3.2
  • LaTeX2e
  • プレインテキスト
  • JavaHelp 1.0
  • PureSmartDoc 1.0

このオプションで指定しない場合、デフォルトでHTML 4.0である。

例えば、texファイルに変換したい場合は次のように。

> sdoc -format:latex2e sample.sdoc

文章の入力

入力方法が2種類ある。

・パラグラフタグ
HTMLと同様にパラグラフを入力するためのタグとしてpタグがある。
・自然入力
LaTeXライクな入力方法。

表の入力

HTML4.0と同様にtr, th,tdタグを使って表を記述するのが基本となっている。

<table>
<thead>
<tr>
  <th>カラム1</th>
  <th>カラム2</th>
  <th>カラム3</th>
</tr>
</thead>
<tfoot>
<tr>
  <th>フット1</th>
  <th>フット2</th>
  <th>フット3</th>
</tr>
</tfoot>
<tbody>
<tr>
  <td>データ1-1</td>
  <td>データ1-2</td>
  <td>データ1-3</td>
</tr>
<tr>
  <td>データ2-1</td>
  <td>データ2-2</td>
  <td>データ2-3</td>
</tr>
</tbody>
</table>

複雑な表ならそちらの方がいいが、このくらいの簡単な表を作る場合はCSVによるデータ入力の方が楽である。次のような書き方で、同様の表になる。

<table>
<thead>
カラム1,カラム2,カラム3
</thead>
<tfoot>

フット1,フット2,フット3
</tfoot>
<tbody>
データ1-1,データ1-2,データ1-3
データ2-1,データ2-2,データ2-3
</tbody>
</table>

リストの記述

HTMLと同じ以下の3つのリストタグがある。

  • ul
  • ol
  • dl

ulは番号なしのリスト、olは番号つきのリスト、dlは説明つきのリストを作るために使用する。

ulとolのリストの項目はliタグを使う。XMLなので閉じなければいけない事に注意。

dlではdtタグとddタグによって要素を記述。

それぞれ、使い方は、htmlとかわらない。

ハイパーリンク

aタグによるハイパーリンク

HTMLと同様にaタグでハイパーリンクを行うことができる。

<a href="http://www.yahoo.co.jp/">ヤフージャパン</a>

aタグの中のテキストを省略できる。

<a href="http://www.yahoo.co.jp/"/>へのリンク

href属性の子弟がそのままテキストとして表示される。

フォーマットによる違い

HTML4, HTML3, JavaHelpではそのままハイパーリンクとして実現されるが、LaTeX2eではタグ内の文字列とリンク先URLが以下のように併記される形になる。

ヤフージャパン[http://www.yahoo.co.jp/]