review 3.0.0.preview1 → 3.0.0.preview2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/NEWS.ja.md +61 -1
  3. data/NEWS.md +61 -1
  4. data/bin/review-epub2html +19 -0
  5. data/doc/config.yml.sample +24 -3
  6. data/doc/quickstart.md +1 -1
  7. data/lib/epubmaker/producer.rb +6 -1
  8. data/lib/review/book/base.rb +2 -2
  9. data/lib/review/book/index.rb +5 -1
  10. data/lib/review/book/volume.rb +1 -1
  11. data/lib/review/builder.rb +1 -1
  12. data/lib/review/compiler.rb +14 -6
  13. data/lib/review/configure.rb +1 -1
  14. data/lib/review/epub2html.rb +133 -0
  15. data/lib/review/epubmaker.rb +11 -4
  16. data/lib/review/extentions/string.rb +0 -1
  17. data/lib/review/htmlbuilder.rb +2 -2
  18. data/lib/review/i18n.rb +6 -0
  19. data/lib/review/i18n.yml +15 -3
  20. data/lib/review/idgxmlbuilder.rb +2 -2
  21. data/lib/review/init.rb +3 -3
  22. data/lib/review/latexbuilder.rb +13 -5
  23. data/lib/review/pdfmaker.rb +31 -25
  24. data/lib/review/plaintextbuilder.rb +2 -2
  25. data/lib/review/version.rb +1 -1
  26. data/review.gemspec +1 -1
  27. data/samples/LICENSE +20 -0
  28. data/{test → samples}/sample-book/README.md +0 -0
  29. data/{test → samples}/sample-book/src/Rakefile +0 -0
  30. data/{test → samples}/sample-book/src/_cover.html +0 -0
  31. data/{test → samples}/sample-book/src/catalog.yml +0 -0
  32. data/{test → samples}/sample-book/src/ch01.re +0 -0
  33. data/{test → samples}/sample-book/src/ch02.re +0 -0
  34. data/{test → samples}/sample-book/src/config-epub2.yml +0 -0
  35. data/{test → samples}/sample-book/src/config.yml +1 -1
  36. data/{test → samples}/sample-book/src/images/ch01-imgsample.jpg +0 -0
  37. data/{test → samples}/sample-book/src/images/cover.jpg +0 -0
  38. data/{test → samples}/sample-book/src/preface.re +0 -0
  39. data/{test → samples}/sample-book/src/sty/jumoline.sty +0 -0
  40. data/{test → samples}/sample-book/src/sty/reviewmacro.sty +0 -0
  41. data/{test → samples}/sample-book/src/style-web.css +0 -0
  42. data/{test/syntax-book → samples/sample-book/src}/style.css +1 -1
  43. data/{test → samples}/syntax-book/Gemfile +0 -0
  44. data/{test → samples}/syntax-book/Rakefile +0 -0
  45. data/{test → samples}/syntax-book/appA.re +0 -0
  46. data/{test → samples}/syntax-book/bib.re +0 -0
  47. data/{test → samples}/syntax-book/catalog.yml +0 -0
  48. data/{test → samples}/syntax-book/ch01.re +0 -0
  49. data/{test → samples}/syntax-book/ch02.re +0 -0
  50. data/{test → samples}/syntax-book/ch03.re +0 -0
  51. data/{test → samples}/syntax-book/config.yml +1 -1
  52. data/{test → samples}/syntax-book/images/ball.png +0 -0
  53. data/{test → samples}/syntax-book/images/cover.jpg +0 -0
  54. data/{test → samples}/syntax-book/images/fractal.png +0 -0
  55. data/{test → samples}/syntax-book/images/img3-1.png +0 -0
  56. data/{test → samples}/syntax-book/images/inlineicon.jpg +0 -0
  57. data/{test → samples}/syntax-book/images/logic.png +0 -0
  58. data/{test → samples}/syntax-book/images/logic2.png +0 -0
  59. data/{test → samples}/syntax-book/images/puzzle.jpg +0 -0
  60. data/{test → samples}/syntax-book/images/table.jpg +0 -0
  61. data/{test → samples}/syntax-book/part2.re +0 -0
  62. data/{test → samples}/syntax-book/pre01.re +0 -0
  63. data/{test → samples}/syntax-book/review-ext.rb +0 -0
  64. data/{test → samples}/syntax-book/sty/jumoline.sty +0 -0
  65. data/{test → samples}/syntax-book/sty/reviewmacro.sty +0 -0
  66. data/{test/sample-book/src → samples/syntax-book}/style.css +1 -1
  67. data/{test → samples}/syntax-book/syntax.dic +0 -0
  68. data/templates/latex/review-jlreq/review-style.sty +6 -2
  69. data/templates/latex/review-jsbook/review-base.sty +2 -7
  70. data/templates/latex/review-jsbook/review-style.sty +9 -1
  71. data/test/assets/test_template.tex +1 -1
  72. data/test/assets/test_template_backmatter.tex +1 -1
  73. data/test/test_compiler.rb +1 -3
  74. data/test/test_helper.rb +1 -1
  75. data/test/test_latexbuilder.rb +4 -2
  76. data/test/test_plaintextbuilder.rb +1 -1
  77. data/test/test_rstbuilder.rb +1 -1
  78. data/test/test_topbuilder.rb +6 -1
  79. metadata +46 -82
