review-retrovert 0.9.7 → 0.9.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +9 -0
  3. data/.editorconfig +3 -0
  4. data/.github/workflows/retrovert.yml +20 -5
  5. data/.gitignore +1 -0
  6. data/.vscode/launch.json +48 -0
  7. data/Gemfile.lock +13 -4
  8. data/Makefile +24 -0
  9. data/docker/review.Dockerfile +10 -0
  10. data/lib/review/retrovert/converter.rb +374 -111
  11. data/lib/review/retrovert/reviewcompat.rb +57 -0
  12. data/lib/review/retrovert/reviewdef.rb +70 -0
  13. data/lib/review/retrovert/sty/{ird.sty → ird.sty.erb} +9 -1
  14. data/lib/review/retrovert/sty/review-retrovert-custom.sty.erb +6 -0
  15. data/lib/review/retrovert/utils.rb +35 -0
  16. data/lib/review/retrovert/version.rb +1 -1
  17. data/lib/review/retrovert/yamlconfig.rb +0 -1
  18. data/package-lock.json +6 -0
  19. data/package.json +1 -0
  20. data/review-retrovert.gemspec +5 -1
  21. data/testdata/mybook/.gitignore +3 -1
  22. data/testdata/mybook/.textlintrc +11 -0
  23. data/testdata/mybook/Rakefile +8 -0
  24. data/testdata/mybook/catalog.yml +36 -10
  25. data/testdata/mybook/config-starter.yml +134 -9
  26. data/testdata/mybook/config.yml +44 -15
  27. data/testdata/mybook/contents/00-preface.re +48 -2
  28. data/testdata/mybook/contents/01-install.re +38 -5
  29. data/testdata/mybook/contents/02-tutorial.re +333 -113
  30. data/testdata/mybook/contents/03-syntax.re +2370 -373
  31. data/testdata/mybook/contents/04-customize.re +424 -88
  32. data/testdata/mybook/contents/05-faq.re +288 -10
  33. data/testdata/mybook/contents/06-bestpractice.re +431 -59
  34. data/testdata/mybook/contents/91-compare.re +402 -2
  35. data/testdata/mybook/contents/92-filelist.re +14 -8
  36. data/testdata/mybook/contents/93-background.re +10 -10
  37. data/testdata/mybook/contents/99-postface.re +2 -1
  38. data/testdata/mybook/contents/r0-root.re +1 -1
  39. data/testdata/mybook/css/webstyle.css +180 -2
  40. data/testdata/mybook/data/terms.txt +3 -0
  41. data/testdata/mybook/data/words.txt +15 -0
  42. data/testdata/mybook/images/03-syntax/index-page.png +0 -0
  43. data/testdata/mybook/images/03-syntax/order-detail.png +0 -0
  44. data/testdata/mybook/images/04-customize/section_decoration_samples.png +0 -0
  45. data/testdata/mybook/images/05-faq/dummy-image.png +0 -0
  46. data/testdata/mybook/images/06-bestpractice/section_title_wlines.png +0 -0
  47. data/testdata/mybook/images/avatar-b.png +0 -0
  48. data/testdata/mybook/images/avatar-g.png +0 -0
  49. data/testdata/mybook/images/avatar-r.png +0 -0
  50. data/testdata/mybook/images/caution-icon.png +0 -0
  51. data/testdata/mybook/images/info-icon.png +0 -0
  52. data/testdata/mybook/images/warning-icon.png +0 -0
  53. data/testdata/mybook/layouts/layout.html5.erb +3 -1
  54. data/testdata/mybook/layouts/layout.tex.erb +265 -379
  55. data/testdata/mybook/layouts/layout.tex.erb.orig +386 -0
  56. data/testdata/mybook/lib/ruby/review-book.rb +64 -0
  57. data/testdata/mybook/lib/ruby/review-builder.rb +902 -63
  58. data/testdata/mybook/lib/ruby/review-compiler.rb +675 -22
  59. data/testdata/mybook/lib/ruby/review-epubbuilder.rb +33 -0
  60. data/testdata/mybook/lib/ruby/review-epubmaker.rb +10 -7
  61. data/testdata/mybook/lib/ruby/review-htmlbuilder.rb +354 -66
  62. data/testdata/mybook/lib/ruby/review-latexbuilder.rb +429 -146
  63. data/testdata/mybook/lib/ruby/review-maker.rb +117 -6
  64. data/testdata/mybook/lib/ruby/review-markdownbuilder.rb +945 -0
  65. data/testdata/mybook/lib/ruby/review-markdownmaker.rb +91 -0
  66. data/testdata/mybook/lib/ruby/review-monkeypatch.rb +2 -0
  67. data/testdata/mybook/lib/ruby/review-pdfmaker.rb +160 -82
  68. data/testdata/mybook/lib/ruby/review-webmaker.rb +20 -5
  69. data/testdata/mybook/lib/tasks/review.rake +14 -0
  70. data/testdata/mybook/lib/tasks/starter.rake +148 -4
  71. data/testdata/mybook/sty/indexstyle.ist +25 -0
  72. data/testdata/mybook/sty/mytextsize.sty +29 -0
  73. data/testdata/mybook/sty/mytitlepage.sty +34 -11
  74. data/testdata/mybook/sty/review-base.sty +276 -0
  75. data/testdata/mybook/sty/starter-codeblock.sty +237 -106
  76. data/testdata/mybook/sty/starter-color.sty +72 -17
  77. data/testdata/mybook/sty/starter-heading.sty +60 -13
  78. data/testdata/mybook/sty/starter-misc.sty +894 -0
  79. data/testdata/mybook/sty/starter-note.sty +67 -14
  80. data/testdata/mybook/sty/starter-talklist.sty +105 -0
  81. data/testdata/mybook/sty/starter-util.sty +35 -0
  82. data/testdata/mybook/sty/starter.sty +8 -526
  83. metadata +80 -4
