review 3.0.0.preview1 → 3.0.0.preview2

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 (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