review-retrovert 0.3.3 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/retrovert.yml +39 -0
  3. data/.gitignore +2 -2
  4. data/.ruby-version +1 -0
  5. data/Gemfile +1 -0
  6. data/Gemfile.lock +67 -1
  7. data/README.md +6 -3
  8. data/lib/review/retrovert/converter.rb +231 -6
  9. data/lib/review/retrovert/version.rb +1 -1
  10. data/review-retrovert.gemspec +1 -1
  11. data/testdata/mybook/.gitignore +7 -0
  12. data/testdata/mybook/README.md +43 -0
  13. data/testdata/mybook/Rakefile +16 -0
  14. data/testdata/mybook/catalog.yml +33 -0
  15. data/testdata/mybook/config-starter.yml +139 -0
  16. data/testdata/mybook/config.yml +375 -0
  17. data/testdata/mybook/contents/00-preface.re +83 -0
  18. data/testdata/mybook/contents/01-install.re +272 -0
  19. data/testdata/mybook/contents/02-tutorial.re +1008 -0
  20. data/testdata/mybook/contents/03-syntax.re +2613 -0
  21. data/testdata/mybook/contents/04-customize.re +728 -0
  22. data/testdata/mybook/contents/05-faq.re +328 -0
  23. data/testdata/mybook/contents/06-bestpractice.re +971 -0
  24. data/testdata/mybook/contents/91-compare.re +18 -0
  25. data/testdata/mybook/contents/92-filelist.re +119 -0
  26. data/testdata/mybook/contents/93-background.re +267 -0
  27. data/testdata/mybook/contents/99-postface.re +38 -0
  28. data/testdata/mybook/css/normalize.css +349 -0
  29. data/testdata/mybook/css/webstyle.css +514 -0
  30. data/testdata/mybook/images/03-syntax/favicon-16x16.png +0 -0
  31. data/testdata/mybook/images/03-syntax/figure_heretop.png +0 -0
  32. data/testdata/mybook/images/03-syntax/tw-icon1.jpg +0 -0
  33. data/testdata/mybook/images/03-syntax/tw-icon2.jpg +0 -0
  34. data/testdata/mybook/images/03-syntax/tw-icon3.jpg +0 -0
  35. data/testdata/mybook/images/03-syntax/tw-icon4.jpg +0 -0
  36. data/testdata/mybook/images/04-customize/caption_pagebreak.png +0 -0
  37. data/testdata/mybook/images/04-customize/chaptitlepage_sample.png +0 -0
  38. data/testdata/mybook/images/05-faq/codeblock_rpadding1.png +0 -0
  39. data/testdata/mybook/images/05-faq/codeblock_rpadding2.png +0 -0
  40. data/testdata/mybook/images/06-bestpractice/figure_heretop.png +0 -0
  41. data/testdata/mybook/images/06-bestpractice/font_beramono.png +0 -0
  42. data/testdata/mybook/images/06-bestpractice/heading_design1.png +0 -0
  43. data/testdata/mybook/images/06-bestpractice/heading_design2.png +0 -0
  44. data/testdata/mybook/images/06-bestpractice/margin_book.png +0 -0
  45. data/testdata/mybook/images/06-bestpractice/multiline-title.png +0 -0
  46. data/testdata/mybook/images/06-bestpractice/preface_numbered.png +0 -0
  47. data/testdata/mybook/images/06-bestpractice/program_border.png +0 -0
  48. data/testdata/mybook/images/06-bestpractice/sechead_design_4.png +0 -0
  49. data/testdata/mybook/images/06-bestpractice/titlepage-samples.png +0 -0
  50. data/testdata/mybook/images/93-background/bug913.png +0 -0
  51. data/testdata/mybook/images/93-background/slide2.png +0 -0
  52. data/testdata/mybook/images/cover_a5.pdf +0 -0
  53. data/testdata/mybook/images/cover_b5.pdf +0 -0
  54. data/testdata/mybook/images/tw-icon.jpg +0 -0
  55. data/testdata/mybook/layouts/layout.epub.erb +29 -0
  56. data/testdata/mybook/layouts/layout.html5.erb +106 -0
  57. data/testdata/mybook/layouts/layout.tex.erb +546 -0
  58. data/testdata/mybook/lib/hooks/beforetexcompile.rb +55 -0
  59. data/testdata/mybook/lib/ruby/review-builder.rb +503 -0
  60. data/testdata/mybook/lib/ruby/review-cli.rb +58 -0
  61. data/testdata/mybook/lib/ruby/review-compiler.rb +523 -0
  62. data/testdata/mybook/lib/ruby/review-epubmaker.rb +606 -0
  63. data/testdata/mybook/lib/ruby/review-htmlbuilder.rb +661 -0
  64. data/testdata/mybook/lib/ruby/review-latexbuilder.rb +782 -0
  65. data/testdata/mybook/lib/ruby/review-maker.rb +235 -0
  66. data/testdata/mybook/lib/ruby/review-monkeypatch.rb +91 -0
  67. data/testdata/mybook/lib/ruby/review-pdfmaker.rb +468 -0
  68. data/testdata/mybook/lib/ruby/review-textbuilder.rb +36 -0
  69. data/testdata/mybook/lib/ruby/review-tocparser.rb +285 -0
  70. data/testdata/mybook/lib/ruby/review-webmaker.rb +433 -0
  71. data/testdata/mybook/lib/tasks/mytasks.rake +31 -0
  72. data/testdata/mybook/lib/tasks/review.rake +142 -0
  73. data/testdata/mybook/lib/tasks/review.rake.orig +72 -0
  74. data/testdata/mybook/lib/tasks/starter.rake +326 -0
  75. data/testdata/mybook/locale.yml +6 -0
  76. data/testdata/mybook/review-ext.rb +206 -0
  77. data/testdata/mybook/sty/jumoline.sty +310 -0
  78. data/testdata/mybook/sty/mycolophon.sty +81 -0
  79. data/testdata/mybook/sty/mystyle.sty +8 -0
  80. data/testdata/mybook/sty/mytextsize.sty +61 -0
  81. data/testdata/mybook/sty/mytitlepage.sty +103 -0
  82. data/testdata/mybook/sty/reviewmacro.sty +60 -0
  83. data/testdata/mybook/sty/starter-codeblock.sty +332 -0
  84. data/testdata/mybook/sty/starter-color.sty +79 -0
  85. data/testdata/mybook/sty/starter-font.sty +112 -0
  86. data/testdata/mybook/sty/starter-heading.sty +514 -0
  87. data/testdata/mybook/sty/starter-note.sty +127 -0
  88. data/testdata/mybook/sty/starter-section.sty +262 -0
  89. data/testdata/mybook/sty/starter-toc.sty +72 -0
  90. data/testdata/mybook/sty/starter.sty +554 -0
  91. data/testdata/mybook/style.css +597 -0
  92. metadata +100 -3
