review 4.1.0 → 5.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (259) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby-tex.yml +35 -0
  3. data/.github/workflows/ruby-win.yml +19 -9
  4. data/.github/workflows/ruby.yml +7 -3
  5. data/.rubocop.yml +138 -34
  6. data/NEWS.ja.md +285 -0
  7. data/NEWS.md +285 -1
  8. data/README.md +7 -6
  9. data/Rakefile +7 -2
  10. data/bin/review +2 -4
  11. data/bin/review-catalog-converter +4 -4
  12. data/bin/review-check +8 -12
  13. data/bin/review-checkdep +2 -5
  14. data/bin/review-compile +18 -34
  15. data/bin/review-epub2html +1 -4
  16. data/bin/review-epubmaker +3 -4
  17. data/bin/review-idgxmlmaker +1 -3
  18. data/bin/review-index +5 -86
  19. data/bin/review-init +1 -4
  20. data/bin/review-pdfmaker +1 -3
  21. data/bin/review-preproc +30 -38
  22. data/bin/review-textmaker +1 -3
  23. data/bin/review-update +1 -4
  24. data/bin/review-validate +4 -4
  25. data/bin/review-vol +5 -82
  26. data/bin/review-webmaker +1 -3
  27. data/doc/config.yml.sample +45 -11
  28. data/doc/config.yml.sample-simple +3 -3
  29. data/doc/format.ja.md +103 -13
  30. data/doc/format.md +104 -16
  31. data/doc/makeindex.ja.md +2 -2
  32. data/doc/pdfmaker.ja.md +42 -0
  33. data/doc/pdfmaker.md +41 -0
  34. data/doc/quickstart.ja.md +19 -6
  35. data/doc/quickstart.md +18 -6
  36. data/doc/writing_vertical.ja.md +6 -0
  37. data/lib/review.rb +1 -1
  38. data/lib/review/book.rb +2 -2
  39. data/lib/review/book/base.rb +67 -29
  40. data/lib/review/book/bib.rb +21 -0
  41. data/lib/review/book/book_unit.rb +158 -0
  42. data/lib/review/book/chapter.rb +33 -26
  43. data/lib/review/book/index.rb +24 -185
  44. data/lib/review/book/index/item.rb +7 -1
  45. data/lib/review/book/page_metric.rb +7 -7
  46. data/lib/review/book/part.rb +26 -11
  47. data/lib/review/book/volume.rb +5 -5
  48. data/lib/review/builder.rb +121 -52
  49. data/lib/review/call_hook.rb +20 -0
  50. data/lib/review/catalog.rb +3 -2
  51. data/lib/review/compiler.rb +230 -111
  52. data/lib/review/configure.rb +91 -7
  53. data/lib/review/converter.rb +1 -1
  54. data/lib/review/epub2html.rb +6 -1
  55. data/lib/review/epubmaker.rb +124 -152
  56. data/lib/review/epubmaker/content.rb +113 -0
  57. data/lib/review/epubmaker/epubcommon.rb +372 -0
  58. data/lib/review/epubmaker/epubv2.rb +178 -0
  59. data/lib/review/epubmaker/epubv3.rb +231 -0
  60. data/lib/review/epubmaker/producer.rb +167 -0
  61. data/lib/review/epubmaker/reviewheaderlistener.rb +12 -2
  62. data/lib/review/epubmaker/zip_exporter.rb +84 -0
  63. data/lib/review/exception.rb +13 -0
  64. data/lib/review/htmlbuilder.rb +176 -89
  65. data/lib/review/htmlutils.rb +8 -11
  66. data/lib/review/i18n.rb +2 -1
  67. data/lib/review/idgxmlbuilder.rb +165 -75
  68. data/lib/review/idgxmlmaker.rb +24 -28
  69. data/lib/review/img_math.rb +238 -0
  70. data/lib/review/index_builder.rb +645 -0
  71. data/lib/review/init.rb +9 -17
  72. data/lib/review/latexbox.rb +58 -0
  73. data/lib/review/latexbuilder.rb +193 -75
  74. data/lib/review/latexutils.rb +9 -1
  75. data/lib/review/lineinput.rb +112 -2
  76. data/lib/review/loggable.rb +27 -0
  77. data/lib/review/logger.rb +90 -3
  78. data/lib/review/makerhelper.rb +17 -188
  79. data/lib/review/markdownbuilder.rb +54 -4
  80. data/lib/review/pdfmaker.rb +76 -84
  81. data/lib/review/plaintextbuilder.rb +106 -22
  82. data/lib/review/preprocessor.rb +107 -303
  83. data/lib/review/preprocessor/directive.rb +35 -0
  84. data/lib/review/preprocessor/line.rb +34 -0
  85. data/lib/review/preprocessor/repository.rb +177 -0
  86. data/lib/review/rstbuilder.rb +27 -8
  87. data/lib/review/sec_counter.rb +14 -0
  88. data/lib/review/template.rb +11 -1
  89. data/lib/review/textmaker.rb +27 -32
  90. data/lib/review/textutils.rb +3 -12
  91. data/lib/review/tocprinter.rb +242 -97
  92. data/lib/review/topbuilder.rb +98 -31
  93. data/lib/review/update.rb +12 -13
  94. data/lib/review/version.rb +1 -1
  95. data/lib/review/volumeprinter.rb +97 -0
  96. data/lib/review/webmaker.rb +40 -47
  97. data/lib/review/webtocprinter.rb +39 -35
  98. data/lib/review/yamlloader.rb +2 -1
  99. data/review.gemspec +5 -3
  100. data/samples/sample-book/src/config-epub2.yml +1 -1
  101. data/samples/sample-book/src/config.yml +3 -3
  102. data/samples/sample-book/src/lib/tasks/review.rake +19 -1
  103. data/samples/sample-book/src/lib/tasks/z01_copy_sty.rake +2 -1
  104. data/samples/syntax-book/Gemfile +1 -1
  105. data/samples/syntax-book/ch01.re +1 -1
  106. data/samples/syntax-book/ch02.re +21 -6
  107. data/samples/syntax-book/ch03.re +1 -1
  108. data/samples/syntax-book/config.yml +1 -1
  109. data/samples/syntax-book/images/img3-2.png +0 -0
  110. data/samples/syntax-book/lib/tasks/z01_copy_sty.rake +2 -1
  111. data/templates/html/_colophon.html.erb +23 -0
  112. data/templates/html/_colophon_history.html.erb +9 -0
  113. data/templates/html/_cover.html.erb +10 -0
  114. data/templates/html/_part_body.html.erb +6 -0
  115. data/templates/html/_titlepage.html.erb +20 -0
  116. data/templates/html/layout-html5.html.erb +6 -0
  117. data/templates/html/layout-xhtml1.html.erb +6 -0
  118. data/templates/latex/config.erb +35 -23
  119. data/templates/latex/review-jlreq/README.md +3 -1
  120. data/templates/latex/review-jlreq/review-base.sty +36 -23
  121. data/templates/latex/review-jlreq/review-jlreq.cls +18 -25
  122. data/templates/latex/review-jlreq/review-style.sty +6 -1
  123. data/templates/latex/review-jlreq/review-tcbox.sty +348 -0
  124. data/templates/latex/review-jlreq/reviewmacro.sty +5 -0
  125. data/templates/latex/review-jsbook/README.md +7 -5
  126. data/templates/latex/review-jsbook/review-base.sty +40 -24
  127. data/templates/latex/review-jsbook/review-jsbook.cls +13 -3
  128. data/templates/latex/review-jsbook/review-style.sty +6 -1
  129. data/templates/latex/review-jsbook/review-tcbox.sty +348 -0
  130. data/templates/latex/review-jsbook/reviewmacro.sty +5 -0
  131. data/templates/opf/epubv2.opf.erb +7 -7
  132. data/templates/opf/epubv3.opf.erb +7 -7
  133. data/templates/opf/opf_manifest_epubv2.opf.erb +10 -0
  134. data/templates/opf/opf_manifest_epubv3.opf.erb +10 -0
  135. data/templates/opf/opf_metainfo_epubv2.opf.erb +17 -0
  136. data/templates/opf/opf_metainfo_epubv3.opf.erb +49 -0
  137. data/templates/opf/opf_tocx_epubv2.opf.erb +9 -0
  138. data/templates/opf/opf_tocx_epubv3.opf.erb +17 -0
  139. data/templates/web/html/layout-html5.html.erb +9 -8
  140. data/templates/web/html/layout-xhtml1.html.erb +6 -0
  141. data/test/assets/header_listener.html +35 -0
  142. data/test/assets/img_math/img1.png +0 -0
  143. data/test/assets/img_math/img2.png +0 -0
  144. data/test/assets/img_math/img3.png +0 -0
  145. data/test/assets/syntax_book_index_detail.txt +58 -0
  146. data/test/assets/test_template.tex +6 -3
  147. data/test/assets/test_template_backmatter.tex +6 -3
  148. data/test/book_test_helper.rb +11 -5
  149. data/test/run_test.rb +1 -1
  150. data/test/test_book.rb +54 -63
  151. data/test/test_book_chapter.rb +95 -54
  152. data/test/test_book_part.rb +3 -3
  153. data/test/test_builder.rb +29 -20
  154. data/test/test_catalog_converter_cmd.rb +1 -1
  155. data/test/test_converter.rb +1 -0
  156. data/test/test_epub3maker.rb +170 -126
  157. data/test/test_epubmaker.rb +254 -129
  158. data/test/test_epubmaker_cmd.rb +15 -4
  159. data/test/test_helper.rb +12 -5
  160. data/test/test_htmlbuilder.rb +926 -76
  161. data/test/test_htmlutils.rb +0 -12
  162. data/test/test_i18n.rb +33 -33
  163. data/test/test_idgxmlbuilder.rb +531 -20
  164. data/test/test_idgxmlmaker_cmd.rb +7 -3
  165. data/test/test_img_math.rb +111 -0
  166. data/test/test_index.rb +62 -52
  167. data/test/test_indexbuilder.rb +52 -0
  168. data/test/test_latexbuilder.rb +891 -20
  169. data/test/test_latexbuilder_v2.rb +56 -10
  170. data/test/test_lineinput.rb +20 -93
  171. data/test/test_logger.rb +7 -7
  172. data/test/test_makerhelper.rb +0 -12
  173. data/test/test_markdownbuilder.rb +32 -0
  174. data/test/test_pdfmaker.rb +100 -11
  175. data/test/test_pdfmaker_cmd.rb +3 -3
  176. data/test/test_plaintextbuilder.rb +546 -32
  177. data/test/test_preprocessor.rb +188 -1
  178. data/test/test_review_ext.rb +2 -1
  179. data/test/test_reviewheaderlistener.rb +49 -0
  180. data/test/test_rstbuilder.rb +25 -1
  181. data/test/test_sec_counter.rb +156 -0
  182. data/test/test_template.rb +12 -2
  183. data/test/test_textmaker_cmd.rb +5 -1
  184. data/test/test_tocprinter.rb +46 -0
  185. data/test/test_topbuilder.rb +324 -20
  186. data/test/test_update.rb +44 -44
  187. data/test/test_webtocprinter.rb +75 -43
  188. data/test/test_zip_exporter.rb +5 -6
  189. data/vendor/gentombow/LICENSE +1 -1
  190. data/vendor/gentombow/Makefile +0 -1
  191. data/vendor/gentombow/bounddvi-en.pdf +0 -0
  192. data/vendor/gentombow/bounddvi-en.tex +1 -0
  193. data/vendor/gentombow/bounddvi.pdf +0 -0
  194. data/vendor/gentombow/bounddvi.sty +30 -7
  195. data/vendor/gentombow/bounddvi.tex +1 -0
  196. data/vendor/gentombow/create_archive.sh +1 -0
  197. data/vendor/gentombow/gentombow-ja.pdf +0 -0
  198. data/vendor/gentombow/gentombow-ja.tex +9 -0
  199. data/vendor/gentombow/gentombow.pdf +0 -0
  200. data/vendor/gentombow/gentombow.sty +32 -10
  201. data/vendor/gentombow/gentombow.tex +8 -0
  202. data/vendor/gentombow/tests/gentombow-01-pdfx.tex +8 -0
  203. data/vendor/gentombow/tests/gentombow-02-pdfx.tex +8 -0
  204. data/vendor/jsclasses/Makefile +3 -2
  205. data/vendor/jsclasses/create_archive.sh +5 -5
  206. data/vendor/jsclasses/jis/Makefile +3 -2
  207. data/vendor/jsclasses/jis/jsarticle.cls +22 -18
  208. data/vendor/jsclasses/jis/jsbook.cls +22 -18
  209. data/vendor/jsclasses/jis/jsclasses.dtx +94 -13
  210. data/vendor/jsclasses/jis/jsclasses.ins +15 -5
  211. data/vendor/jsclasses/jis/jslogo.ins +9 -0
  212. data/vendor/jsclasses/jis/jslogo.sty +1 -13
  213. data/vendor/jsclasses/jis/jspf.cls +22 -18
  214. data/vendor/jsclasses/jis/jsreport.cls +22 -18
  215. data/vendor/jsclasses/jis/jsverb.ins +9 -0
  216. data/vendor/jsclasses/jis/jsverb.sty +1 -13
  217. data/vendor/jsclasses/jis/kiyou.cls +22 -18
  218. data/vendor/jsclasses/jis/minijs.sty +65 -22
  219. data/vendor/jsclasses/jis/okumacro.ins +9 -0
  220. data/vendor/jsclasses/jis/okumacro.sty +1 -13
  221. data/vendor/jsclasses/jis/okuverb.ins +9 -0
  222. data/vendor/jsclasses/jis/okuverb.sty +1 -13
  223. data/vendor/jsclasses/jis/winjis.sty +23 -19
  224. data/vendor/jsclasses/jsarticle.cls +22 -18
  225. data/vendor/jsclasses/jsbook.cls +22 -18
  226. data/vendor/jsclasses/jsclasses.dtx +94 -13
  227. data/vendor/jsclasses/jsclasses.ins +15 -5
  228. data/vendor/jsclasses/jsclasses.pdf +0 -0
  229. data/vendor/jsclasses/jslogo.ins +9 -0
  230. data/vendor/jsclasses/jslogo.pdf +0 -0
  231. data/vendor/jsclasses/jslogo.sty +1 -13
  232. data/vendor/jsclasses/jspf.cls +22 -18
  233. data/vendor/jsclasses/jsreport.cls +22 -18
  234. data/vendor/jsclasses/jsverb.ins +9 -0
  235. data/vendor/jsclasses/jsverb.pdf +0 -0
  236. data/vendor/jsclasses/jsverb.sty +1 -13
  237. data/vendor/jsclasses/kiyou.cls +22 -18
  238. data/vendor/jsclasses/minijs.sty +68 -22
  239. data/vendor/jsclasses/okumacro.ins +9 -0
  240. data/vendor/jsclasses/okumacro.pdf +0 -0
  241. data/vendor/jsclasses/okumacro.sty +1 -13
  242. data/vendor/jsclasses/okuverb.ins +9 -0
  243. data/vendor/jsclasses/okuverb.pdf +0 -0
  244. data/vendor/jsclasses/okuverb.sty +1 -13
  245. data/vendor/jsclasses/tests/relfont.tex +10 -0
  246. data/vendor/jsclasses/winjis.sty +23 -19
  247. metadata +106 -22
  248. data/.rubocop_todo.yml +0 -7
  249. data/lib/epubmaker.rb +0 -23
  250. data/lib/epubmaker/content.rb +0 -110
  251. data/lib/epubmaker/epubcommon.rb +0 -441
  252. data/lib/epubmaker/epubv2.rb +0 -143
  253. data/lib/epubmaker/epubv3.rb +0 -233
  254. data/lib/epubmaker/producer.rb +0 -375
  255. data/lib/epubmaker/zip_exporter.rb +0 -81
  256. data/lib/lineinput.rb +0 -155
  257. data/lib/review/book/compilable.rb +0 -178
  258. data/lib/review/tocparser.rb +0 -275
  259. data/test/test_tocparser.rb +0 -25
