review-retrovert 0.9.7 → 0.9.8
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.
- 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
|
}
|