You are on page 1of 13

SmartDoc サンプル

浅海 智晴

(http://www.netpassport.or.jp/˜wtasami )

1999 6 6

概要

このドキュメントは SmartDoc の機能をデモするためのサンプルです。 本文に加えて目次、参考文献、索引が自動生成されます。

目次

1 文章

1

2 リスト

1

2.1

HTML

1

2.2

LaTeX

1

3

2

3.1

HTML

2

3.2

LaTeX

3

4 脚注

3

4.1

HTML

3

4.2

LaTeX

3

5

3

5.1

HTML

4

5.2

LaTeX

4

6 プログラム

5

6.1 外部からの取り込み

5

6.2 内部での定義

6

6.3

HTML

6

6.4

LaTeX

6

7

コンソール

6

7.1

HTML

6

7.2

LaTeX

7

8 FYI

7

8.1

HTML

7

8.2

LaTeX

7

9 リンク

7

9.1

HTML

8

9.2

LaTeX

8

10 定義

8

10.1

HTML

9

10.2

LaTeX

9

11 インデクス

9

12 参考文献

9

12.1

HTML

9

13 その他

9

13.1

時間

9

14 フォーマット固有処理

10

1 文章

普通の文章はこのようになります。 SmartDoc ではセンテンスの区切りは HTML のようなタグではなく、LaTeX 方式の空白行を用います。 センテンスの途中に改行があっても、論理的な改行とはみなされないのは

HTML LaTeX と同様です。

2 リスト

SmartDoc のリストは 3 種類あります。 最初のリストは点。

最初のリスト

次のリスト

その次のリスト

次のリストは数字。

1. 最初のリスト

2. 次のリスト

3. その次のリスト

次は定義。

用語甲 最初の説明

用語乙 次の説明

用語丙 その次の説明

2.1 HTML

点、数字、定義のリストはそれぞれul , ol , dl に変換されます。

2.2 LaTeX

点、数字、定義のリストはそれぞれitemize , enumerate , descrip-

tion に変換されます。

1

3

SmartDoc の表の表現力は HTML と同等です。表 1 ではrowspancolspan

を駆使した表組み、align によるテキストの配置の指定を行っています。

1: 表のサンプル

カラム (align=left,class=key) カラム (align=center) カラム (align=right) データ データ データ
カラム (align=left,class=key)
カラム (align=center)
カラム (align=right)
データ
データ
データ
データ (align=center)
データ (rowspan=2)
データ (align=right)
データ (align=left)
データ
データ
データ (colspan=2)
データ (rowspan=2,colspan=2,align=center)
データ
データ
データ (colspan=3,align=right)

また表 2 に示すように木構造の表を簡単に作成するための機能も持ってい ます。

2: 木構造の表

大分類 中分類 小分類 動物 哺乳類 犬 猫 馬 爬虫類 蛇 蛙 昆虫 蜻蛉 蝶 蜂
大分類 中分類 小分類
動物
哺乳類 犬
爬虫類 蛇
昆虫
蜻蛉
蟋蟀
植物
針葉樹 杉

3.1

HTML

SmartDoc の表はほぼそのまま HTML の表に変換されます。

2

タグに指定したclass key がそのまま HTML のタグに反映されるので、 これに対して CSS で表示の属性を指定すれば OK です。 td タグのclass=key Salmon 色の背景色を使う ように設定しています。

3.2 LaTeX

LaTeX の表機能はかなり制限がありますが、SmartDoc ではできるだけ忠実 に表組みを試みます。シンプルな表ならほぼ大丈夫です。 ヘッダの文字とclass key のカラムの文字は強調のためボールド体にな ります。

4 脚注

文章に脚注 1 をつけることができます。

4.1 HTML

脚注はセクションの後ろにまとめられ、文書全体の通し番号が割り振られ

ます。

4.2 LaTeX

脚注は footnote マクロによりページの下に表示されます。

5

HTML では GIFLaTeX では PostScript を取り込むことができます。

図に ID をつけるとアンカーによるリンクを設定することができます。ID id 属性を使いますが、id 属性を指定せずに title 属性を指定すると title 属 性の値が id 属性にも流用されます。 図の指定はファイル名のコンポーネント部分を指定する方法と、サフィッ クスまで含める方法の2つがあります。 最初の例 [1] はコンポーネント部分を指定する方法です。タグにはfigure

と指定していますが、HTML ではfigure.gifLaTeX ではfigure.eps

に読みかえられます。

1 脚注はこのようになります。

3

Image Sample

HTML

:GIF/JPEG

LaTeX

:PostScript

Image Sample HTML :GIF/JPEG LaTeX :PostScript 図 1: 図の例 (src=”figure”) 次の例 [ 図 2]

1: 図の例 (src=”figure”)

次の例 [2] はファイル名をサフィックスを含めて指定する方法です。ファ イル名を個別に指定するので、フォーマットごとに名前が異なっていても大 丈夫です。

5.1 HTML

図はfigure タグで表示されます。 使用できるイメージの種類は GIF または JPEG となります。

5.2 LaTeX

印刷用コマンドにはdvi2ps dvips を想定しています。

dvi2ps を使う場合にはeclepsf マクロが、dvips を使う場合にはincludegraphics

マクロが、図の取り込みに使用されます。

4

Image Sample

HTML

:GIF/JPEG

LaTeX

:PostScript

Image Sample HTML :GIF/JPEG LaTeX :PostScript 図 2: 図の例 (src=”figure.eps, figure.gif”) 6

2: 図の例 (src=”figure.eps, figure.gif”)

6 プログラム

プログラムと本文の内容を常に同期させておくことは結構手間のかかる作 業です。 動作確認の済んだプログラムをわざわざ文書内に取り込むのはあまりにも めんどくさいので SmartDoc ではプログラムを外部から取り込む機能を用意 しました。 もちろん本文内にプログラムを記述することもできます。 プログラム内のコメントで特別な記述を行うと、取り込んだテキストの該 当箇所を強調することができます。

6.1 外部からの取り込み

リスト 1: プログラム例

public class Sample

5

public static void main(String[] args) System.out.println("Hello");

6.2 内部での定義

なお内部で定義する場合には XML の標準エンティティをエスケープしな ければならないことに注意が必要です。

リスト 2: プログラム例 (その 2)

public class Sample public static void main(String[] args) System.out.println("Hello");

6.3 HTML

ユーザの入力部分の強調はem タグによって行われます。

6.4 LaTeX

ユーザの入力部分の強調は下線によって行われます。

7 コンソール

SmartDoc はコンソール上でのオペレーションを記述するための機能を用意 しています。 ユーザの入力部分は強調されます。

コンソールもプログラムと同じようにして外部のファイルを取り込むこと

ができます。

7.1 HTML

ユーザの入力部分の強調はkbd タグによって行われます。

6

C: tmp>SmartDoc sample.sdoc Copyright (c) 1998 ASAMI, Tomo- haru. All rights reserved. SmartDoc Version 0.1.19981030 by ASAMI at Yokohama

3: コンソールの例

7.2 LaTeX

ユーザの入力部分の強調は下線によって行われます。 ASCII pLaTeX 用マクロ ascmac を使えば、コンソールの中身がそれらしい 枠で囲まれます。

ascmac を使うためにはlatex2e.box AscmacLaTeX2eBoxhandler

を指定します。

8

FYI

雑誌記事のコラムのような囲み記事を FYI として使うことができます。

8.1 HTML

HTML の場合には、その場に出力されます。(そのうちハイパーリンク化す るかもしれません。)

8.2 LaTeX

LaTeX の場合には、ページの上か下、ページに収まりきらない場合には別 ページに出力されます。 ascmac を使えばノートのような形状のボックス内に記述されます。

9 リンク

リンクではリンクの対象に応じて表示が最適化されます。

ちょっとした情報

本文を補足する情報をここにいれる。

7

1 に取り込んだ図を示します。

図の例 [1] に取り込んだ図を示します。

1 に取り込んだ表を示します。

サンプルの表 [1] に取り込んだ表を示します。

3 に取り込んだコンソールを示します。

コンソール上での実行 [3] に取り込んだコンソールを示します。

リスト 1 に取り込んだプログラムを示します。

プログラムソースの例 [リスト 1] に取り込んだプログラムを示します。

http://www.netpassport.or.jp/˜wtasami にアクセスしよう。

あさみくんのほーむぺーじ (http://www.netpassport.or.jp/˜wtasami) にア

クセスしよう。

またリンクに href を指定しなかった場合には、自動的にリンクを張ること もできます。 ここでは表 3 を参照してみます。

3: リンクのデモの表

9.1 HTML

リンクのデモ

基本的には通常のアンカータグと同様の動きをします。

文字列が指定されていなかった場合にはリンク対象に合わせて適切な文字

列を補います。

9.2 LaTeX

文字列が指定されていなかった場合にはリンク対象に合わせて適切な文字

列を補います。

10

定義

では用語の定義を指定することができます。 ここでは SmartDoc を定義してみました。

8

10.1

HTML

定義された文字はボールド体で表示され、索引にも定義としてリンクされ

ます。

10.2 LaTeX

定義された文字はボールド体で表示されます。

11 インデクス

SmartDoc ではインデクス用のラベルを自動的に本文中に設定する機能を 持っています。 このサンプルでは以下の 3 つがインデクスキーワードとして指定されてい ます。

SmartDoc

マクロ

タグ

12 参考文献

SmartDoc では参考文献の参照を行う機能を提供しています。

SmartDoc の開発では特に [1, XML 完全解説][3, 日本語 LaTeX2e ブック

][5, LaTeX2e 階梯] がとても参考になりました。この他に [2] も頻繁に参照 しました。

12.1 HTML

HTML ではまだ参考文献機能を実装していません。

13 その他

13.1 時間

文書の中に SmartDoc によって生成された時間を埋め込むことができます。 HTML によるページ作成に便利だと思います。

ちなみにこの文書が生成された時間は Sun Jun 06 12:00:19 JST 1999 です。

9

14 フォーマット固有処理

SmartDoc では SmartDoc の文法にはない各フォーマットの固有処理を直接 記述することができます。 LaTeX をやっている人にはおなじみの L A T E X です。どう表示されましたか? 数式の場合はこうなります。

プログラムやコンソールと同じようにしてフォーマット固有の記述がされ たテキストを外部から取り込むこともできます。 特に HTML をエスケープしなくてもすむので直接 SmartDoc の 文章に埋め込むよりかなり楽になります。

L A T E X の複雑な数式も大丈夫。

参考文献

[1] XML/SGML サロン. XML 完全解説. 技術評論社, 1998.

[2] シーズ. 改定新版 HTML ポケットリファレンス. 技術評論社, 2 , 1998.

[3] 中野賢. 日本語 LaTeX2e ブック. アスキー, 1996.

[4] 村田真. XML 入門. 日本経済新聞社, 1998.

[5]

藤田眞作. LaTeX2e 階梯. アジソン・ウェスレイ・パブリッシャーズ・ジャ

バン, 1996.

10

索引

SmartDoc, 1–3, 5, 6, 8–10

タグ , 1–4, 6, 8, 9

マクロ, 3, 4, 7, 9