名前: 栗山雅俊 日時: 2007-07-09 21:13:45 IPアドレス: 133.87.1.*
>>48634 ZRさん,こんばんは。 すみません,先のコメントはどうもおかしなことを 申し上げたようで,再度手元の環境で試してみました。 # WinXP SP2 + W32TeX の最新版です ほぼZRさんに解説頂いた結果になったのですが,以下の ファイルで(1)language.dat に japanese を指定して フォーマットファイルを作った場合は正しく japanese true false false english false true false german false false true となりましたが(2)その後 japanese を除去して試して 見ると,なんと japanese true true false english true true false german false false true となりました(どうも不可解です)。 \iflanguage の結果がフォーマットファイルの作成方法に 影響を受けるようですが,どうもカラクリが今ひとつよく わかりません。 \languagename の方は正しく機能しているようです。 以下サンプル ------------------------------------------------------ \documentclass{jsarticle} \usepackage[german,english,japanese]{babel} %\usepackage[japanese,german,english]{babel} %\usepackage{japanese} \def\iflanguageselected#1{% {<lang>}{<yes>}{<no>} \edef\xx@tmp{#1}\edef\xx@tmp{\expandafter\string\xx@tmp}% \ifx\languagename\xx@tmp \expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi} \begin{document} \languagename \ \iflanguage{japanese}{true}{false} \iflanguage{english}{true}{false} \iflanguage{german}{true}{false} は日本語環境 \selectlanguage{english} \languagename \ \iflanguage{japanese}{true}{false} \iflanguage{english}{true}{false} \iflanguage{german}{true}{false} は英語環境 \selectlanguage{german} \languagename \ \iflanguage{japanese}{true}{false} \iflanguage{english}{true}{false} \iflanguage{german}{true}{false} はドイツ語環境 \end{document}
この書き込みへの返事: