summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/jlreq/jlreq.cls
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/jlreq/jlreq.cls')
-rw-r--r--Master/texmf-dist/tex/latex/jlreq/jlreq.cls378
1 files changed, 220 insertions, 158 deletions
diff --git a/Master/texmf-dist/tex/latex/jlreq/jlreq.cls b/Master/texmf-dist/tex/latex/jlreq/jlreq.cls
index 4c14104d8b6..29fee6958bd 100644
--- a/Master/texmf-dist/tex/latex/jlreq/jlreq.cls
+++ b/Master/texmf-dist/tex/latex/jlreq/jlreq.cls
@@ -5,7 +5,7 @@
%%
% (based on JLReq 20120403 https://www.w3.org/TR/2012/NOTE-jlreq-20120403/ja/)
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{jlreq}[2017/04/29 jlreq]
+\ProvidesClass{jlreq}[2017/06/11 jlreq]
\RequirePackage{xkeyval,everyhook,filehook,etoolbox,ifthen}
%. helper1
@@ -699,19 +699,49 @@
}
\ifx l\jlreq@engine
- \newcommand*{\lastnodechar}{\directlua{luatexja.pltx_composite_last_node_char()}}
+ \newcommand*{\lastnodechar}{\directlua{luatexja.pltx_composite_last_node_char()}}% undocumented
\fi
% #1と#2の間に入るjmglue((x)kanjiskipも)を\jlreq@resultskipに入れる
-\newcommand*{\jlreq@calc@jfmglue}[2]{%
- \begingroup
- \setbox\jlreq@tempboxa=\hbox{\inhibitglue #1\inhibitglue\hbox{}\inhibitglue#2\inhibitglue}%
- \setbox\jlreq@tempboxb=\hbox{\inhibitglue #1#2\inhibitglue}%
- \edef\jlreq@do{\noexpand\jlreq@resultskip=\the\dimexpr\wd\jlreq@tempboxb - \wd\jlreq@tempboxa\relax\noexpand\relax}%
- \expandafter\endgroup
- \jlreq@do
-}
-
+\ifx l\jlreq@engine
+ \newcommand*{\jlreq@calc@jfmglue}[2]{%
+ \begingroup
+ \setbox\jlreq@tempboxa=\hbox{\inhibitglue #1\inhibitglue\hbox{}\inhibitglue#2\inhibitglue}%
+ \setbox\jlreq@tempboxb=\hbox{\inhibitglue #1#2\inhibitglue}%
+ \edef\jlreq@do{\noexpand\jlreq@resultskip=\the\dimexpr\wd\jlreq@tempboxb - \wd\jlreq@tempboxa\relax\noexpand\relax}%
+ \jlreq@do
+ \directlua{
+ local width = 0
+ local stretch = 0
+ local shrink = 0
+ local n = tex.box["jlreq@tempboxb"].head
+ while n do
+ if n.id == node.id("glue") then
+ width = width + n.width
+ stretch = stretch + n.stretch
+ shrink = shrink + n.shrink
+ end
+ n = n.next
+ end
+ tex.setglue("jlreq@tempskipa",width,stretch,shrink)
+ }%
+ % TeXで計測した物と一致していなければTeXでの方を信じる
+ \ifdim\jlreq@resultskip=\jlreq@tempskipa
+ \edef\jlreq@do{\noexpand\jlreq@resultskip=\the\jlreq@tempskipa\relax}%
+ \fi
+ \expandafter\endgroup
+ \jlreq@do
+ }
+\else
+ \newcommand*{\jlreq@calc@jfmglue}[2]{%
+ \begingroup
+ \setbox\jlreq@tempboxa=\hbox{\inhibitglue #1\inhibitglue\hbox{}\inhibitglue#2\inhibitglue}%
+ \setbox\jlreq@tempboxb=\hbox{\inhibitglue #1#2\inhibitglue}%
+ \edef\jlreq@do{\noexpand\jlreq@resultskip=\the\dimexpr\wd\jlreq@tempboxb - \wd\jlreq@tempboxa\relax\noexpand\relax}%
+ \expandafter\endgroup
+ \jlreq@do
+ }
+\fi
\newcount\jlreq@lastnodechar
% jlreq@lastnodecharに入っている値と次のトークン(\futureletで得る)の間に入るJFMグルー等を挿入する
\newcommand*{\jlreq@fixjfm}{%
@@ -768,14 +798,11 @@
\fi
%. 基本設定
-\def\jlreq@kanjiskip{0pt plus 0.25zw minus 0pt}
-\def\jlreq@xkanjiskip{0.25zw plus 0.25zw minus 0.125zw}
+\providecommand*{\jlreq@kanjiskip}{0pt plus 0.25\zw minus 0pt}
+\providecommand*{\jlreq@xkanjiskip}{0.25\zw plus 0.25\zw minus 0.125\zw}
\ifx l\jlreq@engine
- % 和文文字,欧文文字の設定(とりあえずLuaTeX-jaのデフォルトのまま)
- \ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, -8}}
- % kanjiskip, xkanjiskipはjfmのものを使う
- \ltjsetparameter{kanjiskip=\maxdimen}
- \ltjsetparameter{xkanjiskip=\maxdimen}
+ \ltjsetparameter{kanjiskip=\jlreq@kanjiskip}
+ \ltjsetparameter{xkanjiskip=\jlreq@xkanjiskip}
\else
\kanjiskip=\jlreq@kanjiskip
\xkanjiskip=\jlreq@xkanjiskip
@@ -1059,6 +1086,36 @@
\jlreq@setprebreakpenalty{‥}{10000}
% ¥100とか70%とか……
+%.. 文字範囲
+\ifx l\jlreq@engine
+ % 和文文字,欧文文字の設定(とりあえずLuaTeX-jaのデフォルトのまま)
+ \ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, -8}}
+\fi
+\ifx u\jlreq@engine
+ % \kcatcodeの設定
+ \def\jlreq@setkcatcode#1#2{\@for\@tempa:=#1\do{\kcatcode"\@tempa=#2\relax}}
+ \jlreq@aftercls@addtodeletecs{\jlreq@setkcatcode}
+ % とりあえずLuaTeX-jaのデフォルトのままに近い設定をする
+ % 範囲1&8
+ \jlreq@setkcatcode{80,100,180,250,2B0,300,1E00}{15}
+ % 範囲2
+ \jlreq@setkcatcode{370,400,1F00}{18}
+ % 範囲3
+ \jlreq@setkcatcode{2000,2070,20A0,20D0,2100,2150,2190,2200,2300,2400,2500,2580,25A0,2600,2700,2900,2980,2B00}{18}
+ % 範囲4
+ \jlreq@setkcatcode{500,530,590,600,700,750,780,7C0,800,840,8A0,900,980,A00,A80,B00,B80,C00,C80,D00,D80,E00,E80,F00,1000,10A0,1200,1380,13A0,1400,1680,16A0,1700,1720,1740,1760,1780,1800,18B0,1900,1950,1980,19E0,1A00,1A20,1AB0,1B00,1B80,1BC0,1C00,1C50,1C80,1CC0,1CD0,1D00,1D80,1DC0,2400,2440,27C0,27F0,2800,2A00,2C00,4DC0,A4D0,A500,A640,A6A0,A700,A720,A800,A840,A880,A8E0,A900,A930,A960,A980,A9E0,AA00,AA60,AA80,AAE0,AB00,AB30,AB70,ABC0,FB00,FB50,FE00,FE20,FE70,10000,10080,10100,10140,10190,101D0,10280,102A0,102E0,10300,10330,10350,10380,103A0,10400,10450,10480,104B0,10500,10530,10600,10800,10840,10860,10880,108E0,10900,10920,10980,109A0,10A00,10A60,10A80,10AC0,10B00,10B40,10B60,10B80,10C00,10C80,10E60,11000,11080,110D0,11100,11150,11180,111E0,11200,11280,112B0,11300,11400,11480,11580,11600,11660,11680,11700,118A0,11AC0,11C00,11C70,12000,12400,12480,13000,14400,16800,16A40,16AD0,16B00,16F00,16FE0,17000,18800,1B000,1BC00,1BCA0,1D000,1D100,1D200,1D300,1D360,1D400,1D800,1E000,1E800,1E900,1EE00,1F000,1F030,1F0A0,1F100,1F200,1F300,1F600,1F650,1F680,1F700,1F780,1F800,1F900,E000}{15}
+ % 範囲5(Variation Selectors SupplementはLuaTeX-jaではE01F0--E01EFまで範囲5,他は範囲6)
+ \jlreq@setkcatcode{D800,DB80,DC00,E0000,F0000,100000}{15}
+ % 範囲6
+ \jlreq@setkcatcode{3040,30A0,31F0}{17} % Hiragana,Katakana,Katakana Phonetic Extensions
+ \jlreq@setkcatcode{2460,3000,3200,3300,FE10,FE30,FE50,E0100}{18} % Enclosed Alphanumerics,CJK Symbols and Punctuation,Enclosed CJK Letters and Months,CJK Compatibility,Vertical Forms,CJK Compatibility Forms,Small Form Variants,Variation Selectors Supplement
+ \jlreq@setkcatcode{2E80,3190,3400,4E00,F900,20000}{16}
+ % 範囲7
+ \jlreq@setkcatcode{A000,A490}{18} % Yi Syllables,Yi Radicals
+ \jlreq@setkcatcode{1100,3130,AC00,D7B0}{19} % Hangul Jamo,Hangul Compatibility Jamo,Hangul Syllables,Hangul Jamo Extended-B
+ \jlreq@setkcatcode{2F00,2FF0,3100,31A0,31C0,A830}{16}
+\fi
+
% フォントサイズを設定
\newdimen\jlreq@fontsize
\newdimen\jlreq@jafontsize
@@ -1132,32 +1189,41 @@
\DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal}
%.. 和文
-% 行頭括弧に対して\inhibitglueを入れたりする命令を作る
-\def\jlreq@openbreackets@list{(〔[{〈《「『【‘“}
-\ifx p\jlreq@engine\else\edef\jlreq@openbreackets@list{\jlreq@openbreackets@list ⦅〘〖«〝}\fi
-\jlreq@aftercls@addtodeletecs{\jlreq@openbreackets@list}
-% \jlreq@openbreackets@listの各括弧に対して,\ifx\jlreq@nextchar 「1\fiみたいなのが並んだのを作る
-\def\jlreq@tempa{}
-\def\jlreq@do#1{\jlreq@ifendmark{#1}{}{\appto\jlreq@tempa{\ifx\jlreq@nextchar#11\fi}\jlreq@do}}
-\expandafter\jlreq@do\jlreq@openbreackets@list\jlreq@endmark
-% JFM glueの伸び縮みで行頭括弧が揃わないのを防ぐために常に\inhibitglueを入れる.
-\ifthenelse{\equal{\jlreq@open@bracket@pos}{nibu_tentsuki}}{
- \edef\jlreq@openbracket@hook{\noexpand\ifnum0\expandonce{\jlreq@tempa}>0 \unexpanded{\hskip -.5\jlreq@mol\inhibitglue}\noexpand\fi}
-}{% zenkakunibu_nibu,zenkaku_tentsuki
- \edef\jlreq@openbracket@hook{\noexpand\ifnum0\expandonce{\jlreq@tempa}>0 \unexpanded{\inhibitglue}\noexpand\fi}
-}
% JFMに関連する設定
\ifx l\jlreq@engine
% この値は後でjfm-jlreq内で読む
\directlua{jlreq.open_bracket_pos = [[\jlreq@open@bracket@pos]]}
\ifjlreq@burasage\directlua{jlreq.burasage = true}\else\directlua{jlreq.burasage = false}\fi
- % 行頭括弧はJFMで対応できるが,\item後だけはどうしようもない.
+ % \item後の行頭括弧のために仕込み.
\jlreq@saveoriginalcs{list}
\jlreq@saveoriginalcs{endlist}
- \def\list{\jlreq@pushhook@postpar{\futurelet\jlreq@nextchar\jlreq@openbracket@hook}\jlreq@original@list}
- \def\endlist{\jlreq@pophook@postpar\jlreq@original@endlist}
+ \edef\jlreq@do{
+ \unexpanded{\def\list#1#2}{%
+ \unexpanded{\jlreq@pushhook@postpar{\directlua{luatexja.jfmglue.create_beginpar_node()}}}%
+ \expandonce{\list{#1}{#2}}%
+ }
+ \unexpanded{\def\endlist}{%
+ \expandonce{\endlist}%
+ \noexpand\jlreq@pophook@postpar
+ }
+ }
+ \jlreq@do
\else
% 非LuaTeXの場合はJFMの入れ替えと\everyparでの処理で対処.
+ % 行頭括弧に対して\inhibitglueを入れたりする命令を作る
+ \def\jlreq@openbreackets@list{(〔[{〈《「『【‘“}
+ \ifx p\jlreq@engine\else\edef\jlreq@openbreackets@list{\jlreq@openbreackets@list ⦅〘〖«〝}\fi
+ \jlreq@aftercls@addtodeletecs{\jlreq@openbreackets@list}
+ % \jlreq@openbreackets@listの各括弧に対して,\ifx\jlreq@nextchar 「1\fiみたいなのが並んだのを作る
+ \def\jlreq@tempa{}
+ \def\jlreq@do#1{\jlreq@ifendmark{#1}{}{\appto\jlreq@tempa{\ifx\jlreq@nextchar#11\fi}\jlreq@do}}
+ \expandafter\jlreq@do\jlreq@openbreackets@list\jlreq@endmark
+ % JFM glueの伸び縮みで行頭括弧が揃わないのを防ぐために常に\inhibitglueを入れる.
+ \ifthenelse{\equal{\jlreq@open@bracket@pos}{nibu_tentsuki}}{
+ \edef\jlreq@openbracket@hook{\noexpand\ifnum0\expandonce{\jlreq@tempa}>0 \unexpanded{\hskip -.5\jlreq@mol\inhibitglue}\noexpand\fi}
+ }{% zenkakunibu_nibu,zenkaku_tentsuki
+ \edef\jlreq@openbracket@hook{\noexpand\ifnum0\expandonce{\jlreq@tempa}>0 \unexpanded{\inhibitglue}\noexpand\fi}
+ }
% \jlreq@jfmnameにJFMの名前を入れる
\def\jlreq@jfmname@prefix{}
\jlreq@aftercls@addtodeletecs{\jlreq@jfmname@prefix}
@@ -1298,13 +1364,28 @@
% \set@fontsizeが実行されるたびに追随して値を変える
% その処理は\jlreq@setfontsizehookに入れる
\jlreq@saveoriginalcs{set@fontsize}
-\renewcommand*{\set@fontsize}[3]{%
- \jlreq@original@set@fontsize{#1}{#2}{#3}%
- \jlreq@setfontsizehook
+\edef\jlreq@do{
+ \unexpanded{\def\set@fontsize#1#2#3}{%
+ \expandonce{\set@fontsize{#1}{#2}{#3}}%
+ \noexpand\jlreq@setfontsizehook
+ }
}
+\jlreq@do
\def\jlreq@setfontsizehook{}
-\appto\jlreq@setfontsizehook{\ifdim\parindent>0pt\setlength{\parindent}{1\jlreq@mol}\fi}
-\ifx l\jlreq@engine\else
+\appto\jlreq@setfontsizehook{\ifdim\parindent>0pt\setlength{\parindent}{1\zw}\fi}
+\ifx l\jlreq@engine
+ \@tempskipa=\ltjgetparameter{kanjiskip}
+ \ifdim\@tempskipa=\maxdimen\else
+ \appto\jlreq@setfontsizehook{%
+ \ltj@setpar@global
+ \ltjsetkanjiskip\jlreq@kanjiskip
+ \@tempskipa=\ltjgetparameter{xkanjiskip}%
+ \ifdim\@tempskipa>\z@
+ \ltjsetxkanjiskip\jlreq@xkanjiskip
+ \fi
+ }
+ \fi
+\else
\appto\jlreq@setfontsizehook{%
\kanjiskip=\jlreq@kanjiskip
\ifdim\xkanjiskip>0pt
@@ -1368,15 +1449,19 @@
\newcommand{\huge}{\@setfontsize\huge{2\jlreq@fontsize}{\dimexpr 28\jlreq@baselineskip/17\relax}}
\newcommand{\Huge}{\@setfontsize\Huge{\dimexpr 25\jlreq@fontsize/10\relax}{\dimexpr 33\jlreq@baselineskip/17\relax}}
-\if@tate
- \ifx l\jlreq@engine
- \RequirePackage{lltjext}
- \else
- \RequirePackage{plext}
- \fi
- \renewcommand*{\@Kanji}[1]{\expandafter\kansuji\number #1\relax} % \relax追加
- \rensujiskip=0\jlreq@mol plus 0.25\jlreq@mol minus 0\jlreq@mol
-\fi
+%. plextから一部拝借
+% オプションも*もない\rensuji(コピペ)
+\DeclareRobustCommand{\jlreq@rensuji}[1]{%
+ \ifvmode\leavevmode\fi
+ \jlreq@ifydir{\hbox{#1}}{%
+ \hskip 0pt plus 0.25\zw minus 0pt % \rensujiskipは固定値
+ \setbox\jlreq@tempboxa=\hbox{\yoko#1}%
+ \@tempdima\ht\jlreq@tempboxa \advance\@tempdima\dp\jlreq@tempboxa
+ \vrule\@width\z@ \@height.5\@tempdima \@depth.5\@tempdima
+ \hbox to 1\zw{\yoko\hss#1\hss}%
+ \hskip 0pt plus 0.25\zw minus 0pt
+}}
+\def\jlreq@Kanji#1{\expandafter\kansuji\csname c@#1\endcsname}
% このあたりはtarticleと同じ
\setlength\lineskip{.1\jlreq@gol}
@@ -1742,33 +1827,29 @@
}%
}
-% {1 = 字下げ}{2 = 字上げ}{3 = 前空き}{4 = 後ろ空き}{5 = トータル行数}{6 = afterindent}{7 = 偶数ページ改ページ}{8 = 出力}
-\long\def\jlreq@startBlockHeading@@@@#1#2#3#4#5#6#7#8{%
+% {1 = 配置(clr)}{2 = 字下げ}{3 = 字上げ}{4 = 前空き}{5 = 後ろ空き}{6 = トータル行数}{7 = afterindent}{8 = 偶数ページ改ページ}{9 = 出力}
+\long\def\jlreq@startBlockHeading@@@@#1#2#3#4#5#6#7#8#9{%
\if@noskipsec\leavevmode\fi
\par
- \jlreq@ifempty{#7}{}{\jlreq@setcurrentpage}%
+ \jlreq@ifempty{#8}{}{\jlreq@setcurrentpage}%
\setbox\jlreq@tempboxa=\vbox{\noindent
- \jlreq@tempafalse % 中央寄せするか
- \ifthenelse{\equal{#1}{center}}{\jlreq@tempatrue}{%
- \jlreq@ifempty{#1}{}{\hsize=\dimexpr\hsize - #1\relax}%
- }%
- \ifthenelse{\equal{#2}{center}}{\jlreq@tempatrue}{%
- \jlreq@ifempty{#2}{}{\hsize=\dimexpr\hsize - #2\relax}%
- }%
- \ifjlreq@tempa\hfil\fi
- #8}%
+ \ifx#1c\centering\fi
+ \ifx#1r\raggedleft\fi
+ \jlreq@ifempty{#2}{}{\hsize=\dimexpr\hsize - #2\relax}%
+ \jlreq@ifempty{#3}{}{\hsize=\dimexpr\hsize - #3\relax}%
+ #9}%
% \jlreq@tempskip(a/b)に前/後ろに入れるべき値を入れる
% #3がa:ならばその値は\jlreq@tempskipaには足さず\jlreq@tempskipcに入れておく
\jlreq@tempskipc=0pt
- \jlreq@startBlockHeading@analyzespace#3:\jlreq@endmark
+ \jlreq@startBlockHeading@analyzespace#4:\jlreq@endmark
\setbox\jlreq@tempboxb=\vbox{ }%
- \jlreq@ifempty{#5}{%
+ \jlreq@ifempty{#6}{%
\ifx\jlreq@startBlockHeading@space\@empty\else
\jlreq@tempskipa=\glueexpr\jlreq@startBlockHeading@space\relax
\fi
\jlreq@tempskipb=0pt\relax
}{%
- \jlreq@tempskipb=\glueexpr(\baselineskip*(#5 + 1) - \ht\jlreq@tempboxb - \dp\jlreq@tempboxb - \ht\jlreq@tempboxa - \dp\jlreq@tempboxa)/2\relax
+ \jlreq@tempskipb=\glueexpr(#6\baselineskip + \baselineskip - \ht\jlreq@tempboxb - \dp\jlreq@tempboxb - \ht\jlreq@tempboxa - \dp\jlreq@tempboxa)/2\relax
\ifx\jlreq@startBlockHeading@space\@empty
\jlreq@tempskipa=\jlreq@tempskipb
\else
@@ -1781,7 +1862,7 @@
\fi
\ifx r\jlreq@startBlockHeading@spacetype
\jlreq@tempskipa=\glueexpr\jlreq@startBlockHeading@space\relax%
- \jlreq@tempskipb=\glueexpr(\baselineskip*(#5 + 1) - \ht\jlreq@tempboxb - \dp\jlreq@tempboxb - \ht\jlreq@tempboxa - \dp\jlreq@tempboxa) - \jlreq@startBlockHeading@space\relax
+ \jlreq@tempskipb=\glueexpr(#6\baselineskip + \baselineskip - \ht\jlreq@tempboxb - \dp\jlreq@tempboxb - \ht\jlreq@tempboxa - \dp\jlreq@tempboxa) - \jlreq@startBlockHeading@space\relax
\fi
\fi
}%
@@ -1792,16 +1873,16 @@
\setbox\jlreq@tempboxa=\vbox{%
\ifdim\jlreq@tempskipa=0pt\else\vskip\jlreq@tempskipa\fi
\noindent
- \ifthenelse{\equal{#1}{center}}{}{\jlreq@ifempty{#1}{}{\hskip #1}}%
+ \jlreq@ifempty{#2}{}{\hskip #2}%
\box\jlreq@tempboxa}%
\dp\jlreq@tempboxa=\dimexpr\dp\jlreq@tempboxa + \ht\jlreq@tempboxa\relax
\ht\jlreq@tempboxa=0pt
% \showbox\jlreq@tempboxa
\box\jlreq@tempboxa
\par
- \jlreq@ifempty{#7}{\ifodd\jlreq@currentpage\nobreak\fi}{\nobreak}%
+ \jlreq@ifempty{#8}{\ifodd\jlreq@currentpage\nobreak\fi}{\nobreak}%
\prevdepth=0pt
- \jlreq@startBlockHeading@analyzespace#4:\jlreq@endmark
+ \jlreq@startBlockHeading@analyzespace#5:\jlreq@endmark
\jlreq@tempskipb=\glueexpr\jlreq@tempskipb + \ht\jlreq@tempboxb - \baselineskip\relax
\ifx\jlreq@startBlockHeading@space\@empty\else
\ifx a\jlreq@startBlockHeading@spacetype
@@ -1811,7 +1892,7 @@
\fi
\fi
\ifdim\jlreq@tempskipb=0pt\else\vspace{\jlreq@tempskipb}\fi
- #6%
+ #7%
\@afterheading
}
@@ -1843,6 +1924,7 @@
\def\jlreq@subtitle@font{}%
\def\jlreq@indent{0\jlreq@mol}%
\def\jlreq@end@indent{0\jlreq@mol}%
+ \def\jlreq@align{l}%
\edef\jlreq@format{\unexpanded{##1##2##3}}%
\edef\jlreq@heading@text@format{\unexpanded{##1}}%
\def\jlreq@pagebreak{}%
@@ -1899,6 +1981,14 @@
{subtitle_font}{\def\jlreq@subtitle@font{##1}}
{indent}{\def\jlreq@indent{##1}}
{end_indent}{\def\jlreq@end@indent{##1}}
+ {align}{%
+ \jlreq@switch{##1}{
+ {left}{\def\jlreq@align{l}}
+ {center}{\def\jlreq@align{c}}
+ {right}{\def\jlreq@align{r}}
+ {\ClassError{jlreq}{Unknown position `##1' in block heading #1}{\@ehc}}
+ }%
+ }
{format}{\edef\jlreq@format{\unexpanded{##1}}}
{after_label_space}{\def\jlreq@after@label@space{##1}}
{second_heading_text_indent}{%
@@ -2006,7 +2096,7 @@
\noexpand\jlreq@hook@beforeheadings{#1}%
\expandonce{\jlreq@pagebreak}%
\unexpanded{\jlreq@startBlockHeading{#1}{#2}}%
- {{\expandonce{\jlreq@indent}}{\expandonce{\jlreq@end@indent}}{\expandonce{\jlreq@before@space}}{\expandonce{\jlreq@after@space}}{\expandonce{\jlreq@lines}}{\expandonce{\jlreq@afterindent}}{\expandonce{\jlreq@allowbreak@evenpage}}}%
+ {{\expandonce{\jlreq@align}}{\expandonce{\jlreq@indent}}{\expandonce{\jlreq@end@indent}}{\expandonce{\jlreq@before@space}}{\expandonce{\jlreq@after@space}}{\expandonce{\jlreq@lines}}{\expandonce{\jlreq@afterindent}}{\expandonce{\jlreq@allowbreak@evenpage}}}%
{%
{\expandonce{\jlreq@label@format}}{\expandonce{\jlreq@label@format@modified}}%
{\expandonce{\jlreq@heading@text@format@wlabel}}{\expandonce{\jlreq@heading@text@format@wolabel}}%
@@ -2050,7 +2140,7 @@
{indent}{\def\jlreq@indent{##1}}
{mark}{\def\jlreq@mark{##1}}
{after_space}{%
- \ifdim##1<0pt\ClassWarning{jlreq}{after_space in Runin Heading #1 should be positive}\fi
+ \ifdim\dimexpr##1\relax<0pt\ClassWarning{jlreq}{after_space in Runin Heading #1 should be positive}\fi
\def\jlreq@after@space{##1}%
}
}{#3}%
@@ -2267,13 +2357,13 @@
\renewcommand*{\@seccntformat}[1]{\csname the#1\endcsname}
\if@tate
- \renewcommand{\thepart}{\Kanji{part}}
- \ifthenelse{\equal{\jlreq@article@type}{article}}{}{\renewcommand{\thechapter}{\Kanji{chapter}}}
- \renewcommand{\thesection}{\rensuji{\@arabic\c@section}}
- \renewcommand{\thesubsection}{\rensuji{\@alph\c@subsection}}
- \renewcommand{\thesubsubsection}{\rensuji{\@arabic\c@subsubsection}}
- \renewcommand{\theparagraph}{(\rensuji{\@arabic\c@paragraph})}
- \renewcommand{\thesubparagraph}{(\rensuji{\@arabic\c@subparagraph})}
+ \renewcommand{\thepart}{\jlreq@Kanji{part}}
+ \ifthenelse{\equal{\jlreq@article@type}{article}}{}{\renewcommand{\thechapter}{\jlreq@Kanji{chapter}}}
+ \renewcommand{\thesection}{\jlreq@rensuji{\@arabic\c@section}}
+ \renewcommand{\thesubsection}{\jlreq@rensuji{\@alph\c@subsection}}
+ \renewcommand{\thesubsubsection}{\jlreq@rensuji{\@arabic\c@subsubsection}}
+ \renewcommand{\theparagraph}{(\jlreq@rensuji{\@arabic\c@paragraph})}
+ \renewcommand{\thesubparagraph}{(\jlreq@rensuji{\@arabic\c@subparagraph})}
\ifthenelse{\equal{\jlreq@article@type}{article}}{
\NewBlockHeading{part}{0}{font={\jlreq@keepbaselineskip{\LARGE}},indent=4\jlreq@mol,lines=4,after_label_space=1\jlreq@mol,second_heading_text_indent={-1\jlreq@mol,1\jlreq@mol},subtitle_font={\jlreq@keepbaselineskip{\large}}}
@@ -2283,7 +2373,7 @@
\NewTobiraHeading{part}{-1}{label_format={第\thepart 部\hspace*{1\jlreq@mol}},format={\null\vfill {\Huge\hspace*{2\jlreq@mol}#1#2}\vspace*{2\jlreq@gol}}}
\NewBlockHeading{chapter}{0}{indent=2\jlreq@mol,lines=6,label_format={第\thechapter 章},font={\huge},after_label_space=1\jlreq@mol,second_heading_text_indent={-1\jlreq@mol,1\jlreq@mol},subtitle_font={\jlreq@keepbaselineskip{\Large}}}
\if@twoside\ModifyHeading{chapter}{allowbreak_if_evenpage=true}\fi
- \renewcommand{\thechapter}{\Kanji{chapter}}
+ \renewcommand{\thechapter}{\jlreq@Kanji{chapter}}
}
\NewBlockHeading{section}{1}{font={\jlreq@keepbaselineskip{\Large}},indent=6\jlreq@mol,lines=3,after_label_space=1\jlreq@mol,second_heading_text_indent={-1\jlreq@mol,1\jlreq@mol},subtitle_font={\jlreq@keepbaselineskip{\normalsize}}}
\if@twoside\ModifyHeading{section}{allowbreak_if_evenpage=true}\fi
@@ -2368,31 +2458,37 @@
% \footnoteと\footnotemarkの前後に\jlreq@hook@prenote/\jlreq@hook@postnoteを入れる
\jlreq@saveoriginalcs{footnote}%
+\edef\jlreq@do{
+ \unexpanded{\long\def\jlreq@fixjfm@footnote@[#1]#2}{%
+ \expandonce{\footnote[#1]{#2}}%
+ \noexpand\jlreq@hook@postnote
+ }
+ \unexpanded{\long\def\jlreq@fixjfm@footnote@@#1}{%
+ \expandonce{\footnote{#1}}%
+ \noexpand\jlreq@hook@postnote
+ }
+}
+\jlreq@do
\def\footnote{%
\jlreq@hook@prenote
\@ifnextchar[{\jlreq@fixjfm@footnote@}{\jlreq@fixjfm@footnote@@}%
}
-\long\def\jlreq@fixjfm@footnote@[#1]#2{%
- \jlreq@original@footnote[#1]{#2}%
- \jlreq@hook@postnote
-}
-\long\def\jlreq@fixjfm@footnote@@#1{%
- \jlreq@original@footnote{#1}%
- \jlreq@hook@postnote
+\edef\jlreq@do{
+ \unexpanded{\def\jlreq@fixjfm@footnotemark@[#1]}{%
+ \expandonce{\footnotemark[#1]}%
+ \noexpand\jlreq@hook@postnote
+ }
+ \unexpanded{\def\jlreq@fixjfm@footnotemark@@}{%
+ \expandonce{\footnotemark}%
+ \noexpand\jlreq@hook@postnote
+ }
}
+\jlreq@do
\jlreq@saveoriginalcs{footnotemark}%
\def\footnotemark{%
\jlreq@hook@prenote
\@ifnextchar[{\jlreq@fixjfm@footnotemark@}{\jlreq@fixjfm@footnotemark@@}%
}
-\def\jlreq@fixjfm@footnotemark@[#1]{%
- \jlreq@original@footnotemark[#1]%
- \jlreq@hook@postnote
-}
-\def\jlreq@fixjfm@footnotemark@@{%
- \jlreq@original@footnotemark
- \jlreq@hook@postnote
-}
\newcommand*\jlreq@referencemark@format[1]{#1}
\newif\ifjlreqadjustreferencemark
@@ -2498,7 +2594,7 @@
}
% 4.2.2注3
\if@tate
- \renewcommand*{\thefootnote}{\jlreq@open@bracket@before@space\inhibitglue(\rensuji{\@arabic\c@footnote})\inhibitglue}
+ \renewcommand*{\thefootnote}{\jlreq@open@bracket@before@space\inhibitglue(\jlreq@rensuji{\@arabic\c@footnote})\inhibitglue}
\else
\renewcommand*{\thefootnote}{\arabic{footnote}\hbox{})\inhibitglue}
\fi
@@ -3463,39 +3559,6 @@
\setlength\abovecaptionskip{.5\jlreq@gol}
\setlength\belowcaptionskip{0pt}
-
-% \begin{figure}***\caption{???}\end{figure}を
-% \begin{figure}\layoutfloat{***}\pcaption{???}\end{figure}にする.
-%
-%\long\def\jlreq@replace@layoutfloat#1\caption{\layoutfloat{#1}\jlreq@caption}
-%\long\def\jlreq@caption#1{\jlreq@ifendmark{#1}{}{\pcaption{#1}\csname\jlreq@replace@layoutfloat@#1\endcsname}}
-%\def\jlreq@modify@float#1{%
-% \jlreq@saveoriginalcs{#1}
-% \@namedef{#1}{\@ifnextchar[{\@nameuse{jlreq@float@#1}}{\@nameuse{jlreq@float@@#1}}}
-% \expandafter\long\expandafter\gdef\csname jlreq@float@#1\endcsname[##1]{%
-% \csname jlreq@original@#1\endcsname[##1]%
-% \csname jlreq@process@insertlayoutfloat@#1\endcsname{}%
-% }
-% \expandafter\long\expandafter\gdef\csname jlreq@float@@#1\endcsname{%
-% \csname jlreq@original@#1\endcsname
-% \csname jlreq@process@insertlayoutfloat@#1\endcsname{}%
-% }
-% \expandafter\long\expandafter\gdef\csname jlreq@process@insertlayoutfloat@#1\endcsname ##1##2\end{%
-% \csname jlreq@checkenvname@#1\endcsname{##1##2}\end
-% }
-% \expandafter\long\expandafter\gdef\csname jlreq@checkenvname@#1\endcsname ##1\end##2{%
-% \def\@tempa{##2}%
-% \def\@tempb{#1}%
-% \ifx\@tempa\@tempb
-% \def\jlreq@next{\jlreq@replace@layoutfloat##1\caption{\jlreq@endmark}\end{##2}}%
-% \else
-% \def\jlreq@next{\csname jlreq@process@insertlayoutfloat@#1\endcsname{##1\end{##2}}}%
-% \fi
-% \jlreq@next
-% }
-%}
-%\jlreq@aftercls@addtodeletecs{\jlreq@modify@float}
-
%.. figure環境
\newcounter{figure}
\renewcommand*{\thefigure}{\arabic{figure}}
@@ -3507,11 +3570,6 @@
\newenvironment{figure*}{\@dblfloat{figure}}{\end@dblfloat}
\newcommand*{\listfigurename}{図目次}
\newcommand{\figurename}{図}
-\if@tate
- \DeclareLayoutCaption{figure}<y>(\floatwidth)[cr]
-\fi
-%\jlreq@modify@float{figure}
-%\jlreq@modify@float{figure*}
%.. table環境
\newcounter{table}
@@ -3524,11 +3582,6 @@
\newenvironment{table*}{\@dblfloat{table}}{\end@dblfloat}
\newcommand{\listtablename}{表目次}
\newcommand{\tablename}{表}
-\if@tate
- \DeclareLayoutCaption{table}<y>(\floatwidth)[cr]
-\fi
-%\jlreq@modify@float{table}
-%\jlreq@modify@float{table*}
%. タイトル周り
\newenvironment{titlepage}{%
@@ -3726,10 +3779,11 @@
%. 箇条書き.cf. JISX4051 8.4
% 用語定義型
\newenvironment{description}{\list{}{%
- \setlength{\leftmargin}{0\jlreq@mol}% 下げない
- \setlength{\labelwidth}{0\jlreq@mol}%
- \addtolength{\leftmargin}{\leftskip}%
- \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\leftmargin}{0\zw}% 下げない
+ \setlength{\labelwidth}{0\zw}%
+ \setlength{\labelsep}{1\zw}
+% \addtolength{\leftmargin}{\leftskip}% たぶんこの二行いらない……
+% \addtolength{\leftmargin}{\labelsep}%
\let\makelabel=\descriptionlabel
% 同行じゃない場合はこんな感じ?
% \let\jlreq@original@@item=\@item
@@ -3792,10 +3846,10 @@
}
\if@tate
- \renewcommand{\theenumi}{\Kanji{enumi}}
- \renewcommand{\theenumii}{\rensuji{\@arabic\c@enumii}}
- \renewcommand{\theenumiii}{\rensuji{\@arabic\c@enumiii}}
- \renewcommand{\theenumiv}{\rensuji{\@arabic\c@enumiv}}
+ \renewcommand{\theenumi}{\jlreq@Kanji{enumi}}
+ \renewcommand{\theenumii}{\jlreq@rensuji{\@arabic\c@enumii}}
+ \renewcommand{\theenumiii}{\jlreq@rensuji{\@arabic\c@enumiii}}
+ \renewcommand{\theenumiv}{\jlreq@rensuji{\@arabic\c@enumiv}}
\fi
\newcommand{\labelenumi}{\theenumi}
\newcommand{\labelenumii}{\theenumii}
@@ -3883,10 +3937,6 @@
\setlength\tabcolsep{.5\jlreq@gol}
\setlength\arraycolsep{.5\jlreq@mol}
% 4.4.3.j
-%\RequirePackage{tabls} % plextと整合的でない
-%\setlength\extrarulesep{.25\jlreq@gol}
-%\setlength\tablinesep{.25\jlreq@gol}
-%\renewcommand{\arraystretch}{0}
\setlength\arrayrulewidth{\jlreq@omotekeiwidth} % 4.4.3.c
\setlength\doublerulesep{2pt}
\setlength\tabbingsep{\labelsep}
@@ -3910,7 +3960,7 @@
\protected@write\@auxout
{\let\label\@gobble \let\index\@gobble \let\glossary\@gobble
\if@tate
- \@temptokena{\rensuji{\thepage}}%
+ \@temptokena{\jlreq@rensuji{\thepage}}%
\else
\@temptokena{\thepage}%
\fi
@@ -4099,7 +4149,7 @@
\setcounter{subsection}{0}%
\gdef\thesection{\@Alph\c@section}%
\if@tate
- \def\thesection{\rensuji{\Alph{section}}}%
+ \def\thesection{\jlreq@rensuji{\Alph{section}}}%
\else
\def\thesection{\Alph{section}}%
\fi
@@ -4108,7 +4158,7 @@
\appto\appendix{%
\setcounter{chapter}{0}%
\if@tate
- \def\thechapter{\rensuji{\Alph{chapter}}}%
+ \def\thechapter{\jlreq@rensuji{\Alph{chapter}}}%
\else
\def\thechapter{\Alph{chapter}}%
\fi
@@ -4131,13 +4181,19 @@
\ifnum\jlreq@lastnodechar=-1\else
\inhibitglue
\jlreq@calc@jfmglue{\char\jlreq@lastnodechar}{阿}%
- \ifdim\jlreq@resultskip=0pt\else\hskip\jlreq@resultskip\fi
+ \edef\@tempa{\the\jlreq@resultskip}%
+ \edef\@tempb{\detokenize{0.0pt}}%
+ \ifx\@tempa\@tempb\else\hskip\jlreq@resultskip\fi
\fi
- \hbox{\yoko \vrule width 0pt height 0.88\zw depth 0.12\zw #1}%
+ \hbox{\yoko
+ \setbox\jlreq@tempboxa=\hbox{阿}%
+ \vrule width 0pt height \ht\jlreq@tempboxa depth \dp\jlreq@tempboxa #1}%
\def\jlreq@do{%
\jlreq@isletter{\jlreq@nextchar}{%
- \jlreq@calc@jfmglue{\jlreq@nextchar}{阿}%
- \ifdim\jlreq@resultskip=0pt\else\hskip\jlreq@resultskip\fi
+ \jlreq@calc@jfmglue{阿}{\jlreq@nextchar}%
+ \edef\@tempa{\the\jlreq@resultskip}%
+ \edef\@tempb{\detokenize{0.0pt}}%
+ \ifx\@tempa\@tempb\else\hskip\jlreq@resultskip\fi
\inhibitglue
}{}%
}%
@@ -4187,8 +4243,14 @@
\AtEndOfPackageFile*{amsthm}{%
\jlreq@saveoriginalcs{proof}%
\jlreq@saveoriginalcs{endproof}%
+ \edef\jlreq@do{
+ \unexpanded{\def\jlreq@proof[#1]}{%
+ \labelsep=1\jlreq@mol
+ \expandonce{\proof[{\normalfont\sffamily\bfseries #1\inhibitglue}\nopunct]}%
+ }
+ }
+ \jlreq@do
\def\proof{\@ifnextchar[{\jlreq@proof}{\jlreq@proof[\proofname]}}
- \def\jlreq@proof[#1]{\labelsep=1\jlreq@mol\jlreq@original@proof[{\normalfont\sffamily\bfseries #1\inhibitglue}\nopunct]}
\renewcommand{\proofname}{証明}
\jlreq@setupamsthm
\theoremstyle{jlreq}