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_index.rb
CHANGED
|
@@ -54,7 +54,7 @@ class IndexTest < Test::Unit::TestCase
|
|
|
54
54
|
EOB
|
|
55
55
|
book = Book::Base.load
|
|
56
56
|
chap = Book::Chapter.new(book, 1, '-', nil) # dummy
|
|
57
|
-
index = Book::HeadlineIndex.parse(src, chap)
|
|
57
|
+
index = Book::HeadlineIndex.parse(src.lines.to_a, chap)
|
|
58
58
|
assert_equal [2, 2], index['sec1-2|sec1-2-2'].number
|
|
59
59
|
assert_equal '1.2.2', index.number('sec1-2|sec1-2-2')
|
|
60
60
|
end
|
|
@@ -71,7 +71,7 @@ class IndexTest < Test::Unit::TestCase
|
|
|
71
71
|
EOB
|
|
72
72
|
book = Book::Base.load
|
|
73
73
|
chap = Book::Chapter.new(book, 1, '-', nil) # dummy
|
|
74
|
-
index = Book::HeadlineIndex.parse(src, chap)
|
|
74
|
+
index = Book::HeadlineIndex.parse(src.lines, chap)
|
|
75
75
|
assert_equal [3, 1], index['sec1-3|sec1-3-1'].number
|
|
76
76
|
assert_equal '1.3.1', index.number('sec1-3|sec1-3-1')
|
|
77
77
|
end
|
|
@@ -89,7 +89,7 @@ class IndexTest < Test::Unit::TestCase
|
|
|
89
89
|
EOB
|
|
90
90
|
book = Book::Base.load
|
|
91
91
|
chap = Book::Chapter.new(book, 1, '-', nil) # dummy
|
|
92
|
-
index = Book::HeadlineIndex.parse(src, chap)
|
|
92
|
+
index = Book::HeadlineIndex.parse(src.lines.to_a, chap)
|
|
93
93
|
assert_equal [2, 2], index['sec1-2|sec1-2-2'].number
|
|
94
94
|
assert_equal '1.2.2', index.number('sec1-2|sec1-2-2')
|
|
95
95
|
|
|
@@ -108,7 +108,7 @@ class IndexTest < Test::Unit::TestCase
|
|
|
108
108
|
EOB
|
|
109
109
|
book = Book::Base.load
|
|
110
110
|
chap = Book::Chapter.new(book, 1, '-', nil) # dummy
|
|
111
|
-
index = Book::HeadlineIndex.parse(src, chap)
|
|
111
|
+
index = Book::HeadlineIndex.parse(src.lines.to_a, chap)
|
|
112
112
|
assert_equal [2, 2], index['sec1-2|sec1-2-2'].number
|
|
113
113
|
assert_equal '1.2.2', index.number('sec1-2|sec1-2-2')
|
|
114
114
|
end
|
|
@@ -124,7 +124,7 @@ class IndexTest < Test::Unit::TestCase
|
|
|
124
124
|
EOB
|
|
125
125
|
book = Book::Base.load
|
|
126
126
|
chap = Book::Chapter.new(book, 1, '-', nil) # dummy
|
|
127
|
-
index = Book::HeadlineIndex.parse(src, chap)
|
|
127
|
+
index = Book::HeadlineIndex.parse(src.lines.to_a, chap)
|
|
128
128
|
assert_equal [2, 2], index['sec1-2-2'].number
|
|
129
129
|
assert_equal '1.2.2', index.number('sec1-2-2')
|
|
130
130
|
end
|
|
@@ -139,7 +139,7 @@ class IndexTest < Test::Unit::TestCase
|
|
|
139
139
|
EOB
|
|
140
140
|
book = Book::Base.load
|
|
141
141
|
chap = Book::Chapter.new(book, 1, '-', nil) # dummy
|
|
142
|
-
index = Book::HeadlineIndex.parse(src, chap)
|
|
142
|
+
index = Book::HeadlineIndex.parse(src.lines.to_a, chap)
|
|
143
143
|
assert_equal [1, 1], index['target'].number
|
|
144
144
|
assert_equal '1.1.1', index.number('target')
|
|
145
145
|
end
|
|
@@ -157,7 +157,7 @@ class IndexTest < Test::Unit::TestCase
|
|
|
157
157
|
EOB
|
|
158
158
|
book = Book::Base.load
|
|
159
159
|
chap = Book::Chapter.new(book, 1, '-', nil) # dummy
|
|
160
|
-
index = Book::HeadlineIndex.parse(src, chap)
|
|
160
|
+
index = Book::HeadlineIndex.parse(src.lines.to_a, chap)
|
|
161
161
|
|
|
162
162
|
assert_raise ReVIEW::KeyError do
|
|
163
163
|
assert_equal [1, 1], index['target'].number
|
|
@@ -174,7 +174,7 @@ class IndexTest < Test::Unit::TestCase
|
|
|
174
174
|
EOB
|
|
175
175
|
book = Book::Base.load
|
|
176
176
|
chap = Book::Chapter.new(book, 1, '-', nil)
|
|
177
|
-
index = Book::HeadlineIndex.parse(src, chap)
|
|
177
|
+
index = Book::HeadlineIndex.parse(src.lines.to_a, chap)
|
|
178
178
|
assert_equal '1.1.1', index.number('sec1-1')
|
|
179
179
|
end
|
|
180
180
|
|
|
@@ -190,7 +190,7 @@ class IndexTest < Test::Unit::TestCase
|
|
|
190
190
|
EOB
|
|
191
191
|
book = Book::Base.load
|
|
192
192
|
chap = Book::Chapter.new(book, 1, '-', nil)
|
|
193
|
-
index = Book::HeadlineIndex.parse(src, chap)
|
|
193
|
+
index = Book::HeadlineIndex.parse(src.lines.to_a, chap)
|
|
194
194
|
assert_equal [1, 1, 1], index['sec1-1-1'].number
|
|
195
195
|
end
|
|
196
196
|
|
|
@@ -205,7 +205,7 @@ class IndexTest < Test::Unit::TestCase
|
|
|
205
205
|
EOB
|
|
206
206
|
book = Book::Base.load
|
|
207
207
|
chap = Book::Chapter.new(book, 1, '-', nil)
|
|
208
|
-
index = Book::HeadlineIndex.parse(src, chap)
|
|
208
|
+
index = Book::HeadlineIndex.parse(src.lines.to_a, chap)
|
|
209
209
|
assert_equal [1, 1, 1], index['sec1-1-1'].number
|
|
210
210
|
end
|
|
211
211
|
|
|
@@ -222,7 +222,7 @@ class IndexTest < Test::Unit::TestCase
|
|
|
222
222
|
EOB
|
|
223
223
|
book = Book::Base.load
|
|
224
224
|
chap = Book::Chapter.new(book, 1, '-', nil)
|
|
225
|
-
index = Book::HeadlineIndex.parse(src, chap)
|
|
225
|
+
index = Book::HeadlineIndex.parse(src.lines.to_a, chap)
|
|
226
226
|
assert_equal nil, index['sec01'].number
|
|
227
227
|
assert_equal nil, index['sec02'].number
|
|
228
228
|
assert_equal [1], index['sec1'].number
|
|
@@ -242,7 +242,7 @@ class IndexTest < Test::Unit::TestCase
|
|
|
242
242
|
EOB
|
|
243
243
|
book = Book::Base.load
|
|
244
244
|
chap = Book::Chapter.new(book, 1, '-', nil)
|
|
245
|
-
index = Book::HeadlineIndex.parse(src, chap)
|
|
245
|
+
index = Book::HeadlineIndex.parse(src.lines.to_a, chap)
|
|
246
246
|
assert_equal [1], index['A'].number
|
|
247
247
|
assert_equal [1, 1], index['A2'].number
|
|
248
248
|
assert_equal nil, index['B'].number
|
data/test/test_latexbuilder.rb
CHANGED
|
@@ -14,10 +14,10 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
|
14
14
|
'secnolevel' => 2, # for IDGXMLBuilder, EPUBBuilder
|
|
15
15
|
'toclevel' => 2,
|
|
16
16
|
'stylesheet' => nil, # for EPUBBuilder
|
|
17
|
-
'image_scale2width' => false,
|
|
18
17
|
'texcommand' => 'uplatex',
|
|
19
|
-
'review_version' => '
|
|
18
|
+
'review_version' => '4'
|
|
20
19
|
)
|
|
20
|
+
@config['pdfmaker']['image_scale2width'] = nil
|
|
21
21
|
@book = Book::Base.new
|
|
22
22
|
@book.config = @config
|
|
23
23
|
@compiler = ReVIEW::Compiler.new(@builder)
|
|
@@ -247,8 +247,10 @@ EOS
|
|
|
247
247
|
|
|
248
248
|
def test_inline_hd_chap
|
|
249
249
|
def @chapter.headline_index
|
|
250
|
-
|
|
251
|
-
Book::HeadlineIndex.new(
|
|
250
|
+
item = Book::Index::Item.new('chap1|test', [1, 1], 'te_st')
|
|
251
|
+
idx = Book::HeadlineIndex.new(self)
|
|
252
|
+
idx.add_item(item)
|
|
253
|
+
idx
|
|
252
254
|
end
|
|
253
255
|
|
|
254
256
|
@config['secnolevel'] = 3
|
|
@@ -282,9 +284,9 @@ EOS
|
|
|
282
284
|
end
|
|
283
285
|
|
|
284
286
|
def test_inline_idx_yomi
|
|
287
|
+
require 'nkf'
|
|
285
288
|
begin
|
|
286
289
|
require 'MeCab'
|
|
287
|
-
require 'nkf'
|
|
288
290
|
rescue LoadError
|
|
289
291
|
$stderr.puts 'skip test_inline_idx_yomi (cannot find MeCab)'
|
|
290
292
|
return true
|
|
@@ -386,6 +388,21 @@ EOS
|
|
|
386
388
|
assert_equal expected, actual
|
|
387
389
|
end
|
|
388
390
|
|
|
391
|
+
def test_dt_inline
|
|
392
|
+
fn = Book::FootnoteIndex.parse(['//footnote[bar][bar]'])
|
|
393
|
+
@chapter.instance_eval { @footnote_index = fn }
|
|
394
|
+
actual = compile_block(" : foo@<fn>{bar}[]<>&@<m>$\\alpha[]$\n")
|
|
395
|
+
|
|
396
|
+
expected = <<-EOS
|
|
397
|
+
|
|
398
|
+
\\begin{description}
|
|
399
|
+
\\item[foo\\protect\\footnotemark{}\\lbrack{}\\rbrack{}\\textless{}\\textgreater{}\\&$\\alpha\\lbrack{}\\rbrack{}$] \\mbox{} \\\\
|
|
400
|
+
|
|
401
|
+
\\end{description}
|
|
402
|
+
EOS
|
|
403
|
+
assert_equal expected, actual
|
|
404
|
+
end
|
|
405
|
+
|
|
389
406
|
def test_cmd
|
|
390
407
|
actual = compile_block("//cmd{\nfoo\nbar\n\nbuz\n//}\n")
|
|
391
408
|
expected = <<-EOS
|
|
@@ -857,6 +874,20 @@ EOS
|
|
|
857
874
|
\\end{reviewimage}
|
|
858
875
|
EOS
|
|
859
876
|
assert_equal expected, actual
|
|
877
|
+
|
|
878
|
+
@book.config['pdfmaker']['use_original_image_size'] = true
|
|
879
|
+
actual = compile_block("//image[sampleimg][sample photo]{\n//}\n")
|
|
880
|
+
expected = <<-EOS
|
|
881
|
+
\\begin{reviewimage}%%sampleimg
|
|
882
|
+
\\reviewincludegraphics[ ]{./images/chap1-sampleimg.png}
|
|
883
|
+
\\reviewimagecaption{sample photo}
|
|
884
|
+
\\label{image:chap1:sampleimg}
|
|
885
|
+
\\end{reviewimage}
|
|
886
|
+
EOS
|
|
887
|
+
assert_equal expected, actual
|
|
888
|
+
|
|
889
|
+
actual = compile_block("//image[sampleimg][sample photo][]{\n//}\n")
|
|
890
|
+
assert_equal expected, actual
|
|
860
891
|
end
|
|
861
892
|
|
|
862
893
|
def test_image_with_metric
|
|
@@ -875,6 +906,10 @@ EOS
|
|
|
875
906
|
\\end{reviewimage}
|
|
876
907
|
EOS
|
|
877
908
|
assert_equal expected, actual
|
|
909
|
+
|
|
910
|
+
@book.config['pdfmaker']['use_original_image_size'] = true
|
|
911
|
+
actual = compile_block("//image[sampleimg][sample photo][scale=1.2]{\n//}\n")
|
|
912
|
+
assert_equal expected, actual
|
|
878
913
|
end
|
|
879
914
|
|
|
880
915
|
def test_image_with_metric_width
|
|
@@ -884,7 +919,7 @@ EOS
|
|
|
884
919
|
item
|
|
885
920
|
end
|
|
886
921
|
|
|
887
|
-
@config['image_scale2width'] = true
|
|
922
|
+
@config['pdfmaker']['image_scale2width'] = true
|
|
888
923
|
actual = compile_block("//image[sampleimg][sample photo][scale=1.2]{\n//}\n")
|
|
889
924
|
expected = <<-EOS
|
|
890
925
|
\\begin{reviewimage}%%sampleimg
|
|
@@ -894,6 +929,10 @@ EOS
|
|
|
894
929
|
\\end{reviewimage}
|
|
895
930
|
EOS
|
|
896
931
|
assert_equal expected, actual
|
|
932
|
+
|
|
933
|
+
@book.config['pdfmaker']['use_original_image_size'] = true
|
|
934
|
+
actual = compile_block("//image[sampleimg][sample photo][scale=1.2]{\n//}\n")
|
|
935
|
+
assert_equal expected, actual
|
|
897
936
|
end
|
|
898
937
|
|
|
899
938
|
def test_image_with_metric2
|
|
@@ -912,6 +951,10 @@ EOS
|
|
|
912
951
|
\\end{reviewimage}
|
|
913
952
|
EOS
|
|
914
953
|
assert_equal expected, actual
|
|
954
|
+
|
|
955
|
+
@book.config['pdfmaker']['use_original_image_size'] = true
|
|
956
|
+
actual = compile_block("//image[sampleimg][sample photo][scale=1.2,html::class=sample,latex::ignore=params]{\n//}\n")
|
|
957
|
+
assert_equal expected, actual
|
|
915
958
|
end
|
|
916
959
|
|
|
917
960
|
def test_image_with_metric2_width
|
|
@@ -921,7 +964,7 @@ EOS
|
|
|
921
964
|
item
|
|
922
965
|
end
|
|
923
966
|
|
|
924
|
-
@config['image_scale2width'] = true
|
|
967
|
+
@config['pdfmaker']['image_scale2width'] = true
|
|
925
968
|
actual = compile_block("//image[sampleimg][sample photo][scale=1.2,html::class=sample,latex::ignore=params]{\n//}\n")
|
|
926
969
|
expected = <<-EOS
|
|
927
970
|
\\begin{reviewimage}%%sampleimg
|
|
@@ -931,6 +974,10 @@ EOS
|
|
|
931
974
|
\\end{reviewimage}
|
|
932
975
|
EOS
|
|
933
976
|
assert_equal expected, actual
|
|
977
|
+
|
|
978
|
+
@book.config['pdfmaker']['use_original_image_size'] = true
|
|
979
|
+
actual = compile_block("//image[sampleimg][sample photo][scale=1.2,html::class=sample,latex::ignore=params]{\n//}\n")
|
|
980
|
+
assert_equal expected, actual
|
|
934
981
|
end
|
|
935
982
|
|
|
936
983
|
def test_indepimage
|
|
@@ -948,6 +995,19 @@ EOS
|
|
|
948
995
|
\\end{reviewimage}
|
|
949
996
|
EOS
|
|
950
997
|
assert_equal expected, actual
|
|
998
|
+
|
|
999
|
+
@book.config['pdfmaker']['use_original_image_size'] = true
|
|
1000
|
+
actual = compile_block("//indepimage[sampleimg][sample photo]\n")
|
|
1001
|
+
expected = <<-EOS
|
|
1002
|
+
\\begin{reviewimage}%%sampleimg
|
|
1003
|
+
\\reviewincludegraphics[ ]{./images/chap1-sampleimg.png}
|
|
1004
|
+
\\reviewindepimagecaption{図: sample photo}
|
|
1005
|
+
\\end{reviewimage}
|
|
1006
|
+
EOS
|
|
1007
|
+
assert_equal expected, actual
|
|
1008
|
+
|
|
1009
|
+
actual = compile_block("//indepimage[sampleimg][sample photo][]\n")
|
|
1010
|
+
assert_equal expected, actual
|
|
951
1011
|
end
|
|
952
1012
|
|
|
953
1013
|
def test_indepimage_without_caption
|
|
@@ -982,6 +1042,10 @@ EOS
|
|
|
982
1042
|
\\end{reviewimage}
|
|
983
1043
|
EOS
|
|
984
1044
|
assert_equal expected, actual
|
|
1045
|
+
|
|
1046
|
+
@book.config['pdfmaker']['use_original_image_size'] = true
|
|
1047
|
+
actual = compile_block("//indepimage[sampleimg][sample photo][scale=1.2]\n")
|
|
1048
|
+
assert_equal expected, actual
|
|
985
1049
|
end
|
|
986
1050
|
|
|
987
1051
|
def test_indepimage_with_metric_width
|
|
@@ -991,7 +1055,7 @@ EOS
|
|
|
991
1055
|
item
|
|
992
1056
|
end
|
|
993
1057
|
|
|
994
|
-
@config['image_scale2width'] = true
|
|
1058
|
+
@config['pdfmaker']['image_scale2width'] = true
|
|
995
1059
|
actual = compile_block("//indepimage[sampleimg][sample photo][scale=1.2]\n")
|
|
996
1060
|
expected = <<-EOS
|
|
997
1061
|
\\begin{reviewimage}%%sampleimg
|
|
@@ -1000,6 +1064,10 @@ EOS
|
|
|
1000
1064
|
\\end{reviewimage}
|
|
1001
1065
|
EOS
|
|
1002
1066
|
assert_equal expected, actual
|
|
1067
|
+
|
|
1068
|
+
@book.config['pdfmaker']['use_original_image_size'] = true
|
|
1069
|
+
actual = compile_block("//indepimage[sampleimg][sample photo][scale=1.2]\n")
|
|
1070
|
+
assert_equal expected, actual
|
|
1003
1071
|
end
|
|
1004
1072
|
|
|
1005
1073
|
def test_indepimage_with_metric2
|
|
@@ -1017,6 +1085,10 @@ EOS
|
|
|
1017
1085
|
\\end{reviewimage}
|
|
1018
1086
|
EOS
|
|
1019
1087
|
assert_equal expected, actual
|
|
1088
|
+
|
|
1089
|
+
@book.config['pdfmaker']['use_original_image_size'] = true
|
|
1090
|
+
actual = compile_block(%Q(//indepimage[sampleimg][sample photo][scale=1.2, html::class="sample",latex::ignore=params]\n))
|
|
1091
|
+
assert_equal expected, actual
|
|
1020
1092
|
end
|
|
1021
1093
|
|
|
1022
1094
|
def test_indepimage_without_caption_but_with_metric
|
|
@@ -1034,6 +1106,10 @@ EOS
|
|
|
1034
1106
|
\\end{reviewimage}
|
|
1035
1107
|
EOS
|
|
1036
1108
|
assert_equal expected, actual
|
|
1109
|
+
|
|
1110
|
+
@book.config['pdfmaker']['use_original_image_size'] = true
|
|
1111
|
+
actual = compile_block("//indepimage[sampleimg][][scale=1.2]\n")
|
|
1112
|
+
assert_equal expected, actual
|
|
1037
1113
|
end
|
|
1038
1114
|
|
|
1039
1115
|
def test_table
|
|
@@ -1190,6 +1266,93 @@ EOS
|
|
|
1190
1266
|
\\reviewincludegraphics[width=\\maxwidth]{./images/chap1-sampleimg.png}
|
|
1191
1267
|
\\end{reviewimage}
|
|
1192
1268
|
\\end{table}
|
|
1269
|
+
EOS
|
|
1270
|
+
assert_equal expected, actual
|
|
1271
|
+
|
|
1272
|
+
@book.config['pdfmaker']['use_original_image_size'] = true
|
|
1273
|
+
actual = compile_block("//imgtable[sampleimg][test for imgtable]{\n//}\n")
|
|
1274
|
+
|
|
1275
|
+
expected = <<-EOS
|
|
1276
|
+
\\begin{table}[h]%%sampleimg
|
|
1277
|
+
\\reviewimgtablecaption{test for imgtable}
|
|
1278
|
+
\\label{table:chap1:sampleimg}
|
|
1279
|
+
\\begin{reviewimage}%%sampleimg
|
|
1280
|
+
\\reviewincludegraphics[ ]{./images/chap1-sampleimg.png}
|
|
1281
|
+
\\end{reviewimage}
|
|
1282
|
+
\\end{table}
|
|
1283
|
+
EOS
|
|
1284
|
+
assert_equal expected, actual
|
|
1285
|
+
|
|
1286
|
+
actual = compile_block("//imgtable[sampleimg][test for imgtable][]{\n//}\n")
|
|
1287
|
+
assert_equal expected, actual
|
|
1288
|
+
end
|
|
1289
|
+
|
|
1290
|
+
def test_imgtable_with_metrics
|
|
1291
|
+
def @chapter.image(_id)
|
|
1292
|
+
item = Book::Index::Item.new('sampleimg', 1, 'sample img')
|
|
1293
|
+
item.instance_eval { @path = './images/chap1-sampleimg.png' }
|
|
1294
|
+
item
|
|
1295
|
+
end
|
|
1296
|
+
|
|
1297
|
+
actual = compile_block("//imgtable[sampleimg][test for imgtable][scale=1.2]{\n//}\n")
|
|
1298
|
+
expected = <<-EOS
|
|
1299
|
+
\\begin{table}[h]%%sampleimg
|
|
1300
|
+
\\reviewimgtablecaption{test for imgtable}
|
|
1301
|
+
\\label{table:chap1:sampleimg}
|
|
1302
|
+
\\begin{reviewimage}%%sampleimg
|
|
1303
|
+
\\reviewincludegraphics[scale=1.2]{./images/chap1-sampleimg.png}
|
|
1304
|
+
\\end{reviewimage}
|
|
1305
|
+
\\end{table}
|
|
1306
|
+
EOS
|
|
1307
|
+
assert_equal expected, actual
|
|
1308
|
+
|
|
1309
|
+
@book.config['pdfmaker']['use_original_image_size'] = true
|
|
1310
|
+
actual = compile_block("//imgtable[sampleimg][test for imgtable][scale=1.2]{\n//}\n")
|
|
1311
|
+
assert_equal expected, actual
|
|
1312
|
+
end
|
|
1313
|
+
|
|
1314
|
+
def test_table_row_separator
|
|
1315
|
+
src = "//table{\n1\t2\t\t3 4| 5\n------------\na b\tc d |e\n//}\n"
|
|
1316
|
+
expected = <<-EOS
|
|
1317
|
+
\\begin{reviewtable}{|l|l|l|}
|
|
1318
|
+
\\hline
|
|
1319
|
+
\\reviewth{1} & \\reviewth{2} & \\reviewth{3 4\\textbar{} 5} \\\\ \\hline
|
|
1320
|
+
a b & c d \\textbar{}e & \\\\ \\hline
|
|
1321
|
+
\\end{reviewtable}
|
|
1322
|
+
EOS
|
|
1323
|
+
actual = compile_block(src)
|
|
1324
|
+
assert_equal expected, actual
|
|
1325
|
+
|
|
1326
|
+
@config['table_row_separator'] = 'singletab'
|
|
1327
|
+
actual = compile_block(src)
|
|
1328
|
+
expected = <<-EOS
|
|
1329
|
+
\\begin{reviewtable}{|l|l|l|l|}
|
|
1330
|
+
\\hline
|
|
1331
|
+
\\reviewth{1} & \\reviewth{2} & \\reviewth{} & \\reviewth{3 4\\textbar{} 5} \\\\ \\hline
|
|
1332
|
+
a b & c d \\textbar{}e & & \\\\ \\hline
|
|
1333
|
+
\\end{reviewtable}
|
|
1334
|
+
EOS
|
|
1335
|
+
assert_equal expected, actual
|
|
1336
|
+
|
|
1337
|
+
@config['table_row_separator'] = 'spaces'
|
|
1338
|
+
actual = compile_block(src)
|
|
1339
|
+
expected = <<-EOS
|
|
1340
|
+
\\begin{reviewtable}{|l|l|l|l|l|}
|
|
1341
|
+
\\hline
|
|
1342
|
+
\\reviewth{1} & \\reviewth{2} & \\reviewth{3} & \\reviewth{4\\textbar{}} & \\reviewth{5} \\\\ \\hline
|
|
1343
|
+
a & b & c & d & \\textbar{}e \\\\ \\hline
|
|
1344
|
+
\\end{reviewtable}
|
|
1345
|
+
EOS
|
|
1346
|
+
assert_equal expected, actual
|
|
1347
|
+
|
|
1348
|
+
@config['table_row_separator'] = 'verticalbar'
|
|
1349
|
+
actual = compile_block(src)
|
|
1350
|
+
expected = <<-EOS
|
|
1351
|
+
\\begin{reviewtable}{|l|l|}
|
|
1352
|
+
\\hline
|
|
1353
|
+
\\reviewth{1 2 3 4} & \\reviewth{5} \\\\ \\hline
|
|
1354
|
+
a b c d & e \\\\ \\hline
|
|
1355
|
+
\\end{reviewtable}
|
|
1193
1356
|
EOS
|
|
1194
1357
|
assert_equal expected, actual
|
|
1195
1358
|
end
|
|
@@ -14,10 +14,10 @@ class LATEXBuidlerV2Test < Test::Unit::TestCase
|
|
|
14
14
|
'secnolevel' => 2, # for IDGXMLBuilder, EPUBBuilder
|
|
15
15
|
'toclevel' => 2,
|
|
16
16
|
'stylesheet' => nil, # for EPUBBuilder
|
|
17
|
-
'image_scale2width' => false,
|
|
18
17
|
'texcommand' => 'uplatex',
|
|
19
18
|
'review_version' => '2.0'
|
|
20
19
|
)
|
|
20
|
+
@config['pdfmaker']['image_scale2width'] = nil
|
|
21
21
|
@book = Book::Base.new
|
|
22
22
|
@book.config = @config
|
|
23
23
|
@compiler = ReVIEW::Compiler.new(@builder)
|
|
@@ -221,8 +221,10 @@ EOS
|
|
|
221
221
|
|
|
222
222
|
def test_inline_hd_chap
|
|
223
223
|
def @chapter.headline_index
|
|
224
|
-
|
|
225
|
-
Book::HeadlineIndex.new(
|
|
224
|
+
item = Book::Index::Item.new('chap1|test', [1, 1], 'te_st')
|
|
225
|
+
idx = Book::HeadlineIndex.new(self)
|
|
226
|
+
idx.add_item(item)
|
|
227
|
+
idx
|
|
226
228
|
end
|
|
227
229
|
|
|
228
230
|
@config['secnolevel'] = 3
|
|
@@ -251,9 +253,9 @@ EOS
|
|
|
251
253
|
end
|
|
252
254
|
|
|
253
255
|
def test_inline_idx_yomi
|
|
256
|
+
require 'nkf'
|
|
254
257
|
begin
|
|
255
258
|
require 'MeCab'
|
|
256
|
-
require 'nkf'
|
|
257
259
|
rescue LoadError
|
|
258
260
|
$stderr.puts 'skip test_inline_idx_yomi (cannot find MeCab)'
|
|
259
261
|
return true
|
|
@@ -760,7 +762,7 @@ EOS
|
|
|
760
762
|
item
|
|
761
763
|
end
|
|
762
764
|
|
|
763
|
-
@config['image_scale2width'] = true
|
|
765
|
+
@config['pdfmaker']['image_scale2width'] = true
|
|
764
766
|
actual = compile_block("//image[sampleimg][sample photo][scale=1.2]{\n//}\n")
|
|
765
767
|
expected = <<-EOS
|
|
766
768
|
\\begin{reviewimage}%%sampleimg
|
|
@@ -797,7 +799,7 @@ EOS
|
|
|
797
799
|
item
|
|
798
800
|
end
|
|
799
801
|
|
|
800
|
-
@config['image_scale2width'] = true
|
|
802
|
+
@config['pdfmaker']['image_scale2width'] = true
|
|
801
803
|
actual = compile_block("//image[sampleimg][sample photo][scale=1.2,html::class=sample,latex::ignore=params]{\n//}\n")
|
|
802
804
|
expected = <<-EOS
|
|
803
805
|
\\begin{reviewimage}%%sampleimg
|
|
@@ -867,7 +869,7 @@ EOS
|
|
|
867
869
|
item
|
|
868
870
|
end
|
|
869
871
|
|
|
870
|
-
@config['image_scale2width'] = true
|
|
872
|
+
@config['pdfmaker']['image_scale2width'] = true
|
|
871
873
|
actual = compile_block("//indepimage[sampleimg][sample photo][scale=1.2]\n")
|
|
872
874
|
expected = <<-EOS
|
|
873
875
|
\\begin{reviewimage}%%sampleimg
|