iwase/itoniki の履歴の現在との差分(No.21) - PukiWiki

//#calendar2(off)
//&br;
- gloss-nihongo.ldf  (version 0.2.1)  --- gloss-japanese is [[here>../itoniki0]]&br;
for [[polyglossia - a babel replacement for XeLaTeX>http://www.ctan.org/tex-archive/macros/xetex/latex/polyglossia/polyglossia.pdf]]
&br;

I started to use [[XeLaTeX in April 2006>http://www2.math.kyushu-u.ac.jp/~iwase/Archives/XeTeX.html]] to prepare lecture notes for an extension course, and 
&br;
then I gradually transfer my tex environments to fit with [[XeLaTeX>http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=xetex]] including latex-beamer.
&br;
To complete the transfer from Japanese latex to xelatex, there was an issue to create some &br;
Japanese localisation file for [[polyglossia>http://www.ctan.org/tex-archive/macros/xetex/latex/polyglossia/]] to resolve some incompatibilities between Japanese &br;
and Euro-American styles, as is done by [[Toru Inagaki>http://www2.tba.t-com.ne.jp/ing/index.html]] for babel on Japanese latex system.&br;
Converting from Inagaki's japanese.ldf, I found an incompatibility of book.cls with standard &br;
Japanese book style.  So I wrote down two versions -- one is [[gloss-japanese.ldf>../itoniki0]] following the &br;
Euro-American style and the other is gloss-nihongo.ldf below with many codes borrowed &br;
from book.cls.

&br;

2006年夏の公開講座に向けたノート作りを [[XeLaTeX で行ったのをきっかけに>http://www2.math.kyushu-u.ac.jp/~iwase/Archives/XeTeX.html]]4月以&br;
降徐々に tex の環境を、 latex-beamer なども含め、 [[XeLaTeX>http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=xetex]] に移行しつつある。&br;
この移行を完了させる為には、どうしても日本語特有の事柄を反映させることのできる&br;
[[polyglossia>http://www.ctan.org/tex-archive/macros/xetex/latex/polyglossia/]] 用のファイル(ちょうど platex+babel 用に[[稲垣さん>http://www2.tba.t-com.ne.jp/ing/index.html]]が作成されている)&br;
が必要になった。 稲垣さん作成の japanese.ldf を改変する過程で、『第1章』など&br;
と表示することができない等の book.cls 由来の問題に遭遇し、二つのバージョンを作&br;
成した。 一つは欧米スタイルに合わせる [[gloss-japanese.ldf>../itoniki0]] であり、もうひとつは&br;
下の gloss-nihongo.ldf で、多くのコードを book.cls からコピーして作成したもので&br;
ある。

&br;

News!! The new version (0.2.1 - a bug fixed) has come as below.
News!! The new version (0.4.3 - compatible with zxjatype.sty by ZR) has [[arrived>http://jupiter.math.kyushu-u.ac.jp/~norio/XeTeX/]].
&br;
News!! The new version (0.4.2 - a bug fixed) has [[arrived>http://jupiter.math.kyushu-u.ac.jp/~norio/XeTeX/]].
&br;
News!! The new version (0.4.1 - a bug fixed) has [[arrived>http://jupiter.math.kyushu-u.ac.jp/~norio/XeTeX/]].
&br;
The version (0.2.1 - a bug fixed) has come as below.
The old version (0.1) is  [[here>iwase/itoniki1]]
&br;
新着情報!明治から平成まで対応した新版(version 0.2.1)ができました。
新着情報!漢数詞に対応した新版(version 0.3)が[[できました>http://jupiter.math.kyushu-u.ac.jp/~norio/XeTeX/]]。
&br;
明治から平成まで対応した版(version 0.2.1)が下にあります。
旧版(version 0.1)は [[こちら>iwase/itoniki1]]
&br;

Important!! Please try them at your own risk.  I am not responsible at all.
&br;
重要!これらはどうぞご自身の責任においてお試し下さい。 私は責任を持てません。

 % Original version was written by Toru Inagaki for babel.sty
 % Modified for polyglossia by Norio Iwase with some additional features
 % Version 0.2.1
 \ProvidesFile{gloss-nihongo.ldf}[polyglossia: module for nihongo]
 \makeatletter
 \def\nihongo@font{%
   \@ifundefined{nihongofont}{%
     \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt}{\nihongofont}}
 
 \def\selectnormalfontnihongo{%
    \let\normalfont=\nihongo@font%
    \let\rmfamily=\nihongo@font%
    \let\sffamily=\nihongo@font%
    \let\ttfamily=\nihongo@font%
    \def\reset@font{\normalfont}}
 
 \ifx\l@nihongo\@undefined
    \xpg@nopatterns{nihongo}
    \adddialect\l@nihongo0
 \fi
 
 \def\nihongo@capsformat{%
    \def\@seccntformat##1{\csname pre##1\endcsname%
       \csname the##1\endcsname%
       \csname post##1\endcsname}%
    \def\postsection{\textnihongo{}\space}% 節
    \def\postsubsection{\textnihongo{}\space}% 節
    \def\postsubsubsection{\textnihongo{}\space}% 節
    \def\presection{}% 第
    \def\presubsection{}% 第
    \def\presubsubsection{}}% 第
 
 \@ifclassloaded{book}{%
   \if@twoside
     \def\ps@headings{%
         \let\@oddfoot\@empty\let\@evenfoot\@empty
         \def\@evenhead{\thepage\hfil\slshape\leftmark}%
         \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
         \let\@mkboth\markboth
       \def\chaptermark##1{%
         \markboth {\MakeUppercase{%
           \ifnum \c@secnumdepth >\m@ne
             \if@mainmatter
               \@chapapp\space\thechapter\postchaptername. \ %
             \fi
           \fi
           ##1}}{}}%
       \def\sectionmark##1{%
         \markright {\MakeUppercase{%
           \ifnum \c@secnumdepth >\z@
             \thesection. \ %
           \fi
           ##1}}}}
   \else
     \def\ps@headings{%
       \let\@oddfoot\@empty
       \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
       \let\@mkboth\markboth
       \def\chaptermark##1{%
         \markright {\MakeUppercase{%
           \ifnum \c@secnumdepth >\m@ne
             \if@mainmatter
               \@chapapp\space\thechapter\postchaptername. \ %
             \fi
           \fi
           ##1}}}}
   \fi
 }{}
 \def\@chapter[#1]#2{%
   \ifnum \c@secnumdepth >\m@ne%
     \if@mainmatter%
       \refstepcounter{chapter}%
       \typeout{\@chapapp\space\thechapter\postchaptername}%
       \addcontentsline{toc}{chapter}%
         {\protect\numberline{\thechapter}#1}%
     \else%
       \addcontentsline{toc}{chapter}{#1}%
     \fi%
   \else%
     \addcontentsline{toc}{chapter}{#1}%
   \fi%
   \chaptermark{#1}%
   \addtocontents{lof}{\protect\addvspace{10\p@}}%
   \addtocontents{lot}{\protect\addvspace{10\p@}}%
   \if@twocolumn
     \@topnewpage[\@makechapterhead{#2}]%
   \else
     \@makechapterhead{#2}%
     \@afterheading
   \fi}
 \def\@makechapterhead#1{%
   \vspace*{50\p@}%
   {\parindent \z@ \raggedright \normalfont
     \ifnum \c@secnumdepth >\m@ne
       \if@mainmatter
         \huge\bfseries \@chapapp\nobreakspace\thechapter\postchaptername
         %\hspace{2em}\Huge \bfseries #1
         \par\nobreak
         \vskip 20\p@
       \fi
     \fi
     \interlinepenalty\@M
     \Huge \bfseries #1\par\nobreak
     \vskip 40\p@
   }}
 \def\@part[#1]#2{%
   \ifnum \c@secnumdepth >-2\relax
     \refstepcounter{part}%
     \addcontentsline{toc}{part}{\thepart\postpartname\hspace{1em}#1}%
   \else
     \addcontentsline{toc}{part}{#1}%
   \fi
   \markboth{}{}%
   {\centering
    \interlinepenalty \@M
    \normalfont
    \ifnum \c@secnumdepth >-2\relax
      \huge\bfseries \partname\ \nobreakspace\thepart\postpartname
      \par
      \vskip 20\p@
    \fi
    \Huge \bfseries #2\par}%
   \@endpart}
 
 \def\captionsnihongo{%
    \def\refname{\textjapanese{参考文献}}%
    \def\abstractname{\textjapanese{概要}}%
    \def\bibname{\textjapanese{文献目録}}%
    \def\prefacename{\textjapanese{端書き}}%
    \def\postchaptername{\textnihongo{章}}%
    \def\chaptername{\textnihongo{第}}%
    \def\appendixname{\textnihongo{付録}}%
    \def\contentsname{\textnihongo{目次}}%
    \def\listfigurename{\textnihongo{図目次}}%
    \def\listtablename{\textnihongo{表目次}}%
    \def\indexname{\textnihongo{索引}}%
    \def\figurename{\textnihongo{図}}%
    \def\tablename{\textnihongo{表}}%
    %\def\thepart{\textnihongo{}}%
    \def\postpartname{\textnihongo{部}}%
    \def\partname{\textnihongo{第}}%
    \def\pagename{\textnihongo{頁}}%
    \def\seename{\textnihongo{参照}}%
    \def\alsoname{\textnihongo{参照}}%
    \def\enclname{\textnihongo{添付}}%
    \def\ccname{\textnihongo{同報}}%
    \def\headtoname{\textnihongo{宛先}}%
    \def\proofname{\textnihongo{証明}}%
    \def\glossaryname{\textnihongo{用語集}}%
    }
 
   \newif\if@WameiReki \@WameiRekifalse%
   \newif\if@WameiTosi \@WameiTosifalse%
   \newif\if@WameiTuki \@WameiTukifalse%
   \newif\if@WameiHi \@WameiHifalse%
   \newif\if@IzumoTuki \@IzumoTukifalse%
   \newcount\WameiTosi@Tens
   \newcount\WameiTosi@Ones
    \XeTeXlinebreaklocale "ja"%
    \XeTeXlinebreakskip = 0em plus 0.1em minus 0.01em%
    \XeTeXlinebreakpenalty = 0
 
 \def\datenihongo{{%
   \ifnum\year<1868 \xdef\the@WarekiCur{}%
   \else\ifnum\year<1912 \xdef\the@WarekiCur{明治} \advance\year-1867\relax%
   \else\ifnum\year<1926 \xdef\the@WarekiCur{大正} \advance\year-1911\relax%
   \else\ifnum\year<1989 \xdef\the@WarekiCur{昭和} \advance\year-1925\relax%
   \else\xdef\the@WarekiCur{平成} \advance\year-1988\relax\fi\fi\fi\fi%
   \xdef\the@WameiTosi{\the\year}%
   \WameiTosi@Ones=\the@WameiTosi \WameiTosi@Tens=\the@WameiTosi%
   \divide\WameiTosi@Tens by 10\relax%
   \multiply\WameiTosi@Tens by 10\relax%
   \advance\WameiTosi@Ones by -\WameiTosi@Tens\relax%
   \divide\WameiTosi@Tens by 10\relax%
   \xdef\the@WameiTositens{\number\WameiTosi@Tens}%
   \xdef\the@WameiTosiones{\number\WameiTosi@Ones}%
   }%
   \def\西暦{\@WameiRekifalse \@WameiTukifalse \@WameiHifalse}%
   \def\和暦{\@WameiRekitrue \@WameiTosifalse \@WameiTukifalse \@WameiHifalse}%
   \def\和名暦{\@WameiTositrue \@WameiTukitrue \@WameiHitrue}%
   \def\数字暦{\@WameiTosifalse \@WameiTukifalse \@WameiHifalse}%
   \def\出雲月{\@IzumoTukitrue}%
   \def\大和月{\@IzumoTukifalse}%
   \def\today{\textnihongo{\hspace{-.34em}%
 \if@WameiReki\the@WarekiCur\if@WameiTosi\ifcase\the@WameiTositens\or 十\or 廿\or 卅\or 四十\or 五十\or 六十\or 七十\or 八十\or 九十\fi\ifcase\the@WameiTosiones\or 一\or 二\or 三\or 四\or 五\or 六\or 七\or 八\or 九\fi\else\,\the@WameiTosi\fi\else\number\year\,\fi{年}\,%
 \if@WameiTuki\ifcase\month\or 睦月\or 如月\or 弥生\or 卯月\or 皐月\or 水無月\or 文月\or 葉月\or 長月\or \if@IzumoTuki 神在月\else 神無月\fi \or 霜月\or 師走\fi\else \number\month\,{月}\fi\,%
 \if@WameiHi\ifcase\day\or 一\or 二\or 三\or 四\or 五\or 六\or 七\or 八\or 九\or 十\or 十一\or 十二\or 十三\or 十四\or 十五\or 十六\or 十七\or 十八\or 十九\or 廿\or 廿一\or 廿二\or 廿三\or 廿四\or 廿五\or 廿六\or 廿七\or 廿八\or 廿九\or 卅\or 卅一\fi\else\number\day\,\fi{日}}}}
 
 \def\nihongo@language{\protect\language=\l@nihongo}
 
 \setlocalhyphenmins{nihongo}{2}{2}%

サンプルを作らねばと思い、やはり稲垣さんの sample.tex を少し改変させて頂いたものをさらに少し変更してしまいました:

 %!TEX TS-program = XeLaTeX
 % version 0.2.1
 \documentclass{book}
 \usepackage{xunicode}%
 \usepackage[no-math]{fontspec}
 \usepackage{polyglossia}%
 \usepackage{xltxtra}
 %
 \setdefaultlanguage{nihongo}
 %\setdefaultlanguage{japanese}
 \setotherlanguage{english}
 \setotherlanguage{french}
 \setotherlanguage{german}
 %
 \defaultfontfeatures{Mapping=tex-text}
 \setromanfont{Hiragino Mincho Pro W3}%
 \setsansfont{Hiragino Kaku Gothic Pro W3}%
 \setmonofont{Osaka-Mono}
 %
 \makeatletter
 \def\tbcaption{\def\@captype{table}\caption{キャプションの例}}
 \def\fgcaption{\def\@captype{figure}\caption{キャプションの例}}
 \makeatother
 \def\sf{\selectlanguage{french}}
 \def\se{\selectlanguage{english}}%
 \def\sj{\selectlanguage{nihongo}}
 %\def\sj{\selectlanguage{japanese}}
 \def\sg{\selectlanguage{german}}
 \setlength{\voffset}{-43mm}
 \setlength{\hoffset}{-13mm}
 \setlength{\textwidth}{16cm}
 \setlength{\textheight}{27cm}
 \begin{document}
 
 \sj
 \chapter{PolyGlossia}
 japanese/nihongo パッケージは日本語による見出し語と日付を出力するためのマクロを定義しています。
 \se
 \section{In ``\texttt{English}''}
 (The value of language code is \the\language) \par\hfil\verb:\today: :\today\hfil
 
 \fgcaption
 \tbcaption
 
 \sf
 %\section{En ``\texttt{fran\c{c}ais}''}
 \section{En ``\texttt{français}''}
 \section{En ``\texttt{fran&#65533;ais}''}
 (La valeur de code de langue est \the\language) \par\hfil\verb:\today: :\today\hfil
 
 \fgcaption
 \tbcaption
 
 \sj
 \section{『\texttt{日本語}』で}
 (language コードの値は \the\language) \par\hfil\verb:\today: :\today\hfil
 
 \fgcaption
 \tbcaption
 
 \begin{itemize}
  \item \verb:\和暦: は日付の表示をデフォルトの西暦「\today」から和暦「\和暦\today」に変更し、\verb:\西暦: はこれを元の表示「\西暦\today」に戻します。\par\smallskip\hfil\verb:\和暦\today: :\和暦\today\hfil
  \item \verb:\和名暦: は日付の表示をデフォルトの和暦「\和暦\today」から、月などの名に和名を採用した暦「\和名暦\today」に変更し、\verb:\数字暦: はこれを元の表示「\数字暦\today」に戻します。
  \item \verb:\出雲月: は神無月を神在月に、また \verb:\大和月: はその逆にします。
 \end{itemize}
 
 \sg
 \section{In ``\texttt{Deutsch}''}
 (Der Wert der Sprache Code ist \the\language) \par\hfil\verb:\today: :\today\hfil
 
 \fgcaption
 \tbcaption
 
 \end{document}


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS