review 3.2.0 → 5.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (282) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby-tex.yml +31 -0
  3. data/.github/workflows/ruby-win.yml +45 -0
  4. data/.github/workflows/ruby.yml +27 -0
  5. data/.rubocop.yml +167 -42
  6. data/.travis.yml +1 -1
  7. data/Dockerfile +21 -5
  8. data/NEWS.ja.md +428 -1
  9. data/NEWS.md +429 -2
  10. data/README.md +11 -7
  11. data/Rakefile +7 -2
  12. data/appveyor.yml +0 -20
  13. data/bin/review +2 -4
  14. data/bin/review-catalog-converter +5 -5
  15. data/bin/review-check +13 -17
  16. data/bin/review-checkdep +3 -6
  17. data/bin/review-compile +13 -22
  18. data/bin/review-epub2html +1 -4
  19. data/bin/review-epubmaker +3 -4
  20. data/bin/review-idgxmlmaker +14 -0
  21. data/bin/review-index +5 -86
  22. data/bin/review-init +1 -4
  23. data/bin/review-pdfmaker +1 -3
  24. data/bin/review-preproc +11 -13
  25. data/bin/review-textmaker +1 -3
  26. data/bin/review-update +1 -4
  27. data/bin/review-validate +7 -7
  28. data/bin/review-vol +5 -82
  29. data/bin/review-webmaker +1 -3
  30. data/doc/config.yml.sample +67 -16
  31. data/doc/config.yml.sample-simple +4 -3
  32. data/doc/format.ja.md +133 -21
  33. data/doc/format.md +135 -34
  34. data/doc/makeindex.ja.md +2 -2
  35. data/doc/pdfmaker.ja.md +43 -1
  36. data/doc/pdfmaker.md +42 -1
  37. data/doc/quickstart.ja.md +55 -25
  38. data/doc/quickstart.md +47 -17
  39. data/lib/review.rb +1 -1
  40. data/lib/review/book.rb +2 -2
  41. data/lib/review/book/base.rb +89 -90
  42. data/lib/review/book/bib.rb +21 -0
  43. data/lib/review/book/book_unit.rb +158 -0
  44. data/lib/review/book/chapter.rb +51 -29
  45. data/lib/review/book/index.rb +42 -248
  46. data/lib/review/book/index/item.rb +46 -0
  47. data/lib/review/book/page_metric.rb +7 -7
  48. data/lib/review/book/part.rb +45 -10
  49. data/lib/review/book/volume.rb +5 -5
  50. data/lib/review/builder.rb +171 -54
  51. data/lib/review/call_hook.rb +20 -0
  52. data/lib/review/catalog.rb +15 -17
  53. data/lib/review/compiler.rb +240 -102
  54. data/lib/review/configure.rb +101 -12
  55. data/lib/review/converter.rb +1 -1
  56. data/lib/review/epub2html.rb +6 -1
  57. data/lib/review/epubmaker.rb +120 -118
  58. data/lib/review/epubmaker/content.rb +113 -0
  59. data/lib/review/epubmaker/epubcommon.rb +372 -0
  60. data/lib/review/epubmaker/epubv2.rb +178 -0
  61. data/lib/review/epubmaker/epubv3.rb +231 -0
  62. data/lib/review/epubmaker/producer.rb +168 -0
  63. data/lib/review/epubmaker/reviewheaderlistener.rb +12 -2
  64. data/lib/review/epubmaker/zip_exporter.rb +84 -0
  65. data/lib/review/exception.rb +6 -0
  66. data/lib/review/extentions/string.rb +0 -4
  67. data/lib/review/htmlbuilder.rb +147 -149
  68. data/lib/review/htmlutils.rb +10 -14
  69. data/lib/review/i18n.rb +4 -3
  70. data/lib/review/idgxmlbuilder.rb +229 -103
  71. data/lib/review/idgxmlmaker.rb +188 -0
  72. data/lib/review/img_math.rb +245 -0
  73. data/lib/review/index_builder.rb +654 -0
  74. data/lib/review/init-web/finish.html +10 -0
  75. data/lib/review/init-web/index.html +190 -0
  76. data/lib/review/init-web/review-layout-design.js +691 -0
  77. data/lib/review/init.rb +124 -41
  78. data/lib/review/latexbox.rb +58 -0
  79. data/lib/review/latexbuilder.rb +249 -97
  80. data/lib/review/latexutils.rb +9 -1
  81. data/lib/review/lineinput.rb +113 -3
  82. data/lib/review/logger.rb +43 -8
  83. data/lib/review/makerhelper.rb +13 -186
  84. data/lib/review/markdownbuilder.rb +75 -39
  85. data/lib/review/md2inaobuilder.rb +3 -5
  86. data/lib/review/pdfmaker.rb +88 -83
  87. data/lib/review/plaintextbuilder.rb +158 -83
  88. data/lib/review/preprocessor.rb +30 -24
  89. data/lib/review/rstbuilder.rb +58 -39
  90. data/lib/review/sec_counter.rb +14 -0
  91. data/lib/review/template.rb +6 -0
  92. data/lib/review/textmaker.rb +29 -17
  93. data/lib/review/textutils.rb +68 -2
  94. data/lib/review/tocprinter.rb +242 -97
  95. data/lib/review/topbuilder.rb +147 -61
  96. data/lib/review/update.rb +27 -28
  97. data/lib/review/version.rb +1 -1
  98. data/lib/review/volumeprinter.rb +97 -0
  99. data/lib/review/webmaker.rb +36 -35
  100. data/lib/review/webtocprinter.rb +39 -35
  101. data/lib/review/yamlloader.rb +4 -0
  102. data/review.gemspec +8 -5
  103. data/samples/sample-book/README.md +7 -2
  104. data/samples/sample-book/src/.gitignore +154 -0
  105. data/samples/sample-book/src/config-ebook.yml +4 -0
  106. data/samples/sample-book/src/config-epub2.yml +1 -1
  107. data/samples/sample-book/src/config-jlreq-ebook.yml +4 -0
  108. data/samples/sample-book/src/config-jlreq.yml +6 -0
  109. data/samples/sample-book/src/config.yml +3 -3
  110. data/samples/sample-book/src/lib/tasks/review.rake +45 -14
  111. data/samples/sample-book/src/lib/tasks/z01_copy_sty.rake +14 -8
  112. data/samples/syntax-book/Gemfile +1 -1
  113. data/samples/syntax-book/ch01.re +3 -1
  114. data/samples/syntax-book/ch02.re +28 -21
  115. data/samples/syntax-book/ch03.re +4 -7
  116. data/samples/syntax-book/config-jlreq-lualatex.yml +4 -0
  117. data/samples/syntax-book/config-jlreq.yml +5 -0
  118. data/samples/syntax-book/config-print.yml +3 -0
  119. data/samples/syntax-book/config.yml +1 -1
  120. data/samples/syntax-book/images/img3-2.png +0 -0
  121. data/samples/syntax-book/lib/tasks/review.rake +30 -15
  122. data/samples/syntax-book/lib/tasks/z01_copy_sty.rake +14 -8
  123. data/templates/html/_colophon.html.erb +23 -0
  124. data/templates/html/_colophon_history.html.erb +9 -0
  125. data/templates/html/_cover.html.erb +10 -0
  126. data/templates/html/_part_body.html.erb +6 -0
  127. data/templates/html/_titlepage.html.erb +20 -0
  128. data/templates/html/layout-html5.html.erb +6 -0
  129. data/templates/html/layout-xhtml1.html.erb +6 -0
  130. data/templates/latex/config.erb +45 -27
  131. data/templates/latex/layout.tex.erb +1 -0
  132. data/templates/latex/review-jlreq/README.md +3 -1
  133. data/templates/latex/review-jlreq/review-base.sty +124 -37
  134. data/templates/latex/review-jlreq/review-jlreq.cls +29 -22
  135. data/templates/latex/review-jlreq/review-style.sty +9 -1
  136. data/templates/latex/review-jlreq/review-tcbox.sty +348 -0
  137. data/templates/latex/review-jlreq/reviewmacro.sty +5 -0
  138. data/templates/latex/review-jsbook/README.md +46 -5
  139. data/templates/latex/review-jsbook/review-base.sty +111 -30
  140. data/templates/latex/review-jsbook/review-jsbook.cls +16 -2
  141. data/templates/latex/review-jsbook/review-style.sty +10 -2
  142. data/templates/latex/review-jsbook/review-tcbox.sty +348 -0
  143. data/templates/latex/review-jsbook/reviewmacro.sty +5 -0
  144. data/templates/opf/epubv2.opf.erb +7 -7
  145. data/templates/opf/epubv3.opf.erb +7 -7
  146. data/templates/opf/opf_manifest_epubv2.opf.erb +10 -0
  147. data/templates/opf/opf_manifest_epubv3.opf.erb +10 -0
  148. data/templates/opf/opf_metainfo_epubv2.opf.erb +17 -0
  149. data/templates/opf/opf_metainfo_epubv3.opf.erb +49 -0
  150. data/templates/opf/opf_tocx_epubv2.opf.erb +9 -0
  151. data/templates/opf/opf_tocx_epubv3.opf.erb +17 -0
  152. data/templates/web/html/layout-html5.html.erb +9 -8
  153. data/templates/web/html/layout-xhtml1.html.erb +6 -0
  154. data/test/assets/header_listener.html +35 -0
  155. data/test/assets/img_math/img1.png +0 -0
  156. data/test/assets/img_math/img2.png +0 -0
  157. data/test/assets/img_math/img3.png +0 -0
  158. data/test/assets/syntax_book_index_detail.txt +58 -0
  159. data/test/assets/test_template.tex +20 -9
  160. data/test/assets/test_template_backmatter.tex +20 -9
  161. data/test/book_test_helper.rb +11 -5
  162. data/test/run_test.rb +1 -1
  163. data/test/test_book.rb +123 -78
  164. data/test/test_book_chapter.rb +99 -56
  165. data/test/test_book_part.rb +3 -3
  166. data/test/test_builder.rb +24 -15
  167. data/test/test_catalog.rb +19 -42
  168. data/test/test_catalog_converter_cmd.rb +1 -1
  169. data/test/test_converter.rb +1 -0
  170. data/test/test_epub3maker.rb +170 -126
  171. data/test/test_epubmaker.rb +249 -129
  172. data/test/test_epubmaker_cmd.rb +16 -9
  173. data/test/test_helper.rb +23 -11
  174. data/test/test_htmlbuilder.rb +1083 -114
  175. data/test/test_htmlutils.rb +0 -12
  176. data/test/test_i18n.rb +37 -37
  177. data/test/test_idgxmlbuilder.rb +627 -27
  178. data/test/test_idgxmlmaker_cmd.rb +50 -0
  179. data/test/test_image_finder.rb +52 -70
  180. data/test/test_img_math.rb +111 -0
  181. data/test/test_index.rb +62 -52
  182. data/test/test_indexbuilder.rb +52 -0
  183. data/test/test_latexbuilder.rb +1189 -59
  184. data/test/test_latexbuilder_v2.rb +74 -34
  185. data/test/test_lineinput.rb +20 -93
  186. data/test/test_logger.rb +17 -4
  187. data/test/test_makerhelper.rb +2 -14
  188. data/test/test_markdownbuilder.rb +77 -4
  189. data/test/test_md2inaobuilder.rb +12 -2
  190. data/test/test_pdfmaker.rb +101 -12
  191. data/test/test_pdfmaker_cmd.rb +102 -8
  192. data/test/test_plaintextbuilder.rb +562 -31
  193. data/test/test_review_ext.rb +2 -1
  194. data/test/test_reviewheaderlistener.rb +49 -0
  195. data/test/test_rstbuilder.rb +58 -5
  196. data/test/test_sec_counter.rb +156 -0
  197. data/test/test_template.rb +12 -2
  198. data/test/test_textmaker_cmd.rb +58 -0
  199. data/test/test_textutils.rb +109 -2
  200. data/test/test_tocprinter.rb +46 -0
  201. data/test/test_topbuilder.rb +400 -17
  202. data/test/test_update.rb +53 -44
  203. data/test/test_webtocprinter.rb +75 -43
  204. data/test/test_yamlloader.rb +13 -0
  205. data/test/test_zip_exporter.rb +5 -6
  206. data/vendor/gentombow/LICENSE +1 -1
  207. data/vendor/gentombow/Makefile +0 -1
  208. data/vendor/gentombow/bounddvi-en.pdf +0 -0
  209. data/vendor/gentombow/bounddvi-en.tex +1 -0
  210. data/vendor/gentombow/bounddvi.pdf +0 -0
  211. data/vendor/gentombow/bounddvi.sty +30 -7
  212. data/vendor/gentombow/bounddvi.tex +1 -0
  213. data/vendor/gentombow/create_archive.sh +1 -0
  214. data/vendor/gentombow/gentombow-ja.pdf +0 -0
  215. data/vendor/gentombow/gentombow-ja.tex +9 -0
  216. data/vendor/gentombow/gentombow.pdf +0 -0
  217. data/vendor/gentombow/gentombow.sty +32 -10
  218. data/vendor/gentombow/gentombow.tex +8 -0
  219. data/vendor/gentombow/tests/gentombow-01-pdfx.tex +8 -0
  220. data/vendor/gentombow/tests/gentombow-02-pdfx.tex +8 -0
  221. data/vendor/jsclasses/LICENSE +1 -1
  222. data/vendor/jsclasses/Makefile +3 -2
  223. data/vendor/jsclasses/create_archive.sh +5 -5
  224. data/vendor/jsclasses/jis/Makefile +3 -2
  225. data/vendor/jsclasses/jis/jsarticle.cls +74 -31
  226. data/vendor/jsclasses/jis/jsbook.cls +74 -31
  227. data/vendor/jsclasses/jis/jsclasses.dtx +176 -36
  228. data/vendor/jsclasses/jis/jsclasses.ins +15 -5
  229. data/vendor/jsclasses/jis/jslogo.dtx +4 -4
  230. data/vendor/jsclasses/jis/jslogo.ins +9 -0
  231. data/vendor/jsclasses/jis/jslogo.sty +4 -16
  232. data/vendor/jsclasses/jis/jspf.cls +73 -30
  233. data/vendor/jsclasses/jis/jsreport.cls +74 -31
  234. data/vendor/jsclasses/jis/jsverb.ins +9 -0
  235. data/vendor/jsclasses/jis/jsverb.sty +1 -13
  236. data/vendor/jsclasses/jis/kiyou.cls +74 -31
  237. data/vendor/jsclasses/jis/minijs.sty +65 -22
  238. data/vendor/jsclasses/jis/okumacro.dtx +4 -5
  239. data/vendor/jsclasses/jis/okumacro.ins +9 -0
  240. data/vendor/jsclasses/jis/okumacro.sty +4 -17
  241. data/vendor/jsclasses/jis/okuverb.ins +9 -0
  242. data/vendor/jsclasses/jis/okuverb.sty +1 -13
  243. data/vendor/jsclasses/jis/winjis.sty +23 -19
  244. data/vendor/jsclasses/jsarticle.cls +74 -31
  245. data/vendor/jsclasses/jsbook.cls +74 -31
  246. data/vendor/jsclasses/jsclasses.dtx +176 -36
  247. data/vendor/jsclasses/jsclasses.ins +15 -5
  248. data/vendor/jsclasses/jsclasses.pdf +0 -0
  249. data/vendor/jsclasses/jslogo.dtx +4 -4
  250. data/vendor/jsclasses/jslogo.ins +9 -0
  251. data/vendor/jsclasses/jslogo.pdf +0 -0
  252. data/vendor/jsclasses/jslogo.sty +4 -16
  253. data/vendor/jsclasses/jspf.cls +73 -30
  254. data/vendor/jsclasses/jsreport.cls +74 -31
  255. data/vendor/jsclasses/jsverb.ins +9 -0
  256. data/vendor/jsclasses/jsverb.pdf +0 -0
  257. data/vendor/jsclasses/jsverb.sty +1 -13
  258. data/vendor/jsclasses/kiyou.cls +74 -31
  259. data/vendor/jsclasses/minijs.sty +68 -22
  260. data/vendor/jsclasses/okumacro.dtx +4 -5
  261. data/vendor/jsclasses/okumacro.ins +9 -0
  262. data/vendor/jsclasses/okumacro.pdf +0 -0
  263. data/vendor/jsclasses/okumacro.sty +4 -17
  264. data/vendor/jsclasses/okuverb.ins +9 -0
  265. data/vendor/jsclasses/okuverb.pdf +0 -0
  266. data/vendor/jsclasses/okuverb.sty +1 -13
  267. data/vendor/jsclasses/tests/relfont.tex +10 -0
  268. data/vendor/jsclasses/winjis.sty +23 -19
  269. metadata +136 -23
  270. data/.rubocop_todo.yml +0 -7
  271. data/lib/epubmaker.rb +0 -23
  272. data/lib/epubmaker/content.rb +0 -110
  273. data/lib/epubmaker/epubcommon.rb +0 -441
  274. data/lib/epubmaker/epubv2.rb +0 -143
  275. data/lib/epubmaker/epubv3.rb +0 -233
  276. data/lib/epubmaker/producer.rb +0 -375
  277. data/lib/epubmaker/zip_exporter.rb +0 -81
  278. data/lib/lineinput.rb +0 -155
  279. data/lib/review/book/compilable.rb +0 -173
  280. data/lib/review/tocparser.rb +0 -271
  281. data/samples/syntax-book/review-ext.rb +0 -14
  282. data/test/test_tocparser.rb +0 -25
