review 4.0.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby-win.yml +39 -0
  3. data/.github/workflows/ruby.yml +27 -0
  4. data/.rubocop.yml +10 -7
  5. data/Dockerfile +21 -5
  6. data/NEWS.ja.md +101 -1
  7. data/NEWS.md +102 -2
  8. data/README.md +10 -7
  9. data/appveyor.yml +0 -20
  10. data/bin/review-compile +1 -1
  11. data/bin/review-validate +1 -1
  12. data/doc/config.yml.sample +12 -1
  13. data/doc/config.yml.sample-simple +1 -0
  14. data/doc/format.ja.md +16 -4
  15. data/doc/format.md +2 -1
  16. data/doc/quickstart.ja.md +40 -23
  17. data/doc/quickstart.md +33 -15
  18. data/lib/review/book/base.rb +8 -7
  19. data/lib/review/book/index.rb +50 -56
  20. data/lib/review/book/index/item.rb +1 -1
  21. data/lib/review/builder.rb +26 -4
  22. data/lib/review/compiler.rb +6 -3
  23. data/lib/review/configure.rb +5 -3
  24. data/lib/review/epubmaker.rb +15 -2
  25. data/lib/review/extentions/string.rb +0 -4
  26. data/lib/review/htmlbuilder.rb +4 -15
  27. data/lib/review/idgxmlbuilder.rb +10 -19
  28. data/lib/review/idgxmlmaker.rb +10 -3
  29. data/lib/review/init.rb +8 -1
  30. data/lib/review/latexbuilder.rb +13 -6
  31. data/lib/review/pdfmaker.rb +24 -9
  32. data/lib/review/rstbuilder.rb +2 -2
  33. data/lib/review/textmaker.rb +7 -1
  34. data/lib/review/tocparser.rb +6 -2
  35. data/lib/review/version.rb +1 -1
  36. data/lib/review/webmaker.rb +8 -1
  37. data/review.gemspec +2 -2
  38. data/samples/sample-book/src/.gitignore +1 -0
  39. data/samples/sample-book/src/config-ebook.yml +4 -0
  40. data/samples/sample-book/src/config-jlreq-ebook.yml +4 -0
  41. data/samples/sample-book/src/config.yml +1 -1
  42. data/samples/sample-book/src/lib/tasks/review.rake +10 -6
  43. data/samples/syntax-book/ch01.re +4 -2
  44. data/samples/syntax-book/ch02.re +8 -16
  45. data/samples/syntax-book/config-jlreq-lualatex.yml +4 -0
  46. data/samples/syntax-book/config-print.yml +3 -0
  47. data/samples/syntax-book/config.yml +1 -1
  48. data/samples/syntax-book/lib/tasks/review.rake +23 -8
  49. data/templates/latex/config.erb +6 -6
  50. data/templates/latex/review-jlreq/review-base.sty +14 -4
  51. data/templates/latex/review-jlreq/review-jlreq.cls +10 -1
  52. data/templates/latex/review-jlreq/review-style.sty +1 -1
  53. data/templates/latex/review-jsbook/review-base.sty +10 -0
  54. data/templates/latex/review-jsbook/review-jsbook.cls +1 -1
  55. data/templates/latex/review-jsbook/review-style.sty +1 -1
  56. data/test/assets/test_template.tex +6 -6
  57. data/test/assets/test_template_backmatter.tex +6 -6
  58. data/test/test_book.rb +8 -0
  59. data/test/test_book_chapter.rb +4 -2
  60. data/test/test_catalog.rb +1 -0
  61. data/test/test_epubmaker_cmd.rb +12 -5
  62. data/test/test_helper.rb +11 -6
  63. data/test/test_htmlbuilder.rb +80 -8
  64. data/test/test_idgxmlbuilder.rb +57 -2
  65. data/test/test_idgxmlmaker_cmd.rb +46 -0
  66. data/test/test_image_finder.rb +52 -70
  67. data/test/test_index.rb +12 -12
  68. data/test/test_latexbuilder.rb +171 -8
  69. data/test/test_latexbuilder_v2.rb +9 -7
  70. data/test/test_pdfmaker_cmd.rb +99 -5
  71. data/test/test_textmaker_cmd.rb +54 -0
  72. data/test/test_topbuilder.rb +59 -0
  73. data/vendor/jsclasses/LICENSE +1 -1
  74. data/vendor/jsclasses/jis/jsarticle.cls +53 -14
  75. data/vendor/jsclasses/jis/jsbook.cls +53 -14
  76. data/vendor/jsclasses/jis/jsclasses.dtx +84 -25
  77. data/vendor/jsclasses/jis/jslogo.dtx +4 -4
  78. data/vendor/jsclasses/jis/jslogo.sty +3 -3
  79. data/vendor/jsclasses/jis/jspf.cls +52 -13
  80. data/vendor/jsclasses/jis/jsreport.cls +53 -14
  81. data/vendor/jsclasses/jis/kiyou.cls +53 -14
  82. data/vendor/jsclasses/jis/okumacro.dtx +4 -5
  83. data/vendor/jsclasses/jis/okumacro.sty +3 -4
  84. data/vendor/jsclasses/jsarticle.cls +53 -14
  85. data/vendor/jsclasses/jsbook.cls +53 -14
  86. data/vendor/jsclasses/jsclasses.dtx +84 -25
  87. data/vendor/jsclasses/jsclasses.pdf +0 -0
  88. data/vendor/jsclasses/jslogo.dtx +4 -4
  89. data/vendor/jsclasses/jslogo.pdf +0 -0
  90. data/vendor/jsclasses/jslogo.sty +3 -3
  91. data/vendor/jsclasses/jspf.cls +52 -13
  92. data/vendor/jsclasses/jsreport.cls +53 -14
  93. data/vendor/jsclasses/kiyou.cls +53 -14
  94. data/vendor/jsclasses/okumacro.dtx +4 -5
  95. data/vendor/jsclasses/okumacro.pdf +0 -0
  96. data/vendor/jsclasses/okumacro.sty +3 -4
  97. metadata +15 -6
  98. data/samples/syntax-book/review-ext.rb +0 -14
