1 % \iffalse meta-comment
3 % -------------------------------------
4 % Original: jltxdoc.dtx
6 % Copyright 1995,1996,1997 ASCII Corporation.
8 % This file is part of pLaTeX2e system.
9 % -------------------------------------
15 %% {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
16 %% 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
17 %% Digits \0\1\2\3\4\5\6\7\8\9
18 %% Exclamation \! Double quote \" Hash (number) \#
19 %% Dollar \$ Percent \% Ampersand \&
20 %% Acute accent \' Left paren \( Right paren \)
21 %% Asterisk \* Plus \+ Comma \,
22 %% Minus \- Point \. Solidus \/
23 %% Colon \: Semicolon \; Less than \<
24 %% Equals \= Greater than \> Question mark \?
25 %% Commercial at \@ Left bracket \[ Backslash \\
26 %% Right bracket \] Circumflex \^ Underscore \_
27 %% Grave accent \` Left brace \{ Vertical bar \|
28 %% Right brace \} Tilde \~}
31 % \setcounter{StandardModuleDepth}{1}
35 % \changes{v1.0a}{1997/01/23}{\LaTeX \texttt{!<1996/12/01!>}への対応に
37 % \changes{v1.0b}{1997/07/29}{\cs{}と\texttt{"}の\cs{xspcode}を変更}
38 % \changes{v1.0b-ltj}{2011/09/27}{Lua\LaTeX-ja 用に修正}
39 % \changes{v1.0b-ltj-2}{2014/07/03}{orを意味する縦棒の出力が異常だったので修正}
40 % \changes{v1.0c}{2016/07/25}{docパッケージが上書きする\cs{verb}を再々定義}
41 % \changes{v1.0d}{2017/09/24}{\cs{vadjust\{\}}を追加}
46 %<class>\NeedsTeXFormat{LaTeX2e}
47 %<class>\ProvidesClass{ltjltxdoc}[2017/09/24 v1.0d-ltj-2 Standard LuaLaTeX-ja file]
49 \documentclass{ltjltxdoc}
50 \GetFileInfo{ltjltxdoc.cls}
51 \usepackage[kozuka-pr6n]{luatexja-preset}
52 \usepackage{unicode-math}
53 \setmathfont{Latin Modern Math}
54 \title{Lua\LaTeX-jaドキュメント記述用クラス}
55 \author{Lua\TeX-jaプロジェクト}
59 \DocInput{ltjltxdoc.dtx}
64 % \file{ltjltxdoc}クラスは、\file{ltxdoc}をテンプレートにして、日本語用の
68 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{ltxdoc}}
72 % \file{ltxdoc}の読み込み後に\file{luatexja}を読み込みます。
74 \RequirePackage{luatexja}
77 % \begin{macro}{\normalsize}
78 % \begin{macro}{\small}
79 % \begin{macro}{\parindent}
80 % \changes{v1.0a}{1997/01/23}{\cs{normalsize}, \cs{small}などの再定義}
81 % \file{ltxdoc}からロードされる\file{article}クラスでの行間などの設定値で、
82 % 日本語の文章を組版すると、行間が狭いように思われるので、多少広くするように
83 % 再設定します。また、段落先頭での字下げ量を全角一文字分とします。
85 \renewcommand{\normalsize}{%
86 \@setfontsize\normalsize\@xpt{15}%
87 \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
88 \abovedisplayshortskip \z@ \@plus3\p@
89 \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
90 \belowdisplayskip \abovedisplayskip
92 \renewcommand{\small}{%
93 \@setfontsize\small\@ixpt{11}%
94 \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
95 \abovedisplayshortskip \z@ \@plus2\p@
96 \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
97 \def\@listi{\leftmargin\leftmargini
98 \topsep 4\p@ \@plus2\p@ \@minus2\p@
99 \parsep 2\p@ \@plus\p@ \@minus\p@
101 \belowdisplayskip \abovedisplayskip}
103 \setlength\parindent{1\zw}
109 % \begin{macro}{\file}
110 % |\file|マクロは、ファイル名を示すのに用います。
112 \providecommand*{\file}[1]{\texttt{#1}}
116 % \begin{macro}{\pstyle}
117 % |\pstyle|マクロは、ページスタイル名を示すのに用います。
119 \providecommand*{\pstyle}[1]{\textsl{#1}}
123 % \begin{macro}{\Lcount}
124 % |\Lcount|マクロは、カウンタ名を示すのに用います。
126 \providecommand*{\Lcount}[1]{\textsl{\small#1}}
130 % \begin{macro}{\Lopt}
131 % |\Lopt|マクロは、クラスオプションやパッケージオプションを示すのに用います。
133 \providecommand*{\Lopt}[1]{\textsf{#1}}
137 % \begin{macro}{\dst}
138 % |\dst|マクロは、``\dst''を出力する。
140 \providecommand\dst{{\normalfont\scshape docstrip}}
144 % \begin{macro}{\NFSS}
145 % |\NFSS|マクロは、``\NFSS''を出力します。
147 \providecommand\NFSS{\textsf{NFSS}}
151 % \begin{macro}{\c@clineno}
152 % \begin{macro}{\mlineplus}
153 % |\mlineplus|マクロは、その時点でのマクロコードの行番号に、引数に指定された
154 % 行数だけを加えた数値を出力します。たとえば|\mlineplus{3}|とすれば、
155 % 直前のマクロコードの行番号(\arabic{CodelineNo})に3を加えた数、
156 % ``\mlineplus{3}''が出力されます。
158 \newcounter{@clineno}
159 \def\mlineplus#1{\setcounter{@clineno}{\arabic{CodelineNo}}%
160 \addtocounter{@clineno}{#1}\arabic{@clineno}}
165 % \begin{environment}{tsample}
166 % |tsample|環境は、環境内に指定された内容を罫線で囲って出力をします。
167 % 第一引数は、出力するボックスの高さです。
168 % このマクロ内では縦組になることに注意してください。
171 \hbox to\linewidth\bgroup\vrule width.1pt\hss
172 \vbox\bgroup\hrule height.1pt
173 \vskip.5\baselineskip
174 \vbox to\linewidth\bgroup\tate\hsize=#1\relax\vss}
177 \vskip.5\baselineskip
178 \hrule height.1pt\egroup
179 \hss\vrule width.1pt\egroup}
183 % \begin{macro}{\verb}
184 % p\LaTeX{}では、|\verb|コマンドを修正して直前に|\xkanjiskip|が入るように
185 % しています。しかし、\file{ltxdoc.cls}が読み込む\file{doc.sty}が上書き
186 % してしまいますので、これを再々定義します。\file{doc.sty}での定義は
188 % \def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi
189 % \bgroup \let\do\do@noligs \verbatim@nolig@list
190 % \ttfamily \verb@eol@error \let\do\@makeother \dospecials
191 % \@ifstar{\@sverb}{\@vobeyspaces \frenchspacing \@sverb}}
193 % となっていますので、\file{plcore.dtx}と同様に|\null|を外して|\vadjust{}|を
195 % \changes{v1.0c}{2016/07/25}{docパッケージが上書きする\cs{verb}を再々定義}
196 % \changes{v1.0d}{2017/09/24}{\cs{vadjust\{\}}を追加}
198 \def\verb{\relax\ifmmode\hbox\else\leavevmode\vadjust{}\fi
199 \bgroup \let\do\do@noligs \verbatim@nolig@list
200 \ttfamily \verb@eol@error \let\do\@makeother \dospecials
201 \@ifstar{\@sverb}{\@vobeyspaces \frenchspacing \@sverb}}
205 % \begin{macro}{alxspmode}
206 % コマンド名の|\|と16進数を示すための|"|の前にもスペースが入るよう、
207 % これらの|alxspmode|の値を変更します。
208 % \changes{v1.0b}{1997/07/29}{\cs{}と\texttt{"}の\cs{xspcode}を変更}
209 % \changes{v1.0b-ltj}{2011/09/27}{\cs{xspcode}→\cs{ltjsetparameter{alxspmode={...}}}}
211 \ltjsetparameter{alxspmode={"5C,3}} %% \
212 \ltjsetparameter{alxspmode={"22,3}} %% "
217 % \begin{macro}{mod@math@codes}
218 % docパッケージでは,ドライバ指定の表示の部分における\texttt{\char`\|}の
219 % \cs{mathcode}は\texttt{"226A}になっており,これにより\texttt{\char`\|}が小文字のjで表示されて
220 % しまう状況になっています.改善するため,\texttt{"207C}に変更します.
222 \def\mod@math@codes{\mathcode`\|="207C \mathcode`\&="2026
223 \mathcode`\-="702D \mathcode`\+="702B
224 \mathcode`\:="703A \mathcode`\=="703D }