review 4.2.0 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (165) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby-win.yml +11 -5
  3. data/.rubocop.yml +113 -24
  4. data/NEWS.ja.md +94 -0
  5. data/NEWS.md +94 -0
  6. data/bin/review-catalog-converter +1 -1
  7. data/bin/review-check +2 -4
  8. data/bin/review-checkdep +1 -1
  9. data/bin/review-compile +8 -14
  10. data/bin/review-validate +1 -1
  11. data/doc/config.yml.sample +4 -1
  12. data/doc/config.yml.sample-simple +1 -1
  13. data/doc/format.ja.md +83 -4
  14. data/doc/format.md +84 -7
  15. data/doc/makeindex.ja.md +2 -2
  16. data/doc/quickstart.ja.md +3 -3
  17. data/doc/quickstart.md +2 -2
  18. data/lib/epubmaker/content.rb +3 -2
  19. data/lib/epubmaker/epubcommon.rb +33 -25
  20. data/lib/epubmaker/epubv2.rb +5 -6
  21. data/lib/epubmaker/epubv3.rb +20 -18
  22. data/lib/review/book.rb +2 -2
  23. data/lib/review/book/base.rb +61 -25
  24. data/lib/review/book/bib.rb +21 -0
  25. data/lib/review/book/book_unit.rb +155 -0
  26. data/lib/review/book/chapter.rb +30 -26
  27. data/lib/review/book/index.rb +23 -185
  28. data/lib/review/book/index/item.rb +7 -1
  29. data/lib/review/book/part.rb +21 -9
  30. data/lib/review/book/volume.rb +1 -1
  31. data/lib/review/builder.rb +68 -13
  32. data/lib/review/catalog.rb +2 -2
  33. data/lib/review/compiler.rb +159 -73
  34. data/lib/review/configure.rb +22 -1
  35. data/lib/review/converter.rb +1 -1
  36. data/lib/review/epub2html.rb +6 -1
  37. data/lib/review/epubmaker.rb +12 -23
  38. data/lib/review/htmlbuilder.rb +36 -7
  39. data/lib/review/htmlutils.rb +7 -10
  40. data/lib/review/i18n.rb +1 -1
  41. data/lib/review/idgxmlbuilder.rb +51 -6
  42. data/lib/review/idgxmlmaker.rb +9 -14
  43. data/lib/review/index_builder.rb +653 -0
  44. data/lib/review/init.rb +5 -13
  45. data/lib/review/latexbuilder.rb +65 -4
  46. data/lib/review/logger.rb +2 -2
  47. data/lib/review/makerhelper.rb +11 -0
  48. data/lib/review/markdownbuilder.rb +19 -1
  49. data/lib/review/pdfmaker.rb +17 -36
  50. data/lib/review/plaintextbuilder.rb +48 -2
  51. data/lib/review/preprocessor.rb +5 -5
  52. data/lib/review/rstbuilder.rb +25 -6
  53. data/lib/review/sec_counter.rb +13 -0
  54. data/lib/review/textmaker.rb +4 -12
  55. data/lib/review/tocprinter.rb +2 -3
  56. data/lib/review/topbuilder.rb +26 -0
  57. data/lib/review/update.rb +7 -7
  58. data/lib/review/version.rb +1 -1
  59. data/lib/review/volumeprinter.rb +2 -3
  60. data/lib/review/webmaker.rb +9 -20
  61. data/review.gemspec +2 -2
  62. data/samples/sample-book/src/config.yml +1 -1
  63. data/samples/syntax-book/Gemfile +1 -1
  64. data/samples/syntax-book/config.yml +1 -1
  65. data/templates/latex/config.erb +27 -23
  66. data/templates/latex/review-jlreq/README.md +3 -1
  67. data/templates/latex/review-jlreq/review-base.sty +31 -15
  68. data/templates/latex/review-jlreq/review-jlreq.cls +8 -24
  69. data/templates/latex/review-jsbook/README.md +7 -5
  70. data/templates/latex/review-jsbook/review-base.sty +34 -16
  71. data/templates/latex/review-jsbook/review-jsbook.cls +4 -2
  72. data/templates/web/html/layout-html5.html.erb +1 -1
  73. data/test/assets/test_template.tex +3 -3
  74. data/test/assets/test_template_backmatter.tex +3 -3
  75. data/test/book_test_helper.rb +11 -5
  76. data/test/test_book.rb +54 -63
  77. data/test/test_book_chapter.rb +93 -52
  78. data/test/test_builder.rb +24 -15
  79. data/test/test_converter.rb +1 -0
  80. data/test/test_epub3maker.rb +2 -2
  81. data/test/test_epubmaker.rb +8 -0
  82. data/test/test_helper.rb +4 -1
  83. data/test/test_htmlbuilder.rb +627 -56
  84. data/test/test_htmlutils.rb +0 -12
  85. data/test/test_i18n.rb +33 -33
  86. data/test/test_idgxmlbuilder.rb +358 -11
  87. data/test/test_idgxmlmaker_cmd.rb +1 -1
  88. data/test/test_index.rb +62 -52
  89. data/test/test_indexbuilder.rb +52 -0
  90. data/test/test_latexbuilder.rb +547 -10
  91. data/test/test_latexbuilder_v2.rb +43 -5
  92. data/test/test_logger.rb +7 -7
  93. data/test/test_makerhelper.rb +0 -12
  94. data/test/test_markdownbuilder.rb +3 -0
  95. data/test/test_pdfmaker.rb +13 -12
  96. data/test/test_pdfmaker_cmd.rb +1 -1
  97. data/test/test_plaintextbuilder.rb +422 -7
  98. data/test/test_review_ext.rb +2 -1
  99. data/test/test_rstbuilder.rb +25 -1
  100. data/test/test_sec_counter.rb +156 -0
  101. data/test/test_textmaker_cmd.rb +1 -1
  102. data/test/test_topbuilder.rb +187 -10
  103. data/test/test_update.rb +10 -10
  104. data/test/test_webtocprinter.rb +12 -12
  105. data/vendor/gentombow/LICENSE +1 -1
  106. data/vendor/gentombow/Makefile +0 -1
  107. data/vendor/gentombow/bounddvi-en.pdf +0 -0
  108. data/vendor/gentombow/bounddvi-en.tex +1 -0
  109. data/vendor/gentombow/bounddvi.pdf +0 -0
  110. data/vendor/gentombow/bounddvi.sty +30 -7
  111. data/vendor/gentombow/bounddvi.tex +1 -0
  112. data/vendor/gentombow/create_archive.sh +1 -0
  113. data/vendor/gentombow/gentombow-ja.pdf +0 -0
  114. data/vendor/gentombow/gentombow-ja.tex +9 -0
  115. data/vendor/gentombow/gentombow.pdf +0 -0
  116. data/vendor/gentombow/gentombow.sty +32 -10
  117. data/vendor/gentombow/gentombow.tex +8 -0
  118. data/vendor/gentombow/tests/gentombow-01-pdfx.tex +8 -0
  119. data/vendor/gentombow/tests/gentombow-02-pdfx.tex +8 -0
  120. data/vendor/jsclasses/Makefile +3 -2
  121. data/vendor/jsclasses/create_archive.sh +5 -5
  122. data/vendor/jsclasses/jis/Makefile +3 -2
  123. data/vendor/jsclasses/jis/jsarticle.cls +22 -18
  124. data/vendor/jsclasses/jis/jsbook.cls +22 -18
  125. data/vendor/jsclasses/jis/jsclasses.dtx +94 -13
  126. data/vendor/jsclasses/jis/jsclasses.ins +15 -5
  127. data/vendor/jsclasses/jis/jslogo.ins +9 -0
  128. data/vendor/jsclasses/jis/jslogo.sty +1 -13
  129. data/vendor/jsclasses/jis/jspf.cls +22 -18
  130. data/vendor/jsclasses/jis/jsreport.cls +22 -18
  131. data/vendor/jsclasses/jis/jsverb.ins +9 -0
  132. data/vendor/jsclasses/jis/jsverb.sty +1 -13
  133. data/vendor/jsclasses/jis/kiyou.cls +22 -18
  134. data/vendor/jsclasses/jis/minijs.sty +65 -22
  135. data/vendor/jsclasses/jis/okumacro.ins +9 -0
  136. data/vendor/jsclasses/jis/okumacro.sty +1 -13
  137. data/vendor/jsclasses/jis/okuverb.ins +9 -0
  138. data/vendor/jsclasses/jis/okuverb.sty +1 -13
  139. data/vendor/jsclasses/jis/winjis.sty +23 -19
  140. data/vendor/jsclasses/jsarticle.cls +22 -18
  141. data/vendor/jsclasses/jsbook.cls +22 -18
  142. data/vendor/jsclasses/jsclasses.dtx +94 -13
  143. data/vendor/jsclasses/jsclasses.ins +15 -5
  144. data/vendor/jsclasses/jsclasses.pdf +0 -0
  145. data/vendor/jsclasses/jslogo.ins +9 -0
  146. data/vendor/jsclasses/jslogo.pdf +0 -0
  147. data/vendor/jsclasses/jslogo.sty +1 -13
  148. data/vendor/jsclasses/jspf.cls +22 -18
  149. data/vendor/jsclasses/jsreport.cls +22 -18
  150. data/vendor/jsclasses/jsverb.ins +9 -0
  151. data/vendor/jsclasses/jsverb.pdf +0 -0
  152. data/vendor/jsclasses/jsverb.sty +1 -13
  153. data/vendor/jsclasses/kiyou.cls +22 -18
  154. data/vendor/jsclasses/minijs.sty +68 -22
  155. data/vendor/jsclasses/okumacro.ins +9 -0
  156. data/vendor/jsclasses/okumacro.pdf +0 -0
  157. data/vendor/jsclasses/okumacro.sty +1 -13
  158. data/vendor/jsclasses/okuverb.ins +9 -0
  159. data/vendor/jsclasses/okuverb.pdf +0 -0
  160. data/vendor/jsclasses/okuverb.sty +1 -13
  161. data/vendor/jsclasses/tests/relfont.tex +10 -0
  162. data/vendor/jsclasses/winjis.sty +23 -19
  163. metadata +14 -6
  164. data/.rubocop_todo.yml +0 -7
  165. data/lib/review/book/compilable.rb +0 -174
