review 4.0.0 → 5.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (268) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby-tex.yml +31 -0
  3. data/.github/workflows/ruby-win.yml +45 -0
  4. data/.github/workflows/ruby.yml +27 -0
  5. data/.rubocop.yml +141 -38
  6. data/Dockerfile +21 -5
  7. data/NEWS.ja.md +338 -1
  8. data/NEWS.md +339 -2
  9. data/README.md +11 -7
  10. data/Rakefile +7 -2
  11. data/appveyor.yml +0 -20
  12. data/bin/review +2 -4
  13. data/bin/review-catalog-converter +4 -4
  14. data/bin/review-check +8 -12
  15. data/bin/review-checkdep +2 -5
  16. data/bin/review-compile +11 -20
  17. data/bin/review-epub2html +1 -4
  18. data/bin/review-epubmaker +3 -4
  19. data/bin/review-idgxmlmaker +1 -3
  20. data/bin/review-index +5 -86
  21. data/bin/review-init +1 -4
  22. data/bin/review-pdfmaker +1 -3
  23. data/bin/review-preproc +3 -5
  24. data/bin/review-textmaker +1 -3
  25. data/bin/review-update +1 -4
  26. data/bin/review-validate +5 -5
  27. data/bin/review-vol +5 -82
  28. data/bin/review-webmaker +1 -3
  29. data/doc/config.yml.sample +55 -12
  30. data/doc/config.yml.sample-simple +4 -3
  31. data/doc/format.ja.md +119 -17
  32. data/doc/format.md +106 -17
  33. data/doc/makeindex.ja.md +2 -2
  34. data/doc/pdfmaker.ja.md +42 -0
  35. data/doc/pdfmaker.md +41 -0
  36. data/doc/quickstart.ja.md +55 -25
  37. data/doc/quickstart.md +47 -17
  38. data/lib/review.rb +1 -1
  39. data/lib/review/book.rb +2 -2
  40. data/lib/review/book/base.rb +69 -30
  41. data/lib/review/book/bib.rb +21 -0
  42. data/lib/review/book/book_unit.rb +158 -0
  43. data/lib/review/book/chapter.rb +33 -26
  44. data/lib/review/book/index.rb +39 -206
  45. data/lib/review/book/index/item.rb +8 -2
  46. data/lib/review/book/page_metric.rb +7 -7
  47. data/lib/review/book/part.rb +26 -11
  48. data/lib/review/book/volume.rb +5 -5
  49. data/lib/review/builder.rb +124 -27
  50. data/lib/review/call_hook.rb +20 -0
  51. data/lib/review/catalog.rb +3 -2
  52. data/lib/review/compiler.rb +197 -91
  53. data/lib/review/configure.rb +95 -9
  54. data/lib/review/converter.rb +1 -1
  55. data/lib/review/epub2html.rb +6 -1
  56. data/lib/review/epubmaker.rb +116 -117
  57. data/lib/review/epubmaker/content.rb +113 -0
  58. data/lib/review/epubmaker/epubcommon.rb +372 -0
  59. data/lib/review/epubmaker/epubv2.rb +178 -0
  60. data/lib/review/epubmaker/epubv3.rb +231 -0
  61. data/lib/review/epubmaker/producer.rb +168 -0
  62. data/lib/review/epubmaker/reviewheaderlistener.rb +12 -2
  63. data/lib/review/epubmaker/zip_exporter.rb +84 -0
  64. data/lib/review/exception.rb +6 -0
  65. data/lib/review/extentions/string.rb +0 -4
  66. data/lib/review/htmlbuilder.rb +132 -87
  67. data/lib/review/htmlutils.rb +8 -11
  68. data/lib/review/i18n.rb +2 -1
  69. data/lib/review/idgxmlbuilder.rb +156 -76
  70. data/lib/review/idgxmlmaker.rb +22 -18
  71. data/lib/review/img_math.rb +245 -0
  72. data/lib/review/index_builder.rb +654 -0
  73. data/lib/review/init.rb +17 -18
  74. data/lib/review/latexbox.rb +58 -0
  75. data/lib/review/latexbuilder.rb +173 -43
  76. data/lib/review/latexutils.rb +9 -1
  77. data/lib/review/lineinput.rb +112 -2
  78. data/lib/review/logger.rb +42 -3
  79. data/lib/review/makerhelper.rb +12 -187
  80. data/lib/review/markdownbuilder.rb +51 -2
  81. data/lib/review/pdfmaker.rb +78 -73
  82. data/lib/review/plaintextbuilder.rb +98 -14
  83. data/lib/review/preprocessor.rb +18 -12
  84. data/lib/review/rstbuilder.rb +28 -9
  85. data/lib/review/sec_counter.rb +14 -0
  86. data/lib/review/template.rb +6 -0
  87. data/lib/review/textmaker.rb +21 -19
  88. data/lib/review/textutils.rb +3 -12
  89. data/lib/review/tocprinter.rb +242 -97
  90. data/lib/review/topbuilder.rb +91 -24
  91. data/lib/review/update.rb +12 -13
  92. data/lib/review/version.rb +1 -1
  93. data/lib/review/volumeprinter.rb +97 -0
  94. data/lib/review/webmaker.rb +34 -33
  95. data/lib/review/webtocprinter.rb +39 -35
  96. data/lib/review/yamlloader.rb +2 -1
  97. data/review.gemspec +5 -3
  98. data/samples/sample-book/src/.gitignore +1 -0
  99. data/samples/sample-book/src/config-ebook.yml +4 -0
  100. data/samples/sample-book/src/config-epub2.yml +1 -1
  101. data/samples/sample-book/src/config-jlreq-ebook.yml +4 -0
  102. data/samples/sample-book/src/config.yml +3 -3
  103. data/samples/sample-book/src/lib/tasks/review.rake +26 -6
  104. data/samples/syntax-book/Gemfile +1 -1
  105. data/samples/syntax-book/ch01.re +3 -1
  106. data/samples/syntax-book/ch02.re +28 -21
  107. data/samples/syntax-book/ch03.re +1 -1
  108. data/samples/syntax-book/config-jlreq-lualatex.yml +4 -0
  109. data/samples/syntax-book/config-print.yml +3 -0
  110. data/samples/syntax-book/config.yml +1 -1
  111. data/samples/syntax-book/images/img3-2.png +0 -0
  112. data/samples/syntax-book/lib/tasks/review.rake +23 -8
  113. data/templates/html/_colophon.html.erb +23 -0
  114. data/templates/html/_colophon_history.html.erb +9 -0
  115. data/templates/html/_cover.html.erb +10 -0
  116. data/templates/html/_part_body.html.erb +6 -0
  117. data/templates/html/_titlepage.html.erb +20 -0
  118. data/templates/html/layout-html5.html.erb +6 -0
  119. data/templates/html/layout-xhtml1.html.erb +6 -0
  120. data/templates/latex/config.erb +41 -29
  121. data/templates/latex/review-jlreq/README.md +3 -1
  122. data/templates/latex/review-jlreq/review-base.sty +47 -22
  123. data/templates/latex/review-jlreq/review-jlreq.cls +25 -24
  124. data/templates/latex/review-jlreq/review-style.sty +6 -1
  125. data/templates/latex/review-jlreq/review-tcbox.sty +348 -0
  126. data/templates/latex/review-jlreq/reviewmacro.sty +5 -0
  127. data/templates/latex/review-jsbook/README.md +7 -5
  128. data/templates/latex/review-jsbook/review-base.sty +47 -21
  129. data/templates/latex/review-jsbook/review-jsbook.cls +12 -2
  130. data/templates/latex/review-jsbook/review-style.sty +6 -1
  131. data/templates/latex/review-jsbook/review-tcbox.sty +348 -0
  132. data/templates/latex/review-jsbook/reviewmacro.sty +5 -0
  133. data/templates/opf/epubv2.opf.erb +7 -7
  134. data/templates/opf/epubv3.opf.erb +7 -7
  135. data/templates/opf/opf_manifest_epubv2.opf.erb +10 -0
  136. data/templates/opf/opf_manifest_epubv3.opf.erb +10 -0
  137. data/templates/opf/opf_metainfo_epubv2.opf.erb +17 -0
  138. data/templates/opf/opf_metainfo_epubv3.opf.erb +49 -0
  139. data/templates/opf/opf_tocx_epubv2.opf.erb +9 -0
  140. data/templates/opf/opf_tocx_epubv3.opf.erb +17 -0
  141. data/templates/web/html/layout-html5.html.erb +9 -8
  142. data/templates/web/html/layout-xhtml1.html.erb +6 -0
  143. data/test/assets/header_listener.html +35 -0
  144. data/test/assets/img_math/img1.png +0 -0
  145. data/test/assets/img_math/img2.png +0 -0
  146. data/test/assets/img_math/img3.png +0 -0
  147. data/test/assets/syntax_book_index_detail.txt +58 -0
  148. data/test/assets/test_template.tex +12 -9
  149. data/test/assets/test_template_backmatter.tex +12 -9
  150. data/test/book_test_helper.rb +11 -5
  151. data/test/run_test.rb +1 -1
  152. data/test/test_book.rb +62 -63
  153. data/test/test_book_chapter.rb +99 -56
  154. data/test/test_book_part.rb +3 -3
  155. data/test/test_builder.rb +24 -15
  156. data/test/test_catalog.rb +1 -0
  157. data/test/test_catalog_converter_cmd.rb +1 -1
  158. data/test/test_converter.rb +1 -0
  159. data/test/test_epub3maker.rb +170 -126
  160. data/test/test_epubmaker.rb +249 -129
  161. data/test/test_epubmaker_cmd.rb +14 -7
  162. data/test/test_helper.rb +23 -11
  163. data/test/test_htmlbuilder.rb +956 -76
  164. data/test/test_htmlutils.rb +0 -12
  165. data/test/test_i18n.rb +33 -33
  166. data/test/test_idgxmlbuilder.rb +568 -10
  167. data/test/test_idgxmlmaker_cmd.rb +50 -0
  168. data/test/test_image_finder.rb +52 -70
  169. data/test/test_img_math.rb +111 -0
  170. data/test/test_index.rb +62 -52
  171. data/test/test_indexbuilder.rb +52 -0
  172. data/test/test_latexbuilder.rb +1056 -30
  173. data/test/test_latexbuilder_v2.rb +52 -12
  174. data/test/test_lineinput.rb +20 -93
  175. data/test/test_logger.rb +7 -7
  176. data/test/test_makerhelper.rb +0 -12
  177. data/test/test_markdownbuilder.rb +32 -0
  178. data/test/test_pdfmaker.rb +100 -11
  179. data/test/test_pdfmaker_cmd.rb +101 -7
  180. data/test/test_plaintextbuilder.rb +531 -25
  181. data/test/test_review_ext.rb +2 -1
  182. data/test/test_reviewheaderlistener.rb +49 -0
  183. data/test/test_rstbuilder.rb +25 -1
  184. data/test/test_sec_counter.rb +156 -0
  185. data/test/test_template.rb +12 -2
  186. data/test/test_textmaker_cmd.rb +58 -0
  187. data/test/test_tocprinter.rb +46 -0
  188. data/test/test_topbuilder.rb +365 -10
  189. data/test/test_update.rb +44 -44
  190. data/test/test_webtocprinter.rb +75 -43
  191. data/test/test_zip_exporter.rb +5 -6
  192. data/vendor/gentombow/LICENSE +1 -1
  193. data/vendor/gentombow/Makefile +0 -1
  194. data/vendor/gentombow/bounddvi-en.pdf +0 -0
  195. data/vendor/gentombow/bounddvi-en.tex +1 -0
  196. data/vendor/gentombow/bounddvi.pdf +0 -0
  197. data/vendor/gentombow/bounddvi.sty +30 -7
  198. data/vendor/gentombow/bounddvi.tex +1 -0
  199. data/vendor/gentombow/create_archive.sh +1 -0
  200. data/vendor/gentombow/gentombow-ja.pdf +0 -0
  201. data/vendor/gentombow/gentombow-ja.tex +9 -0
  202. data/vendor/gentombow/gentombow.pdf +0 -0
  203. data/vendor/gentombow/gentombow.sty +32 -10
  204. data/vendor/gentombow/gentombow.tex +8 -0
  205. data/vendor/gentombow/tests/gentombow-01-pdfx.tex +8 -0
  206. data/vendor/gentombow/tests/gentombow-02-pdfx.tex +8 -0
  207. data/vendor/jsclasses/LICENSE +1 -1
  208. data/vendor/jsclasses/Makefile +3 -2
  209. data/vendor/jsclasses/create_archive.sh +5 -5
  210. data/vendor/jsclasses/jis/Makefile +3 -2
  211. data/vendor/jsclasses/jis/jsarticle.cls +74 -31
  212. data/vendor/jsclasses/jis/jsbook.cls +74 -31
  213. data/vendor/jsclasses/jis/jsclasses.dtx +176 -36
  214. data/vendor/jsclasses/jis/jsclasses.ins +15 -5
  215. data/vendor/jsclasses/jis/jslogo.dtx +4 -4
  216. data/vendor/jsclasses/jis/jslogo.ins +9 -0
  217. data/vendor/jsclasses/jis/jslogo.sty +4 -16
  218. data/vendor/jsclasses/jis/jspf.cls +73 -30
  219. data/vendor/jsclasses/jis/jsreport.cls +74 -31
  220. data/vendor/jsclasses/jis/jsverb.ins +9 -0
  221. data/vendor/jsclasses/jis/jsverb.sty +1 -13
  222. data/vendor/jsclasses/jis/kiyou.cls +74 -31
  223. data/vendor/jsclasses/jis/minijs.sty +65 -22
  224. data/vendor/jsclasses/jis/okumacro.dtx +4 -5
  225. data/vendor/jsclasses/jis/okumacro.ins +9 -0
  226. data/vendor/jsclasses/jis/okumacro.sty +4 -17
  227. data/vendor/jsclasses/jis/okuverb.ins +9 -0
  228. data/vendor/jsclasses/jis/okuverb.sty +1 -13
  229. data/vendor/jsclasses/jis/winjis.sty +23 -19
  230. data/vendor/jsclasses/jsarticle.cls +74 -31
  231. data/vendor/jsclasses/jsbook.cls +74 -31
  232. data/vendor/jsclasses/jsclasses.dtx +176 -36
  233. data/vendor/jsclasses/jsclasses.ins +15 -5
  234. data/vendor/jsclasses/jsclasses.pdf +0 -0
  235. data/vendor/jsclasses/jslogo.dtx +4 -4
  236. data/vendor/jsclasses/jslogo.ins +9 -0
  237. data/vendor/jsclasses/jslogo.pdf +0 -0
  238. data/vendor/jsclasses/jslogo.sty +4 -16
  239. data/vendor/jsclasses/jspf.cls +73 -30
  240. data/vendor/jsclasses/jsreport.cls +74 -31
  241. data/vendor/jsclasses/jsverb.ins +9 -0
  242. data/vendor/jsclasses/jsverb.pdf +0 -0
  243. data/vendor/jsclasses/jsverb.sty +1 -13
  244. data/vendor/jsclasses/kiyou.cls +74 -31
  245. data/vendor/jsclasses/minijs.sty +68 -22
  246. data/vendor/jsclasses/okumacro.dtx +4 -5
  247. data/vendor/jsclasses/okumacro.ins +9 -0
  248. data/vendor/jsclasses/okumacro.pdf +0 -0
  249. data/vendor/jsclasses/okumacro.sty +4 -17
  250. data/vendor/jsclasses/okuverb.ins +9 -0
  251. data/vendor/jsclasses/okuverb.pdf +0 -0
  252. data/vendor/jsclasses/okuverb.sty +1 -13
  253. data/vendor/jsclasses/tests/relfont.tex +10 -0
  254. data/vendor/jsclasses/winjis.sty +23 -19
  255. metadata +109 -20
  256. data/.rubocop_todo.yml +0 -7
  257. data/lib/epubmaker.rb +0 -23
  258. data/lib/epubmaker/content.rb +0 -110
  259. data/lib/epubmaker/epubcommon.rb +0 -441
  260. data/lib/epubmaker/epubv2.rb +0 -143
  261. data/lib/epubmaker/epubv3.rb +0 -233
  262. data/lib/epubmaker/producer.rb +0 -375
  263. data/lib/epubmaker/zip_exporter.rb +0 -81
  264. data/lib/lineinput.rb +0 -155
  265. data/lib/review/book/compilable.rb +0 -178
  266. data/lib/review/tocparser.rb +0 -271
  267. data/samples/syntax-book/review-ext.rb +0 -14
  268. data/test/test_tocparser.rb +0 -25
