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
|
@@ -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
|
+
}
|