review 4.2.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
  %