review 4.2.0 → 5.0.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 +11 -5
- data/.rubocop.yml +113 -24
- data/NEWS.ja.md +94 -0
- data/NEWS.md +94 -0
- data/bin/review-catalog-converter +1 -1
- data/bin/review-check +2 -4
- data/bin/review-checkdep +1 -1
- data/bin/review-compile +8 -14
- data/bin/review-validate +1 -1
- data/doc/config.yml.sample +4 -1
- data/doc/config.yml.sample-simple +1 -1
- data/doc/format.ja.md +83 -4
- data/doc/format.md +84 -7
- data/doc/makeindex.ja.md +2 -2
- data/doc/quickstart.ja.md +3 -3
- data/doc/quickstart.md +2 -2
- data/lib/epubmaker/content.rb +3 -2
- data/lib/epubmaker/epubcommon.rb +33 -25
- data/lib/epubmaker/epubv2.rb +5 -6
- data/lib/epubmaker/epubv3.rb +20 -18
- data/lib/review/book.rb +2 -2
- data/lib/review/book/base.rb +61 -25
- data/lib/review/book/bib.rb +21 -0
- data/lib/review/book/book_unit.rb +155 -0
- data/lib/review/book/chapter.rb +30 -26
- data/lib/review/book/index.rb +23 -185
- data/lib/review/book/index/item.rb +7 -1
- data/lib/review/book/part.rb +21 -9
- data/lib/review/book/volume.rb +1 -1
- data/lib/review/builder.rb +68 -13
- data/lib/review/catalog.rb +2 -2
- data/lib/review/compiler.rb +159 -73
- data/lib/review/configure.rb +22 -1
- data/lib/review/converter.rb +1 -1
- data/lib/review/epub2html.rb +6 -1
- data/lib/review/epubmaker.rb +12 -23
- data/lib/review/htmlbuilder.rb +36 -7
- data/lib/review/htmlutils.rb +7 -10
- data/lib/review/i18n.rb +1 -1
- data/lib/review/idgxmlbuilder.rb +51 -6
- data/lib/review/idgxmlmaker.rb +9 -14
- data/lib/review/index_builder.rb +653 -0
- data/lib/review/init.rb +5 -13
- data/lib/review/latexbuilder.rb +65 -4
- data/lib/review/logger.rb +2 -2
- data/lib/review/makerhelper.rb +11 -0
- data/lib/review/markdownbuilder.rb +19 -1
- data/lib/review/pdfmaker.rb +17 -36
- data/lib/review/plaintextbuilder.rb +48 -2
- data/lib/review/preprocessor.rb +5 -5
- data/lib/review/rstbuilder.rb +25 -6
- data/lib/review/sec_counter.rb +13 -0
- data/lib/review/textmaker.rb +4 -12
- data/lib/review/tocprinter.rb +2 -3
- data/lib/review/topbuilder.rb +26 -0
- data/lib/review/update.rb +7 -7
- data/lib/review/version.rb +1 -1
- data/lib/review/volumeprinter.rb +2 -3
- data/lib/review/webmaker.rb +9 -20
- data/review.gemspec +2 -2
- data/samples/sample-book/src/config.yml +1 -1
- data/samples/syntax-book/Gemfile +1 -1
- data/samples/syntax-book/config.yml +1 -1
- data/templates/latex/config.erb +27 -23
- data/templates/latex/review-jlreq/README.md +3 -1
- data/templates/latex/review-jlreq/review-base.sty +31 -15
- data/templates/latex/review-jlreq/review-jlreq.cls +8 -24
- data/templates/latex/review-jsbook/README.md +7 -5
- data/templates/latex/review-jsbook/review-base.sty +34 -16
- data/templates/latex/review-jsbook/review-jsbook.cls +4 -2
- data/templates/web/html/layout-html5.html.erb +1 -1
- data/test/assets/test_template.tex +3 -3
- data/test/assets/test_template_backmatter.tex +3 -3
- data/test/book_test_helper.rb +11 -5
- data/test/test_book.rb +54 -63
- data/test/test_book_chapter.rb +93 -52
- data/test/test_builder.rb +24 -15
- data/test/test_converter.rb +1 -0
- data/test/test_epub3maker.rb +2 -2
- data/test/test_epubmaker.rb +8 -0
- data/test/test_helper.rb +4 -1
- data/test/test_htmlbuilder.rb +627 -56
- data/test/test_htmlutils.rb +0 -12
- data/test/test_i18n.rb +33 -33
- data/test/test_idgxmlbuilder.rb +358 -11
- data/test/test_idgxmlmaker_cmd.rb +1 -1
- data/test/test_index.rb +62 -52
- data/test/test_indexbuilder.rb +52 -0
- data/test/test_latexbuilder.rb +547 -10
- data/test/test_latexbuilder_v2.rb +43 -5
- data/test/test_logger.rb +7 -7
- data/test/test_makerhelper.rb +0 -12
- data/test/test_markdownbuilder.rb +3 -0
- data/test/test_pdfmaker.rb +13 -12
- data/test/test_pdfmaker_cmd.rb +1 -1
- data/test/test_plaintextbuilder.rb +422 -7
- data/test/test_review_ext.rb +2 -1
- data/test/test_rstbuilder.rb +25 -1
- data/test/test_sec_counter.rb +156 -0
- data/test/test_textmaker_cmd.rb +1 -1
- data/test/test_topbuilder.rb +187 -10
- data/test/test_update.rb +10 -10
- data/test/test_webtocprinter.rb +12 -12
- data/vendor/gentombow/LICENSE +1 -1
- data/vendor/gentombow/Makefile +0 -1
- data/vendor/gentombow/bounddvi-en.pdf +0 -0
- data/vendor/gentombow/bounddvi-en.tex +1 -0
- data/vendor/gentombow/bounddvi.pdf +0 -0
- data/vendor/gentombow/bounddvi.sty +30 -7
- data/vendor/gentombow/bounddvi.tex +1 -0
- data/vendor/gentombow/create_archive.sh +1 -0
- data/vendor/gentombow/gentombow-ja.pdf +0 -0
- data/vendor/gentombow/gentombow-ja.tex +9 -0
- data/vendor/gentombow/gentombow.pdf +0 -0
- data/vendor/gentombow/gentombow.sty +32 -10
- data/vendor/gentombow/gentombow.tex +8 -0
- data/vendor/gentombow/tests/gentombow-01-pdfx.tex +8 -0
- data/vendor/gentombow/tests/gentombow-02-pdfx.tex +8 -0
- data/vendor/jsclasses/Makefile +3 -2
- data/vendor/jsclasses/create_archive.sh +5 -5
- data/vendor/jsclasses/jis/Makefile +3 -2
- data/vendor/jsclasses/jis/jsarticle.cls +22 -18
- data/vendor/jsclasses/jis/jsbook.cls +22 -18
- data/vendor/jsclasses/jis/jsclasses.dtx +94 -13
- data/vendor/jsclasses/jis/jsclasses.ins +15 -5
- data/vendor/jsclasses/jis/jslogo.ins +9 -0
- data/vendor/jsclasses/jis/jslogo.sty +1 -13
- data/vendor/jsclasses/jis/jspf.cls +22 -18
- data/vendor/jsclasses/jis/jsreport.cls +22 -18
- data/vendor/jsclasses/jis/jsverb.ins +9 -0
- data/vendor/jsclasses/jis/jsverb.sty +1 -13
- data/vendor/jsclasses/jis/kiyou.cls +22 -18
- data/vendor/jsclasses/jis/minijs.sty +65 -22
- data/vendor/jsclasses/jis/okumacro.ins +9 -0
- data/vendor/jsclasses/jis/okumacro.sty +1 -13
- data/vendor/jsclasses/jis/okuverb.ins +9 -0
- data/vendor/jsclasses/jis/okuverb.sty +1 -13
- data/vendor/jsclasses/jis/winjis.sty +23 -19
- data/vendor/jsclasses/jsarticle.cls +22 -18
- data/vendor/jsclasses/jsbook.cls +22 -18
- data/vendor/jsclasses/jsclasses.dtx +94 -13
- data/vendor/jsclasses/jsclasses.ins +15 -5
- data/vendor/jsclasses/jsclasses.pdf +0 -0
- data/vendor/jsclasses/jslogo.ins +9 -0
- data/vendor/jsclasses/jslogo.pdf +0 -0
- data/vendor/jsclasses/jslogo.sty +1 -13
- data/vendor/jsclasses/jspf.cls +22 -18
- data/vendor/jsclasses/jsreport.cls +22 -18
- data/vendor/jsclasses/jsverb.ins +9 -0
- data/vendor/jsclasses/jsverb.pdf +0 -0
- data/vendor/jsclasses/jsverb.sty +1 -13
- data/vendor/jsclasses/kiyou.cls +22 -18
- data/vendor/jsclasses/minijs.sty +68 -22
- data/vendor/jsclasses/okumacro.ins +9 -0
- data/vendor/jsclasses/okumacro.pdf +0 -0
- data/vendor/jsclasses/okumacro.sty +1 -13
- data/vendor/jsclasses/okuverb.ins +9 -0
- data/vendor/jsclasses/okuverb.pdf +0 -0
- data/vendor/jsclasses/okuverb.sty +1 -13
- data/vendor/jsclasses/tests/relfont.tex +10 -0
- data/vendor/jsclasses/winjis.sty +23 -19
- metadata +14 -6
- data/.rubocop_todo.yml +0 -7
- data/lib/review/book/compilable.rb +0 -174
data/test/test_update.rb
CHANGED
|
@@ -64,7 +64,7 @@ EOT
|
|
|
64
64
|
io = StringIO.new
|
|
65
65
|
@u.instance_eval{ @logger = ReVIEW::Logger.new(io) }
|
|
66
66
|
assert_raise(ApplicationError) { @u.check_old_catalogs(@tmpdir) }
|
|
67
|
-
assert_match(/review
|
|
67
|
+
assert_match(/review-catalog-converter/, io.string)
|
|
68
68
|
|
|
69
69
|
File.unlink(File.join(@tmpdir, fname))
|
|
70
70
|
end
|
|
@@ -86,7 +86,7 @@ EOT
|
|
|
86
86
|
io = StringIO.new
|
|
87
87
|
@u.instance_eval{ @logger = ReVIEW::Logger.new(io) }
|
|
88
88
|
@u.check_own_files(@tmpdir)
|
|
89
|
-
assert_match(/There is review
|
|
89
|
+
assert_match(/There is review-ext\.rb file/, io.string)
|
|
90
90
|
end
|
|
91
91
|
|
|
92
92
|
def test_update_version_older
|
|
@@ -96,8 +96,8 @@ EOT
|
|
|
96
96
|
@u.instance_eval{ @logger = ReVIEW::Logger.new(io) }
|
|
97
97
|
@u.parse_ymls(@tmpdir)
|
|
98
98
|
@u.update_version
|
|
99
|
-
assert_match(/Update 'review_version' to '
|
|
100
|
-
assert_equal 'review_version:
|
|
99
|
+
assert_match(/Update 'review_version' to '5.0'/, io.string)
|
|
100
|
+
assert_equal 'review_version: 5.0', File.read(File.join(@tmpdir, 'config.yml')).match(/review_version:.*$/).to_s
|
|
101
101
|
|
|
102
102
|
File.write(File.join(@tmpdir, 'config.yml'), "review_version: 3.0\n")
|
|
103
103
|
|
|
@@ -105,19 +105,19 @@ EOT
|
|
|
105
105
|
@u.instance_eval{ @logger = ReVIEW::Logger.new(io) }
|
|
106
106
|
@u.parse_ymls(@tmpdir)
|
|
107
107
|
@u.update_version
|
|
108
|
-
assert_match(/Update 'review_version' to '
|
|
109
|
-
assert_equal 'review_version:
|
|
108
|
+
assert_match(/Update 'review_version' to '5.0'/, io.string)
|
|
109
|
+
assert_equal 'review_version: 5.0', File.read(File.join(@tmpdir, 'config.yml')).match(/review_version:.*$/).to_s
|
|
110
110
|
end
|
|
111
111
|
|
|
112
112
|
def test_update_version_current
|
|
113
|
-
File.write(File.join(@tmpdir, 'config.yml'), "review_version:
|
|
113
|
+
File.write(File.join(@tmpdir, 'config.yml'), "review_version: 5.0\n")
|
|
114
114
|
|
|
115
115
|
io = StringIO.new
|
|
116
116
|
@u.instance_eval{ @logger = ReVIEW::Logger.new(io) }
|
|
117
117
|
@u.parse_ymls(@tmpdir)
|
|
118
118
|
@u.update_version
|
|
119
119
|
assert_equal '', io.string
|
|
120
|
-
assert_equal 'review_version:
|
|
120
|
+
assert_equal 'review_version: 5.0', File.read(File.join(@tmpdir, 'config.yml')).match(/review_version:.*$/).to_s
|
|
121
121
|
end
|
|
122
122
|
|
|
123
123
|
def test_update_version_newer
|
|
@@ -127,7 +127,7 @@ EOT
|
|
|
127
127
|
@u.instance_eval{ @logger = ReVIEW::Logger.new(io) }
|
|
128
128
|
@u.parse_ymls(@tmpdir)
|
|
129
129
|
@u.update_version
|
|
130
|
-
assert_match(/Update 'review_version' to '
|
|
130
|
+
assert_match(/Update 'review_version' to '5.0'/, io.string)
|
|
131
131
|
assert_equal 'review_version: 99.0', File.read(File.join(@tmpdir, 'config.yml')).match(/review_version:.*$/).to_s
|
|
132
132
|
end
|
|
133
133
|
|
|
@@ -385,7 +385,7 @@ EOT
|
|
|
385
385
|
|
|
386
386
|
File.write(File.join(@tmpdir, 'sty/review-base.sty'), "% MODIFIED\n")
|
|
387
387
|
@u.update_tex_stys('review-jsbook', @tmpdir)
|
|
388
|
-
assert_match(/review
|
|
388
|
+
assert_match(/review-base\.sty will be overridden/, io.string)
|
|
389
389
|
assert_equal cont, File.read(File.join(@tmpdir, 'sty/review-base.sty'))
|
|
390
390
|
end
|
|
391
391
|
|
data/test/test_webtocprinter.rb
CHANGED
|
@@ -11,7 +11,7 @@ class WEBTOCPrinterTest < Test::Unit::TestCase
|
|
|
11
11
|
end
|
|
12
12
|
|
|
13
13
|
def test_webtocprinter_null
|
|
14
|
-
dummy_book = ReVIEW::Book::Base.
|
|
14
|
+
dummy_book = ReVIEW::Book::Base.new
|
|
15
15
|
# chap = ReVIEW::Book::Chapter.new(dummy_book, 1, '-', nil, StringIO.new)
|
|
16
16
|
str = WEBTOCPrinter.book_to_string(dummy_book)
|
|
17
17
|
expect = <<-EOB
|
|
@@ -28,9 +28,9 @@ CHAPS:
|
|
|
28
28
|
- ch1.re
|
|
29
29
|
- ch2.re
|
|
30
30
|
EOB
|
|
31
|
-
mktmpbookdir
|
|
31
|
+
mktmpbookdir('catalog.yml' => catalog_yml,
|
|
32
32
|
'ch1.re' => "= ch. 1\n\n111\n",
|
|
33
|
-
'ch2.re' => "= ch. 2\n\n222\n" do |_dir, book, _files|
|
|
33
|
+
'ch2.re' => "= ch. 2\n\n222\n") do |_dir, book, _files|
|
|
34
34
|
str = WEBTOCPrinter.book_to_string(book)
|
|
35
35
|
expect = <<-EOB
|
|
36
36
|
<ul class="book-toc">
|
|
@@ -51,9 +51,9 @@ CHAPS:
|
|
|
51
51
|
- part2:
|
|
52
52
|
- ch2.re
|
|
53
53
|
EOB
|
|
54
|
-
mktmpbookdir
|
|
54
|
+
mktmpbookdir('catalog.yml' => catalog_yml,
|
|
55
55
|
'ch1.re' => "= ch. 1\n\n111\n",
|
|
56
|
-
'ch2.re' => "= ch. 2\n\n222\n" do |_dir, book, _files|
|
|
56
|
+
'ch2.re' => "= ch. 2\n\n222\n") do |_dir, book, _files|
|
|
57
57
|
str = WEBTOCPrinter.book_to_string(book)
|
|
58
58
|
expect = <<-EOB
|
|
59
59
|
<ul class="book-toc">
|
|
@@ -78,11 +78,11 @@ CHAPS:
|
|
|
78
78
|
- p2.re:
|
|
79
79
|
- ch2.re
|
|
80
80
|
EOB
|
|
81
|
-
mktmpbookdir
|
|
81
|
+
mktmpbookdir('catalog.yml' => catalog_yml,
|
|
82
82
|
'p1.re' => "= This is PART1\n\np111\n",
|
|
83
83
|
'p2.re' => "= This is PART2\n\np111\n",
|
|
84
84
|
'ch1.re' => "= ch. 1\n\n111\n",
|
|
85
|
-
'ch2.re' => "= ch. 2\n\n222\n" do |_dir, book, _files|
|
|
85
|
+
'ch2.re' => "= ch. 2\n\n222\n") do |_dir, book, _files|
|
|
86
86
|
str = WEBTOCPrinter.book_to_string(book)
|
|
87
87
|
expect = <<-EOB
|
|
88
88
|
<ul class="book-toc">
|
|
@@ -116,7 +116,7 @@ POSTDEF:
|
|
|
116
116
|
- post1.re
|
|
117
117
|
- post2.re
|
|
118
118
|
EOB
|
|
119
|
-
mktmpbookdir
|
|
119
|
+
mktmpbookdir('catalog.yml' => catalog_yml,
|
|
120
120
|
'pre1.re' => "= PRE1\n\npre111\n",
|
|
121
121
|
'pre2.re' => "= PRE2\n\npre222\n",
|
|
122
122
|
'app1.re' => "= APP1\n\napp111\n",
|
|
@@ -126,7 +126,7 @@ EOB
|
|
|
126
126
|
'post1.re' => "= POST1\n\npo111\n",
|
|
127
127
|
'post2.re' => "= POST2\n\npo222\n",
|
|
128
128
|
'ch1.re' => "= ch. 1\n\n111\n",
|
|
129
|
-
'ch2.re' => "= ch. 2\n\n222\n" do |_dir, book, _files|
|
|
129
|
+
'ch2.re' => "= ch. 2\n\n222\n") do |_dir, book, _files|
|
|
130
130
|
str = WEBTOCPrinter.book_to_string(book)
|
|
131
131
|
expect = <<-EOB
|
|
132
132
|
<ul class="book-toc">
|
|
@@ -153,7 +153,7 @@ EOB
|
|
|
153
153
|
catalog_yml = <<-EOB
|
|
154
154
|
CHAPS:
|
|
155
155
|
EOB
|
|
156
|
-
mktmpbookdir
|
|
156
|
+
mktmpbookdir('catalog.yml' => catalog_yml) do |_dir, book, _files|
|
|
157
157
|
str = WEBTOCPrinter.book_to_string(book)
|
|
158
158
|
expect = <<-EOB
|
|
159
159
|
<ul class="book-toc">
|
|
@@ -172,11 +172,11 @@ CHAPS:
|
|
|
172
172
|
- ch3.re
|
|
173
173
|
- ch4.re
|
|
174
174
|
EOB
|
|
175
|
-
mktmpbookdir
|
|
175
|
+
mktmpbookdir('catalog.yml' => catalog_yml,
|
|
176
176
|
'ch1.re' => "A\n",
|
|
177
177
|
'ch2.re' => "B\n\n= C\n== D\n",
|
|
178
178
|
'ch3.re' => "//emlist{\nLIST\n//}\n",
|
|
179
|
-
'ch4.re' => "==[column] E\n\n= F" do |_dir, book, _files|
|
|
179
|
+
'ch4.re' => "==[column] E\n\n= F") do |_dir, book, _files|
|
|
180
180
|
str = WEBTOCPrinter.book_to_string(book)
|
|
181
181
|
expect = <<-EOB
|
|
182
182
|
<ul class="book-toc">
|
data/vendor/gentombow/LICENSE
CHANGED
data/vendor/gentombow/Makefile
CHANGED
|
@@ -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
|
-
%
|
|
4
|
-
% 2004/12/15 v6.0-v1.0 inoue
|
|
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}[
|
|
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
|
-
[
|
|
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
|
-
|
|
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
|
-
|
|
525
|
-
|
|
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
|
-
|
|
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
|
|
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}
|