[HOME]: [Mac OS X]: [MacPython]: [Emacs]: [生存報告記]: [MacEmacs JP Project]: [NTEmacs JP Project]:

概要

現在 Texinfo に移行を計画中

過去への回帰っぽいですが、XMLよりLaTeXの方が純粋な文書記述では強力なのかもしれないです。

DocBookがあまりにひどいのでほかの文書記述用XML形式を探していたときに見つけたもの。

とりあえず日本語とかは問題ないし、最低限の機能は実装されている。

初期設定の色が派手すぎたり、出力するHTMLやLaTeXの一部が変だったりするのはご愛嬌だと思っている。

最近の文書は大概SmartDoc形式で記述している。

http://www.asahi-net.or.jp/~dp8t-asm/java/tools/SmartDoc/index_ja.html

インストール

http://www.XMLSmartDoc.org/download/beta.zip

sudo java -cp setup.zip setup
sudo chmod 755 /usr/local/bin/sdoc

マニュアル

配布物を解凍した中にarchive.jarというjarがあります。これをさらに解凍すると、docフォルダがあります。

この中にリファレンスマニュアルが同梱されていますので、説明を読んでHTMLを作成しておくとよいでしょう。

PGSMLでSmartDocを記述する

SmartDocModeが同梱されていますが、これがぼくは使いずらいので、psgml-modeで記述できるようにしています。

PSGMLでSmartDoc文書を書くを参考に改造した。

.emacsのsgml-custom-dtdに以下追加

("SmartDoc"
    "<!DOCTYPE doc PUBLIC
    \"-//Tomoharu Asami//DTD PureSmartDoc XML V1.0.0//EN\"
    \"file:////Users/sakito/etc/psgml/PureSmartDoc.dtd\">\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を改造してしまいます。

<!ENTITY % HTMLlat1 PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN"
   "file:///Users/sakito/etc/psgml/xhtml-lat1.ent">
%HTMLlat1;
<!ENTITY % HTMLsymbol PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN"
   "file:///Users/sakito/etc/psgml/xhtml-symbol.ent">
%HTMLsymbol;
<!ENTITY % HTMLspecial PUBLIC "-//W3C//ENTITIES Special for XHTML//EN"
   "file:///Users/sakito/etc/psgml/xhtml-special.ent">
%HTMLspecial;
<!ATTLIST doc xml:lang NMTOKEN #IMPLIED>
<!ATTLIST div xml:lang NMTOKEN #IMPLIED>
<!ATTLIST div normalizer (none) #IMPLIED>
<!ATTLIST span xml:lang NMTOKEN #IMPLIED>
<!ATTLIST a href CDATA #IMPLIED>
<!ATTLIST native format (html|latex2e|plain) #IMPLIED>
<!ATTLIST native src CDATA #IMPLIED>

を付加し、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ファイルをまとめてあつかう

<p src="hogehoge.sdoc" />

を記述する事で、外部のファイルを読み込む事が可能です。

以下のような方法もあります。

<?xml version='1.0' encoding="iso-2022-jp"?>

<!DOCTYPE doc [
  <!ENTITY sdocpart1 SYSTEM "/Users/sakito/doc/emacs21/part1.sdoc">
  <!ENTITY sdocpart2 SYSTEM "/Users/sakito/doc/emacs21/part2.sdoc">
  <!ENTITY sdocpart3 SYSTEM "/Users/sakito/doc/emacs21/part3.sdoc">
]>

<doc xml:lang="ja">
<head>
<title>Emacs21</title>
<author>sakito</author>
<date></date>
</head>
<body>
&sdocpart1;

&sdocpart2;

&sdocpart3;

</body>
</doc>

関連

SmartDocTask

texi2sdoc


CategoryJava CategoryXml

gay cock gay xxx free gay gay man gay stories twinks free gay pictures gay fuck gay hentai gay anal sex twinks gay twinks gay video gay porn gay teens gay cock gay teen gay bondage gay boys gay nude gay teen boys gay nude gay sex gay boys free gay pics gay anal free twinks gay movies gay ass gay bondage gay spanking gay men gay fucking gay anal sex nude gay gay guys gay erotic stories gay men gay blowjob free gay gay movies gay stories gay fuck free gay clips gay stories free gay mpegs gay anal sex gays free gay pictures gay boy gay cumshots gay sex gay men sex gay fucking gay photos gay sex young gay boys gay teens