@@ -1,4 +1,13 @@
1
+ \input docstrip
2
+ \preamble
3
+
4
+ Maintained on GitHub: https://github.com/texjporg/jsclasses
5
+
6
+ \endpreamble
7
+
1
8
  \def\batchfile{okumacro.ins}
2
9
  \input docstrip.tex
3
10
  \keepsilent
4
11
  \generateFile{okumacro.sty}{f}{\from{okumacro.dtx}{okumacro}}
12
+
13
+ \endbatchfile
@@ -6,20 +6,8 @@
6
6
  %%
7
7
  %% okumacro.dtx (with options: `okumacro')
8
8
  %%
9
- %% IMPORTANT NOTICE:
9
+ %% Maintained on GitHub: https://github.com/texjporg/jsclasses
10
10
  %%
11
- %% For the copyright see the source file.
12
- %%
13
- %% Any modified versions of this file must be renamed
14
- %% with new filenames distinct from okumacro.sty.
15
- %%
16
- %% For distribution of the original source see the terms
17
- %% for copying and modification in the file okumacro.dtx.
18
- %%
19
- %% This generated file may be distributed as long as the
20
- %% original source files, as listed above, are part of the
21
- %% same distribution. (The sources need not necessarily be
22
- %% in the same archive or directory.)
23
11
  \NeedsTeXFormat{pLaTeX2e}
24
12
  \ProvidesPackage{okumacro}[2019/07/25 okumura, texjporg]
25
13
  \providecommand{\rubyfamily}{}
@@ -1,4 +1,13 @@
1
+ \input docstrip
2
+ \preamble
3
+
4
+ Maintained on GitHub: https://github.com/texjporg/jsclasses
5
+
6
+ \endpreamble
7
+
1
8
  \def\batchfile{okuverb.ins}
2
9
  \input docstrip.tex
3
10
  \keepsilent
4
11
  \generateFile{okuverb.sty}{f}{\from{okuverb.dtx}{okuverb}}
12
+
13
+ \endbatchfile
@@ -6,20 +6,8 @@
6
6
  %%
7
7
  %% okuverb.dtx (with options: `okuverb')
8
8
  %%
9
- %% IMPORTANT NOTICE:
9
+ %% Maintained on GitHub: https://github.com/texjporg/jsclasses
10
10
  %%
11
- %% For the copyright see the source file.
12
- %%
13
- %% Any modified versions of this file must be renamed
14
- %% with new filenames distinct from okuverb.sty.
15
- %%
16
- %% For distribution of the original source see the terms
17
- %% for copying and modification in the file okuverb.dtx.
18
- %%
19
- %% This generated file may be distributed as long as the
20
- %% original source files, as listed above, are part of the
21
- %% same distribution. (The sources need not necessarily be
22
- %% in the same archive or directory.)
23
11
  \NeedsTeXFormat{pLaTeX2e}
24
12
  \ProvidesFile{okuverb.sty}[2003/09/03 okumura]
25
13
  \newif\if@yen \@yenfalse
@@ -8,9 +8,10 @@
8
8
  % both from http://psitau.kitunebi.com/utf.html by psitau
9
9
  %
10
10
  \NeedsTeXFormat{pLaTeX2e}
11
- \ProvidesPackage{winjis}[2018/02/04 okumura, texjporg]
11
+ \ProvidesPackage{winjis}
12
+ [2020/10/04 okumura, texjporg]
12
13
  %
13
- % if upLaTeX detected, abort loading this package
14
+ %% if upLaTeX detected, abort loading this package
14
15
  \ifnum \ifx\ucs\@undefined\z@\else\ucs"3000 \fi ="3000 % upTeX
15
16
  \PackageError{winjis}{This package is not required on upLaTeX}
16
17
  {Package `winjis' is meant for using platform-dependent
@@ -20,8 +21,8 @@
20
21
  \expandafter\endinput
21
22
  \fi
22
23
  %
23
- % if jsclasses (<= 2017) loaded, winjis option is available;
24
- % abort loading this package
24
+ %% if jsclasses (<= 2017) loaded, winjis option is available;
25
+ %% abort loading this package
25
26
  \ifx\winjistrue\@undefined\else
26
27
  \PackageWarning{winjis}{%
27
28
  Your version of jsclasses should have\MessageBreak
@@ -29,10 +30,10 @@
29
30
  \expandafter\endinput
30
31
  \fi
31
32
  %
32
- % "fake" jsarticle
33
+ %% "fake" jsarticle
33
34
  \expandafter\def\csname ver@jsarticle.cls\endcsname{}
34
35
  %
35
- % use winjis; force jsclasses-style scaling
36
+ %% use winjis; force jsclasses-style scaling
36
37
  \@for\@tempa:=5,6,7,8,9,10,10.95,12,14.4,17.28,20.74,24.88\do{%
37
38
  \expandafter\let\csname JY1/mc/m/n/\@tempa\endcsname\relax
38
39
  \expandafter\let\csname JY1/gt/m/n/\@tempa\endcsname\relax
@@ -55,24 +56,15 @@
55
56
  \DeclareFontShape{JT1}{gt}{m}{n}{<-> s * [0.93885] winjisg-v}{}
56
57
  \fi
57
58
  %
58
- % if jsclasses loaded, the rest of this package is already done;
59
- % exit now
59
+ %% if jsclasses loaded, the rest of this package is already done;
60
+ %% exit now
60
61
  \ifx\@jsc@uplatextrue\@undefined\else
61
62
  \normalsize
62
63
  \expandafter\endinput
63
64
  \fi
64
65
  %
65
- % \@setfontsize with \parindent and \(x)kanjiskip settings
66
- \def\@setfontsize#1#2#3{\@nomath#1%
67
- \ifx\protect\@typeset@protect
68
- \let\@currsize#1%
69
- \fi
70
- \fontsize{#2}{#3}\selectfont
71
- \ifdim\parindent>\z@ \parindent=1zw \fi
72
- \kanjiskip=0zw plus .1zw minus .01zw
73
- \xkanjiskip=0.25em plus 0.15em minus 0.06em}
74
- %
75
- % ad-hoc "relation font"
66
+ %% ad-hoc "relation font"
67
+ %% does not support LaTeX2e 2020-02-02 or later!
76
68
  \DeclareRobustCommand\rmfamily
77
69
  {\not@math@alphabet\rmfamily\mathrm
78
70
  \romanfamily\rmdefault\kanjifamily\mcdefault\selectfont}
@@ -82,6 +74,18 @@
82
74
  \DeclareRobustCommand\ttfamily
83
75
  {\not@math@alphabet\ttfamily\mathtt
84
76
  \romanfamily\ttdefault\kanjifamily\gtdefault\selectfont}
77
+ %
78
+ %% \@setfontsize with \parindent and \(x)kanjiskip settings
79
+ \def\@setfontsize#1#2#3{\@nomath#1%
80
+ \ifx\protect\@typeset@protect
81
+ \let\@currsize#1%
82
+ \fi
83
+ \fontsize{#2}{#3}\selectfont
84
+ \ifdim\parindent>\z@ \parindent=1zw \fi
85
+ \kanjiskip=0zw plus .1zw minus .01zw
86
+ \xkanjiskip=0.25em plus 0.15em minus 0.06em}
87
+ %
88
+ %% initialize
85
89
  \normalsize
86
90
  %
87
91
  \endinput
@@ -4,28 +4,16 @@
4
4
  %%
5
5
  %% The original source files were:
6
6
  %%
7
- %% jsclasses.dtx (with options: `article')
7
+ %% jsclasses.dtx (with options: `class,article')
8
8
  %%
9
- %% IMPORTANT NOTICE:
9
+ %% Maintained on GitHub: https://github.com/texjporg/jsclasses
10
10
  %%
11
- %% For the copyright see the source file.
12
- %%
13
- %% Any modified versions of this file must be renamed
14
- %% with new filenames distinct from jsarticle.cls.
15
- %%
16
- %% For distribution of the original source see the terms
17
- %% for copying and modification in the file jsclasses.dtx.
18
- %%
19
- %% This generated file may be distributed as long as the
20
- %% original source files, as listed above, are part of the
21
- %% same distribution. (The sources need not necessarily be
22
- %% in the same archive or directory.)
23
11
  \ifx\epTeXinputencoding\undefined\else
24
12
  \epTeXinputencoding utf8 % ^^A added (2017-10-04)
25
13
  \fi
26
14
  \NeedsTeXFormat{pLaTeX2e}
27
15
  \ProvidesClass{jsarticle}
28
- [2020/02/02 jsclasses (okumura, texjporg)]
16
+ [2020/10/09 jsclasses (okumura, texjporg)]
29
17
  \def\jsc@clsname{jsarticle}
30
18
  \newif\ifjsc@needsp@tch
31
19
  \jsc@needsp@tchfalse
@@ -259,10 +247,11 @@
259
247
  \fi
260
248
  \ifpapersize
261
249
  \iftombow
262
- \AtBeginDvi{\special{papersize=\the\stockwidth,\the\stockheight}}
250
+ \edef\jsc@papersize@special{papersize=\the\stockwidth,\the\stockheight}
263
251
  \else
264
- \AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}
252
+ \edef\jsc@papersize@special{papersize=\the\paperwidth,\the\paperheight}
265
253
  \fi
254
+ \AtBeginDvi{\special{\jsc@papersize@special}}
266
255
  \fi
267
256
  \if@slide\def\n@baseline{13}\else\def\n@baseline{16}\fi
268
257
  \newdimen\jsc@mpt
@@ -463,6 +452,10 @@
463
452
  \DeclareFontShape{\jsc@JTn}{gt}{m}{sl}{<->ssub*gt/m/n}{}
464
453
  \DeclareFontShape{\jsc@JTn}{mc}{bx}{it}{<->ssub*gt/m/n}{}
465
454
  \DeclareFontShape{\jsc@JTn}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
455
+ %% ad-hoc "relation font"
456
+ \@ifl@t@r\fmtversion{2020/10/01}
457
+ {\jsc@needsp@tchfalse}{\jsc@needsp@tchtrue}
458
+ \ifjsc@needsp@tch % --- for 2020-02-02 or older BEGIN
466
459
  \ifx\@rmfamilyhook\@undefined % old
467
460
  \DeclareRobustCommand\rmfamily
468
461
  {\not@math@alphabet\rmfamily\mathrm
@@ -492,6 +485,14 @@
492
485
  \g@addto@macro\@ttfamilyhook
493
486
  {\prepare@family@series@update@kanji{gt}\gtdefault}
494
487
  \fi
488
+ \else % --- for 2020-02-02 or older END & for 2020-10-01 BEGIN
489
+ \AddToHook{rmfamily}%
490
+ {\prepare@family@series@update@kanji{mc}\mcdefault}
491
+ \AddToHook{sffamily}%
492
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
493
+ \AddToHook{ttfamily}%
494
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
495
+ \fi % --- for 2020-10-01 END
495
496
  \ifx\DeclareFixJFMCJKTextFontCommand\@undefined
496
497
  \DeclareRobustCommand\textmc[1]{%
497
498
  \relax\ifmmode \expandafter\nfss@text \fi{\mcfamily #1}}
@@ -700,6 +701,7 @@
700
701
  \xspcode`^^fe=3
701
702
  \xspcode`^^ff=3
702
703
  \def\@{\spacefactor3000{}}
704
+ %% \@setfontsize with \parindent and \(x)kanjiskip settings
703
705
  \def\@setfontsize#1#2#3{%
704
706
  \ifx\protect\@typeset@protect
705
707
  \let\@currsize#1%
@@ -717,7 +719,8 @@
717
719
  \if@slide \xkanjiskip=0.1em \else
718
720
  \xkanjiskip=0.25em plus 0.15em minus 0.06em
719
721
  \fi
720
- \fi}
722
+ \fi
723
+ }
721
724
  \def\jsc@setfontsize#1#2#3{%
722
725
  \@setfontsize#1{#2\jsc@mpt}{#3\jsc@mpt}}
723
726
  \emergencystretch 3zw
@@ -748,6 +751,7 @@
748
751
  \belowdisplayskip 9\jsc@mpt \@plus3\jsc@mpt \@minus4\jsc@mpt
749
752
  \belowdisplayshortskip \belowdisplayskip
750
753
  \let\@listi\@listI}
754
+ %% initialize
751
755
  \normalsize
752
756
  \setbox0\hbox{\char\jis"3441}%
753
757
  \setlength\Cht{\ht0}
@@ -4,28 +4,16 @@
4
4
  %%
5
5
  %% The original source files were:
6
6
  %%
7
- %% jsclasses.dtx (with options: `book')
7
+ %% jsclasses.dtx (with options: `class,book')
8
8
  %%
9
- %% IMPORTANT NOTICE:
9
+ %% Maintained on GitHub: https://github.com/texjporg/jsclasses
10
10
  %%
11
- %% For the copyright see the source file.
12
- %%
13
- %% Any modified versions of this file must be renamed
14
- %% with new filenames distinct from jsbook.cls.
15
- %%
16
- %% For distribution of the original source see the terms
17
- %% for copying and modification in the file jsclasses.dtx.
18
- %%
19
- %% This generated file may be distributed as long as the
20
- %% original source files, as listed above, are part of the
21
- %% same distribution. (The sources need not necessarily be
22
- %% in the same archive or directory.)
23
11
  \ifx\epTeXinputencoding\undefined\else
24
12
  \epTeXinputencoding utf8 % ^^A added (2017-10-04)
25
13
  \fi
26
14
  \NeedsTeXFormat{pLaTeX2e}
27
15
  \ProvidesClass{jsbook}
28
- [2020/02/02 jsclasses (okumura, texjporg)]
16
+ [2020/10/09 jsclasses (okumura, texjporg)]
29
17
  \def\jsc@clsname{jsbook}
30
18
  \newif\ifjsc@needsp@tch
31
19
  \jsc@needsp@tchfalse
@@ -264,10 +252,11 @@
264
252
  \fi
265
253
  \ifpapersize
266
254
  \iftombow
267
- \AtBeginDvi{\special{papersize=\the\stockwidth,\the\stockheight}}
255
+ \edef\jsc@papersize@special{papersize=\the\stockwidth,\the\stockheight}
268
256
  \else
269
- \AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}
257
+ \edef\jsc@papersize@special{papersize=\the\paperwidth,\the\paperheight}
270
258
  \fi
259
+ \AtBeginDvi{\special{\jsc@papersize@special}}
271
260
  \fi
272
261
  \if@slide\def\n@baseline{13}\else\def\n@baseline{16}\fi
273
262
  \newdimen\jsc@mpt
@@ -468,6 +457,10 @@
468
457
  \DeclareFontShape{\jsc@JTn}{gt}{m}{sl}{<->ssub*gt/m/n}{}
469
458
  \DeclareFontShape{\jsc@JTn}{mc}{bx}{it}{<->ssub*gt/m/n}{}
470
459
  \DeclareFontShape{\jsc@JTn}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
460
+ %% ad-hoc "relation font"
461
+ \@ifl@t@r\fmtversion{2020/10/01}
462
+ {\jsc@needsp@tchfalse}{\jsc@needsp@tchtrue}
463
+ \ifjsc@needsp@tch % --- for 2020-02-02 or older BEGIN
471
464
  \ifx\@rmfamilyhook\@undefined % old
472
465
  \DeclareRobustCommand\rmfamily
473
466
  {\not@math@alphabet\rmfamily\mathrm
@@ -497,6 +490,14 @@
497
490
  \g@addto@macro\@ttfamilyhook
498
491
  {\prepare@family@series@update@kanji{gt}\gtdefault}
499
492
  \fi
493
+ \else % --- for 2020-02-02 or older END & for 2020-10-01 BEGIN
494
+ \AddToHook{rmfamily}%
495
+ {\prepare@family@series@update@kanji{mc}\mcdefault}
496
+ \AddToHook{sffamily}%
497
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
498
+ \AddToHook{ttfamily}%
499
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
500
+ \fi % --- for 2020-10-01 END
500
501
  \ifx\DeclareFixJFMCJKTextFontCommand\@undefined
501
502
  \DeclareRobustCommand\textmc[1]{%
502
503
  \relax\ifmmode \expandafter\nfss@text \fi{\mcfamily #1}}
@@ -705,6 +706,7 @@
705
706
  \xspcode`^^fe=3
706
707
  \xspcode`^^ff=3
707
708
  \def\@{\spacefactor3000{}}
709
+ %% \@setfontsize with \parindent and \(x)kanjiskip settings
708
710
  \def\@setfontsize#1#2#3{%
709
711
  \ifx\protect\@typeset@protect
710
712
  \let\@currsize#1%
@@ -722,7 +724,8 @@
722
724
  \if@slide \xkanjiskip=0.1em \else
723
725
  \xkanjiskip=0.25em plus 0.15em minus 0.06em
724
726
  \fi
725
- \fi}
727
+ \fi
728
+ }
726
729
  \def\jsc@setfontsize#1#2#3{%
727
730
  \@setfontsize#1{#2\jsc@mpt}{#3\jsc@mpt}}
728
731
  \emergencystretch 3zw
@@ -753,6 +756,7 @@
753
756
  \belowdisplayskip 9\jsc@mpt \@plus3\jsc@mpt \@minus4\jsc@mpt
754
757
  \belowdisplayshortskip \belowdisplayskip
755
758
  \let\@listi\@listI}
759
+ %% initialize
756
760
  \normalsize
757
761
  \setbox0\hbox{\char\jis"3441}%
758
762
  \setlength\Cht{\ht0}
@@ -9,7 +9,7 @@
9
9
  % pLaTeX2ε新ドキュメントクラス(日本語 TeX 開発コミュニティ版)
10
10
  % 原作者:奥村晴彦 <okumura@okumuralab.org>
11
11
  %
12
- % Copyright 1993-2019
12
+ % Copyright 1993-2020
13
13
  % The LaTeX3 Project and any individual authors listed elsewhere
14
14
  % in this file.
15
15
  %
@@ -28,10 +28,11 @@
28
28
  %<report>\ProvidesClass{jsreport}
29
29
  %<jspf>\ProvidesClass{jspf}
30
30
  %<kiyou>\ProvidesClass{kiyou}
31
+ %<minijs>\ProvidesPackage{minijs}
31
32
  %<*driver>
32
33
  \ProvidesFile{jsclasses.dtx}
33
34
  %</driver>
34
- [2020/02/02 jsclasses (okumura, texjporg)]
35
+ [2020/10/09 jsclasses (okumura, texjporg)]
35
36
  %<*driver>
36
37
  \documentclass{jsarticle}
37
38
  \usepackage{doc}
@@ -124,11 +125,26 @@
124
125
  %
125
126
  % 以下では実際のコードに即して説明します。
126
127
  %
128
+ % \texttt{minijs}は,\texttt{jsclasses}に似た設定を行うパッケージです。
129
+ %
130
+ % \begin{macrocode}
131
+ %<*minijs>
132
+ %% if jsclasses loaded, abort loading this package
133
+ \ifx\@jsc@uplatextrue\@undefined\else
134
+ \PackageInfo{minijs}{jsclasses does not need minijs, exiting}
135
+ \expandafter\endinput
136
+ \fi
137
+ %% "fake" jsarticle
138
+ \expandafter\def\csname ver@jsarticle.cls\endcsname{}
139
+ %</minijs>
140
+ % \end{macrocode}
141
+ %
127
142
  % \begin{macro}{\jsc@clsname}
128
143
  %
129
144
  % 文書クラスの名前です。エラーメッセージ表示などで使われます。
130
145
  %
131
146
  % \begin{macrocode}
147
+ %<*class>
132
148
  %<article>\def\jsc@clsname{jsarticle}
133
149
  %<book>\def\jsc@clsname{jsbook}
134
150
  %<report>\def\jsc@clsname{jsreport}
@@ -147,8 +163,12 @@
147
163
  % をあてる場合があります。この処理に使用するフラグを定義します。
148
164
  %
149
165
  % \begin{macrocode}
166
+ %</class>
167
+ %<*class|minijs>
150
168
  \newif\ifjsc@needsp@tch
151
169
  \jsc@needsp@tchfalse
170
+ %</class|minijs>
171
+ %<*class>
152
172
  % \end{macrocode}
153
173
  % \end{macro}
154
174
  %
@@ -746,6 +766,11 @@
746
766
  % [2017-01-11] トンボオプションが指定されているとき「だけ」|\stockwidth|,
747
767
  % |\stockheight|を定義するようにしました。
748
768
  %
769
+ % [2020-10-04] \LaTeXe~2020-10-01でカーネルの |\shipout| コードが拡張され
770
+ % |\AtBeginDvi| の実行タイミングが変化したので,この時点で
771
+ % 発行する |\special| の中身を展開しておくようにしました。
772
+ % こうしないと,用紙サイズ設定を間違ってしまいます(Issue \#72)。
773
+ %
749
774
  % \begin{macrocode}
750
775
  \iftombow
751
776
  \newdimen\stockwidth \newdimen\stockheight
@@ -756,10 +781,11 @@
756
781
  \fi
757
782
  \ifpapersize
758
783
  \iftombow
759
- \AtBeginDvi{\special{papersize=\the\stockwidth,\the\stockheight}}
784
+ \edef\jsc@papersize@special{papersize=\the\stockwidth,\the\stockheight}
760
785
  \else
761
- \AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}
786
+ \edef\jsc@papersize@special{papersize=\the\paperwidth,\the\paperheight}
762
787
  \fi
788
+ \AtBeginDvi{\special{\jsc@papersize@special}}
763
789
  \fi
764
790
  % \end{macrocode}
765
791
  %
@@ -1059,6 +1085,24 @@
1059
1085
  % $9.62216\,\mathrm{pt} * 0.961 / 10\,\mathrm{pt} = 0.924690$ です。
1060
1086
  %
1061
1087
  % \begin{macrocode}
1088
+ %</class>
1089
+ %<*minijs>
1090
+ %% min/goth -> jis/jisg (for pLaTeX only)
1091
+ \ifx\ucs\@undefined
1092
+ \@for\@tempa:=5,6,7,8,9,10,10.95,12,14.4,17.28,20.74,24.88\do{%
1093
+ \expandafter\let\csname JY1/mc/m/n/\@tempa\endcsname\relax
1094
+ \expandafter\let\csname JY1/gt/m/n/\@tempa\endcsname\relax
1095
+ \expandafter\let\csname JT1/mc/m/n/\@tempa\endcsname\relax
1096
+ \expandafter\let\csname JT1/gt/m/n/\@tempa\endcsname\relax
1097
+ }
1098
+ \def\Cjascale{0.924690}
1099
+ \DeclareFontShape{JY1}{mc}{m}{n}{<-> s * [0.961] jis}{}
1100
+ \DeclareFontShape{JY1}{gt}{m}{n}{<-> s * [0.961] jisg}{}
1101
+ \DeclareFontShape{JT1}{mc}{m}{n}{<-> s * [0.961] tmin10}{}
1102
+ \DeclareFontShape{JT1}{gt}{m}{n}{<-> s * [0.961] tgoth10}{}
1103
+ \fi
1104
+ %</minijs>
1105
+ %<*class>
1062
1106
  %<*!jspf>
1063
1107
  \def\Cjascale{0.924690}
1064
1108
  \ifmingoth
@@ -1170,7 +1214,22 @@
1170
1214
  % 従来のコードも\LaTeXe~2019-10-01以前のために残してありますが,
1171
1215
  % \texttt{mweights}パッケージ対策も施しました(forum:2763)。
1172
1216
  %
1217
+ % [2020-10-04] \LaTeXe~2020-10-01では |\AddToHook| を利用します。
1218
+ %
1219
+ % ^^A Note that |\AddToHook| is defined as follows:
1220
+ % ^^A \begin{itemize}
1221
+ % ^^A \item Format date 2020-02-02 or older: undefined
1222
+ % ^^A \item Format date 2020-10-01 or newer: available
1223
+ % ^^A \item ... under \texttt{latexrelease} rollback: defined but no-op
1224
+ % ^^A \end{itemize}
1225
+ %
1173
1226
  % \begin{macrocode}
1227
+ %</class>
1228
+ %<*class|minijs>
1229
+ %% ad-hoc "relation font"
1230
+ \@ifl@t@r\fmtversion{2020/10/01}
1231
+ {\jsc@needsp@tchfalse}{\jsc@needsp@tchtrue}
1232
+ \ifjsc@needsp@tch % --- for 2020-02-02 or older BEGIN
1174
1233
  \ifx\@rmfamilyhook\@undefined % old
1175
1234
  \DeclareRobustCommand\rmfamily
1176
1235
  {\not@math@alphabet\rmfamily\mathrm
@@ -1200,6 +1259,16 @@
1200
1259
  \g@addto@macro\@ttfamilyhook
1201
1260
  {\prepare@family@series@update@kanji{gt}\gtdefault}
1202
1261
  \fi
1262
+ \else % --- for 2020-02-02 or older END & for 2020-10-01 BEGIN
1263
+ \AddToHook{rmfamily}%
1264
+ {\prepare@family@series@update@kanji{mc}\mcdefault}
1265
+ \AddToHook{sffamily}%
1266
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
1267
+ \AddToHook{ttfamily}%
1268
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
1269
+ \fi % --- for 2020-10-01 END
1270
+ %</class|minijs>
1271
+ %<*class>
1203
1272
  % \end{macrocode}
1204
1273
  %
1205
1274
  % \begin{macro}{\textmc}
@@ -1567,25 +1636,31 @@
1567
1636
  % [2008-02-18] |english| オプションで |\parindent| を 1em にしました。
1568
1637
  %
1569
1638
  % \begin{macrocode}
1639
+ %</class>
1640
+ %<*class|minijs>
1641
+ %% \@setfontsize with \parindent and \(x)kanjiskip settings
1570
1642
  \def\@setfontsize#1#2#3{%
1571
- % \@nomath#1%
1643
+ %<minijs> \@nomath#1%
1572
1644
  \ifx\protect\@typeset@protect
1573
1645
  \let\@currsize#1%
1574
1646
  \fi
1575
1647
  \fontsize{#2}{#3}\selectfont
1576
1648
  \ifdim\parindent>\z@
1577
- \if@english
1578
- \parindent=1em
1579
- \else
1649
+ %<class> \if@english
1650
+ %<class> \parindent=1em
1651
+ %<class> \else
1580
1652
  \parindent=1zw
1581
- \fi
1653
+ %<class> \fi
1582
1654
  \fi
1583
1655
  \kanjiskip=0zw plus .1zw minus .01zw
1584
- \ifdim\xkanjiskip>\z@
1585
- \if@slide \xkanjiskip=0.1em \else
1656
+ %<class> \ifdim\xkanjiskip>\z@
1657
+ %<class> \if@slide \xkanjiskip=0.1em \else
1586
1658
  \xkanjiskip=0.25em plus 0.15em minus 0.06em
1587
- \fi
1588
- \fi}
1659
+ %<class> \fi
1660
+ %<class> \fi
1661
+ }
1662
+ %</class|minijs>
1663
+ %<*class>
1589
1664
  % \end{macrocode}
1590
1665
  % \end{macro}
1591
1666
  %
@@ -1694,7 +1769,12 @@
1694
1769
  % ここで実際に標準フォントサイズで初期化します。
1695
1770
  %
1696
1771
  % \begin{macrocode}
1772
+ %</class>
1773
+ %<*class|minijs>
1774
+ %% initialize
1697
1775
  \normalsize
1776
+ %</class|minijs>
1777
+ %<*class>
1698
1778
  % \end{macrocode}
1699
1779
  %
1700
1780
  % \end{macro}
@@ -6015,6 +6095,7 @@
6015
6095
  \ignorespaces
6016
6096
  \fi}
6017
6097
  %</article|book|report>
6098
+ %</class>
6018
6099
  % \end{macrocode}
6019
6100
  % \end{macro}
6020
6101
  %