@@ -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 = '2019-10-29'
15
+ gem.date = '2020-02-29'
16
16
 
17
17
  gem.files = `git ls-files`.split("\n")
18
18
  gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
@@ -25,7 +25,7 @@ Gem::Specification.new do |gem|
25
25
  gem.add_dependency('rubyzip')
26
26
  gem.add_development_dependency('pygments.rb')
27
27
  gem.add_development_dependency('rake')
28
- gem.add_development_dependency('rubocop', '~> 0.72.0')
28
+ gem.add_development_dependency('rubocop', '~> 0.77.0')
29
29
  gem.add_development_dependency('rubocop-performance')
30
30
  gem.add_development_dependency('simplecov')
31
31
  gem.add_development_dependency('test-unit')
@@ -5,6 +5,7 @@
5
5
  /*-pdf
6
6
  /*-epub
7
7
  /*-text
8
+ /*-idgxml
8
9
 
9
10
  /vendor
10
11
  /.bundle
@@ -0,0 +1,4 @@
1
+ # call me by 'REVIEW_CONFIG_FILE=config-ebook.yml rake pdf'
2
+ inherit: ["config.yml"]
3
+ pdfmaker:
4
+ texdocumentclass: ["review-jsbook", "media=ebook,paper=a5"]
@@ -0,0 +1,4 @@
1
+ # call me by 'REVIEW_TEMPLATE=review-jlreq REVIEW_CONFIG_FILE=config-jlreq-ebook.yml rake pdf'
2
+ inherit: ["config.yml"]
3
+ pdfmaker:
4
+ texdocumentclass: ["review-jlreq", "media=ebook,paper=a5"]
@@ -1,5 +1,5 @@
1
1
  ## config.yml for sample book
2
- review_version: 3.0
2
+ review_version: 4.0
3
3
  bookname: book
4
4
  language: ja
5
5
  booktitle: Re:VIEWサンプル書籍
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2006-2019 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
@@ -30,7 +30,11 @@ WEBROOT = ENV['REVIEW_WEBROOT'] || 'webroot'
30
30
  TEXTROOT = BOOK + '-text'
31
31
  TOPROOT = BOOK + '-text'
32
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'] || ''
33
36
  IDGXML_OPTIONS = ENV['REVIEW_IDGXML_OPTIONS'] || ''
37
+ TEXT_OPTIONS = ENV['REVIEW_TEXT_OPTIONS'] || ''
34
38
 
35
39
  def build(mode, chapter)
36
40
  sh("review-compile --target=#{mode} --footnotetext --stylesheet=style.css #{chapter} > tmp")
@@ -76,12 +80,12 @@ task web: WEBROOT
76
80
 
77
81
  desc 'generate text file (without decoration)'
78
82
  task plaintext: TEXTROOT do
79
- sh "review-textmaker -n #{CONFIG_FILE}"
83
+ sh "review-textmaker #{TEXT_OPTIONS} -n #{CONFIG_FILE}"
80
84
  end
81
85
 
82
86
  desc 'generate (decorated) text file'
83
87
  task text: TOPROOT do
84
- sh "review-textmaker #{CONFIG_FILE}"
88
+ sh "review-textmaker #{TEXT_OPTIONS} #{CONFIG_FILE}"
85
89
  end
86
90
 
87
91
  desc 'generate IDGXML file'
@@ -100,17 +104,17 @@ SRC_PDF = FileList['layouts/*.erb', 'sty/**/*.sty']
100
104
 
101
105
  file BOOK_PDF => SRC + SRC_PDF do
102
106
  FileUtils.rm_rf([BOOK_PDF, BOOK, BOOK + '-pdf'])
103
- sh "review-pdfmaker #{CONFIG_FILE}"
107
+ sh "review-pdfmaker #{PDF_OPTIONS} #{CONFIG_FILE}"
104
108
  end
105
109
 
106
110
  file BOOK_EPUB => SRC + SRC_EPUB do
107
111
  FileUtils.rm_rf([BOOK_EPUB, BOOK, BOOK + '-epub'])
108
- sh "review-epubmaker #{CONFIG_FILE}"
112
+ sh "review-epubmaker #{EPUB_OPTIONS} #{CONFIG_FILE}"
109
113
  end
110
114
 
111
115
  file WEBROOT => SRC do
112
116
  FileUtils.rm_rf([WEBROOT])
113
- sh "review-webmaker #{CONFIG_FILE}"
117
+ sh "review-webmaker #{WEB_OPTIONS} #{CONFIG_FILE}"
114
118
  end
115
119
 
116
120
  file TEXTROOT => SRC do
@@ -104,7 +104,7 @@ olnumで一応番号が変更可能なことを期待していますが、Webブ
104
104
  === 用語リスト
105
105
  用語リスト(HTMLの@<i>{dl}、TeXの@<i>{description})は@<i>{スペース}+@<tt>{:}+@<i>{スペース}で見出しを、説明は行頭にタブかスペースを入れて表現します。
106
106
 
107
- : Alpha@<b>{bold太字}@<i>{italicイタ}@<tt>{等幅code}
107
+ : Alpha@<b>{bold太字}@<i>{italicイタ}@<tt>{等幅code}@<fn>{foot1}
108
108
  @<i>{DEC}の作っていた@<b>{RISC CPU}。@<i>{italicイタ}@<tt>{等幅code}
109
109
  浮動小数点数演算が速い。
110
110
  : POWER
@@ -114,10 +114,12 @@ olnumで一応番号が変更可能なことを期待していますが、Webブ
114
114
  Sunが作っているRISC CPU。
115
115
  CPU数を増やすのが得意。
116
116
 
117
+ //footnote[foot1][箇条書き見出しへの脚注。]
118
+
117
119
  //emlist{
118
120
  @<b>{bold太字}@<i>{italicイタ}
119
121
 
120
- : Alpha@<embed>{@}<b>{bold太字}@<embed>{@}<i>{italicイタ}@<embed>{@}<tt>{等幅code}
122
+ : Alpha@<embed>{@}<b>{bold太字}@<embed>{@}<i>{italicイタ}@<embed>{@}<tt>{等幅code}@<fn>{foot1}
121
123
  @<embed>{@}<i>{DEC}の作っていた@<embed>{@}<b>{RISC CPU}。@<embed>{@}<i>{italicイタ}@<embed>{@}<tt>{等幅code}
122
124
  浮動小数点数演算が速い。
123
125
  : POWER
@@ -49,9 +49,9 @@ print('hello');
49
49
  puts 'Hello'
50
50
  //}
51
51
 