@@ -0,0 +1,57 @@
1
+ require 'review'
2
+
3
+ module ReVIEW
4
+ module Retrovert
5
+ class Preprocessor
6
+ @preprocessor = nil
7
+
8
+ def initialize(param)
9
+ if Gem::Version.new(ReVIEW::VERSION) >= Gem::Version.new('5.2.0')
10
+ @preprocessor = ReVIEW::Preprocessor.new(param)
11
+ else
12
+ @preprocessor = ReVIEW::Preprocessor.new(ReVIEW::Repository.new(param), param)
13
+ end
14
+ end
15
+
16
+ def process(path)
17
+ if Gem::Version.new(ReVIEW::VERSION) >= Gem::Version.new('5.2.0')
18
+ @preprocessor.process(path)
19
+ else
20
+ buf = StringIO.new
21
+ File.open(path) { |f| @preprocessor.process(f, buf) }
22
+ buf.string
23
+ end
24
+ end
25
+ end
26
+
27
+ class ReViewCompat
28
+ class << self
29
+ def has_nested_minicolumn()
30
+ Gem::Version.new(ReVIEW::VERSION) >= Gem::Version.new('5.0.0')
31
+ end
32
+
33
+ def is_need_space_term_list()
34
+ Gem::Version.new(ReVIEW::VERSION) >= Gem::Version.new('4.0.0')
35
+ end
36
+
37
+ def is_allow_empty_image_caption()
38
+ v = Gem::Version.new(ReVIEW::VERSION)
39
+ v < Gem::Version.new('4.0.0') || v >= Gem::Version.new('5.1.0')
40
+ end
41
+
42
+ def has_bou()
43
+ Gem::Version.new(ReVIEW::VERSION) >= Gem::Version.new('3.2.0')
44
+ end
45
+
46
+ def Preprocessor(param)
47
+ Preprocessor.new(param)
48
+ end
49
+
50
+ def Catalog(path)
51
+ ReVIEW::Catalog.new(File.open(path))
52
+ end
53
+
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,70 @@
1
+ module ReVIEW
2
+ module Retrovert
3
+ class ReViewDef
4
+ class << self
5
+ attr_accessor :r_option_inner
6
+
7
+ def is_has_id_block_command(cmd)
8
+ no_id_block_command().none?(cmd)
9
+ end
10
+
11
+ def fence_close(open)
12
+ case open
13
+ when "$", "|" then
14
+ return open
15
+ when "{" then
16
+ return "}"
17
+ end
18
+ nil
19
+ end
20
+
21
+ # id 指定しないブロックコマンド
22
+ def no_id_block_command()
23
+ [
24
+ "emlist",
25
+ "emlistnum",
26
+ "emtable",
27
+ "note",
28
+ "memo",
29
+ "info",
30
+ "warning",
31
+ "important",
32
+ "caution",
33
+ "notice",
34
+ ]
35
+ end
36
+
37
+ # id 参照するインラインコマンド
38
+ def id_ref_inline_commands()
39
+ [
40
+ "list",
41
+ "img",
42
+ "table",
43
+ "eq",
44
+ ]
45
+ end
46
+
47
+ # キャプションを取得する
48
+ def get_caption(line)
49
+ m = line.match(/^\/\/(\w+?)((\[#{r_option_inner}\])*)([$|{])*$/)
50
+ if m
51
+ cmd = m[1]
52
+ options = m[2]
53
+ if options
54
+ if no_id_block_command().include?(cmd)
55
+ n = options.match(/\[(#{r_option_inner})\].*/)
56
+ return n[1] if n
57
+ else
58
+ n = options.match(/\[#{r_option_inner}\]\[(#{@r_option_inner})\].*/)
59
+ return n[1] if n
60
+ end
61
+ end
62
+ end
63
+ nil
64
+ end
65
+ end
66
+
67
+ self.r_option_inner = '(.*?\\[.*?\\\\\\].*?)*.*?'
68
+ end
69
+ end
70
+ end
@@ -198,6 +198,8 @@
198
198
  \vspace{-5.5pt}
199
199
  }
200
200
 
201
+ <% if Gem::Version.new(ReVIEW::VERSION) >= Gem::Version.new('3.1.0') %>
202
+
201
203
  % \renewcommand\reviewimagecaption[1]{%
202
204
  % \captionsetup{format=hang,font=scriptsize,labelfont=bf,margin=50pt,name=図}
203
205
  % \caption{ \bfseries\scriptsize{#1}} \vspace{-1.5mm}}
@@ -214,6 +216,8 @@
214
216
  % \includegraphics[#1]{#2}}%
215
217
  % }
216
218
 
219
+ <% end %>
220
+
217
221
  %
218
222
  % 表
219
223
  %
@@ -276,8 +280,10 @@
276
280
  % cmd
277
281
  %
278
282
 
283
+ <% if Gem::Version.new(ReVIEW::VERSION) >= Gem::Version.new('3.1.0') %>
279
284
  \renewenvironment{reviewlistblock}{\needspace{\Cvs}}{}
280
285
 
286
+ <% end %>
281
287
  \renewenvironment{reviewcmd}{%
282
288
  \medskip%
283
289
  \ifdefined\reviewlistxkanjiskip%
@@ -314,5 +320,7 @@
314
320
  % \vspace*{-0.2mm}% 枠の後ろの余白の調整
315
321
  % }
316
322
 
317
- % code
323
+ <% if Gem::Version.new(ReVIEW::VERSION) >= Gem::Version.new('3.1.0') %>
324
+ % code
318
325
  \DeclareRobustCommand{\reviewcode}[1]{{\small\ttfamily\reviewbreakall{#1}}}
326
+ <% end %>
@@ -0,0 +1,6 @@
1
+ % for retrovert comaptible macro
2
+
3
+ <% if Gem::Version.new(ReVIEW::VERSION) >= Gem::Version.new('5.1.0') %>
4
+ \usepackage{ulem}
5
+ \renewcommand{\reviewstrike}[1]{\sout{#1}}
6
+ <% end %>
@@ -0,0 +1,35 @@
1
+ require 'csv'
2
+
3
+ module ReVIEW
4
+ module Retrovert
5
+ class Utils
6
+ class << self
7
+
8
+ # tsv to csv
9
+ def Tsv2Csv(infile, outfile)
10
+ File.open(infile, 'r') do |file|
11
+ CSV.open(outfile, 'w') do |csv|
12
+ file.each_line do |line|
13
+ csv << line.chomp.split(/\t+/)
14
+ end
15
+ end
16
+ end
17
+ end
18
+
19
+ def NormalizeCSVArray(ar)
20
+ ar&.each do |c|
21
+ c.gsub!(/\A"|"\z/, '')
22
+ c.gsub!(/^\s*/, '')
23
+ c.gsub!(/[\r\n]/, '')
24
+ end
25
+ ar
26
+ end
27
+
28
+ def GenerateTsv(c)
29
+ CSV.generate_line(Utils::NormalizeCSVArray(c), col_sep: "\t")
30
+ end
31
+
32
+ end
33
+ end
34
+ end
35
+ end
@@ -1,5 +1,5 @@
1
1
  module ReVIEW
2
2
  module Retrovert
3
- VERSION = "0.9.7"
3
+ VERSION = "0.9.8"
4
4
  end
5
5
  end
@@ -131,7 +131,6 @@ module ReVIEW
131
131
  # YAML.dump(yaml, File.open(yamlfile, "w"))
132
132
  content = Psych.dump(yaml)
133
133
  content.gsub!('---','')
134
- content.gsub!(/^(.*):\s*$/, '\1: null')
135
134
  File.write(yamlfile, content)
136
135
  }
137
136
  end
data/package-lock.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "review-retrovert",
3
+ "lockfileVersion": 2,
4
+ "requires": true,
5
+ "packages": {}
6
+ }
data/package.json ADDED
@@ -0,0 +1 @@
1
+ {}
@@ -28,6 +28,10 @@ Gem::Specification.new do |spec|
28
28
  spec.require_paths = ["lib"]
29
29
 
30
30
  spec.add_dependency "thor"
31
- spec.add_development_dependency "aruba"
31
+ spec.add_development_dependency "rspec", ['~> 3.0']
32
+ spec.add_development_dependency "rake", ['~> 12.0']
33
+ spec.add_development_dependency 'aruba', ['~> 1.0.2']
34
+ spec.add_development_dependency "ruby-debug-ide"
35
+ # spec.add_development_dependency "debase"
32
36
  spec.add_runtime_dependency "review", ['>= 3.0.0']
33
37
  end
@@ -2,6 +2,8 @@
2
2
  *~
3
3
  *.bak
4
4
  *.yml.orig
5
- *.erb.orig
5
+ #*.erb.orig
6
+ rubygems/*
6
7
  tmp/*
7
8
  mybook-pdf/*
9
+ mybook-md/*
@@ -0,0 +1,11 @@
1
+ {
2
+ "filters": {
3
+ }
4
+ , "rules": {
5
+ "preset-japanese": false
6
+ , "preset-ja-technical-writing": true
7
+ , "preset-jtf-style": false
8
+ , "preset-ja-spacing": false
9
+ , "preset-ja-engineering-paper": false
10
+ }
11
+ }
@@ -3,10 +3,18 @@
3
3
  ## Instead, edit 'lib/tasks/mytasks.rake' file.
4
4
  ##
5
5
 
6
+ ## `gem install foobar` will raise error in macOS.
7
+ ## the following is a hack to avoid that error.
8
+ rubygems_dir = File.join(Dir.pwd, 'rubygems')
9
+ if ENV['GEM_HOME'].to_s.empty? && File.directory?(rubygems_dir)
10
+ #ENV['GEM_HOME'] = rubygems_dir
11
+ Gem.paths = {'GEM_HOME' => rubygems_dir}
12
+ end
6
13
  Dir.glob('lib/tasks/*.rake').each do |file|
7
14
  load(file)
8
15
  end
9
16
 
17
+ ##
10
18
  desc "+ list tasks"
11
19
  task :help do
12
20
  sh "rake -T"
@@ -1,6 +1,14 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ ##
4
+ ## 注:タブ文字を使わないこと(使うとエラーになる)
5
+ ##
6
+
7
+ ## まえがき
1
8
  PREDEF:
2
9
  - 00-preface.re
3
10
 
11
+ ## 本文
4
12
  CHAPS:
5
13
  - 01-install.re
6
14
  - 02-tutorial.re
@@ -10,25 +18,43 @@ CHAPS:
10
18
  - 06-bestpractice.re
11
19
  - r0-root.re
12
20
 
21
+ ## 付録
13
22
  APPENDIX:
14
23
  - 91-compare.re
15
24
  - 92-filelist.re
16
25
  - 93-background.re
17
26
 
27
+ ## あとがき
18
28
  POSTDEF:
19
29
  - 99-postface.re
20
30
 
21
31
  ##
22
- ## Tips
23
- ## 第I部、第II部、…のように「部」を使うには、「CHAPS:」を次のようにする。
32
+ ## Tips
33
+ ##
34
+ ## ・付録やまえがきやあとがきがなければ、空にする。
35
+ ## 例:
36
+ ##
37
+ ## PREDEF:
38
+ ##
39
+ ## CHAPS:
40
+ ## - 01-install.re
41
+ ##
42
+ ## APPENDIX:
43
+ ##
44
+ ## POSTDEF:
45
+ ##
24
46
  ##
25
- ## CHAPS:
26
- ## - 部タイトル:
27
- ## - chap01.re
28
- ## - chap02.re
29
- ## - 部タイトル:
30
- ## - chap03.re
31
- ## - chap04.re
47
+ ## ・第I部、第II部、…のように「部」を使うには、次のようにする。
48
+ ## (部タイトルの最後に半角の「:」をつけることに注意)
32
49
  ##
33
- ## 「部タイトル」の最後に半角の「:」をつけることに注意。
50
+ ## CHAPS:
51
+ ## - 初級編:
52
+ ## - 01-install.re
53
+ ## - 02-tutorial.re
54
+ ## - 中級編:
55
+ ## - 03-syntax.re
56
+ ## - 04-customize.re
57
+ ## - 上級編:
58
+ ## - 05-faq.re
59
+ ## - 06-bestpractice.re
34
60
  ##
@@ -18,6 +18,12 @@ starter:
18
18
  ## ・B5 … 少年ジャンプ、ジャポニカ学習帳の大きさ
19
19
  pagesize: A5 # A5 or B5
20
20
 
21
+ ## 上下左右の塗り足し幅(印刷用PDFのみ)
22
+ ## (参考:https://www.eikou.com/making/basis#nuritashi )
23
+ bleedsize: # 通常は指定しなくてよい
24
+ #bleedsize: 3mm # 背景色を使うなら、上下左右に3mmの塗り足しが必要
25
+ bleedcolor: # 通常は無指定、確認時のみ使用(red/blue/green/yellow/gray)
26
+
21
27
  ## フォントサイズ
22
28
  ## ・A5なら「9pt」、B5なら「10pt」を推奨
23
29
  ## ・初心者向け入門書なら大きめにして、A5「10pt」、B5「11pt」を推奨
@@ -35,6 +41,35 @@ starter:
35
41
  fontweight_ja: normal # (日本語) normal: 通常, light: 細字
36
42
  fontweight_en: normal # (英数字) normal: 通常, light: 細字
37
43
 
44
+ ## 表紙や大扉(タイトルページ)や奥付のページのPDFファイルを指定
45
+ ## ・PDFファイルは `images/` フォルダに置くこと。
46
+ ## ・PDFは1ファイルにつき1ページであること。もし複数ページのPDFを指定する場合は
47
+ ## 取り込むページ番号を `cover.pdf<2>` のように指定すること(実験的機能)。
48
+ ## ・ファイル名の後ろに `*` をつけると、上下左右の塗り足し部分が除かれる。
49
+ ## ・必要なら配列を使って複数ファイルを指定可能(例: [a.pdf, b.pdf])。
50
+ frontcover_pdffile: cover_a5.pdf # 表表紙(電子用のみ、印刷用にはつかない)
51
+ #frontcover_pdffile: cover.pdf<2>* # (ページ番号を指定し、塗り足しを除く場合)
52
+ backcover_pdffile: null # 裏表紙(電子用のみ、印刷用にはつかない)
53
+ titlepage_pdffile: null # 大扉(印刷用・電子用どちらにもつく)
54
+ colophon_pdffile: null # 奥付(印刷用・電子用どちらにもつく)
55
+ includepdf_option: null # PDFの位置調整が必要な場合
56
+ #includepdf_option: "offset=-2.3mm 2.3mm" # 位置調整の指定例
57
+
58
+ ## ノンブル(1枚目からの通し番号)の設定
59
+ ## (注:印刷用PDFのときのみ有効、電子用PDFではノンブルはつかない)
60
+ nombre: on # on ならノンブルをつける
61
+ nombre_sidemargin: 0.5mm # ページ左右からのマージン幅
62
+ nombre_bottommargin: 2.0mm # ページ下からのマージン高
63
+ nombre_fontcolor: gray # 'gray' or 'black'
64
+ nombre_fontsize: 6pt # フォントサイズ(6〜8pt)
65
+ nombre_startnumber: 1 # ノンブルの開始番号(3から始める流儀もある)
66
+
67
+ ## 部 (Part) の開始番号(上・下巻に分割する場合に必要)
68
+ part_startnumber: 1 # 5 なら「第5部」から始まる
69
+
70
+ ## 章 (Chapter) の開始番号
71
+ chapter_startnumber: 1 # 0 なら「第0章」から始まる
72
+
38
73
  ## 章 (Chapter) タイトルの装飾
39
74
  ## (none: なし、underline: 下線、boldlines: 上下に太線)
40
75
  chapter_decoration: boldlines
@@ -55,8 +90,9 @@ starter:
55
90
  section_notopmargin: true
56
91
 
57
92
  ## 節 (Section) タイトルの装飾
58
- ## (none: なし、underline: 下線、grayback: 灰色の背景色、leftline: 左に縦線, numbox: 節番号を黒背景に)
59
- ## (節タイトルが長くて二行になる場合は「leftline」または「numbox」がお勧め)
93
+ ## (none: なし、underline: 下線、grayback: 灰色の背景色、
94
+ ## leftline: 左に縦線、numbox: 節番号を黒背景に、circle: 円)
95
+ ## (節タイトルが長くて二行になる場合は「leftline」「numbox」「circle」がお勧め)
60
96
  section_decoration: grayback
61
97
 
62
98
  ## 項 (Subsection) タイトルの装飾
@@ -72,13 +108,7 @@ starter:
72
108
  ## キャプション直後での改ページを防ぐために、最低限必要とする高さ
73
109
  ## (もしキャプション直後での改ページが発生するなら値を増やす。
74
110
  ## もし十分なスペースがあるのに改ページされるなら値を減らす。)
75
- caption_needspace: 4.6zh # 全角文字4.6個分の高さ(実験で得た境界値)
76
-
77
- ## プログラム(//list)のフォントサイズ
78
- program_fontsize: normal # 'normal' or 'small'
79
-
80
- ## ターミナル(//cmd, //terminal)のフォントサイズ
81
- terminal_fontsize: normal # 'normal' or 'small'
111
+ caption_needspace: 4.0zh # 全角文字4個分の高さ(実験で得た境界値)
82
112
 
83
113
  ## プログラム用(//list)の等幅フォント。
84
114
  ## * lmodern … LaTeXのデフォルト。1とl、0とOが見分けにくい。太字が目立たない。
@@ -106,12 +136,64 @@ starter:
106
136
  ## 詳細は https://twitter.com/_kauplan/status/1162167825407963137
107
137
  terminal_widen: 0.0mm # 0.3mmとか
108
138
 
139
+ ## プログラム(//list)のデフォルトオプション
140
+ ## (注:YAMLでは `on, off, ~` は `true, false, null` と同じ)
141
+ program_default_options:
142
+ fold: on # on なら長い行を右端で折り返す
143
+ foldmark: on # on なら折り返し記号をつける
144
+ eolmark: off # on なら行末に改行記号をつける
145
+ lineno: ~ # 1 なら行番号をつける
146
+ linenowidth: ~ # 行番号の幅を半角文字数で指定する
147
+ indent: ~ # インデント幅(指定するとインデント記号がつく)
148
+ fontsize: ~ # null, or small/x-small/xx-smal
149
+ lang: ~ # デフォルトのプログラミング言語名
150
+ #file: ~ # (使用しない)
151
+ encoding: utf-8 # ファイルの文字コード
152
+ widecharfit: off # on なら全角1文字を半角2文字幅に
153
+ charspace: ~ # 文字の間隔を空ける/詰める(例:-0.03em)
154
+
155
+ ## ターミナル(//terminal)のデフォルトオプション
156
+ ## (注:YAMLでは `on, off, ~` は `true, false, null` と同じ)
157
+ terminal_default_options:
158
+ fold: on # on なら長い行を右端で折り返す
159
+ foldmark: on # on なら折り返し記号をつける
160
+ eolmark: off # on なら行末に改行記号をつける
161
+ lineno: ~ # 1 なら行番号をつける
162
+ linenowidth: ~ # 行番号の幅を半角文字数で指定する
163
+ indent: ~ # インデント幅(指定するとインデント記号がつく)
164
+ fontsize: ~ # null, or small/x-small/xx-smal
165
+ lang: ~ # デフォルトのプログラミング言語名
166
+ #file: ~ # (使用しない)
167
+ encoding: utf-8 # ファイルの文字コード
168
+ widecharfit: off # on なら全角1文字を半角2文字幅に
169
+ charspace: ~ # 文字の間隔を空ける/詰める(例:-0.03em)
170
+
109
171
  ## プログラム(//list)を枠で囲むか?
110
172
  program_border: true
111
173
 
112
174
  ## ターミナル(//terminal, //cmd)を枠で囲むか?
113
175
  terminal_border: false
114
176
 
177
+
178
+ ## 出力結果(//output)の設定
179
+ output_ttfont: beramono
180
+ output_widen: 0.0mm # 0.3mmとか
181
+ output_border: true # 枠線で囲むか?
182
+ output_default_options:
183
+ fold: on # on なら長い行を右端で折り返す
184
+ foldmark: on # on なら折り返し記号をつける
185
+ eolmark: off # on なら行末に改行記号をつける
186
+ lineno: ~ # 1 なら行番号をつける
187
+ linenowidth: ~ # 行番号の幅を半角文字数で指定する
188
+ indent: ~ # インデント幅(指定するとインデント記号がつく)
189
+ fontsize: ~ # null, or small/x-small/xx-smal
190
+ lang: ~ # デフォルトのプログラミング言語名
191
+ #file: ~ # (使用しない)
192
+ encoding: utf-8 # ファイルの文字コード
193
+ widecharfit: on # on なら全角1文字を半角2文字幅に
194
+ charspace: ~ # 文字の間隔を空ける/詰める(例:-0.03em)
195
+
196
+
115
197
  ## 文章中の「@<code>{...}」の背景色を薄いグレーにするか?
116
198
  inlinecode_gray: false
117
199
 
@@ -137,3 +219,46 @@ starter:
137
219
 
138
220
  ## @<secref>{}において、親の節のタイトルを含めるか?
139
221
  secref_parenttitle: false # trueなら親の節のタイトルを含める
222
+
223
+ ## PDF中のテキストをマウスで選択したとき、折り返し記号やインデント記号を選択対象から外すか?
224
+ ## ・trueだとコンパイル時間が大幅に増えるので、デフォルトではfalse。
225
+ ## ・環境変数「$STARTER_EXCLUDE_MOUSESELECT=on」でもtrueにできる。
226
+ ## ・AcrobatReaderでは機能するが、macOS Preview.appでは機能しない。
227
+ exclude_mouseselect: false
228
+
229
+
230
+ ## 説明リスト(`//desclist`)のデフォルトオプション
231
+ ## (注:YAMLでは `on` は `true` と同じ、`off` は `false` と同じ)
232
+ desclist_default_options:
233
+ indent: 3zw # 説明文の左側の空き幅
234
+ space: 1zw # キーや用語の直後の空き幅
235
+ bold: off # on ならキーや用語を太字に
236
+ compact: off # on ならキーや用語の直後で改行しない
237
+ listmargin: 0.5zw # 説明リスト上下の空きの高さ
238
+ itemmargin: 0mm # 説明項目間の空きの高さ
239
+ classname: # HTMLタグに含めるクラス名
240
+
241
+ ## 会話形式(`//talklist`)のデフォルトオプション
242
+ ## (注:YAMLでは `on` は `true` と同じ、`off` は `false` と同じ)
243
+ talklist_default_options:
244
+ indent: 6zw # 本文左端から会話部分までの幅
245
+ separator: ":" # 名前と会話文との区切り文字列
246
+ imagewidth: 4zw # 画像幅
247
+ imageheight: # 画像高さ(通常は無指定でよい)
248
+ imageborder: off # on なら画像に枠線をつける
249
+ needvspace: 4zw # 必要な空きがなければ改ページ
250
+ itemmargin: 1mm # 会話項目間の空き
251
+ listmargin: 0.5zw # 会話リストの最初と最後の空き
252
+ itemstart: "「" # 会話文の先頭につける文字列
253
+ itemend: "」" # 会話文の最後につける文字列
254
+ classname: # HTMLタグに含めるクラス名
255
+
256
+ ## 大量の会話形式をより簡単に入力するための設定
257
+ ## (例:`//t[b1]` が `//talk[avatar-b][]` の短縮形となる)
258
+ talk_shortcuts:
259
+ ## アイコン画像を使う場合
260
+ "b1": {image: "avatar-b"}
261
+ "g1": {image: "avatar-g"}
262
+ ## アイコン画像を使わない場合
263
+ #"b1": {name: "アリス"}
264
+ #"g1": {name: "ボブ"}