日本語版 Linuxdoc-SGML に関するQ&A 小野@京大環境地球, ono@jf.gee.kyoto-u.ac.jp 著 v0.2, 17 Mar 1996 この文書は日本語版 Linuxdoc-SGML(jlinuxdoc-sgml) を使うにあたって生じ る疑問にお答えするものです。この文書自体も SGML で書かれており、 jlin- uxdoc-sgml の FAQ タグを使っています。 ______________________________________________________________________ Table of Contents: 1. 入手・インストール・動作環境 1.1. jlinuxdoc-sgml はどこから入手できるのでしょうか? 1.2. jlinuxdoc-sgml は Linux でしか動作しないのですか? 1.3. 数式や図表の入った文書作成に使えますか? 1.4. インストールに失敗しました 1.5. jguide.sgml をプレーンテキストに変換できません 1.6. jguide.sgml を DVI ファイルに変換できません 1.7. jguide.sgml を PS ファイルに変換できません 1.8. 自分で作った SGML ファイルの変換がうまくいきません 2. 用語と SGML 2.1. SGMLって何ですか? 2.2. DTDって何ですか? 2.3. REP って何ですか? 2.4. sgmls って何ですか? 2.5. jlinuxdoc-sgml を使うのに SGML の知識は必要ですか? 3. SGML 文書の作成 3.1. jlinuxdoc-sgml 対応の SGML エディタはありますか? 3.2. 変換したプレーンテキストが格好悪いのですが 3.3. 入力した文字や行が変換後に消えてしまいます 3.4. 行のセンタリングや右揃えなどはできないのでしょうか? 3.5. の環境の中で空行が使えません ______________________________________________________________________ 1. 入手・インストール・動作環境 1.1. jlinuxdoc-sgml はどこから入手できるのでしょうか? [Q] jlinuxdoc-sgml はどこから入手できるのでしょうか? 動作させるためには他にどんなものが必要ですか? [A] JF と呼ばれる Linux の日本語文書群に含まれるので、その匿名 ftp サイ トから入手できます。ftp://ftp.kuis.kyoto-u.ac.jp/Linux/JF/misc/ な どに置いてあります。 英語版の linuxdoc-sgml-1.5 からのパッチとなっているので、英語版も必 要となります。その他 groff や LaTeX なども必要となります。詳しく は、附属の README.v1.5j を御覧下さい。 1.2. jlinuxdoc-sgml は Linux でしか動作しないのですか? [Q] jlinuxdoc-sgml は Linux でしか動作しないのですか? 他の OS にインストールした場合にどのような問題が生じますか? [A] jlinuxdoc-sgml は HOWTOs などの Linux の文書の整備を目的として作ら れたために linux という文字列がその名称の中に含まれていますが、他の OS で使っても問題ありません。sgmls や roff などを使う都合上、 UNIX 互換の OS でないとインストールできないと思いますが、Linux に依存し た部分はありません。ただし、roff の代わりに groff を lex の代わりに flex を使うなどしているため、若干の変更が必要となるものもあるでしょ う。 1.3. 数式や図表の入った文書作成に使えますか? [Q] SGMLでは様々な形態の文書を作成できるはずですが、jlinuxdoc-sgml では 数式や図表の入った文書作成に使えますか? [A] 残念ながら使えません。 目的が HOWTOs の文書整備なので、将来的にもサポートされるかどうかは なんとも言えません。日本語版の独自拡張機能として画像などを扱えるよ うに変更することは可能ですが、あまり拡張すると英語版との互換性が崩 れるので悩むところです。 1.4. インストールに失敗しました [Q] README.v1.5j に書いてある通りにインストールしようとしたのです が、./install の途中でエラーになってしまいました。 [A] パッチが正しく当っているか、flex が入っているか、スーパーユーザーに なっているか確かめて下さい。 なお、flex でのコンパイルの際にたくさんの警告を発しますが、これはエ ラーではありません。 1.5. jguide.sgml をプレーンテキストに変換できません [Q] jguide.sgml をプレーンテキストに変換できません。 [A] 1.09以前の groff を使っている場合は、マクロの指定を -ms の代わりに -mgs とする必要があります。また、JE のバージョンによっては、 groff がうまく動かないことがあるようですから、groff を入れ換えてみたらど うでしょうか。 1.6. jguide.sgml を DVI ファイルに変換できません [Q] LaTeX でエラーになってしまい、jguide.sgml を DVI ファイルに変換でき ません。 [A] JE ではなく、自分でコンパイルした JLaTeX を使っている場合は、環境変 数 TEXINPUTSの定義をし直さないといけないことがあります。sgml2latex のTEXINPUTSの定義の記述を変更してみて下さい。 1.7. jguide.sgml を PS ファイルに変換できません [Q] jguide.sgml を変換してみて DVI ファイルまでは作れるのですが、PSファ イルへの変換で失敗しているようです。 [A] sgml2latex の中の jdvi2kps か dvi2ps の記述が正しいか確認して下さ い。もちろん jdvi2kps や dvi2ps 自身の設定も正しくなくてはいけませ ん。 1.8. 自分で作った SGML ファイルの変換がうまくいきません [Q] jguide.sgml の変換はうまくいくのですが、自分で作った SGML ファイル の変換がどうしてもうまくいきません。構文は間違っていないと思うので すが。 [A] jlinuxdoc-sgml で扱うことのできる漢字コードは EUC-J だけです。他の 漢字コードを使っていたり、半角カタカナなどが入っていないかどうか確 かめて下さい。 2. 用語と SGML 2.1. SGMLって何ですか? [Q] SGMLって何ですか? [A] SGML とは、Standard Generalized Markup Language の略で全文データベ ース (DB)を作成・保守するための記述言語です。1986年に ISOの規格 8879になり欧米で広く使われており、日本でも1992年に JIS規格 X-4151と なって最近注目を浴びています。主に電子出版のための標準書式として使 われており、文書構造とタグを DTD と呼ばれるファイルで定義しておき、 それに即したタグ入りの文書を作りそれをフィルタにかけることで、様々 な書式に変換したりデータベースを作成することが可能となります。 2.2. DTDって何ですか? [Q] DTDって何ですか? [A] DTDは Document Type Definition の略で、SGMLの文書構造とそれを表現す るためのタグに関する定義、あるいは定義をするファイルのことです。 SGML には標準化された DTD があるわけではなく、自分達の都合に合わせ て定義します。jlinuxdoc-sgml では linuxdoc.dtd というファイルによっ て定義されています。 2.3. REP って何ですか? [Q] REP って何ですか? [A] REPとは、SGML の用語ではなく sgmls というソフトウェアで使う各種ファ イル形式への変換につかうタグや特殊文字の変換テーブルの定義ファイル です。jlinuxdoc-sgml では $LINUXDOCLIB/rep/ 以下にファイル形式や言 語ごとに別れて入れられています。 2.4. sgmls って何ですか? [Q] sgmls って何ですか? [A] sgmlsは ISO 8879 準拠の フリーの SGML パーサ(構文解析ソフトウェ ア)で、 James Clark(jjc@jclark.com)によって作成されました。 sgmlsは、SGML文書を解析して構文チェックを行い、ESIS(Element Struc- ture Information Set)形式を出力します。ユーザは、ESIS形式を自分が使 用しているフォーマッタ形式(TeX, Troffなど)に変換して印刷(最終出 力)を行うことができます。この変換のためのプログラムとして、Cで記述 された sgmlsaspが提供されています。 jlinuxdoc-sgml では土屋 哲氏(tsuchiya@sysrap.cs.fujitsu.co.jp) に よって日本語化された sgmls を使用しています。 2.5. jlinuxdoc-sgml を使うのに SGML の知識は必要ですか? [Q] jlinuxdoc-sgml を使うためには、SGML について勉強しなければいけない のでしょうか? [A] その必要はありません。jguide.euc や jguide.sgml を見ながらタグの使 い方と変換方法さえ覚えれば、SGML の詳細については全く知らなくても使 いこなすことができます。ただし、jlinuxdoc-sgml を改良するには多少の 知識は必要となります。 3. SGML 文書の作成 3.1. jlinuxdoc-sgml 対応の SGML エディタはありますか? [Q] jlinuxdoc-sgml 対応の SGML エディタはありますか? [A] 今のところありませんが、そのかわり lnxsgml.el という elisp があるの で、mule などをお使いであれば lnxsgml.el を読み込むことにより、 SGML のタグ入力や書式の変換を簡単に行なうことができます。 lnxsgml.el は jlinuxdoc-sgml に附属しますが、./install ではインスト ールされないので自分の手で適切な場所にコピーして下さい。 3.2. 変換したプレーンテキストが格好悪いのですが [Q] jLinuxdoc-SGML でプレーンテキストに変換すると、空行が減らされてしま い期待した出力が得られません。 [A] sgml2txt ではデフォルトで余計な空行を削るようにしています。削る空行 の量は -b オプションで調整できます。sgml2txt -b 2 *.sgml とする と、2行までの連続する空行を認めそれ以上の空行を削るようにします。 3.3. 入力した文字や行が変換後に消えてしまいます [Q] SGML のソースで入力したはずの文字が消えたり、ある文字以降の行が変換 後にファイルでは表示されていないのですがバグでしょうか? [A] 制御文字を使っていないかどうかチェックして下さい。直接使ってはいけ ない文字は以下のものです。 [, ], &, <, >, の環境の中で空行が使えません [Q] の環境の中で空行を入れて改行させようと思ってい るのですが、エラーになってしまいます。 [A] 空行のかわりに

を使って下さい。