OSDN Git Service

Added a documentation of lltjp-geometry.sty
authorHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Thu, 1 Jan 2015 14:00:16 +0000 (23:00 +0900)
committerHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Thu, 1 Jan 2015 14:00:16 +0000 (23:00 +0900)
12 files changed:
doc/lltjp-geometry.pdf [new file with mode: 0644]
doc/lltjp-geometry.tex [new file with mode: 0644]
doc/ltjclasses.pdf
src/ltjarticle.cls
src/ltjbook.cls
src/ltjclasses.dtx
src/ltjreport.cls
src/ltjtarticle.cls
src/ltjtbook.cls
src/ltjtreport.cls
src/patches/lltjcore.sty
src/patches/lltjp-geometry.sty

diff --git a/doc/lltjp-geometry.pdf b/doc/lltjp-geometry.pdf
new file mode 100644 (file)
index 0000000..7ef1883
Binary files /dev/null and b/doc/lltjp-geometry.pdf differ
diff --git a/doc/lltjp-geometry.tex b/doc/lltjp-geometry.tex
new file mode 100644 (file)
index 0000000..4c68e9d
--- /dev/null
@@ -0,0 +1,192 @@
+%#! luajitlatex
+\documentclass[a4paper,10pt]{ltjsarticle}
+\usepackage[textwidth=45\zw, lines=45, columnsep=3\zw,
+   footskip=3\zw, showframe]{geometry}
+\usepackage{listings,amsmath,booktabs,lltjext}
+\usepackage[match]{luatexja-fontspec}
+\usepackage[kozuka-pr6n]{luatexja-preset}\normalsize
+\def\emph#1{\textbf{\textgt{\mathversion{bold}#1}}}
+\def\headfont{\normalfont\bfseries\gtfamily}
+\def\pTeX{p\kern-.05em\TeX}
+\def\cs#1{\text{\texttt{\char`\\#1}}}
+
+\lstset{
+  basicstyle=\ttfamily, basewidth=0.5em,
+}
+\makeatletter\let\SX@Info=\relax\makeatother
+\fboxsep=0mm
+
+\usepackage{hyperref,bookmark,xcolor}
+\hypersetup{%
+       unicode,
+       colorlinks,
+       allbordercolors=1 1 1,
+       allcolors=blue,
+       pdftitle={lltjp-geometry.sty}
+}
+
+\def\LuaTeX{Lua\TeX}
+
+\title{\texttt{lltjp-geometry.sty}}
+\author{\LuaTeX-jaプロジェクト}
+\begin{document}
+\maketitle
+
+\begin{abstract}
+ページレイアウトの設定として,\textsf{geometry}パッケージが有名であるが,
+これはp\LaTeX・\LuaTeX-jaの縦組クラスでは利用が不可能という問題があった.
+本文書で解説する\texttt{lltjp-geometry.sty} は,\textsf{geometry}パッケージを
+縦組クラスでも利用可能にするためのパッチである.
+\end{abstract}
+
+\section{利用方法}
+\texttt{lltjp-geometry.sty} は,\LuaTeX-jaに標準で含まれている.
+本パッケージの動作には\textsf{ifluatex}, \textsf{filehook}パッケージが必要である.
+
+\subsection{\LuaTeX-ja}
+\LuaTeX-jaの縦組クラス,\textsf{ltjtarticle}, \textsf{ltjtbook}, 
+\textsf{ltjtreport}では自動的に \texttt{lltjp-geometry.sty} が読み込まれる.
+ユーザは何もしなくても良い.
+
+\subsection{\pTeX 系列}
+\pTeX 系列では,\textsf{tarticle}, \textsf{tbook}, \textsf{treport}といった
+\emph{縦組クラスを使う場合}にのみ,
+\begin{lstlisting}
+\usepackage{lltjp-geometry}
+\usepackage[...]{geometry}
+\end{lstlisting}
+のように\emph{\textsf{geometry}パッケージの前}に読み込む.
+パッケージオプションは存在しない.
+
+\section{注意事項}
+\subsection{\texttt{twoside}指定時}
+\texttt{twoside} オプション指定時は,
+\texttt{left}, \texttt{lmargin} は小口側の余白,
+\texttt{right}, \texttt{rmargin} はノド側の余白を指す.
+縦組の本は通常右綴じであることを反映させたものである.
+その他にも,
+\begin{itemize}
+\item 左右余白比 \texttt{hmarginratio} の標準値は$3:2$に変更.
+\item \texttt{bindingoffset} は\emph{右側}に余白を確保する.
+\end{itemize}
+
+\subsection{傍注}
+縦組の場合,傍注は本文の上下に配置される\footnote{%
+  二段組の場合は上下共に,一段組の場合は標準では下側だが,
+  \texttt{reversemp} が指定されたときには上側に配置される.
+}.これにより,\emph{\texttt{includemp}(や \texttt{includeall})が
+未指定の場合,傍注はヘッダやフッタに重なる}.
+\texttt{includemp} 指定時は,\cs{footskip}, \cs{headsep} のいずれか
+(二段組の場合は両方)を$\cs{marginparwidth} + \cs{marginparsep}$だけ
+増加させる.
+
+\subsection{\texttt{lines}オプション指定時の \cs{maxdepth} 調整}
+\LaTeX では,
+最後の行の深さ\rensuji{$d$}と
+本文領域の上端から最後の行のベースラインまでの距離\rensuji{$f$}に対し,
+\[
+ \cs{textheight} = f+\max(0, d-\cs{maxdepth})
+\]
+が成り立つ.
+
+\pTeX 系列の標準縦組クラス\textsf{[u]tarticle}等,
+及びそれを\LuaTeX-ja用に移植した\textsf{ltjtarticle}等では,
+ \cs{topskip} は\emph{横組時における}全角空白の高さ7.77588\,pt\footnote{%
+  標準の\texttt{10pt}オプション指定時.以下同じ.
+  ところで,この量は公称フォントサイズの10\,ptか,もしくは
+  全角空白の高さと深さを合わせた値の9.16446\,ptの間違いではないか,と筆者は考えている.
+  なお,奥村晴彦氏のp\LaTeXe 新ドキュメントクラスでは公称ポイントサイズ10\,ptに設定されている.
+}であり,\cs{maxdepth} はその半分3.88794\,ptである.
+
+いくつかのフォントについて,その中の文字の深さの最大値を見てみると
+表\ref{tab:baseline}のようになっている.
+\begin{table}[tb]
+ \layoutfloat[c]{%
+ \begin{tabular}<y>{ll}
+  \toprule
+  \bfseries フォント(10\,pt)&\bfseries 深さ(pt単位)\\
+  \midrule
+  多くの横組用和文フォント(\pTeX)&1.38855\\
+  多くの縦組用和文フォント(\pTeX)&4.58221\\
+  \midrule
+  Computer Modern Roman 10\,pt&2.5\\
+  Computer Modern Sans Serif 10\,pt&2.5\\
+  Times Roman (\texttt{ptmr8t})&2.16492\\
+  Helvetica Bold Oblique (\texttt{phvbo8t})&2.22491\\
+  Palatino (\texttt{pplr8t})&2.75989\\
+  \bottomrule
+ \end{tabular}}
+ \pcaption{いくつかのフォント中の,文字の深さの最大値
+    \label{tab:baseline}}
+\end{table}
+欧文フォントのベースラインは,そのままでは和文との組み合わせが悪いので,
+さらに$\textsf{tbaselineshift}=3.41666\,\textrm{pt}$だけ下がることを考えると,
+最後の行に和文文字が来た場合はほぼ確実に深さが \cs{maxdepth} を超えてしまうことになる.
+従って,本文領域を「\rensuji{$n$}行分」として指定するときによく使われる
+\begin{equation}
+   \cs{textheight} = \cs{topskip} + (n-1)\cs{baselineskip}
+ \label{eq:nline}
+\end{equation}
+は\textsf{tarticle}クラスのデフォルトでは通用しない.
+
+通常の地の文のみの文章においてほぼ確実に\eqref{eq:nline}が成り立つようにするため,
+\texttt{lltjp-geometry.sty} では\emph{\texttt{lines}オプション指定時のみ} \cs{maxdepth} の値が
+最低でも
+\begin{quote}
+公称ポイントサイズの半分に,欧文ベースラインのシフト量を加えた値%
+\footnote{\textsf{tarticle}の場合だと,
+$5\,\textrm{pt} + 3.41666\,\textrm{pt}=8.41666\,\textrm{pt}$である.}
+\end{quote}
+になるようにしている.
+
+
+\subsection{\texttt{lines} オプション指定時の見かけ上の基本版面の位置}
+\LaTeX では,
+本文の一行目のベースラインは,本文領域の「上端」から
+ \ \cs{topskip}\ だけ「下がった」ところに来ることになっている.
+あまり \cs{topskip} が小さいと,ユーザが大きい文字サイズを指定した時に1行目のベースライン
+位置が狂う危険があるため,
+\textsf{geometry}パッケージでは
+\begin{quote}
+ \texttt{lines} オプション指定時,\cs{topskip} の値を最低でも
+ \cs{strutbox} の高さ($0.7\cs{baselineskip}$)まで引き上げる
+\end{quote}
+という仕様になっている.
+
+縦組の場合は,\cs{strutbox} に対応するボックスは \cs{tstrutbox} であるため,
+\begin{quote}
+ \texttt{lines} オプション指定時,\cs{topskip} の値を最低でも
+ \emph{\cs{tstrutbox} の高さ($\cs{baselineskip}/2$)}まで引き上げる
+\end{quote}
+という挙動にした.見かけ上は \cs{topskip} の値制限が緩くなったが,前節で述べたように
+欧文フォントのベースラインは和文に合うように下にずらされるので,
+実用上は問題は起きないだろう.
+
+前節の \cs{maxdepth} の調整も考え合わせると,\emph{\LaTeX が認識する本文領域と,
+実際の見た目の基本版面の位置とは異なる}ことに注意してほしい.
+
+例えばA4縦,公称フォントサイズ10\,pt,行送り18\,pt,30行左右中央
+\begin{lstlisting}
+\baselineskip=18pt
+\usepackage{lltjp-geometry}
+\usepackage[a4paper,hcentering,lines=30]{geometry}
+\end{lstlisting}
+と指定すると,以下のように設定される.
+\begin{itemize}
+ \item \cs{topskip} は \cs{tstrutbox} の高さ8.5\,ptに設定される.
+ \item 本文領域の「高さ」 \cs{textheight} は 
+\[
+ \cs{topskip} + (30-1)\cs{baselineskip} = 530.5\,\textrm{pt}.
+\]
+ \item 従って,左余白と右余白は
+\[
+ \frac{210\,\textrm{mm}-\cs{textheight}}2 = 33.50394\,\textrm{pt}.
+\]
+\end{itemize}
+しかし,実際にはページの最初の行のベースラインは,本文領域の右端から
+\ \cs{topskip} だけ左にずれたところにあり,
+一方ページの最終行のベースラインは本文領域の左端にある.
+従って,\emph{見た目で言えば,右余白の方が$\cs{topskip} =8.5\,\textrm{pt}$だけ
+大きい}ということになってしまう.
+
+\end{document}
index 112858c..e03481b 100644 (file)
Binary files a/doc/ltjclasses.pdf and b/doc/ltjclasses.pdf differ
index 4651167..2f3f4a6 100644 (file)
 \fi
 \DeclareOption{draft}{\setlength\overfullrule{5pt}}
 \DeclareOption{final}{\setlength\overfullrule{0pt}}
 \fi
 \DeclareOption{draft}{\setlength\overfullrule{5pt}}
 \DeclareOption{final}{\setlength\overfullrule{0pt}}
