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.
- checksums.yaml +4 -4
- data/.dockerignore +9 -0
- data/.editorconfig +3 -0
- data/.github/workflows/retrovert.yml +20 -5
- data/.gitignore +1 -0
- data/.vscode/launch.json +48 -0
- data/Gemfile.lock +13 -4
- data/Makefile +24 -0
- data/docker/review.Dockerfile +10 -0
- data/lib/review/retrovert/converter.rb +374 -111
- data/lib/review/retrovert/reviewcompat.rb +57 -0
- data/lib/review/retrovert/reviewdef.rb +70 -0
- data/lib/review/retrovert/sty/{ird.sty → ird.sty.erb} +9 -1
- data/lib/review/retrovert/sty/review-retrovert-custom.sty.erb +6 -0
- data/lib/review/retrovert/utils.rb +35 -0
- data/lib/review/retrovert/version.rb +1 -1
- data/lib/review/retrovert/yamlconfig.rb +0 -1
- data/package-lock.json +6 -0
- data/package.json +1 -0
- data/review-retrovert.gemspec +5 -1
- data/testdata/mybook/.gitignore +3 -1
- data/testdata/mybook/.textlintrc +11 -0
- data/testdata/mybook/Rakefile +8 -0
- data/testdata/mybook/catalog.yml +36 -10
- data/testdata/mybook/config-starter.yml +134 -9
- data/testdata/mybook/config.yml +44 -15
- data/testdata/mybook/contents/00-preface.re +48 -2
- data/testdata/mybook/contents/01-install.re +38 -5
- data/testdata/mybook/contents/02-tutorial.re +333 -113
- data/testdata/mybook/contents/03-syntax.re +2370 -373
- data/testdata/mybook/contents/04-customize.re +424 -88
- data/testdata/mybook/contents/05-faq.re +288 -10
- data/testdata/mybook/contents/06-bestpractice.re +431 -59
- data/testdata/mybook/contents/91-compare.re +402 -2
- data/testdata/mybook/contents/92-filelist.re +14 -8
- data/testdata/mybook/contents/93-background.re +10 -10
- data/testdata/mybook/contents/99-postface.re +2 -1
- data/testdata/mybook/contents/r0-root.re +1 -1
- data/testdata/mybook/css/webstyle.css +180 -2
- data/testdata/mybook/data/terms.txt +3 -0
- data/testdata/mybook/data/words.txt +15 -0
- data/testdata/mybook/images/03-syntax/index-page.png +0 -0
- data/testdata/mybook/images/03-syntax/order-detail.png +0 -0
- data/testdata/mybook/images/04-customize/section_decoration_samples.png +0 -0
- data/testdata/mybook/images/05-faq/dummy-image.png +0 -0
- data/testdata/mybook/images/06-bestpractice/section_title_wlines.png +0 -0
- data/testdata/mybook/images/avatar-b.png +0 -0
- data/testdata/mybook/images/avatar-g.png +0 -0
- data/testdata/mybook/images/avatar-r.png +0 -0
- data/testdata/mybook/images/caution-icon.png +0 -0
- data/testdata/mybook/images/info-icon.png +0 -0
- data/testdata/mybook/images/warning-icon.png +0 -0
- data/testdata/mybook/layouts/layout.html5.erb +3 -1
- data/testdata/mybook/layouts/layout.tex.erb +265 -379
- data/testdata/mybook/layouts/layout.tex.erb.orig +386 -0
- data/testdata/mybook/lib/ruby/review-book.rb +64 -0
- data/testdata/mybook/lib/ruby/review-builder.rb +902 -63
- data/testdata/mybook/lib/ruby/review-compiler.rb +675 -22
- data/testdata/mybook/lib/ruby/review-epubbuilder.rb +33 -0
- data/testdata/mybook/lib/ruby/review-epubmaker.rb +10 -7
- data/testdata/mybook/lib/ruby/review-htmlbuilder.rb +354 -66
- data/testdata/mybook/lib/ruby/review-latexbuilder.rb +429 -146
- data/testdata/mybook/lib/ruby/review-maker.rb +117 -6
- data/testdata/mybook/lib/ruby/review-markdownbuilder.rb +945 -0
- data/testdata/mybook/lib/ruby/review-markdownmaker.rb +91 -0
- data/testdata/mybook/lib/ruby/review-monkeypatch.rb +2 -0
- data/testdata/mybook/lib/ruby/review-pdfmaker.rb +160 -82
- data/testdata/mybook/lib/ruby/review-webmaker.rb +20 -5
- data/testdata/mybook/lib/tasks/review.rake +14 -0
- data/testdata/mybook/lib/tasks/starter.rake +148 -4
- data/testdata/mybook/sty/indexstyle.ist +25 -0
- data/testdata/mybook/sty/mytextsize.sty +29 -0
- data/testdata/mybook/sty/mytitlepage.sty +34 -11
- data/testdata/mybook/sty/review-base.sty +276 -0
- data/testdata/mybook/sty/starter-codeblock.sty +237 -106
- data/testdata/mybook/sty/starter-color.sty +72 -17
- data/testdata/mybook/sty/starter-heading.sty +60 -13
- data/testdata/mybook/sty/starter-misc.sty +894 -0
- data/testdata/mybook/sty/starter-note.sty +67 -14
- data/testdata/mybook/sty/starter-talklist.sty +105 -0
- data/testdata/mybook/sty/starter-util.sty +35 -0
- data/testdata/mybook/sty/starter.sty +8 -526
- metadata +80 -4
@@ -1,7 +1,7 @@
|
|
1
1
|
%%% -*- coding: utf-8 -*-
|
2
2
|
|
3
3
|
%%%
|
4
|
-
%%% コードブロック(//list、//terminal)
|
4
|
+
%%% コードブロック(//list、//terminal、//output)
|
5
5
|
%%%
|
6
6
|
|
7
7
|
|
@@ -57,94 +57,180 @@
|
|
57
57
|
|
58
58
|
|
59
59
|
%%% コードブロック(プログラムリストやターミナル)
|
60
|
-
\newenvironment{starter@codeblock}{%
|
60
|
+
\newenvironment{starter@codeblock}[2][]{%
|
61
|
+
\starter@codeblock@vspace% % 上に余白を空ける
|
62
|
+
\ifempty{#1}\else\label{#1}\fi% % 参照用のラベル
|
63
|
+
\starter@codeblock@caption{#2}% % キャプションを表示
|
64
|
+
\begin{@starter@codeblock}%
|
65
|
+
}{%
|
66
|
+
\end{@starter@codeblock}%
|
67
|
+
\starter@codeblock@vspace% % 下に余白を空ける
|
68
|
+
}
|
69
|
+
\newenvironment{@starter@codeblock}{%
|
61
70
|
%\vspace{-\lastskip}%
|
62
|
-
\
|
63
|
-
|
64
|
-
|
65
|
-
\ifempty{\starter@codeblock@backcolor}\else%
|
66
|
-
\colorlet{shadecolor}{\starter@codeblock@backcolor}% 背景色
|
71
|
+
\starter@enablettfont{\starter@codeblock@ttfont}% 等幅フォントを指定
|
72
|
+
\ifempty\starter@codeblock@fontsize\else% % fontsizeオプションが指定されていたら
|
73
|
+
\csname\starter@codeblock@fontsize\endcsname% % その大きさに変更する
|
67
74
|
\fi%
|
75
|
+
\setlength{\baselineskip}{\starter@codeblock@baselineskip}% 行間を狭める
|
68
76
|
\@starter@codeblock@defframe% % 枠の表示方法を設定
|
69
|
-
|
70
|
-
|
77
|
+
%% 自動折返しに必要なコマンドを準備する
|
78
|
+
%\def\seqinsert{\-}% % 折り返し用のコマンドを上書き
|
71
79
|
%\def\-{\starter@fold@able}% % (効果なし)「\-」を上書き
|
72
80
|
%\let\-\starter@fold@able% % (効果なし)「\-」を上書き
|
73
81
|
%\renewcommand\-{\starter@fold@able}% (効果なし)「\-」を上書き
|
74
|
-
\
|
82
|
+
\ifx\starter@codeblock@fold\empty%
|
83
|
+
\DeclareRobustCommand{\-}{\starter@fold@not}% 折り返ししない
|
84
|
+
\else%
|
85
|
+
\DeclareRobustCommand{\-}{\starter@fold@able}% 折り返しする
|
86
|
+
\fi%
|
75
87
|
\def\UL@dischyp{\starter@fold@dischyp}% 取り消し線で使うulem.sty内部のコマンドを上書き
|
76
88
|
%
|
77
|
-
\
|
78
|
-
|
89
|
+
\setlength{\@totalleftmargin}{0pt}% 箇条書き用のインデント幅をクリア(折返しに影響するため)
|
90
|
+
%% 左右の空きの幅をもとに、コードブロック左の空き幅を計算する
|
91
|
+
\setlength{\starter@codeblock@leftmargin}{\leftskip}% % 左側の空きの幅から、
|
92
|
+
\addtolength{\starter@codeblock@leftmargin}{-\rightskip}% % 右側の空きの幅を引く
|
93
|
+
%% 左右の空きの幅をもとに、表示幅を調整する
|
94
|
+
%% (条件により +/-1zw の調整が必要、理由は不明)
|
95
|
+
\ifdim\rightskip=0pt%
|
96
|
+
\setlength{\starter@codeblock@hsizedelta}{0pt}%
|
97
|
+
\else\ifdim\leftskip>\rightskip%
|
98
|
+
\setlength{\starter@codeblock@hsizedelta}{\dimexpr -\leftskip +1zw}%
|
99
|
+
\else\ifdim\leftskip<\rightskip%
|
100
|
+
\setlength{\starter@codeblock@hsizedelta}{\dimexpr -\leftskip -\rightskip -1zw}%
|
101
|
+
\else%
|
102
|
+
\setlength{\starter@codeblock@hsizedelta}{\dimexpr -\leftskip -\rightskip}%
|
103
|
+
\fi\fi\fi%
|
104
|
+
%
|
105
|
+
\vspace{-0.4\baselineskip}%
|
106
|
+
%\begin{alltt}% % verbatim環境もalltt環境も使わない
|
107
|
+
\ttfamily%
|
108
|
+
\frenchspacing%
|
109
|
+
%\obeylines%
|
110
|
+
%\obeyspaces%
|
111
|
+
\setlength{\parindent}{0pt}% % 段落最初の字下げをなくす
|
112
|
+
\setlength{\parskip}{0pt}% % 段落間の縦方向の空きをなくす
|
113
|
+
%
|
114
|
+
\ifx\starter@codeblock@widecharfit\empty%
|
115
|
+
\settowidth{\starter@codeblock@widechar@width}{あ}% % 全角1文字分の幅
|
116
|
+
%\let\ZC=\starter@codeblock@widechar@asis% '\ZC{あ}' はそのままの幅
|
117
|
+
\let\ZC=\starter@codeblock@widechar@fit% '\ZC{あ}' が全角1文字分の幅
|
118
|
+
\else%
|
119
|
+
\settowidth{\starter@codeblock@widechar@width}{a\-b}% % 半角2文字分の幅
|
120
|
+
\let\ZC=\starter@codeblock@widechar@fit% '\ZC{あ}' が半角2文字分の幅になる
|
121
|
+
\fi%
|
122
|
+
%
|
79
123
|
%\setlength{\baselineskip}{0.85\baselineskip}%
|
80
124
|
\MakeFramed{%
|
81
|
-
\
|
125
|
+
\addtolength{\hsize}{-\width}% ブロック幅をテキスト幅と同じにする(左右に広げない)
|
82
126
|
\addtolength{\hsize}{\starter@codeblock@widen}% ほんの少しだけ表示幅を広げる
|
83
|
-
\
|
127
|
+
\addtolength{\hsize}{\starter@codeblock@hsizedelta}% 表示幅を調整する
|
128
|
+
\setlength{\leftskip}{0pt}% % //note と //desclist 用に、
|
129
|
+
\setlength{\rightskip}{0pt}% % フレーム内のインデントをなくす
|
130
|
+
\clubpenalty=\z@% % ページの一番下に1行だけ表示されるのを許す
|
131
|
+
\widowpenalty=\z@% % ページの一番上に1行だけ表示されるのを許す
|
84
132
|
\FrameRestore%
|
85
133
|
}%
|
86
134
|
}{%
|
87
135
|
\endMakeFramed%
|
88
|
-
|
136
|
+
%\end{alltt}%
|
89
137
|
\vspace{-\lastskip}%
|
90
138
|
}
|
91
139
|
|
92
140
|
\def\starter@codeblock@fontcolor{} % コードブロックの文字色
|
93
141
|
\def\starter@codeblock@backcolor{} % コードブロックの背景色
|
94
|
-
\def\
|
95
|
-
|
96
|
-
\
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
\
|
102
|
-
\@starter@codeblock@bordertrue% % 枠をつける
|
103
|
-
\fi
|
142
|
+
\def\starter@codeblock@widecharfit{} % 全角1文字を半角2文字幅に調節するか?
|
143
|
+
\def\starter@codeblock@charspace{} % 文字の間隔を調整する幅
|
144
|
+
\newlength{\starter@codeblock@leftmargin} % コードブロック右側の空き幅
|
145
|
+
\newlength{\starter@codeblock@hsizedelta} % コードブロックの表示幅を狭める長さ
|
146
|
+
|
147
|
+
%% 全角1文字を半角2文字分の幅で表示する
|
148
|
+
\newcommand{\starter@codeblock@widechar@fit}[1]{%
|
149
|
+
\makebox[\starter@codeblock@widechar@width][c]{#1}%
|
104
150
|
}
|
151
|
+
\newcommand{\starter@codeblock@widechar@asis}[1]{%
|
152
|
+
\mbox{#1}%
|
153
|
+
}
|
154
|
+
\newlength{\starter@codeblock@widechar@width}% 半角2文字分の幅
|
155
|
+
\settowidth{\starter@codeblock@widechar@width}{a\-b}
|
156
|
+
|
105
157
|
|
106
158
|
\newcommand{\@starter@codeblock@defframe}{% 枠の表示方法を設定
|
107
159
|
%% framed.sty で提供されているコマンドを上書き
|
108
|
-
\
|
109
|
-
\def
|
110
|
-
\def\FirstFrameCommand{\@@OpenFBox\FrameRule\z@}% % 次のページにまたがるとき
|
111
|
-
\def\MidFrameCommand{\@@OpenFBox\z@\z@}% % 次/前のページへまたがるとき
|
112
|
-
\def\LastFrameCommand{\@@OpenFBox\z@\FrameRule}% % 前のページからまたがるとき
|
113
|
-
\else%
|
114
|
-
\def\FrameCommand{%
|
160
|
+
\ifx\starter@codeblock@border\empty% %%% 枠線をつけない場合
|
161
|
+
\def\@framecommandsetup{%
|
115
162
|
\fboxsep=0.5\FrameSep% % ブロックのパディング
|
116
|
-
\
|
163
|
+
\ifx\starter@codeblock@fontcolor\empty\else%
|
164
|
+
\color{\starter@codeblock@fontcolor}% 文字色を指定
|
165
|
+
\fi%
|
166
|
+
\ifdim\starter@codeblock@leftmargin=0pt\else%
|
167
|
+
\hspace{\starter@codeblock@leftmargin}% 左側を空ける
|
168
|
+
\fi%
|
169
|
+
}%
|
170
|
+
\ifx\starter@codeblock@backcolor\empty%
|
171
|
+
\def\FrameCommand{%
|
172
|
+
\@framecommandsetup%
|
173
|
+
}%
|
174
|
+
\else%
|
175
|
+
\def\FrameCommand{%
|
176
|
+
\@framecommandsetup%
|
177
|
+
\colorbox{\starter@codeblock@backcolor}% ブロックの背景色
|
178
|
+
}%
|
179
|
+
\fi%
|
180
|
+
\else% %%% 枠線をつける場合
|
181
|
+
\def\FrameCommand{% % ページまたぎがないとき
|
182
|
+
\@starter@codeblock@openfbox{\FrameRule}{\FrameRule}{\FrameRule}{\FrameRule}%
|
183
|
+
}%
|
184
|
+
\def\FirstFrameCommand{% % 次のページにまたがるとき
|
185
|
+
\@starter@codeblock@openfbox{\FrameRule}{\z@}{\FrameRule}{\FrameRule}%
|
117
186
|
}%
|
118
|
-
|
187
|
+
\def\MidFrameCommand{% % 次/前のページへまたがるとき
|
188
|
+
\@starter@codeblock@openfbox{\z@}{\z@}{\FrameRule}{\FrameRule}%
|
189
|
+
}%
|
190
|
+
\def\LastFrameCommand{% % 前のページからまたがるとき
|
191
|
+
\@starter@codeblock@openfbox{\z@}{\FrameRule}{\FrameRule}{\FrameRule}%
|
192
|
+
}%
|
193
|
+
\fi%
|
119
194
|
}
|
120
|
-
\
|
121
|
-
\edef\@
|
122
|
-
\edef\@
|
195
|
+
\newcommand{\@starter@codeblock@openfbox}[5]{{% % 枠線で囲むだけでなく、背景色をつける
|
196
|
+
\edef\@top{#1}% % 枠線(上)
|
197
|
+
\edef\@bottom{#2}% % 枠線(下)
|
198
|
+
\edef\@left{#3}% % 枠線(左)
|
199
|
+
\edef\@right{#4}% % 枠線(右)
|
200
|
+
\edef\@bordercolor{\starter@codeblock@bordercolor}% 枠線の色
|
201
|
+
\edef\@bgcolor{\starter@codeblock@backcolor}% 背景の色
|
123
202
|
\edef\@fontcolor{\starter@codeblock@fontcolor}% フォントの色
|
124
|
-
\
|
203
|
+
\ifx\@fontcolor\empty%
|
125
204
|
\edef\@fontcolor{black}%
|
126
205
|
\fi%
|
127
|
-
\edef\@padding{
|
206
|
+
\edef\@padding{\starter@codeblock@padding}% 内側のpadding
|
128
207
|
\FrameSep=0pt% % 枠線内の padding をなくす
|
129
|
-
|
130
|
-
|
131
|
-
\
|
132
|
-
|
133
|
-
\
|
134
|
-
\
|
135
|
-
|
136
|
-
\
|
208
|
+
\ifx\@bgcolor\empty%
|
209
|
+
\fboxsep=\@padding% % 枠線内の padding をつける
|
210
|
+
\else%
|
211
|
+
\fboxsep=0pt% % 枠線とcolorbox間の padding をなくす
|
212
|
+
\fi%
|
213
|
+
\color{\@bordercolor}% % 枠線に色をつける
|
214
|
+
\ifdim\starter@codeblock@leftmargin=0pt\else%
|
215
|
+
\hspace{\starter@codeblock@leftmargin}% 左側を空ける
|
216
|
+
\fi%
|
217
|
+
\CustomFBox{}{}{\@top}{\@bottom}{\@left}{\@right}{% 枠線をつける
|
218
|
+
\ifx\@bgcolor\empty%
|
219
|
+
{\color{\@fontcolor}#5}% % 背景色をつけない
|
220
|
+
\else%
|
221
|
+
\fboxsep=\@padding% % colorbox 内の padding を設定
|
222
|
+
\colorbox{\@bgcolor}{\color{\@fontcolor}#5}% 背景色をつける
|
223
|
+
\fi%
|
137
224
|
}%
|
138
225
|
}}%
|
139
226
|
|
227
|
+
\def\starter@codeblock@padding{4.5pt}
|
228
|
+
|
140
229
|
\newcommand{\starter@codeblock@vspace}{% % コードブロックの前後の余白
|
141
230
|
%% \vspace と違い、\addvspace は直前に余白があればその分の高さを引いた余白を追加する
|
142
231
|
\addvspace{\medskipamount}% % \medskipと同じ高さの余白にする
|
143
232
|
}
|
144
233
|
|
145
|
-
\newlength{\starter@codeblock@sidemargin} % コードブロックの左右の余白幅(ノート環境で使う)
|
146
|
-
\setlength{\starter@codeblock@sidemargin}{0pt}
|
147
|
-
|
148
234
|
\newcommand{\starter@codeblock@widen}{0.0mm} % コードブロックを少しだけ広げる幅
|
149
235
|
|
150
236
|
%%% コードブロック用のキャプション
|
@@ -157,61 +243,89 @@
|
|
157
243
|
}
|
158
244
|
|
159
245
|
%%% コードブロック用の行番号
|
160
|
-
\newcommand{\
|
246
|
+
\newcommand{\starterouterlineno}[1]{% % #1: 行番号
|
161
247
|
\makebox[0pt][r]{% % 右揃えにする
|
162
248
|
\small\rmfamily% % 文字を小さくし、ローマン体を使う
|
163
|
-
\textcolor{gray}{
|
249
|
+
\textcolor{gray}{% % 文字色をグレーにする
|
250
|
+
\starter@excluewhencopied{#1}% % マウスコピペの対象にしない
|
251
|
+
}%
|
164
252
|
\hspace{0.8\FrameSep}% % 少しスペースを空ける
|
165
253
|
}%
|
166
254
|
}
|
255
|
+
\newcommand{\starterinnerlineno}[1]{% % #1: 行番号
|
256
|
+
\textcolor{gray}{% % 文字色をグレーにする
|
257
|
+
\starter@excluewhencopied{#1}% % マウスコピペの対象にしない
|
258
|
+
}%
|
259
|
+
}
|
167
260
|
|
168
261
|
%%% プログラム(//list[label][caption][optionstr]{ ... //})
|
169
262
|
\newenvironment{starterprogram}[2][]{% % #1:ラベル、#2:キャプション
|
170
|
-
\starter@codeblock@
|
171
|
-
\
|
172
|
-
\starter@codeblock@
|
173
|
-
\starter@enablettfont{\starter@program@ttfont}% % 等幅フォントを指定
|
174
|
-
\ifstreq{\starter@program@fontsize}{small}%
|
175
|
-
\small% % 文字を少し小さくする
|
176
|
-
\fi%
|
177
|
-
\ifempty\startercodeblockfontsize\else% % fontsizeオプションが指定されていたら
|
178
|
-
\csname\startercodeblockfontsize\endcsname% % その大きさに変更する
|
179
|
-
\fi%
|
180
|
-
\def\starterindentchar{\starter@program@indentchar}% インデント用記号(「|」)
|
263
|
+
\edef\starter@codeblock@ttfont{\starter@program@ttfont}% 等幅フォントを指定
|
264
|
+
\edef\starter@codeblock@fontsize{\starter@program@fontsize}% 文字を少し小さくする
|
265
|
+
\edef\starter@codeblock@border{\starter@program@border}% 枠をつける/つけない
|
181
266
|
\edef\starter@codeblock@widen{\starter@program@widen}% 幅をほんの少し広げる
|
182
|
-
|
183
|
-
\
|
184
|
-
\edef\starter@codeblock@
|
185
|
-
\edef\starter@codeblock@
|
186
|
-
\
|
267
|
+
\edef\starter@codeblock@widecharfit{\starter@program@widecharfit}% 全角幅を半角2文字分に
|
268
|
+
\edef\starter@codeblock@charspace{\starter@program@charspace}% 文字間のスペース
|
269
|
+
\edef\starter@codeblock@baselineskip{0.85\baselineskip}% 行間を狭める
|
270
|
+
\edef\starter@codeblock@fontcolor{starter@program@fontcolor}% 文字色を無指定
|
271
|
+
\edef\starter@codeblock@backcolor{starter@program@backcolor}% 背景色を指定
|
272
|
+
\edef\starter@codeblock@bordercolor{starter@program@bordercolor}% 枠の色
|
273
|
+
\edef\starter@codeblock@weakcolor{starter@program@weakcolor}% 折り返し記号の色
|
274
|
+
\edef\starter@codeblock@weakercolor{starter@program@weakercolor}% 改行記号の色
|
275
|
+
\edef\starter@codeblock@thincolor{starter@program@thincolor}% インデント記号の色
|
276
|
+
\ifx\starter@program@border\empty%
|
277
|
+
\edef\starter@codeblock@bordercolor{}% % 枠をつけない
|
278
|
+
\fi%
|
279
|
+
\begin{starter@codeblock}[#1]{#2}%
|
187
280
|
}{%
|
188
281
|
\end{starter@codeblock}%
|
189
|
-
\starter@codeblock@vspace% % 下に余白を空ける
|
190
282
|
}
|
191
283
|
|
192
284
|
%%% ターミナル(//terminal[label][caption][optionstr]{ ... //})
|
193
285
|
\newenvironment{starterterminal}[2][]{% % #1:ラベル、#2:キャプション
|
194
|
-
\starter@codeblock@
|
195
|
-
\
|
196
|
-
\starter@codeblock@
|
197
|
-
\starter@enablettfont{\starter@terminal@ttfont}% % 等幅フォントを指定
|
198
|
-
\ifstreq{\starter@terminal@fontsize}{small}%
|
199
|
-
\small% % 文字を少し小さくする
|
200
|
-
\fi%
|
201
|
-
\ifempty\startercodeblockfontsize\else% % fontsizeオプションが指定されていたら
|
202
|
-
\csname\startercodeblockfontsize\endcsname% % その大きさに変更する
|
203
|
-
\fi%
|
204
|
-
\def\starterindentchar{\starter@terminal@indentchar}% インデント用記号(「|」)
|
286
|
+
\edef\starter@codeblock@ttfont{\starter@terminal@ttfont}% 等幅フォントを指定
|
287
|
+
\edef\starter@codeblock@fontsize{\starter@terminal@fontsize}% 文字を少し小さくする
|
288
|
+
\edef\starter@codeblock@border{\starter@terminal@border}% 枠をつける/つけない
|
205
289
|
\edef\starter@codeblock@widen{\starter@terminal@widen}% 幅をほんの少し広げる
|
206
|
-
|
207
|
-
\
|
290
|
+
\edef\starter@codeblock@widecharfit{\starter@terminal@widecharfit}% 全角幅を半角2文字分に
|
291
|
+
\edef\starter@codeblock@charspace{\starter@terminal@charspace}% 文字間のスペース
|
292
|
+
\edef\starter@codeblock@baselineskip{0.85\baselineskip}% 行間を狭める
|
208
293
|
%\color{white}% ←ここで指定してはダメ!キャプションなしterminal間の余白が広がってしまう
|
209
|
-
\edef\starter@codeblock@fontcolor{
|
210
|
-
\edef\starter@codeblock@backcolor{starter@
|
211
|
-
\
|
294
|
+
\edef\starter@codeblock@fontcolor{starter@terminal@fontcolor}% 文字色を無指定
|
295
|
+
\edef\starter@codeblock@backcolor{starter@terminal@backcolor}% 背景色を指定
|
296
|
+
\edef\starter@codeblock@bordercolor{starter@terminal@bordercolor}% 枠の色
|
297
|
+
\edef\starter@codeblock@weakcolor{starter@terminal@weakcolor}% 折り返し記号の色
|
298
|
+
\edef\starter@codeblock@weakercolor{starter@terminal@weakercolor}% 改行記号の色
|
299
|
+
\edef\starter@codeblock@thincolor{starter@terminal@thincolor}% インデント記号の色
|
300
|
+
\ifx\starter@terminal@border\empty%
|
301
|
+
\edef\starter@codeblock@bordercolor{}% % 枠をつけない
|
302
|
+
\fi%
|
303
|
+
\begin{starter@codeblock}[#1]{#2}%
|
304
|
+
}{%
|
305
|
+
\end{starter@codeblock}%
|
306
|
+
}
|
307
|
+
|
308
|
+
%%% 出力結果(//output[label][caption][optionstr]{ ... //})
|
309
|
+
\newenvironment{starteroutput}[2][]{% % #1:ラベル、#2:キャプション
|
310
|
+
\edef\starter@codeblock@ttfont{\starter@output@ttfont}% 等幅フォントを指定
|
311
|
+
\edef\starter@codeblock@fontsize{\starter@output@fontsize}% 文字を少し小さくする
|
312
|
+
\edef\starter@codeblock@border{\starter@output@border}% 枠をつける/つけない
|
313
|
+
\edef\starter@codeblock@widen{\starter@output@widen}% 幅をほんの少し広げる
|
314
|
+
\edef\starter@codeblock@widecharfit{\starter@output@widecharfit}% 全角幅を半角2文字分に
|
315
|
+
\edef\starter@codeblock@charspace{\starter@output@charspace}% 文字間のスペース
|
316
|
+
\edef\starter@codeblock@baselineskip{0.85\baselineskip}% 行間を狭める
|
317
|
+
\edef\starter@codeblock@fontcolor{starter@output@fontcolor}% 文字色を無指定
|
318
|
+
\edef\starter@codeblock@backcolor{starter@output@backcolor}% 背景色を指定
|
319
|
+
\edef\starter@codeblock@bordercolor{starter@output@bordercolor}% 枠の色
|
320
|
+
\edef\starter@codeblock@weakcolor{starter@output@weakcolor}% 折り返し記号の色
|
321
|
+
\edef\starter@codeblock@weakercolor{starter@output@weakercolor}% 改行記号の色
|
322
|
+
\edef\starter@codeblock@thincolor{starter@output@thincolor}% インデント記号の色
|
323
|
+
\ifx\starter@output@border\empty%
|
324
|
+
\edef\starter@codeblock@bordercolor{}% % 枠をつけない
|
325
|
+
\fi%
|
326
|
+
\begin{starter@codeblock}[#1]{#2}%
|
212
327
|
}{%
|
213
328
|
\end{starter@codeblock}%
|
214
|
-
\starter@codeblock@vspace% % 下に余白を空ける
|
215
329
|
}
|
216
330
|
|
217
331
|
|
@@ -228,17 +342,29 @@
|
|
228
342
|
%% ・第1引数は折り返し箇所の行末で実行されるコマンド
|
229
343
|
%% ・第2引数は折り返し箇所の次行の行頭で実行されるコマンド
|
230
344
|
%% ・第3引数は折り返ししないときに実行されるコマンド
|
345
|
+
%% ・「\starter@excluewhencopied」を使って、折返し文字をマウスコピペの対象外にする
|
346
|
+
%% (TODO:\discretionaryを上書きするとコンパイルがかなり遅くなってしまう)
|
231
347
|
\discretionary{%
|
232
|
-
\makebox[0pt][l]{
|
348
|
+
\makebox[0pt][l]{%
|
349
|
+
\starter@excluewhencopied{\starter@fold@char}% 折り返しを表す記号を行末に挿入
|
350
|
+
}%
|
233
351
|
}{%
|
234
352
|
\makebox[\starter@fold@indentwidth][r]{% % 折返しの直後にインデントを挿入
|
235
|
-
\starter@fold@contchar%
|
353
|
+
\starter@excluewhencopied{\starter@fold@contchar}% 折り返しを表す記号を行頭に挿入
|
236
354
|
}%
|
237
|
-
}{
|
355
|
+
}{%
|
356
|
+
\starter@fold@whennot%
|
357
|
+
}%
|
358
|
+
}
|
359
|
+
\newcommand{\starter@fold@whennot}{%
|
360
|
+
%% 文字間の間隔を空ける/詰める
|
361
|
+
\ifx\starter@codeblock@charspace\empty\else%
|
362
|
+
\mbox{\hspace{\starter@codeblock@charspace}}%
|
363
|
+
\fi%
|
238
364
|
}
|
239
365
|
\newcommand{\starter@fold@char}{%
|
240
366
|
\mdseries\rmfamily% % 通常の太さのローマン体
|
241
|
-
\textcolor{
|
367
|
+
\textcolor{\starter@codeblock@weakcolor}{\guilsinglright}% グレーの '>'
|
242
368
|
%\tiny\textcolor{gray}{\raisebox{0.5mm}{$\blacktriangleright$}}% % 右向きの三角形
|
243
369
|
}
|
244
370
|
\newcommand{\starter@fold@contchar}{% % 折り返し後の継続行の頭につける記号
|
@@ -283,6 +409,14 @@
|
|
283
409
|
}{}%
|
284
410
|
}
|
285
411
|
|
412
|
+
%% 折り返しをしない
|
413
|
+
\newcommand{\starter@fold@not}{%
|
414
|
+
\ifx\starter@codeblock@charspace\empty\else%
|
415
|
+
\mbox{\hspace{\starter@codeblock@charspace}}%
|
416
|
+
\fi%
|
417
|
+
\nolinebreak% % 折り返し以外での改行を禁止する
|
418
|
+
}
|
419
|
+
|
286
420
|
|
287
421
|
|
288
422
|
%%% 行末 (End Of Line) を表す記号
|
@@ -300,7 +434,9 @@
|
|
300
434
|
|
301
435
|
\newcommand{\startereolmark}{% % 行末を表す改行記号を表示する
|
302
436
|
\makebox[0pt][l]{%
|
303
|
-
\textcolor{starter@
|
437
|
+
\textcolor{\starter@codeblock@weakercolor}{%
|
438
|
+
\starter@excluewhencopied{\starter@eol@char}%
|
439
|
+
}%
|
304
440
|
}%
|
305
441
|
}
|
306
442
|
\newcommand{\starter@eol@char}{% % 行末を表す改行記号
|
@@ -309,24 +445,19 @@
|
|
309
445
|
% \scriptsize$\leftdowncurvedarrow$}% % (カーブタイプ、stix.styが必要)
|
310
446
|
%}%
|
311
447
|
}
|
312
|
-
\colorlet{starter@eol@color}{lightgray} % 改行記号の表示色
|
313
|
-
\newcommand{\startereolmarklight}{% % program用
|
314
|
-
\colorlet{starter@eol@color}{lightgray}% % 薄いグレーを使う
|
315
|
-
}
|
316
|
-
\newcommand{\startereolmarkdark}{% % terminal用
|
317
|
-
\colorlet{starter@eol@color}{darkgray}% % 濃いグレーを使う
|
318
|
-
}
|
319
448
|
|
320
449
|
|
321
450
|
|
322
451
|
%%% コードブロックのインデントを示す記号(「|」)
|
323
|
-
|
324
|
-
\newcommand{\
|
325
|
-
{
|
326
|
-
|
327
|
-
|
328
|
-
\textcolor{starter@program@indentcolor}{\starter@indentchar}% 色つきで表示
|
452
|
+
%%% (以前はパイプ記号だったけど、マウスでコピペするとそれに含まれてしまうので、縦線を引くように変更。)
|
453
|
+
\newcommand{\starterindentchar}{%
|
454
|
+
\textcolor{\starter@codeblock@thincolor}{% % 色つきで表示
|
455
|
+
\starter@indentchar%
|
456
|
+
}%
|
329
457
|
}
|
330
|
-
\
|
331
|
-
\
|
458
|
+
\def\starter@indentchar{% % インデントを表す記号
|
459
|
+
\rlap{% % 表示するけど位置を移動しない
|
460
|
+
\rule[-0.55ex]{0.5pt}{2.35ex}% % 縦線を引く
|
461
|
+
}%
|
462
|
+
\mbox{ }% % 半角空白
|
332
463
|
}
|