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
@@ -0,0 +1,8 @@
1
+ %#!pdflatex
2
+ \documentclass[a4paper]{article}
3
+ \usepackage[x-1a]{pdfx}
4
+ \usepackage{gentombow}
5
+ \begin{document}
6
+ \noindent A\hfill B\clearpage
7
+ \noindent C\hfill D
8
+ \end{document}
@@ -3,14 +3,15 @@ DOCTARGET = jsclasses jslogo okumacro jsverb okuverb
3
3
  PDFTARGET = $(addsuffix .pdf,$(DOCTARGET))
4
4
  DVITARGET = $(addsuffix .dvi,$(DOCTARGET))
5
5
  KANJI = -kanji=utf8
6
- FONTMAP = -f ipaex.map -f ptex-ipaex.map
6
+ FONTMAP = -f haranoaji.map -f ptex-haranoaji.map
7
7
  TEXMF = $(shell kpsewhich -var-value=TEXMFHOME)
8
8
 
9
9
  default: $(STRIPTARGET) $(DVITARGET)
10
10
  strip: $(STRIPTARGET)
11
11
  all: $(STRIPTARGET) $(PDFTARGET)
12
12
 
13
- JSCLASSES = jsarticle.cls jsbook.cls jsreport.cls jspf.cls kiyou.cls
13
+ JSCLASSES = jsarticle.cls jsbook.cls jsreport.cls jspf.cls kiyou.cls \
14
+ minijs.sty
14
15
 
15
16
  # for generating files, we use pdflatex incidentally.
16
17
  # otherwise, ptexenc might convert U+2212 -> U+FF0D in okumacro.sty
@@ -14,8 +14,8 @@ echo " * Create $PROJECT.tds.zip"
14
14
  git archive --format=tar --prefix=$PROJECT/ HEAD | (cd $TMP && tar xf -)
15
15
  rm $TMP/$PROJECT/.gitignore
16
16
  rm $TMP/$PROJECT/create_archive.sh
