review 4.0.0 → 4.1.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 (98) 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 +10 -7
  5. data/Dockerfile +21 -5
  6. data/NEWS.ja.md +101 -1
  7. data/NEWS.md +102 -2
  8. data/README.md +10 -7
  9. data/appveyor.yml +0 -20
  10. data/bin/review-compile +1 -1
  11. data/bin/review-validate +1 -1
  12. data/doc/config.yml.sample +12 -1
  13. data/doc/config.yml.sample-simple +1 -0
  14. data/doc/format.ja.md +16 -4
  15. data/doc/format.md +2 -1
  16. data/doc/quickstart.ja.md +40 -23
  17. data/doc/quickstart.md +33 -15
  18. data/lib/review/book/base.rb +8 -7
  19. data/lib/review/book/index.rb +50 -56
  20. data/lib/review/book/index/item.rb +1 -1
  21. data/lib/review/builder.rb +26 -4
  22. data/lib/review/compiler.rb +6 -3
  23. data/lib/review/configure.rb +5 -3
  24. data/lib/review/epubmaker.rb +15 -2
  25. data/lib/review/extentions/string.rb +0 -4
  26. data/lib/review/htmlbuilder.rb +4 -15
  27. data/lib/review/idgxmlbuilder.rb +10 -19
  28. data/lib/review/idgxmlmaker.rb +10 -3
  29. data/lib/review/init.rb +8 -1
  30. data/lib/review/latexbuilder.rb +13 -6
  31. data/lib/review/pdfmaker.rb +24 -9
  32. data/lib/review/rstbuilder.rb +2 -2
  33. data/lib/review/textmaker.rb +7 -1
  34. data/lib/review/tocparser.rb +6 -2
  35. data/lib/review/version.rb +1 -1
  36. data/lib/review/webmaker.rb +8 -1
  37. data/review.gemspec +2 -2
  38. data/samples/sample-book/src/.gitignore +1 -0
  39. data/samples/sample-book/src/config-ebook.yml +4 -0
  40. data/samples/sample-book/src/config-jlreq-ebook.yml +4 -0
  41. data/samples/sample-book/src/config.yml +1 -1
  42. data/samples/sample-book/src/lib/tasks/review.rake +10 -6
  43. data/samples/syntax-book/ch01.re +4 -2
  44. data/samples/syntax-book/ch02.re +8 -16
  45. data/samples/syntax-book/config-jlreq-lualatex.yml +4 -0
  46. data/samples/syntax-book/config-print.yml +3 -0
  47. data/samples/syntax-book/config.yml +1 -1
  48. data/samples/syntax-book/lib/tasks/review.rake +23 -8
  49. data/templates/latex/config.erb +6 -6
  50. data/templates/latex/review-jlreq/review-base.sty +14 -4
  51. data/templates/latex/review-jlreq/review-jlreq.cls +10 -1
  52. data/templates/latex/review-jlreq/review-style.sty +1 -1
  53. data/templates/latex/review-jsbook/review-base.sty +10 -0
  54. data/templates/latex/review-jsbook/review-jsbook.cls +1 -1
  55. data/templates/latex/review-jsbook/review-style.sty +1 -1
  56. data/test/assets/test_template.tex +6 -6
  57. data/test/assets/test_template_backmatter.tex +6 -6
  58. data/test/test_book.rb +8 -0
  59. data/test/test_book_chapter.rb +4 -2
  60. data/test/test_catalog.rb +1 -0
  61. data/test/test_epubmaker_cmd.rb +12 -5
  62. data/test/test_helper.rb +11 -6
  63. data/test/test_htmlbuilder.rb +80 -8
  64. data/test/test_idgxmlbuilder.rb +57 -2
  65. data/test/test_idgxmlmaker_cmd.rb +46 -0
  66. data/test/test_image_finder.rb +52 -70
  67. data/test/test_index.rb +12 -12
  68. data/test/test_latexbuilder.rb +171 -8
  69. data/test/test_latexbuilder_v2.rb +9 -7
  70. data/test/test_pdfmaker_cmd.rb +99 -5
  71. data/test/test_textmaker_cmd.rb +54 -0
  72. data/test/test_topbuilder.rb +59 -0
  73. data/vendor/jsclasses/LICENSE +1 -1
  74. data/vendor/jsclasses/jis/jsarticle.cls +53 -14
  75. data/vendor/jsclasses/jis/jsbook.cls +53 -14
  76. data/vendor/jsclasses/jis/jsclasses.dtx +84 -25
  77. data/vendor/jsclasses/jis/jslogo.dtx +4 -4
  78. data/vendor/jsclasses/jis/jslogo.sty +3 -3
  79. data/vendor/jsclasses/jis/jspf.cls +52 -13
  80. data/vendor/jsclasses/jis/jsreport.cls +53 -14
  81. data/vendor/jsclasses/jis/kiyou.cls +53 -14
  82. data/vendor/jsclasses/jis/okumacro.dtx +4 -5
  83. data/vendor/jsclasses/jis/okumacro.sty +3 -4
  84. data/vendor/jsclasses/jsarticle.cls +53 -14
  85. data/vendor/jsclasses/jsbook.cls +53 -14
  86. data/vendor/jsclasses/jsclasses.dtx +84 -25
  87. data/vendor/jsclasses/jsclasses.pdf +0 -0
  88. data/vendor/jsclasses/jslogo.dtx +4 -4
  89. data/vendor/jsclasses/jslogo.pdf +0 -0
  90. data/vendor/jsclasses/jslogo.sty +3 -3
  91. data/vendor/jsclasses/jspf.cls +52 -13
  92. data/vendor/jsclasses/jsreport.cls +53 -14
  93. data/vendor/jsclasses/kiyou.cls +53 -14
  94. data/vendor/jsclasses/okumacro.dtx +4 -5
  95. data/vendor/jsclasses/okumacro.pdf +0 -0
  96. data/vendor/jsclasses/okumacro.sty +3 -4
  97. metadata +15 -6
  98. data/samples/syntax-book/review-ext.rb +0 -14
@@ -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
  %