@@ -0,0 +1,554 @@
1
+ %%% -*- coding: utf-8 -*-
2
+
3
+ %%%
4
+ %%% Re:VIEW Starter によって自動生成されたスタイルファイル
5
+ %%%
6
+
7
+
8
+
9
+ %%% 引数が空かどうか調べるマクロ
10
+ \newcommand{\ifempty}[1]{%
11
+ \edef\temp{#1}% % \ifx#1\empty とはできないので、一時マクロを定義
12
+ \ifx\temp\empty% % \empty は他の言語でいえば空文字列に相当
13
+ }
14
+
15
+ %%% 文字列比較をするマクロ
16
+ \newcommand\ifstreq[2]{
17
+ \edef\@tempa{#1}%
18
+ \edef\@tempb{#2}%
19
+ \ifx\@tempa\@tempb% % \ifx#1#2 とはできないことに注意(TeXの仕様)
20
+ }
21
+
22
+ %%% 例:「\@eval{section}{blabla}」は「\section{blabla}」と同等
23
+ \newcommand{\@eval}[1]{%
24
+ \csname#1\endcsname%
25
+ }
26
+
27
+ %%% \lastskip を保存するための一時変数
28
+ \newcommand{\keeplastskip}[1]{%
29
+ \@tempskipa=\lastskip%
30
+ \vskip -\lastskip\relax%
31
+ #1%
32
+ \vskip \@tempskipa\relax%
33
+ \@tempskipa=0pt%
34
+ }
35
+
36
+ %%% 縦方向のスペースがあるか調べる。なければ改ページする。
37
+ \newcommand{\needvspace}[1]{%
38
+ \rule[#1]{0pt}{0pt}% % 幅のない縦線を引く。引くスペースがなければ改ページされる。
39
+ \vspace{-#1}\par% % もとの位置に戻る
40
+ }
41
+
42
+
43
+
44
+ %%% 色を設定
45
+ \usepackage{starter-color}
46
+
47
+ %%% フォントを設定
48
+ \usepackage{starter-font}
49
+
50
+ %%% 章・節・項・目のタイトルデザインを変更
51
+ %\usepackage{starter-section} % 古いマクロ定義
52
+ \usepackage{starter-heading} % 新しいマクロ定義
53
+
54
+ %%% プログラムコードやターミナル
55
+ \usepackage{starter-codeblock}
56
+
57
+ %%% ノート
58
+ \usepackage{starter-note}
59
+
60
+ %%% 目次
61
+ \usepackage{starter-toc}
62
+
63
+
64
+
65
+ %%% 目次やリンクの色を指定する。印刷用なら黒にする。
66
+ \hypersetup{colorlinks=true,linkcolor=starter@linkcolor,urlcolor=starter@linkcolor}
67
+ %\hypersetup{colorlinks=false} % リンク機能をオフにする
68
+
69
+
70
+
71
+ %%% 「@<strong>{ ... }」を太字のゴシック体にする(「@<b>{ ... }」は明朝体のまま)。
72
+ \renewcommand{\reviewstrong}[1]{\textbf{\gtfamily\sffamily #1}}
73
+
74
+ %%% 「@<em>{ ... }」をゴシック体にする。
75
+ \renewcommand{\reviewem}[1]{{\gtfamily\sffamily #1}}
76
+
77
+ %%% 「@<del>{ ... }」(取り消し線)が効くようにする。
78
+ %%% (See https://qiita.com/takahashim/items/5c1af2941a1ce9fa5919)
79
+ \usepackage{ulem}
80
+ \renewcommand{\reviewstrike}[1]{\sout{#1}}
81
+ %\usepackage{jumoline}
82
+ %\renewcommand{\reviewstrike}[1]{\Midline{#1}} % \seqsplit{}と相性が悪い?
83
+
84
+ %%% 目立たせない(「@<strong>{}」の反対)
85
+ \newcommand{\starterweak}[1]{%
86
+ \textcolor{gray}{#1}%
87
+ }
88
+
89
+ %%% ふきだし説明の文字色をグレーに
90
+ \renewcommand{\reviewballoon}[1]{%
91
+ \textcolor{gray}{←#1}
92
+ }
93
+
94
+ %% 「@<code>{...}」を薄いグレーで囲む
95
+ %% (ただし章や節のタイトル、および各種キャプションでは囲まない)
96
+ \ifx\starter@inlinecode@gray\empty
97
+ \renewcommand{\reviewcode}[2][]{%
98
+ %\,% % ほんの少しスペースを入れる
99
+ \texttt{#2}%
100
+ %\,% % ほんの少しスペースを入れる
101
+ }
102
+ \else
103
+ \renewcommand{\reviewcode}[2][]{% % #1:空 or 'headline' or 'caption'
104
+ \,% % ほんの少しスペースを入れる
105
+ \edef\@tmpA{#1}%
106
+ \ifx\@tmpA\empty% % #1が空(未指定)なら
107
+ \colorbox{shadecolor}{\texttt{#2}}% % 背景色を薄いグレーにして等幅フォントで表示
108
+ \else% % #1がheadlineやcaptionなら
109
+ \texttt{#2}% % 等幅フォントで表示(背景色なし)
110
+ \fi%
111
+ \,% % ほんの少しスペースを入れる
112
+ }
113
+ \fi
114
+
115
+ %%% ファイル名を表す
116
+ \newcommand{\starterfile}[1]{%
117
+ {\gtfamily\sffamily #1}% % ゴシック体で表示
118
+ }
119
+
120
+ %%% ユーザ入力を表す
121
+ \newcommand{\starteruserinput}[1]{%
122
+ \ifempty{\starter@codeblock@fontcolor}%
123
+ \def\@fontcolor{black}%
124
+ \else%
125
+ \def\@fontcolor{\starter@codeblock@fontcolor}%
126
+ \fi%
127
+ \textcolor{starter@userinputcolor}{% % 下線の色
128
+ \underline{% % 下線(LaTeX標準)
129
+ %\uline{% % 下線(ulem.sty)
130
+ \textcolor{\@fontcolor}{#1}%
131
+ }%
132
+ }%
133
+ }
134
+
135
+ %%% ルビをふるのに必要(例:@<ruby>{漢, おとこ})
136
+ \usepackage{okumacro}
137
+
138
+
139
+
140
+ %%% 箇条書き(順序なし)の上下の余白を、行間の0.5倍から0.25倍へと減らす
141
+ \newenvironment{starteritemize}{%
142
+ \ifnum\@listdepth=0%
143
+ \def\@listi{%
144
+ \@listI%
145
+ \topsep 0.25\baselineskip% % 上下の余白を減らす(original: 0.5\baselineskip)
146
+ }%
147
+ \fi%
148
+ \begin{itemize}%
149
+ }{%
150
+ \end{itemize}%
151
+ }
152
+
153
+ %%% 箇条書き(順序つき)の上下の余白を、行間の0.5倍から0.25倍へと減らす
154
+ \newenvironment{starterenumerate}{%
155
+ \ifnum\@listdepth=0%
156
+ \def\@listi{%
157
+ \@listI%
158
+ \topsep 0.25\baselineskip% % 上下の余白を減らす(original: 0.5\baselineskip)
159
+ }%
160
+ \fi%
161
+ \begin{enumerate}%
162
+ }{%
163
+ \end{enumerate}%
164
+ }
165
+
166
+ %%% 順序なし箇条書きの行頭文字を変更
167
+ \usepackage{amssymb} % \blacktriangleright や \bigstar のために必要
168
+ %\renewcommand{\labelitemi}{$\blacktriangleright$} % 深さ1段目:小さい黒丸→小さい三角へ
169
+ \renewcommand{\labelitemii}{$\circ$} % 深さ2段目:「-」→小さい白丸へ
170
+ %\renewcommand{\labelitemiii}{{\small$\bigstar$}} % 深さ3段目:「*」→星形へ
171
+
172
+
173
+
174
+
175
+ %%% 奥付 (colophon) が最終ページになるよう調整する。
176
+ %%% (奥付が右ページだと、次ページである最終ページが空ページになるため)
177
+ \renewcommand{\reviewcolophon}[0]{%
178
+ \clearpage % 改ページ
179
+ \ifstreq{\starter@target}{tablet}% タブレット向けなら何も調整しない
180
+ \else\if@openright % \documentclass で openright が指定されていれば
181
+ \pltx@cleartoleftpage % 左ページ(偶数ページ)になるよう調整する
182
+ \else\if@openleft % \documentclass で openleft が指定されていれば
183
+ \pltx@cleartorightpage % 右ページ(奇数ページ)になるよう調整する
184
+ \fi\fi\fi
185
+ }
186
+
187
+ %%% 右起こし(奇数ぺージ始まり)にしない場合でも、大扉とまえがきの間に
188
+ %%% 空白ページが入ることがあるので、修正する。
189
+ \if@openright\else\if@openleft\else % 右起こしでも左起こしでもない場合だけ、
190
+ \renewcommand\frontmatter{% % 大扉やまえがきの開始を表すコマンドを再定義する。
191
+ %\pltx@cleartooddpage % 削除
192
+ \clearpage % 追加
193
+ \@mainmatterfalse
194
+ \pagenumbering{roman}
195
+ }
196
+ \fi\fi
197
+
198
+ %%% 右起こし(奇数ぺージ始まり)にしない場合でも、目次と第1章との間に
199
+ %%% 空白ページが入ることがあるので、修正する。
200
+ \if@openright\else\if@openleft\else % 右起こしでも左起こしでもない場合だけ、
201
+ \renewcommand\mainmatter{% % 本文の開始を表すコマンドを再定義する。
202
+ %\pltx@cleartooddpage % 削除
203
+ \clearpage % 追加
204
+ \@mainmattertrue
205
+ \pagenumbering{arabic}
206
+ }
207
+ \fi\fi
208
+
209
+
210
+
211
+ %%% ページヘッダーの形式を変更(fancyhdr.styを使用)
212
+ \newcommand{\pageheaderfont}{\small\gtfamily\sffamily} % ゴシック体
213
+ %\newcommand{\pageheaderfont}{\small\gtfamily\sffamily\bfseries} % ゴシック体、太字
214
+ %%% 紙書籍のような右起こしの場合(左ページに章タイトル、右ページに節タイトル)
215
+ \lhead[\pageheaderfont\leftmark]{}
216
+ \rhead[]{\pageheaderfont\rightmark}
217
+ %%% タブレット向けのような両起こしの場合(両ページに章タイトルと節タイトル)
218
+ %\lhead{\pageheaderfont\leftmark}
219
+ %\rhead{\pageheaderfont\rightmark}
220
+
221
+ %%% ページ番号のスタイル
222
+ %\newcommand{\pagenumberstyle}{\thepage} % 例:「1」
223
+ %\newcommand{\pagenumberstyle}{\itshape\bfseries\thepage} % 太字、斜体
224
+ \newcommand{\pagenumberstyle}{\rmfamily --\ \thepage\ --} % 例:「-- 1 --」
225
+ % \newcommand{\pagenumberstyle}{\itshape --\ \thepage\ --} % 斜体
226
+
227
+ %%% ページ番号をページフッタに表示(fancyhdr.styを使用)
228
+ \fancyfoot{} % ページフッタをクリア
229
+ \cfoot{\pagenumberstyle} % ページフッタの真ん中に表示
230
+ %\lfoot[\pagenumberstyle]{} % 偶数ページの左下に表示
231
+ %\rfoot[]{\pagenumberstyle} % 奇数ページの右下に表示
232
+ \fancypagestyle{plainhead}{ % 章タイトルページのスタイル
233
+ \fancyhead{} % ページヘッダなし
234
+ \fancyfoot{} % ページフッタをクリア
235
+ \cfoot{\pagenumberstyle} % ページフッタの真ん中に表示
236
+ %\lfoot[\pagenumberstyle]{} % 偶数ページの左下に表示
237
+ %\rfoot[]{\pagenumberstyle} % 奇数ページの右下に表示
238
+ \renewcommand{\headrulewidth}{0pt} % ページヘッダの区切り線をなくす
239
+ \renewcommand{\footrulewidth}{0pt} % ページフッタの区切り線をなくす
240
+ }
241
+
242
+ %%% ページヘッダを構成する要素を余計なことに Re:VIEW が上書きしちゃってるので、
243
+ %%% オリジナルの定義を jsbook.cls からコピーして元に戻す。
244
+ \def\chaptermark#1{%
245
+ \markboth{%
246
+ \ifnum \c@secnumdepth >\m@ne%
247
+ \if@mainmatter%
248
+ \if@omit@number\else%
249
+ \@chapapp\thechapter\@chappos\hskip1zw%
250
+ \fi%
251
+ \fi%
252
+ \fi%
253
+ #1%
254
+ }{}%
255
+ }%
256
+ \def\sectionmark#1{%
257
+ \markright{%
258
+ \ifnum \c@secnumdepth >\z@ \thesection \hskip1zw\fi%
259
+ #1%
260
+ }%
261
+ }%
262
+
263
+
264
+
265
+ %%% 章 (Chapter) のタイトルを独立したページにするコマンド。
266
+ %%% 独立したページには、章タイトルと、章の概要と、章ごとの目次を含める。
267
+ \newcommand{\makechaptitlepage}[1]{%
268
+ \pagecolor{starter@chaptitlepagecolor} % ページに背景色をつける
269
+ %\addtolength{\linewidth}{-\parindent} % 目次の右側余白が左側より1文字分狭いことへの対策
270
+ \def\arg{#1} % '\ifx#1{toc}' がうまく動作してくれないので、その対策
271
+ \def\toc{toc}
272
+ \def\tocsec{toc=section}
273
+ \def\tocsub{toc=subsection}
274
+ \def\tocon{toc=on}
275
+ \def\tocoff{toc=off}
276
+ \ifx\arg\tocon
277
+ \setcounter{minitocdepth}{1} % 目次に出すのは節(Section)まで
278
+ \minitoc % 章ごとの目次
279
+ \else\ifx\arg\tocsec
280
+ \setcounter{minitocdepth}{1} % 目次に出すのは節(Section)まで
281
+ \minitoc % 章ごとの目次
282
+ \else\ifx\arg\tocsub
283
+ \setcounter{minitocdepth}{2} % 目次に出すのは項(SubSection)まで
284
+ \minitoc % 章ごとの目次
285
+ \else\ifx\arg\tocoff
286
+ \else
287
+ % TODO: invalid argument
288
+ \fi\fi\fi\fi
289
+ \clearpage% % 改ページ
290
+ \pagecolor{none}% % ページの背景色をなくす
291
+ }
292
+ %%% 章ごとの目次
293
+ %%% ('nohints' は、裏表紙の直後に空白ページができるのを防ぐために必要)
294
+ \usepackage[japanese,nohints]{minitoc} % 章ごとの目次を作る
295
+ \AtBeginDocument{% % \begin{document} で実行するコマンドを登録
296
+ \dominitoc
297
+ %\listoffigures
298
+ %\listoftables
299
+ }
300
+ \setcounter{minitocdepth}{1}% % 目次に出すのはSectionまで(Subsectionは出さない)
301
+ %\setlength{\mtcindent}{3zw} % 目次左右の余白幅(左右の幅であることに注意)
302
+ %\mtcsetoffset{minitoc}{3zw} % 目次左のインデント幅(テキスト幅は変わらず)
303
+ %\setlength{\mtcskipamount}{\bigskipamount}
304
+ \mtcsetrules{*}{off} % 章ごとの目次の上下に罫線を入れない
305
+ \mtcsettitle{minitoc}{【この章の内容】} % 章ごとの目次のタイトル
306
+ %\mtcsettitle{minitoc}{【{\@chapapp\thechapter\@chappos}の内容】} % または
307
+ \renewcommand{\mtcSfont}{\rmfamily\small} % 章ごとの目次のフォント
308
+ %\renewcommand{\mtcSfont}{\small\gtfamily\sffamily\color{white}} % 色をつける場合
309
+ \mtcsettitlefont{minitoc}{% % 章ごとの目次のタイトルを設定
310
+ \gtfamily\sffamily % ゴシック体、サンセリフ体
311
+ \hspace{2zw} % 左側のインデント
312
+ }
313
+
314
+
315
+
316
+ %%% 現在位置に画像が入りきらない場合、画像は次のページに回される。
317
+ %%% その際、現在位置に大きなスペースが空くのを防ぐために、
318
+ %%% 後続のテキストを現在位置に流し込むようにする。
319
+ \renewenvironment{reviewimage}[1][]{%
320
+ \ifempty{#1}%
321
+ \edef\@tempA{\starter@image@position}% 引数がなければ「image_option:」の値を使う
322
+ \else%
323
+ \edef\@tempA{#1}% % 引数があればその値を使う
324
+ \fi%
325
+ \expandafter\starter@image\@tempA% % 先に引数を展開してから \begin{starter@image} を実行
326
+ }{%
327
+ \endstarter@image% % \end{starter@image} と同じ
328
+ }
329
+ %
330
+ \newenvironment{starter@image}[1]{%
331
+ \vspace{0.8zw} % 画像上の余白を調整(少し増やす)
332
+ \begin{figure}[#1]
333
+ %\begin{center} % center環境は余分な余白がつくので使わない
334
+ \centering % \centeringを使うと余分な余白がつかない
335
+ }{%
336
+ %\end{center}
337
+ \end{figure}
338
+ \vspace{-0.8zw} % 画像下の余白を調整(少し減らす)
339
+ }
340
+ %
341
+ \renewenvironment{reviewdummyimage}{%
342
+ \begin{reviewimage}
343
+ \begin{alltt}
344
+ }{%
345
+ \end{alltt}
346
+ \end{reviewimage}
347
+ }
348
+
349
+
350
+
351
+ %%% コラムが複数のページにまたがるとき、次のページに続いていることが
352
+ %%% わかるようにするために、ページ境界では上下の線を引かない。
353
+ \renewenvironment{reviewcolumn}{%
354
+ %\begin{framed}% % original
355
+ \begin{oframed}%
356
+ }{%
357
+ %\end{framed}% % original
358
+ \end{oframed}%
359
+ \vspace{2zw}%
360
+ }
361
+
362
+ %%% コラムのタイトルを変更する
363
+ \renewcommand{\reviewcolumnhead}[2]{%
364
+ %{\noindent\large ■コラム: #2}% % original
365
+ %{\noindent\large\gtfamily\sffamily\bfseries ■コラム:#2}% % 太字のゴシック
366
+ {\noindent\large\gtfamily\sffamily\bfseries 【コラム】#2}% % 太字のゴシック
367
+ \vspace{2mm}%
368
+ }
369
+
370
+
371
+
372
+ %%% @<hd>{} や @<subsec>{} で、節や項へのリンクを作成
373
+ %%% (config.yml で「chapterlink: true」の設定が必要)
374
+ \newcommand{\startersecref}[2]{%
375
+ 「\hyperref[#2]{#1}」(p.\pageref{#2})% % 節や項のタイトルがリンク
376
+ %{#1}(\hyperref[#2]{p.\pageref{#2}})% % ページ番号がリンク
377
+ }
378
+ \newcommand{\startersubsecref}[2]{%
379
+ 「\hyperref[#2]{{\startersubsectionsymbol}#1}」(p.\pageref{#2})% % 節や項のタイトルがリンク
380
+ %{\startersubsectionsymbol}{#1}(\hyperref[#2]{p.\pageref{#2}})% % ページ番号がリンク
381
+ }
382
+ \newcommand{\startersubsubsecref}[2]{%
383
+ 「\hyperref[#2]{#1}」(p.\pageref{#2})% % 節や項のタイトルがリンク
384
+ %{#1}(\hyperref[#2]{p.\pageref{#2}})% % ページ番号がリンク
385
+ }
386
+
387
+
388
+
389
+ %%% 導入文(リード文)
390
+ \newenvironment{starterlead}{%
391
+ \begin{quotation}% % または \begin{abstract}
392
+ }{%
393
+ \end{quotation}% % または \end{abstract}
394
+ }
395
+
396
+
397
+
398
+ %%% 章 (Chaper) の概要
399
+ %%% (導入文(リード文)と違うことに注意)
400
+ \newenvironment{starterabstract}{%
401
+ \addtolength{\rightskip}{2.5zw}% % 右の余白を2.5文字分広げる (default: 0pt)
402
+ \addtolength{\leftskip}{2.5zw}% % 左の余白を2.5文字分広げる (default: 5pt)
403
+ \gtfamily\sffamily% % ゴシック体
404
+ \small% % 少し小さめ
405
+ }{%
406
+ \par%
407
+ \addvspace{2\Cvs}% % 下に1行空ける
408
+ }
409
+
410
+
411
+
412
+ %%% 引用(複数段落に対応)
413
+ \newenvironment{starterquote}{%
414
+ \begin{starter@leftbar}{3pt}{starter@quotecolor}%
415
+ }{%
416
+ \end{starter@leftbar}%
417
+ }
418
+ %
419
+ \newenvironment{starter@leftbar}[2]{% % #1: 太さ、#2: 色
420
+ %% framed.sty の機能を使って、文章の左側に縦棒を入れる
421
+ \def\FrameCommand{\textcolor{#2}{\vrule width #1} \hspace{10pt}}%
422
+ \MakeFramed{%
423
+ \advance\hsize-\width%
424
+ \advance\hsize-2\starter@quote@sidemargin% ノート環境では左右に余白を空ける
425
+ \advance\rightskip -\starter@quote@sidemargin% 右マージンが二重にかかるのを避ける
426
+ \advance\leftskip -\starter@quote@sidemargin% 左マージンが二重にかかるのを避ける
427
+ \FrameRestore%
428
+ }%
429
+ }{%
430
+ \endMakeFramed%
431
+ }
432
+ %
433
+ \newlength{\starter@quote@sidemargin} % 引用部の左右の余白幅(ノート環境で使う)
434
+
435
+
436
+
437
+ %%% 画像のまわりに線をつける
438
+ \newcommand{\starterimageframe}[1]{{%
439
+ \setlength{\fboxrule}{0.1pt}%
440
+ \fcolorbox{lightgray}{white}{#1}%
441
+ }}
442
+
443
+
444
+
445
+ %%% テキストの横に画像を配置する
446
+ %%% (注意:途中での改ページはできない、テキストの回り込みはされない、脚注は使えない)
447
+ \newenvironment{startersideimage}[6]{%
448
+ \begin{starter@sideimage}{#1}{#2}{#3}{#4}{#5}{#6}%
449
+ }{%
450
+ \end{starter@sideimage}%
451
+ }
452
+ \newenvironment{starter@sideimage}[6]{%
453
+ %% #1: L or R, #2: 画像ファイル名
454
+ %% #3: 画像表示幅, #4: 画像領域幅,
455
+ %% #5: 区切り余白幅, #6: テキスト幅(空白なら自動計算)
456
+ \ifempty{#6}% % テキスト幅が未指定なら
457
+ \setlength\@tempdima{\textwidth}% 本文幅から
458
+ \addtolength{\@tempdima}{-#4}% % 画像領域幅を引いて
459
+ \addtolength{\@tempdima}{-#5}% % 区切り余白幅を引く
460
+ \else% % テキスト幅が指定されていれば
461
+ \setlength\@tempdima{#6}% % それを使う
462
+ \fi%
463
+ %
464
+ \def\@tempimgL{}%
465
+ \def\@tempimgR{}%
466
+ \ifstreq{#1}{L}% % L なら、画像と区切り余白とテキストを表示
467
+ \def\@tempimgL{\starter@miniimage{#2}{#3}{#4}\hspace{#5}}%
468
+ \else\ifstreq{#1}{R}% % R なら、テキストと区切り余白と画像を表示
469
+ \def\@tempimgR{\hspace{#5}\starter@miniimage{#2}{#3}{#4}}%
470
+ \fi%
471
+ %
472
+ \noindent%
473
+ \@tempimgL%
474
+ \begin{minipage}[t]{\@tempdima}% minipage環境開始
475
+ \setlength{\parindent}{1zw}% % minipage環境内で段落開始行をインデントする
476
+ }{%
477
+ \end{minipage}% % minipage環境終了
478
+ \@tempimgR%
479
+ \par% % これがないと後続のテキストが続いてエラーになる
480
+ }
481
+ \newcommand\starter@miniimage[3]{% #1:画像ファイル名, #2:画像の表示幅, #3:画像の領域幅
482
+ \begin{minipage}[t]{#3}%
483
+ \centering % 中央揃え
484
+ %\vskip 0pt\relax% % 画像の上に少し余白が入る (why?)
485
+ \vskip -0.6zw\relax% % 画像の上に余白が入らないよう調整
486
+ %\null\vspace*{-\baselineskip}%
487
+ \ifempty{\starterminiimageframe}%
488
+ \includegraphics[width=#2]{#1}% % 画像を表示
489
+ \else%
490
+ \starterimageframe{% % 画像のまわりを灰色の線で囲む
491
+ \includegraphics[width=#2]{#1}% % 画像を表示
492
+ }%
493
+ \fi%
494
+ \end{minipage}%
495
+ }
496
+ \def\starterminiimageframe{}
497
+
498
+
499
+
500
+ %%% サンプルの出力結果(Starterのドキュメントで使用)
501
+ \newenvironment{startersampleoutput}[1]{%
502
+ \starter@codeblock@vspace%
503
+ \starter@caption{#1}%
504
+ %\begin{oframed}% % error in note block
505
+ \vspace{-0.3\baselineskip}%
506
+ \noindent%
507
+ \textcolor{lightgray}{\hrulefill}\par%
508
+ }{%
509
+ %\end{oframed}% % error in note block
510
+ \vspace{-0.3\baselineskip}%
511
+ \noindent%
512
+ \textcolor{lightgray}{\hrulefill}\par%
513
+ \starter@codeblock@vspace%
514
+ }
515
+
516
+
517
+
518
+ %%% 黒ヌキ(白い背景に黒い文字)
519
+ %%%
520
+ %%% 使い方: \startercursor{テキスト}
521
+ \newcommand*{\startercursor}[1]{%
522
+ \starter@bgcolor[black]{white}{#1}% % 文字を黒、背景を白にして表示
523
+ %\mybgcolor{white}{\textcolor{black}{#1}}%
524
+ }%
525
+
526
+ %%% 背景色(と文字色)をつける
527
+ %%%
528
+ %%% 使い方: \starter@bgcolor{white}{テキスト}
529
+ %%% or \starter@bgcolor[black]{white}{テキスト}
530
+ \newcommand{\starter@bgcolor}[3][]{% % #1: 文字色(default: 空), #2: 背景色, #3: テキスト
531
+ \settowidth{\tmp@width}{#3}% % 幅
532
+ \settodepth{\tmp@depth}{g}% % 深さ
533
+ \settoheight{\tmp@height}{M}% % 高さ
534
+ \addtolength{\tmp@height}{\tmp@depth}% % 高さに深さを追加
535
+ \addtolength{\tmp@depth}{1pt}% % 深さを少し増やす
536
+ \addtolength{\tmp@height}{2pt}% % 高さを少し増やす
537
+ %
538
+ \makebox[0pt][l]{% % カーソル位置を変えないまま
539
+ \textcolor{#2}{% % 背景色を指定して
540
+ \rule[-\tmp@depth]{\tmp@width}{\tmp@height}% % 塗りつぶす
541
+ %\rule[-\tmp@depth]{\tmp@width}{\baselineskip}%
542
+ }%
543
+ }%
544
+ \ifempty{#1}% % 文字色が未指定なら
545
+ #3% % テキストをそのまま表示
546
+ \else% % 文字色が指定されていれば
547
+ \textcolor{#1}{#3}% % 色を指定してテキストを表示
548
+ \fi%
549
+ }
550
+
551
+ %%% 長さを表す変数 (control sequence) を宣言
552
+ \newlength{\tmp@width}% % 幅
553
+ \newlength{\tmp@height}% % 高さ
554
+ \newlength{\tmp@depth}% % 深さ