review 3.0.0 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby-win.yml +39 -0
  3. data/.github/workflows/ruby.yml +27 -0
  4. data/.rubocop.yml +50 -12
  5. data/.travis.yml +17 -8
  6. data/Dockerfile +21 -5
  7. data/NEWS.ja.md +358 -0
  8. data/NEWS.md +358 -1
  9. data/README.md +11 -8
  10. data/appveyor.yml +1 -3
  11. data/bin/review-catalog-converter +4 -4
  12. data/bin/review-check +8 -8
  13. data/bin/review-checkdep +1 -1
  14. data/bin/review-compile +12 -12
  15. data/bin/review-epubmaker +3 -35
  16. data/bin/review-idgxmlmaker +16 -0
  17. data/bin/review-index +2 -89
  18. data/bin/review-preproc +14 -19
  19. data/bin/review-validate +3 -3
  20. data/bin/review-vol +4 -78
  21. data/doc/LICENSE +1 -1
  22. data/doc/config.yml.sample +46 -12
  23. data/doc/config.yml.sample-simple +4 -2
  24. data/doc/format.ja.md +37 -13
  25. data/doc/format.md +35 -20
  26. data/doc/pdfmaker.ja.md +43 -1
  27. data/doc/pdfmaker.md +42 -1
  28. data/doc/quickstart.ja.md +46 -26
  29. data/doc/quickstart.md +38 -17
  30. data/lib/epubmaker/epubcommon.rb +10 -5
  31. data/lib/epubmaker/epubv2.rb +1 -1
  32. data/lib/epubmaker/epubv3.rb +1 -0
  33. data/lib/epubmaker/producer.rb +4 -2
  34. data/lib/review/book.rb +1 -1
  35. data/lib/review/book/base.rb +38 -79
  36. data/lib/review/book/chapter.rb +18 -3
  37. data/lib/review/book/compilable.rb +6 -5
  38. data/lib/review/book/index.rb +69 -101
  39. data/lib/review/book/index/item.rb +40 -0
  40. data/lib/review/book/page_metric.rb +7 -7
  41. data/lib/review/book/part.rb +28 -5
  42. data/lib/review/book/volume.rb +3 -4
  43. data/lib/review/builder.rb +105 -44
  44. data/lib/review/catalog.rb +13 -16
  45. data/lib/review/compiler.rb +84 -72
  46. data/lib/review/configure.rb +19 -8
  47. data/lib/review/epub2html.rb +37 -4
  48. data/lib/review/epubmaker.rb +62 -7
  49. data/lib/review/extentions/string.rb +0 -4
  50. data/lib/review/htmlbuilder.rb +102 -115
  51. data/lib/review/htmlutils.rb +2 -3
  52. data/lib/review/i18n.rb +2 -2
  53. data/lib/review/i18n.yml +9 -0
  54. data/lib/review/idgxmlbuilder.rb +153 -74
  55. data/lib/review/idgxmlmaker.rb +191 -0
  56. data/lib/review/init-web/finish.html +10 -0
  57. data/lib/review/init-web/index.html +190 -0
  58. data/lib/review/init-web/review-layout-design.js +691 -0
  59. data/lib/review/init.rb +125 -34
  60. data/lib/review/latexbuilder.rb +199 -88
  61. data/lib/review/lineinput.rb +1 -1
  62. data/lib/review/location.rb +32 -0
  63. data/lib/review/logger.rb +4 -8
  64. data/lib/review/makerhelper.rb +24 -5
  65. data/lib/review/markdownbuilder.rb +31 -37
  66. data/lib/review/md2inaobuilder.rb +3 -5
  67. data/lib/review/pdfmaker.rb +44 -22
  68. data/lib/review/plaintextbuilder.rb +106 -85
  69. data/lib/review/preprocessor.rb +32 -41
  70. data/lib/review/rstbuilder.rb +33 -33
  71. data/lib/review/textmaker.rb +19 -3
  72. data/lib/review/textutils.rb +76 -2
  73. data/lib/review/tocprinter.rb +231 -102
  74. data/lib/review/topbuilder.rb +114 -61
  75. data/lib/review/update.rb +19 -19
  76. data/lib/review/version.rb +1 -1
  77. data/lib/review/volumeprinter.rb +99 -0
  78. data/lib/review/webmaker.rb +11 -4
  79. data/lib/review/webtocprinter.rb +38 -35
  80. data/lib/review/yamlloader.rb +26 -16
  81. data/review.gemspec +6 -4
  82. data/samples/sample-book/README.md +7 -2
  83. data/samples/sample-book/src/.gitignore +154 -0
  84. data/samples/sample-book/src/config-ebook.yml +4 -0
  85. data/samples/sample-book/src/config-jlreq-ebook.yml +4 -0
  86. data/samples/sample-book/src/config-jlreq.yml +6 -0
  87. data/samples/sample-book/src/config.yml +2 -2
  88. data/samples/sample-book/src/lib/tasks/review.rake +29 -14
  89. data/samples/sample-book/src/lib/tasks/z01_copy_sty.rake +14 -8
  90. data/samples/syntax-book/ch01.re +4 -2
  91. data/samples/syntax-book/ch02.re +8 -16
  92. data/samples/syntax-book/ch03.re +3 -6
  93. data/samples/syntax-book/config-jlreq-lualatex.yml +4 -0
  94. data/samples/syntax-book/config-jlreq.yml +5 -0
  95. data/samples/syntax-book/config-print.yml +3 -0
  96. data/samples/syntax-book/config.yml +1 -1
  97. data/samples/syntax-book/lib/tasks/review.rake +30 -15
  98. data/samples/syntax-book/lib/tasks/z01_copy_sty.rake +14 -8
  99. data/templates/latex/config.erb +16 -0
  100. data/templates/latex/layout.tex.erb +4 -0
  101. data/templates/latex/review-jlreq/review-base.sty +150 -61
  102. data/templates/latex/review-jlreq/review-jlreq.cls +74 -8
  103. data/templates/latex/review-jlreq/review-style.sty +4 -1
  104. data/templates/latex/review-jsbook/README.md +39 -0
  105. data/templates/latex/review-jsbook/review-base.sty +101 -23
  106. data/templates/latex/review-jsbook/review-jsbook.cls +28 -5
  107. data/templates/latex/review-jsbook/review-style.sty +5 -2
  108. data/templates/opf/epubv3.opf.erb +1 -0
  109. data/templates/web/html/layout-html5.html.erb +2 -2
  110. data/test/assets/test_template.tex +24 -3
  111. data/test/assets/test_template_backmatter.tex +24 -3
  112. data/test/test_book.rb +75 -21
  113. data/test/test_book_chapter.rb +4 -2
  114. data/test/test_book_part.rb +3 -3
  115. data/test/test_builder.rb +16 -0
  116. data/test/test_catalog.rb +24 -42
  117. data/test/test_catalog_converter_cmd.rb +1 -1
  118. data/test/test_epubmaker_cmd.rb +14 -7
  119. data/test/test_helper.rb +15 -7
  120. data/test/test_htmlbuilder.rb +909 -159
  121. data/test/test_i18n.rb +25 -25
  122. data/test/test_idgxmlbuilder.rb +395 -38
  123. data/test/test_idgxmlmaker_cmd.rb +46 -0
  124. data/test/test_image_finder.rb +52 -70
  125. data/test/test_index.rb +50 -10
  126. data/test/test_latexbuilder.rb +1194 -106
  127. data/test/test_latexbuilder_v2.rb +628 -97
  128. data/test/test_logger.rb +14 -1
  129. data/test/test_makerhelper.rb +3 -3
  130. data/test/test_markdownbuilder.rb +134 -16
  131. data/test/test_md2inaobuilder.rb +32 -9
  132. data/test/test_pdfmaker.rb +18 -1
  133. data/test/test_pdfmaker_cmd.rb +100 -6
  134. data/test/test_plaintextbuilder.rb +371 -25
  135. data/test/test_preprocessor.rb +2 -16
  136. data/test/test_rstbuilder.rb +249 -26
  137. data/test/test_textmaker_cmd.rb +54 -0
  138. data/test/test_textutils.rb +109 -2
  139. data/test/test_topbuilder.rb +546 -31
  140. data/test/test_update.rb +17 -8
  141. data/test/test_webtocprinter.rb +66 -34
  142. data/test/test_yamlloader.rb +13 -0
  143. data/vendor/jsclasses/LICENSE +1 -1
  144. data/vendor/jsclasses/jis/jsarticle.cls +53 -14
  145. data/vendor/jsclasses/jis/jsbook.cls +53 -14
  146. data/vendor/jsclasses/jis/jsclasses.dtx +84 -25
  147. data/vendor/jsclasses/jis/jslogo.dtx +4 -4
  148. data/vendor/jsclasses/jis/jslogo.sty +3 -3
  149. data/vendor/jsclasses/jis/jspf.cls +52 -13
  150. data/vendor/jsclasses/jis/jsreport.cls +53 -14
  151. data/vendor/jsclasses/jis/kiyou.cls +53 -14
  152. data/vendor/jsclasses/jis/okumacro.dtx +4 -5
  153. data/vendor/jsclasses/jis/okumacro.sty +3 -4
  154. data/vendor/jsclasses/jsarticle.cls +53 -14
  155. data/vendor/jsclasses/jsbook.cls +53 -14
  156. data/vendor/jsclasses/jsclasses.dtx +84 -25
  157. data/vendor/jsclasses/jsclasses.pdf +0 -0
  158. data/vendor/jsclasses/jslogo.dtx +4 -4
  159. data/vendor/jsclasses/jslogo.pdf +0 -0
  160. data/vendor/jsclasses/jslogo.sty +3 -3
  161. data/vendor/jsclasses/jspf.cls +52 -13
  162. data/vendor/jsclasses/jsreport.cls +53 -14
  163. data/vendor/jsclasses/kiyou.cls +53 -14
  164. data/vendor/jsclasses/okumacro.dtx +4 -5
  165. data/vendor/jsclasses/okumacro.pdf +0 -0
  166. data/vendor/jsclasses/okumacro.sty +3 -4
  167. metadata +55 -10
  168. data/lib/review/tocparser.rb +0 -271
  169. data/samples/syntax-book/review-ext.rb +0 -14
  170. data/test/test_tocparser.rb +0 -25
