#pragma section-numbers off
[[TableOfContents]]
= 概要 =
["DocBook"]があまりにひどいのでほかの文書記述用XML形式を探していたときに見つけたもの。
とりあえず日本語とかは問題ないし、最低限の機能は実装されている。
初期設定の色が派手すぎたり、出力するHTMLや["LaTeX"]の一部が変だったりするのはご愛嬌だと思っている。
最近の文書は大概SmartDoc形式で記述している。
= 公式サイト =
http://www.smartdoc.jp/
http://www.asahi-net.or.jp/~dp8t-asm/java/tools/SmartDoc/index_ja.html
= インストール =
http://www.smartdoc.jp/download/beta.zip
{{{
sudo java -cp setup.zip setup
sudo chmod 755 /usr/local/bin/sdoc
}}}
= マニュアル =
配布物を解凍した中にarchive.jarというjarがあります。これをさらに解凍すると、docフォルダがあります。
この中にリファレンスマニュアルが同梱されていますので、説明を読んでHTMLを作成しておくとよいでしょう。
= nxmlで SmartDocを記述する =
psgmlは古く、ショートカット類も使いずらいため [[nxml-mode]] に移行しました。
smartdoc.rnc は 川幡様 が作成した物を http://sakito.jp/shared/smartdoc/ にバックアップしてあります。
{{{
(load "nxml-mode-20041004/rng-auto.el")
(setq auto-mode-alist
(cons '("\\.\\(xml\\|xsl\\|rng\\|sdoc\\|xhtml\\|html\\)\\'" . nxml-mode)
auto-mode-alist))
}}}
smartdoc.rnc を持ってきてschemas.xmlに以下を追加
{{{
}}}
= PGSMLでSmartDocを記述する =
{{{SmartDocMode}}}が同梱されていますが、これがぼくは使いずらいので、["psgml-mode"]で記述できるようにしています。
[http://www.t3.rim.or.jp/~harunaga/freebsd/xemacs.html PSGMLでSmartDoc文書を書く]を参考に改造した。
.emacsのsgml-custom-dtdに以下追加
{{{
("SmartDoc"
"\n")
}}}
CATALOG.txtに以下追加
{{{
PUBLIC "-//Tomoharu Asami//DTD PureSmartDoc XML V1.0.0//EN" "PureSmartDoc.dtd"
}}}
ECAT.txtに以下追加
{{{
PUBLIC "-//Tomoharu Asami//DTD PureSmartDoc XML V1.0.0//EN" cdtd/PureSmartDoc.dtd
}}}
{{{PureSmartDoc.dtd}}}を改造してしまいます。
{{{
%HTMLlat1;
%HTMLsymbol;
%HTMLspecial;
}}}
を付加し、titleなどの幾つかの要素を属性に変更します。
以下の関数を定義しておくと便利かもしれません。
{{{
(setq sdoc-command-line "sdoc")
(defun sdoc ()
(interactive)
(let (
(sdocbuf "*SmartDoc*"))
(call-process sdoc-command-line nil sdocbuf nil (buffer-file-name))
(display-buffer sdocbuf)
))
;; ぼくはあまりC-cC-c(sgml-show-context)利用しないので以下に設定している。
(define-key xml-mode-map "\C-c\C-c" 'sdoc)
}}}
= 複数のSdocファイルをまとめてあつかう =
{{{
}}}
を記述する事で、外部のファイルを読み込む事が可能です。
以下のような方法もあります。
{{{
]>
Emacs21
sakito
&sdocpart1;
&sdocpart2;
&sdocpart3;
}}}
= 関連 =
[http://pocketclub.com/program/index_p2_c1.html SmartDocTask]
[http://sourceforge.jp/projects/sdoctask/files/ SmartDocTask SourceForge.jp: Project File List]
["texi2sdoc"]
----
CategoryDocumentation