-\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final}
-\ProcessOptions\relax
-\input{ltjsize1\@ptsize.clo}
 \directlua{luatexbase.add_to_callback('luatexja.load_jfm',
   function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
   'ltj.jclasses_load_jfm', 1)}
 \directlua{luatexbase.add_to_callback('luatexja.load_jfm',
   function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
   'ltj.jclasses_load_jfm', 1)}
 \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')}
 \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')}
+\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final}
+\ProcessOptions\relax
+\input{ltjsize1\@ptsize.clo}
 \if@stysize
   \setlength\columnsep{2\Cwd}
 \else
 \if@stysize
   \setlength\columnsep{2\Cwd}
 \else
index e91fd2a..753b02d 100644 (file)
 \fi
 \DeclareOption{draft}{\setlength\overfullrule{5pt}}
 \DeclareOption{final}{\setlength\overfullrule{0pt}}
 \fi
 \DeclareOption{draft}{\setlength\overfullrule{5pt}}
 \DeclareOption{final}{\setlength\overfullrule{0pt}}
-\ExecuteOptions{a4paper,10pt,twoside,onecolumn,final,openright}
-\ProcessOptions\relax
-\input{ltjbk1\@ptsize.clo}
 \directlua{luatexbase.add_to_callback('luatexja.load_jfm',
   function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
   'ltj.jclasses_load_jfm', 1)}
 \directlua{luatexbase.add_to_callback('luatexja.load_jfm',
   function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
   'ltj.jclasses_load_jfm', 1)}
 \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')}
 \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')}
