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.
Files changed (98) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby-win.yml +39 -0
  3. data/.github/workflows/ruby.yml +27 -0
  4. data/.rubocop.yml +10 -7
  5. data/Dockerfile +21 -5
  6. data/NEWS.ja.md +101 -1
  7. data/NEWS.md +102 -2
  8. data/README.md +10 -7
  9. data/appveyor.yml +0 -20
  10. data/bin/review-compile +1 -1
  11. data/bin/review-validate +1 -1
  12. data/doc/config.yml.sample +12 -1
  13. data/doc/config.yml.sample-simple +1 -0
  14. data/doc/format.ja.md +16 -4
  15. data/doc/format.md +2 -1
  16. data/doc/quickstart.ja.md +40 -23
  17. data/doc/quickstart.md +33 -15
  18. data/lib/review/book/base.rb +8 -7
  19. data/lib/review/book/index.rb +50 -56
  20. data/lib/review/book/index/item.rb +1 -1
  21. data/lib/review/builder.rb +26 -4
  22. data/lib/review/compiler.rb +6 -3
  23. data/lib/review/configure.rb +5 -3
  24. data/lib/review/epubmaker.rb +15 -2
  25. data/lib/review/extentions/string.rb +0 -4
  26. data/lib/review/htmlbuilder.rb +4 -15
  27. data/lib/review/idgxmlbuilder.rb +10 -19
  28. data/lib/review/idgxmlmaker.rb +10 -3
  29. data/lib/review/init.rb +8 -1
  30. data/lib/review/latexbuilder.rb +13 -6
  31. data/lib/review/pdfmaker.rb +24 -9
  32. data/lib/review/rstbuilder.rb +2 -2
  33. data/lib/review/textmaker.rb +7 -1
  34. data/lib/review/tocparser.rb +6 -2
  35. data/lib/review/version.rb +1 -1
  36. data/lib/review/webmaker.rb +8 -1
  37. data/review.gemspec +2 -2
  38. data/samples/sample-book/src/.gitignore +1 -0
  39. data/samples/sample-book/src/config-ebook.yml +4 -0
  40. data/samples/sample-book/src/config-jlreq-ebook.yml +4 -0
  41. data/samples/sample-book/src/config.yml +1 -1
  42. data/samples/sample-book/src/lib/tasks/review.rake +10 -6
  43. data/samples/syntax-book/ch01.re +4 -2
  44. data/samples/syntax-book/ch02.re +8 -16
  45. data/samples/syntax-book/config-jlreq-lualatex.yml +4 -0
  46. data/samples/syntax-book/config-print.yml +3 -0
  47. data/samples/syntax-book/config.yml +1 -1
  48. data/samples/syntax-book/lib/tasks/review.rake +23 -8
  49. data/templates/latex/config.erb +6 -6
  50. data/templates/latex/review-jlreq/review-base.sty +14 -4
  51. data/templates/latex/review-jlreq/review-jlreq.cls +10 -1
  52. data/templates/latex/review-jlreq/review-style.sty +1 -1
  53. data/templates/latex/review-jsbook/review-base.sty +10 -0
  54. data/templates/latex/review-jsbook/review-jsbook.cls +1 -1
  55. data/templates/latex/review-jsbook/review-style.sty +1 -1
  56. data/test/assets/test_template.tex +6 -6
  57. data/test/assets/test_template_backmatter.tex +6 -6
  58. data/test/test_book.rb +8 -0
  59. data/test/test_book_chapter.rb +4 -2
  60. data/test/test_catalog.rb +1 -0
  61. data/test/test_epubmaker_cmd.rb +12 -5
  62. data/test/test_helper.rb +11 -6
  63. data/test/test_htmlbuilder.rb +80 -8
  64. data/test/test_idgxmlbuilder.rb +57 -2
  65. data/test/test_idgxmlmaker_cmd.rb +46 -0
  66. data/test/test_image_finder.rb +52 -70
  67. data/test/test_index.rb +12 -12
  68. data/test/test_latexbuilder.rb +171 -8
  69. data/test/test_latexbuilder_v2.rb +9 -7
  70. data/test/test_pdfmaker_cmd.rb +99 -5
  71. data/test/test_textmaker_cmd.rb +54 -0
  72. data/test/test_topbuilder.rb +59 -0
  73. data/vendor/jsclasses/LICENSE +1 -1
  74. data/vendor/jsclasses/jis/jsarticle.cls +53 -14
  75. data/vendor/jsclasses/jis/jsbook.cls +53 -14
  76. data/vendor/jsclasses/jis/jsclasses.dtx +84 -25
  77. data/vendor/jsclasses/jis/jslogo.dtx +4 -4
  78. data/vendor/jsclasses/jis/jslogo.sty +3 -3
  79. data/vendor/jsclasses/jis/jspf.cls +52 -13
  80. data/vendor/jsclasses/jis/jsreport.cls +53 -14
  81. data/vendor/jsclasses/jis/kiyou.cls +53 -14
  82. data/vendor/jsclasses/jis/okumacro.dtx +4 -5
  83. data/vendor/jsclasses/jis/okumacro.sty +3 -4
  84. data/vendor/jsclasses/jsarticle.cls +53 -14
  85. data/vendor/jsclasses/jsbook.cls +53 -14
  86. data/vendor/jsclasses/jsclasses.dtx +84 -25
  87. data/vendor/jsclasses/jsclasses.pdf +0 -0
  88. data/vendor/jsclasses/jslogo.dtx +4 -4
  89. data/vendor/jsclasses/jslogo.pdf +0 -0
  90. data/vendor/jsclasses/jslogo.sty +3 -3
  91. data/vendor/jsclasses/jspf.cls +52 -13
  92. data/vendor/jsclasses/jsreport.cls +53 -14
  93. data/vendor/jsclasses/kiyou.cls +53 -14
  94. data/vendor/jsclasses/okumacro.dtx +4 -5
  95. data/vendor/jsclasses/okumacro.pdf +0 -0
  96. data/vendor/jsclasses/okumacro.sty +3 -4
  97. metadata +15 -6
  98. data/samples/syntax-book/review-ext.rb +0 -14
@@ -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
@@ -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' => '3'
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
- items = [Book::Index::Item.new('chap1|test', [1, 1], 'te_st')]
251
- Book::HeadlineIndex.new(items, self)
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
- items = [Book::Index::Item.new('chap1|test', [1, 1], 'te_st')]
225
- Book::HeadlineIndex.new(items, self)
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