@@ -1,11 +1,9 @@
1
1
  require 'test_helper'
2
- require 'epubmaker'
3
- require 'epubmaker/zip_exporter'
2
+ require 'review/epubmaker'
3
+ require 'review/epubmaker/zip_exporter'
4
4
  require 'fileutils'
5
5
 
6
6
  class ZipExporterTest < Test::Unit::TestCase
7
- include EPUBMaker
8
-
9
7
  def setup
10
8
  @tmpdir = Dir.mktmpdir
11
9
  @epubdir = File.join(@tmpdir, 'epubdir')
@@ -67,7 +65,7 @@ class ZipExporterTest < Test::Unit::TestCase
67
65
 
68
66
  config = { 'epubmaker' => {} }
69
67
  epubfile = File.join(@tmpdir, 'test.epub')
70
- exporter = ZipExporter.new(@epubdir, config)
68
+ exporter = ReVIEW::EPUBMaker::ZipExporter.new(@epubdir, config)
71
69
  exporter.export_zip_extcmd(epubfile)
72
70
  assert_true(File.exist?(epubfile))
73
71
 
@@ -85,9 +83,10 @@ class ZipExporterTest < Test::Unit::TestCase
85
83
 
86
84
  def test_export_rubyzip
87
85
  return unless defined?(Zip) ## skip test