@@ -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
  %
@@ -1,8 +1,18 @@
1
+ \input docstrip
2
+ \preamble
3
+
4
+ Maintained on GitHub: https://github.com/texjporg/jsclasses
5
+
6
+ \endpreamble
7
+
1
8
  \def\batchfile{jsclasses.ins}
2
9
  \input docstrip.tex
3
10
  \keepsilent
4
- \generateFile{jsarticle.cls}{f}{\from{jsclasses.dtx}{article}}
5
- \generateFile{jsbook.cls}{f}{\from{jsclasses.dtx}{book}}
6
- \generateFile{jsreport.cls}{f}{\from{jsclasses.dtx}{report}}
7
- \generateFile{jspf.cls}{f}{\from{jsclasses.dtx}{jspf}}
8
- \generateFile{kiyou.cls}{f}{\from{jsclasses.dtx}{kiyou}}
11
+ \generateFile{jsarticle.cls}{f}{\from{jsclasses.dtx}{class,article}}
12
+ \generateFile{jsbook.cls}{f}{\from{jsclasses.dtx}{class,book}}
13
+ \generateFile{jsreport.cls}{f}{\from{jsclasses.dtx}{class,report}}
14
+ \generateFile{jspf.cls}{f}{\from{jsclasses.dtx}{class,jspf}}
15
+ \generateFile{kiyou.cls}{f}{\from{jsclasses.dtx}{class,kiyou}}
16
+ \generateFile{minijs.sty}{f}{\from{jsclasses.dtx}{minijs}}
17
+
18
+ \endbatchfile
Binary file
@@ -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{jslogo.ins}
2
9
  \input docstrip.tex
3
10
  \keepsilent
4
11
  \generateFile{jslogo.sty}{f}{\from{jslogo.dtx}{package}}
12
+
13
+ \endbatchfile
Binary file
@@ -6,20 +6,8 @@
6
6
  %%
7
7
  %% jslogo.dtx (with options: `package')
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 jslogo.sty.
15
- %%
16
- %% For distribution of the original source see the terms
17
- %% for copying and modification in the file jslogo.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{LaTeX2e}
24
12
  \ProvidesPackage{jslogo}
25
13
  [2019/07/25 okumura, texjporg]