52
- #@# //source{
53
- #@# //}
54
- #@# FIXME:キャプションなしはLaTeXだとエラーになることがわかった。Re:VIEW側修正予定
52
+ //source{
53
+ puts 'Hello'
54
+ //}
55
55
 
56
56
  実行例を示すとき用にはcmdを用意しています。いずれにせよ、商業書籍レベルでは必要なので用意しているものの、原稿レベルで書き手が使うコードブロックはほどほどの数に留めておいたほうがいいのではないかと思います。TeX版の紙面ではデフォルトは黒アミ。印刷によってはベタ黒塗りはちょっと怖いかもなので、あまり長々したものには使わないほうがいいですね。
57
57
 
@@ -62,12 +62,7 @@ $ @<b>{ls /}
62
62
  === 図
63
63
  採番・キャプション付きの図の貼り付けはimageを使用します(@<img>{ball})。図版ファイルは識別子とビルダが対応しているフォーマットから先着順に探索されます。詳細については@<href>{https://github.com/kmuto/review/wiki/ImagePath, ImagePath}のドキュメントを参照してください。
64
64
 
65
- @<fn>{madebygimp}
66
- 本当はimageのキャプションにfootnoteを付けたいのですが、TeXではエラーになりますね。厳しい……。
67
- #@# FIXME:TeXのキャプションfootnote問題
68
-
69
- #@# //image[ball][ボール@<fn>{madebygimp}]{
70
- //image[ball][ボール]{
65
+ //image[ball][ボール@<fn>{madebygimp}]{
71
66
  //}
72
67
 
73
68
  //footnote[madebygimp][GIMPのフィルタで作成。@<br>{}footnote内改行]
@@ -86,11 +81,8 @@ $ @<b>{ls /}
86
81
  === 表
87
82
  表はtableを使います。@<table>{tab2-1}
88
83
 
89
- tableもキャプション・セル内含めてTeXでは脚注できないですね…
90
- 本当は→@<fn>{tabalign}はキャプション内。TeXだとセル内の脚注は脚注文書が消えています。
91
-
92
- #@# //table[tab2-1][表の@<b>{例}@<fn>{tabalign}]{
93
- //table[tab2-1][表の@<b>{例}]{
84
+ //table[tab2-1][表の@<b>{例}@<fn>{tabalign}]{
85
+ #@#//table[tab2-1][表の@<b>{}]{
94
86
  A B C
95
87
  ----------------------------------
96
88
  D E@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code} F@<br>{}G
@@ -111,7 +103,7 @@ D E@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code} F@<br>{}G
111
103
  H I 長いセルの折り返し■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
112
104
  //}
113
105
 
114
- TeXの普通のクラスファイルだと、列指定はl,c,r,p(幅指定+左均等)しかないので、幅指定+左寄せ(均等なし)、幅指定+中寄せ、幅指定+右寄せの指定ができると嬉しそうです。
106
+ TeXの普通のクラスファイルだと、列指定はl,c,r,p(幅指定+左均等)しかないのですが、Re:VIEWのスタイルファイルでL(幅指定+左寄せ,均等なし)、C(幅指定+中寄せ)、R(幅指定+右寄せ)を指定可能です。
115
107
 
116
108
  あとは縦に長い表がTeXだとそのままはみ出してしまうのでlongtableがあるけれどもそれはまた問題がいろいろあり……。
117
109
 
@@ -324,6 +316,7 @@ a_{m1} & \cdots & a_{mn}
324
316
  網カケ@<ami>{amiアミ} @<balloon>{ふきだし説明}
325
317
  //}
326
318
 
319
+ === 見出し内 @<b>{BOLD},@<i>{ITALIC},@<tt>{TT},@<strong>{STRONG},@<em>{EM},@<code>{CODE},@<ttb>{TTB},@<tti>{TTI},@<ami>{AMI},@<bou>{BOU},@<kw>{KW},@<u>{UNDERLINE}
327
320
 
328
321
  ==={crossref} 参照
329
322
  #@# FIXME:任意ラベルを使うと、EPUBチェックエラーになることがある?
@@ -331,7 +324,6 @@ a_{m1} & \cdots & a_{mn}
331
324
  * 章番号:@<chap>{ch01}、@<chap>{appA}、@<chap>{part2}、@<chap>{bib}