86
+
88
87
  config = { 'epubmaker' => {} }
89
88
  epubfile = File.join(@tmpdir, 'test.epub')
90
- exporter = ZipExporter.new(@epubdir, config)
89
+ exporter = ReVIEW::EPUBMaker::ZipExporter.new(@epubdir, config)
91
90
  exporter.export_zip_rubyzip(epubfile)
92
91
  assert_true(File.exist?(epubfile))
93
92
 
@@ -1,4 +1,4 @@
1
- Copyright (c) 2016-2018 Hironobu Yamashita
1
+ Copyright (c) 2016-2020 Hironobu Yamashita
2
2
  All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without
@@ -25,7 +25,6 @@ gentombow.pdf: gentombow.tex
25
25
  .PHONY: install clean
26
26
  install:
27
27
  mkdir -p ${TEXMF}/doc/latex/gentombow
28
- cp ./Makefile ${TEXMF}/doc/latex/gentombow/
29
28
  cp ./LICENSE ${TEXMF}/doc/latex/gentombow/
30
29
  cp ./README.md ${TEXMF}/doc/latex/gentombow/
31
30
  cp ./*.pdf ${TEXMF}/doc/latex/gentombow/
Binary file
@@ -130,6 +130,7 @@ using \textsf{bounddvi} package.
130
130
  \item 2016/10/25 v7.1 (HY) Support for p\LaTeXe\ tombow option,
131
131
  compatibility with \textsf{graphics}/\textsf{color} packages
132
132
  \item 2016/12/28 v7.2 (HY) Documentation for the new \texttt{dvips} behavior
133
+ \item 2020/09/25 v8.0 (HY) Support for \LaTeXe/p\LaTeXe~2020-10-01
133
134
  \end{itemize}
134
135
 
135
136
  \end{document}
Binary file
@@ -1,7 +1,7 @@
1
1
  %
2
2
  % bounddvi.sty
3
- % 2016/12/28 v7.2-v7.0 h.y.acetaminophen@gmail.com
4
- % 2004/12/15 v6.0-v1.0 inoue@ma.ns.tcu.ac.jp
3
+ % 2020/09/25 v8.0-v7.0 h.y.acetaminophen [at] gmail.com
4
+ % 2004/12/15 v6.0-v1.0 inoue [at] ma.ns.tcu.ac.jp
5
5
  %
6
6
  % This package, originally written by Koichi Inoue
7
7
  % and modified by Hironobu Yamashita, is distributed
@@ -10,7 +10,7 @@
10
10
  %
11
11
 
12
12
  \NeedsTeXFormat{LaTeX2e}
13
- \ProvidesPackage{bounddvi}[2016/12/28 v7.2 bounddvi]
13
+ \ProvidesPackage{bounddvi}[2020/09/25 v8.0 bounddvi]
14
14
 
15
15
  % catcode trick to hide \iftombow ... \else ... \fi
16
16
  % since \iftombow is defined only in pLaTeX.
@@ -50,6 +50,33 @@ Q \fi
50
50
  % reset catcode trick
51
51
  \catcode`\Q=11\relax
52
52
 
53
+ %% Since LaTeX2e 2020-10-01, \@begindocumenthook is deprecated
54
+ %% and \UseHook{begindocument} etc. are used.
55
+ %% This code appends papersize special to the _end_ of the hook.
56
+ %% (Note: support for old dvips is removed.)
57
+ \ifx\AddToHook\@undefined\else
58
+ \AtBeginDocument{\AtBeginDvi{%
59
+ \begingroup
60
+ % if \stockwidth/\stockheight are defined & have effective
61
+ % values, copy them to \paperwidth/\paperheight
62
+ % for current group
63
+ \ifx\stockwidth\@undefined\else \ifdim\stockwidth>\z@
64
+ \paperwidth\stockwidth
65
+ \fi\fi
66
+ \ifx\stockheight\@undefined\else \ifdim\stockheight>\z@
67
+ \paperheight\stockheight
68
+ \fi\fi
69
+ % adjust for \mag and emit papersize special
70
+ \divide\paperwidth\@m\multiply\paperwidth\mag
71
+ \divide\paperheight\@m\multiply\paperheight\mag
72
+ \special{papersize=\the\paperwidth,\the\paperheight}%
73
+ \endgroup}}
74
+ \expandafter\endinput
75
+ \fi
76
+
77
+ %% The rest of this package is meant for
78
+ %% LaTeX2e 2020-02-02 PL5 or older.
79
+
53
80
  % following code is almost equivalent to
54
81
  % \AtBeginDocument{\AtBeginDvi{...}}
55
82
  % however, we append the specification to the _beginning_ of
@@ -59,16 +86,12 @@ Q \fi
59
86
  \def\@prependto@begindocumenthook{\global\setbox\@begindvibox
60
87
  \vbox{\csname yoko\endcsname\unvbox\@begindvibox
61
88
  \begingroup
62
- % if \stockwidth/\stockheight are defined & have effective
63
- % values, copy them to \paperwidth/\paperheight
64
- % for current group
65
89
  \ifx\stockwidth\@undefined\else \ifdim\stockwidth>\z@
66
90
  \paperwidth\stockwidth
67
91
  \fi\fi
68
92
  \ifx\stockheight\@undefined\else \ifdim\stockheight>\z@
69
93
  \paperheight\stockheight
70
94
  \fi\fi
71
- % adjust for \mag and emit papersize special
72
95
  \divide\paperwidth\@m\multiply\paperwidth\mag
73
96
  \divide\paperheight\@m\multiply\paperheight\mag
74
97
  \special{papersize=\the\paperwidth,\the\paperheight}%
@@ -143,6 +143,7 @@ DVIファイルは用紙サイズ情報を含みませんが、PostScriptやPDF
143
143
  \item 2016/10/25 v7.1 (HY) p\LaTeXe{}のトンボサポート、
144
144
  2016年の新しい\textsf{graphics}/\textsf{color}に対応
145
145
  \item 2016/12/28 v7.2 (HY) 新仕様の\texttt{dvips}をドキュメント化
146
+ \item 2020/09/25 v8.0 (HY) \LaTeXe/p\LaTeXe~2020-10-01(予定)への対応
146
147
  \end{itemize}
147
148
 
148
149
  \end{document}
@@ -14,6 +14,7 @@ echo " * Create $PROJECT.zip ($RELEASEDATE)"
14
14
  git archive --format=tar --prefix=$PROJECT/ HEAD | (cd $TMP && tar xf -)
15
15
  rm $TMP/$PROJECT/.gitignore
16
16
  rm $TMP/$PROJECT/create_archive.sh
17
+ rm $TMP/$PROJECT/Makefile
17
18
  rm -rf $TMP/$PROJECT/tests
18
19
  perl -pi.bak -e "s/\\\$RELEASEDATE/$RELEASEDATE/g" $TMP/$PROJECT/README.md
19
20
  rm -f $TMP/$PROJECT/README.md.bak
Binary file
@@ -291,6 +291,9 @@ CMYKの版ごとにトンボを作成する場合や、特色のトンボが必
291
291
  \item \verb+/BleedBox+: 裁ち落とし領域を含んだサイズ。
292
292
  \item \verb+/CropBox+, \verb+/ArtBox+: 明示しない。
293
293
  \end{itemize}
294
+ 注意:\textsf{pdfx}パッケージがPDF/Xモードで読み込まれていれば、
295
+ このオプション機能は自動的に有効化されます。
296
+ また、\verb+/CropBox+も明示します。
294
297
 
295
298
  \section{その他の注意点}
296
299
 
@@ -390,6 +393,11 @@ $30\,\mathrm{mm}$にしたいとき\footnote{ここでは「本文の領域以
390
393
  \end{verbatim}
391
394
  \end{dangerous}
392
395
 
396
+ なお、\textsf{geometry}パッケージは用紙サイズ
397
+ (\verb+\paperwidth+, \verb+\paperheight+)を変更する場合もあります。
398
+ こうした場合に備え、\textsf{gentombow}パッケージは
399
+ \textsf{geometry}パッケージよりも後に読み込むようにしてください。
400
+
393
401
  \section*{雑記}
394
402
 
395
403
  発端はこの話です。
@@ -444,6 +452,7 @@ $30\,\mathrm{mm}$にしたいとき\footnote{ここでは「本文の領域以
444
452
  \verb+pdfbox+オプションが正常動作するように改良、
445
453
  \verb+\settombowbleed+が\verb+/TrimBox+に反映されな
446
454
  かったバグの修正
455
+ \item 2019/07/21 v0.9k \textsf{pdfx}パッケージとの整合性をとる改良
447
456
  \end{itemize}
448
457
 
449
458
  \end{document}
Binary file
@@ -8,7 +8,7 @@
8
8
 
9
9
  \NeedsTeXFormat{LaTeX2e}
10
10
  \ProvidesPackage{gentombow}
11
- [2018/08/30 v0.9j Generate crop mark 'tombow']
11
+ [2019/07/21 v0.9k Generate crop mark 'tombow']
12
12
  \def\pxgtmb@pkgname{gentombow}
13
13
  \@namedef{ver@pxgentombow.sty}{}% fake
14
14
 
@@ -290,6 +290,7 @@
290
290
  %% prepare flag
291
291
  \newif\ifpxgtmb@switch \pxgtmb@switchfalse
292
292
  \newif\ifpxgtmb@landscape \pxgtmb@landscapefalse
293
+ \newif\ifpxgtmb@pdfx@x \pxgtmb@pdfx@xfalse
293
294
 
294
295
  %% passed from class options
295
296
  %% should be declared first inside this package (least priority)
@@ -507,7 +508,7 @@
507
508
  %% pdf "digital tombo" (driver-dependent)
508
509
  % the box size calculation is delayed until \AtBeginDocument
509
510
  % to allow users to change \@tombowbleed in the preamble
510
- \if 1\pxgtmb@pdfbox@status
511
+
511
512
  % convert pt -> bp
512
513
  \def\pxgtmb@PDF@setbp#1#2{%
513
514
  \@tempdima=.996264#2\relax % 0.996264 = 72/72.27 (cf. 1in = 72.27pt = 72bp)
@@ -521,8 +522,8 @@
521
522
  \def\pxgtmb@magscale{1}%
522
523
  \fi
523
524
  % set pdf boxes in bp unit
524
- %\pxgtmb@PDF@setbp\pxgtmb@PDF@crop@ur@x\stockwidth
525
- %\pxgtmb@PDF@setbp\pxgtmb@PDF@crop@ur@y\stockheight
525
+ \pxgtmb@PDF@setbp\pxgtmb@PDF@crop@ur@x\stockwidth
526
+ \pxgtmb@PDF@setbp\pxgtmb@PDF@crop@ur@y\stockheight
526
527
  \pxgtmb@PDF@setbp\pxgtmb@PDF@trim@ll@x{\dimexpr(\stockwidth-\paperwidth)/2}%
527
528
  \pxgtmb@PDF@setbp\pxgtmb@PDF@trim@ll@y{\dimexpr(\stockheight-\paperheight)/2}%
528
529
  \pxgtmb@PDF@setbp\pxgtmb@PDF@trim@ur@x{\dimexpr(\stockwidth+\paperwidth)/2}%
@@ -532,8 +533,14 @@
532
533
  \pxgtmb@PDF@setbp\pxgtmb@PDF@bleed@ur@x{\dimexpr(\stockwidth+\paperwidth)/2+\@tombowbleed}%
533
534
  \pxgtmb@PDF@setbp\pxgtmb@PDF@bleed@ur@y{\dimexpr(\stockheight+\paperheight)/2+\@tombowbleed}%
534
535
  \xdef\pxgtmb@PDF@CTM{%
535
- %% CropBox: implicit (same as MediaBox, large paper size)
536
- %/CropBox [0 0 \pxgtmb@PDF@crop@ur@x\space \pxgtmb@PDF@crop@ur@y]
536
+ %% CropBox: normally implicit (same as MediaBox, large paper size)
537
+ %% however, pdfx.sty in PDF/X mode sets /CropBox explicitly, so I need to override it!
538
+ \ifpxgtmb@pdfx@x
539
+ \noexpand\pxgtmb@PDF@begin
540
+ /CropBox [0 0
541
+ \pxgtmb@PDF@crop@ur@x\space
542
+ \pxgtmb@PDF@crop@ur@y] \noexpand\pxgtmb@PDF@end
543
+ \fi
537
544
  %% BleedBox: explicit (final paper size + surrounding \@tombowbleed)
538
545
  \noexpand\pxgtmb@PDF@begin
539
546
  /BleedBox [\pxgtmb@PDF@bleed@ll@x\space
@@ -547,9 +554,20 @@
547
554
  \pxgtmb@PDF@trim@ur@x\space
548
555
  \pxgtmb@PDF@trim@ur@y] \noexpand\pxgtmb@PDF@end
549
556
  %% ArtBox: implicit
557
+ %% [Note] PDF/X requires /TrimBox or /ArtBox but not both!
550
558
  }%
551
559
  \endgroup
552
560
  }
561
+
562
+ % do it
563
+ \AtBeginDocument{\pxgtmb@PDF@emit}
564
+ \def\pxgtmb@PDF@emit{%
565
+ % handle compatibility with pdfx.sty here;
566
+ % if pdfx.sty with PDF/X mode detected, force [pdfbox] option!
567
+ \pxgtmb@handle@pdfx
568
+ \ifpxgtmb@pdfx@x\def\pxgtmb@pdfbox@status{1}\fi
569
+ % start actual procedure for [pdfbox] option
570
+ \if 1\pxgtmb@pdfbox@status
553
571
  %% supported drivers: dvips, dvipdfmx, XeTeX, pdfTeX, LuaTeX
554
572
  \ifnum0\ifx\pdfvariable\@undefined\else\the\outputmode\fi=0\relax
555
573
  \ifnum0\ifx\pdfpageattr\@undefined\else\the\pdfoutput\fi=0\relax
@@ -666,8 +684,7 @@
666
684
  \def\pxgtmb@PDF@begin{}\def\pxgtmb@PDF@end{}%
667
685
  \edef\pxgtmb@PDF@CTM{{\pxgtmb@PDF@CTM}}%
668
686
  \expandafter\pdfpageattr\pxgtmb@PDF@CTM}
669
- \fi
670
- \else
687
+ \fi\else
671
688
  %% for LuaTeX
672
689
  \def\pxgtmb@driver{l}
673
690
  % force paper size
@@ -679,7 +696,8 @@
679
696
  \edef\pxgtmb@PDF@CTM{pageattr{\pxgtmb@PDF@CTM}}%
680
697
  \expandafter\pdfvariable\pxgtmb@PDF@CTM}
681
698
  \fi
682
- \fi
699
+ \fi
700
+ }
683
701
 
684
702
  %% make visible tombow box according to the current status of
685
703
  %% \@bannerfont, \@bannertoken, \@tombowwidth & \@tombowbleed
@@ -713,7 +731,7 @@
713
731
  % because pdf boxes are calculated only inside \AtBeginDocument
714
732
  \@onlypreamble\settombowbleed
715
733
 
716
- %% patch internal for pdfpages to work with tombow
734
+ %% patch internal of pdfpages.sty to work with tombow
717
735
  %% (tested on pdfpages 2017/10/31 v0.5l)
718
736
  %% Note the code is the same as that of pxpdfpages.sty,
719
737
  %% but reserved here since gentombow.sty can be used on
@@ -744,4 +762,8 @@
744
762
  %% do it
745
763
  \AtBeginDocument{\@ifpackageloaded{pdfpages}{\pxgtmb@patch@pdfpages}{}}
746
764
 
765
+ %% patch pdfx.sty
766
+ %% (tested on pdfx 2019/02/27 v1.6.3)
767
+ \def\pxgtmb@handle@pdfx{\@ifpackageloaded{pdfx}{\let\ifpxgtmb@pdfx@x\ifpdfx@x}{}}
768
+
747
769
  \endinput
@@ -252,6 +252,9 @@ The paper size (\verb+/MediaBox+) is also corrected.
252
252
  \item \verb+/BleedBox+: paper size plus bleed margin.
253
253
  \item \verb+/CropBox+ and \verb+/ArtBox+ are not set.
254
254
  \end{itemize}
255
+ Note: if the package \textsf{pdfx} is loaded with PDF/X mode,
256
+ this optional feature is automatically enabled.
257
+ Also, \verb+/CropBox+ is set explicitly.
255
258
 
256
259
  \section{Additional Notes}
257
260
 
@@ -277,6 +280,10 @@ conflict with the feature of \textsf{gentombow} package.
277
280
  To set page layout correctly, you should adjust \verb+\oddsidemargin+
278
281
  or \verb+\topmargin+, or leave it to \textsf{geometry} package.
279
282
 
283
+ Note: since the package \textsf{geometry} also has a feature to
284
+ change the paper size (\verb+\paperwidth+, \verb+\paperheight+),
285
+ please load \textsf{gentombow} after \textsf{geometry}.
286
+
280
287
  \section*{Change History}
281
288
 
282
289
  \begin{itemize}
@@ -293,6 +300,7 @@ or \verb+\topmargin+, or leave it to \textsf{geometry} package.
293
300
  also with \verb+pdfbox+ option.
294
301
  Fix a bug that \verb+\settombowbleed+ is not
295
302
  considered by \verb+/TrimBox+.
303
+ \item 2019/07/21 v0.9k Support \textsf{pdfx} package.
296
304
  \end{itemize}
297
305
 
298
306
  \end{document}
@@ -0,0 +1,8 @@
1
+ %#!pdflatex
2
+ \documentclass[a4paper]{article}
3
+ \usepackage{gentombow}
4
+ \usepackage[x-1a]{pdfx}
5
+ \begin{document}
6
+ \noindent A\hfill B\clearpage
7
+ \noindent C\hfill D
8
+ \end{document}
@@ -0,0 +1,8 @@
1
+ %#!pdflatex
2
+ \documentclass[a4paper]{article}
3
+ \usepackage[x-1a]{pdfx}
4
+ \usepackage{gentombow}
5
+ \begin{document}
6
+ \noindent A\hfill B\clearpage
7
+ \noindent C\hfill D
8
+ \end{document}
@@ -1,6 +1,6 @@
1
1
  Copyright 1995-1999 ASCII MEDIA WORKS
2
2
  Copyright 1999-2016 Haruhiko Okumura
3
- Copyright 2016-2018 Japanese TeX Development Community
3
+ Copyright 2016-2020 Japanese TeX Development Community
4
4
  All rights reserved.
5
5
 
6
6
  Redistribution and use in source and binary forms, with or without
@@ -3,14 +3,15 @@ DOCTARGET = jsclasses jslogo okumacro jsverb okuverb
3
3
  PDFTARGET = $(addsuffix .pdf,$(DOCTARGET))
4
4
  DVITARGET = $(addsuffix .dvi,$(DOCTARGET))
5
5
  KANJI = -kanji=utf8
6
- FONTMAP = -f ipaex.map -f ptex-ipaex.map
6
+ FONTMAP = -f haranoaji.map -f ptex-haranoaji.map
7
7
  TEXMF = $(shell kpsewhich -var-value=TEXMFHOME)
8
8
 
9
9
  default: $(STRIPTARGET) $(DVITARGET)
10
10
  strip: $(STRIPTARGET)
11
11
  all: $(STRIPTARGET) $(PDFTARGET)
12
12
 
13
- JSCLASSES = jsarticle.cls jsbook.cls jsreport.cls jspf.cls kiyou.cls
13
+ JSCLASSES = jsarticle.cls jsbook.cls jsreport.cls jspf.cls kiyou.cls \
14
+ minijs.sty
14
15
 
15
16
  # for generating files, we use pdflatex incidentally.
16
17
  # otherwise, ptexenc might convert U+2212 -> U+FF0D in okumacro.sty
@@ -14,8 +14,8 @@ echo " * Create $PROJECT.tds.zip"
14
14
  git archive --format=tar --prefix=$PROJECT/ HEAD | (cd $TMP && tar xf -)
15
15
  rm $TMP/$PROJECT/.gitignore
16
16
  rm $TMP/$PROJECT/create_archive.sh
17
- rm -f $TMP/$PROJECT/jis/*
18
- rmdir $TMP/$PROJECT/jis
17
+ rm -rf $TMP/$PROJECT/tests
18
+ rm -rf $TMP/$PROJECT/jis
19
19
  perl -pi.bak -e "s/\\\$RELEASEDATE/$RELEASEDATE/g" $TMP/$PROJECT/README.md
20
20
  rm -f $TMP/$PROJECT/README.md.bak
21
21
 
@@ -46,10 +46,10 @@ git archive --format=tar --prefix=$PROJECT/ HEAD | (cd $TMP && tar xf -)
46
46
  # winjis.sty should be removed for CTAN
47
47
  rm $TMP/$PROJECT/.gitignore
48
48
  rm $TMP/$PROJECT/create_archive.sh
49
- rm -f $TMP/$PROJECT/jis/*
50
- rmdir $TMP/$PROJECT/jis
49
+ rm -rf $TMP/$PROJECT/tests
50
+ rm -rf $TMP/$PROJECT/jis
51
51
  rm $TMP/$PROJECT/*.cls
52
- ls $TMP/$PROJECT/*.sty | grep -v minijs.sty | xargs rm
52
+ rm $TMP/$PROJECT/*.sty
53
53
  perl -pi.bak -e "s/\\\$RELEASEDATE/$RELEASEDATE/g" $TMP/$PROJECT/README.md
54
54
  rm -f $TMP/$PROJECT/README.md.bak
55
55
 
@@ -3,14 +3,15 @@ DOCTARGET = jsclasses jslogo okumacro jsverb okuverb
3
3
  PDFTARGET = $(addsuffix .pdf,$(DOCTARGET))
4
4
  DVITARGET = $(addsuffix .dvi,$(DOCTARGET))
5
5
  KANJI = -kanji=jis
6
- FONTMAP = -f ipaex.map -f ptex-ipaex.map
6
+ FONTMAP = -f haranoaji.map -f ptex-haranoaji.map
7
7
  TEXMF = $(shell kpsewhich -var-value=TEXMFHOME)
8
8
 
9
9
  default: $(STRIPTARGET) $(DVITARGET)
10
10
  strip: $(STRIPTARGET)
11
11
  all: $(STRIPTARGET) $(PDFTARGET)
12
12
 
13
- JSCLASSES = jsarticle.cls jsbook.cls jsreport.cls jspf.cls kiyou.cls
13
+ JSCLASSES = jsarticle.cls jsbook.cls jsreport.cls jspf.cls kiyou.cls \
14
+ minijs.sty
14
15
 
15
16
  jsarticle.cls: jsclasses.dtx
16
17
  platex $(KANJI) jsclasses.ins
@@ -4,25 +4,13 @@
4
4
  %%
5
5
  %% The original source files were:
6
6
  %%
7
- %% jsclasses.dtx (with options: `article')
7
+ %% jsclasses.dtx (with options: `class,article')
8
8
  %%
9
- %% IMPORTANT NOTICE:
9
+ %% Maintained on GitHub: https://github.com/texjporg/jsclasses
10
10
  %%
11
- %% For the copyright see the source file.
12
- %%
13
- %% Any modified versions of this file must be renamed
14
- %% with new filenames distinct from jsarticle.cls.
15
- %%
16
- %% For distribution of the original source see the terms
17
- %% for copying and modification in the file jsclasses.dtx.
18
- %%
19
- %% This generated file may be distributed as long as the
20
- %% original source files, as listed above, are part of the
21
- %% same distribution. (The sources need not necessarily be
22
- %% in the same archive or directory.)
23
11
  \NeedsTeXFormat{pLaTeX2e}
24
12
  \ProvidesClass{jsarticle}
25
- [2018/06/23 jsclasses (okumura, texjporg)]
13
+ [2020/10/09 jsclasses (okumura, texjporg)]
26
14
  \def\jsc@clsname{jsarticle}
27
15
  \newif\ifjsc@needsp@tch
28
16
  \jsc@needsp@tchfalse
@@ -256,10 +244,11 @@
256
244
  \fi
257
245
  \ifpapersize
258
246
  \iftombow
259
- \AtBeginDvi{\special{papersize=\the\stockwidth,\the\stockheight}}
247
+ \edef\jsc@papersize@special{papersize=\the\stockwidth,\the\stockheight}
260
248
  \else
261
- \AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}
249
+ \edef\jsc@papersize@special{papersize=\the\paperwidth,\the\paperheight}
262
250
  \fi
251
+ \AtBeginDvi{\special{\jsc@papersize@special}}
263
252
  \fi
264
253
  \if@slide\def\n@baseline{13}\else\def\n@baseline{16}\fi
265
254
  \newdimen\jsc@mpt
@@ -460,6 +449,11 @@
460
449
  \DeclareFontShape{\jsc@JTn}{gt}{m}{sl}{<->ssub*gt/m/n}{}
461
450
  \DeclareFontShape{\jsc@JTn}{mc}{bx}{it}{<->ssub*gt/m/n}{}
462
451
  \DeclareFontShape{\jsc@JTn}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
452
+ %% ad-hoc "relation font"
453
+ \@ifl@t@r\fmtversion{2020/10/01}
454
+ {\jsc@needsp@tchfalse}{\jsc@needsp@tchtrue}
455
+ \ifjsc@needsp@tch % --- for 2020-02-02 or older BEGIN
456
+ \ifx\@rmfamilyhook\@undefined % old
463
457
  \DeclareRobustCommand\rmfamily
464
458
  {\not@math@alphabet\rmfamily\mathrm
465
459
  \romanfamily\rmdefault\kanjifamily\mcdefault\selectfont}
@@ -469,6 +463,33 @@
469
463
  \DeclareRobustCommand\ttfamily
470
464
  {\not@math@alphabet\ttfamily\mathtt
471
465
  \romanfamily\ttdefault\kanjifamily\gtdefault\selectfont}
466
+ \AtBeginDocument{%
467
+ \ifx\mweights@init\@undefined\else % mweights.sty is loaded
468
+ % my definitions above should have been overwritten, recover it!
469
+ % \selectfont is executed twice but I don't care about speed...
470
+ \expandafter\g@addto@macro\csname rmfamily \endcsname
471
+ {\kanjifamily\mcdefault\selectfont}%
472
+ \expandafter\g@addto@macro\csname sffamily \endcsname
473
+ {\kanjifamily\gtdefault\selectfont}%
474
+ \expandafter\g@addto@macro\csname ttfamily \endcsname
475
+ {\kanjifamily\gtdefault\selectfont}%
476
+ \fi}
477
+ \else % 2020-02-02
478
+ \g@addto@macro\@rmfamilyhook
479
+ {\prepare@family@series@update@kanji{mc}\mcdefault}
480
+ \g@addto@macro\@sffamilyhook
481
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
482
+ \g@addto@macro\@ttfamilyhook
483
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
484
+ \fi
485
+ \else % --- for 2020-02-02 or older END & for 2020-10-01 BEGIN
486
+ \AddToHook{rmfamily}%
487
+ {\prepare@family@series@update@kanji{mc}\mcdefault}
488
+ \AddToHook{sffamily}%
489
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
490
+ \AddToHook{ttfamily}%
491
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
492
+ \fi % --- for 2020-10-01 END
472
493
  \ifx\DeclareFixJFMCJKTextFontCommand\@undefined
473
494
  \DeclareRobustCommand\textmc[1]{%
474
495
  \relax\ifmmode \expandafter\nfss@text \fi{\mcfamily #1}}
@@ -677,6 +698,7 @@
677
698
  \xspcode`^^fe=3
678
699
  \xspcode`^^ff=3
679
700
  \def\@{\spacefactor3000{}}
701
+ %% \@setfontsize with \parindent and \(x)kanjiskip settings
680
702
  \def\@setfontsize#1#2#3{%
681
703
  \ifx\protect\@typeset@protect
682
704
  \let\@currsize#1%
@@ -694,7 +716,8 @@
694
716
  \if@slide \xkanjiskip=0.1em \else
695
717
  \xkanjiskip=0.25em plus 0.15em minus 0.06em
696
718
  \fi
697
- \fi}
719
+ \fi
720
+ }
698
721
  \def\jsc@setfontsize#1#2#3{%
699
722
  \@setfontsize#1{#2\jsc@mpt}{#3\jsc@mpt}}
700
723
  \emergencystretch 3zw
@@ -725,6 +748,7 @@
725
748
  \belowdisplayskip 9\jsc@mpt \@plus3\jsc@mpt \@minus4\jsc@mpt
726
749
  \belowdisplayshortskip \belowdisplayskip
727
750
  \let\@listi\@listI}
751
+ %% initialize
728
752
  \normalsize
729
753
  \setbox0\hbox{\char\jis"3441}%
730
754
  \setlength\Cht{\ht0}
@@ -1370,11 +1394,11 @@
1370
1394
  \renewcommand{\theenumiii}{\@roman\c@enumiii}
1371
1395
  \renewcommand{\theenumiv}{\@Alph\c@enumiv}
1372
1396
  \newcommand{\labelenumi}{\theenumi.}
1373
- \newcommand{\labelenumii}{\inhibitglue$B!J(B\theenumii$B!K(B\inhibitglue}
1397
+ \newcommand{\labelenumii}{\inhibitglue $B!J(B\theenumii $B!K(B\inhibitglue}
1374
1398
  \newcommand{\labelenumiii}{\theenumiii.}
1375
1399
  \newcommand{\labelenumiv}{\theenumiv.}
1376
1400
  \renewcommand{\p@enumii}{\theenumi}
1377
- \renewcommand{\p@enumiii}{\theenumi\inhibitglue$B!J(B\theenumii$B!K(B}
1401
+ \renewcommand{\p@enumiii}{\theenumi\inhibitglue $B!J(B\theenumii $B!K(B}
1378
1402
  \renewcommand{\p@enumiv}{\p@enumiii\theenumiii}
1379
1403
  \newcommand\labelitemi{\textbullet}
1380
1404
  \newcommand\labelitemii{\normalfont\bfseries \textendash}
@@ -1519,7 +1543,7 @@
1519
1543
  \vskip\abovecaptionskip
1520
1544
  \sbox\@tempboxa{#1\hskip1zw\relax #2}%
1521
1545
  \ifdim \wd\@tempboxa <\hsize \centering \fi
1522
- #1\hskip1zw\relax #2\par
1546
+ #1{\hskip1zw\relax}#2\par
1523
1547
  \vskip\belowcaptionskip}}
1524
1548
  \DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc}
1525
1549
  \DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt}
@@ -1885,23 +1909,42 @@
1885
1909
  \def\$B@>Nq(B{\$B@>Nq(Btrue}
1886
1910
  \def\$BOBNq(B{\$B@>Nq(Bfalse}
1887
1911
  \newcount\heisei \heisei\year \advance\heisei-1988\relax
1912
+ \def\pltx@today@year@#1{%
1913
+ \ifnum\numexpr\year-#1=1 $B85(B\else
1914
+ \ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi
1915
+ \kansuji\numexpr\year-#1\relax
1916
+ \else
1917
+ \number\numexpr\year-#1\relax\nobreak
1918
+ \fi
1919
+ \fi $BG/(B
1920
+ }
1921
+ \def\pltx@today@year{%
1922
+ \ifnum\numexpr\year*10000+\month*100+\day<19890108
1923
+ $B><OB(B\pltx@today@year@{1925}%
1924
+ \else\ifnum\numexpr\year*10000+\month*100+\day<20190501
1925
+ $BJ?@.(B\pltx@today@year@{1988}%
1926
+ \else
1927
+ $BNaOB(B\pltx@today@year@{2018}%
1928
+ \fi\fi}
1888
1929
  \def\today{%
1889
1930
  \if@english
1890
1931
  \ifcase\month\or
1891
1932
  January\or February\or March\or April\or May\or June\or
1892
1933
  July\or August\or September\or October\or November\or December\fi
1893
1934
  \space\number\day, \number\year
1935
+ \else\if$B@>Nq(B
1936
+ \ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi \kansuji\year
1937
+ \else\number\year\nobreak\fi $BG/(B
1894
1938
  \else
1895
- \if$B@>Nq(B
1896
- \number\year $BG/(B
1897
- \number\month $B7n(B
1898
- \number\day $BF|(B
1899
- \else
1900
- $BJ?@.(B\number\heisei $BG/(B
1901
- \number\month $B7n(B
1902
- \number\day $BF|(B
1903
- \fi
1904
- \fi}
1939
+ \pltx@today@year
1940
+ \fi
1941
+ \ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi
1942
+ \kansuji\month $B7n(B
1943
+ \kansuji\day $BF|(B
1944
+ \else
1945
+ \number\month\nobreak $B7n(B
1946
+ \number\day\nobreak $BF|(B
1947
+ \fi\fi}
1905
1948
  \hyphenation{ado-be post-script ghost-script phe-nom-e-no-log-i-cal man-u-script}
1906
1949
  \if@slide \pagestyle{empty} \else \pagestyle{plain} \fi
1907
1950
  \pagenumbering{arabic}