+\ExecuteOptions{a4paper,10pt,twoside,onecolumn,final,openright}
+\ProcessOptions\relax
+\input{ltjbk1\@ptsize.clo}
 \if@stysize
   \setlength\columnsep{2\Cwd}
 \else
 \if@stysize
   \setlength\columnsep{2\Cwd}
 \else
index bdc970e..19f9234 100644 (file)
@@ -83,7 +83,7 @@
 % \changes{v1.6-ltj-6}{2014/07/28}{縦組クラスでlltjext.styを読み込むように修正.}
 % \changes{v1.6-ltj-7}{2014/11/15}{縦組クラスとeveryshi.styとの相性が悪い問題を修正.}
 % \changes{v1.6-ltj-8}{2014/11/22}{縦組時のgeometry.styへの対応を別ファイル(lltjp-geometry.sty)に分離.それに伴いv1.6-ltj-3での変更を削除.}
 % \changes{v1.6-ltj-6}{2014/07/28}{縦組クラスでlltjext.styを読み込むように修正.}
 % \changes{v1.6-ltj-7}{2014/11/15}{縦組クラスとeveryshi.styとの相性が悪い問題を修正.}
 % \changes{v1.6-ltj-8}{2014/11/22}{縦組時のgeometry.styへの対応を別ファイル(lltjp-geometry.sty)に分離.それに伴いv1.6-ltj-3での変更を削除.}
-% \changes{v1.6-ltj-9}{2015/01/01}{縦çµ\84ã\82¯ã\83©ã\82¹ã\81®æ\97¥ä»\98å\87ºå\8a\9bã\81§ã\82¨ã\83©ã\83¼ã\81«ã\81ªã\82\8bã\81®を修正.}
+% \changes{v1.6-ltj-9}{2015/01/01}{縦çµ\84ã\82¯ã\83©ã\82¹ã\81®æ\97¥ä»\98å\87ºå\8a\9bã\81§ã\82¨ã\83©ã\83¼ã\81«ã\81ªã\82\8bã\81\93ã\81¨ã\81ªã\81©を修正.}
 % \fi
 %
 % \iffalse
 % \fi
 %
 % \iffalse
 %</article|report|book>
 %    \end{macrocode}
 %
 %</article|report|book>
 %    \end{macrocode}
 %
+% \subsection{フォントメトリックの変更}
+% 
+% Lua\LaTeX-jaの標準では、OTFパッケージ由来のメトリックが使われるようになっています。
+% 本クラスでは、「p\TeX の組版と互換性をできるだけ持たせる」例を提示するため、
+% \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}を、段落始めの括弧が全角二分下がりになるように内部で変更している。
+%
+% \end{itemize}
+%
+% |\ltj@stdmcfont|,~|\ltj@stdgtfont| による、デフォルトで使われ明朝・ゴシックのフォントの
+% 設定に対応しました。この2つの命令の値はユーザが日々の利用でその都度指定するものではなく、
+% 何らかの理由で非埋め込みフォントが正しく利用できない場合にのみ |luatexja.cfg| によって
+% セットされるものです。
+%
+% \changes{v1.6-ltj-9}{2015/01/01}{サイズクラスのロード前にメトリックの変更を行わないと,
+% \cs{Cht}等の値が反映されないのでこの場所に移動させました.}
+% 
+%    \begin{macrocode}
+%<*article|report|book>
+\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=\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] \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>
+%    \end{macrocode}
+%
 % \subsection{オプションの実行}
 % オプションの実行、およびサイズクラスのロードを行ないます。
 %    \begin{macrocode}
 % \subsection{オプションの実行}
 % オプションの実行、およびサイズクラスのロードを行ないます。
 %    \begin{macrocode}
 %
 % \section{フォント}
 %
 %
 % \section{フォント}
 %