332
325
  * 章題:@<title>{ch01}、@<title>{part2}、@<title>{appA}、@<title>{bib}
333
326
  * 章番号+題:@<chapref>{ch02}、@<chapref>{part2}、@<chapref>{appA}、@<chapref>{bib}
334
- #@# FIXME:TeXで、部が実際のページではIIなのに参照では2になっているのはおかしい→i18n.ymlがおかしいせいか
335
327
 
336
328
  節や項への参照はhdを使います。
337
329
 
@@ -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,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: 4.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,6 +29,12 @@ 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
40
  sh("review-compile --target=#{mode} --footnotetext --stylesheet=style.css #{chapter} > tmp")
@@ -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'
@@ -93,21 +104,25 @@ SRC_PDF = FileList['layouts/*.erb', 'sty/**/*.sty']
93
104
 
94
105
  file BOOK_PDF => SRC + SRC_PDF do
95
106
  FileUtils.rm_rf([BOOK_PDF, BOOK, BOOK + '-pdf'])
96
- sh "review-pdfmaker #{CONFIG_FILE}"
107
+ sh "review-pdfmaker #{PDF_OPTIONS} #{CONFIG_FILE}"
97
108
  end
98
109
 
99
110
  file BOOK_EPUB => SRC + SRC_EPUB do
100
111
  FileUtils.rm_rf([BOOK_EPUB, BOOK, BOOK + '-epub'])
101
- sh "review-epubmaker #{CONFIG_FILE}"
112
+ sh "review-epubmaker #{EPUB_OPTIONS} #{CONFIG_FILE}"
102
113
  end
103
114
 
104
115
  file WEBROOT => SRC do
105
116
  FileUtils.rm_rf([WEBROOT])
106
- sh "review-webmaker #{CONFIG_FILE}"
117
+ sh "review-webmaker #{WEB_OPTIONS} #{CONFIG_FILE}"
107
118
  end
108
119
 
109
120
  file TEXTROOT => SRC do
110
121
  FileUtils.rm_rf([TEXTROOT])
111
122
  end
112
123
 
113
- CLEAN.include([BOOK, BOOK_PDF, BOOK_EPUB, BOOK + '-pdf', BOOK + '-epub', WEBROOT, 'images/_review_math', TEXTROOT])
124
+ file IDGXMLROOT => SRC do
125
+ FileUtils.rm_rf([IDGXMLROOT])
126
+ end
127
+
128
+ CLEAN.include([BOOK, BOOK_PDF, BOOK_EPUB, BOOK + '-pdf', BOOK + '-epub', WEBROOT, 'images/_review_math', 'images/_review_math_text', TEXTROOT, IDGXMLROOT])
@@ -102,16 +102,16 @@
102
102
  <%- end -%>
103
103
 
104
104
  \def\reviewbackcompatibilityhook{
105
- \@ifundefined{reviewimagecaption}{% for 3.0.0 compatibility
105
+ \ifdefined\reviewimagecaption\else% for 3.0.0 compatibility
106
106
  \newcommand{\reviewimagecaption}[1]{\caption{##1}}
107
- }
108
- \@ifundefined{reviewincludegraphics}{% for 3.2.0 compatibility
107
+ \fi
108
+ \ifdefined\reviewincludegraphics\else% for 3.2.0 compatibility
109
109
  \DeclareRobustCommand{\reviewincludegraphics}[2][]{%
110
110
  \includegraphics[##1]{##2}}
111
- }
112
- \@ifundefined{covermatter}{% for 4.0.0 compatibility
111
+ \fi
112
+ \ifdefined\covermatter\else% for 4.0.0 compatibility
113
113
  \def\covermatter{}
114
- }
114
+ \fi
115
115
  }
116
116
 
117
117
  \makeatother
@@ -1,3 +1,4 @@
1
+ \ProvidesClass{review-base}[2020/01/02]
1
2
  % jlreq用基本設定
2
3
  \def\recls@tmp{luatex}\ifx\recls@tmp\recls@driver
3
4
  \hypersetup{
@@ -27,19 +28,19 @@
27
28
 
28
29
  % コードリスト装飾のデフォルト
29
30
  \newenvironment{reviewemlist}{%
30
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=black!10,colframe=black!10,boxrule=0mm,arc=0mm]\ifdefined\reviewlistxkanjiskip\xkanjiskip=\reviewlistxkanjiskip\fi\begin{alltt}}%
31
+ \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=black!10,colframe=black!10,boxrule=0mm,arc=0mm]\ifdefined\reviewlistxkanjiskip\setxkanjiskip{\reviewlistxkanjiskip}\fi\begin{alltt}}%
31
32
  {\end{alltt}\end{tcolorbox}}
32
33
 
33
34
  \newenvironment{reviewlist}{%
34
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=white,colframe=black,boxrule=0.15mm,arc=0mm]\ifdefined\reviewlistxkanjiskip\xkanjiskip=\reviewlistxkanjiskip\fi\begin{alltt}}%
35
+ \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=white,colframe=black,boxrule=0.15mm,arc=0mm]\ifdefined\reviewlistxkanjiskip\setxkanjiskip{\reviewlistxkanjiskip}\fi\begin{alltt}}%
35
36
  {\end{alltt}\end{tcolorbox}}
