名前: ZR 日時: 2007-07-09 04:42:31 IPアドレス: 59.140.98.*
>>48619 改めて、japanese.sty の中身を検証してみました。 その結果として気づいた点を列挙しておきます。 1. \datejapanese の定義 %<japanese.ldf;抜粋> \def\datejapanese{% \newif\if西暦 \西暦true% \def\西暦{\西暦true}% \def\和歴{\西暦false}% \def\today{% \if西暦% \number\year 年\nobreak \number\month 月\nobreak \number\day 日% \else \@tempcnta\year% \advance\@tempcnta-1988 平成% \ifnum \@tempcnta =1 元\else\number\@tempcnta\fi% 年\nobreak \number\month 月\nobreak\number\day 日\fi}} %<END> \datejapanese の最初の 3 行の定義(字の誤りは別にして ;-) )ですが、 \datejapanese は言語が japanese に切り替わる度に呼び出されるので、 このままではその時に、年表記が西暦に戻ってしまいます。(さらに、 プレアンブルで \和暦 を指定しても無視されます。) # あと、\today の定義の \nobreak の位置にも違和感を感じます。 2. \appendixname の定義 %<japanese.ldf;抜粋> \def\appendixname{付 録}% %<END> pLaTeX 標準クラス(jarticle 等)では、この定義では、付録の見出しは 付 録A (を組版した結果) となりますが、これはバランスが悪いと思います。 3. \chaptername, \partname に関する注意 pLaTeX 標準クラスでは、章見出しは \prechaptername \thechapter \postchaptername で生成されます。従って、\chaptername は使用されないので、たとえば、 \addto\captionsjapanese{\def\chaptername{第~\@Jcp~章}} 等として章見出しの書式を変更しようとしても失敗します。部見出しに ついても同じく \partname は使われません。 この問題は、章見出しの生成方法がクラスに依存する以上は完全な対処は 不可能だと思われますが、何らかの対応(制限事項とする等)が必要でしょう。 #(japanese.sty とは無関係な余談) # これとは逆に、pLaTeX 標準クラスを使用して、babel で日本語以外の言語 # に切り替えた時に、章見出しが変わらないという現象が起こります。勿論、 # 標準クラスは日本語用のレイアウトを持つので、これを利用しているのに # 基底言語が日本語でないのは不合理なのですが。 4. readme.pdf : babel の japanese オプション ご存じだと思いますが、「現行の babel」では、 \usepackage[...,japanese]{babel} で japanese.ldf が読み込むことができます。 # babel 本体で <lang> オプションが未定義なら <lang>.ldf を読み込む。 # この機能は v3.6i <1997/03/12> で追加。 5. langxmpl.dat の記述 %<langxmpl.dat;抜粋> =USenglish %%american ushyphen.tex %%ukhyphen.texはhyphen.texをリネームしたものです。 english ukhyphen.tex =UKenglish =british %%french fhyph.tex %%pTeX 2.1.5ではCTAN:/digests/tugboat/germanhy.texを使います。 %%german germanhy.tex japanese ukhyphen.tex %<END> これについての疑問点: - 最初に "=" の行があるのはおかしい。 - なぜ、hyphen.tex を改名しているのかの意図がわからない。 - hyphen.tex は(英国英語でなく)米国英語のものだから "ukhyphen" という名前は不適当。 - ukhyphen.tex というファイルは既に存在する。 なお、language.dat の決まりとして、最初の定義(language 0) は "english" でなければならず、また "english" の設定は、TeX の オリジナルの "hyphen.tex" でなければならないようです。
この書き込みへの返事: