OSDN Git Service

sync with jclasses.dtx v1.1e (pLaTeX 9bf8efa1)
[luatex-ja/luatexja.git] / src / ltjltxdoc.dtx
1 % \iffalse meta-comment
2 %% File: ltjltxdoc.dtx
3 %  -------------------------------------
4 %  Original: jltxdoc.dtx
5 %
6 %  Copyright 1995,1996,1997  ASCII Corporation.
7 %  Copyright (c) 2010 ASCII MEDIA WORKS
8 %  Copyright (c) 2016 Japanese TeX Development Community
9 %  Copyright (c) 2016-2017 Japanese TeX Development Community
10 %
11 %  This file is part of the pLaTeX2e system (community edition).
12 %  -------------------------------------
13 %
14 % \fi
15 %
16 % \setcounter{StandardModuleDepth}{1}
17 % \StopEventually{}
18 %
19 % \iffalse
20 % \changes{v1.0a}{1997/01/23}{\LaTeX \texttt{!<1996/12/01!>}への対応に
21 %     合わせて修正}
22 % \changes{v1.0b}{1997/07/29}{\cs{}と\texttt{"}の\cs{xspcode}を変更}
23 % \changes{v1.0b-ltj}{2011/09/27}{Lua\LaTeX-ja 用に修正}
24 % \changes{v1.0b-ltj-2}{2014/07/03}{orを意味する縦棒の出力が異常だったので修正}
25 % \changes{v1.0c}{2016/07/25}{docパッケージが上書きする\cs{verb}を再々定義}
26 % \changes{v1.0d}{2017/09/24}{\cs{vadjust\{\}}を追加}
27 % \changes{v1.0d-ltj-3}{2018/01/01}{\cs{Cjascale}を追加}
28 % \fi
29 %
30 % \iffalse
31 %<class>
32 %<class>\NeedsTeXFormat{LaTeX2e}
33 %<class>\ProvidesClass{ltjltxdoc}[2018/01/01 v1.0d-ltj-3 Standard LuaLaTeX-ja file]
34 %<*driver>
35 \documentclass{ltjltxdoc}
36 \GetFileInfo{ltjltxdoc.cls}
37 \begingroup
38  \suppressfontnotfounderror=1
39  \global\font\testfont=file:KozMinPr6N-Regular.otf
40  \global\font\testfonta=file:HaranoAjiMincho-Regular.otf
41 \endgroup
42 \ifx\testfonta\nullfont\ifx\testfont\nullfont
43   \usepackage[ipaex,nfssonly]{luatexja-preset}
44 \else
45   \usepackage[kozuka-pr6n,nfssonly]{luatexja-preset}
46 \fi\else
47   \usepackage[haranoaji,nfssonly]{luatexja-preset}
48 \fi
49 \let\testfont\undefined\let\testfonta\undefined
50 \usepackage{unicode-math}
51 \setmathfont{Latin Modern Math}
52 \title{Lua\LaTeX-jaドキュメント記述用クラス}
53 \author{Lua\TeX-jaプロジェクト}
54 \date{\filedate}
55 \begin{document}
56    \maketitle
57    \DocInput{ltjltxdoc.dtx}
58 \end{document}
59 %</driver>
60 % \fi
61 %
62 % \file{ltjltxdoc}クラスは、\file{ltxdoc}をテンプレートにして、日本語用の
63 % 修正を加えています。
64 %    \begin{macrocode}
65 %<*class>
66 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{ltxdoc}}
67 \ProcessOptions
68 \LoadClass{ltxdoc}
69 %    \end{macrocode}
70 % \file{ltxdoc}の読み込み後に\file{luatexja}を読み込みます。
71 %
72 % \changes{v1.60d-ltj-3}{2018/01/01}{\cs{Cjascale}を追加しました。
73 % これは、コミュニティ版p\kern-.05em\LaTeX で導入された、
74 % 和文スケール($1\,\cs{zw} \div \hbox{要求サイズ}$)を表す実数値マクロです。}
75 %
76 %    \begin{macrocode}
77 \RequirePackage{luatexja}
78 \def\Cjascale{0.962216}
79 %    \end{macrocode}
80 %
81 % \begin{macro}{\normalsize}
82 % \begin{macro}{\small}
83 % \begin{macro}{\parindent}
84 % \changes{v1.0a}{1997/01/23}{\cs{normalsize}, \cs{small}などの再定義}
85 % \file{ltxdoc}からロードされる\file{article}クラスでの行間などの設定値で、
86 % 日本語の文章を組版すると、行間が狭いように思われるので、多少広くするように
87 % 再設定します。また、段落先頭での字下げ量を全角一文字分とします。
88 %    \begin{macrocode}
89 \renewcommand{\normalsize}{%
90     \@setfontsize\normalsize\@xpt{15}%
91   \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
92   \abovedisplayshortskip \z@ \@plus3\p@
93   \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
94    \belowdisplayskip \abovedisplayskip
95    \let\@listi\@listI}
96 \renewcommand{\small}{%
97   \@setfontsize\small\@ixpt{11}%
98   \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
99   \abovedisplayshortskip \z@ \@plus2\p@
100   \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
101   \def\@listi{\leftmargin\leftmargini
102               \topsep 4\p@ \@plus2\p@ \@minus2\p@
103               \parsep 2\p@ \@plus\p@ \@minus\p@
104               \itemsep \parsep}%
105   \belowdisplayskip \abovedisplayskip}
106 \normalsize
107 \setlength\parindent{1\zw}
108 %    \end{macrocode}
109 % \end{macro}
110 % \end{macro}
111 % \end{macro}
112 %
113 % \begin{macro}{\file}
114 % |\file|マクロは、ファイル名を示すのに用います。
115 %    \begin{macrocode}
116 \providecommand*{\file}[1]{\texttt{#1}}
117 %    \end{macrocode}
118 % \end{macro}
119 %
120 % \begin{macro}{\pstyle}
121 % |\pstyle|マクロは、ページスタイル名を示すのに用います。
122 %    \begin{macrocode}
123 \providecommand*{\pstyle}[1]{\textsl{#1}}
124 %    \end{macrocode}
125 % \end{macro}
126 %
127 % \begin{macro}{\Lcount}
128 % |\Lcount|マクロは、カウンタ名を示すのに用います。
129 %    \begin{macrocode}
130 \providecommand*{\Lcount}[1]{\textsl{\small#1}}
131 %    \end{macrocode}
132 % \end{macro}
133 %
134 % \begin{macro}{\Lopt}
135 % |\Lopt|マクロは、クラスオプションやパッケージオプションを示すのに用います。
136 %    \begin{macrocode}
137 \providecommand*{\Lopt}[1]{\textsf{#1}}
138 %    \end{macrocode}
139 % \end{macro}
140 %
141 % \begin{macro}{\dst}
142 % |\dst|マクロは、``\dst''を出力する。
143 %    \begin{macrocode}
144 \providecommand\dst{{\normalfont\scshape docstrip}}
145 %    \end{macrocode}
146 % \end{macro}
147 %
148 % \begin{macro}{\NFSS}
149 % |\NFSS|マクロは、``\NFSS''を出力します。
150 %    \begin{macrocode}
151 \providecommand\NFSS{\textsf{NFSS}}
152 %    \end{macrocode}
153 % \end{macro}
154 %
155 % \begin{macro}{\c@clineno}
156 % \begin{macro}{\mlineplus}
157 % |\mlineplus|マクロは、その時点でのマクロコードの行番号に、引数に指定された
158 % 行数だけを加えた数値を出力します。たとえば|\mlineplus{3}|とすれば、
159 % 直前のマクロコードの行番号(\arabic{CodelineNo})に3を加えた数、
160 % ``\mlineplus{3}''が出力されます。
161 %    \begin{macrocode}
162 \newcounter{@clineno}
163 \def\mlineplus#1{\setcounter{@clineno}{\arabic{CodelineNo}}%
164    \addtocounter{@clineno}{#1}\arabic{@clineno}}
165 %    \end{macrocode}
166 % \end{macro}
167 % \end{macro}
168 %
169 % \begin{environment}{tsample}
170 % |tsample|環境は、環境内に指定された内容を罫線で囲って出力をします。
171 % 第一引数は、出力するボックスの高さです。
172 % このマクロ内では縦組になることに注意してください。
173 %    \begin{macrocode}
174 \def\tsample#1{%
175   \hbox to\linewidth\bgroup\vrule width.1pt\hss
176     \vbox\bgroup\hrule height.1pt
177       \vskip.5\baselineskip
178       \vbox to\linewidth\bgroup\tate\hsize=#1\relax\vss}
179 \def\endtsample{%
180       \vss\egroup
181       \vskip.5\baselineskip
182     \hrule height.1pt\egroup
183   \hss\vrule width.1pt\egroup}
184 %    \end{macrocode}
185 % \end{environment}
186 %
187 % \begin{macro}{\verb}
188 % p\LaTeX{}では、|\verb|コマンドを修正して直前に|\xkanjiskip|が入るように
189 % しています。しかし、\file{ltxdoc.cls}が読み込む\file{doc.sty}が上書き
190 % してしまいますので、これを再々定義します。\file{doc.sty}での定義は
191 %\begin{verbatim}
192 %   \def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi
193 %     \bgroup \let\do\do@noligs \verbatim@nolig@list
194 %       \ttfamily \verb@eol@error \let\do\@makeother \dospecials
195 %       \@ifstar{\@sverb}{\@vobeyspaces \frenchspacing \@sverb}}
196 %\end{verbatim}
197 % となっていますので、\file{plcore.dtx}と同様に|\null|を外して|\vadjust{}|を
198 % 入れます。
199 % \changes{v1.0c}{2016/07/25}{docパッケージが上書きする\cs{verb}を再々定義}
200 % \changes{v1.0d}{2017/09/24}{\cs{vadjust\{\}}を追加}
201 %    \begin{macrocode}
202 \def\verb{\relax\ifmmode\hbox\else\leavevmode\vadjust{}\fi
203   \bgroup \let\do\do@noligs \verbatim@nolig@list
204     \ttfamily \verb@eol@error \let\do\@makeother \dospecials
205     \@ifstar{\@sverb}{\@vobeyspaces \frenchspacing \@sverb}}
206 %    \end{macrocode}
207 % \end{macro}
208 %
209 % \begin{macro}{alxspmode}
210 % コマンド名の|\|と16進数を示すための|"|の前にもスペースが入るよう、
211 % これらの|alxspmode|の値を変更します。
212 % \changes{v1.0b}{1997/07/29}{\cs{}と\texttt{"}の\cs{xspcode}を変更}
213 % \changes{v1.0b-ltj}{2011/09/27}{\cs{xspcode}→\cs{ltjsetparameter{alxspmode={...}}}}
214 %    \begin{macrocode}
215 \ltjsetparameter{alxspmode={"5C,3}} %% \
216 \ltjsetparameter{alxspmode={"22,3}} %% "
217 %</class>
218 %    \end{macrocode}
219 % \end{macro}
220 %
221 % \begin{macro}{mod@math@codes}
222 % docパッケージでは,ドライバ指定の表示の部分における\texttt{\char`\|}の
223 % \cs{mathcode}は\texttt{"226A}になっており,これにより\texttt{\char`\|}が小文字のjで表示されて
224 % しまう状況になっています.改善するため,\texttt{"207C}に変更します.
225 %    \begin{macrocode}
226 \def\mod@math@codes{\mathcode`\|="207C \mathcode`\&="2026
227                     \mathcode`\-="702D \mathcode`\+="702B
228                     \mathcode`\:="703A \mathcode`\=="703D }
229 %    \end{macrocode}
230 % \end{macro}
231 % \Finale
232 %
233 \endinput