36
37
 
37
38
  \newenvironment{reviewsource}{%
38
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=white,colframe=black,boxrule=0.15mm,arc=0mm]\ifdefined\reviewlistxkanjiskip\xkanjiskip=\reviewlistxkanjiskip\fi\begin{alltt}}%
39
+ \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=white,colframe=black,boxrule=0.15mm,arc=0mm]\ifdefined\reviewlistxkanjiskip\setxkanjiskip{\reviewlistxkanjiskip}\fi\begin{alltt}}%
39
40
  {\end{alltt}\end{tcolorbox}}
40
41
 
41
42
  \newenvironment{reviewcmd}{%
42
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=black!99,coltext=white,colframe=black!99,boxrule=0mm,arc=0mm]\ifdefined\reviewlistxkanjiskip\xkanjiskip=\reviewlistxkanjiskip\fi\begin{alltt}}%
43
+ \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}}%
43
44
  {\end{alltt}\end{tcolorbox}}
44
45
 
45
46
  % 図
@@ -177,6 +178,15 @@
177
178
 
178
179
  % allow break line in tt
179
180
  % contributed by @zr_tex8r
181
+ \g@addto@macro\pdfstringdefPreHook{% for PDF bookmarks
182
+ \def\reviewami#1{#1}
183
+ \def\reviewbreakall#1{#1}
184
+ \def\reviewballoon#1{#1}
185
+ \def\reviewbou#1{#1}
186
+ \def\reviewkw#1{#1}
187
+ \def\reviewstrike#1{#1}
188
+ \def\reviewunderline#1{#1}
189
+ }
180
190
  \newif\ifreview@ba@break
181
191
  \def\review@ba@end{\review@ba@end@}
