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
@@ -22,8 +22,8 @@
|
|
22
22
|
|
23
23
|
%%% 白黒 (白黒印刷用、0.0が黒で1.0が白)
|
24
24
|
\ifstreq{\starter@colormode}{mono}
|
25
|
-
\definecolor{starter@deepcolor}{gray}{0.1} % dark gray
|
26
|
-
\definecolor{starter@palecolor}{gray}{0.9} % light gray
|
25
|
+
\definecolor{starter@deepcolor}{gray}{0.1} % very dark gray
|
26
|
+
\definecolor{starter@palecolor}{gray}{0.9} % very light gray
|
27
27
|
\definecolor{starter@chaptercolor}{gray}{0.4} % gray
|
28
28
|
\definecolor{starter@sectioncolor}{gray}{0.1} % gray
|
29
29
|
\definecolor{starter@subsectioncolor}{gray}{0.1} % dark gray
|
@@ -31,12 +31,31 @@
|
|
31
31
|
\definecolor{starter@captioncolor}{gray}{0.4} % gray
|
32
32
|
\definecolor{starter@quotecolor}{gray}{0.4} % gray
|
33
33
|
\colorlet{starter@linkcolor}{black} % black
|
34
|
-
\colorlet{starter@chaptitlepagecolor}{white}
|
35
|
-
|
36
|
-
|
37
|
-
\definecolor{starter@program@
|
38
|
-
\definecolor{starter@
|
39
|
-
\definecolor{starter@
|
34
|
+
\colorlet{starter@chaptitlepagecolor}{white}% % white
|
35
|
+
%\definecolor{starter@chaptitlepagecolor}{gray}{0.9}% very light gray
|
36
|
+
%% プログラム用(フォント、背景、枠、折返し記号、改行記号、インデント記号)
|
37
|
+
\definecolor{starter@program@fontcolor}{gray}{0.0} % black
|
38
|
+
\definecolor{starter@program@backcolor}{gray}{0.9} % very light gray
|
39
|
+
\definecolor{starter@program@bordercolor}{gray}{0.5} % gray
|
40
|
+
\definecolor{starter@program@weakcolor}{gray}{0.5} % gray
|
41
|
+
\definecolor{starter@program@weakercolor}{gray}{0.75}% gray
|
42
|
+
\definecolor{starter@program@thincolor}{gray}{0.95} % ultra light gray
|
43
|
+
%% ターミナル用(フォント、背景、枠、折返し記号、改行記号、インデント記号)
|
44
|
+
\definecolor{starter@terminal@fontcolor}{gray}{1.0} % white
|
45
|
+
\definecolor{starter@terminal@backcolor}{gray}{0.1} % very dark black
|
46
|
+
\definecolor{starter@terminal@bordercolor}{gray}{0.5}% gray
|
47
|
+
\definecolor{starter@terminal@weakcolor}{gray}{0.5} % gray
|
48
|
+
\definecolor{starter@terminal@weakercolor}{gray}{0.25}% dark gray
|
49
|
+
\definecolor{starter@terminal@thincolor}{gray}{0.18} % ultra dark black
|
50
|
+
%% 出力結果用(フォント、背景、枠、折返し記号、改行記号、インデント記号)
|
51
|
+
\definecolor{starter@output@fontcolor}{gray}{0.0} % black
|
52
|
+
\definecolor{starter@output@backcolor}{gray}{1.0} % white
|
53
|
+
\definecolor{starter@output@bordercolor}{gray}{0.5} % gray
|
54
|
+
\definecolor{starter@output@weakcolor}{gray}{0.5} % gray
|
55
|
+
\definecolor{starter@output@weakercolor}{gray}{0.75} % gray
|
56
|
+
\definecolor{starter@output@thincolor}{gray}{0.95} % ultra light gray
|
57
|
+
%
|
58
|
+
\definecolor{starter@userinputcolor}{gray}{0.35} % dark gray
|
40
59
|
\fi
|
41
60
|
|
42
61
|
%%% カラー(RGB、PCやタブレット向け)
|
@@ -52,11 +71,29 @@
|
|
52
71
|
\definecolor{starter@quotecolor}{HTML}{999999} % gray
|
53
72
|
\colorlet{starter@linkcolor}{starter@deepcolor}% red
|
54
73
|
\colorlet{starter@chaptitlepagecolor}{starter@palecolor}
|
55
|
-
|
56
|
-
\definecolor{starter@
|
57
|
-
\definecolor{starter@program@
|
58
|
-
\definecolor{starter@
|
59
|
-
\definecolor{starter@
|
74
|
+
%% プログラム用(フォント、背景、枠、折返し記号、インデント記号)
|
75
|
+
\definecolor{starter@program@fontcolor}{HTML}{000000} % black
|
76
|
+
\definecolor{starter@program@backcolor}{HTML}{E5E5E5} % very light gray
|
77
|
+
\definecolor{starter@program@bordercolor}{HTML}{909090} % gray
|
78
|
+
\definecolor{starter@program@weakcolor}{HTML}{909090} % gray
|
79
|
+
\definecolor{starter@program@weakercolor}{HTML}{C0C0C0} % light gray
|
80
|
+
\definecolor{starter@program@thincolor}{HTML}{F2F2F2} % ultra light gray
|
81
|
+
%% ターミナル用(フォント、背景、枠、折返し記号、インデント記号)
|
82
|
+
\definecolor{starter@terminal@fontcolor}{HTML}{FFFFFF} % white
|
83
|
+
\definecolor{starter@terminal@backcolor}{HTML}{191919} % very dark black
|
84
|
+
\definecolor{starter@terminal@bordercolor}{HTML}{909090} % gray
|
85
|
+
\definecolor{starter@terminal@weakcolor}{HTML}{909090} % gray
|
86
|
+
\definecolor{starter@terminal@weakercolor}{HTML}{404040} % dark gray
|
87
|
+
\definecolor{starter@terminal@thincolor}{HTML}{2E2E2E} % ultra dark black
|
88
|
+
%% 出力結果用(フォント、背景、枠、折返し記号、インデント記号)
|
89
|
+
\definecolor{starter@output@fontcolor}{HTML}{000000} % black
|
90
|
+
\definecolor{starter@output@backcolor}{HTML}{FFFFFF} % white
|
91
|
+
\definecolor{starter@output@bordercolor}{HTML}{909090} % gray
|
92
|
+
\definecolor{starter@output@weakcolor}{HTML}{909090} % gray
|
93
|
+
\definecolor{starter@output@weakercolor}{HTML}{C0C0C0} % light gray
|
94
|
+
\definecolor{starter@output@thincolor}{HTML}{F2F2F2} % ultra light gray
|
95
|
+
%
|
96
|
+
\definecolor{starter@userinputcolor}{HTML}{595959} % dark gray
|
60
97
|
\fi
|
61
98
|
|
62
99
|
%%% カラー(CYMK、カラー印刷向け)
|
@@ -71,9 +108,27 @@
|
|
71
108
|
\definecolor{starter@quotecolor}{cmyk}{0.0,0.0,0.0,0.5} % gray
|
72
109
|
\colorlet{starter@linkcolor}{starter@deepcolor} % red
|
73
110
|
\colorlet{starter@chaptitlepagecolor}{starter@palecolor}
|
74
|
-
|
75
|
-
\definecolor{starter@
|
76
|
-
\definecolor{starter@program@
|
77
|
-
\definecolor{starter@
|
111
|
+
%% プログラム用(フォント、背景、枠、折返し記号、改行記号、インデント記号)
|
112
|
+
\definecolor{starter@program@fontcolor}{cmyk}{0.0,0.0,0.0,1.0} % black
|
113
|
+
\definecolor{starter@program@backcolor}{cmyk}{0.0,0.0,0.0,0.1} % very light gray
|
114
|
+
\definecolor{starter@program@bordercolor}{cmyk}{0.0,0.0,0.0,0.5} % gray
|
115
|
+
\definecolor{starter@program@weakcolor}{cmyk}{0.0,0.0,0.0,0.5} % gray
|
116
|
+
\definecolor{starter@program@weakercolor}{cmyk}{0.0,0.0,0.0,0.75} % light gray
|
117
|
+
\definecolor{starter@program@thincolor}{cmyk}{0.0,0.0,0.0,0.05} % ultra light gray
|
118
|
+
%% ターミナル用(フォント、背景、枠、折返し記号、改行記号、インデント記号)
|
119
|
+
\definecolor{starter@terminal@fontcolor}{cmyk}{0.0,0.0,0.0,0.0} % white
|
120
|
+
\definecolor{starter@terminal@backcolor}{cmyk}{0.0,0.0,0.0,0.9} % very dark black
|
121
|
+
\definecolor{starter@terminal@bordercolor}{cmyk}{0.0,0.0,0.0,0.5} % gray
|
122
|
+
\definecolor{starter@terminal@weakcolor}{cmyk}{0.0,0.0,0.0,0.5} % gray
|
123
|
+
\definecolor{starter@terminal@weakercolor}{cmyk}{0.0,0.0,0.0,0.75}% dark gray
|
124
|
+
\definecolor{starter@terminal@thincolor}{cmyk}{0.0,0.0,0.0,0.85} % ultra dark black
|
125
|
+
%% 出力結果用(フォント、背景、枠、折返し記号、改行記号、インデント記号)
|
126
|
+
\definecolor{starter@output@fontcolor}{cmyk}{0.0,0.0,0.0,1.0} % black
|
127
|
+
\definecolor{starter@output@backcolor}{cmyk}{0.0,0.0,0.0,0.0} % white
|
128
|
+
\definecolor{starter@output@bordercolor}{cmyk}{0.0,0.0,0.0,0.5} % gray
|
129
|
+
\definecolor{starter@output@weakcolor}{cmyk}{0.0,0.0,0.0,0.5} % gray
|
130
|
+
\definecolor{starter@output@weakercolor}{cmyk}{0.0,0.0,0.0,0.75} % light gray
|
131
|
+
\definecolor{starter@output@thincolor}{cmyk}{0.0,0.0,0.0,0.05} % ultra light gray
|
132
|
+
%
|
78
133
|
\definecolor{starter@userinputcolor}{cmyk}{0.0,0.0,0.0,0.35}% dark gray
|
79
134
|
\fi
|
@@ -41,7 +41,7 @@
|
|
41
41
|
\newcommand{\Heading@heading}[4]{% #1: Chapter, Section, etc, #2: 番号, #3: タイトル, #4: 目次用タイトル
|
42
42
|
%% タイトル前の余白
|
43
43
|
\@eval{#1@topmargin}{#2}% % #2: 番号
|
44
|
-
|
44
|
+
%;\pagebreak[0]% % 必要なら改ページをする ← TODO:要調査
|
45
45
|
%% 目次をクリックしたときのジャンプ先(アンカー)
|
46
46
|
\@eval{#1@anchor}{#2}% % #2: 番号
|
47
47
|
%% 番号とタイトル
|
@@ -107,8 +107,10 @@
|
|
107
107
|
\chaptermark{#2}% % ページヘッダに章タイトルを設定
|
108
108
|
}
|
109
109
|
\newcommand{\Chapter@topmargin}[1]{%
|
110
|
-
\if@
|
111
|
-
|
110
|
+
\if@Chapter@clearpage@%
|
111
|
+
\if@openleft\cleardoublepage\else%
|
112
|
+
\if@openright\cleardoublepage\else\clearpage\fi\fi%
|
113
|
+
\fi%
|
112
114
|
\plainifnotempty% 元: \thispagestyle{plain}%
|
113
115
|
\global\@topnum\z@%
|
114
116
|
%\vspace*{2.0\Cvs}% % (jsbook.cls) 2\Cvs
|
@@ -151,6 +153,8 @@
|
|
151
153
|
\ifstreq{\@align}{center}\centering\fi % 中央寄せ
|
152
154
|
}
|
153
155
|
\newif\if@FirstSectionPerChapter@ % 章における最初の節ならtrue
|
156
|
+
\newif\if@Chapter@clearpage@ % trueなら章タイトル直前で改ページ
|
157
|
+
\@Chapter@clearpage@true
|
154
158
|
|
155
159
|
%%% 章タイトルのカスタマイズ:下に細い下線
|
156
160
|
\iffalse
|
@@ -207,6 +211,7 @@
|
|
207
211
|
\fi\fi%
|
208
212
|
}
|
209
213
|
\newcommand{\Section@heading}[3]{%
|
214
|
+
\pagebreak[1]% % 節タイトルの直前では改ページしやすくする
|
210
215
|
\Heading@heading{Section}{#1}{#2}{#3}%
|
211
216
|
}
|
212
217
|
\newcommand{\Section@anchor}[1]{% #1: 節番号
|
@@ -276,11 +281,11 @@
|
|
276
281
|
\iffalse
|
277
282
|
\else\ifstreq{\starter@section@decoration}{grayback}
|
278
283
|
|
279
|
-
\renewcommand{\Section@number}[1]{% #1:
|
284
|
+
\renewcommand{\Section@number}[1]{% #1: 節番号
|
280
285
|
\textcolor{starter@palecolor}{% % タイトルの背景色(薄いグレー)
|
281
286
|
\rlap{\rule[-0.6zh]{\textwidth}{2zh}}% % 本文幅の背景色
|
282
287
|
}%
|
283
|
-
\textcolor{starter@sectioncolor}{% %
|
288
|
+
\textcolor{starter@sectioncolor}{% % 節番号の背景色(主色)
|
284
289
|
\rlap{\rule[-0.6zh]{3.5zw}{2zh}}%% 全角3.5文字分の背景色
|
285
290
|
}%
|
286
291
|
\makebox[3.5zw][c]{\textcolor{white}{#1}}% 白抜き文字で章番号
|
@@ -290,8 +295,8 @@
|
|
290
295
|
%%% 節タイトルのカスタマイズ:節番号を白抜き(背景色がないので複数行向き)
|
291
296
|
\else\ifstreq{\starter@section@decoration}{numbox}
|
292
297
|
|
293
|
-
\renewcommand{\Section@number}[1]{% #1:
|
294
|
-
\textcolor{starter@sectioncolor}{% %
|
298
|
+
\renewcommand{\Section@number}[1]{% #1: 節番号
|
299
|
+
\textcolor{starter@sectioncolor}{% % 節番号の背景色(主色)
|
295
300
|
\rlap{\rule[-0.6zh]{3.5zw}{2zh}}%% 全角3.5文字分の背景色
|
296
301
|
}%
|
297
302
|
\makebox[3.5zw][c]{\textcolor{white}{#1}}% 白抜き文字で章番号
|
@@ -301,24 +306,58 @@
|
|
301
306
|
%%% 節タイトルのカスタマイズ:節タイトルに下線を引く
|
302
307
|
\else\ifstreq{\starter@section@decoration}{underline}
|
303
308
|
|
304
|
-
\renewcommand{\Section@number}[1]{% #1:
|
309
|
+
\renewcommand{\Section@number}[1]{% #1: 節番号
|
305
310
|
\textcolor{starter@sectioncolor}{% % 線の色
|
306
311
|
\rlap{\rule[-0.6zh]{\textwidth}{0.2pt}}% 本文幅の下線
|
307
312
|
\rlap{\rule[-0.6zh]{0.75zw}{2zh}}% % 左端に太い縦線
|
308
313
|
}%
|
309
|
-
\hspace{1.5zw}#1\hspace{1.0zw}% %
|
314
|
+
\hspace{1.5zw}#1\hspace{1.0zw}% % 節番号(と空白)
|
310
315
|
}%
|
311
316
|
|
312
317
|
%%% 節タイトルのカスタマイズ:節タイトル右に太い縦線(下線がないので複数行向き)
|
313
318
|
\else\ifstreq{\starter@section@decoration}{leftline}
|
314
319
|
|
315
|
-
\renewcommand{\Section@number}[1]{% #1:
|
320
|
+
\renewcommand{\Section@number}[1]{% #1: 節番号
|
316
321
|
\textcolor{starter@sectioncolor}{% % 線の色
|
317
322
|
\rlap{\rule[-0.6zh]{0.75zw}{2zh}}% 左端に太い縦線
|
318
323
|
}%
|
319
|
-
\hspace{1.5zw}#1\hspace{1.0zw}% %
|
324
|
+
\hspace{1.5zw}#1\hspace{1.0zw}% % 節番号(と空白)
|
320
325
|
}%
|
321
326
|
|
327
|
+
%%% 節タイトルのカスタマイズ:大きな円(複数行向き)
|
328
|
+
\else\ifstreq{\starter@section@decoration}{circle}
|
329
|
+
|
330
|
+
\renewcommand{\Section@number}[1]{% #1: 節番号
|
331
|
+
\hspace{-0.40\Cwd}% % 円をちょっとだけ右にはみ出させる
|
332
|
+
\rlap{{% % 現在位置を変えずに右側に表示
|
333
|
+
\parbox[c]{6\Cwd}{% % 全角6文字分の幅で上下の中央揃え
|
334
|
+
\fontsize{6\Cwd}{0}\selectfont%% 文字サイズを大きくする
|
335
|
+
\textcolor{starter@sectioncolor}{●}% 大きな円
|
336
|
+
%%% if you prefer math symbol rather than CJK font
|
337
|
+
%\fontsize{7\Cwd}{0}\selectfont%
|
338
|
+
%\textcolor{starter@sectioncolor}{\ding{108}}% % requires \usepackage{pifont}
|
339
|
+
}%
|
340
|
+
}}%
|
341
|
+
\hspace{-0.20\Cwd}% % 節番号をちょっとだけ右にずらす
|
342
|
+
\makebox[6\Cwd][c]{% % 全角6文字分の幅で左右の中央揃え
|
343
|
+
\textcolor{white}{\raisebox{-0.14\Cwd}{#1}}% 白い文字で節番号を表示
|
344
|
+
}%
|
345
|
+
\hspace{0.60\Cwd}% % ちょっとだけ右にずらしていたのを戻す
|
346
|
+
}%
|
347
|
+
\renewcommand{\Section@title}[2]{{% #1: 節番号, #2: 節タイトル
|
348
|
+
\setlength{\@tempdima}{\textwidth}%% 本文幅
|
349
|
+
\edef\@tempa{#1}%
|
350
|
+
\ifx\@tempa\empty\else% % 節番号があれば
|
351
|
+
\Section@number{#1}% % 節番号を表示
|
352
|
+
\addtolength{\@tempdima}{-6\Cwd}%% 本文幅から全角6文字分引く
|
353
|
+
\fi%
|
354
|
+
\parbox[c]{\@tempdima}{% % 本文幅から全角6文字分引いた幅で上下の中央揃え
|
355
|
+
\baselineskip=0.85\baselineskip% % 行間隔を狭くする
|
356
|
+
#2% % 節タイトルを表示(\parboxのおかげで2行にも対応)
|
357
|
+
}%
|
358
|
+
\par% % 改行がわりの改段落
|
359
|
+
}}
|
360
|
+
|
322
361
|
%%% 節タイトルのカスタマイズ:装飾なし
|
323
362
|
\else
|
324
363
|
|
@@ -464,7 +503,7 @@
|
|
464
503
|
|
465
504
|
%%% 段 (Paragraph)
|
466
505
|
\newcommand\Paragraph{%
|
467
|
-
\@ifstar{\Paragraph@title}{
|
506
|
+
\@ifstar{\Paragraph@title}{\Paragraph@title}% '*' がついていたら読み飛ばす
|
468
507
|
}
|
469
508
|
\newcommand\Paragraph@title[1]{% % #1: タイトル
|
470
509
|
\Paragraph@separator% % 少しだけ余白を空ける
|
@@ -480,7 +519,7 @@
|
|
480
519
|
|
481
520
|
%%% 小段 (Subparagraph)
|
482
521
|
\newcommand\Subparagraph{%
|
483
|
-
\@ifstar{\Subparagraph@title}{
|
522
|
+
\@ifstar{\Subparagraph@title}{\Subparagraph@title}% '*' がついていたら読み飛ばす
|
484
523
|
}
|
485
524
|
\newcommand\Subparagraph@title[1]{% % #1: タイトル
|
486
525
|
\Subparagraph@separator% % 少しだけ余白を空ける
|
@@ -512,3 +551,11 @@
|
|
512
551
|
\def\subsubsection{\Subsubsection}
|
513
552
|
\def\paragraph{\Paragraph}
|
514
553
|
\def\subparagraph{\Subparagraph}
|
554
|
+
|
555
|
+
|
556
|
+
%%% 索引ページのタイトルデザインを変更
|
557
|
+
\renewcommand{\@makeschapterhead}[1]{%
|
558
|
+
\@Chapter@clearpage@false% % もとの \@makeschapterhead は改ページしないので、それに倣う
|
559
|
+
\Chapter*[]{#1}% % まえがきや目次と同じタイトルデザインを使う
|
560
|
+
\@Chapter@clearpage@true%
|
561
|
+
}
|
@@ -0,0 +1,894 @@
|
|
1
|
+
%%% -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
%%% 目次やリンクの色を指定する。印刷用なら黒にする。
|
4
|
+
\hypersetup{colorlinks=true,linkcolor=starter@linkcolor,urlcolor=starter@linkcolor}
|
5
|
+
%\hypersetup{colorlinks=false} % リンク機能をオフにする
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
%%% 「@<strong>{ ... }」を太字のゴシック体にする(「@<b>{ ... }」は明朝体のまま)。
|
10
|
+
\renewcommand{\reviewstrong}[1]{\textbf{\gtfamily\sffamily #1}}
|
11
|
+
|
12
|
+
%%% 「@<em>{ ... }」をゴシック体にする。
|
13
|
+
\renewcommand{\reviewem}[1]{{\gtfamily\sffamily #1}}
|
14
|
+
|
15
|
+
%%% 「@<del>{ ... }」(取り消し線)が効くようにする。
|
16
|
+
%%% (See https://qiita.com/takahashim/items/5c1af2941a1ce9fa5919)
|
17
|
+
\usepackage{ulem}
|
18
|
+
\renewcommand{\reviewstrike}[1]{\sout{#1}}
|
19
|
+
%\usepackage{jumoline}
|
20
|
+
%\renewcommand{\reviewstrike}[1]{\Midline{#1}} % \seqsplit{}と相性が悪い?
|
21
|
+
|
22
|
+
%%% 目立たせない(「@<strong>{}」の反対)
|
23
|
+
\newcommand{\starterweak}[1]{%
|
24
|
+
\textcolor{gray}{#1}%
|
25
|
+
}
|
26
|
+
|
27
|
+
%%% ふきだし説明の文字色をグレーに
|
28
|
+
\renewcommand{\reviewballoon}[1]{%
|
29
|
+
\textcolor{gray}{←#1}
|
30
|
+
}
|
31
|
+
|
32
|
+
%% 「@<tt>{}」を上書き
|
33
|
+
\renewcommand{\reviewtt}[1]{{%
|
34
|
+
\frenchspacing% % 「! ? : .」の直後の空白が2文字分になるのを防ぐ
|
35
|
+
\texttt{#1}% % 等幅フォント
|
36
|
+
}}
|
37
|
+
|
38
|
+
%% 「@<code>{...}」を薄いグレーで囲む
|
39
|
+
%% (ただし章や節のタイトル、および各種キャプションでは囲まない)
|
40
|
+
\ifx\starter@inlinecode@gray\empty
|
41
|
+
\renewcommand{\reviewcode}[2][]{{%
|
42
|
+
\frenchspacing% % 「! ? : .」の直後の空白が2文字分になるのを防ぐ
|
43
|
+
%\obeyspaces% % (効果なし, why?)
|
44
|
+
%\,% % ほんの少しスペースを入れる
|
45
|
+
\texttt{#2}%
|
46
|
+
%\,% % ほんの少しスペースを入れる
|
47
|
+
}}
|
48
|
+
\else
|
49
|
+
\renewcommand{\reviewcode}[2][]{{% % #1:空 or 'headline' or 'caption'
|
50
|
+
\frenchspacing% % 「! ? : .」の直後の空白が2文字分になるのを防ぐ
|
51
|
+
%\obeyspaces% % (効果なし, why?)
|
52
|
+
\,% % ほんの少しスペースを入れる
|
53
|
+
\edef\@tmpA{#1}%
|
54
|
+
\ifx\@tmpA\empty% % #1が空(未指定)なら
|
55
|
+
\colorbox{shadecolor}{\texttt{#2}}% % 背景色を薄いグレーにして等幅フォントで表示
|
56
|
+
\else% % #1がheadlineやcaptionなら
|
57
|
+
\texttt{#2}% % 等幅フォントで表示(背景色なし)
|
58
|
+
\fi%
|
59
|
+
\,% % ほんの少しスペースを入れる
|
60
|
+
}}
|
61
|
+
\fi
|
62
|
+
|
63
|
+
\def\starterspacechar{\hspace{0pt}\mbox{ }\hspace{0pt}}
|
64
|
+
|
65
|
+
%%% ファイル名を表す
|
66
|
+
\newcommand{\starterfile}[1]{%
|
67
|
+
{\gtfamily\sffamily #1}% % ゴシック体で表示
|
68
|
+
}
|
69
|
+
|
70
|
+
%%% ユーザ入力を表す
|
71
|
+
\newcommand{\starteruserinput}[1]{%
|
72
|
+
\ifempty{\starter@codeblock@fontcolor}%
|
73
|
+
\def\@fontcolor{black}%
|
74
|
+
\else%
|
75
|
+
\def\@fontcolor{\starter@codeblock@fontcolor}%
|
76
|
+
\fi%
|
77
|
+
\textcolor{starter@userinputcolor}{% % 下線の色
|
78
|
+
\underline{% % 下線(LaTeX標準)
|
79
|
+
%\uline{% % 下線(ulem.sty)
|
80
|
+
\textcolor{\@fontcolor}{#1}%
|
81
|
+
}%
|
82
|
+
}%
|
83
|
+
}
|
84
|
+
|
85
|
+
%%% ルビをふるのに必要(例:@<ruby>{漢, おとこ})
|
86
|
+
\usepackage{okumacro}
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
%%% 箇条書き(順序なし)の上下の余白を、行間の0.5倍から0.25倍へと減らす
|
91
|
+
\newenvironment{starteritemize}{%
|
92
|
+
\ifnum\@listdepth=0%
|
93
|
+
\def\@listi{%
|
94
|
+
\@listI%
|
95
|
+
\topsep 0.25\baselineskip% % 上下の余白を減らす(original: 0.5\baselineskip)
|
96
|
+
}%
|
97
|
+
\fi%
|
98
|
+
\begin{itemize}%
|
99
|
+
}{%
|
100
|
+
\end{itemize}%
|
101
|
+
}
|
102
|
+
|
103
|
+
%%% 箇条書き(順序つき)の上下の余白を、行間の0.5倍から0.25倍へと減らす
|
104
|
+
\newenvironment{starterenumerate}{%
|
105
|
+
\ifnum\@listdepth=0%
|
106
|
+
\def\@listi{%
|
107
|
+
\@listI%
|
108
|
+
\topsep 0.25\baselineskip% % 上下の余白を減らす(original: 0.5\baselineskip)
|
109
|
+
}%
|
110
|
+
\fi%
|
111
|
+
\begin{enumerate}%
|
112
|
+
}{%
|
113
|
+
\end{enumerate}%
|
114
|
+
}
|
115
|
+
|
116
|
+
%%% 順序なし箇条書きの行頭文字を変更
|
117
|
+
\usepackage{amssymb} % \blacktriangleright や \bigstar のために必要
|
118
|
+
%\renewcommand{\labelitemi}{$\blacktriangleright$} % 深さ1段目:小さい黒丸→小さい三角へ
|
119
|
+
\renewcommand{\labelitemii}{$\circ$} % 深さ2段目:「-」→小さい白丸へ
|
120
|
+
%\renewcommand{\labelitemiii}{{\small$\bigstar$}} % 深さ3段目:「*」→星形へ
|
121
|
+
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
%%% 奥付 (colophon) が最終ページになるよう調整する。
|
126
|
+
%%% (奥付が右ページだと、次ページである最終ページが空ページになるため)
|
127
|
+
\renewcommand{\reviewcolophon}[0]{%
|
128
|
+
\clearpage % 改ページ
|
129
|
+
\ifstreq{\starter@target}{tablet}% タブレット向けなら何も調整しない
|
130
|
+
\else\if@openright % \documentclass で openright が指定されていれば
|
131
|
+
\pltx@cleartoleftpage % 左ページ(偶数ページ)になるよう調整する
|
132
|
+
\else\if@openleft % \documentclass で openleft が指定されていれば
|
133
|
+
\pltx@cleartorightpage % 右ページ(奇数ページ)になるよう調整する
|
134
|
+
\fi\fi\fi
|
135
|
+
}
|
136
|
+
|
137
|
+
%%% 右起こし(奇数ぺージ始まり)にしない場合でも、大扉とまえがきの間に
|
138
|
+
%%% 空白ページが入ることがあるので、修正する。
|
139
|
+
\if@openright\else\if@openleft\else % 右起こしでも左起こしでもない場合だけ、
|
140
|
+
\renewcommand\frontmatter{% % 大扉やまえがきの開始を表すコマンドを再定義する。
|
141
|
+
%\pltx@cleartooddpage % 削除
|
142
|
+
\clearpage % 追加
|
143
|
+
\@mainmatterfalse
|
144
|
+
\pagenumbering{roman}
|
145
|
+
}
|
146
|
+
\fi\fi
|
147
|
+
|
148
|
+
%%% 右起こし(奇数ぺージ始まり)にしない場合でも、目次と第1章との間に
|
149
|
+
%%% 空白ページが入ることがあるので、修正する。
|
150
|
+
\if@openright\else\if@openleft\else % 右起こしでも左起こしでもない場合だけ、
|
151
|
+
\renewcommand\mainmatter{% % 本文の開始を表すコマンドを再定義する。
|
152
|
+
%\pltx@cleartooddpage % 削除
|
153
|
+
\clearpage % 追加
|
154
|
+
\@mainmattertrue
|
155
|
+
\pagenumbering{arabic}
|
156
|
+
}
|
157
|
+
\fi\fi
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
%%% ページヘッダーの形式を変更(fancyhdr.styを使用)
|
162
|
+
\newcommand{\pageheaderfont}{\small\gtfamily\sffamily} % ゴシック体
|
163
|
+
%\newcommand{\pageheaderfont}{\small\gtfamily\sffamily\bfseries} % ゴシック体、太字
|
164
|
+
%%% 紙書籍のような右起こしの場合(左ページに章タイトル、右ページに節タイトル)
|
165
|
+
\lhead[\pageheaderfont\leftmark]{}
|
166
|
+
\rhead[]{\pageheaderfont\rightmark}
|
167
|
+
%%% タブレット向けのような両起こしの場合(両ページに章タイトルと節タイトル)
|
168
|
+
%\lhead{\pageheaderfont\leftmark}
|
169
|
+
%\rhead{\pageheaderfont\rightmark}
|
170
|
+
|
171
|
+
%%% ページ番号のスタイル
|
172
|
+
%\newcommand{\pagenumberstyle}{\thepage} % 例:「1」
|
173
|
+
%\newcommand{\pagenumberstyle}{\itshape\bfseries\thepage} % 太字、斜体
|
174
|
+
\newcommand{\pagenumberstyle}{\rmfamily --\ \thepage\ --} % 例:「-- 1 --」
|
175
|
+
% \newcommand{\pagenumberstyle}{\itshape --\ \thepage\ --} % 斜体
|
176
|
+
|
177
|
+
%%% ページ番号をページフッタに表示(fancyhdr.styを使用)
|
178
|
+
\fancyfoot{} % ページフッタをクリア
|
179
|
+
\cfoot{\pagenumberstyle} % ページフッタの真ん中に表示
|
180
|
+
%\lfoot[\pagenumberstyle]{} % 偶数ページの左下に表示
|
181
|
+
%\rfoot[]{\pagenumberstyle} % 奇数ページの右下に表示
|
182
|
+
\fancypagestyle{plainhead}{ % 章タイトルページのスタイル
|
183
|
+
\fancyhead{} % ページヘッダなし
|
184
|
+
\fancyfoot{} % ページフッタをクリア
|
185
|
+
\cfoot{\pagenumberstyle} % ページフッタの真ん中に表示
|
186
|
+
%\lfoot[\pagenumberstyle]{} % 偶数ページの左下に表示
|
187
|
+
%\rfoot[]{\pagenumberstyle} % 奇数ページの右下に表示
|
188
|
+
\renewcommand{\headrulewidth}{0pt} % ページヘッダの区切り線をなくす
|
189
|
+
\renewcommand{\footrulewidth}{0pt} % ページフッタの区切り線をなくす
|
190
|
+
}
|
191
|
+
|
192
|
+
%%% ページヘッダを構成する要素を余計なことに Re:VIEW が上書きしちゃってるので、
|
193
|
+
%%% オリジナルの定義を jsbook.cls からコピーして元に戻す。
|
194
|
+
\def\chaptermark#1{%
|
195
|
+
\markboth{%
|
196
|
+
\ifnum \c@secnumdepth >\m@ne%
|
197
|
+
\if@mainmatter%
|
198
|
+
\if@omit@number\else%
|
199
|
+
\@chapapp\thechapter\@chappos\hskip1zw%
|
200
|
+
\fi%
|
201
|
+
\fi%
|
202
|
+
\fi%
|
203
|
+
#1%
|
204
|
+
}{}%
|
205
|
+
}%
|
206
|
+
\def\sectionmark#1{%
|
207
|
+
\markright{%
|
208
|
+
\ifnum \c@secnumdepth >\z@ \thesection \hskip1zw\fi%
|
209
|
+
#1%
|
210
|
+
}%
|
211
|
+
}%
|
212
|
+
|
213
|
+
|
214
|
+
|
215
|
+
%%% 章 (Chapter) のタイトルを独立したページにするコマンド。
|
216
|
+
%%% 独立したページには、章タイトルと、章の概要と、章ごとの目次を含める。
|
217
|
+
\usepackage{pagecolor} % for '\newpagecolor'
|
218
|
+
\usepackage{afterpage} % for '\afterpage'
|
219
|
+
\newcommand{\makechaptitlepage}[1]{%
|
220
|
+
\pagecolor{starter@chaptitlepagecolor} % ページに背景色をつける
|
221
|
+
%\addtolength{\linewidth}{-\parindent} % 目次の右側余白が左側より1文字分狭いことへの対策
|
222
|
+
\def\arg{#1} % '\ifx#1{toc}' がうまく動作してくれないので、その対策
|
223
|
+
\def\toc{toc}
|
224
|
+
\def\tocsec{toc=section}
|
225
|
+
\def\tocsub{toc=subsection}
|
226
|
+
\def\tocon{toc=on}
|
227
|
+
\def\tocoff{toc=off}
|
228
|
+
\ifx\arg\tocon
|
229
|
+
\setcounter{minitocdepth}{1} % 目次に出すのは節(Section)まで
|
230
|
+
\minitoc % 章ごとの目次
|
231
|
+
\else\ifx\arg\tocsec
|
232
|
+
\setcounter{minitocdepth}{1} % 目次に出すのは節(Section)まで
|
233
|
+
\minitoc % 章ごとの目次
|
234
|
+
\else\ifx\arg\tocsub
|
235
|
+
\setcounter{minitocdepth}{2} % 目次に出すのは項(SubSection)まで
|
236
|
+
\minitoc % 章ごとの目次
|
237
|
+
\else\ifx\arg\tocoff
|
238
|
+
\else
|
239
|
+
% TODO: invalid argument
|
240
|
+
\fi\fi\fi\fi
|
241
|
+
\clearpage% % 改ページ
|
242
|
+
\pagecolor{none}% % ページの背景色をなくす
|
243
|
+
}
|
244
|
+
%%% 章ごとの目次
|
245
|
+
%%% ('nohints' は、裏表紙の直後に空白ページができるのを防ぐために必要)
|
246
|
+
\usepackage[japanese,nohints]{minitoc} % 章ごとの目次を作る
|
247
|
+
\AtBeginDocument{% % \begin{document} で実行するコマンドを登録
|
248
|
+
\dominitoc
|
249
|
+
%\listoffigures
|
250
|
+
%\listoftables
|
251
|
+
}
|
252
|
+
\setcounter{minitocdepth}{1}% % 目次に出すのはSectionまで(Subsectionは出さない)
|
253
|
+
%\setlength{\mtcindent}{3zw} % 目次左右の余白幅(左右の幅であることに注意)
|
254
|
+
%\mtcsetoffset{minitoc}{3zw} % 目次左のインデント幅(テキスト幅は変わらず)
|
255
|
+
%\setlength{\mtcskipamount}{\bigskipamount}
|
256
|
+
\mtcsetrules{*}{off} % 章ごとの目次の上下に罫線を入れない
|
257
|
+
\mtcsettitle{minitoc}{【この章の内容】} % 章ごとの目次のタイトル
|
258
|
+
%\mtcsettitle{minitoc}{【{\@chapapp\thechapter\@chappos}の内容】} % または
|
259
|
+
\renewcommand{\mtcSfont}{\rmfamily\small} % 章ごとの目次のフォント
|
260
|
+
%\renewcommand{\mtcSfont}{\small\gtfamily\sffamily\color{white}} % 色をつける場合
|
261
|
+
\mtcsettitlefont{minitoc}{% % 章ごとの目次のタイトルを設定
|
262
|
+
\gtfamily\sffamily % ゴシック体、サンセリフ体
|
263
|
+
\hspace{2zw} % 左側のインデント
|
264
|
+
}
|
265
|
+
|
266
|
+
|
267
|
+
|
268
|
+
%%% 現在位置に画像が入りきらない場合、画像は次のページに回される。
|
269
|
+
%%% その際、現在位置に大きなスペースが空くのを防ぐために、
|
270
|
+
%%% 後続のテキストを現在位置に流し込むようにする。
|
271
|
+
\renewenvironment{reviewimage}[1][]{%
|
272
|
+
\begin{starter@image}{#1}%
|
273
|
+
}{%
|
274
|
+
\end{starter@image}%
|
275
|
+
}
|
276
|
+
%
|
277
|
+
\newenvironment{starter@image}[1]{%
|
278
|
+
\vspace{0.8zw} % 画像上の余白を調整(少し増やす)
|
279
|
+
\begin{figure}[#1]
|
280
|
+
%\begin{center} % center環境は余分な余白がつくので使わない
|
281
|
+
\centering % \centeringを使うと余分な余白がつかない
|
282
|
+
}{%
|
283
|
+
%\end{center}
|
284
|
+
\end{figure}
|
285
|
+
\vspace{-0.8zw} % 画像下の余白を調整(少し減らす)
|
286
|
+
}
|
287
|
+
%
|
288
|
+
\renewenvironment{reviewdummyimage}{%
|
289
|
+
\begin{reviewimage}
|
290
|
+
\begin{alltt}
|
291
|
+
}{%
|
292
|
+
\end{alltt}
|
293
|
+
\end{reviewimage}
|
294
|
+
}
|
295
|
+
|
296
|
+
|
297
|
+
|
298
|
+
%%% 表のマクロを上書き
|
299
|
+
%\newenvironment{reviewtable}[1]{%
|
300
|
+
% \begin{center}\small\setlength{\baselineskip}{1.2zw}
|
301
|
+
% \begin{tabular}{#1}}{%
|
302
|
+
% \end{tabular}
|
303
|
+
% \end{center}}
|
304
|
+
\renewenvironment{reviewtable}[1]{%
|
305
|
+
%\small\setlength{\baselineskip}{1.2zw}%
|
306
|
+
\startertablefont\setlength{\baselineskip}{1.2zw}%
|
307
|
+
\begin{tabular}{#1}%
|
308
|
+
}{%
|
309
|
+
\end{tabular}%
|
310
|
+
}
|
311
|
+
\def\startertablefont{\small}
|
312
|
+
|
313
|
+
|
314
|
+
%%% //imgtable のキャプション
|
315
|
+
\renewcommand{\reviewimgtablecaption}[1]{%
|
316
|
+
%\caption{#1}\vspace{-3mm}% % original
|
317
|
+
\caption{#1}%
|
318
|
+
}
|
319
|
+
|
320
|
+
|
321
|
+
|
322
|
+
%%% コラムが複数のページにまたがるとき、次のページに続いていることが
|
323
|
+
%%% わかるようにするために、ページ境界では上下の線を引かない。
|
324
|
+
\renewenvironment{reviewcolumn}{%
|
325
|
+
%\begin{framed}% % original
|
326
|
+
\begin{oframed}%
|
327
|
+
}{%
|
328
|
+
%\end{framed}% % original
|
329
|
+
\end{oframed}%
|
330
|
+
\vspace{2zw}%
|
331
|
+
}
|
332
|
+
|
333
|
+
%%% コラムのタイトルを変更する
|
334
|
+
\renewcommand{\reviewcolumnhead}[2]{%
|
335
|
+
%{\noindent\large ■コラム: #2}% % original
|
336
|
+
%{\noindent\large\gtfamily\sffamily\bfseries ■コラム:#2}% % 太字のゴシック
|
337
|
+
{\noindent\large\gtfamily\sffamily\bfseries 【コラム】#2}% % 太字のゴシック
|
338
|
+
\vspace{2mm}%
|
339
|
+
}
|
340
|
+
|
341
|
+
|
342
|
+
|
343
|
+
%%% @<hd>{} や @<subsec>{} で、節や項へのリンクを作成
|
344
|
+
%%% (config.yml で「chapterlink: true」の設定が必要)
|
345
|
+
\newcommand{\startersecref}[2]{%
|
346
|
+
「\hyperref[#2]{#1}」(p.\pageref{#2})% % 節や項のタイトルがリンク
|
347
|
+
%{#1}(\hyperref[#2]{p.\pageref{#2}})% % ページ番号がリンク
|
348
|
+
}
|
349
|
+
\newcommand{\startersubsecref}[2]{%
|
350
|
+
「\hyperref[#2]{{\startersubsectionsymbol}#1}」(p.\pageref{#2})% % 節や項のタイトルがリンク
|
351
|
+
%{\startersubsectionsymbol}{#1}(\hyperref[#2]{p.\pageref{#2}})% % ページ番号がリンク
|
352
|
+
}
|
353
|
+
\newcommand{\startersubsubsecref}[2]{%
|
354
|
+
「\hyperref[#2]{#1}」(p.\pageref{#2})% % 節や項のタイトルがリンク
|
355
|
+
%{#1}(\hyperref[#2]{p.\pageref{#2}})% % ページ番号がリンク
|
356
|
+
}
|
357
|
+
|
358
|
+
|
359
|
+
|
360
|
+
%%% 導入文(リード文)
|
361
|
+
\newenvironment{starterlead}{%
|
362
|
+
\begin{quotation}% % または \begin{abstract}
|
363
|
+
}{%
|
364
|
+
\end{quotation}% % または \end{abstract}
|
365
|
+
}
|
366
|
+
|
367
|
+
|
368
|
+
|
369
|
+
%%% 章 (Chaper) の概要
|
370
|
+
%%% (導入文(リード文)と違うことに注意)
|
371
|
+
\newenvironment{starterabstract}{%
|
372
|
+
\addtolength{\rightskip}{2.5zw}% % 右の余白を2.5文字分広げる (default: 0pt)
|
373
|
+
\addtolength{\leftskip}{2.5zw}% % 左の余白を2.5文字分広げる (default: 5pt)
|
374
|
+
\gtfamily\sffamily% % ゴシック体
|
375
|
+
\small% % 少し小さめ
|
376
|
+
}{%
|
377
|
+
\par%
|
378
|
+
\addvspace{2\Cvs}% % 下に1行空ける
|
379
|
+
}
|
380
|
+
|
381
|
+
|
382
|
+
%%% 章 (Chapter) の著者
|
383
|
+
\newcommand{\starterchapterauthor}[1]{%
|
384
|
+
\starter@chapterauthor{#1}%
|
385
|
+
}
|
386
|
+
\newcommand{\starter@chapterauthor}[1]{%
|
387
|
+
\setlength{\@tempdima}{\lastskip}% % 直前のスペースの高さを保存
|
388
|
+
\addvspace{-\lastskip}% % 直前のスペースをキャンセル
|
389
|
+
\starter@chapterauthor@topmargin% % スペースを空ける
|
390
|
+
\begingroup% % flushright環境は上下に余分な空きが入るので使わない
|
391
|
+
\raggedleft% % テキストを右寄せ
|
392
|
+
\starter@chapterauthor@name{#1}% % 著者名を表示
|
393
|
+
\par% % 改行がわりの改段落
|
394
|
+
\endgroup%
|
395
|
+
\addvspace{\@tempdima}% % 保存した高さ分のスペースを空ける
|
396
|
+
}
|
397
|
+
\newcommand{\starter@chapterauthor@name}[1]{%
|
398
|
+
\gtfamily\sffamily% % フォントをゴシック体に
|
399
|
+
[著]#1% % 著者名
|
400
|
+
}
|
401
|
+
\newcommand{\starter@chapterauthor@topmargin}{%
|
402
|
+
\addvspace{1\Cvs}% % 1行分の空き
|
403
|
+
}
|
404
|
+
|
405
|
+
|
406
|
+
%%% 引用(複数段落に対応)
|
407
|
+
\newenvironment{starterquote}{%
|
408
|
+
\begin{starter@leftbar}{3pt}{starter@quotecolor}%
|
409
|
+
}{%
|
410
|
+
\end{starter@leftbar}%
|
411
|
+
}
|
412
|
+
%
|
413
|
+
\newenvironment{starter@leftbar}[2]{% % #1: 太さ、#2: 色
|
414
|
+
%% framed.sty の機能を使って、文章の左側に縦棒を入れる
|
415
|
+
\def\FrameCommand{\textcolor{#2}{\vrule width #1} \hspace{10pt}}%
|
416
|
+
\MakeFramed{%
|
417
|
+
\advance\hsize-\width%
|
418
|
+
\advance\hsize-2\starter@quote@sidemargin% ノート環境では左右に余白を空ける
|
419
|
+
\advance\rightskip -\starter@quote@sidemargin% 右マージンが二重にかかるのを避ける
|
420
|
+
\advance\leftskip -\starter@quote@sidemargin% 左マージンが二重にかかるのを避ける
|
421
|
+
\FrameRestore%
|
422
|
+
}%
|
423
|
+
}{%
|
424
|
+
\endMakeFramed%
|
425
|
+
}
|
426
|
+
%
|
427
|
+
\newlength{\starter@quote@sidemargin} % 引用部の左右の余白幅(ノート環境で使う)
|
428
|
+
|
429
|
+
|
430
|
+
|
431
|
+
%%% 画像のまわりに線をつける
|
432
|
+
\newcommand{\starterimageframe}[1]{{%
|
433
|
+
\setlength{\fboxrule}{0.1pt}%
|
434
|
+
\fcolorbox{lightgray}{white}{#1}%
|
435
|
+
}}
|
436
|
+
|
437
|
+
|
438
|
+
|
439
|
+
%%% テキストの横に画像を配置する
|
440
|
+
%%% (注意:途中での改ページはできない、テキストの回り込みはされない、脚注は使えない)
|
441
|
+
\newenvironment{startersideimage}[6]{%
|
442
|
+
\begin{starter@sideimage}{#1}{#2}{#3}{#4}{#5}{#6}%
|
443
|
+
}{%
|
444
|
+
\end{starter@sideimage}%
|
445
|
+
}
|
446
|
+
\newenvironment{starter@sideimage}[6]{%
|
447
|
+
%% #1: L or R, #2: 画像ファイル名
|
448
|
+
%% #3: 画像表示幅, #4: 画像領域幅,
|
449
|
+
%% #5: 区切り余白幅, #6: テキスト幅(空白なら自動計算)
|
450
|
+
\ifempty{#6}% % テキスト幅が未指定なら
|
451
|
+
\setlength\@tempdima{\textwidth}% 本文幅から
|
452
|
+
\addtolength{\@tempdima}{-#4}% % 画像領域幅を引いて
|
453
|
+
\addtolength{\@tempdima}{-#5}% % 区切り余白幅を引く
|
454
|
+
\else% % テキスト幅が指定されていれば
|
455
|
+
\setlength\@tempdima{#6}% % それを使う
|
456
|
+
\fi%
|
457
|
+
%
|
458
|
+
\def\@tempimgL{}%
|
459
|
+
\def\@tempimgR{}%
|
460
|
+
\ifstreq{#1}{L}% % L なら、画像と区切り余白とテキストを表示
|
461
|
+
\def\@tempimgL{\starter@miniimage{#2}{#3}{#4}\hspace{#5}}%
|
462
|
+
\else\ifstreq{#1}{R}% % R なら、テキストと区切り余白と画像を表示
|
463
|
+
\def\@tempimgR{\hspace{#5}\starter@miniimage{#2}{#3}{#4}}%
|
464
|
+
\fi%
|
465
|
+
%
|
466
|
+
\noindent%
|
467
|
+
\@tempimgL%
|
468
|
+
\begin{minipage}[t]{\@tempdima}% minipage環境開始
|
469
|
+
\setlength{\parindent}{1zw}% % minipage環境内で段落開始行をインデントする
|
470
|
+
}{%
|
471
|
+
\end{minipage}% % minipage環境終了
|
472
|
+
\@tempimgR%
|
473
|
+
\par% % これがないと後続のテキストが続いてエラーになる
|
474
|
+
}
|
475
|
+
\newcommand\starter@miniimage[3]{% #1:画像ファイル名, #2:画像の表示幅, #3:画像の領域幅
|
476
|
+
\begin{minipage}[t]{#3}%
|
477
|
+
\centering % 中央揃え
|
478
|
+
%\vskip 0pt\relax% % 画像の上に少し余白が入る (why?)
|
479
|
+
\vskip -0.6zw\relax% % 画像の上に余白が入らないよう調整
|
480
|
+
%\null\vspace*{-\baselineskip}%
|
481
|
+
\ifempty{\starterminiimageframe}%
|
482
|
+
\includegraphics[width=#2]{#1}% % 画像を表示
|
483
|
+
\else%
|
484
|
+
\starterimageframe{% % 画像のまわりを灰色の線で囲む
|
485
|
+
\includegraphics[width=#2]{#1}% % 画像を表示
|
486
|
+
}%
|
487
|
+
\fi%
|
488
|
+
\end{minipage}%
|
489
|
+
}
|
490
|
+
\def\starterminiimageframe{}
|
491
|
+
|
492
|
+
|
493
|
+
|
494
|
+
%%% サンプルの出力結果(Starterのドキュメントで使用)
|
495
|
+
\newenvironment{startersampleoutput}[1]{%
|
496
|
+
\starter@codeblock@vspace%
|
497
|
+
\starter@caption{#1}%
|
498
|
+
%\begin{oframed}% % error in note block
|
499
|
+
\vspace{-0.3\baselineskip}%
|
500
|
+
\noindent%
|
501
|
+
\textcolor{lightgray}{\hrulefill}\par%
|
502
|
+
}{%
|
503
|
+
%\end{oframed}% % error in note block
|
504
|
+
\vspace{-0.3\baselineskip}%
|
505
|
+
\noindent%
|
506
|
+
\textcolor{lightgray}{\hrulefill}\par%
|
507
|
+
\starter@codeblock@vspace%
|
508
|
+
}
|
509
|
+
|
510
|
+
|
511
|
+
|
512
|
+
%%% 黒ヌキ(白い背景に黒い文字)
|
513
|
+
%%%
|
514
|
+
%%% 使い方: \startercursor{テキスト}
|
515
|
+
\newcommand*{\startercursor}[1]{%
|
516
|
+
\starter@bgcolor[black]{white}{#1}% % 文字を黒、背景を白にして表示
|
517
|
+
%\mybgcolor{white}{\textcolor{black}{#1}}%
|
518
|
+
}%
|
519
|
+
|
520
|
+
%%% 背景色(と文字色)をつける
|
521
|
+
%%%
|
522
|
+
%%% 使い方: \starter@bgcolor{white}{テキスト}
|
523
|
+
%%% or \starter@bgcolor[black]{white}{テキスト}
|
524
|
+
\newcommand{\starter@bgcolor}[3][]{% % #1: 文字色(default: 空), #2: 背景色, #3: テキスト
|
525
|
+
\settowidth{\tmp@width}{#3}% % 幅
|
526
|
+
\settodepth{\tmp@depth}{g}% % 深さ
|
527
|
+
\settoheight{\tmp@height}{M}% % 高さ
|
528
|
+
\addtolength{\tmp@height}{\tmp@depth}% % 高さに深さを追加
|
529
|
+
\addtolength{\tmp@depth}{1pt}% % 深さを少し増やす
|
530
|
+
\addtolength{\tmp@height}{2pt}% % 高さを少し増やす
|
531
|
+
%
|
532
|
+
\makebox[0pt][l]{% % カーソル位置を変えないまま
|
533
|
+
\textcolor{#2}{% % 背景色を指定して
|
534
|
+
\rule[-\tmp@depth]{\tmp@width}{\tmp@height}% % 塗りつぶす
|
535
|
+
%\rule[-\tmp@depth]{\tmp@width}{\baselineskip}%
|
536
|
+
}%
|
537
|
+
}%
|
538
|
+
\ifempty{#1}% % 文字色が未指定なら
|
539
|
+
#3% % テキストをそのまま表示
|
540
|
+
\else% % 文字色が指定されていれば
|
541
|
+
\textcolor{#1}{#3}% % 色を指定してテキストを表示
|
542
|
+
\fi%
|
543
|
+
}
|
544
|
+
|
545
|
+
%%% 長さを表す変数 (control sequence) を宣言
|
546
|
+
\newlength{\tmp@width}% % 幅
|
547
|
+
\newlength{\tmp@height}% % 高さ
|
548
|
+
\newlength{\tmp@depth}% % 深さ
|
549
|
+
|
550
|
+
|
551
|
+
|
552
|
+
%%% 長いURLを折り返す(要seqsplitパッケージ)
|
553
|
+
\newcommand{\starterurl}[2]{%
|
554
|
+
\href{#1}{\texttt{\seqsplit{#2}}}%
|
555
|
+
}
|
556
|
+
|
557
|
+
|
558
|
+
%%% 改段落する。\parindentが0でもインデントする。
|
559
|
+
\newcommand{\starterpar}[1]{%
|
560
|
+
\par%
|
561
|
+
\edef\@tempa{#1}%
|
562
|
+
\edef\@tempb{i}%
|
563
|
+
\ifx\@tempa\@tempb%
|
564
|
+
\ifdim\parindent=\z@%
|
565
|
+
\hspace{0.8zw}%
|
566
|
+
\fi%
|
567
|
+
\fi%
|
568
|
+
}
|
569
|
+
|
570
|
+
|
571
|
+
%%% 定義リストの語句
|
572
|
+
\newcommand{\starterdt}[1]{%
|
573
|
+
\item[{#1}]%
|
574
|
+
\mbox{}% % 幅のないテキスト
|
575
|
+
\par% % 改行がわりの改段落
|
576
|
+
\nobreak% % 語句と説明文の間での改ページを避ける
|
577
|
+
\noindent% % 説明文の先頭の段落は字下げしない
|
578
|
+
\setlength{\parindent}{1zw}% % 第2段落以降は先頭行を字下げする
|
579
|
+
}
|
580
|
+
|
581
|
+
|
582
|
+
%%% 説明リスト
|
583
|
+
\newenvironment{starterdesclist}{%
|
584
|
+
%\begin{description}%
|
585
|
+
\edef\@indent@{\starter@desclist@indent}% 説明文のインデント幅
|
586
|
+
\addvspace{\starter@desclist@listmargin}% 上部に空きを入れる
|
587
|
+
\addtolength{\leftskip}{\@indent@}% % 左側の余白を設定
|
588
|
+
%% 箇条書き(itemize, enumerate)に対応
|
589
|
+
\addtolength{\@totalleftmargin}{\@indent@}% 左の空きを増やす
|
590
|
+
\addtolength{\linewidth}{-\@indent@}% % 本文幅を短くする
|
591
|
+
%
|
592
|
+
\begingroup%
|
593
|
+
\edef\starter@desclist@listmargin{% % 上部の空きの高さを
|
594
|
+
\starter@desclist@itemmargin% % 項目間の空きの高さと同じに変更
|
595
|
+
}%
|
596
|
+
}{%
|
597
|
+
%\end{description}%
|
598
|
+
\endgroup%
|
599
|
+
\addvspace{\starter@desclist@listmargin}% 下部に空きを入れる
|
600
|
+
}
|
601
|
+
|
602
|
+
%% starterdesc を \newcommand で定義すると、説明文の中に
|
603
|
+
%% プログラムコードを含めるとその表示が崩れるので注意
|
604
|
+
%% (\obeyspaces と \obeylines が効かなくなるせい、理由は不明)
|
605
|
+
\newenvironment{starterdesc}[1]{% % #1: キーや語句
|
606
|
+
%\item[{#1}]%
|
607
|
+
\par%
|
608
|
+
\addvspace{\starter@desclist@itemmargin}% 説明項目間の空き
|
609
|
+
\noindent% % 最初の段落先頭は字下げしない
|
610
|
+
\edef\@indent@{\starter@desclist@indent}% 説明文のインデント幅
|
611
|
+
\hspace{-\@indent@}% % インデント分だけ戻る
|
612
|
+
\ifx\starter@desclist@compact\empty% % コンパクトモードでないなら、
|
613
|
+
\starter@desc@term{#1}% % キーや語句を表示
|
614
|
+
\mbox{}\par% % 改行がわりの改段落
|
615
|
+
\nobreak% % 語句と説明文の間での改ページを避ける
|
616
|
+
\noindent% % 説明文の先頭の段落は字下げしない
|
617
|
+
\else% % コンパクトモードなら、
|
618
|
+
\settowidth{\@tempdima}{\starter@desc@term{#1}}% % 表示幅を調べる
|
619
|
+
\ifdim\@tempdima<\@indent@% % 表示幅がインデント幅より短い場合は、
|
620
|
+
\makebox[\@indent@][l]{% % インデントと同じ幅で
|
621
|
+
\starter@desc@term{#1}% % キーや語句を表示
|
622
|
+
}%
|
623
|
+
\else% % 表示幅のほうが長い場合は、
|
624
|
+
\starter@desc@term{#1}% % そのまま表示
|
625
|
+
\fi%
|
626
|
+
\fi%
|
627
|
+
}{%
|
628
|
+
\par%
|
629
|
+
\addvspace{\starter@desclist@itemmargin}%
|
630
|
+
}
|
631
|
+
|
632
|
+
\newcommand{\starter@desc@term}[1]{{% % #1: キーや語句
|
633
|
+
\starter@desclist@font% % ゴシック体に変更
|
634
|
+
\ifx\starter@desclist@bold\empty\else%
|
635
|
+
\bfseries% % 太字に変更
|
636
|
+
\fi%
|
637
|
+
#1% % キーや語句を表示
|
638
|
+
\hspace{\starter@desclist@space}% % 直後に全角1文字分の空き
|
639
|
+
}}
|
640
|
+
|
641
|
+
\def\starter@desclist@font{\gtfamily\sffamily} % キーのフォント
|
642
|
+
|
643
|
+
|
644
|
+
%%% PDFのテキストをマウスでコピペしたときに、コピー対象外にする。
|
645
|
+
%%% ただしAcrobatReaderでしか機能しない。macOSのPreview.appではコピーされてしまう。
|
646
|
+
\usepackage{accsupp}
|
647
|
+
\newcommand{\@starter@excluewhencopied}[2][]{% #1: 代替文字列、#2: 表示文字列
|
648
|
+
\BeginAccSupp{ActualText={#1}}% % ここから、
|
649
|
+
#2%
|
650
|
+
\EndAccSupp{}% % ここまでがマウスコピー対象外
|
651
|
+
}
|
652
|
+
%% config-starter.ymlで「exclude_mouseselect: true」のときだけ有効化
|
653
|
+
\ifx\starter@exclude@mouseselect\empty
|
654
|
+
\newcommand{\starter@excluewhencopied}[2][]{%
|
655
|
+
#2% % コンパイルが早い
|
656
|
+
}
|
657
|
+
\else
|
658
|
+
\newcommand{\starter@excluewhencopied}[2][]{%
|
659
|
+
\@starter@excluewhencopied[#1]{#2}% % コンパイルが遅い
|
660
|
+
}
|
661
|
+
\fi
|
662
|
+
|
663
|
+
|
664
|
+
|
665
|
+
%%%
|
666
|
+
%%% ノンブル(隠しノンブル)
|
667
|
+
%%%
|
668
|
+
\usepackage{seqsplit} % 「123」を「1 2 3」にするのに必要
|
669
|
+
|
670
|
+
%% ノンブルの番号(1ページ目からの通し番号)
|
671
|
+
\newcounter{starter@nombre}
|
672
|
+
\setcounter{starter@nombre}{\starter@nombre@startnumber}
|
673
|
+
\addtocounter{starter@nombre}{-1}
|
674
|
+
|
675
|
+
%% ノンブルのフォント
|
676
|
+
\def\starter@nombre@font{\sffamily}
|
677
|
+
|
678
|
+
%% ノンブルの表示位置:ページ下から5mm、ページ左右から1mm〜2mm
|
679
|
+
%% 参考:https://www.marusho-ink.co.jp/howto/kakushi.html
|
680
|
+
%\def\starter@nombre@sidemargin{1truemm} % 左右のマージン
|
681
|
+
%\def\starter@nombre@bottommargin{5truemm} % ページ下からのマージン
|
682
|
+
|
683
|
+
%% ノンブルの表示位置を計算する
|
684
|
+
\newcommand{\starter@nombre@setup}{{%
|
685
|
+
%% 塗り足しの幅(印刷用PDFのみ)
|
686
|
+
\def\@bleed{0pt}%
|
687
|
+
\def\@tempa{pbook}%
|
688
|
+
\ifx\starter@target\@tempa%
|
689
|
+
\ifx\starter@bleedsize\empty\else%
|
690
|
+
\def\@bleed{\starter@bleedsize}%
|
691
|
+
\fi%
|
692
|
+
\fi%
|
693
|
+
%% 計算結果を \@tempdima に設定するヘルパーマクロ
|
694
|
+
\def\@calc@##1{%
|
695
|
+
\setlength{\@tempdima}{##1}% % 長さを計算
|
696
|
+
\edef\@tempa{\number\@tempdima}% % 長さを整数値に変換(単位: sp)
|
697
|
+
\@tempcnta=\@tempa% % 整数値をレジスタに設定
|
698
|
+
\divide \@tempcnta 65536 \relax% % 単位をspからptに変換(1pt=65536sp)
|
699
|
+
}%
|
700
|
+
%% set `\starter@nombre@posy`: ノンブルのY座標は、用紙の高さ - 2mm
|
701
|
+
\@calc@{\dimexpr - \inv@mag in + \paperheight - \starter@nombre@bottommargin - \@bleed}%
|
702
|
+
\multiply \@tempcnta -1 \relax%
|
703
|
+
\expandafter\gdef\expandafter\starter@nombre@posy\expandafter{\the\@tempcnta}%
|
704
|
+
%% set `\starter@nombre@posx@odd`: 奇数ページでのノンブルのX座標は、ページ左端から1mm
|
705
|
+
\@calc@{\dimexpr - \inv@mag in + \starter@nombre@sidemargin + \@bleed}%
|
706
|
+
\expandafter\gdef\expandafter\starter@nombre@posx@odd\expandafter{\the\@tempcnta}%
|
707
|
+
%% set `\starter@nombre@posx@even`: 偶数ページでのノンブルのX座標は、用紙の幅 - 1mm
|
708
|
+
\settowidth{\@tempdimb}{{% % ノンブルの数字1文字分の幅
|
709
|
+
\starter@nombre@font%
|
710
|
+
\fontsize{\starter@nombre@fontsize}{0}\selectfont%
|
711
|
+
9%
|
712
|
+
}}%
|
713
|
+
\@calc@{\dimexpr - \inv@mag in + \paperwidth - \@tempdimb - \starter@nombre@sidemargin - \@bleed}%
|
714
|
+
\expandafter\gdef\expandafter\starter@nombre@posx@even\expandafter{\the\@tempcnta}%
|
715
|
+
}}
|
716
|
+
|
717
|
+
%% 必要になって初めてノンブルの初期設定を行うためのマクロ
|
718
|
+
\newcommand{\starter@nombre@setup@once}{%
|
719
|
+
\starter@nombre@setup% % 初期化を行う
|
720
|
+
\gdef\starter@nombre@setup@once{}% % 何もしないよう自己再定義する(注:\renewcommandでは効果ない)
|
721
|
+
}
|
722
|
+
|
723
|
+
%% ノンブルを表示する
|
724
|
+
\newcommand{\starter@nombre@put}{{%
|
725
|
+
\addtocounter{starter@nombre}{1}% % ノンブルの番号(1ページ目からの通し番号)を増やす
|
726
|
+
\ifodd\c@starter@nombre% % 奇数ページなら、
|
727
|
+
\edef\starter@nombre@posx{\starter@nombre@posx@odd}% 奇数ページ用のX座標を使う
|
728
|
+
\else% % 偶数ページなら、
|
729
|
+
\edef\starter@nombre@posx{\starter@nombre@posx@even}% 偶数ページ用のX座標を使う
|
730
|
+
\fi%
|
731
|
+
%
|
732
|
+
\starter@nombre@font% % フォントをサンセリフ体に変更
|
733
|
+
\fontsize{\starter@nombre@fontsize}{0}\selectfont% フォントサイズを小さく
|
734
|
+
\color{\starter@nombre@fontcolor}% % フォントをグレーに
|
735
|
+
%
|
736
|
+
\begin{picture}(0,0)% % ページ左上から右に1inch、下に1inch移動した位置が原点
|
737
|
+
\put(\starter@nombre@posx,\starter@nombre@posy){%
|
738
|
+
\parbox[b]{0.0em}{% % 表示幅を半角1文字以下にすると、数字が縦に並ぶ
|
739
|
+
%\def\seqinsert{\hspace{0pt}}%% 例:「123」を「1\hspace{0pt}2\hspace{0pt}3」に
|
740
|
+
\def\seqinsert{\ }% % 例:「123」を「1 2 3」に
|
741
|
+
\expandafter\seqsplit\expandafter{\the\c@starter@nombre}% % ok!
|
742
|
+
%\expandafter\seqsplit\expandafter{\thestarter@nombre}% % not ok. why?
|
743
|
+
}%
|
744
|
+
}%
|
745
|
+
\end{picture}%
|
746
|
+
}}
|
747
|
+
|
748
|
+
%% 印刷用PDFのときだけノンブルをつける
|
749
|
+
\usepackage{everypage}
|
750
|
+
\ifstreq{\starter@target}{pbook}
|
751
|
+
\ifx\starter@nombre\empty\else%
|
752
|
+
\AddEverypageHook{ % すべてのページで実行されるフック
|
753
|
+
\starter@nombre@setup@once % 初期設定を1回だけ行う
|
754
|
+
\starter@nombre@put % ノンブルをつける
|
755
|
+
}
|
756
|
+
\fi%
|
757
|
+
\fi
|
758
|
+
|
759
|
+
|
760
|
+
|
761
|
+
%%%
|
762
|
+
%%% 塗り足しの確認用に可視化する
|
763
|
+
%%%
|
764
|
+
\newcommand{\starter@bleed@colorize}[2]{{% #1: page width, #2: page height
|
765
|
+
\def\@w{#1}%
|
766
|
+
\def\@h{#2}%
|
767
|
+
\setlength{\unitlength}{0.1truemm}% % 0.1mmを単位とする
|
768
|
+
\color{\starter@bleedcolor}% % 線の色 (red/green/blue/yellow/gray)
|
769
|
+
\begin{picture}(0,0)%
|
770
|
+
\put(-224,224){% % 1inch - 3mm = 25.4mm - 3mm = 22.4mm
|
771
|
+
\line(0,-1){\@h}% % 左
|
772
|
+
\line(1,0){\@w}% % 上
|
773
|
+
}%
|
774
|
+
\@tempcnta=\@w%
|
775
|
+
\advance \@tempcnta -224% % 1inch - 3mm = 25.4mm - 3mm = 22.4mm
|
776
|
+
\@tempcntb=\@h%
|
777
|
+
\advance \@tempcntb -224%
|
778
|
+
\edef\@tempa{(\@tempcnta,-\@tempcntb)}%
|
779
|
+
\expandafter\put\@tempa{%
|
780
|
+
\line(0,1){\@h}% % 右
|
781
|
+
\line(-1,0){\@w}% % 下
|
782
|
+
}%
|
783
|
+
\end{picture}%
|
784
|
+
}}
|
785
|
+
|
786
|
+
\usepackage{everypage}
|
787
|
+
\ifx\starter@bleedcolor\empty\else
|
788
|
+
%
|
789
|
+
\def\@tempb{A4}% % A4 (210x297mm)
|
790
|
+
\ifx\starter@pagesize\@tempb%
|
791
|
+
\AddEverypageHook{\starter@bleed@colorize{2100}{2970}}%
|
792
|
+
\fi%
|
793
|
+
%
|
794
|
+
\def\@tempb{A5}% % A5 (148x210mm)
|
795
|
+
\ifx\starter@pagesize\@tempb%
|
796
|
+
\AddEverypageHook{\starter@bleed@colorize{1480}{2100}}%
|
797
|
+
\fi%
|
798
|
+
%
|
799
|
+
\def\@tempb{B5}% % B5 (182x257mm)
|
800
|
+
\ifx\starter@pagesize\@tempb%
|
801
|
+
\AddEverypageHook{\starter@bleed@colorize{1820}{2570}}%
|
802
|
+
\fi%
|
803
|
+
%
|
804
|
+
\edef\@tempb{B6}% % B6 (128x182mm)
|
805
|
+
\ifx\starter@pagesize\@tempb%
|
806
|
+
\AddEverypageHook{\starter@bleed@colorize{1280}{1820}}%
|
807
|
+
\fi%
|
808
|
+
%
|
809
|
+
\fi
|
810
|
+
|
811
|
+
|
812
|
+
|
813
|
+
%%%
|
814
|
+
%%% 表紙用PDFファイルを取り込む
|
815
|
+
%%%
|
816
|
+
\usepackage{pdfpages} % provides `\includepdf` command
|
817
|
+
\newcommand{\starterincludepdf}{%
|
818
|
+
\@ifstar{% % `\starterinclude*` として呼び出されたら
|
819
|
+
\def\@starterincludepdf@star{Y}% % 変数に `Y` を設定
|
820
|
+
\@starter@includepdf% % 本体のマクロを呼び出す
|
821
|
+
}{% % `\starterinclude` として呼び出されたら
|
822
|
+
\def\@starterincludepdf@star{}% % 変数を空に設定
|
823
|
+
\@starter@includepdf% % 本体のマクロを呼び出す
|
824
|
+
}%
|
825
|
+
%\@starter@includepdf% % (マクロの呼び出しを共通化したらエラー。why?)
|
826
|
+
}
|
827
|
+
\def\@starterinncludepdf@star{}
|
828
|
+
\newcommand\@starter@includepdf[2][]{{% #1: オフセット, #2: ファイル名
|
829
|
+
\edef\@offset{#1}%
|
830
|
+
\ifx\@offset\empty%
|
831
|
+
%% フォントサイズが9ptや11ptだとPDFの位置がずれる(10ptだとずれない)ので
|
832
|
+
%% 位置を調整する必要があり、そのためのオフセットを計算する。
|
833
|
+
%% (注:\@tempdima を使うとこのあとのマクロが正常に動作してくれない)
|
834
|
+
\setlength{\@tempdimb}{\dimexpr 1in - 1truein}%
|
835
|
+
\setlength{\@tempdimc}{\dimexpr 1truein - 1in}%
|
836
|
+
\ifodd\thepage\else% % 偶数ページのときは
|
837
|
+
\setlength{\@tempdimb}{\@tempdimc}% % オフセットを別途調整
|
838
|
+
\fi%
|
839
|
+
\else%
|
840
|
+
\def\@sprittwo##1 ##2\relax{% % 例:文字列 `-2.3mm 2.3mm` を
|
841
|
+
\setlength{\@tempdimb}{##1}% % `-2.3mm` と
|
842
|
+
\setlength{\@tempdimc}{##2}% % `2.3mm` に分解する
|
843
|
+
}%
|
844
|
+
\expandafter\@sprittwo\@offset\relax% % \@offset を展開してから \@splittwo を呼び出す
|
845
|
+
\fi%
|
846
|
+
%% 取り込むページ
|
847
|
+
\ifx\starter@includepdf@pagenum\empty%
|
848
|
+
\def\@pagenum{1}%
|
849
|
+
\else%
|
850
|
+
\def\@pagenum{\starter@includepdf@pagenum}%
|
851
|
+
\fi%
|
852
|
+
%% PDFファイルを読み込む。
|
853
|
+
%% ・'*' なしなら位置を自動調整し、用紙に合わせて拡大・縮小する
|
854
|
+
%% ・'*' つきなら位置の調整はするが、拡大も縮小もしない
|
855
|
+
%% (自動的に中央に配置されるため、結果として塗りしろが用紙からはみ出る)
|
856
|
+
\ifx\@starterincludepdf@star\empty% % '*' なしのとき
|
857
|
+
\def\@arg##1##2##3##4{[offset=##1 ##2,pages={##4}]}%
|
858
|
+
\else% % '*' つきのとき
|
859
|
+
\def\@arg##1##2##3##4{[offset=##1 ##2,noautoscale=true,scale=##3,pages={##4}]}%
|
860
|
+
\fi%
|
861
|
+
\expandafter\includepdf\@arg\@tempdimb\@tempdimc\inv@mag\@pagenum{#2}%
|
862
|
+
}}
|
863
|
+
\def\starter@includepage@pagenum{}
|
864
|
+
|
865
|
+
|
866
|
+
%%
|
867
|
+
%% 索引
|
868
|
+
%%
|
869
|
+
\newcommand{\starterindexgroup}[1]{% % 索引グループ
|
870
|
+
{%
|
871
|
+
\bfseries% % 太字
|
872
|
+
\gtfamily\sffamily% % ゴシック体
|
873
|
+
■#1% % 例:`■あ`
|
874
|
+
}%
|
875
|
+
}
|
876
|
+
%% 参考:美文書8版 第10.7節、第10.9節
|
877
|
+
\renewcommand{\seename}{$\rightarrow$} % → XXXX
|
878
|
+
%\renewcommand{\seename}{\textit{see}} % see XXXX
|
879
|
+
%\renewcommand{\subitem}{\@idxitem \hspace*{1zw}} % インデント幅を全角1文字に
|
880
|
+
%\renewcommand{\subsubitem}{\@idxitem \hspace*{2zw}} % インデント幅を全角2文字に
|
881
|
+
\newcommand{\starterindexplaceholder}{%
|
882
|
+
%--% % 欧文のエヌダッシュ
|
883
|
+
%---% % 欧文のエムダッシュ
|
884
|
+
%―% % 全角ダッシュ記号(長音記号と見分けがつきにくい)
|
885
|
+
\――% % 倍角ダッシュ(defined in okumacro.sty)
|
886
|
+
}
|
887
|
+
|
888
|
+
|
889
|
+
%%
|
890
|
+
%% 用語
|
891
|
+
%%
|
892
|
+
\newcommand{\starterterm}[1]{%
|
893
|
+
{\gtfamily\sffamily #1}% % ゴシック体で表示
|
894
|
+
}
|