@@ -22,7 +22,7 @@
22
22
  %% in the same archive or directory.)
23
23
  \NeedsTeXFormat{pLaTeX2e}
24
24
  \ProvidesClass{kiyou}
25
- [2018/06/23 jsclasses (okumura, texjporg)]
25
+ [2020/02/02 jsclasses (okumura, texjporg)]
26
26
  \def\jsc@clsname{kiyou}
27
27
  \newif\ifjsc@needsp@tch
28
28
  \jsc@needsp@tchfalse
@@ -467,6 +467,7 @@
467
467
  \DeclareFontShape{\jsc@JTn}{gt}{m}{sl}{<->ssub*gt/m/n}{}
468
468
  \DeclareFontShape{\jsc@JTn}{mc}{bx}{it}{<->ssub*gt/m/n}{}
469
469
  \DeclareFontShape{\jsc@JTn}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
470
+ \ifx\@rmfamilyhook\@undefined % old
470
471
  \DeclareRobustCommand\rmfamily
471
472
  {\not@math@alphabet\rmfamily\mathrm
472
473
  \romanfamily\rmdefault\kanjifamily\mcdefault\selectfont}
@@ -476,6 +477,25 @@
476
477
  \DeclareRobustCommand\ttfamily
477
478
  {\not@math@alphabet\ttfamily\mathtt
478
479
  \romanfamily\ttdefault\kanjifamily\gtdefault\selectfont}
