OSDN Git Service

Support \ltj@std(mc|gt)font and luatexja.cfg.
[luatex-ja/luatexja.git] / no_runtime / ltjclasses.dtx
index aca978c..74f1c33 100644 (file)
@@ -8,9 +8,9 @@
 %  This file is part of the pLaTeX2e system.
 %  -----------------------------------------
 %
-% \fi 
+% \fi
 %
-% \CheckSum{4475}
+% \CheckSum{4478}
 %% \CharacterTable
 %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
 %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
@@ -75,7 +75,8 @@
 %   \cs{section},\cs{subsection},\cs{subsubsection}の前後空きの伸縮幅を修正。
 %   (ありがとうございます、鈴木た@MILNさん)}
 % \changes{v1.6}{2006/06/27}{フォントコマンドを修正。ありがとう、ymtさん。}
-% \changes{v1.6-ltj}{2011/09/27}{jclasses.dtx v1.6 をベースに Lua\LaTeX-ja 用に修正。}
+% \changes{v1.6-ltj}{2011/09/27}{jclasses.dtx v1.6 をベースにLua\LaTeX-ja用に修正。}
+% \changes{v1.6-ltj-2}{2011/09/27}{jclasses.dtx luatexja.cfgに対応.}
 % \fi
 %
 % \iffalse
 %<11pt&bk>\ProvidesFile{ltjtbk11.clo}
 %<12pt&bk>\ProvidesFile{ltjtbk12.clo}
 %</tate>
-  [2011/10/03 v1.6-ltj
+  [2013/06/06 v1.6-ltj-2
 %<article|report|book> Standard LuaLaTeX-ja class]
 %<10pt|11pt|12pt>  Standard LuaLaTeX-ja file (size option)]
 %<*driver>
 \documentclass{ltjltxdoc}
 \GetFileInfo{ltjclasses.dtx}
 \usepackage[unicode]{hyperref}
-\title{Lua\LaTeX-ja用 \texttt{jclasses} 互換クラス}
-\author{Lua\TeX-ja プロジェクト}
+\title{Lua\LaTeX-ja用\texttt{jclasses}互換クラス}
+\author{Lua\TeX-jaプロジェクト}
 \date{\filedate}
 \begin{document}
   \maketitle
 % \fi
 %
 % \section{はじめに}
-% このファイルは、Lua\LaTeX-ja 用の |jclasses| 互換クラスファイルです。
-% v1.6 をベースに作成しています。
+% このファイルは、Lua\LaTeX-ja用の|jclasses|互換クラスファイルです。
+% v1.6をベースに作成しています。
 % \dst{}プログラムによって、横組用のクラスファイルと縦組用のクラスファイル
 % を作成することができます。
 %
 % \MakeShortVerb{\|}
 %
 % \subsection{\texttt{jclasses.dtx} からの主な変更点}
-% 全ての変更点を知りたい場合は、|jclasses.dtx| と |ltjclasses.dtx| で |diff| 
+% 全ての変更点を知りたい場合は、|jclasses.dtx|と|ltjclasses.dtx|で|diff|
 % とって下さい。
 % \begin{itemize}
-% \item |disablejfam| オプションを無効化。もし
+% \item |disablejfam|オプションを無効化。もし
 % \begin{quotation}
 %   |! LaTeX Error: Too many math alphabets used in version ****.|
 % \end{quotation}
-% のエラーが起こった場合は、|lualatex-math| パッケージを読み込んでみて下さい。
-% \item 出力 PDF の用紙サイズが自動的に設定されるようにしてあります。
-% \item \cs{if西暦}、\cs{西暦}、\cs{和暦}をそれぞれ\cs{ifSeireki}, \cs{Seireki},
-%   \cs{Wareki} に変更してあります。これはデフォルトの漢字のカテゴリコードが12で
-%   あるためです。
+% のエラーが起こった場合は、|lualatex-math|パッケージを読み込んでみて下さい。
+% \item 出力PDFの用紙サイズが自動的に設定されるようにしてあります。
 % \end{itemize}
 %
 % \section{Lua\TeX-ja の読み込み}
-% 最初に |luatexja| を読み込みます。
+% 最初に|luatexja|を読み込みます。
 %    \begin{macrocode}
 %<*article|report|book>
 \RequirePackage{luatexja}
 %
 % \begin{macro}{\c@@paper}
 % 用紙サイズを示すために使います。