@@ -18,16 +18,13 @@
18
18
  puts "Re:VIEW is #{impression}."
19
19
  //}
20
20
 
21
- @<raw>{/}/image[img3-1][適当に作ったコラム内画像]{
22
- はTeXでは現状、エラーになります。
23
-
24
- //indepimage[img3-1][適当に作ったコラム内画像]{
21
+ //image[img3-1][適当に作ったコラム内画像]{
25
22
  //}
26
23
 
27
- @<raw>{/}/table[tab3-1][コラム表]{
28
- もだめですね。
24
+ //indepimage[img3-2][適当に作ったコラム内画像]{
25
+ //}
29
26
 
30
- //table{
27
+ //table[tab3-1][コラム表]{
31
28
  A B
32
29
  ---------------------
33
30
  C D
@@ -0,0 +1,4 @@
1
+ # call me by 'REVIEW_TEMPLATE=review-jlreq REVIEW_CONFIG_FILE=config-jlreq-lualatex.yml rake pdf'
2
+ inherit: ["config-jlreq.yml"]
3
+ texcommand: "lualatex"
4
+ dvicommand: null
@@ -0,0 +1,5 @@
1
+ # call me by 'REVIEW_TEMPLATE=review-jlreq REVIEW_CONFIG_FILE=config-jlreq.yml rake pdf'
2
+ inherit: ["config.yml"]
3
+ # texdocumentclass: ["review-jlreq", "media=print,paper=b5"]
4
+ texdocumentclass: ["review-jlreq", "media=ebook,paper=b5"]
5
+ # texdocumentclass: ["review-jlreq", "media=print,paper=b5,bleed_margin=3mm,cover=true,Q=14,startpage=3,serial_pagination=true,hiddenfolio=nikko-pc"]
@@ -0,0 +1,3 @@
1
+ # call me by 'REVIEW_CONFIG_FILE=config-print.yml rake pdf'
2
+ inherit: ["config.yml"]
3
+ texdocumentclass: ["review-jsbook", "media=print,paper=b5"]
@@ -1,4 +1,4 @@
1
- review_version: 3.0
1
+ review_version: 5.0
2
2
  bookname: syntax-book
3
3
  language: ja
4
4
  booktitle: {name: "Re:VIEW文法使用例", file-as: "リビューブンポウシヨウレイ"}
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2006-2018 Minero Aoki, Kenshi Muto, Masayoshi Takahashi, Masanori Kado.
1
+ # Copyright (c) 2006-2020 Minero Aoki, Kenshi Muto, Masayoshi Takahashi, Masanori Kado.
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  # of this software and associated documentation files (the "Software"), to deal
@@ -21,7 +21,7 @@
21
21
  require 'fileutils'
22
22
  require 'rake/clean'
23
23
 
24
- BOOK = ENV['REVIEW_BOOK'] || 'book'
24
+ BOOK = ENV['REVIEW_BOOK'] || 'syntax-book'
25
25
  BOOK_PDF = BOOK + '.pdf'
26
26
  BOOK_EPUB = BOOK + '.epub'
27
27
  CONFIG_FILE = ENV['REVIEW_CONFIG_FILE'] || 'config.yml'
@@ -29,15 +29,21 @@ CATALOG_FILE = ENV['REVIEW_CATALOG_FILE'] || 'catalog.yml'
29
29
  WEBROOT = ENV['REVIEW_WEBROOT'] || 'webroot'
30
30
  TEXTROOT = BOOK + '-text'
31
31
  TOPROOT = BOOK + '-text'
32
+ IDGXMLROOT = BOOK + '-idgxml'
33
+ PDF_OPTIONS = ENV['REVIEW_PDF_OPTIONS'] || ''
34
+ EPUB_OPTIONS = ENV['REVIEW_EPUB_OPTIONS'] || ''
35
+ WEB_OPTIONS = ENV['REVIEW_WEB_OPTIONS'] || ''
36
+ IDGXML_OPTIONS = ENV['REVIEW_IDGXML_OPTIONS'] || ''
37
+ TEXT_OPTIONS = ENV['REVIEW_TEXT_OPTIONS'] || ''
32
38
 
33
39
  def build(mode, chapter)
34
- sh "review-compile --target=#{mode} --footnotetext --stylesheet=style.css #{chapter} > tmp"
40
+ sh("review-compile --target=#{mode} --footnotetext --stylesheet=style.css #{chapter} > tmp")
35
41
  mode_ext = { 'html' => 'html', 'latex' => 'tex', 'idgxml' => 'xml', 'top' => 'txt', 'plaintext' => 'txt' }
36
- FileUtils.mv 'tmp', chapter.gsub(/re\z/, mode_ext[mode])
42
+ FileUtils.mv('tmp', chapter.gsub(/re\z/, mode_ext[mode]))
37
43
  end
38
44
 
39
45
  def build_all(mode)
40
- sh "review-compile --target=#{mode} --footnotetext --stylesheet=style.css"
46
+ sh("review-compile --target=#{mode} --footnotetext --stylesheet=style.css")
41
47
  end
42
48
 
43
49
  task default: :html_all
@@ -74,12 +80,17 @@ task web: WEBROOT
74
80
 
75
81
  desc 'generate text file (without decoration)'
76
82
  task plaintext: TEXTROOT do
77
- sh "review-textmaker -n #{CONFIG_FILE}"
83
+ sh "review-textmaker #{TEXT_OPTIONS} -n #{CONFIG_FILE}"
78
84
  end
79
85
 
80
86
  desc 'generate (decorated) text file'
81
87
  task text: TOPROOT do
82
- sh "review-textmaker #{CONFIG_FILE}"
88
+ sh "review-textmaker #{TEXT_OPTIONS} #{CONFIG_FILE}"
89
+ end
90
+
91
+ desc 'generate IDGXML file'
92
+ task idgxml: IDGXMLROOT do
93
+ sh "review-idgxmlmaker #{IDGXML_OPTIONS} #{CONFIG_FILE}"
83
94
  end
84
95
 
85
96
  desc 'generate EPUB file'
@@ -92,22 +103,26 @@ SRC_EPUB = FileList['*.css']
92
103
  SRC_PDF = FileList['layouts/*.erb', 'sty/**/*.sty']
93
104
 
94
105
  file BOOK_PDF => SRC + SRC_PDF do
95
- FileUtils.rm_rf [BOOK_PDF, BOOK, BOOK + '-pdf']
96
- sh "review-pdfmaker #{CONFIG_FILE}"
106
+ FileUtils.rm_rf([BOOK_PDF, BOOK, BOOK + '-pdf'])
107
+ sh "review-pdfmaker #{PDF_OPTIONS} #{CONFIG_FILE}"
97
108
  end
98
109
 
99
110
  file BOOK_EPUB => SRC + SRC_EPUB do
100
- FileUtils.rm_rf [BOOK_EPUB, BOOK, BOOK + '-epub']
101
- sh "review-epubmaker #{CONFIG_FILE}"
111
+ FileUtils.rm_rf([BOOK_EPUB, BOOK, BOOK + '-epub'])
112
+ sh "review-epubmaker #{EPUB_OPTIONS} #{CONFIG_FILE}"
102
113
  end
103
114
 
104
115
  file WEBROOT => SRC do
105
- FileUtils.rm_rf [WEBROOT]
106
- sh "review-webmaker #{CONFIG_FILE}"
116
+ FileUtils.rm_rf([WEBROOT])
117
+ sh "review-webmaker #{WEB_OPTIONS} #{CONFIG_FILE}"
107
118
  end
108
119
 
109
120
  file TEXTROOT => SRC do
110
- FileUtils.rm_rf [TEXTROOT]
121
+ FileUtils.rm_rf([TEXTROOT])
122
+ end
123
+
124
+ file IDGXMLROOT => SRC do
125
+ FileUtils.rm_rf([IDGXMLROOT])
111
126
  end
112
127
 
113
- CLEAN.include([BOOK, BOOK_PDF, BOOK_EPUB, BOOK + '-pdf', BOOK + '-epub', WEBROOT, 'images/_review_math', TEXTROOT])
128
+ CLEAN.include([BOOK, BOOK_PDF, BOOK_EPUB, BOOK + '-pdf', BOOK + '-epub', WEBROOT, 'images/_review_math', 'images/_review_math_text', TEXTROOT, IDGXMLROOT])
@@ -1,17 +1,23 @@
1
1
  desc 'copy sty/* files from current Re:VIEW source code (in git repos)'
2
+ REVIEW_TEMPLATE = ENV['REVIEW_TEMPLATE'] || 'review-jsbook'
2
3
  task :copy_sty do
3
4
  review_rootdir = '../..'
4
- jsbook_dir = File.join(review_rootdir, 'templates/latex/review-jsbook')
5
- gentombow_dir = File.join(review_rootdir, 'vendor/gentombow')
6
- Dir.glob(File.join(jsbook_dir, '*.cls')) do |file|
7
- FileUtils.cp file, 'sty'
5
+ template_dir = File.join(review_rootdir, "templates/latex/#{REVIEW_TEMPLATE}")
6
+ Dir.glob(File.join(template_dir, '*.cls')) do |file|
7
+ FileUtils.cp(file, 'sty')
8
8
  end
9
- Dir.glob(File.join(jsbook_dir, 'review-*.sty')) do |file|
10
- FileUtils.cp file, 'sty'
9
+ Dir.glob(File.join(template_dir, 'review-*.sty')) do |file|
10
+ FileUtils.cp(file, 'sty')
11
+ end
12
+
13
+ if REVIEW_TEMPLATE == 'review-jsbook'
14
+ jsbook_dir = File.join(review_rootdir, 'vendor/jsclasses')
15
+ FileUtils.cp(File.join(jsbook_dir, 'jsbook.cls'), 'sty/jsbook.cls')
16
+ gentombow_dir = File.join(review_rootdir, 'vendor/gentombow')
17
+ FileUtils.cp(File.join(gentombow_dir, 'gentombow.sty'), 'sty/gentombow.sty')
11
18
  end
12
- FileUtils.cp File.join(gentombow_dir, 'gentombow.sty'), 'sty/gentombow.sty'
13
19
  end
14
20
 
15
- CLEAN.include([Dir.glob('sty/review-*.sty'), 'sty/review-jsbook.cls', 'sty/gentombow.sty'])
21
+ CLEAN.include([Dir.glob('sty/review-*.sty'), 'sty/*.cls', 'sty/gentombow.sty'])
16
22
 
17
23
  Rake::Task[BOOK_PDF].enhance([:copy_sty])
@@ -0,0 +1,23 @@
1
+ <div class="colophon">
2
+ <% if @config['subtitle'].nil? %>
3
+ <p class="title"><%= h(@config.name_of('title')) %></p>
4
+ <% else %>
5
+ <p class="title"><%= h(@config.name_of('title')) %><br /><span class="subtitle"><%= h(@config.name_of('subtitle')) %></span></p>
6
+ <% end %>
7
+ <% if @config['date'] || @config['history'] %>
8
+ <%= colophon_history %>
9
+ <% end %>
10
+ <table class="colophon">
11
+ <% @config['colophon_order'].each do |role| %>
12
+ <% if @config[role] %>
13
+ <tr><th><%= h(ReVIEW::I18n.t(role)) %></th><td><%= h(join_with_separator(config.names_of(role), ReVIEW::I18n.t('names_splitter'))) %></td></tr>
14
+ <% end %>
15
+ <% end %>
16
+ <% if @isbn_hyphen %>
17
+ <tr><th>ISBN</th><td><%= @isbn_hyphen %></td></tr>
18
+ <% end %>
19
+ </table>
20
+ <% if @config['rights'] && !@config['rights'].empty? %>
21
+ <p class="copyright"><%= join_with_separator(config.names_of('rights').map { |m| h(m) }, '<br />') %></p>
22
+ <% end %>
23
+ </div>
@@ -0,0 +1,9 @@
1
+ <div class="pubhistory">
2
+ <% if @config['history'] %>
3
+ <% @col_history.each do |item| %>
4
+ <p><%= item %></p>
5
+ <% end %>
6
+ <% else %>
7
+ <p><%= ReVIEW::I18n.t('published_by2', date_to_s(@config['date'])) %></p>
8
+ <% end %>
9
+ </div>
@@ -0,0 +1,10 @@
1
+ <% if @coverimage_src %>
2
+ <div id="cover-image" class="cover-image">
3
+ <img src="<%= @coverimage_src %>" alt="<%= h(@config.name_of('title')) %>" class="max"/>
4
+ </div>
5
+ <% else %>
6
+ <h1 class="cover-title"><%= h(@config.name_of('title')) %></h1>
7
+ <% if @config['subtitle'] %>
8
+ <h2 class="cover-subtitle"><%= h(@config.name_of('subtitle')) %></h2>
9
+ <% end %>
10
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <div class="part">
2
+ <h1 class="part-number"><%= h(ReVIEW::I18n.t('part', @part_number)) %></h1>
3
+ <% if @part_title.present? %>
4
+ <h2 class="part-title"><%= h(@part_title) %></h2>
5
+ <% end %>
6
+ </div>
@@ -0,0 +1,20 @@
1
+ <h1 class="tp-title"><%= @title_str %></h1>
2
+ <% if @subtitle_str %>
3
+ <h2 class="tp-subtitle"><%= h(@subtitle_str) %></h2>
4
+ <% end %>
5
+ <% if @author_str %>
6
+ <p>
7
+ <br />
8
+ <br />
9
+ </p>
10
+ <h2 class="tp-author"><%= h(@author_str) %></h2>
11
+ <% end %>
12
+ <% if @publisher_str %>
13
+ <p>
14
+ <br />
15
+ <br />
16
+ <br />
17
+ <br />
18
+ </p>
19
+ <h3 class="tp-publisher"><%= h(@publisher_str) %></h3>
20
+ <% end %>
@@ -3,6 +3,12 @@
3
3
  <html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:ops="http://www.idpf.org/2007/ops" xml:lang="<%= @language %>">
4
4
  <head>
5
5
  <meta charset="UTF-8" />
6
+ <% if @javascripts.present? %>
7
+ <% @javascripts.each do |js| %>
8
+ <%= js %>
9
+
10
+ <% end %>
11
+ <% end %>
6
12
  <% if @stylesheets.present? %>
7
13
  <% @stylesheets.each do |style| %>
8
14
  <link rel="stylesheet" type="text/css" href="<%= style %>" />
@@ -4,6 +4,12 @@
4
4
  <head>
5
5
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
6
6
  <meta http-equiv="Content-Style-Type" content="text/css"/>
7
+ <% if @javascripts.present? %>
8
+ <% @javascripts.each do |js| %>
9
+ <%= js %>
10
+
11
+ <% end %>
12
+ <% end %>
7
13
  <% if @stylesheets.present? %>
8
14
  <% @stylesheets.each do |style| %>
9
15
  <link rel="stylesheet" type="text/css" href="<%= style %>" />
@@ -1,50 +1,51 @@
1
+ <%- initialize_metachars(@config['texcommand']) -%>
1
2
  \makeatletter
2
3
  \def\review@reviewversion{<%= ReVIEW::VERSION %>}
3
4
  \def\review@texcompiler{<%= @texcompiler %>}
4
5
  \def\review@documentclass{<%= @documentclass %>}
5
6
 
6
7
  <%- %w(booktitle subtitle).each do |item| -%>
7
- <%- if @config[item] -%>\def\review@<%= item %>name{<%= escape_latex(@config.name_of(item)) %>}
8
+ <%- if @config[item] -%>\def\review@<%= item %>name{<%= escape(@config.name_of(item)) %>}
8
9
  <%- end -%>
9
10
  <%- end -%>
10
11
 
11
- <%- %w(aut adp ann arr art asn aqt aft aui ant bkp clb cmm csl dsr edt ill lyr mdc mus nrt oth pht pbl prt red rev spn ths trc trl).each do |item| %><%- if @config[item] -%>\def\review@<%= item %>names{<%= escape_latex(@config.names_of(item).join(I18n.t('names_splitter'))) %>}
12
+ <%- %w(aut adp ann arr art asn aqt aft aui ant bkp clb cmm csl dsr edt ill lyr mdc mus nrt oth pht pbl prt red rev spn ths trc trl).each do |item| %><%- if @config[item] -%>\def\review@<%= item %>names{<%= escape(@config.names_of(item).join(I18n.t('names_splitter'))) %>}
12
13
  <%- end -%>
13
14
  <%- end -%>
14
15
 
15
16
  \def\review@titlepageauthors{<%= @authors %>}
16
- \def\review@date{<%= escape_latex(@config['date'].to_s) %>}
17
+ \def\review@date{<%= escape(@config['date'].to_s) %>}
17
18
 
18
- <%- %w(bookname language urnid isbn).each do |item| -%><%- if @config[item] -%>\def\review@<%= item %>{<%= escape_latex(@config[item]) %>}
19
+ <%- %w(bookname language urnid isbn).each do |item| -%><%- if @config[item] -%>\def\review@<%= item %>{<%= escape(@config[item]) %>}
19
20
  <%- end -%>
20
21
  <%- end -%>
21
22
  <%- %w(rights description subject type format source relation coverage).each do |item| -%>
22
23
  <%- if @config[item] -%>
23
- <%- a = [@config[item]].flatten -%>\def\review@<%= item %>{<%= a.map{|s| escape_latex(s)}.join('\\' + '\\') %>}
24
+ <%- a = [@config[item]].flatten -%>\def\review@<%= item %>{<%= a.map{|s| escape(s)}.join('\\' + '\\') %>}
24
25
  <%- end -%>
25
26
  <%- end -%>
26
27
 
27
28
  <%- if @config['highlight'] && @config['highlight']['latex'] -%>\def\review@highlightlatex{<%= @config['highlight']['latex'] %>}
28
29
  <%- end -%>
29
30
 
30
- \def\review@intn@list{<%= escape_latex(I18n.t('list')) %>}
31
- \def\review@intn@columnhead{<%= escape_latex(I18n.t('column_head')) %>}
32
- \def\review@intn@image{<%= escape_latex(I18n.t('image')) %>}
33
- \def\review@intn@table{<%= escape_latex(I18n.t('table')) %>}
34
- \def\review@intn@equation{<%= escape_latex(I18n.t('equation')) %>}
35
- \def\review@intn@columnname{<%= escape_latex(I18n.t('columnname')) %>}
36
- \def\review@intn@memohead{<%= escape_latex(I18n.t('memo_head')) %>}
37
- \def\review@intn@edition{<%= escape_latex(I18n.t('edition')) %>}
38
- \def\review@intn@publishedby{<%= escape_latex(I18n.t('published_by', @config.names_of('pbl').join(I18n.t('names_splitter'))))%>}
39
- \def\review@intn@captionprefix{<%= escape_latex(I18n.t('caption_prefix')) %>}
40
- \def\review@toctitle{<%= escape_latex(@config['toctitle'].present? ? @config['toctitle'] : I18n.t('toctitle')) %>}
41
- \def\review@prepartname{<%= escape_latex(@locale_latex['prepartname']) %>}
42
- \def\review@postpartname{<%= escape_latex(@locale_latex['postpartname']) %>}
43
- \def\review@prechaptername{<%= escape_latex(@locale_latex['prechaptername']) %>}
44
- \def\review@postchaptername{<%= escape_latex(@locale_latex['postchaptername']) %>}
45
- \def\review@figurename{<%= escape_latex(I18n.t('image')) %>}
46
- \def\review@tablename{<%= escape_latex(I18n.t('table')) %>}
47
- \def\review@appendixname{<%= escape_latex(@locale_latex['preappendixname']) %>}
31
+ \def\review@intn@list{<%= escape(I18n.t('list')) %>}
32
+ \def\review@intn@columnhead{<%= escape(I18n.t('column_head')) %>}
33
+ \def\review@intn@image{<%= escape(I18n.t('image')) %>}
34
+ \def\review@intn@table{<%= escape(I18n.t('table')) %>}
35
+ \def\review@intn@equation{<%= escape(I18n.t('equation')) %>}
36
+ \def\review@intn@columnname{<%= escape(I18n.t('columnname')) %>}
37
+ \def\review@intn@memohead{<%= escape(I18n.t('memo_head')) %>}
38
+ \def\review@intn@edition{<%= escape(I18n.t('edition')) %>}
39
+ \def\review@intn@publishedby{<%= escape(I18n.t('published_by', @config.names_of('pbl').join(I18n.t('names_splitter'))))%>}
40
+ \def\review@intn@captionprefix{<%= escape(I18n.t('caption_prefix')) %>}
41
+ \def\review@toctitle{<%= escape(@config['toctitle'].present? ? @config['toctitle'] : I18n.t('toctitle')) %>}
42
+ \def\review@prepartname{<%= escape(@locale_latex['prepartname']) %>}
43
+ \def\review@postpartname{<%= escape(@locale_latex['postpartname']) %>}
44
+ \def\review@prechaptername{<%= escape(@locale_latex['prechaptername']) %>}
45
+ \def\review@postchaptername{<%= escape(@locale_latex['postchaptername']) %>}
46
+ \def\review@figurename{<%= escape(I18n.t('image')) %>}
47
+ \def\review@tablename{<%= escape(I18n.t('table')) %>}
48
+ \def\review@appendixname{<%= escape(@locale_latex['preappendixname']) %>}
48
49
 
49
50
  <%- if @config['toc'] -%>
50
51
  \def\review@toc{true}
@@ -59,6 +60,9 @@
59
60
  \def\review@coverimage{./<%= @config['imagedir'] %>/<%= @config['coverimage'] %>}
60
61
  \def\review@coverimageoption{<%= @coverimageoption%>}
61
62
  <%- end -%>
63
+ <%- if @config['pdfmaker']['use_cover_nombre'] -%>
64
+ \def\review@usecovernombre{true}
65
+ <%- end -%>
62
66
  <%- if @config['titlepage'] -%>
63
67
  \def\review@titlepage{true}
64
68
  <%- if @config['titlefile'] -%>
@@ -97,15 +101,29 @@
97
101
  <%- if @config['use_part'] -%>
98
102
  \def\reviewusepart{true}
99
103
  <%- end -%>
104
+ <%- if @config['pdfmaker']['bbox'] -%>
105
+ \def\review@bbox{<%= @config['pdfmaker']['bbox'] %>}
106
+ <%- end -%>
107
+ <%- if @boxsetting -%>
108
+ \newcommand{\reviewboxsetting}{%
109
+ <%= @boxsetting %>%
110
+ }
111
+ <%- end -%>
100
112
 
101
113
  \def\reviewbackcompatibilityhook{
102
- \@ifundefined{reviewimagecaption}{% for 3.0.0 compatibility
114
+ \ifdefined\reviewimagecaption\else% for 3.0.0 compatibility
103
115
  \newcommand{\reviewimagecaption}[1]{\caption{##1}}
104
- }
105
- \@ifundefined{reviewincludegraphics}{% for 3.2.0 compatibility
116
+ \fi
117
+ \ifdefined\reviewincludegraphics\else% for 3.2.0 compatibility
106
118
  \DeclareRobustCommand{\reviewincludegraphics}[2][]{%
107
119
  \includegraphics[##1]{##2}}
108
- }
120
+ \fi
121
+ \ifdefined\covermatter\else% for 4.0.0 compatibility
122
+ \def\covermatter{}
123
+ \fi
124
+ \ifdefined\reviewchapref\else% for 5.1.0 compatibility
125
+ \newcommand{\reviewchapref}[2]{\hyperref[##2]{##1}}
126
+ \fi
109
127
  }
110
128
 
111
129
  \makeatother
@@ -18,6 +18,7 @@
18
18
 
19
19
  %% coverpage
20
20
  \ifdefined\reviewcoverpagecont
21
+ \covermatter
21
22
  \reviewcoverpagecont
22
23
  \fi
23
24
 
@@ -38,7 +38,9 @@ texdocumentclass: ["review-jlreq", "クラスオプションたち(省略可
38
38
 
39
39
  `media` の値によって表紙(config.yml の coverimage に指定した画像)の配置の有無は自動で切り替わりますが、`cover=true` とすれば必ず表紙を入れるようになります。
40
40
 
41
- なお、config.yml coverimage で指定する画像ファイルは、原寸を想定しています。
41
+ ### 表紙画像のサイズの仕上がり紙面合わせ `cover_fit_page=<trueまたはfalse>`
42
+
43
+ 上記の coverimage で指定する画像ファイルは、原寸を想定しているため、サイズが異なる場合にははみ出たり、小さすぎたりすることになります。できるだけ原寸で用意することを推奨しますが、`cover_fit_page=true` とすれば表紙画像を紙面の仕上がりサイズに合わせて拡縮します。
42
44
 
43
45
  ### 特定の用紙サイズ `paper=<用紙サイズ>`
44
46
 
@@ -1,15 +1,31 @@
1
+ \ProvidesClass{review-base}[2020/12/31]
1
2
  % jlreq用基本設定
2
- \newcommand*\PDFDocumentInformation[1]{%
3
- \AtBeginShipoutFirst{\special{pdf:docinfo <<#1>>}}}
4
- \@onlypreamble\PDFDocumentInformation
5
-
6
- \PDFDocumentInformation{
7
- /Title (\review@booktitlename)
8
- /Author (\review@autnames)
9
- % /Subject ()
10
- % /Keywords (,,)
11
- /Creator (Re:VIEW \review@reviewversion, with LaTeX)
12
- }
3
+ \def\recls@tmp{luatex}\ifx\recls@tmp\recls@driver
4
+ \hypersetup{
5
+ pdftitle={\review@booktitlename},
6
+ pdfauthor={\ifdefined\review@autnames\review@autnames\fi},
7
+ pdfcreator={Re:VIEW \review@reviewversion, with LaTeX}
8
+ }
9
+ \else
10
+ \def\recls@tmp{ebook}\ifx\recls@cameraready\recls@tmp
11
+ \hypersetup{
12
+ pdftitle={\review@booktitlename},
13
+ pdfauthor={\ifdefined\review@autnames\review@autnames\fi},
14
+ pdfcreator={Re:VIEW \review@reviewversion, with LaTeX}
15
+ }
16
+ \else
17
+ \newcommand*\PDFDocumentInformation[1]{%
18
+ \AtBeginShipoutFirst{\special{pdf:docinfo <<#1>>}}}
19
+ \@onlypreamble\PDFDocumentInformation
20
+ \PDFDocumentInformation{
21
+ /Title (\review@booktitlename)
22
+ \ifdefined\review@autnames /Author (\review@autnames)\fi
23
+ % /Subject ()
24
+ % /Keywords (,,)
25
+ /Creator (Re:VIEW \review@reviewversion, with LaTeX)
26
+ }
27
+ \fi
28
+ \fi
13
29
 
14
30
  \RequirePackage{pxrubrica}
15
31
  \@ifpackagelater{pxrubrica}{2017/04/20}{% true
@@ -18,22 +34,27 @@
18
34
 
19
35
  \long\def\review@ifempty#1{\expandafter\ifx\expandafter\relax\detokenize{#1}\relax\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}
20
36
 
37
+ %% pass bbox setting to extractbb of graphicx
38
+ \ifdefined\review@bbox
39
+ \def\Gin@pagebox{\review@bbox}
40
+ \fi
41
+
21
42
  % コードリスト装飾のデフォルト
22
43
  \newenvironment{reviewemlist}{%
23
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=black!10,colframe=black!10,boxrule=0mm,arc=0mm]\begin{alltt}}%
44
+ \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=black!10,colframe=black!10,boxrule=0mm,arc=0mm]\ifdefined\reviewlistxkanjiskip\setxkanjiskip{\reviewlistxkanjiskip}\fi\begin{alltt}}%
24
45
  {\end{alltt}\end{tcolorbox}}
25
46
 
26
47
  \newenvironment{reviewlist}{%
27
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=white,colframe=black,boxrule=0.15mm,arc=0mm]\begin{alltt}}%
48
+ \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=white,colframe=black,boxrule=0.15mm,arc=0mm]\ifdefined\reviewlistxkanjiskip\setxkanjiskip{\reviewlistxkanjiskip}\fi\begin{alltt}}%
28
49
  {\end{alltt}\end{tcolorbox}}
29
50
 
30
51
  \newenvironment{reviewsource}{%
31
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=white,colframe=black,boxrule=0.15mm,arc=0mm]\begin{alltt}}%
52
+ \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=white,colframe=black,boxrule=0.15mm,arc=0mm]\ifdefined\reviewlistxkanjiskip\setxkanjiskip{\reviewlistxkanjiskip}\fi\begin{alltt}}%
32
53
  {\end{alltt}\end{tcolorbox}}
33
54
 
34
55
  \newenvironment{reviewcmd}{%
35
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=black!99,colframe=black!99,boxrule=0mm,arc=0mm]\begin{alltt}\begingroup\color{white}\ignorespaces}%
36
- {\endgroup\end{alltt}\end{tcolorbox}}
56
+ \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=black!99,coltext=white,colframe=black!99,boxrule=0mm,arc=0mm]\ifdefined\reviewlistxkanjiskip\setxkanjiskip{\reviewlistxkanjiskip}\fi\begin{alltt}}%
57
+ {\end{alltt}\end{tcolorbox}}
37
58
 
38
59
  % 図
39
60
  \newenvironment{reviewimage}{%
@@ -77,7 +98,7 @@
77
98
  \else
78
99
  \let\jlreq@@makecaption@font@setting\jlreq@@makecaption@font
79
100
  \fi
80
- \ifdefined\jlreq@@makecaption@label@@font@setting
101
+ \ifdefined\jlreq@@makecaption@label@font@setting
81
102
  \else
82
103
  \let\jlreq@@makecaption@label@font@setting\jlreq@@makecaption@label@font
83
104
  \fi
@@ -114,9 +135,10 @@
114
135
  \newcommand{\reviewtableref}[2]{\review@intn@table #1}
115
136
  \newcommand{\reviewlistref}[1]{\review@intn@list #1}
116
137
  \newcommand{\reviewequationref}[1]{\review@intn@equation #1}
117
- \newcommand{\reviewbibref}[2]{#1}
118
- \newcommand{\reviewcolumnref}[2]{\review@intn@columnname #1}
119
- \newcommand{\reviewsecref}[2]{#1}
138
+ \newcommand{\reviewbibref}[2]{\hyperref[#2]{#1}}
139
+ \newcommand{\reviewcolumnref}[2]{#1}% XXX:ハイパーリンクにはreviewcolumn側の調整が必要
140
+ \newcommand{\reviewchapref}[2]{\hyperref[#2]{#1}}
141
+ \newcommand{\reviewsecref}[2]{\hyperref[#2]{#1}}
120
142
 
121
143
  \renewcommand{\contentsname}{\review@toctitle}
122
144
 
@@ -167,17 +189,72 @@
167
189
  \DeclareRobustCommand{\reviewunderline}[1]{\underline{#1}}% ulemかjumolineで上書き。デフォルトはulemにしている
168
190
  \DeclareRobustCommand{\reviewit}[1]{\textit{#1}}
169
191
  \DeclareRobustCommand{\reviewbold}[1]{\textbf{#1}}
170
- \DeclareRobustCommand{\reviewcode}[1]{\texttt{#1}}
171
- \DeclareRobustCommand{\reviewtt}[1]{\texttt{#1}}
172
- \DeclareRobustCommand{\reviewtti}[1]{\texttt{\textit{#1}}}
173
- \DeclareRobustCommand{\reviewttb}[1]{\texttt{\textbf{#1}}}
192
+
193
+ % allow break line in tt
194
+ % contributed by @zr_tex8r
195
+ \g@addto@macro\pdfstringdefPreHook{% for PDF bookmarks
196
+ \def\reviewami#1{#1}
197
+ \def\reviewbreakall#1{#1}
198
+ \def\reviewballoon#1{#1}
199
+ \def\reviewbou#1{#1}
200
+ \def\reviewkw#1{#1}
201
+ \def\reviewinsert#1{#1}
202
+ \def\reviewstrike#1{#1}
203
+ \def\reviewunderline#1{#1}
204
+ }
205
+ \newif\ifreview@ba@break
206
+ \def\review@ba@end{\review@ba@end@}
207
+ \DeclareRobustCommand{\reviewbreakall}[1]{%
208
+ \begingroup
209
+ \review@ba@breakfalse
210
+ \review@break@all@a#1\review@ba@end
211
+ \endgroup
212
+ }
213
+ \def\review@break@all@a{%
214
+ \futurelet\review@ba@tok\review@break@all@b
215
+ }
216
+ \def\review@break@all@b{%
217
+ \ifx\review@ba@tok\review@ba@end
218
+ \let\next\@gobble
219
+ \else\ifx\review@ba@tok\@sptoken
220
+ \let\next\review@break@all@c
221
+ \else\ifx\review@ba@tok~%
222
+ \let\next\review@break@all@d
223
+ \else\ifx\review@ba@tok\bgroup
224
+ \let\next\review@break@all@e
225
+ \else
226
+ \let\next\review@break@all@f
227
+ \fi\fi\fi\fi
228
+ \next
229
+ }
230
+ \expandafter\def\expandafter\review@break@all@c\space{%
231
+ \space
232
+ \review@ba@breakfalse
233
+ \review@break@all@a
234
+ }
235
+ \def\review@break@all@d#1{%
236
+ \review@break@all@f{\mbox{\space}}%
237
+ }
238
+ \def\review@break@all@e#1{%
239
+ \review@break@all@f{{#1}}%
240
+ }
241
+ \def\review@break@all@f#1{%
242
+ \ifreview@ba@break
243
+ \hskip0pt plus 0.02em\relax
244
+ \fi
245
+ #1%
246
+ \review@ba@breaktrue
247
+ \review@break@all@a
248
+ }
249
+ \DeclareRobustCommand{\reviewtt}[1]{{\ttfamily\reviewbreakall{#1}}}
250
+ \DeclareRobustCommand{\reviewcode}[1]{{\ttfamily\reviewbreakall{#1}}}
251
+ \DeclareRobustCommand{\reviewtti}[1]{{\ttfamily\itshape\reviewbreakall{#1}}}
252
+ \DeclareRobustCommand{\reviewttb}[1]{{\ttfamily\bfseries\reviewbreakall{#1}}}
253
+
174
254
  \DeclareRobustCommand{\reviewbou}[1]{\kenten{#1}}
175
255
 
176
- %% @<del> is ignored in LaTeX with default style
177
- %% \DeclareRobustCommand{\reviewstrike}[1]{#1}
178
- %%%% for ulem.sty:
256
+ \DeclareRobustCommand{\reviewinsert}[1]{\uuline{#1}}
179
257
  \DeclareRobustCommand{\reviewstrike}[1]{\sout{#1}}
180
- %%
181
258
  %%%% for jumoline.sty:
182
259
  %%\DeclareRobustCommand{\reviewstrike}[1]{\Middleline{#1}}
183
260
 
@@ -251,16 +328,26 @@
251
328
  }
252
329
 
253
330
  % cover
331
+ \newcommand*\covermatter{%
332
+ \ifdefined\review@usecovernombre%
333
+ \pagenumbering{coverpagezero}
334
+ \setcounter{page}{0}% force to even page, to avoid empty page
335
+ \fi
336
+ }
337
+
254
338
  \if@reclscover
255
- \ifdefined\review@coverimage
256
- \def\reviewcoverpagecont{%
257
- \expandafter\includefullpagegraphics\expandafter[\review@coverimageoption]{\review@coverimage}
258
- \cleardoublepage
259
- }
260
- \fi
261
- \ifdefined\review@coverfile
262
- \def\reviewcoverpagecont{\review@coverfile}
263
- \fi
339
+ \ifdefined\review@coverimage
340
+ \ifrecls@coverfitpage
341
+ \def\review@coverimageoption{width=\paperwidth,height=\paperheight}
342
+ \fi
343
+ \def\reviewcoverpagecont{%
344
+ \expandafter\includefullpagegraphics\expandafter[\review@coverimageoption]{\review@coverimage}
345
+ \cleardoublepage
346
+ }
347
+ \fi
348
+ \ifdefined\review@coverfile
349
+ \def\reviewcoverpagecont{\review@coverfile}
350
+ \fi
264
351
  \fi
265
352
 
266
353
  % titlepage