@@ -45,10 +45,8 @@ module ReVIEW
45
45
  @logger.warn "#{File.basename($PROGRAM_NAME, '.*')}: #{msg}"
46
46
  end
47
47
 
48
- def log(s)
49
- if @config['debug'].present?
50
- puts s
51
- end
48
+ def log(msg)
49
+ @logger.debug(msg)
52
50
  end
53
51
 
54
52
  def load_yaml(yamlfile)
@@ -64,6 +62,15 @@ module ReVIEW
64
62
  @producer.load(yamlfile)
65
63
  @config = @producer.config
66
64
  @config.maker = 'epubmaker'
65
+ update_log_level
66
+ end
67
+
68
+ def update_log_level
69
+ if @config['debug']
70
+ @logger.level = Logger::DEBUG
71
+ else
72
+ @logger.level = Logger::INFO
73
+ end
67
74
  end
68
75
 
69
76
  def build_path
@@ -4,6 +4,5 @@ if defined?(Encoding) && Encoding.respond_to?('default_external') &&
4
4
  end
5
5
 
6
6
  class String
7
- alias_method :charsize, :size
8
7
  alias_method :each, :each_line
9
8
  end
@@ -965,9 +965,9 @@ module ReVIEW
965
965
  def inline_hd_chap(chap, id)
966
966
  n = chap.headline_index.number(id)
967
967
  if chap.number and @book.config['secnolevel'] >= n.split('.').size
968
- str = I18n.t('chapter_quote', "#{n} #{compile_inline(chap.headline(id).caption)}")
968
+ str = I18n.t('hd_quote', [n, compile_inline(chap.headline(id).caption)])
969
969
  else
970
- str = I18n.t('chapter_quote', compile_inline(chap.headline(id).caption))
970
+ str = I18n.t('hd_quote_without_number', compile_inline(chap.headline(id).caption))
971
971
  end
972
972
  if @book.config['chapterlink']
973
973
  anchor = 'h' + n.gsub('.', '-')
data/lib/review/i18n.rb CHANGED
@@ -90,6 +90,12 @@ module ReVIEW
90
90
  @store[key].merge!(values)
91
91
  end
92
92
  end
93
+
94
+ # check obsolete locale parameter
95
+ s = t('chapter_quote', ['__!@!NUMBER!@!__', '__!@!TITLE!@!__'])
96
+ if s !~ /__!@!NUMBER!@!__/ || s !~ /__!@!TITLE!@!__/
97
+ ReVIEW.logger.warn %Q('chapter_quote' should take 2 '%s' (number and title).)
98
+ end
93
99
  end
94
100
 
95
101
  def update(user_i18n, locale = nil)
data/lib/review/i18n.yml CHANGED
@@ -10,7 +10,10 @@ ja:
10
10
  chapter: 第%d章
11
11
  chapter_short: "%d"
12
12
  chapter_postfix: " "