17
- rm -f $TMP/$PROJECT/jis/*
18
- rmdir $TMP/$PROJECT/jis
17
+ rm -rf $TMP/$PROJECT/tests
18
+ rm -rf $TMP/$PROJECT/jis
19
19
  perl -pi.bak -e "s/\\\$RELEASEDATE/$RELEASEDATE/g" $TMP/$PROJECT/README.md
20
20
  rm -f $TMP/$PROJECT/README.md.bak
21
21
 
@@ -46,10 +46,10 @@ git archive --format=tar --prefix=$PROJECT/ HEAD | (cd $TMP && tar xf -)
46
46
  # winjis.sty should be removed for CTAN
47
47
  rm $TMP/$PROJECT/.gitignore
48
48
  rm $TMP/$PROJECT/create_archive.sh
49
- rm -f $TMP/$PROJECT/jis/*
50
- rmdir $TMP/$PROJECT/jis
49
+ rm -rf $TMP/$PROJECT/tests
50
+ rm -rf $TMP/$PROJECT/jis
51
51
  rm $TMP/$PROJECT/*.cls
52
- ls $TMP/$PROJECT/*.sty | grep -v minijs.sty | xargs rm
52
+ rm $TMP/$PROJECT/*.sty
53
53
  perl -pi.bak -e "s/\\\$RELEASEDATE/$RELEASEDATE/g" $TMP/$PROJECT/README.md
54
54
  rm -f $TMP/$PROJECT/README.md.bak
55
55
 
@@ -3,14 +3,15 @@ DOCTARGET = jsclasses jslogo okumacro jsverb okuverb
3
3
  PDFTARGET = $(addsuffix .pdf,$(DOCTARGET))
4
4
  DVITARGET = $(addsuffix .dvi,$(DOCTARGET))
5
5
  KANJI = -kanji=jis
6
- FONTMAP = -f ipaex.map -f ptex-ipaex.map
6
+ FONTMAP = -f haranoaji.map -f ptex-haranoaji.map
7
7
  TEXMF = $(shell kpsewhich -var-value=TEXMFHOME)
8
8
 
9
9
  default: $(STRIPTARGET) $(DVITARGET)
10
10
  strip: $(STRIPTARGET)
11
11
  all: $(STRIPTARGET) $(PDFTARGET)
12
12
 
13
- JSCLASSES = jsarticle.cls jsbook.cls jsreport.cls jspf.cls kiyou.cls
13
+ JSCLASSES = jsarticle.cls jsbook.cls jsreport.cls jspf.cls kiyou.cls \
14
+ minijs.sty
14
15
 
15
16
  jsarticle.cls: jsclasses.dtx
16
17
  platex $(KANJI) jsclasses.ins
@@ -4,25 +4,13 @@
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
  \NeedsTeXFormat{pLaTeX2e}
24
12
  \ProvidesClass{jsarticle}
25
- [2020/02/02 jsclasses (okumura, texjporg)]
13
+ [2020/10/09 jsclasses (okumura, texjporg)]
26
14
  \def\jsc@clsname{jsarticle}
27
15
  \newif\ifjsc@needsp@tch
28
16
  \jsc@needsp@tchfalse
@@ -256,10 +244,11 @@
256
244
  \fi
257
245
  \ifpapersize
258
246
  \iftombow
259
- \AtBeginDvi{\special{papersize=\the\stockwidth,\the\stockheight}}
247
+ \edef\jsc@papersize@special{papersize=\the\stockwidth,\the\stockheight}
260
248
  \else
261
- \AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}
249
+ \edef\jsc@papersize@special{papersize=\the\paperwidth,\the\paperheight}
262
250
  \fi
251
+ \AtBeginDvi{\special{\jsc@papersize@special}}
263
252
  \fi
264
253
  \if@slide\def\n@baseline{13}\else\def\n@baseline{16}\fi
265
254
  \newdimen\jsc@mpt
@@ -460,6 +449,10 @@
460
449
  \DeclareFontShape{\jsc@JTn}{gt}{m}{sl}{<->ssub*gt/m/n}{}
461
450
  \DeclareFontShape{\jsc@JTn}{mc}{bx}{it}{<->ssub*gt/m/n}{}
462
451
  \DeclareFontShape{\jsc@JTn}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
452
+ %% ad-hoc "relation font"
453
+ \@ifl@t@r\fmtversion{2020/10/01}
454
+ {\jsc@needsp@tchfalse}{\jsc@needsp@tchtrue}
455
+ \ifjsc@needsp@tch % --- for 2020-02-02 or older BEGIN
463
456
  \ifx\@rmfamilyhook\@undefined % old
464
457
  \DeclareRobustCommand\rmfamily
465
458
  {\not@math@alphabet\rmfamily\mathrm
@@ -489,6 +482,14 @@
489
482
  \g@addto@macro\@ttfamilyhook
490
483
  {\prepare@family@series@update@kanji{gt}\gtdefault}
491
484
  \fi
485
+ \else % --- for 2020-02-02 or older END & for 2020-10-01 BEGIN
486
+ \AddToHook{rmfamily}%
487
+ {\prepare@family@series@update@kanji{mc}\mcdefault}
488
+ \AddToHook{sffamily}%
489
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
490
+ \AddToHook{ttfamily}%
491
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
492
+ \fi % --- for 2020-10-01 END
492
493
  \ifx\DeclareFixJFMCJKTextFontCommand\@undefined
493
494
  \DeclareRobustCommand\textmc[1]{%
494
495
  \relax\ifmmode \expandafter\nfss@text \fi{\mcfamily #1}}
@@ -697,6 +698,7 @@
697
698
  \xspcode`^^fe=3
698
699
  \xspcode`^^ff=3
699
700
  \def\@{\spacefactor3000{}}
701
+ %% \@setfontsize with \parindent and \(x)kanjiskip settings
700
702
  \def\@setfontsize#1#2#3{%
701
703
  \ifx\protect\@typeset@protect
702
704
  \let\@currsize#1%
@@ -714,7 +716,8 @@
714
716
  \if@slide \xkanjiskip=0.1em \else
715
717
  \xkanjiskip=0.25em plus 0.15em minus 0.06em
716
718
  \fi
717
- \fi}
719
+ \fi
720
+ }
718
721
  \def\jsc@setfontsize#1#2#3{%
719
722
  \@setfontsize#1{#2\jsc@mpt}{#3\jsc@mpt}}
720
723
  \emergencystretch 3zw
@@ -745,6 +748,7 @@
745
748
  \belowdisplayskip 9\jsc@mpt \@plus3\jsc@mpt \@minus4\jsc@mpt
746
749
  \belowdisplayshortskip \belowdisplayskip
747
750
  \let\@listi\@listI}
751
+ %% initialize
748
752
  \normalsize
749
753
  \setbox0\hbox{\char\jis"3441}%
750
754
  \setlength\Cht{\ht0}
@@ -4,25 +4,13 @@
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
  \NeedsTeXFormat{pLaTeX2e}
24
12
  \ProvidesClass{jsbook}
25
- [2020/02/02 jsclasses (okumura, texjporg)]
13
+ [2020/10/09 jsclasses (okumura, texjporg)]
26
14
  \def\jsc@clsname{jsbook}
27
15
  \newif\ifjsc@needsp@tch
28
16
  \jsc@needsp@tchfalse
@@ -261,10 +249,11 @@
261
249
  \fi
262
250
  \ifpapersize
263
251
  \iftombow
264
- \AtBeginDvi{\special{papersize=\the\stockwidth,\the\stockheight}}
252
+ \edef\jsc@papersize@special{papersize=\the\stockwidth,\the\stockheight}
265
253
  \else
266
- \AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}
254
+ \edef\jsc@papersize@special{papersize=\the\paperwidth,\the\paperheight}
267
255
  \fi
256
+ \AtBeginDvi{\special{\jsc@papersize@special}}
268
257
  \fi
269
258
  \if@slide\def\n@baseline{13}\else\def\n@baseline{16}\fi
270
259
  \newdimen\jsc@mpt
@@ -465,6 +454,10 @@
465
454
  \DeclareFontShape{\jsc@JTn}{gt}{m}{sl}{<->ssub*gt/m/n}{}
466
455
  \DeclareFontShape{\jsc@JTn}{mc}{bx}{it}{<->ssub*gt/m/n}{}
467
456
  \DeclareFontShape{\jsc@JTn}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
457
+ %% ad-hoc "relation font"
458
+ \@ifl@t@r\fmtversion{2020/10/01}
459
+ {\jsc@needsp@tchfalse}{\jsc@needsp@tchtrue}
460
+ \ifjsc@needsp@tch % --- for 2020-02-02 or older BEGIN
468
461
  \ifx\@rmfamilyhook\@undefined % old
469
462
  \DeclareRobustCommand\rmfamily
470
463
  {\not@math@alphabet\rmfamily\mathrm
@@ -494,6 +487,14 @@
494
487
  \g@addto@macro\@ttfamilyhook
495
488
  {\prepare@family@series@update@kanji{gt}\gtdefault}
496
489
  \fi
490
+ \else % --- for 2020-02-02 or older END & for 2020-10-01 BEGIN
491
+ \AddToHook{rmfamily}%
492
+ {\prepare@family@series@update@kanji{mc}\mcdefault}
493
+ \AddToHook{sffamily}%
494
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
495
+ \AddToHook{ttfamily}%
496
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
497
+ \fi % --- for 2020-10-01 END
497
498
  \ifx\DeclareFixJFMCJKTextFontCommand\@undefined
498
499
  \DeclareRobustCommand\textmc[1]{%
499
500
  \relax\ifmmode \expandafter\nfss@text \fi{\mcfamily #1}}
@@ -702,6 +703,7 @@
702
703
  \xspcode`^^fe=3
703
704
  \xspcode`^^ff=3
704
705
  \def\@{\spacefactor3000{}}
706
+ %% \@setfontsize with \parindent and \(x)kanjiskip settings
705
707
  \def\@setfontsize#1#2#3{%
706
708
  \ifx\protect\@typeset@protect
707
709
  \let\@currsize#1%
@@ -719,7 +721,8 @@
719
721
  \if@slide \xkanjiskip=0.1em \else
720
722
  \xkanjiskip=0.25em plus 0.15em minus 0.06em
721
723
  \fi
722
- \fi}
724
+ \fi
725
+ }
723
726
  \def\jsc@setfontsize#1#2#3{%
724
727
  \@setfontsize#1{#2\jsc@mpt}{#3\jsc@mpt}}
725
728
  \emergencystretch 3zw
@@ -750,6 +753,7 @@
750
753
  \belowdisplayskip 9\jsc@mpt \@plus3\jsc@mpt \@minus4\jsc@mpt
751
754
  \belowdisplayshortskip \belowdisplayskip
752
755
  \let\@listi\@listI}
756
+ %% initialize
753
757
  \normalsize
754
758
  \setbox0\hbox{\char\jis"3441}%
755
759
  \setlength\Cht{\ht0}
@@ -4,7 +4,7 @@
4
4
  % pLaTeX2$B&E?7%I%-%e%a%s%H%/%i%9!JF|K\8l(B TeX $B3+H/%3%_%e%K%F%#HG!K(B
5
5
  % $B86:n<T!'1|B<@2I'(B <okumura@okumuralab.org>
6
6
  %
7
- % Copyright 1993-2019
7
+ % Copyright 1993-2020
8
8
  % The LaTeX3 Project and any individual authors listed elsewhere
9
9
  % in this file.
10
10
  %
@@ -23,10 +23,11 @@
23
23
  %<report>\ProvidesClass{jsreport}
24
24
  %<jspf>\ProvidesClass{jspf}
25
25
  %<kiyou>\ProvidesClass{kiyou}
26
+ %<minijs>\ProvidesPackage{minijs}
26
27
  %<*driver>
27
28
  \ProvidesFile{jsclasses.dtx}
28
29
  %</driver>
29
- [2020/02/02 jsclasses (okumura, texjporg)]
30
+ [2020/10/09 jsclasses (okumura, texjporg)]
30
31
  %<*driver>
31
32
  \documentclass{jsarticle}
32
33
  \usepackage{doc}
@@ -119,11 +120,26 @@
119
120
  %
120
121
  % $B0J2<$G$O<B:]$N%3!<%I$KB($7$F@bL@$7$^$9!#(B
121
122
  %
123
+ % \texttt{minijs}$B$O!$(B\texttt{jsclasses}$B$K;w$?@_Dj$r9T$&%Q%C%1!<%8$G$9!#(B
124
+ %
125
+ % \begin{macrocode}
126
+ %<*minijs>
127
+ %% if jsclasses loaded, abort loading this package
128
+ \ifx\@jsc@uplatextrue\@undefined\else
129
+ \PackageInfo{minijs}{jsclasses does not need minijs, exiting}
130
+ \expandafter\endinput
131
+ \fi
132
+ %% "fake" jsarticle
133
+ \expandafter\def\csname ver@jsarticle.cls\endcsname{}
134
+ %</minijs>
135
+ % \end{macrocode}
136
+ %
122
137
  % \begin{macro}{\jsc@clsname}
123
138
  %
124
139
  % $BJ8=q%/%i%9$NL>A0$G$9!#%(%i!<%a%C%;!<%8I=<($J$I$G;H$o$l$^$9!#(B
125
140
  %
126
141
  % \begin{macrocode}
142
+ %<*class>
127
143
  %<article>\def\jsc@clsname{jsarticle}
128
144
  %<book>\def\jsc@clsname{jsbook}
129
145
  %<report>\def\jsc@clsname{jsreport}
@@ -142,8 +158,12 @@
142
158
  % $B$r$"$F$k>l9g$,$"$j$^$9!#$3$N=hM}$K;HMQ$9$k%U%i%0$rDj5A$7$^$9!#(B
143
159
  %
144
160
  % \begin{macrocode}
161
+ %</class>
162
+ %<*class|minijs>
145
163
  \newif\ifjsc@needsp@tch
146
164
  \jsc@needsp@tchfalse
165
+ %</class|minijs>
166
+ %<*class>
147
167
  % \end{macrocode}
148
168
  % \end{macro}
149
169
  %
@@ -741,6 +761,11 @@
741
761
  % [2017-01-11] $B%H%s%\%*%W%7%g%s$,;XDj$5$l$F$$$k$H$-!V$@$1!W(B|\stockwidth|$B!$(B
742
762
  % |\stockheight|$B$rDj5A$9$k$h$&$K$7$^$7$?!#(B
743
763
  %
764
+ % [2020-10-04] \LaTeXe~2020-10-01$B$G%+!<%M%k$N(B |\shipout| $B%3!<%I$,3HD%$5$l(B
765
+ % |\AtBeginDvi| $B$N<B9T%?%$%_%s%0$,JQ2=$7$?$N$G!$$3$N;~E@$G(B
766
+ % $BH/9T$9$k(B |\special| $B$NCf?H$rE83+$7$F$*$/$h$&$K$7$^$7$?!#(B
767
+ % $B$3$&$7$J$$$H!$MQ;f%5%$%:@_Dj$r4V0c$C$F$7$^$$$^$9(B(Issue \#72)$B!#(B
768
+ %
744
769
  % \begin{macrocode}
745
770
  \iftombow
746
771
  \newdimen\stockwidth \newdimen\stockheight
@@ -751,10 +776,11 @@
751
776
  \fi
752
777
  \ifpapersize
753
778
  \iftombow
754
- \AtBeginDvi{\special{papersize=\the\stockwidth,\the\stockheight}}
779
+ \edef\jsc@papersize@special{papersize=\the\stockwidth,\the\stockheight}
755
780
  \else
756
- \AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}
781
+ \edef\jsc@papersize@special{papersize=\the\paperwidth,\the\paperheight}
757
782
  \fi
783
+ \AtBeginDvi{\special{\jsc@papersize@special}}
758
784
  \fi
759
785
  % \end{macrocode}
760
786
  %
@@ -1054,6 +1080,24 @@
1054
1080
  % $9.62216\,\mathrm{pt} * 0.961 / 10\,\mathrm{pt} = 0.924690$ $B$G$9!#(B
1055
1081
  %
1056
1082
  % \begin{macrocode}
1083
+ %</class>
1084
+ %<*minijs>
1085
+ %% min/goth -> jis/jisg (for pLaTeX only)
1086
+ \ifx\ucs\@undefined
1087
+ \@for\@tempa:=5,6,7,8,9,10,10.95,12,14.4,17.28,20.74,24.88\do{%
1088
+ \expandafter\let\csname JY1/mc/m/n/\@tempa\endcsname\relax
1089
+ \expandafter\let\csname JY1/gt/m/n/\@tempa\endcsname\relax
1090
+ \expandafter\let\csname JT1/mc/m/n/\@tempa\endcsname\relax
1091
+ \expandafter\let\csname JT1/gt/m/n/\@tempa\endcsname\relax
1092
+ }
1093
+ \def\Cjascale{0.924690}
1094
+ \DeclareFontShape{JY1}{mc}{m}{n}{<-> s * [0.961] jis}{}
1095
+ \DeclareFontShape{JY1}{gt}{m}{n}{<-> s * [0.961] jisg}{}
1096
+ \DeclareFontShape{JT1}{mc}{m}{n}{<-> s * [0.961] tmin10}{}
1097
+ \DeclareFontShape{JT1}{gt}{m}{n}{<-> s * [0.961] tgoth10}{}
1098
+ \fi
1099
+ %</minijs>
1100
+ %<*class>
1057
1101
  %<*!jspf>
1058
1102
  \def\Cjascale{0.924690}
1059
1103
  \ifmingoth
@@ -1165,7 +1209,22 @@
1165
1209
  % $B=>Mh$N%3!<%I$b(B\LaTeXe~2019-10-01$B0JA0$N$?$a$K;D$7$F$"$j$^$9$,!$(B
1166
1210
  % \texttt{mweights}$B%Q%C%1!<%8BP:v$b;\$7$^$7$?(B(forum:2763)$B!#(B
1167
1211
  %
1212
+ % [2020-10-04] \LaTeXe~2020-10-01$B$G$O(B |\AddToHook| $B$rMxMQ$7$^$9!#(B
1213
+ %
1214
+ % ^^A Note that |\AddToHook| is defined as follows:
1215
+ % ^^A \begin{itemize}
1216
+ % ^^A \item Format date 2020-02-02 or older: undefined
1217
+ % ^^A \item Format date 2020-10-01 or newer: available
1218
+ % ^^A \item ... under \texttt{latexrelease} rollback: defined but no-op
1219
+ % ^^A \end{itemize}
1220
+ %
1168
1221
  % \begin{macrocode}
1222
+ %</class>
1223
+ %<*class|minijs>
1224
+ %% ad-hoc "relation font"
1225
+ \@ifl@t@r\fmtversion{2020/10/01}
1226
+ {\jsc@needsp@tchfalse}{\jsc@needsp@tchtrue}
1227
+ \ifjsc@needsp@tch % --- for 2020-02-02 or older BEGIN
1169
1228
  \ifx\@rmfamilyhook\@undefined % old
1170
1229
  \DeclareRobustCommand\rmfamily
1171
1230
  {\not@math@alphabet\rmfamily\mathrm
@@ -1195,6 +1254,16 @@
1195
1254
  \g@addto@macro\@ttfamilyhook
1196
1255
  {\prepare@family@series@update@kanji{gt}\gtdefault}
1197
1256
  \fi
1257
+ \else % --- for 2020-02-02 or older END & for 2020-10-01 BEGIN
1258
+ \AddToHook{rmfamily}%
1259
+ {\prepare@family@series@update@kanji{mc}\mcdefault}
1260
+ \AddToHook{sffamily}%
1261
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
1262
+ \AddToHook{ttfamily}%
1263
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
1264
+ \fi % --- for 2020-10-01 END
1265
+ %</class|minijs>
1266
+ %<*class>
1198
1267
  % \end{macrocode}
1199
1268
  %
1200
1269
  % \begin{macro}{\textmc}
@@ -1562,25 +1631,31 @@
1562
1631
  % [2008-02-18] |english| $B%*%W%7%g%s$G(B |\parindent| $B$r(B 1em $B$K$7$^$7$?!#(B
1563
1632
  %
1564
1633
  % \begin{macrocode}
1634
+ %</class>
1635
+ %<*class|minijs>
1636
+ %% \@setfontsize with \parindent and \(x)kanjiskip settings
1565
1637
  \def\@setfontsize#1#2#3{%
1566
- % \@nomath#1%
1638
+ %<minijs> \@nomath#1%
1567
1639
  \ifx\protect\@typeset@protect
1568
1640
  \let\@currsize#1%
1569
1641
  \fi
1570
1642
  \fontsize{#2}{#3}\selectfont
1571
1643
  \ifdim\parindent>\z@
1572
- \if@english
1573
- \parindent=1em
1574
- \else
1644
+ %<class> \if@english
1645
+ %<class> \parindent=1em
1646
+ %<class> \else
1575
1647
  \parindent=1zw
1576
- \fi
1648
+ %<class> \fi
1577
1649
  \fi
1578
1650
  \kanjiskip=0zw plus .1zw minus .01zw
1579
- \ifdim\xkanjiskip>\z@
1580
- \if@slide \xkanjiskip=0.1em \else
1651
+ %<class> \ifdim\xkanjiskip>\z@
1652
+ %<class> \if@slide \xkanjiskip=0.1em \else
1581
1653
  \xkanjiskip=0.25em plus 0.15em minus 0.06em
1582
- \fi
1583
- \fi}
1654
+ %<class> \fi
1655
+ %<class> \fi
1656
+ }
1657
+ %</class|minijs>
1658
+ %<*class>
1584
1659
  % \end{macrocode}
1585
1660
  % \end{macro}
1586
1661
  %
@@ -1689,7 +1764,12 @@
1689
1764
  % $B$3$3$G<B:]$KI8=`%U%)%s%H%5%$%:$G=i4|2=$7$^$9!#(B
1690
1765
  %
1691
1766
  % \begin{macrocode}
1767
+ %</class>
1768
+ %<*class|minijs>
1769
+ %% initialize
1692
1770
  \normalsize
1771
+ %</class|minijs>
1772
+ %<*class>
1693
1773
  % \end{macrocode}
1694
1774
  %
1695
1775
  % \end{macro}
@@ -6010,6 +6090,7 @@
6010
6090
  \ignorespaces
6011
6091
  \fi}
6012
6092
  %</article|book|report>
6093
+ %</class>
6013
6094
  % \end{macrocode}
6014
6095
  % \end{macro}
6015
6096
  %