-% Lua\LaTeX-jaの標準では、OTFパッケージ由来のメトリックが使われるようになっています。
-% 本クラスでは、「p\TeX の組版と互換性をできるだけ持たせる」例を提示するため、
-% \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}を、段落始めの括弧が全角二分下がりになるように内部で変更している。
-%
-% \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,
-  'ltj.jclasses_load_jfm', 1)}
-{\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] \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>
-%    \end{macrocode}
-%
 % ここでは、\LaTeX{}のフォントサイズコマンドの定義をしています。
 % フォントサイズコマンドの定義は、次のコマンドを用います。
 %
 % ここでは、\LaTeX{}のフォントサイズコマンドの定義をしています。
 % フォントサイズコマンドの定義は、次のコマンドを用います。
 %
index cd80730..f439b66 100644 (file)
 \fi
 \DeclareOption{draft}{\setlength\overfullrule{5pt}}
 \DeclareOption{final}{\setlength\overfullrule{0pt}}
 \fi
 \DeclareOption{draft}{\setlength\overfullrule{5pt}}
 \DeclareOption{final}{\setlength\overfullrule{0pt}}
-\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,openany}
-\ProcessOptions\relax
-\input{ltjsize1\@ptsize.clo}
 \directlua{luatexbase.add_to_callback('luatexja.load_jfm',
   function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
   'ltj.jclasses_load_jfm', 1)}
 \directlua{luatexbase.add_to_callback('luatexja.load_jfm',
   function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
   'ltj.jclasses_load_jfm', 1)}
 \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')}
 \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')}
+\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,openany}
+\ProcessOptions\relax
+\input{ltjsize1\@ptsize.clo}
 \if@stysize
   \setlength\columnsep{2\Cwd}
 \else
 \if@stysize
   \setlength\columnsep{2\Cwd}
 \else
index ea72587..f8bab8b 100644 (file)
 \fi
 \DeclareOption{draft}{\setlength\overfullrule{5pt}}
 \DeclareOption{final}{\setlength\overfullrule{0pt}}
 \fi
 \DeclareOption{draft}{\setlength\overfullrule{5pt}}
 \DeclareOption{final}{\setlength\overfullrule{0pt}}
-\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,tate}
-\ProcessOptions\relax
-\input{ltjtsize1\@ptsize.clo}
-\RequirePackage{lltjext}
 \directlua{luatexbase.add_to_callback('luatexja.load_jfm',
   function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
   'ltj.jclasses_load_jfm', 1)}
 \directlua{luatexbase.add_to_callback('luatexja.load_jfm',
   function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
   'ltj.jclasses_load_jfm', 1)}
 \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')}
 \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')}
+\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,tate}
+\ProcessOptions\relax
+\input{ltjtsize1\@ptsize.clo}
+\RequirePackage{lltjext}
 \if@stysize
   \setlength\columnsep{3\Cwd}
 \else
 \if@stysize
   \setlength\columnsep{3\Cwd}
 \else
index 252082d..3527d11 100644 (file)
 \fi
 \DeclareOption{draft}{\setlength\overfullrule{5pt}}
 \DeclareOption{final}{\setlength\overfullrule{0pt}}
 \fi
 \DeclareOption{draft}{\setlength\overfullrule{5pt}}
 \DeclareOption{final}{\setlength\overfullrule{0pt}}
-\ExecuteOptions{a4paper,10pt,twoside,onecolumn,final,openright,tate}
-\ProcessOptions\relax
-\input{ltjtbk1\@ptsize.clo}
-\RequirePackage{lltjext}
 \directlua{luatexbase.add_to_callback('luatexja.load_jfm',
   function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
   'ltj.jclasses_load_jfm', 1)}
 \directlua{luatexbase.add_to_callback('luatexja.load_jfm',
   function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
   'ltj.jclasses_load_jfm', 1)}
 \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')}
 \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')}
+\ExecuteOptions{a4paper,10pt,twoside,onecolumn,final,openright,tate}
+\ProcessOptions\relax
+\input{ltjtbk1\@ptsize.clo}
+\RequirePackage{lltjext}
 \if@stysize
   \setlength\columnsep{3\Cwd}
 \else
 \if@stysize
   \setlength\columnsep{3\Cwd}
 \else
