review 4.0.0 → 4.1.0

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