13
- chapter_quote: "「%s」"
13
+ chapter_quote: "%s「%s」"
14
+ chapter_quote_without_number: "「%s」"
15
+ hd_quote: "「%s %s」"
16
+ hd_quote_without_number: "「%s」"
14
17
  appendix: 付録%pA
15
18
  numberless_image: "図:"
16
19
  memo_head: ■メモ
@@ -72,7 +75,10 @@ en:
72
75
  chapter: Chapter %d
73
76
  chapter_short: "%d"
74
77
  chapter_postfix: ". "
75
- chapter_quote: '"%s"'
78
+ chapter_quote: '%s "%s"'
79
+ chapter_quote_without_number: '"%s"'
80
+ hd_quote: '"%s %s"'
81
+ hd_quote_without_number: '"%s"'
76
82
  appendix: Appendix %s
77
83
  numberless_image: "Figure:"
78
84
  memo_head: Note
@@ -126,12 +132,18 @@ zh-TW:
126
132
  image: 圖
127
133
  table: 表
128
134
  list: List
135
+ column: "Column %s"
136
+ columnname: "Column"
137
+ column_head: "Column"
129
138
  part: 第%pR部份
130
139
  part_short: "%pR"
131
140
  chapter: 第%d章
132
141
  chapter_short: "%d"
133
142
  chapter_postfix: " "
134
- chapter_quote: "「%s」"
143
+ chapter_quote: "%s「%s」"
144
+ chapter_quote_without_number: "「%s」"
145
+ hd_quote: "「%s %s」"
146
+ hd_quote_without_number: "「%s」"
135
147
  appendix: 附錄%s
136
148
  numberless_image: "圖:"
137
149
  format_number: "%s.%d"
@@ -1143,10 +1143,10 @@ module ReVIEW
1143
1143
  if chap.number
1144
1144
  n = chap.headline_index.number(id)
1145
1145
  if @book.config['secnolevel'] >= n.split('.').size
1146
- return I18n.t('chapter_quote', "#{n} #{compile_inline(chap.headline(id).caption)}")
1146
+ return I18n.t('hd_quote', [n, compile_inline(chap.headline(id).caption)])
1147
1147
  end
1148
1148
  end
1149
- I18n.t('chapter_quote', compile_inline(chap.headline(id).caption))
1149
+ I18n.t('hd_quote_without_number', compile_inline(chap.headline(id).caption))
1150
1150
  rescue KeyError
1151
1151
  error "unknown headline: #{id}"
1152
1152
  end
data/lib/review/init.rb CHANGED
@@ -123,7 +123,7 @@ EOS
123
123
  end
124
124
 
125
125
  def generate_cover_image(dir)