index ac6f243..56727a8 100644 (file)
 \fi
 \DeclareOption{draft}{\setlength\overfullrule{5pt}}
 \DeclareOption{final}{\setlength\overfullrule{0pt}}
 \fi
 \DeclareOption{draft}{\setlength\overfullrule{5pt}}
 \DeclareOption{final}{\setlength\overfullrule{0pt}}
-\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,openany,tate}
-\ProcessOptions\relax
-\input{ltjtsize1\@ptsize.clo}
-\RequirePackage{lltjext}
 \directlua{luatexbase.add_to_callback('luatexja.load_jfm',
   function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
   'ltj.jclasses_load_jfm', 1)}
 \directlua{luatexbase.add_to_callback('luatexja.load_jfm',
   function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
   'ltj.jclasses_load_jfm', 1)}
 \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')}
 \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')}
+\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,openany,tate}
+\ProcessOptions\relax
+\input{ltjtsize1\@ptsize.clo}
+\RequirePackage{lltjext}
 \if@stysize
   \setlength\columnsep{3\Cwd}
 \else
 \if@stysize
   \setlength\columnsep{3\Cwd}
 \else
index 7cc4dd2..94254e7 100644 (file)
 \newdimen\@@topmargin
 \def\@outputpage{%
 \begingroup % the \endgroup is put in by \aftergroup
 \newdimen\@@topmargin
 \def\@outputpage{%
 \begingroup % the \endgroup is put in by \aftergroup
-  \ifnum\ltjgetparameter{direction}=
+  \ifnum\ltjgetparameter{direction}=4\else
     \dimen\z@\textwidth \textwidth\textheight \textheight\dimen\z@
   \fi
   \let \protect \noexpand
     \dimen\z@\textwidth \textwidth\textheight \textheight\dimen\z@
   \fi
   \let \protect \noexpand
        \@texttop
        \dimen@ \dp\@outputbox
        \unvbox \@outputbox
        \@texttop
        \dimen@ \dp\@outputbox
        \unvbox \@outputbox
-       \ifnum\ltjgetparameter{direction}=\hskip\z@\fi %%% LuaTeX-ja
+       \ifnum\ltjgetparameter{direction}=4\else\hskip\z@\fi %%% LuaTeX-ja
        \vskip -\dimen@
        \@textbottom
        }%
        \vskip -\dimen@
        \@textbottom
        }%
index 8b81486..ff5ca94 100644 (file)
     \fi
     \setlength\topskip\Gm@ltj@topskip
     \ifx\Gm@lines\@undefined\else
     \fi
     \setlength\topskip\Gm@ltj@topskip
     \ifx\Gm@lines\@undefined\else
-      \setlength\maxdepth{1\Cht}%
+      \@tempdima=\f@size\p@ \@tempdima=.5\@tempdima
+      \ifluatex
+        \advance\@tempdima\ltjgetparameter{talbaselineshift}%
+      \else
+        \advance\@tempdima\tbaselineshift
+      \fi
+      \ifdim\maxdepth<\@tempdima
+        \PackageWarningNoLine{lltjp-geometry}%
+          {\noexpand\maxdepth was changed from \the\maxdepth\space
+            to \the\@tempdima}
+        \maxdepth\@tempdima
+      \fi
       \setbox\z@=\hbox{\tate% next \ifdim must be executed in tate dir.
         \ifdim\topskip<\ht\tstrutbox
           \@tempdima\topskip
           \global\topskip\ht\tstrutbox
           \PackageWarningNoLine{lltjp-geometry}%
       \setbox\z@=\hbox{\tate% next \ifdim must be executed in tate dir.
         \ifdim\topskip<\ht\tstrutbox
           \@tempdima\topskip
           \global\topskip\ht\tstrutbox
           \PackageWarningNoLine{lltjp-geometry}%
-           {do not worry about  `\noexpand\topskip was changed ...'\MessageBreak
-              warning above}
-          \PackageWarningNoLine{lltjp-geometry}%
             {\noexpand\topskip was changed from \the\@tempdima\space
               to \the\topskip}
         \fi}%
             {\noexpand\topskip was changed from \the\@tempdima\space
               to \the\topskip}
         \fi}%