480
+ \AtBeginDocument{%
481
+ \ifx\mweights@init\@undefined\else % mweights.sty is loaded
482
+ % my definitions above should have been overwritten, recover it!
483
+ % \selectfont is executed twice but I don't care about speed...
484
+ \expandafter\g@addto@macro\csname rmfamily \endcsname
485
+ {\kanjifamily\mcdefault\selectfont}%
486
+ \expandafter\g@addto@macro\csname sffamily \endcsname
487
+ {\kanjifamily\gtdefault\selectfont}%
488
+ \expandafter\g@addto@macro\csname ttfamily \endcsname
489
+ {\kanjifamily\gtdefault\selectfont}%
490
+ \fi}
491
+ \else % 2020-02-02
492
+ \g@addto@macro\@rmfamilyhook
493
+ {\prepare@family@series@update@kanji{mc}\mcdefault}
494
+ \g@addto@macro\@sffamilyhook
495
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
496
+ \g@addto@macro\@ttfamilyhook
497
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
498
+ \fi
479
499
  \ifx\DeclareFixJFMCJKTextFontCommand\@undefined
480
500
  \DeclareRobustCommand\textmc[1]{%
481
501
  \relax\ifmmode \expandafter\nfss@text \fi{\mcfamily #1}}
@@ -1325,11 +1345,11 @@
1325
1345
  \renewcommand{\theenumiii}{\@roman\c@enumiii}
1326
1346
  \renewcommand{\theenumiv}{\@Alph\c@enumiv}
1327
1347
  \newcommand{\labelenumi}{\theenumi.}
1328
- \newcommand{\labelenumii}{\inhibitglue$B!J(B\theenumii$B!K(B\inhibitglue}
1348
+ \newcommand{\labelenumii}{\inhibitglue $B!J(B\theenumii $B!K(B\inhibitglue}
1329
1349
  \newcommand{\labelenumiii}{\theenumiii.}
1330
1350
  \newcommand{\labelenumiv}{\theenumiv.}
1331
1351
  \renewcommand{\p@enumii}{\theenumi}
1332
- \renewcommand{\p@enumiii}{\theenumi\inhibitglue$B!J(B\theenumii$B!K(B}
1352
+ \renewcommand{\p@enumiii}{\theenumi\inhibitglue $B!J(B\theenumii $B!K(B}
1333
1353
  \renewcommand{\p@enumiv}{\p@enumiii\theenumiii}
1334
1354
  \newcommand\labelitemi{\textbullet}
1335
1355
  \newcommand\labelitemii{\normalfont\bfseries \textendash}
@@ -1474,7 +1494,7 @@
1474
1494
  \vskip\abovecaptionskip
1475
1495
  \sbox\@tempboxa{#1\hskip1zw\relax #2}%
1476
1496
  \ifdim \wd\@tempboxa <\hsize \centering \fi
1477
- #1\hskip1zw\relax #2\par
1497
+ #1{\hskip1zw\relax}#2\par
1478
1498
  \vskip\belowcaptionskip}}
1479
1499
  \DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc}
1480
1500
  \DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt}
@@ -1843,23 +1863,42 @@
1843
1863
  \def\$B@>Nq(B{\$B@>Nq(Btrue}
1844
1864
  \def\$BOBNq(B{\$B@>Nq(Bfalse}
1845
1865
  \newcount\heisei \heisei\year \advance\heisei-1988\relax
1866
+ \def\pltx@today@year@#1{%
1867
+ \ifnum\numexpr\year-#1=1 $B85(B\else
1868
+ \ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi
1869
+ \kansuji\numexpr\year-#1\relax
1870
+ \else
1871
+ \number\numexpr\year-#1\relax\nobreak
1872
+ \fi
1873
+ \fi $BG/(B
1874
+ }
1875
+ \def\pltx@today@year{%
1876
+ \ifnum\numexpr\year*10000+\month*100+\day<19890108
1877
+ $B><OB(B\pltx@today@year@{1925}%
1878
+ \else\ifnum\numexpr\year*10000+\month*100+\day<20190501
1879
+ $BJ?@.(B\pltx@today@year@{1988}%
1880
+ \else
1881
+ $BNaOB(B\pltx@today@year@{2018}%
1882
+ \fi\fi}
1846
1883
  \def\today{%
1847
1884
  \if@english
1848
1885
  \ifcase\month\or
1849
1886
  January\or February\or March\or April\or May\or June\or
1850
1887
  July\or August\or September\or October\or November\or December\fi
1851
1888
  \space\number\day, \number\year
1889
+ \else\if$B@>Nq(B
1890
+ \ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi \kansuji\year
1891
+ \else\number\year\nobreak\fi $BG/(B
1852
1892
  \else
1853
- \if$B@>Nq(B
1854
- \number\year $BG/(B
1855
- \number\month $B7n(B
1856
- \number\day $BF|(B
1857
- \else
1858
- $BJ?@.(B\number\heisei $BG/(B
1859
- \number\month $B7n(B
1860
- \number\day $BF|(B
1861
- \fi
1862
- \fi}
1893
+ \pltx@today@year
1894
+ \fi
1895
+ \ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi
1896
+ \kansuji\month $B7n(B
1897
+ \kansuji\day $BF|(B
1898
+ \else
1899
+ \number\month\nobreak $B7n(B
1900
+ \number\day\nobreak $BF|(B
1901
+ \fi\fi}
1863
1902
  \hyphenation{ado-be post-script ghost-script phe-nom-e-no-log-i-cal man-u-script}
1864
1903
  \pagestyle{plain}
1865
1904
  \pagenumbering{arabic}
@@ -7,7 +7,7 @@
7
7
  % http://oku.edu.mie-u.ac.jp/~okumura/
8
8
  %
9
9
  %<okumacro>\NeedsTeXFormat{pLaTeX2e}
10
- %<okumacro>\ProvidesPackage{okumacro}[2018/06/11 okumura, texjporg]
10
+ %<okumacro>\ProvidesPackage{okumacro}[2019/07/25 okumura, texjporg]
11
11
  %<*driver>
12
12
  \documentclass{jsarticle}
13
13
  \usepackage{doc}
@@ -188,7 +188,7 @@
188
188
  %\end{verbatim}
189
189
  % $B$H$7$F$$$^$7$?$,!$(B2017$BG/(B9$B7n$N(B\pTeX (p3.7.2)$B$KBP1~$9$k$?$a(B
190
190
  %\begin{verbatim}
191
- % \setbox1=\hbox to\z@{\hbox to 1zw{\hss$B!&(B\hss}\hss}%
191
+ % \setbox1=\hbox to\z@{\hbox to 1zw{\hss $B!&(B\hss}\hss}%
192
192
  %\end{verbatim}
193
193
  % $B$KJQ99$7$^$7$?!#$3$l$G!$(Bp3.7.1$B0JA0!&(Bp3.7.2$B0J9_$I$A$i$b(BOK$B$G$9!#(B
194
194
  %
@@ -599,9 +599,8 @@
599
599
  \newcommand{\PiCTeX}{\PiC\kern-.11em\TeX}
600
600
  \newcommand{\JTeX}{\leavevmode\lower.5ex\hbox{J}\kern-.17em\TeX}
601
601
  \newcommand{\JLaTeX}{\leavevmode\lower.5ex\hbox{\rm J}\kern-.17em\LaTeX}
602
- \DeclareRobustCommand{\JBibTeX}{$\mbox{%
603
- \lower.5ex\hbox{J}\ifx\f@family\cmr\kern-.15em\else\kern-.05em\fi
604
- \BibTeX}$}
602
+ \DeclareRobustCommand{\JBibTeX}{$\m@th\mbox{%
603
+ \lower.5ex\hbox{J}\kern-.05em\BibTeX}$}
605
604
  \newcommand{\pTeXsT}{p\kern-.21em\TeX\kern-.10em s\kern-.21em T}
606
605
  % $B%$%s%W%l%9$N?7(B TeX $B$N2>>N(B
607
606
  \newcommand{\iTeX}{\accent'27\i\TeX}
@@ -21,7 +21,7 @@
21
21
  %% same distribution. (The sources need not necessarily be
22
22
  %% in the same archive or directory.)
23
23
  \NeedsTeXFormat{pLaTeX2e}
24
- \ProvidesPackage{okumacro}[2018/06/11 okumura, texjporg]
24
+ \ProvidesPackage{okumacro}[2019/07/25 okumura, texjporg]
25
25
  \providecommand{\rubyfamily}{}
26
26
  \def\kanjistrut{\iftdir
27
27
  \vrule \@height0.5zw \@depth0.5zw \@width\z@
@@ -246,9 +246,8 @@
246
246
  \newcommand{\PiCTeX}{\PiC\kern-.11em\TeX}
247
247
  \newcommand{\JTeX}{\leavevmode\lower.5ex\hbox{J}\kern-.17em\TeX}
248
248
  \newcommand{\JLaTeX}{\leavevmode\lower.5ex\hbox{\rm J}\kern-.17em\LaTeX}
249
- \DeclareRobustCommand{\JBibTeX}{$\mbox{%
250
- \lower.5ex\hbox{J}\ifx\f@family\cmr\kern-.15em\else\kern-.05em\fi
251
- \BibTeX}$}
249
+ \DeclareRobustCommand{\JBibTeX}{$\m@th\mbox{%
250
+ \lower.5ex\hbox{J}\kern-.05em\BibTeX}$}
252
251
  \newcommand{\pTeXsT}{p\kern-.21em\TeX\kern-.10em s\kern-.21em T}
253
252
  \newcommand{\iTeX}{\accent'27\i\TeX}
254
253
  \newcommand{\MlTeX}{M\kern-.1667em\lower.5ex\hbox{L}\kern-.25em\TeX}
@@ -25,7 +25,7 @@
25
25
  \fi
26
26
  \NeedsTeXFormat{pLaTeX2e}
27
27
  \ProvidesClass{jsarticle}
28
- [2018/06/23 jsclasses (okumura, texjporg)]
28
+ [2020/02/02 jsclasses (okumura, texjporg)]
29
29
  \def\jsc@clsname{jsarticle}
30
30
  \newif\ifjsc@needsp@tch
31
31
  \jsc@needsp@tchfalse
@@ -463,6 +463,7 @@
463
463
  \DeclareFontShape{\jsc@JTn}{gt}{m}{sl}{<->ssub*gt/m/n}{}
464
464
  \DeclareFontShape{\jsc@JTn}{mc}{bx}{it}{<->ssub*gt/m/n}{}
465
465
  \DeclareFontShape{\jsc@JTn}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
466
+ \ifx\@rmfamilyhook\@undefined % old
466
467
  \DeclareRobustCommand\rmfamily
467
468
  {\not@math@alphabet\rmfamily\mathrm
468
469
  \romanfamily\rmdefault\kanjifamily\mcdefault\selectfont}
@@ -472,6 +473,25 @@
472
473
  \DeclareRobustCommand\ttfamily
473
474
  {\not@math@alphabet\ttfamily\mathtt
474
475
  \romanfamily\ttdefault\kanjifamily\gtdefault\selectfont}
476
+ \AtBeginDocument{%
477
+ \ifx\mweights@init\@undefined\else % mweights.sty is loaded
478
+ % my definitions above should have been overwritten, recover it!
479
+ % \selectfont is executed twice but I don't care about speed...
480
+ \expandafter\g@addto@macro\csname rmfamily \endcsname
481
+ {\kanjifamily\mcdefault\selectfont}%
482
+ \expandafter\g@addto@macro\csname sffamily \endcsname
483
+ {\kanjifamily\gtdefault\selectfont}%
484
+ \expandafter\g@addto@macro\csname ttfamily \endcsname
485
+ {\kanjifamily\gtdefault\selectfont}%
486
+ \fi}
487
+ \else % 2020-02-02
488
+ \g@addto@macro\@rmfamilyhook
489
+ {\prepare@family@series@update@kanji{mc}\mcdefault}
490
+ \g@addto@macro\@sffamilyhook
491
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
492
+ \g@addto@macro\@ttfamilyhook
493
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
494
+ \fi
475
495
  \ifx\DeclareFixJFMCJKTextFontCommand\@undefined
476
496
  \DeclareRobustCommand\textmc[1]{%
477
497
  \relax\ifmmode \expandafter\nfss@text \fi{\mcfamily #1}}
@@ -1373,11 +1393,11 @@
1373
1393
  \renewcommand{\theenumiii}{\@roman\c@enumiii}
1374
1394
  \renewcommand{\theenumiv}{\@Alph\c@enumiv}
1375
1395
  \newcommand{\labelenumi}{\theenumi.}
1376
- \newcommand{\labelenumii}{\inhibitglue(\theenumii)\inhibitglue}
1396
+ \newcommand{\labelenumii}{\inhibitglue (\theenumii )\inhibitglue}
1377
1397
  \newcommand{\labelenumiii}{\theenumiii.}
1378
1398
  \newcommand{\labelenumiv}{\theenumiv.}
1379
1399
  \renewcommand{\p@enumii}{\theenumi}
1380
- \renewcommand{\p@enumiii}{\theenumi\inhibitglue(\theenumii)}
1400
+ \renewcommand{\p@enumiii}{\theenumi\inhibitglue (\theenumii )}
1381
1401
  \renewcommand{\p@enumiv}{\p@enumiii\theenumiii}
1382
1402
  \newcommand\labelitemi{\textbullet}
1383
1403
  \newcommand\labelitemii{\normalfont\bfseries \textendash}
@@ -1522,7 +1542,7 @@
1522
1542
  \vskip\abovecaptionskip
1523
1543
  \sbox\@tempboxa{#1\hskip1zw\relax #2}%
1524
1544
  \ifdim \wd\@tempboxa <\hsize \centering \fi
1525
- #1\hskip1zw\relax #2\par
1545
+ #1{\hskip1zw\relax}#2\par
1526
1546
  \vskip\belowcaptionskip}}
1527
1547
  \DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc}
1528
1548
  \DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt}
@@ -1888,23 +1908,42 @@
1888
1908
  \def\西暦{\西暦true}
1889
1909
  \def\和暦{\西暦false}
1890
1910
  \newcount\heisei \heisei\year \advance\heisei-1988\relax
1911
+ \def\pltx@today@year@#1{%
1912
+ \ifnum\numexpr\year-#1=1 元\else
1913
+ \ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi
1914
+ \kansuji\numexpr\year-#1\relax
1915
+ \else
1916
+ \number\numexpr\year-#1\relax\nobreak
1917
+ \fi
1918
+ \fi 年
1919
+ }
1920
+ \def\pltx@today@year{%
1921
+ \ifnum\numexpr\year*10000+\month*100+\day<19890108
1922
+ 昭和\pltx@today@year@{1925}%
1923
+ \else\ifnum\numexpr\year*10000+\month*100+\day<20190501
1924
+ 平成\pltx@today@year@{1988}%
1925
+ \else
1926
+ 令和\pltx@today@year@{2018}%
1927
+ \fi\fi}
1891
1928
  \def\today{%
1892
1929
  \if@english
1893
1930
  \ifcase\month\or
1894
1931
  January\or February\or March\or April\or May\or June\or
1895
1932
  July\or August\or September\or October\or November\or December\fi
1896
1933
  \space\number\day, \number\year
1934
+ \else\if西暦
1935
+ \ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi \kansuji\year
1936
+ \else\number\year\nobreak\fi 年
1897
1937
  \else
1898
- \if西暦
1899
- \number\year 年
1900
- \number\month 月
1901
- \number\day
1902
- \else
1903
- 平成\number\heisei 年
1904
- \number\month 月
1905
- \number\day 日
1906
- \fi
1907
- \fi}
1938
+ \pltx@today@year
1939
+ \fi
1940
+ \ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi
1941
+ \kansuji\month
1942
+ \kansuji\day 日
1943
+ \else
1944
+ \number\month\nobreak
1945
+ \number\day\nobreak
1946
+ \fi\fi}
1908
1947
  \hyphenation{ado-be post-script ghost-script phe-nom-e-no-log-i-cal man-u-script}
1909
1948
  \if@slide \pagestyle{empty} \else \pagestyle{plain} \fi
1910
1949
  \pagenumbering{arabic}
@@ -25,7 +25,7 @@
25
25
  \fi
26
26
  \NeedsTeXFormat{pLaTeX2e}
27
27
  \ProvidesClass{jsbook}
28
- [2018/06/23 jsclasses (okumura, texjporg)]
28
+ [2020/02/02 jsclasses (okumura, texjporg)]
29
29
  \def\jsc@clsname{jsbook}
30
30
  \newif\ifjsc@needsp@tch
31
31
  \jsc@needsp@tchfalse
@@ -468,6 +468,7 @@
468
468
  \DeclareFontShape{\jsc@JTn}{gt}{m}{sl}{<->ssub*gt/m/n}{}
469
469
  \DeclareFontShape{\jsc@JTn}{mc}{bx}{it}{<->ssub*gt/m/n}{}
470
470
  \DeclareFontShape{\jsc@JTn}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
471
+ \ifx\@rmfamilyhook\@undefined % old
471
472
  \DeclareRobustCommand\rmfamily
472
473
  {\not@math@alphabet\rmfamily\mathrm
473
474
  \romanfamily\rmdefault\kanjifamily\mcdefault\selectfont}
@@ -477,6 +478,25 @@
477
478
  \DeclareRobustCommand\ttfamily
478
479
  {\not@math@alphabet\ttfamily\mathtt
479
480
  \romanfamily\ttdefault\kanjifamily\gtdefault\selectfont}
481
+ \AtBeginDocument{%
482
+ \ifx\mweights@init\@undefined\else % mweights.sty is loaded
483
+ % my definitions above should have been overwritten, recover it!
484
+ % \selectfont is executed twice but I don't care about speed...
485
+ \expandafter\g@addto@macro\csname rmfamily \endcsname
486
+ {\kanjifamily\mcdefault\selectfont}%
487
+ \expandafter\g@addto@macro\csname sffamily \endcsname
488
+ {\kanjifamily\gtdefault\selectfont}%
489
+ \expandafter\g@addto@macro\csname ttfamily \endcsname
490
+ {\kanjifamily\gtdefault\selectfont}%
491
+ \fi}
492
+ \else % 2020-02-02
493
+ \g@addto@macro\@rmfamilyhook
494
+ {\prepare@family@series@update@kanji{mc}\mcdefault}
495
+ \g@addto@macro\@sffamilyhook
496
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
497
+ \g@addto@macro\@ttfamilyhook
498
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
499
+ \fi
480
500
  \ifx\DeclareFixJFMCJKTextFontCommand\@undefined
481
501
  \DeclareRobustCommand\textmc[1]{%
482
502
  \relax\ifmmode \expandafter\nfss@text \fi{\mcfamily #1}}
@@ -1480,11 +1500,11 @@
1480
1500
  \renewcommand{\theenumiii}{\@roman\c@enumiii}
1481
1501
  \renewcommand{\theenumiv}{\@Alph\c@enumiv}
1482
1502
  \newcommand{\labelenumi}{\theenumi.}
1483
- \newcommand{\labelenumii}{\inhibitglue(\theenumii)\inhibitglue}
1503
+ \newcommand{\labelenumii}{\inhibitglue (\theenumii )\inhibitglue}
1484
1504
  \newcommand{\labelenumiii}{\theenumiii.}
1485
1505
  \newcommand{\labelenumiv}{\theenumiv.}
1486
1506
  \renewcommand{\p@enumii}{\theenumi}
1487
- \renewcommand{\p@enumiii}{\theenumi\inhibitglue(\theenumii)}
1507
+ \renewcommand{\p@enumiii}{\theenumi\inhibitglue (\theenumii )}
1488
1508
  \renewcommand{\p@enumiv}{\p@enumiii\theenumiii}
1489
1509
  \newcommand\labelitemi{\textbullet}
1490
1510
  \newcommand\labelitemii{\normalfont\bfseries \textendash}
@@ -1591,7 +1611,7 @@
1591
1611
  \vskip\abovecaptionskip
1592
1612
  \sbox\@tempboxa{#1\hskip1zw\relax #2}%
1593
1613
  \ifdim \wd\@tempboxa <\hsize \centering \fi
1594
- #1\hskip1zw\relax #2\par
1614
+ #1{\hskip1zw\relax}#2\par
1595
1615
  \vskip\belowcaptionskip}}
1596
1616
  \DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc}
1597
1617
  \DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt}
@@ -1979,23 +1999,42 @@
1979
1999
  \def\西暦{\西暦true}
1980
2000
  \def\和暦{\西暦false}
1981
2001
  \newcount\heisei \heisei\year \advance\heisei-1988\relax
2002
+ \def\pltx@today@year@#1{%
2003
+ \ifnum\numexpr\year-#1=1 元\else
2004
+ \ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi
2005
+ \kansuji\numexpr\year-#1\relax
2006
+ \else
2007
+ \number\numexpr\year-#1\relax\nobreak
2008
+ \fi
2009
+ \fi 年
2010
+ }
2011
+ \def\pltx@today@year{%
2012
+ \ifnum\numexpr\year*10000+\month*100+\day<19890108
2013
+ 昭和\pltx@today@year@{1925}%
2014
+ \else\ifnum\numexpr\year*10000+\month*100+\day<20190501
2015
+ 平成\pltx@today@year@{1988}%
2016
+ \else
2017
+ 令和\pltx@today@year@{2018}%
2018
+ \fi\fi}
1982
2019
  \def\today{%
1983
2020
  \if@english
1984
2021
  \ifcase\month\or
1985
2022
  January\or February\or March\or April\or May\or June\or
1986
2023
  July\or August\or September\or October\or November\or December\fi
1987
2024
  \space\number\day, \number\year
2025
+ \else\if西暦
2026
+ \ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi \kansuji\year
2027
+ \else\number\year\nobreak\fi 年
1988
2028
  \else
1989
- \if西暦
1990
- \number\year 年
1991
- \number\month 月
1992
- \number\day
1993
- \else
1994
- 平成\number\heisei 年
1995
- \number\month 月
1996
- \number\day 日
1997
- \fi
1998
- \fi}
2029
+ \pltx@today@year
2030
+ \fi
2031
+ \ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi
2032
+ \kansuji\month
2033
+ \kansuji\day 日
2034
+ \else
2035
+ \number\month\nobreak
2036
+ \number\day\nobreak
2037
+ \fi\fi}
1999
2038
  \hyphenation{ado-be post-script ghost-script phe-nom-e-no-log-i-cal man-u-script}
2000
2039
  \if@report \pagestyle{plain} \else \pagestyle{headings} \fi
2001
2040
  \pagenumbering{arabic}
@@ -9,13 +9,13 @@
9
9
  % pLaTeX2ε新ドキュメントクラス(日本語 TeX 開発コミュニティ版)
10
10
  % 原作者:奥村晴彦 <okumura@okumuralab.org>
11
11
  %
12
- % Copyright 1993-2016
12
+ % Copyright 1993-2019
13
13
  % The LaTeX3 Project and any individual authors listed elsewhere
14
14
  % in this file.
15
15
  %
16
16
  % Copyright 1995-1999 ASCII Corporation.
17
17
  % Copyright 1999-2016 Haruhiko Okumura
18
- % Copyright 2016-2018 Japanese TeX Development Community
18
+ % Copyright 2016-2020 Japanese TeX Development Community
19
19
  %
20
20
  % \fi
21
21
  %
@@ -31,7 +31,7 @@
31
31
  %<*driver>
32
32
  \ProvidesFile{jsclasses.dtx}
33
33
  %</driver>
34
- [2018/06/23 jsclasses (okumura, texjporg)]
34
+ [2020/02/02 jsclasses (okumura, texjporg)]
35
35
  %<*driver>
36
36
  \documentclass{jsarticle}
37
37
  \usepackage{doc}
@@ -884,7 +884,7 @@
884
884
  \fi
885
885
  \ifnum\@ptsize=-1
886
886
  \def\n@baseline{15}%
887
- \fi
887
+ \fi
888
888
  \fi
889
889
  %<*kiyou>
890
890
  \def\jsc@magscale{0.9769230}
@@ -893,7 +893,7 @@
893
893
  \def\inv@mag{1.02354}
894
894
  \jsc@mpt=1\p@
895
895
  \jsc@mmm=1mm
896
- \else
896
+ \else
897
897
  \jsc@mpt=\jsc@magscale\p@
898
898
  \jsc@mmm=\jsc@magscale mm
899
899
  \def\inv@mag{1}
@@ -1160,6 +1160,18 @@
1160
1160
  \DeclareFontShape{\jsc@JTn}{gt}{m}{sl}{<->ssub*gt/m/n}{}
1161
1161
  \DeclareFontShape{\jsc@JTn}{mc}{bx}{it}{<->ssub*gt/m/n}{}
1162
1162
  \DeclareFontShape{\jsc@JTn}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
1163
+ % \end{macrocode}
1164
+ %
1165
+ % [2020-02-02] \LaTeXe~2020-02-02でNFSSが拡張され,
1166
+ % それに伴いオリジナルの |\rmfamily| などの定義が変化しました。
1167
+ % |\DeclareRobustCommand| で直接定義すると,これを上書きして
1168
+ % NFSSの拡張部分を壊してしまいますので,
1169
+ % 新たに提供されたフックにコードを挿入します。
1170
+ % 従来のコードも\LaTeXe~2019-10-01以前のために残してありますが,
1171
+ % \texttt{mweights}パッケージ対策も施しました(forum:2763)。
1172
+ %
1173
+ % \begin{macrocode}
1174
+ \ifx\@rmfamilyhook\@undefined % old
1163
1175
  \DeclareRobustCommand\rmfamily
1164
1176
  {\not@math@alphabet\rmfamily\mathrm
1165
1177
  \romanfamily\rmdefault\kanjifamily\mcdefault\selectfont}
@@ -1169,6 +1181,25 @@
1169
1181
  \DeclareRobustCommand\ttfamily
1170
1182
  {\not@math@alphabet\ttfamily\mathtt
1171
1183
  \romanfamily\ttdefault\kanjifamily\gtdefault\selectfont}
1184
+ \AtBeginDocument{%
1185
+ \ifx\mweights@init\@undefined\else % mweights.sty is loaded
1186
+ % my definitions above should have been overwritten, recover it!
1187
+ % \selectfont is executed twice but I don't care about speed...
1188
+ \expandafter\g@addto@macro\csname rmfamily \endcsname
1189
+ {\kanjifamily\mcdefault\selectfont}%
1190
+ \expandafter\g@addto@macro\csname sffamily \endcsname
1191
+ {\kanjifamily\gtdefault\selectfont}%
1192
+ \expandafter\g@addto@macro\csname ttfamily \endcsname
1193
+ {\kanjifamily\gtdefault\selectfont}%
1194
+ \fi}
1195
+ \else % 2020-02-02
1196
+ \g@addto@macro\@rmfamilyhook
1197
+ {\prepare@family@series@update@kanji{mc}\mcdefault}
1198
+ \g@addto@macro\@sffamilyhook
1199
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
1200
+ \g@addto@macro\@ttfamilyhook
1201
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
1202
+ \fi
1172
1203
  % \end{macrocode}
1173
1204
  %
1174
1205
  % \begin{macro}{\textmc}
@@ -1340,10 +1371,10 @@
1340
1371
  \xspcode`+=3
1341
1372
  \xspcode`\%=3
1342
1373
  % \end{macrocode}
1343
- %
1374
+ %
1344
1375
  % これ以外にT1エンコーディングで80〜ffの文字もすべて欧文文字ですので,
1345
1376
  % 両側の和文文字との間にスペースが入らなければなりません。
1346
- %
1377
+ %
1347
1378
  % \begin{macrocode}
1348
1379
  \xspcode`^^80=3
1349
1380
  \xspcode`^^81=3
@@ -4037,7 +4068,7 @@
4037
4068
  %
4038
4069
  % \begin{macrocode}
4039
4070
  \newcommand{\labelenumi}{\theenumi.}
4040
- \newcommand{\labelenumii}{\inhibitglue(\theenumii)\inhibitglue}
4071
+ \newcommand{\labelenumii}{\inhibitglue (\theenumii )\inhibitglue}
4041
4072
  \newcommand{\labelenumiii}{\theenumiii.}
4042
4073
  \newcommand{\labelenumiv}{\theenumiv.}
4043
4074
  % \end{macrocode}
@@ -4056,7 +4087,7 @@
4056
4087
  %
4057
4088
  % \begin{macrocode}
4058
4089
  \renewcommand{\p@enumii}{\theenumi}
4059
- \renewcommand{\p@enumiii}{\theenumi\inhibitglue(\theenumii)}
4090
+ \renewcommand{\p@enumiii}{\theenumi\inhibitglue (\theenumii )}
4060
4091
  \renewcommand{\p@enumiv}{\p@enumiii\theenumiii}
4061
4092
  % \end{macrocode}
4062
4093
  % \end{macro}
@@ -4456,7 +4487,7 @@
4456
4487
  % 数式番号の形式です。
4457
4488
  % デフォルトの値をコメントアウトして示しておきます。
4458
4489
  %
4459
- % |\inhibitglue(\theequation)\inhibitglue| のように和文かっこ
4490
+ % |\inhibitglue (\theequation )\inhibitglue| のように和文かっこ
4460
4491
  % を使うことも可能です。
4461
4492
  %
4462
4493
  % \begin{macrocode}
@@ -4467,7 +4498,7 @@
4467
4498
  % |amsmath| パッケージを使う場合は |\tagform@| を次のように修正します。
4468
4499
  %
4469
4500
  % \begin{macrocode}
4470
- % \def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip\@@italiccorr)}}
4501
+ % \def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip\@@italiccorr )}}
4471
4502
  % \end{macrocode}
4472
4503
  %
4473
4504
  % \subsection{フロート}
@@ -4641,6 +4672,10 @@
4641
4672
  %
4642
4673
  % [2003-11-05] ロジックを少し変えてみました。
4643
4674
  %
4675
+ % [2018-12-11] 遅くなりましたが,|listings| パッケージを使うときに
4676
+ % |title| を指定すると ``1zw'' が出力されてしまう
4677
+ % 問題 (forum:1543,Issue \#71) に対処しました。
4678
+ %
4644
4679
  % \begin{macrocode}
4645
4680
  %<*!jspf>
4646
4681
  % \long\def\@makecaption#1#2{{\small
@@ -4661,7 +4696,7 @@
4661
4696
  \vskip\abovecaptionskip
4662
4697
  \sbox\@tempboxa{#1\hskip1zw\relax #2}%
4663
4698
  \ifdim \wd\@tempboxa <\hsize \centering \fi
4664
- #1\hskip1zw\relax #2\par
4699
+ #1{\hskip1zw\relax}#2\par
4665
4700
  \vskip\belowcaptionskip}}
4666
4701
  %</!jspf>
4667
4702
  %<*jspf>
@@ -5216,7 +5251,7 @@
5216
5251
  % とりあえずコメントアウトしておきますので,必要に応じて生かしてください。
5217
5252
  %
5218
5253
  % \begin{macrocode}
5219
- % \def\@biblabel#1{\inhibitglue[#1]\inhibitglue}
5254
+ % \def\@biblabel#1{\inhibitglue [#1]\inhibitglue}
5220
5255
  % \end{macrocode}
5221
5256
  % \end{macro}
5222
5257
  %
@@ -5243,7 +5278,7 @@
5243
5278
  % \@latex@warning
5244
5279
  % {Citation `\@citeb' on page \thepage \space undefined}}%
5245
5280
  % {\@cite@ofmt{\csname b@\@citeb\endcsname}}}}{#1}}
5246
- % \def\@cite#1#2{\inhibitglue[{#1\if@tempswa ,#2\fi}]\inhibitglue}
5281
+ % \def\@cite#1#2{\inhibitglue [{#1\if@tempswa ,#2\fi}]\inhibitglue}
5247
5282
  % \end{macrocode}
5248
5283
  %
5249
5284
  % 引用番号を上ツキの 1)のようなスタイルにするには次のようにします。
@@ -5862,8 +5897,13 @@
5862
5897
  % \paragraph{今日の日付}
5863
5898
  %
5864
5899
  % \LaTeX で処理した日付を出力します。
5865
- % |jarticle| などと違って,標準を西暦にし,余分な空白が入らないように改良しました。
5900
+ % ^^A |jarticle| などと違って,標準を西暦にし,
5901
+ % ^^A 余分な空白が入らないように改良しました。
5902
+ % ^^A -- 2018年7月以降は |jarticle| なども標準が西暦,
5903
+ % ^^A -- 2019年4月以降は余分な空白が入らなくなっています。
5866
5904
  % 和暦にするには |\和暦| と書いてください。
5905
+ % ちなみにこの文章の作成日は西暦では{\西暦\today}で,
5906
+ % 和暦では{\和暦\today}です。
5867
5907
  %
5868
5908
  % \begin{macro}{\today}
5869
5909
  % \begin{macrocode}
@@ -5871,23 +5911,42 @@
5871
5911
  \def\西暦{\西暦true}
5872
5912
  \def\和暦{\西暦false}
5873
5913
  \newcount\heisei \heisei\year \advance\heisei-1988\relax
5914
+ \def\pltx@today@year@#1{%
5915
+ \ifnum\numexpr\year-#1=1 元\else
5916
+ \ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi
5917
+ \kansuji\numexpr\year-#1\relax
5918
+ \else
5919
+ \number\numexpr\year-#1\relax\nobreak
5920
+ \fi
5921
+ \fi 年
5922
+ }
5923
+ \def\pltx@today@year{%
5924
+ \ifnum\numexpr\year*10000+\month*100+\day<19890108
5925
+ 昭和\pltx@today@year@{1925}%
5926
+ \else\ifnum\numexpr\year*10000+\month*100+\day<20190501
5927
+ 平成\pltx@today@year@{1988}%
5928
+ \else
5929
+ 令和\pltx@today@year@{2018}%
5930
+ \fi\fi}
5874
5931
  \def\today{%
5875
5932
  \if@english
5876
5933
  \ifcase\month\or
5877
5934
  January\or February\or March\or April\or May\or June\or
5878
5935
  July\or August\or September\or October\or November\or December\fi
5879
5936
  \space\number\day, \number\year
5937
+ \else\if西暦
5938
+ \ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi \kansuji\year
5939
+ \else\number\year\nobreak\fi 年
5880
5940
  \else
5881
- \if西暦
5882
- \number\year 年
5883
- \number\month 月
5884
- \number\day
5885
- \else
5886
- 平成\number\heisei 年
5887
- \number\month 月
5888
- \number\day 日
5889
- \fi
5890
- \fi}
5941
+ \pltx@today@year
5942
+ \fi
5943
+ \ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi
5944
+ \kansuji\month
5945
+ \kansuji\day 日
5946
+ \else
5947
+ \number\month\nobreak
5948
+ \number\day\nobreak
5949
+ \fi\fi}
5891
5950
  % \end{macrocode}
5892
5951
  % \end{macro}
5893
5952
  %