126
- FileUtils.cp(@review_dir + '/test/sample-book/src/images/cover.jpg',
126
+ FileUtils.cp(@review_dir + '/samples/sample-book/src/images/cover.jpg',
127
127
  dir + '/images/')
128
128
  end
129
129
 
@@ -143,7 +143,7 @@ EOS
143
143
  end
144
144
 
145
145
  def generate_style(dir)
146
- FileUtils.cp @review_dir + '/test/sample-book/src/style.css', dir
146
+ FileUtils.cp @review_dir + '/samples/sample-book/src/style.css', dir
147
147
  end
148
148
 
149
149
  def generate_texmacro(dir)
@@ -165,7 +165,7 @@ end
165
165
  EOS
166
166
  end
167
167
 
168
- FileUtils.cp(@review_dir + '/test/sample-book/src/Rakefile',
168
+ FileUtils.cp(@review_dir + '/samples/sample-book/src/Rakefile',
169
169
  dir + '/lib/tasks/review.rake')
170
170
  end
171
171
 
@@ -601,7 +601,11 @@ module ReVIEW
601
601
  if caption.present?
602
602
  @table_caption = true
603
603
  @doc_status[:caption] = true
604
- puts "\\begin{table}[h]%%#{id}"
604
+ if @book.config.check_version('2', exception: false)
605
+ puts "\\begin{table}[h]%%#{id}"
606
+ else
607
+ puts "\\begin{table}%%#{id}"
608
+ end
605
609
  puts macro('reviewtablecaption*', compile_inline(caption))
606
610
  @doc_status[:caption] = nil
607
611
  end
@@ -609,7 +613,11 @@ module ReVIEW
609
613
  if caption.present?
610
614
  @table_caption = true
611
615
  @doc_status[:caption] = true
612
- puts "\\begin{table}[h]%%#{id}"
616
+ if @book.config.check_version('2', exception: false)
617
+ puts "\\begin{table}[h]%%#{id}"
618
+ else
619
+ puts "\\begin{table}%%#{id}"
620
+ end
613
621
  puts macro('reviewtablecaption', compile_inline(caption))
614
622
  @doc_status[:caption] = nil
615
623
  end
@@ -984,9 +992,9 @@ module ReVIEW
984
992
  def inline_hd_chap(chap, id)
985
993
  n = chap.headline_index.number(id)
986
994
  if chap.number and @book.config['secnolevel'] >= n.split('.').size
987
- str = I18n.t('chapter_quote', "#{chap.headline_index.number(id)} #{compile_inline(chap.headline(id).caption)}")
995
+ str = I18n.t('hd_quote', [chap.headline_index.number(id), compile_inline(chap.headline(id).caption)])
988
996
  else
989
- str = I18n.t('chapter_quote', compile_inline(chap.headline(id).caption))
997
+ str = I18n.t('hd_quote_without_number', compile_inline(chap.headline(id).caption))
990
998
  end
991
999
  if @book.config['chapterlink']
992
1000
  anchor = n.gsub(/\./, '-')
@@ -998,7 +1006,7 @@ module ReVIEW
998
1006
 
999
1007
  def inline_column_chap(chapter, id)
1000
1008
  macro('reviewcolumnref',
1001
- I18n.t('chapter_quote', compile_inline(chapter.column(id).caption)),
1009
+ I18n.t('column', compile_inline(chapter.column(id).caption)),
1002
1010
  column_label(id, chapter))
1003
1011
  rescue KeyError
1004
1012
  error "unknown column: #{id}"
@@ -11,6 +11,7 @@ require 'fileutils'
11
11
  require 'erb'
12
12
  require 'tmpdir'
13
13
  require 'open3'
14
+ require 'shellwords'
14
15
 
15
16
  require 'review/i18n'
16
17
  require 'review/book'
@@ -27,13 +28,13 @@ module ReVIEW
27
28
  include FileUtils
28
29
  include ReVIEW::LaTeXUtils
29
30
 
30
- attr_accessor :config, :basedir, :basehookdir
31
+ attr_accessor :config, :basedir
31
32
 
32
33
  def initialize
33
34
  @basedir = nil
34
- @basehookdir = nil
35
35
  @logger = ReVIEW.logger
36
36
  @input_files = Hash.new { |h, key| h[key] = '' }
37
+ @mastertex = '__REVIEW_BOOK__'
37
38
  end
38
39
 
39
40
  def system_with_info(*args)
@@ -133,8 +134,7 @@ module ReVIEW
133
134
  # YAML configs will be overridden by command line options.
134
135
  @config.deep_merge!(cmd_config)
135
136
  I18n.setup(@config['language'])
136
- @basedir = File.dirname(yamlfile)
137
- @basehookdir = File.absolute_path(File.dirname(yamlfile))
137
+ @basedir = File.absolute_path(File.dirname(yamlfile))
138
138
 
139
139
  begin
140
140
  @config.check_version(ReVIEW::VERSION)
@@ -178,7 +178,7 @@ module ReVIEW
178
178
  def build_pdf
179
179
  template = template_content
180
180
  Dir.chdir(@path) do
181
- File.open('./book.tex', 'wb') { |f| f.write(template) }
181
+ File.open("./#{@mastertex}.tex", 'wb') { |f| f.write(template) }
182
182
 
183
183
  call_hook('hook_beforetexcompile')
184
184
 
@@ -187,47 +187,53 @@ module ReVIEW
187
187
  warn 'command configuration is prohibited in safe mode. ignored.'
188
188
  texcommand = ReVIEW::Configure.values['texcommand']
189
189
  dvicommand = ReVIEW::Configure.values['dvicommand']
190
- dvioptions = ReVIEW::Configure.values['dvioptions']
191
- texoptions = ReVIEW::Configure.values['texoptions']
190
+ dvioptions = ReVIEW::Configure.values['dvioptions'].shellsplit
191
+ texoptions = ReVIEW::Configure.values['texoptions'].shellsplit
192
192
  makeindex_command = ReVIEW::Configure.values['pdfmaker']['makeindex_command']
193
- makeindex_options = ReVIEW::Configure.values['pdfmaker']['makeindex_options']
193
+ makeindex_options = ReVIEW::Configure.values['pdfmaker']['makeindex_options'].shellsplit
194
194
  makeindex_sty = ReVIEW::Configure.values['pdfmaker']['makeindex_sty']
195
195
  makeindex_dic = ReVIEW::Configure.values['pdfmaker']['makeindex_dic']
196
196
  else
197
- texcommand = @config['texcommand'] if @config['texcommand']
198
- dvicommand = @config['dvicommand'] if @config['dvicommand']
199
- dvioptions = @config['dvioptions'] if @config['dvioptions']
200
- texoptions = @config['texoptions'] if @config['texoptions']
197
+ unless @config['texcommand'].present?
198
+ error "texcommand isn't defined."
199
+ end
200
+ texcommand = @config['texcommand']
201
+ dvicommand = @config['dvicommand']
202
+ @config['dvioptions'] = '' unless @config['dvioptions']
203
+ dvioptions = @config['dvioptions'].shellsplit
204
+ @config['texoptions'] = '' unless @config['texoptions']
205
+ texoptions = @config['texoptions'].shellsplit
201
206
  makeindex_command = @config['pdfmaker']['makeindex_command']
202
- makeindex_options = @config['pdfmaker']['makeindex_options']
207
+ @config['pdfmaker']['makeindex_options'] = '' unless @config['pdfmaker']['makeindex_options']
208
+ makeindex_options = @config['pdfmaker']['makeindex_options'].shellsplit
203
209
  makeindex_sty = @config['pdfmaker']['makeindex_sty']
204
210
  makeindex_dic = @config['pdfmaker']['makeindex_dic']
205
211
  end
206
212
 
207
213
  if makeindex_sty.present?
208
214
  makeindex_sty = File.absolute_path(makeindex_sty, @basedir)
209
- makeindex_options += " -s #{makeindex_sty}" if File.exist?(makeindex_sty)
215
+ makeindex_options += ['-s', makeindex_sty] if File.exist?(makeindex_sty)
210
216
  end
211
217
  if makeindex_dic.present?
212
218
  makeindex_dic = File.absolute_path(makeindex_dic, @basedir)
213
- makeindex_options += " -d #{makeindex_dic}" if File.exist?(makeindex_dic)
219
+ makeindex_options += ['-d', makeindex_dic] if File.exist?(makeindex_dic)
214
220
  end
215
221
 
216
222
  2.times do
217
- system_or_raise("#{texcommand} #{texoptions} book.tex")
223
+ system_or_raise(*[texcommand, texoptions, "#{@mastertex}.tex"].flatten.compact)
218
224
  end
219
225
 
220
226
  call_hook('hook_beforemakeindex')
221
- if @config['pdfmaker']['makeindex'] && File.exist?('book.idx')
222
- system_or_raise("#{makeindex_command} #{makeindex_options} book")
227
+ if @config['pdfmaker']['makeindex'] && File.exist?("#{@mastertex}.idx")
228
+ system_or_raise(*[makeindex_command, makeindex_options, @mastertex].flatten.compact)
223
229
  end
224
230
  call_hook('hook_aftermakeindex')
225
231
 
226
- system_or_raise("#{texcommand} #{texoptions} book.tex")
232
+ system_or_raise(*[texcommand, texoptions, "#{@mastertex}.tex"].flatten.compact)
227
233
  call_hook('hook_aftertexcompile')
228
234
 
229
- if File.exist?('book.dvi')
230
- system_or_raise("#{dvicommand} #{dvioptions} book.dvi")
235
+ if File.exist?("#{@mastertex}.dvi") && dvicommand.present?
236
+ system_or_raise(*[dvicommand, dvioptions, "#{@mastertex}.dvi"].flatten.compact)
231
237
  call_hook('hook_afterdvipdf')
232
238
  end
233
239
  end
@@ -240,7 +246,7 @@ module ReVIEW
240
246
  begin
241
247
  @compile_errors = nil
242
248
 
243
- book = ReVIEW::Book.load(@basedir)
249
+ book = ReVIEW::Book.load(File.dirname(yamlfile))
244
250
  book.config = @config
245
251
  @converter = ReVIEW::Converter.new(book, ReVIEW::LATEXBuilder.new)
246
252
 
@@ -262,7 +268,7 @@ module ReVIEW
262
268
 
263
269
  build_pdf
264
270
 
265
- FileUtils.cp(File.join(@path, 'book.pdf'), pdf_filepath)
271
+ FileUtils.cp(File.join(@path, "#{@mastertex}.pdf"), pdf_filepath)
266
272
  ensure
267
273
  remove_entry_secure @path unless @config['debug']
268
274
  end
@@ -471,11 +477,11 @@ module ReVIEW
471
477
 
472
478
  def call_hook(hookname)
473
479
  return if !@config['pdfmaker'].is_a?(Hash) || @config['pdfmaker'][hookname].nil?
474
- hook = File.absolute_path(@config['pdfmaker'][hookname], @basehookdir)
480
+ hook = File.absolute_path(@config['pdfmaker'][hookname], @basedir)
475
481
  if ENV['REVIEW_SAFE_MODE'].to_i & 1 > 0
476
482
  warn 'hook configuration is prohibited in safe mode. ignored.'
477
483
  else
478
- system_or_raise("#{hook} #{Dir.pwd} #{@basehookdir}")
484
+ system_or_raise(hook, Dir.pwd, @basedir)
479
485
  end
480
486
  end
481
487
  end
@@ -391,10 +391,10 @@ module ReVIEW
391
391
  if chap.number
392
392
  n = chap.headline_index.number(id)
393
393
  if @book.config['secnolevel'] >= n.split('.').size
394
- return I18n.t('chapter_quote', "#{n} #{compile_inline(chap.headline(id).caption)}")
394
+ return I18n.t('hd_quote', [n, compile_inline(chap.headline(id).caption)])
395
395
  end
396
396
  end
397
- I18n.t('chapter_quote', compile_inline(chap.headline(id).caption))
397
+ I18n.t('hd_quote_without_number', compile_inline(chap.headline(id).caption))
398
398
  rescue KeyError
399
399
  error "unknown headline: #{id}"
400
400
  end
@@ -1,3 +1,3 @@
1
1
  module ReVIEW
2
- VERSION = '3.0.0.preview1'.freeze
2
+ VERSION = '3.0.0.preview2'.freeze
3
3
  end
data/review.gemspec CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |gem|
12
12
  gem.summary = 'Re:VIEW: a easy-to-use digital publishing system'
13
13
  gem.description = 'Re:VIEW is a digital publishing system for books and ebooks. It supports InDesign, EPUB and LaTeX.'
14
14
  gem.required_rubygems_version = Gem::Requirement.new('>= 0') if gem.respond_to? :required_rubygems_version=
15
- gem.date = '2018-06-30'
15
+ gem.date = '2018-09-03'
16
16
 
17
17
  gem.files = `git ls-files`.split("\n")
18
18
  gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
data/samples/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2006-2018 Minero Aoki, Kenshi Muto, Masayoshi Takahashi, Masanori Kado.
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in
11
+ all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ THE SOFTWARE.
20
+
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -55,7 +55,7 @@ epubmaker:
55
55
 
56
56
  pdfmaker:
57
57
  texstyle: ["reviewmacro"]
58
- # texdocumentclass: ["jsbook", "uplatex,oneside"]
58
+ # texdocumentclass: ["jsbook", "uplatex,twoside"]
59
59
  # texcommand: "uplatex"
60
60
  # texoptions: null
61
61
  # dvicommand: "dvipdfmx"
File without changes
File without changes
File without changes
File without changes
@@ -66,7 +66,7 @@ p {
66
66
  line-height: 1.6;
67
67
  }
68
68
  div.lead p {
69
- color: #666;
69
+ color: #666;
70
70
  line-height: 1.6;
71
71
  font-size: 0.75em;
72
72
  }
File without changes
File without changes