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.
- checksums.yaml +4 -4
- data/.github/workflows/ruby-win.yml +39 -0
- data/.github/workflows/ruby.yml +27 -0
- data/.rubocop.yml +10 -7
- data/Dockerfile +21 -5
- data/NEWS.ja.md +101 -1
- data/NEWS.md +102 -2
- data/README.md +10 -7
- data/appveyor.yml +0 -20
- data/bin/review-compile +1 -1
- data/bin/review-validate +1 -1
- data/doc/config.yml.sample +12 -1
- data/doc/config.yml.sample-simple +1 -0
- data/doc/format.ja.md +16 -4
- data/doc/format.md +2 -1
- data/doc/quickstart.ja.md +40 -23
- data/doc/quickstart.md +33 -15
- data/lib/review/book/base.rb +8 -7
- data/lib/review/book/index.rb +50 -56
- data/lib/review/book/index/item.rb +1 -1
- data/lib/review/builder.rb +26 -4
- data/lib/review/compiler.rb +6 -3
- data/lib/review/configure.rb +5 -3
- data/lib/review/epubmaker.rb +15 -2
- data/lib/review/extentions/string.rb +0 -4
- data/lib/review/htmlbuilder.rb +4 -15
- data/lib/review/idgxmlbuilder.rb +10 -19
- data/lib/review/idgxmlmaker.rb +10 -3
- data/lib/review/init.rb +8 -1
- data/lib/review/latexbuilder.rb +13 -6
- data/lib/review/pdfmaker.rb +24 -9
- data/lib/review/rstbuilder.rb +2 -2
- data/lib/review/textmaker.rb +7 -1
- data/lib/review/tocparser.rb +6 -2
- data/lib/review/version.rb +1 -1
- data/lib/review/webmaker.rb +8 -1
- data/review.gemspec +2 -2
- data/samples/sample-book/src/.gitignore +1 -0
- data/samples/sample-book/src/config-ebook.yml +4 -0
- data/samples/sample-book/src/config-jlreq-ebook.yml +4 -0
- data/samples/sample-book/src/config.yml +1 -1
- data/samples/sample-book/src/lib/tasks/review.rake +10 -6
- data/samples/syntax-book/ch01.re +4 -2
- data/samples/syntax-book/ch02.re +8 -16
- data/samples/syntax-book/config-jlreq-lualatex.yml +4 -0
- data/samples/syntax-book/config-print.yml +3 -0
- data/samples/syntax-book/config.yml +1 -1
- data/samples/syntax-book/lib/tasks/review.rake +23 -8
- data/templates/latex/config.erb +6 -6
- data/templates/latex/review-jlreq/review-base.sty +14 -4
- data/templates/latex/review-jlreq/review-jlreq.cls +10 -1
- data/templates/latex/review-jlreq/review-style.sty +1 -1
- data/templates/latex/review-jsbook/review-base.sty +10 -0
- data/templates/latex/review-jsbook/review-jsbook.cls +1 -1
- data/templates/latex/review-jsbook/review-style.sty +1 -1
- data/test/assets/test_template.tex +6 -6
- data/test/assets/test_template_backmatter.tex +6 -6
- data/test/test_book.rb +8 -0
- data/test/test_book_chapter.rb +4 -2
- data/test/test_catalog.rb +1 -0
- data/test/test_epubmaker_cmd.rb +12 -5
- data/test/test_helper.rb +11 -6
- data/test/test_htmlbuilder.rb +80 -8
- data/test/test_idgxmlbuilder.rb +57 -2
- data/test/test_idgxmlmaker_cmd.rb +46 -0
- data/test/test_image_finder.rb +52 -70
- data/test/test_index.rb +12 -12
- data/test/test_latexbuilder.rb +171 -8
- data/test/test_latexbuilder_v2.rb +9 -7
- data/test/test_pdfmaker_cmd.rb +99 -5
- data/test/test_textmaker_cmd.rb +54 -0
- data/test/test_topbuilder.rb +59 -0
- data/vendor/jsclasses/LICENSE +1 -1
- data/vendor/jsclasses/jis/jsarticle.cls +53 -14
- data/vendor/jsclasses/jis/jsbook.cls +53 -14
- data/vendor/jsclasses/jis/jsclasses.dtx +84 -25
- data/vendor/jsclasses/jis/jslogo.dtx +4 -4
- data/vendor/jsclasses/jis/jslogo.sty +3 -3
- data/vendor/jsclasses/jis/jspf.cls +52 -13
- data/vendor/jsclasses/jis/jsreport.cls +53 -14
- data/vendor/jsclasses/jis/kiyou.cls +53 -14
- data/vendor/jsclasses/jis/okumacro.dtx +4 -5
- data/vendor/jsclasses/jis/okumacro.sty +3 -4
- data/vendor/jsclasses/jsarticle.cls +53 -14
- data/vendor/jsclasses/jsbook.cls +53 -14
- data/vendor/jsclasses/jsclasses.dtx +84 -25
- data/vendor/jsclasses/jsclasses.pdf +0 -0
- data/vendor/jsclasses/jslogo.dtx +4 -4
- data/vendor/jsclasses/jslogo.pdf +0 -0
- data/vendor/jsclasses/jslogo.sty +3 -3
- data/vendor/jsclasses/jspf.cls +52 -13
- data/vendor/jsclasses/jsreport.cls +53 -14
- data/vendor/jsclasses/kiyou.cls +53 -14
- data/vendor/jsclasses/okumacro.dtx +4 -5
- data/vendor/jsclasses/okumacro.pdf +0 -0
- data/vendor/jsclasses/okumacro.sty +3 -4
- metadata +15 -6
- data/samples/syntax-book/review-ext.rb +0 -14
data/test/test_pdfmaker_cmd.rb
CHANGED
|
@@ -3,6 +3,7 @@ require 'tmpdir'
|
|
|
3
3
|
require 'fileutils'
|
|
4
4
|
require 'yaml'
|
|
5
5
|
require 'rbconfig'
|
|
6
|
+
require 'open3'
|
|
6
7
|
|
|
7
8
|
REVIEW_PDFMAKER = File.expand_path('../bin/review-pdfmaker', File.dirname(__FILE__))
|
|
8
9
|
|
|
@@ -19,18 +20,111 @@ class PDFMakerCmdTest < Test::Unit::TestCase
|
|
|
19
20
|
ENV['RUBYLIB'] = @old_rubylib
|
|
20
21
|
end
|
|
21
22
|
|
|
22
|
-
def
|
|
23
|
+
def common_buildpdf(bookdir, templatedir, configfile, targetpdffile, option = nil)
|
|
23
24
|
if /mswin|mingw|cygwin/ !~ RUBY_PLATFORM
|
|
24
|
-
config = prepare_samplebook(@tmpdir1)
|
|
25
|
+
config = prepare_samplebook(@tmpdir1, bookdir, templatedir, configfile)
|
|
25
26
|
builddir = File.join(@tmpdir1, config['bookname'] + '-pdf')
|
|
26
|
-
|
|
27
|
+
assert !File.exist?(builddir)
|
|
27
28
|
|
|
28
29
|
ruby_cmd = File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name'])
|
|
29
30
|
Dir.chdir(@tmpdir1) do
|
|
30
|
-
|
|
31
|
+
_o, e, s = Open3.capture3("#{ruby_cmd} -S #{REVIEW_PDFMAKER} #{option} #{configfile}")
|
|
32
|
+
if !e.empty? && !s.success?
|
|
33
|
+
STDERR.puts e
|
|
34
|
+
end
|
|
35
|
+
assert s.success?
|
|
31
36
|
end
|
|
37
|
+
assert File.exist?(File.join(@tmpdir1, targetpdffile))
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def test_pdfmaker_cmd_sample_jsbook_print
|
|
42
|
+
begin
|
|
43
|
+
`uplatex -v`
|
|
44
|
+
rescue
|
|
45
|
+
$stderr.puts 'skip test_pdfmaker_cmd_sample_jsbook_print'
|
|
46
|
+
return true
|
|
47
|
+
end
|
|
48
|
+
common_buildpdf('sample-book/src', 'review-jsbook', 'config.yml', 'book.pdf')
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def test_pdfmaker_cmd_sample_jsbook_ebook
|
|
52
|
+
begin
|
|
53
|
+
`uplatex -v`
|
|
54
|
+
rescue
|
|
55
|
+
$stderr.puts 'skip test_pdfmaker_cmd_sample_jsbook_ebook'
|
|
56
|
+
return true
|
|
57
|
+
end
|
|
58
|
+
common_buildpdf('sample-book/src', 'review-jsbook', 'config-ebook.yml', 'book.pdf')
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def test_pdfmaker_cmd_sample_jlreq_print
|
|
62
|
+
begin
|
|
63
|
+
`uplatex -v`
|
|
64
|
+
rescue
|
|
65
|
+
$stderr.puts 'skip test_pdfmaker_cmd_sample_jlreq_print'
|
|
66
|
+
return true
|
|
67
|
+
end
|
|
68
|
+
common_buildpdf('sample-book/src', 'review-jlreq', 'config-jlreq.yml', 'book.pdf')
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def test_pdfmaker_cmd_sample_jlreq_ebook
|
|
72
|
+
begin
|
|
73
|
+
`uplatex -v`
|
|
74
|
+
rescue
|
|
75
|
+
$stderr.puts 'skip test_pdfmaker_cmd_sample_jlreq_ebook'
|
|
76
|
+
return true
|
|
77
|
+
end
|
|
78
|
+
common_buildpdf('sample-book/src', 'review-jlreq', 'config-jlreq-ebook.yml', 'book.pdf')
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def test_pdfmaker_cmd_syntax_jsbook_print
|
|
82
|
+
begin
|
|
83
|
+
`uplatex -v`
|
|
84
|
+
rescue
|
|
85
|
+
$stderr.puts 'skip test_pdfmaker_cmd_syntax_jsbook_print'
|
|
86
|
+
return true
|
|
87
|
+
end
|
|
88
|
+
common_buildpdf('syntax-book', 'review-jsbook', 'config-print.yml', 'syntax-book.pdf')
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
def test_pdfmaker_cmd_syntax_jsbook_print_buildonly
|
|
92
|
+
begin
|
|
93
|
+
`uplatex -v`
|
|
94
|
+
rescue
|
|
95
|
+
$stderr.puts 'skip test_pdfmaker_cmd_syntax_jsbook_print_buildonly'
|
|
96
|
+
return true
|
|
97
|
+
end
|
|
98
|
+
common_buildpdf('syntax-book', 'review-jsbook', 'config-print.yml', 'syntax-book.pdf', '-y ch01')
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
def test_pdfmaker_cmd_syntax_jsbook_ebook
|
|
102
|
+
begin
|
|
103
|
+
`uplatex -v`
|
|
104
|
+
rescue
|
|
105
|
+
$stderr.puts 'skip test_pdfmaker_cmd_syntax_jsbook_ebook'
|
|
106
|
+
return true
|
|
107
|
+
end
|
|
108
|
+
common_buildpdf('syntax-book', 'review-jsbook', 'config.yml', 'syntax-book.pdf')
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
def test_pdfmaker_cmd_syntax_jlreq_ebook
|
|
112
|
+
begin
|
|
113
|
+
`uplatex -v`
|
|
114
|
+
rescue
|
|
115
|
+
$stderr.puts 'skip test_pdfmaker_cmd_syntax_jlreq_ebook'
|
|
116
|
+
return true
|
|
117
|
+
end
|
|
118
|
+
common_buildpdf('syntax-book', 'review-jlreq', 'config-jlreq.yml', 'syntax-book.pdf')
|
|
119
|
+
end
|
|
32
120
|
|
|
33
|
-
|
|
121
|
+
def test_pdfmaker_cmd_syntax_jlreq_ebook_lualatex
|
|
122
|
+
begin
|
|
123
|
+
`lualatex -v`
|
|
124
|
+
rescue
|
|
125
|
+
$stderr.puts 'skip test_pdfmaker_cmd_syntax_jlreq_ebook_lualatex'
|
|
126
|
+
return true
|
|
34
127
|
end
|
|
128
|
+
common_buildpdf('syntax-book', 'review-jlreq', 'config-jlreq-lualatex.yml', 'syntax-book.pdf')
|
|
35
129
|
end
|
|
36
130
|
end
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
require 'tmpdir'
|
|
3
|
+
require 'fileutils'
|
|
4
|
+
require 'yaml'
|
|
5
|
+
require 'rbconfig'
|
|
6
|
+
require 'open3'
|
|
7
|
+
|
|
8
|
+
REVIEW_TEXTMAKER = File.expand_path('../bin/review-textmaker', File.dirname(__FILE__))
|
|
9
|
+
|
|
10
|
+
class TEXTMakerCmdTest < Test::Unit::TestCase
|
|
11
|
+
def setup
|
|
12
|
+
@tmpdir1 = Dir.mktmpdir
|
|
13
|
+
|
|
14
|
+
@old_rubylib = ENV['RUBYLIB']
|
|
15
|
+
ENV['RUBYLIB'] = File.expand_path('../lib', File.dirname(__FILE__))
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def teardown
|
|
19
|
+
FileUtils.rm_rf(@tmpdir1)
|
|
20
|
+
ENV['RUBYLIB'] = @old_rubylib
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def common_buildtext(bookdir, configfile, targetfile, option)
|
|
24
|
+
if /mswin|mingw|cygwin/ !~ RUBY_PLATFORM
|
|
25
|
+
config = prepare_samplebook(@tmpdir1, bookdir, nil, configfile)
|
|
26
|
+
builddir = File.join(@tmpdir1, config['bookname'] + '-text')
|
|
27
|
+
assert !File.exist?(builddir)
|
|
28
|
+
|
|
29
|
+
ruby_cmd = File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name']) + RbConfig::CONFIG['EXEEXT']
|
|
30
|
+
Dir.chdir(@tmpdir1) do
|
|
31
|
+
_o, e, s = Open3.capture3("#{ruby_cmd} -S #{REVIEW_TEXTMAKER} #{option} #{configfile}")
|
|
32
|
+
STDERR.puts e unless e.empty?
|
|
33
|
+
assert s.success?
|
|
34
|
+
end
|
|
35
|
+
assert File.exist?(File.join(@tmpdir1, targetfile))
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def test_textmaker_cmd_samplebook
|
|
40
|
+
common_buildtext('sample-book/src', 'config.yml', 'book-text/ch01.txt', nil)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def test_textmaker_cmd_samplebook_plain
|
|
44
|
+
common_buildtext('sample-book/src', 'config.yml', 'book-text/ch01.txt', '-n')
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def test_textmaker_cmd_syntaxbook
|
|
48
|
+
common_buildtext('syntax-book', 'config.yml', 'syntax-book-text/ch01.txt', nil)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def test_textmaker_cmd_syntaxbook_plain
|
|
52
|
+
common_buildtext('syntax-book', 'config.yml', 'syntax-book-text/ch01.txt', '-n')
|
|
53
|
+
end
|
|
54
|
+
end
|
data/test/test_topbuilder.rb
CHANGED
|
@@ -170,6 +170,19 @@ para
|
|
|
170
170
|
|
|
171
171
|
●\tbar
|
|
172
172
|
|
|
173
|
+
EOS
|
|
174
|
+
assert_equal expected, actual
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
def test_dt_inline
|
|
178
|
+
fn = Book::FootnoteIndex.parse(['//footnote[bar][bar]'])
|
|
179
|
+
@chapter.instance_eval { @footnote_index = fn }
|
|
180
|
+
actual = compile_block(" : foo@<fn>{bar}[]<>&@<m>$\\alpha[]$\n")
|
|
181
|
+
|
|
182
|
+
expected = <<-EOS
|
|
183
|
+
★foo【注1】[]<>&◆→TeX式ここから←◆\\alpha[]◆→TeX式ここまで←◆☆
|
|
184
|
+
|
|
185
|
+
|
|
173
186
|
EOS
|
|
174
187
|
assert_equal expected, actual
|
|
175
188
|
end
|
|
@@ -462,6 +475,52 @@ ccc\tddd<>&
|
|
|
462
475
|
ccc\tddd<>&
|
|
463
476
|
◆→終了:表←◆
|
|
464
477
|
|
|
478
|
+
EOS
|
|
479
|
+
assert_equal expected, actual
|
|
480
|
+
end
|
|
481
|
+
|
|
482
|
+
def test_table_row_separator
|
|
483
|
+
src = "//table{\n1\t2\t\t3 4| 5\n------------\na b\tc d |e\n//}\n"
|
|
484
|
+
expected = <<-EOS
|
|
485
|
+
◆→開始:表←◆
|
|
486
|
+
★1☆ ★2☆ ★3 4| 5☆
|
|
487
|
+
a b c d |e
|
|
488
|
+
◆→終了:表←◆
|
|
489
|
+
|
|
490
|
+
EOS
|
|
491
|
+
actual = compile_block(src)
|
|
492
|
+
assert_equal expected, actual
|
|
493
|
+
|
|
494
|
+
@config['table_row_separator'] = 'singletab'
|
|
495
|
+
actual = compile_block(src)
|
|
496
|
+
expected = <<-EOS
|
|
497
|
+
◆→開始:表←◆
|
|
498
|
+
★1☆ ★2☆ ★☆ ★3 4| 5☆
|
|
499
|
+
a b c d |e
|
|
500
|
+
◆→終了:表←◆
|
|
501
|
+
|
|
502
|
+
EOS
|
|
503
|
+
assert_equal expected, actual
|
|
504
|
+
|
|
505
|
+
@config['table_row_separator'] = 'spaces'
|
|
506
|
+
actual = compile_block(src)
|
|
507
|
+
expected = <<-EOS
|
|
508
|
+
◆→開始:表←◆
|
|
509
|
+
★1☆ ★2☆ ★3☆ ★4|☆ ★5☆
|
|
510
|
+
a b c d |e
|
|
511
|
+
◆→終了:表←◆
|
|
512
|
+
|
|
513
|
+
EOS
|
|
514
|
+
assert_equal expected, actual
|
|
515
|
+
|
|
516
|
+
@config['table_row_separator'] = 'verticalbar'
|
|
517
|
+
actual = compile_block(src)
|
|
518
|
+
expected = <<-EOS
|
|
519
|
+
◆→開始:表←◆
|
|
520
|
+
★1 2 3 4☆ ★5☆
|
|
521
|
+
a b c d e
|
|
522
|
+
◆→終了:表←◆
|
|
523
|
+
|
|
465
524
|
EOS
|
|
466
525
|
assert_equal expected, actual
|
|
467
526
|
end
|
data/vendor/jsclasses/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Copyright 1995-1999 ASCII MEDIA WORKS
|
|
2
2
|
Copyright 1999-2016 Haruhiko Okumura
|
|
3
|
-
Copyright 2016-
|
|
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
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
%% in the same archive or directory.)
|
|
23
23
|
\NeedsTeXFormat{pLaTeX2e}
|
|
24
24
|
\ProvidesClass{jsarticle}
|
|
25
|
-
[
|
|
25
|
+
[2020/02/02 jsclasses (okumura, texjporg)]
|
|
26
26
|
\def\jsc@clsname{jsarticle}
|
|
27
27
|
\newif\ifjsc@needsp@tch
|
|
28
28
|
\jsc@needsp@tchfalse
|
|
@@ -460,6 +460,7 @@
|
|
|
460
460
|
\DeclareFontShape{\jsc@JTn}{gt}{m}{sl}{<->ssub*gt/m/n}{}
|
|
461
461
|
\DeclareFontShape{\jsc@JTn}{mc}{bx}{it}{<->ssub*gt/m/n}{}
|
|
462
462
|
\DeclareFontShape{\jsc@JTn}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
|
|
463
|
+
\ifx\@rmfamilyhook\@undefined % old
|
|
463
464
|
\DeclareRobustCommand\rmfamily
|
|
464
465
|
{\not@math@alphabet\rmfamily\mathrm
|
|
465
466
|
\romanfamily\rmdefault\kanjifamily\mcdefault\selectfont}
|
|
@@ -469,6 +470,25 @@
|
|
|
469
470
|
\DeclareRobustCommand\ttfamily
|
|
470
471
|
{\not@math@alphabet\ttfamily\mathtt
|
|
471
472
|
\romanfamily\ttdefault\kanjifamily\gtdefault\selectfont}
|
|
473
|
+
\AtBeginDocument{%
|
|
474
|
+
\ifx\mweights@init\@undefined\else % mweights.sty is loaded
|
|
475
|
+
% my definitions above should have been overwritten, recover it!
|
|
476
|
+
% \selectfont is executed twice but I don't care about speed...
|
|
477
|
+
\expandafter\g@addto@macro\csname rmfamily \endcsname
|
|
478
|
+
{\kanjifamily\mcdefault\selectfont}%
|
|
479
|
+
\expandafter\g@addto@macro\csname sffamily \endcsname
|
|
480
|
+
{\kanjifamily\gtdefault\selectfont}%
|
|
481
|
+
\expandafter\g@addto@macro\csname ttfamily \endcsname
|
|
482
|
+
{\kanjifamily\gtdefault\selectfont}%
|
|
483
|
+
\fi}
|
|
484
|
+
\else % 2020-02-02
|
|
485
|
+
\g@addto@macro\@rmfamilyhook
|
|
486
|
+
{\prepare@family@series@update@kanji{mc}\mcdefault}
|
|
487
|
+
\g@addto@macro\@sffamilyhook
|
|
488
|
+
{\prepare@family@series@update@kanji{gt}\gtdefault}
|
|
489
|
+
\g@addto@macro\@ttfamilyhook
|
|
490
|
+
{\prepare@family@series@update@kanji{gt}\gtdefault}
|
|
491
|
+
\fi
|
|
472
492
|
\ifx\DeclareFixJFMCJKTextFontCommand\@undefined
|
|
473
493
|
\DeclareRobustCommand\textmc[1]{%
|
|
474
494
|
\relax\ifmmode \expandafter\nfss@text \fi{\mcfamily #1}}
|
|
@@ -1370,11 +1390,11 @@
|
|
|
1370
1390
|
\renewcommand{\theenumiii}{\@roman\c@enumiii}
|
|
1371
1391
|
\renewcommand{\theenumiv}{\@Alph\c@enumiv}
|
|
1372
1392
|
\newcommand{\labelenumi}{\theenumi.}
|
|
1373
|
-
\newcommand{\labelenumii}{\inhibitglue$B!J(B\theenumii$B!K(B\inhibitglue}
|
|
1393
|
+
\newcommand{\labelenumii}{\inhibitglue $B!J(B\theenumii $B!K(B\inhibitglue}
|
|
1374
1394
|
\newcommand{\labelenumiii}{\theenumiii.}
|
|
1375
1395
|
\newcommand{\labelenumiv}{\theenumiv.}
|
|
1376
1396
|
\renewcommand{\p@enumii}{\theenumi}
|
|
1377
|
-
\renewcommand{\p@enumiii}{\theenumi\inhibitglue$B!J(B\theenumii$B!K(B}
|
|
1397
|
+
\renewcommand{\p@enumiii}{\theenumi\inhibitglue $B!J(B\theenumii $B!K(B}
|
|
1378
1398
|
\renewcommand{\p@enumiv}{\p@enumiii\theenumiii}
|
|
1379
1399
|
\newcommand\labelitemi{\textbullet}
|
|
1380
1400
|
\newcommand\labelitemii{\normalfont\bfseries \textendash}
|
|
@@ -1519,7 +1539,7 @@
|
|
|
1519
1539
|
\vskip\abovecaptionskip
|
|
1520
1540
|
\sbox\@tempboxa{#1\hskip1zw\relax #2}%
|
|
1521
1541
|
\ifdim \wd\@tempboxa <\hsize \centering \fi
|
|
1522
|
-
#1\hskip1zw\relax
|
|
1542
|
+
#1{\hskip1zw\relax}#2\par
|
|
1523
1543
|
\vskip\belowcaptionskip}}
|
|
1524
1544
|
\DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc}
|
|
1525
1545
|
\DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt}
|
|
@@ -1885,23 +1905,42 @@
|
|
|
1885
1905
|
\def\$B@>Nq(B{\$B@>Nq(Btrue}
|
|
1886
1906
|
\def\$BOBNq(B{\$B@>Nq(Bfalse}
|
|
1887
1907
|
\newcount\heisei \heisei\year \advance\heisei-1988\relax
|
|
1908
|
+
\def\pltx@today@year@#1{%
|
|
1909
|
+
\ifnum\numexpr\year-#1=1 $B85(B\else
|
|
1910
|
+
\ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi
|
|
1911
|
+
\kansuji\numexpr\year-#1\relax
|
|
1912
|
+
\else
|
|
1913
|
+
\number\numexpr\year-#1\relax\nobreak
|
|
1914
|
+
\fi
|
|
1915
|
+
\fi $BG/(B
|
|
1916
|
+
}
|
|
1917
|
+
\def\pltx@today@year{%
|
|
1918
|
+
\ifnum\numexpr\year*10000+\month*100+\day<19890108
|
|
1919
|
+
$B><OB(B\pltx@today@year@{1925}%
|
|
1920
|
+
\else\ifnum\numexpr\year*10000+\month*100+\day<20190501
|
|
1921
|
+
$BJ?@.(B\pltx@today@year@{1988}%
|
|
1922
|
+
\else
|
|
1923
|
+
$BNaOB(B\pltx@today@year@{2018}%
|
|
1924
|
+
\fi\fi}
|
|
1888
1925
|
\def\today{%
|
|
1889
1926
|
\if@english
|
|
1890
1927
|
\ifcase\month\or
|
|
1891
1928
|
January\or February\or March\or April\or May\or June\or
|
|
1892
1929
|
July\or August\or September\or October\or November\or December\fi
|
|
1893
1930
|
\space\number\day, \number\year
|
|
1931
|
+
\else\if$B@>Nq(B
|
|
1932
|
+
\ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi \kansuji\year
|
|
1933
|
+
\else\number\year\nobreak\fi $BG/(B
|
|
1894
1934
|
\else
|
|
1895
|
-
\
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
\
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
\fi}
|
|
1935
|
+
\pltx@today@year
|
|
1936
|
+
\fi
|
|
1937
|
+
\ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi
|
|
1938
|
+
\kansuji\month $B7n(B
|
|
1939
|
+
\kansuji\day $BF|(B
|
|
1940
|
+
\else
|
|
1941
|
+
\number\month\nobreak $B7n(B
|
|
1942
|
+
\number\day\nobreak $BF|(B
|
|
1943
|
+
\fi\fi}
|
|
1905
1944
|
\hyphenation{ado-be post-script ghost-script phe-nom-e-no-log-i-cal man-u-script}
|
|
1906
1945
|
\if@slide \pagestyle{empty} \else \pagestyle{plain} \fi
|
|
1907
1946
|
\pagenumbering{arabic}
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
%% in the same archive or directory.)
|
|
23
23
|
\NeedsTeXFormat{pLaTeX2e}
|
|
24
24
|
\ProvidesClass{jsbook}
|
|
25
|
-
[
|
|
25
|
+
[2020/02/02 jsclasses (okumura, texjporg)]
|
|
26
26
|
\def\jsc@clsname{jsbook}
|
|
27
27
|
\newif\ifjsc@needsp@tch
|
|
28
28
|
\jsc@needsp@tchfalse
|
|
@@ -465,6 +465,7 @@
|
|
|
465
465
|
\DeclareFontShape{\jsc@JTn}{gt}{m}{sl}{<->ssub*gt/m/n}{}
|
|
466
466
|
\DeclareFontShape{\jsc@JTn}{mc}{bx}{it}{<->ssub*gt/m/n}{}
|
|
467
467
|
\DeclareFontShape{\jsc@JTn}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
|
|
468
|
+
\ifx\@rmfamilyhook\@undefined % old
|
|
468
469
|
\DeclareRobustCommand\rmfamily
|
|
469
470
|
{\not@math@alphabet\rmfamily\mathrm
|
|
470
471
|
\romanfamily\rmdefault\kanjifamily\mcdefault\selectfont}
|
|
@@ -474,6 +475,25 @@
|
|
|
474
475
|
\DeclareRobustCommand\ttfamily
|
|
475
476
|
{\not@math@alphabet\ttfamily\mathtt
|
|
476
477
|
\romanfamily\ttdefault\kanjifamily\gtdefault\selectfont}
|
|
478
|
+
\AtBeginDocument{%
|
|
479
|
+
\ifx\mweights@init\@undefined\else % mweights.sty is loaded
|
|
480
|
+
% my definitions above should have been overwritten, recover it!
|
|
481
|
+
% \selectfont is executed twice but I don't care about speed...
|
|
482
|
+
\expandafter\g@addto@macro\csname rmfamily \endcsname
|
|
483
|
+
{\kanjifamily\mcdefault\selectfont}%
|
|
484
|
+
\expandafter\g@addto@macro\csname sffamily \endcsname
|
|
485
|
+
{\kanjifamily\gtdefault\selectfont}%
|
|
486
|
+
\expandafter\g@addto@macro\csname ttfamily \endcsname
|
|
487
|
+
{\kanjifamily\gtdefault\selectfont}%
|
|
488
|
+
\fi}
|
|
489
|
+
\else % 2020-02-02
|
|
490
|
+
\g@addto@macro\@rmfamilyhook
|
|
491
|
+
{\prepare@family@series@update@kanji{mc}\mcdefault}
|
|
492
|
+
\g@addto@macro\@sffamilyhook
|
|
493
|
+
{\prepare@family@series@update@kanji{gt}\gtdefault}
|
|
494
|
+
\g@addto@macro\@ttfamilyhook
|
|
495
|
+
{\prepare@family@series@update@kanji{gt}\gtdefault}
|
|
496
|
+
\fi
|
|
477
497
|
\ifx\DeclareFixJFMCJKTextFontCommand\@undefined
|
|
478
498
|
\DeclareRobustCommand\textmc[1]{%
|
|
479
499
|
\relax\ifmmode \expandafter\nfss@text \fi{\mcfamily #1}}
|
|
@@ -1477,11 +1497,11 @@
|
|
|
1477
1497
|
\renewcommand{\theenumiii}{\@roman\c@enumiii}
|
|
1478
1498
|
\renewcommand{\theenumiv}{\@Alph\c@enumiv}
|
|
1479
1499
|
\newcommand{\labelenumi}{\theenumi.}
|
|
1480
|
-
\newcommand{\labelenumii}{\inhibitglue$B!J(B\theenumii$B!K(B\inhibitglue}
|
|
1500
|
+
\newcommand{\labelenumii}{\inhibitglue $B!J(B\theenumii $B!K(B\inhibitglue}
|
|
1481
1501
|
\newcommand{\labelenumiii}{\theenumiii.}
|
|
1482
1502
|
\newcommand{\labelenumiv}{\theenumiv.}
|
|
1483
1503
|
\renewcommand{\p@enumii}{\theenumi}
|
|
1484
|
-
\renewcommand{\p@enumiii}{\theenumi\inhibitglue$B!J(B\theenumii$B!K(B}
|
|
1504
|
+
\renewcommand{\p@enumiii}{\theenumi\inhibitglue $B!J(B\theenumii $B!K(B}
|
|
1485
1505
|
\renewcommand{\p@enumiv}{\p@enumiii\theenumiii}
|
|
1486
1506
|
\newcommand\labelitemi{\textbullet}
|
|
1487
1507
|
\newcommand\labelitemii{\normalfont\bfseries \textendash}
|
|
@@ -1588,7 +1608,7 @@
|
|
|
1588
1608
|
\vskip\abovecaptionskip
|
|
1589
1609
|
\sbox\@tempboxa{#1\hskip1zw\relax #2}%
|
|
1590
1610
|
\ifdim \wd\@tempboxa <\hsize \centering \fi
|
|
1591
|
-
#1\hskip1zw\relax
|
|
1611
|
+
#1{\hskip1zw\relax}#2\par
|
|
1592
1612
|
\vskip\belowcaptionskip}}
|
|
1593
1613
|
\DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc}
|
|
1594
1614
|
\DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt}
|
|
@@ -1976,23 +1996,42 @@
|
|
|
1976
1996
|
\def\$B@>Nq(B{\$B@>Nq(Btrue}
|
|
1977
1997
|
\def\$BOBNq(B{\$B@>Nq(Bfalse}
|
|
1978
1998
|
\newcount\heisei \heisei\year \advance\heisei-1988\relax
|
|
1999
|
+
\def\pltx@today@year@#1{%
|
|
2000
|
+
\ifnum\numexpr\year-#1=1 $B85(B\else
|
|
2001
|
+
\ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi
|
|
2002
|
+
\kansuji\numexpr\year-#1\relax
|
|
2003
|
+
\else
|
|
2004
|
+
\number\numexpr\year-#1\relax\nobreak
|
|
2005
|
+
\fi
|
|
2006
|
+
\fi $BG/(B
|
|
2007
|
+
}
|
|
2008
|
+
\def\pltx@today@year{%
|
|
2009
|
+
\ifnum\numexpr\year*10000+\month*100+\day<19890108
|
|
2010
|
+
$B><OB(B\pltx@today@year@{1925}%
|
|
2011
|
+
\else\ifnum\numexpr\year*10000+\month*100+\day<20190501
|
|
2012
|
+
$BJ?@.(B\pltx@today@year@{1988}%
|
|
2013
|
+
\else
|
|
2014
|
+
$BNaOB(B\pltx@today@year@{2018}%
|
|
2015
|
+
\fi\fi}
|
|
1979
2016
|
\def\today{%
|
|
1980
2017
|
\if@english
|
|
1981
2018
|
\ifcase\month\or
|
|
1982
2019
|
January\or February\or March\or April\or May\or June\or
|
|
1983
2020
|
July\or August\or September\or October\or November\or December\fi
|
|
1984
2021
|
\space\number\day, \number\year
|
|
2022
|
+
\else\if$B@>Nq(B
|
|
2023
|
+
\ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi \kansuji\year
|
|
2024
|
+
\else\number\year\nobreak\fi $BG/(B
|
|
1985
2025
|
\else
|
|
1986
|
-
\
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
\
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
\fi}
|
|
2026
|
+
\pltx@today@year
|
|
2027
|
+
\fi
|
|
2028
|
+
\ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi
|
|
2029
|
+
\kansuji\month $B7n(B
|
|
2030
|
+
\kansuji\day $BF|(B
|
|
2031
|
+
\else
|
|
2032
|
+
\number\month\nobreak $B7n(B
|
|
2033
|
+
\number\day\nobreak $BF|(B
|
|
2034
|
+
\fi\fi}
|
|
1996
2035
|
\hyphenation{ado-be post-script ghost-script phe-nom-e-no-log-i-cal man-u-script}
|
|
1997
2036
|
\if@report \pagestyle{plain} \else \pagestyle{headings} \fi
|
|
1998
2037
|
\pagenumbering{arabic}
|