review 4.2.0 → 5.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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}
|