-% A4, A5, B4, B5 用紙はそれぞれ、1, 2, 3, 4 として表されます。
+% A4, A5, B4, B5用紙はそれぞれ、1, 2, 3, 4として表されます。
 %    \begin{macrocode}
 \newcounter{@paper}
 %    \end{macrocode}
 %
 % \begin{macro}{\@ptsize}
 % 組版をするポイント数の一の位を保存するために使います。
-% 0, 1, 2 のいずれかです。
+% 0, 1, 2のいずれかです。
 %    \begin{macrocode}
 \newcommand{\@ptsize}{}
 %    \end{macrocode}
 %
 % \subsection{組方向オプション}
 % このオプションが指定されると、縦組で組版をします。
-% しかし Lua\TeX-ja ではまだ縦組は未対応なのでコメントアウトします。
+% しかしLua\TeX-jaではまだ縦組は未対応なのでコメントアウトします。
 % \changes{v1.0g}{1997/01/25}{Insert \cs{hbox}, to switch tate-mode.}
 % \changes{v1.1d}{1997/02/05}{開始ページがおかしくなるのを修正}
 % \changes{v1.1f}{1997/07/08}{縦組時にベースラインがおかしくなるのを修正}
 %
 % \subsection{日本語ファミリ宣言の抑制、和欧文両対応の数式文字}
 % p\TeX では数式ファミリの数が16個だったので日本語ファミリ宣言を抑制する
-% |disablejfam| オプションが用意されていましたが、Lua\TeX では Omega 拡張が
+% |disablejfam|オプションが用意されていましたが、Lua\TeX ではOmega拡張が
 % 取り込まれて数式ファミリは256個まで使用できるため、このオプションは必要ありません。
 % ただし、\LaTeXe カーネルでは未だに数式ファミリの数は16個に制限されているので、
-% 実際に使用可能な数式ファミリの数を増やすためには |lualatex-math| パッケージを
+% 実際に使用可能な数式ファミリの数を増やすためには|lualatex-math|パッケージを
 % 読み込む必要があることに注意が必要です。
-% 
+%
 % |mathrmmc|オプションは、
 % |\mathrm|と|\mathbf|を和欧文両対応にするためのクラスオプションです。
 % \changes{v1.1d}{1992/02/04}{disablejfamの判断を間違えてたのを修正}
 %<!book&yoko>\input{ltjsize1\@ptsize.clo}
 %    \end{macrocode}
 % 縦組用クラスファイルの場合は、ここで\file{plext.sty}が読み込まれていました。
-% Lua\TeX-ja でどうなるかは未定です。
+% Lua\TeX-jaでどうなるかは未定です。
 % \changes{v1.0e}{1996/03/21}{\cs{usepackage} to \cs{RequirePackage}}
 %    \begin{macrocode}
 %<tate>%\RequirePackage{plext}
 % \section{フォント}
 %
 % Lua\LaTeX-jaの標準では、OTFパッケージ由来のメトリックが使われるようになっています。
-% 本クラスでは、「p\TeX の組版と互換性をできだけ持たせる」例を提示するため、
+% æ\9c¬ã\82¯ã\83©ã\82¹ã\81§ã\81¯ã\80\81ã\80\8cp\TeX ã\81®çµ\84ç\89\88ã\81¨äº\92æ\8f\9bæ\80§ã\82\92ã\81§ã\81\8dã\82\8bã\81 ã\81\91æ\8c\81ã\81\9fã\81\9bã\82\8bã\80\8dä¾\8bã\82\92æ\8f\90示ã\81\99ã\82\8bã\81\9fã\82\81ã\80\81
 % \begin{itemize}
 % \item メトリックを\texttt{min10.tfm}ベースの\texttt{jfm-min.lua}に変更。
 % \item 明朝とゴシックは両方とも\texttt{jfm-min.lua}を用いるが、
 %   和文処理用グルー挿入時には「違うメトリックを使用」として思わせる。
 % \item p\TeX と同様に、「異なるメトリックの2つの和文文字」の間には、両者から定める
 %   グルーを両方挿入する。
-% \item calllback を利用し、標準で用いる\texttt{jfm-min.lua}を、段落始めの括弧が全角二分下がりになるように内部で変更している。
-% 
+% \item calllbackを利用し、標準で用いる\texttt{jfm-min.lua}を、段落始めの括弧が全角二分下がりになるように内部で変更している。
+%
 % \end{itemize}
 %
+% |\ltj@stdmcfont|,~|\ltj@stdgtfont| による、デフォルトで使われ明朝・ゴシックのフォントの
+% 設定に対応しました。この2つの命令の値はユーザが日々の利用でその都度指定するものではなく、
+% 何らかの理由で非埋め込みフォントが正しく利用できない場合にのみ |luatexja.cfg| によって
+% セットされるものです。
+% 
+%
 %    \begin{macrocode}
 %<*article|report|book>
