#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