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
|
@@ -27,7 +27,6 @@
|
|
|
27
27
|
\advance\rightskip\starter@note@sidemargin%
|
|
28
28
|
\advance\leftskip\starter@note@sidemargin%
|
|
29
29
|
%% プログラムやターミナルや引用の左右に余白を空ける
|
|
30
|
-
\setlength{\starter@codeblock@sidemargin}{\starter@note@sidemargin}%
|
|
31
30
|
\setlength{\starter@quote@sidemargin}{\starter@note@sidemargin}%
|
|
32
31
|
%% プログラムやターミナルの前後の余白を少し小さくする
|
|
33
32
|
\renewcommand{\starter@codeblock@vspace}{\addvspace{\smallskipamount}}%
|
|
@@ -105,23 +104,77 @@
|
|
|
105
104
|
%%%
|
|
106
105
|
%%% ノート以外のブロック
|
|
107
106
|
%%%
|
|
108
|
-
\newenvironment{starter@miniblock}
|
|
109
|
-
|
|
107
|
+
\newenvironment{startermemo}[1]{\begin{starter@miniblock}{#1}}{\end{starter@miniblock}}
|
|
108
|
+
\newenvironment{startertip}[1]{\begin{starter@miniblock}{#1}}{\end{starter@miniblock}}
|
|
109
|
+
%\newenvironment{starterinfo}[1]{\begin{starter@miniblock}{#1}}{\end{starter@miniblock}}
|
|
110
|
+
%\newenvironment{starterwarning}[1]{\begin{starter@miniblock}{#1}}{\end{starter@miniblock}}
|
|
111
|
+
\newenvironment{starterimportant}[1]{\begin{starter@miniblock}{#1}}{\end{starter@miniblock}}
|
|
112
|
+
%\newenvironment{startercaution}[1]{\begin{starter@miniblock}{#1}}{\end{starter@miniblock}}
|
|
113
|
+
\newenvironment{starternotice}[1]{\begin{starter@miniblock}{#1}}{\end{starter@miniblock}}
|
|
114
|
+
\newenvironment{starterinfo}[1]{%
|
|
115
|
+
\begin{starter@miniblock}[\starter@miniblock@info@imagefile]{#1}%
|
|
116
|
+
}{%
|
|
117
|
+
\end{starter@miniblock}%
|
|
118
|
+
}
|
|
119
|
+
\newenvironment{starterwarning}[1]{%
|
|
120
|
+
\begin{starter@miniblock}[\starter@miniblock@warning@imagefile]{#1}%
|
|
121
|
+
}{%
|
|
122
|
+
\end{starter@miniblock}%
|
|
123
|
+
}
|
|
124
|
+
\newenvironment{startercaution}[1]{%
|
|
125
|
+
\begin{starter@miniblock}[\starter@miniblock@caution@imagefile]{#1}%
|
|
126
|
+
}{%
|
|
127
|
+
\end{starter@miniblock}%
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
\def\starter@miniblock@info@imagefile{./images/info-icon.png} % 情報のアイコン画像
|
|
131
|
+
\def\starter@miniblock@warning@imagefile{./images/warning-icon.png}% 警告のアイコン画像
|
|
132
|
+
\def\starter@miniblock@caution@imagefile{./images/caution-icon.png}% 警告のアイコン画像
|
|
133
|
+
|
|
134
|
+
\def\starter@miniblock@imagewidth{3zw} % アイコン画像の表示幅
|
|
135
|
+
\def\starter@miniblock@indent{4zw} % ページ左端からの本文のインデント幅
|
|
136
|
+
\def\starter@miniblock@font{\small} % 本文のフォント
|
|
137
|
+
|
|
138
|
+
\newenvironment{starter@miniblock}[2][]{% #1: アイコン画像、#2: タイトル
|
|
139
|
+
\starter@miniblock@topmargin% 1行分空ける
|
|
110
140
|
\begin{oframed}% % 枠線で囲む
|
|
111
|
-
\ifempty{#1}\else% %
|
|
112
|
-
\
|
|
113
|
-
{\headfont #1}% % 太字のゴシック体で表示
|
|
114
|
-
\par\smallskip% % 縦方向に少しスペースを空ける
|
|
141
|
+
\ifempty{#1}\else% % アイコン画像が指定されれば、
|
|
142
|
+
\starter@miniblock@icon{#1}% それを表示
|
|
115
143
|
\fi%
|
|
144
|
+
\ifempty{#2}\else% % タイトルがあれば、
|
|
145
|
+
\starter@miniblock@title{#2}% タイトルを表示
|
|
146
|
+
\fi%
|
|
147
|
+
\starter@miniblock@font% % 本文のフォントを少し小さく
|
|
116
148
|
}{%
|
|
117
149
|
\end{oframed}% % 枠線による囲みの終わり
|
|
150
|
+
\starter@miniblock@bottommargin% 1行分空ける
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
\newcommand{\starter@miniblock@topmargin}{%
|
|
118
154
|
\addvspace{1.0\baselineskip}% 1行分空ける
|
|
119
155
|
}
|
|
120
156
|
|
|
121
|
-
\
|
|
122
|
-
\
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
\
|
|
126
|
-
\
|
|
127
|
-
|
|
157
|
+
\newcommand{\starter@miniblock@bottommargin}{%
|
|
158
|
+
\addvspace{1.0\baselineskip}% 1行分空ける
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
\newcommand{\starter@miniblock@title}[1]{% #1: タイトル
|
|
162
|
+
\noindent% % 字下げせずに
|
|
163
|
+
{\headfont #1}% % 太字のゴシック体で表示
|
|
164
|
+
\par% % 改行がわりの改段落
|
|
165
|
+
\smallskip% % 縦方向に少しスペースを空ける
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
\newcommand{\starter@miniblock@icon}[1]{% #1: アイコン画像
|
|
169
|
+
%\vspace{-\intextsep}% % 参考:美文書第8版p.159
|
|
170
|
+
\vbox to -0.7zw{% % 画像の上部を本文と揃える
|
|
171
|
+
\noindent% % 画像を字下げさせない
|
|
172
|
+
%\textcolor{gray}{\fbox{% % グレーの枠線をつける場合
|
|
173
|
+
\includegraphics[width=\starter@miniblock@imagewidth]{#1}% 画像を表示
|
|
174
|
+
%}}%
|
|
175
|
+
}%
|
|
176
|
+
\setlength{\leftskip}{\starter@miniblock@indent}% 左側の空きを設定
|
|
177
|
+
%% 箇条書き(itemize, enumerate)に対応
|
|
178
|
+
\addtolength{\@totalleftmargin}{\starter@miniblock@indent}% 左の空きを増やす
|
|
179
|
+
\addtolength{\linewidth}{-\starter@miniblock@indent}% % 本文幅を短くする
|
|
180
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
%%% -*- coding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
%%%
|
|
4
|
+
%%% 会話形式
|
|
5
|
+
%%%
|
|
6
|
+
|
|
7
|
+
%%% 会話リスト
|
|
8
|
+
\newenvironment{startertalklist}{%
|
|
9
|
+
\addvspace{\starter@talklist@listmargin}% % 空きを入れる
|
|
10
|
+
\vspace{\starter@talklist@itemmargin}% % 空きを調整
|
|
11
|
+
}{%
|
|
12
|
+
\vspace{-\starter@talklist@itemmargin}% % 空きを調整
|
|
13
|
+
\addvspace{\starter@talklist@listmargin}% % 空きを入れる
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
%%% 会話項目
|
|
17
|
+
\newcommand\startertalk[3]{{%
|
|
18
|
+
\edef\@image{#1}% % 画像ファイル
|
|
19
|
+
\edef\@chara{#2}% % 名前(発言者名)
|
|
20
|
+
\ifx\@image\@empty% % 画像が指定されなければ、
|
|
21
|
+
\rlap{% % 表示はするけど位置を移動しない
|
|
22
|
+
\starter@talklist@character{\@chara}% 名前を表示
|
|
23
|
+
}%
|
|
24
|
+
\settowidth{\@tempdima}{% % 名前と ':「' を表示したときの幅
|
|
25
|
+
\starter@talklist@character{\@chara}% 名前と ':'
|
|
26
|
+
\starter@talklist@itemstart% % '「'
|
|
27
|
+
}%
|
|
28
|
+
\addtolength{\@tempdima}{% % 名前と ':「' の表示幅から、
|
|
29
|
+
-\starter@talklist@indent% % 会話文左の空き幅を引く
|
|
30
|
+
}%
|
|
31
|
+
\vspace{-\baselineskip}% % なぜか1行下がるので戻す
|
|
32
|
+
\else% % 画像が指定されれば、
|
|
33
|
+
\needvspace{\starter@talklist@needvspace}% 縦方向の空きがなければ改ページ
|
|
34
|
+
%\vspace{-\intextsep}% % 参考:美文書第8版p.159
|
|
35
|
+
\vspace{-\baselineskip}% % 画像上部の空きを調整
|
|
36
|
+
\vbox to -0.2zw{% % 画像の上部を本文と揃える
|
|
37
|
+
\noindent% % 画像を字下げさせない
|
|
38
|
+
\starter@talklist@itemimage{\@image}% 画像を表示
|
|
39
|
+
}%
|
|
40
|
+
\setlength{\@tempdima}{0pt}% % 画像の場合は名前が長すぎるようなことは起こらない
|
|
41
|
+
\fi%
|
|
42
|
+
{%
|
|
43
|
+
\setlength{\leftskip}{\starter@talklist@indent}% 会話文の左側の空きを設定
|
|
44
|
+
\noindent% % 最初の段落だけ字下げしない
|
|
45
|
+
\ifdim\@tempdima>0pt% % 左側の空きより名前のほうが長ければ、
|
|
46
|
+
\hspace{\@tempdima}% % 会話文の開始位置をずらす
|
|
47
|
+
\fi%
|
|
48
|
+
\llap{\starter@talklist@itemstart}% '「' を表示
|
|
49
|
+
#3% % 会話文を表示
|
|
50
|
+
\rlap{\starter@talklist@itemend}% % '」' を表示
|
|
51
|
+
\par% % 改行がわり
|
|
52
|
+
\ifx\@image\@empty% % 画像を使うとき、
|
|
53
|
+
\else%
|
|
54
|
+
\starter@talklist@adjustheight{#3}% 会話文が短い場合は画像高さと揃える
|
|
55
|
+
\fi%
|
|
56
|
+
}%
|
|
57
|
+
\vspace{\starter@talklist@itemmargin}% 会話項目間に空きを入れる
|
|
58
|
+
}}%
|
|
59
|
+
|
|
60
|
+
%%% 名前を表示
|
|
61
|
+
\newcommand{\starter@talklist@character}[1]{%
|
|
62
|
+
{%
|
|
63
|
+
{\starter@talklist@namefont #1}% % ゴシック体で表示
|
|
64
|
+
\starter@talklist@separator% % 「:」を表示
|
|
65
|
+
}%
|
|
66
|
+
}
|
|
67
|
+
\def\starter@talklist@namefont{\gtfamily\sffamily} % ゴシック体
|
|
68
|
+
|
|
69
|
+
%%% 会話文が少ないとき、会話文の高さを画像と揃える
|
|
70
|
+
\newcommand{\starter@talklist@adjustheight}[1]{%
|
|
71
|
+
{%
|
|
72
|
+
\edef\imgw{\starter@talklist@imagewidth}% % 画像幅
|
|
73
|
+
\edef\imgh{\starter@talklist@imageheight}% % 画像高さ
|
|
74
|
+
\ifx\imgh\empty% % 画像高さが無指定なら
|
|
75
|
+
\edef\imgh{\starter@talklist@imagewidth}% 画像幅と同じにする
|
|
76
|
+
\fi%
|
|
77
|
+
\setlength{\@tempdima}{% % 画像を除いた、会話文の本文幅
|
|
78
|
+
\dimexpr \textwidth-\starter@talklist@indent%
|
|
79
|
+
}
|
|
80
|
+
\sbox{0}{\parbox{\@tempdima}{#1}}%% 会話文の表示サイズを調べる
|
|
81
|
+
\setlength{\@tempdimb}{\ht0+\dp0}%% 会話文の表示上の高さが
|
|
82
|
+
\ifdim\@tempdimb<\imgh% % 画像より低ければ
|
|
83
|
+
\setlength{\@tempdimc}{\imgh-\@tempdimb}
|
|
84
|
+
\vspace{\@tempdimc}% % その分の空きを入れる
|
|
85
|
+
\fi%
|
|
86
|
+
}%
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
%%% 会話の画像を表示
|
|
90
|
+
\newcommand\starter@talklist@itemimage[1]{%
|
|
91
|
+
\ifx\starter@talklist@imageborder\empty% 画像に枠線をつけない場合
|
|
92
|
+
\starter@talklist@image{#1}%
|
|
93
|
+
\else% % 画像に枠線をつける場合
|
|
94
|
+
\textcolor{gray}{% % グレーの枠線
|
|
95
|
+
\fbox{\starter@talklist@image{#1}}%
|
|
96
|
+
}%
|
|
97
|
+
\fi%
|
|
98
|
+
}
|
|
99
|
+
\newcommand{\starter@talklist@image}[1]{%
|
|
100
|
+
\if\starter@talklist@imageheight\empty% 画像の高さが指定されている場合
|
|
101
|
+
\includegraphics[width=\starter@talklist@imagewidth]{#1}%
|
|
102
|
+
\else% % 画像の高さが指定されてない場合
|
|
103
|
+
\includegraphics[width=\starter@talklist@imagewidth,height=\starter@talklist@imageheight]{#1}%
|
|
104
|
+
\fi%
|
|
105
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
%%% -*- coding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
%%% 引数が空かどうか調べるマクロ
|
|
5
|
+
\newcommand{\ifempty}[1]{%
|
|
6
|
+
\edef\temp{#1}% % \ifx#1\empty とはできないので、一時マクロを定義
|
|
7
|
+
\ifx\temp\empty% % \empty は他の言語でいえば空文字列に相当
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
%%% 文字列比較をするマクロ
|
|
11
|
+
\newcommand\ifstreq[2]{
|
|
12
|
+
\edef\@tempa{#1}%
|
|
13
|
+
\edef\@tempb{#2}%
|
|
14
|
+
\ifx\@tempa\@tempb% % \ifx#1#2 とはできないことに注意(TeXの仕様)
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
%%% 例:「\@eval{section}{blabla}」は「\section{blabla}」と同等
|
|
18
|
+
\newcommand{\@eval}[1]{%
|
|
19
|
+
\csname#1\endcsname%
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
%%% \lastskip を保存するための一時変数
|
|
23
|
+
\newcommand{\keeplastskip}[1]{%
|
|
24
|
+
\@tempskipa=\lastskip%
|
|
25
|
+
\vskip -\lastskip\relax%
|
|
26
|
+
#1%
|
|
27
|
+
\vskip \@tempskipa\relax%
|
|
28
|
+
\@tempskipa=0pt%
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
%%% 縦方向のスペースがあるか調べる。なければ改ページする。
|
|
32
|
+
\newcommand{\needvspace}[1]{%
|
|
33
|
+
\rule[#1]{0pt}{0pt}% % 幅のない縦線を引く。引くスペースがなければ改ページされる。
|
|
34
|
+
\vspace{-#1}\par% % もとの位置に戻る
|
|
35
|
+
}
|
|
@@ -6,40 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
%%%
|
|
10
|
-
\
|
|
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
|
-
|
|
9
|
+
%%% ユーティリティマクロ
|
|
10
|
+
\usepackage{starter-util}
|
|
43
11
|
|
|
44
12
|
%%% 色を設定
|
|
45
13
|
\usepackage{starter-color}
|
|
@@ -54,501 +22,15 @@
|
|
|
54
22
|
%%% プログラムコードやターミナル
|
|
55
23
|
\usepackage{starter-codeblock}
|
|
56
24
|
|
|
57
|
-
%%%
|
|
25
|
+
%%% ノート、ミニブロック
|
|
58
26
|
\usepackage{starter-note}
|
|
59
27
|
|
|
28
|
+
%%% 会話
|
|
29
|
+
\usepackage{starter-talklist}
|
|
30
|
+
|
|
60
31
|
%%% 目次
|
|
61
32
|
\usepackage{starter-toc}
|
|
62
33
|
|
|
63
34
|
|
|
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}% % 深さ
|
|
35
|
+
%%% その他
|
|
36
|
+
\usepackage{starter-misc}
|