-\directlua{luatexbase.add_to_callback('luatexja.load_jfm', 
-  function (ji, jn) ji.chars['parbdd'] = 0; return ji end, 
+\directlua{luatexbase.add_to_callback('luatexja.load_jfm',
+  function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
   'ltj.jclasses_load_jfm', 1)}
-{\jfont\g=psft:Ryumin-Light:jfm=min } % loading jfm-min.lua
+{\jfont\g=\ltj@stdmcfont:jfm=min } % loading jfm-min.lua
 \expandafter\let\csname JY3/mc/m/n/10\endcsname\relax
-\DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.962216] psft:Ryumin-Light:jfm=min}{}
-\DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.962216] psft:GothicBBB-Medium:jfm=min;jfmvar=goth}{}
+\DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.962216] \ltj@stdmcfont:jfm=min}{}
+\DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.962216] \ltj@stdgtfont:jfm=min;jfmvar=goth}{}
 \ltjglobalsetparameter{differentjfm=both}
 \directlua{luatexbase.remove_from_callback('luatexja.load_jfm', 'ltj.jclasses_load_jfm')}
 %</article|report|book>
 %
 % \begin{macro}{\pdfpagewidth}
 % \begin{macro}{\pdfpageheight}
-% 出力の PDF の用紙サイズをここで設定しておきます。
-% |tombow| が真のときは2インチ足しておきます。
+% 出力のPDFの用紙サイズをここで設定しておきます。
+% |tombow|が真のときは2インチ足しておきます。
 %    \begin{macrocode}
 \setlength{\@tempdima}{\paperwidth}
 \setlength{\@tempdimb}{\paperheight}
 %
 % \section{ページスタイル}\label{sec:pagestyle}
 % つぎの6種類のページスタイルを使用できます。
-% \pstyle{empty}は\file{latex.dtx}で定義されています。 
+% \pstyle{empty}は\file{latex.dtx}で定義されています。
 %
 % \begin{tabular}{ll}
 % empty      & ヘッダにもフッタにも出力しない\\
 % ヘッダに見出しを、フッタにページ番号を出力します。
 %
 % このスタイルは、両面印刷と片面印刷とで形式が異なります。
-% \changes{v1.0d}{1995/08/23}{横組の evenfoot が中央揃えになっていたのを修正}
+% \changes{v1.0d}{1995/08/23}{横組のevenfootが中央揃えになっていたのを修正}
 % \changes{v1.0d}{1996/03/05}{横組で偶数ページと奇数ページの設定が逆なのを修正}
 %    \begin{macrocode}
 \if@twoside
 %
 % \changes{v1.6}{2006/06/27}{フォントコマンドを修正。ありがとう、ymtさん。}
 %    \LaTeX{} 2.09
-%    compatibility mode では和文数式フォントfam が2重定義されていた
+%    compatibility mode では和文数式フォントfamが2重定義されていた
 %    ので、その部分を変更しました。
 %    \begin{macrocode}
 \if@compatibility\else
 %        platex jclasses.dtx で dvi を作るときにエラーになるため。
 % \fi
 % \DisableCrossrefs
-% \begin{macro}{\ifSeireki}
-% \begin{macro}{\Seireki}
-% \begin{macro}{\Wareki}
+% \begin{macro}{\if西暦}
+% \begin{macro}{\西暦}
+% \begin{macro}{\和暦}
 % \changes{v1.0h}{1996/12/17}{Typo:和歴 to 和暦}
 % |\today|コマンドの`年'を、
 % 西暦か和暦のどちらで出力するかを指定するコマンドです。
 %    \begin{macrocode}
-\newif\ifSeireki \Seirekifalse
-\def\Seireki{\Seirekitrue}
-\def\Wareki{\Seirekifalse}
+\newif\if西暦 \西暦false
+\def\西暦{\西暦true}
+\def\和暦{\西暦false}
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
 %    \begin{macrocode}
 \def\today{{%
   \iftdir
-    \ifSeireki
+    \if西暦
       \kansuji\number\year 年
       \kansuji\number\month 月
       \kansuji\number\day 日
       \kansuji\number\day 日
     \fi
   \else
-    \ifSeireki
+    \if西暦
       \number\year~年
       \number\month~月
       \number\day~日
 %<*yoko>
 \if@twoside
   \@mparswitchtrue
-\else 
+\else
   \@mparswitchfalse
 \fi
 %</yoko>