182
192
  \DeclareRobustCommand{\reviewbreakall}[1]{%
@@ -20,7 +20,7 @@
20
20
  % THE SOFTWARE.
21
21
 
22
22
  \NeedsTeXFormat{LaTeX2e}
23
- \ProvidesClass{review-jlreq}[2019/01/01 Re:VIEW pLaTeX class modified for jlreq.
23
+ \ProvidesClass{review-jlreq}[2019/11/11 Re:VIEW pLaTeX class modified for jlreq.
24
24
  cls]
25
25
 
26
26
  %% hook at end of reviewmacro
@@ -340,5 +340,14 @@ cls]
340
340
  \def\coverpagezero#1{\expandafter\@coverpagezero\csname c@#1\endcsname}
341
341
  \def\@coverpagezero#1{cover}
342
342
 
343
+ %% xkanjiskip抽象化
344
+ \newcommand*\setxkanjiskip[1]{%
345
+ \def\recls@tmp{lualatex}\ifx\recls@tmp\recls@engine
346
+ \ltjsetparameter{xkanjiskip={#1}}
347
+ \else
348
+ \xkanjiskip=#1\relax
349
+ \fi
350
+ }
351
+
343
352
  \listfiles
344
353
  \endinput
@@ -1,5 +1,5 @@
1
1
  \NeedsTeXFormat{LaTeX2e}
2
- \ProvidesPackage{review-style}[2018/10/05]
2
+ \ProvidesPackage{review-style}[2019/09/16]
3
3
 
4
4
  %% using Helvetica as sans-serif
5
5
  \renewcommand{\sfdefault}{phv}
@@ -1,3 +1,4 @@
1
+ \ProvidesClass{review-base}[2020/01/02]
1
2
  \RequirePackage{ifthen}
2
3
  \@ifundefined{Hy@Info}{% for jsbook.cls
3
4
  \RequirePackage[dvipdfmx,bookmarks=true,bookmarksnumbered=true]{hyperref}
@@ -267,6 +268,15 @@
267
268
 
268
269
  % allow break line in tt
269
270
  % contributed by @zr_tex8r
271
+ \g@addto@macro\pdfstringdefPreHook{% for PDF bookmarks
272
+ \def\reviewami#1{#1}
273
+ \def\reviewbreakall#1{#1}
274
+ \def\reviewballoon#1{#1}
275
+ \def\reviewbou#1{#1}
276
+ \def\reviewkw#1{#1}
277
+ \def\reviewstrike#1{#1}
278
+ \def\reviewunderline#1{#1}
279
+ }
270
280
  \newif\ifreview@ba@break
271
281
  \def\review@ba@end{\review@ba@end@}
272
282
  \DeclareRobustCommand{\reviewbreakall}[1]{%
@@ -21,7 +21,7 @@
21
21
 
22
22
  \NeedsTeXFormat{pLaTeX2e}
23
23
  \ProvidesClass{review-jsbook}
24
- [2018/09/30 v3.0 Re:VIEW pLaTeX class modified for jsbook.cls]
24
+ [2019/09/22 v4.0 Re:VIEW pLaTeX class modified for jsbook.cls]
25
25
 
26
26
  \def\recls@error{\ClassError{review-jsbook}}
27
27
  \def\recls@warning{\ClassWarning{review-jsbook}}
@@ -1,5 +1,5 @@
1
1
  \NeedsTeXFormat{LaTeX2e}
2
- \ProvidesPackage{review-style}[2018/07/01]
2
+ \ProvidesPackage{review-style}[2019/09/16]
3
3
 
4
4
  \RequirePackage{fancyhdr}
5
5
  \pagestyle{fancy}
@@ -48,16 +48,16 @@
48
48
  \def\reviewpostdeffiles{}
49
49
 
50
50
  \def\reviewbackcompatibilityhook{
51
- \@ifundefined{reviewimagecaption}{% for 3.0.0 compatibility
51
+ \ifdefined\reviewimagecaption\else% for 3.0.0 compatibility
52
52
  \newcommand{\reviewimagecaption}[1]{\caption{##1}}
53
- }
54
- \@ifundefined{reviewincludegraphics}{% for 3.2.0 compatibility
53
+ \fi
54
+ \ifdefined\reviewincludegraphics\else% for 3.2.0 compatibility
55
55
  \DeclareRobustCommand{\reviewincludegraphics}[2][]{%
56
56
  \includegraphics[##1]{##2}}
57
- }
58
- \@ifundefined{covermatter}{% for 4.0.0 compatibility
57
+ \fi
58
+ \ifdefined\covermatter\else% for 4.0.0 compatibility
59
59
  \def\covermatter{}
60
- }
60
+ \fi
61
61
  }
62
62
 
63
63
  \makeatother
@@ -59,16 +59,16 @@ some ad content
59
59
  \def\reviewpostdeffiles{}
60
60
 
61
61
  \def\reviewbackcompatibilityhook{
62
- \@ifundefined{reviewimagecaption}{% for 3.0.0 compatibility
62
+ \ifdefined\reviewimagecaption\else% for 3.0.0 compatibility
63
63
  \newcommand{\reviewimagecaption}[1]{\caption{##1}}
64
- }
65
- \@ifundefined{reviewincludegraphics}{% for 3.2.0 compatibility
64
+ \fi
65
+ \ifdefined\reviewincludegraphics\else% for 3.2.0 compatibility
66
66
  \DeclareRobustCommand{\reviewincludegraphics}[2][]{%
67
67
  \includegraphics[##1]{##2}}
68
- }
69
- \@ifundefined{covermatter}{% for 4.0.0 compatibility
68
+ \fi
69
+ \ifdefined\covermatter\else% for 4.0.0 compatibility
70
70
  \def\covermatter{}
71
- }
71
+ \fi
72
72
  }
73
73
 
74
74
  \makeatother