review-retrovert 0.3.3 → 0.9.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/retrovert.yml +39 -0
- data/.gitignore +2 -2
- data/.ruby-version +1 -0
- data/Gemfile +1 -0
- data/Gemfile.lock +67 -1
- data/README.md +6 -3
- data/lib/review/retrovert/converter.rb +231 -6
- data/lib/review/retrovert/version.rb +1 -1
- data/review-retrovert.gemspec +1 -1
- data/testdata/mybook/.gitignore +7 -0
- data/testdata/mybook/README.md +43 -0
- data/testdata/mybook/Rakefile +16 -0
- data/testdata/mybook/catalog.yml +33 -0
- data/testdata/mybook/config-starter.yml +139 -0
- data/testdata/mybook/config.yml +375 -0
- data/testdata/mybook/contents/00-preface.re +83 -0
- data/testdata/mybook/contents/01-install.re +272 -0
- data/testdata/mybook/contents/02-tutorial.re +1008 -0
- data/testdata/mybook/contents/03-syntax.re +2613 -0
- data/testdata/mybook/contents/04-customize.re +728 -0
- data/testdata/mybook/contents/05-faq.re +328 -0
- data/testdata/mybook/contents/06-bestpractice.re +971 -0
- data/testdata/mybook/contents/91-compare.re +18 -0
- data/testdata/mybook/contents/92-filelist.re +119 -0
- data/testdata/mybook/contents/93-background.re +267 -0
- data/testdata/mybook/contents/99-postface.re +38 -0
- data/testdata/mybook/css/normalize.css +349 -0
- data/testdata/mybook/css/webstyle.css +514 -0
- data/testdata/mybook/images/03-syntax/favicon-16x16.png +0 -0
- data/testdata/mybook/images/03-syntax/figure_heretop.png +0 -0
- data/testdata/mybook/images/03-syntax/tw-icon1.jpg +0 -0
- data/testdata/mybook/images/03-syntax/tw-icon2.jpg +0 -0
- data/testdata/mybook/images/03-syntax/tw-icon3.jpg +0 -0
- data/testdata/mybook/images/03-syntax/tw-icon4.jpg +0 -0
- data/testdata/mybook/images/04-customize/caption_pagebreak.png +0 -0
- data/testdata/mybook/images/04-customize/chaptitlepage_sample.png +0 -0
- data/testdata/mybook/images/05-faq/codeblock_rpadding1.png +0 -0
- data/testdata/mybook/images/05-faq/codeblock_rpadding2.png +0 -0
- data/testdata/mybook/images/06-bestpractice/figure_heretop.png +0 -0
- data/testdata/mybook/images/06-bestpractice/font_beramono.png +0 -0
- data/testdata/mybook/images/06-bestpractice/heading_design1.png +0 -0
- data/testdata/mybook/images/06-bestpractice/heading_design2.png +0 -0
- data/testdata/mybook/images/06-bestpractice/margin_book.png +0 -0
- data/testdata/mybook/images/06-bestpractice/multiline-title.png +0 -0
- data/testdata/mybook/images/06-bestpractice/preface_numbered.png +0 -0
- data/testdata/mybook/images/06-bestpractice/program_border.png +0 -0
- data/testdata/mybook/images/06-bestpractice/sechead_design_4.png +0 -0
- data/testdata/mybook/images/06-bestpractice/titlepage-samples.png +0 -0
- data/testdata/mybook/images/93-background/bug913.png +0 -0
- data/testdata/mybook/images/93-background/slide2.png +0 -0
- data/testdata/mybook/images/cover_a5.pdf +0 -0
- data/testdata/mybook/images/cover_b5.pdf +0 -0
- data/testdata/mybook/images/tw-icon.jpg +0 -0
- data/testdata/mybook/layouts/layout.epub.erb +29 -0
- data/testdata/mybook/layouts/layout.html5.erb +106 -0
- data/testdata/mybook/layouts/layout.tex.erb +546 -0
- data/testdata/mybook/lib/hooks/beforetexcompile.rb +55 -0
- data/testdata/mybook/lib/ruby/review-builder.rb +503 -0
- data/testdata/mybook/lib/ruby/review-cli.rb +58 -0
- data/testdata/mybook/lib/ruby/review-compiler.rb +523 -0
- data/testdata/mybook/lib/ruby/review-epubmaker.rb +606 -0
- data/testdata/mybook/lib/ruby/review-htmlbuilder.rb +661 -0
- data/testdata/mybook/lib/ruby/review-latexbuilder.rb +782 -0
- data/testdata/mybook/lib/ruby/review-maker.rb +235 -0
- data/testdata/mybook/lib/ruby/review-monkeypatch.rb +91 -0
- data/testdata/mybook/lib/ruby/review-pdfmaker.rb +468 -0
- data/testdata/mybook/lib/ruby/review-textbuilder.rb +36 -0
- data/testdata/mybook/lib/ruby/review-tocparser.rb +285 -0
- data/testdata/mybook/lib/ruby/review-webmaker.rb +433 -0
- data/testdata/mybook/lib/tasks/mytasks.rake +31 -0
- data/testdata/mybook/lib/tasks/review.rake +142 -0
- data/testdata/mybook/lib/tasks/review.rake.orig +72 -0
- data/testdata/mybook/lib/tasks/starter.rake +326 -0
- data/testdata/mybook/locale.yml +6 -0
- data/testdata/mybook/review-ext.rb +206 -0
- data/testdata/mybook/sty/jumoline.sty +310 -0
- data/testdata/mybook/sty/mycolophon.sty +81 -0
- data/testdata/mybook/sty/mystyle.sty +8 -0
- data/testdata/mybook/sty/mytextsize.sty +61 -0
- data/testdata/mybook/sty/mytitlepage.sty +103 -0
- data/testdata/mybook/sty/reviewmacro.sty +60 -0
- data/testdata/mybook/sty/starter-codeblock.sty +332 -0
- data/testdata/mybook/sty/starter-color.sty +79 -0
- data/testdata/mybook/sty/starter-font.sty +112 -0
- data/testdata/mybook/sty/starter-heading.sty +514 -0
- data/testdata/mybook/sty/starter-note.sty +127 -0
- data/testdata/mybook/sty/starter-section.sty +262 -0
- data/testdata/mybook/sty/starter-toc.sty +72 -0
- data/testdata/mybook/sty/starter.sty +554 -0
- data/testdata/mybook/style.css +597 -0
- metadata +100 -3
@@ -0,0 +1,554 @@
|
|
1
|
+
%%% -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
%%%
|
4
|
+
%%% Re:VIEW Starter によって自動生成されたスタイルファイル
|
5
|
+
%%%
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
%%% 引数が空かどうか調べるマクロ
|
10
|
+
\newcommand{\ifempty}[1]{%
|
11
|
+
\edef\temp{#1}% % \ifx#1\empty とはできないので、一時マクロを定義
|
12
|
+
\ifx\temp\empty% % \empty は他の言語でいえば空文字列に相当
|
13
|
+
}
|
14
|
+
|
15
|
+
%%% 文字列比較をするマクロ
|
16
|
+
\newcommand\ifstreq[2]{
|
17
|
+
\edef\@tempa{#1}%
|
18
|
+
\edef\@tempb{#2}%
|
19
|
+
\ifx\@tempa\@tempb% % \ifx#1#2 とはできないことに注意(TeXの仕様)
|
20
|
+
}
|
21
|
+
|
22
|
+
%%% 例:「\@eval{section}{blabla}」は「\section{blabla}」と同等
|
23
|
+
\newcommand{\@eval}[1]{%
|
24
|
+
\csname#1\endcsname%
|
25
|
+
}
|
26
|
+
|
27
|
+
%%% \lastskip を保存するための一時変数
|
28
|
+
\newcommand{\keeplastskip}[1]{%
|
29
|
+
\@tempskipa=\lastskip%
|
30
|
+
\vskip -\lastskip\relax%
|
31
|
+
#1%
|
32
|
+
\vskip \@tempskipa\relax%
|
33
|
+
\@tempskipa=0pt%
|
34
|
+
}
|
35
|
+
|
36
|
+
%%% 縦方向のスペースがあるか調べる。なければ改ページする。
|
37
|
+
\newcommand{\needvspace}[1]{%
|
38
|
+
\rule[#1]{0pt}{0pt}% % 幅のない縦線を引く。引くスペースがなければ改ページされる。
|
39
|
+
\vspace{-#1}\par% % もとの位置に戻る
|
40
|
+
}
|
41
|
+
|
42
|
+
|
43
|
+
|
44
|
+
%%% 色を設定
|
45
|
+
\usepackage{starter-color}
|
46
|
+
|
47
|
+
%%% フォントを設定
|
48
|
+
\usepackage{starter-font}
|
49
|
+
|
50
|
+
%%% 章・節・項・目のタイトルデザインを変更
|
51
|
+
%\usepackage{starter-section} % 古いマクロ定義
|
52
|
+
\usepackage{starter-heading} % 新しいマクロ定義
|
53
|
+
|
54
|
+
%%% プログラムコードやターミナル
|
55
|
+
\usepackage{starter-codeblock}
|
56
|
+
|
57
|
+
%%% ノート
|
58
|
+
\usepackage{starter-note}
|
59
|
+
|
60
|
+
%%% 目次
|
61
|
+
\usepackage{starter-toc}
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
%%% 目次やリンクの色を指定する。印刷用なら黒にする。
|
66
|
+
\hypersetup{colorlinks=true,linkcolor=starter@linkcolor,urlcolor=starter@linkcolor}
|
67
|
+
%\hypersetup{colorlinks=false} % リンク機能をオフにする
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
%%% 「@<strong>{ ... }」を太字のゴシック体にする(「@<b>{ ... }」は明朝体のまま)。
|
72
|
+
\renewcommand{\reviewstrong}[1]{\textbf{\gtfamily\sffamily #1}}
|
73
|
+
|
74
|
+
%%% 「@<em>{ ... }」をゴシック体にする。
|
75
|
+
\renewcommand{\reviewem}[1]{{\gtfamily\sffamily #1}}
|
76
|
+
|
77
|
+
%%% 「@<del>{ ... }」(取り消し線)が効くようにする。
|
78
|
+
%%% (See https://qiita.com/takahashim/items/5c1af2941a1ce9fa5919)
|
79
|
+
\usepackage{ulem}
|
80
|
+
\renewcommand{\reviewstrike}[1]{\sout{#1}}
|
81
|
+
%\usepackage{jumoline}
|
82
|
+
%\renewcommand{\reviewstrike}[1]{\Midline{#1}} % \seqsplit{}と相性が悪い?
|
83
|
+
|
84
|
+
%%% 目立たせない(「@<strong>{}」の反対)
|
85
|
+
\newcommand{\starterweak}[1]{%
|
86
|
+
\textcolor{gray}{#1}%
|
87
|
+
}
|
88
|
+
|
89
|
+
%%% ふきだし説明の文字色をグレーに
|
90
|
+
\renewcommand{\reviewballoon}[1]{%
|
91
|
+
\textcolor{gray}{←#1}
|
92
|
+
}
|
93
|
+
|
94
|
+
%% 「@<code>{...}」を薄いグレーで囲む
|
95
|
+
%% (ただし章や節のタイトル、および各種キャプションでは囲まない)
|
96
|
+
\ifx\starter@inlinecode@gray\empty
|
97
|
+
\renewcommand{\reviewcode}[2][]{%
|
98
|
+
%\,% % ほんの少しスペースを入れる
|
99
|
+
\texttt{#2}%
|
100
|
+
%\,% % ほんの少しスペースを入れる
|
101
|
+
}
|
102
|
+
\else
|
103
|
+
\renewcommand{\reviewcode}[2][]{% % #1:空 or 'headline' or 'caption'
|
104
|
+
\,% % ほんの少しスペースを入れる
|
105
|
+
\edef\@tmpA{#1}%
|
106
|
+
\ifx\@tmpA\empty% % #1が空(未指定)なら
|
107
|
+
\colorbox{shadecolor}{\texttt{#2}}% % 背景色を薄いグレーにして等幅フォントで表示
|
108
|
+
\else% % #1がheadlineやcaptionなら
|
109
|
+
\texttt{#2}% % 等幅フォントで表示(背景色なし)
|
110
|
+
\fi%
|
111
|
+
\,% % ほんの少しスペースを入れる
|
112
|
+
}
|
113
|
+
\fi
|
114
|
+
|
115
|
+
%%% ファイル名を表す
|
116
|
+
\newcommand{\starterfile}[1]{%
|
117
|
+
{\gtfamily\sffamily #1}% % ゴシック体で表示
|
118
|
+
}
|
119
|
+
|
120
|
+
%%% ユーザ入力を表す
|
121
|
+
\newcommand{\starteruserinput}[1]{%
|
122
|
+
\ifempty{\starter@codeblock@fontcolor}%
|
123
|
+
\def\@fontcolor{black}%
|
124
|
+
\else%
|
125
|
+
\def\@fontcolor{\starter@codeblock@fontcolor}%
|
126
|
+
\fi%
|
127
|
+
\textcolor{starter@userinputcolor}{% % 下線の色
|
128
|
+
\underline{% % 下線(LaTeX標準)
|
129
|
+
%\uline{% % 下線(ulem.sty)
|
130
|
+
\textcolor{\@fontcolor}{#1}%
|
131
|
+
}%
|
132
|
+
}%
|
133
|
+
}
|
134
|
+
|
135
|
+
%%% ルビをふるのに必要(例:@<ruby>{漢, おとこ})
|
136
|
+
\usepackage{okumacro}
|
137
|
+
|
138
|
+
|
139
|
+
|
140
|
+
%%% 箇条書き(順序なし)の上下の余白を、行間の0.5倍から0.25倍へと減らす
|
141
|
+
\newenvironment{starteritemize}{%
|
142
|
+
\ifnum\@listdepth=0%
|
143
|
+
\def\@listi{%
|
144
|
+
\@listI%
|
145
|
+
\topsep 0.25\baselineskip% % 上下の余白を減らす(original: 0.5\baselineskip)
|
146
|
+
}%
|
147
|
+
\fi%
|
148
|
+
\begin{itemize}%
|
149
|
+
}{%
|
150
|
+
\end{itemize}%
|
151
|
+
}
|
152
|
+
|
153
|
+
%%% 箇条書き(順序つき)の上下の余白を、行間の0.5倍から0.25倍へと減らす
|
154
|
+
\newenvironment{starterenumerate}{%
|
155
|
+
\ifnum\@listdepth=0%
|
156
|
+
\def\@listi{%
|
157
|
+
\@listI%
|
158
|
+
\topsep 0.25\baselineskip% % 上下の余白を減らす(original: 0.5\baselineskip)
|
159
|
+
}%
|
160
|
+
\fi%
|
161
|
+
\begin{enumerate}%
|
162
|
+
}{%
|
163
|
+
\end{enumerate}%
|
164
|
+
}
|
165
|
+
|
166
|
+
%%% 順序なし箇条書きの行頭文字を変更
|
167
|
+
\usepackage{amssymb} % \blacktriangleright や \bigstar のために必要
|
168
|
+
%\renewcommand{\labelitemi}{$\blacktriangleright$} % 深さ1段目:小さい黒丸→小さい三角へ
|
169
|
+
\renewcommand{\labelitemii}{$\circ$} % 深さ2段目:「-」→小さい白丸へ
|
170
|
+
%\renewcommand{\labelitemiii}{{\small$\bigstar$}} % 深さ3段目:「*」→星形へ
|
171
|
+
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
%%% 奥付 (colophon) が最終ページになるよう調整する。
|
176
|
+
%%% (奥付が右ページだと、次ページである最終ページが空ページになるため)
|
177
|
+
\renewcommand{\reviewcolophon}[0]{%
|
178
|
+
\clearpage % 改ページ
|
179
|
+
\ifstreq{\starter@target}{tablet}% タブレット向けなら何も調整しない
|
180
|
+
\else\if@openright % \documentclass で openright が指定されていれば
|
181
|
+
\pltx@cleartoleftpage % 左ページ(偶数ページ)になるよう調整する
|
182
|
+
\else\if@openleft % \documentclass で openleft が指定されていれば
|
183
|
+
\pltx@cleartorightpage % 右ページ(奇数ページ)になるよう調整する
|
184
|
+
\fi\fi\fi
|
185
|
+
}
|
186
|
+
|
187
|
+
%%% 右起こし(奇数ぺージ始まり)にしない場合でも、大扉とまえがきの間に
|
188
|
+
%%% 空白ページが入ることがあるので、修正する。
|
189
|
+
\if@openright\else\if@openleft\else % 右起こしでも左起こしでもない場合だけ、
|
190
|
+
\renewcommand\frontmatter{% % 大扉やまえがきの開始を表すコマンドを再定義する。
|
191
|
+
%\pltx@cleartooddpage % 削除
|
192
|
+
\clearpage % 追加
|
193
|
+
\@mainmatterfalse
|
194
|
+
\pagenumbering{roman}
|
195
|
+
}
|
196
|
+
\fi\fi
|
197
|
+
|
198
|
+
%%% 右起こし(奇数ぺージ始まり)にしない場合でも、目次と第1章との間に
|
199
|
+
%%% 空白ページが入ることがあるので、修正する。
|
200
|
+
\if@openright\else\if@openleft\else % 右起こしでも左起こしでもない場合だけ、
|
201
|
+
\renewcommand\mainmatter{% % 本文の開始を表すコマンドを再定義する。
|
202
|
+
%\pltx@cleartooddpage % 削除
|
203
|
+
\clearpage % 追加
|
204
|
+
\@mainmattertrue
|
205
|
+
\pagenumbering{arabic}
|
206
|
+
}
|
207
|
+
\fi\fi
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
%%% ページヘッダーの形式を変更(fancyhdr.styを使用)
|
212
|
+
\newcommand{\pageheaderfont}{\small\gtfamily\sffamily} % ゴシック体
|
213
|
+
%\newcommand{\pageheaderfont}{\small\gtfamily\sffamily\bfseries} % ゴシック体、太字
|
214
|
+
%%% 紙書籍のような右起こしの場合(左ページに章タイトル、右ページに節タイトル)
|
215
|
+
\lhead[\pageheaderfont\leftmark]{}
|
216
|
+
\rhead[]{\pageheaderfont\rightmark}
|
217
|
+
%%% タブレット向けのような両起こしの場合(両ページに章タイトルと節タイトル)
|
218
|
+
%\lhead{\pageheaderfont\leftmark}
|
219
|
+
%\rhead{\pageheaderfont\rightmark}
|
220
|
+
|
221
|
+
%%% ページ番号のスタイル
|
222
|
+
%\newcommand{\pagenumberstyle}{\thepage} % 例:「1」
|
223
|
+
%\newcommand{\pagenumberstyle}{\itshape\bfseries\thepage} % 太字、斜体
|
224
|
+
\newcommand{\pagenumberstyle}{\rmfamily --\ \thepage\ --} % 例:「-- 1 --」
|
225
|
+
% \newcommand{\pagenumberstyle}{\itshape --\ \thepage\ --} % 斜体
|
226
|
+
|
227
|
+
%%% ページ番号をページフッタに表示(fancyhdr.styを使用)
|
228
|
+
\fancyfoot{} % ページフッタをクリア
|
229
|
+
\cfoot{\pagenumberstyle} % ページフッタの真ん中に表示
|
230
|
+
%\lfoot[\pagenumberstyle]{} % 偶数ページの左下に表示
|
231
|
+
%\rfoot[]{\pagenumberstyle} % 奇数ページの右下に表示
|
232
|
+
\fancypagestyle{plainhead}{ % 章タイトルページのスタイル
|
233
|
+
\fancyhead{} % ページヘッダなし
|
234
|
+
\fancyfoot{} % ページフッタをクリア
|
235
|
+
\cfoot{\pagenumberstyle} % ページフッタの真ん中に表示
|
236
|
+
%\lfoot[\pagenumberstyle]{} % 偶数ページの左下に表示
|
237
|
+
%\rfoot[]{\pagenumberstyle} % 奇数ページの右下に表示
|
238
|
+
\renewcommand{\headrulewidth}{0pt} % ページヘッダの区切り線をなくす
|
239
|
+
\renewcommand{\footrulewidth}{0pt} % ページフッタの区切り線をなくす
|
240
|
+
}
|
241
|
+
|
242
|
+
%%% ページヘッダを構成する要素を余計なことに Re:VIEW が上書きしちゃってるので、
|
243
|
+
%%% オリジナルの定義を jsbook.cls からコピーして元に戻す。
|
244
|
+
\def\chaptermark#1{%
|
245
|
+
\markboth{%
|
246
|
+
\ifnum \c@secnumdepth >\m@ne%
|
247
|
+
\if@mainmatter%
|
248
|
+
\if@omit@number\else%
|
249
|
+
\@chapapp\thechapter\@chappos\hskip1zw%
|
250
|
+
\fi%
|
251
|
+
\fi%
|
252
|
+
\fi%
|
253
|
+
#1%
|
254
|
+
}{}%
|
255
|
+
}%
|
256
|
+
\def\sectionmark#1{%
|
257
|
+
\markright{%
|
258
|
+
\ifnum \c@secnumdepth >\z@ \thesection \hskip1zw\fi%
|
259
|
+
#1%
|
260
|
+
}%
|
261
|
+
}%
|
262
|
+
|
263
|
+
|
264
|
+
|
265
|
+
%%% 章 (Chapter) のタイトルを独立したページにするコマンド。
|
266
|
+
%%% 独立したページには、章タイトルと、章の概要と、章ごとの目次を含める。
|
267
|
+
\newcommand{\makechaptitlepage}[1]{%
|
268
|
+
\pagecolor{starter@chaptitlepagecolor} % ページに背景色をつける
|
269
|
+
%\addtolength{\linewidth}{-\parindent} % 目次の右側余白が左側より1文字分狭いことへの対策
|
270
|
+
\def\arg{#1} % '\ifx#1{toc}' がうまく動作してくれないので、その対策
|
271
|
+
\def\toc{toc}
|
272
|
+
\def\tocsec{toc=section}
|
273
|
+
\def\tocsub{toc=subsection}
|
274
|
+
\def\tocon{toc=on}
|
275
|
+
\def\tocoff{toc=off}
|
276
|
+
\ifx\arg\tocon
|
277
|
+
\setcounter{minitocdepth}{1} % 目次に出すのは節(Section)まで
|
278
|
+
\minitoc % 章ごとの目次
|
279
|
+
\else\ifx\arg\tocsec
|
280
|
+
\setcounter{minitocdepth}{1} % 目次に出すのは節(Section)まで
|
281
|
+
\minitoc % 章ごとの目次
|
282
|
+
\else\ifx\arg\tocsub
|
283
|
+
\setcounter{minitocdepth}{2} % 目次に出すのは項(SubSection)まで
|
284
|
+
\minitoc % 章ごとの目次
|
285
|
+
\else\ifx\arg\tocoff
|
286
|
+
\else
|
287
|
+
% TODO: invalid argument
|
288
|
+
\fi\fi\fi\fi
|
289
|
+
\clearpage% % 改ページ
|
290
|
+
\pagecolor{none}% % ページの背景色をなくす
|
291
|
+
}
|
292
|
+
%%% 章ごとの目次
|
293
|
+
%%% ('nohints' は、裏表紙の直後に空白ページができるのを防ぐために必要)
|
294
|
+
\usepackage[japanese,nohints]{minitoc} % 章ごとの目次を作る
|
295
|
+
\AtBeginDocument{% % \begin{document} で実行するコマンドを登録
|
296
|
+
\dominitoc
|
297
|
+
%\listoffigures
|
298
|
+
%\listoftables
|
299
|
+
}
|
300
|
+
\setcounter{minitocdepth}{1}% % 目次に出すのはSectionまで(Subsectionは出さない)
|
301
|
+
%\setlength{\mtcindent}{3zw} % 目次左右の余白幅(左右の幅であることに注意)
|
302
|
+
%\mtcsetoffset{minitoc}{3zw} % 目次左のインデント幅(テキスト幅は変わらず)
|
303
|
+
%\setlength{\mtcskipamount}{\bigskipamount}
|
304
|
+
\mtcsetrules{*}{off} % 章ごとの目次の上下に罫線を入れない
|
305
|
+
\mtcsettitle{minitoc}{【この章の内容】} % 章ごとの目次のタイトル
|
306
|
+
%\mtcsettitle{minitoc}{【{\@chapapp\thechapter\@chappos}の内容】} % または
|
307
|
+
\renewcommand{\mtcSfont}{\rmfamily\small} % 章ごとの目次のフォント
|
308
|
+
%\renewcommand{\mtcSfont}{\small\gtfamily\sffamily\color{white}} % 色をつける場合
|
309
|
+
\mtcsettitlefont{minitoc}{% % 章ごとの目次のタイトルを設定
|
310
|
+
\gtfamily\sffamily % ゴシック体、サンセリフ体
|
311
|
+
\hspace{2zw} % 左側のインデント
|
312
|
+
}
|
313
|
+
|
314
|
+
|
315
|
+
|
316
|
+
%%% 現在位置に画像が入りきらない場合、画像は次のページに回される。
|
317
|
+
%%% その際、現在位置に大きなスペースが空くのを防ぐために、
|
318
|
+
%%% 後続のテキストを現在位置に流し込むようにする。
|
319
|
+
\renewenvironment{reviewimage}[1][]{%
|
320
|
+
\ifempty{#1}%
|
321
|
+
\edef\@tempA{\starter@image@position}% 引数がなければ「image_option:」の値を使う
|
322
|
+
\else%
|
323
|
+
\edef\@tempA{#1}% % 引数があればその値を使う
|
324
|
+
\fi%
|
325
|
+
\expandafter\starter@image\@tempA% % 先に引数を展開してから \begin{starter@image} を実行
|
326
|
+
}{%
|
327
|
+
\endstarter@image% % \end{starter@image} と同じ
|
328
|
+
}
|
329
|
+
%
|
330
|
+
\newenvironment{starter@image}[1]{%
|
331
|
+
\vspace{0.8zw} % 画像上の余白を調整(少し増やす)
|
332
|
+
\begin{figure}[#1]
|
333
|
+
%\begin{center} % center環境は余分な余白がつくので使わない
|
334
|
+
\centering % \centeringを使うと余分な余白がつかない
|
335
|
+
}{%
|
336
|
+
%\end{center}
|
337
|
+
\end{figure}
|
338
|
+
\vspace{-0.8zw} % 画像下の余白を調整(少し減らす)
|
339
|
+
}
|
340
|
+
%
|
341
|
+
\renewenvironment{reviewdummyimage}{%
|
342
|
+
\begin{reviewimage}
|
343
|
+
\begin{alltt}
|
344
|
+
}{%
|
345
|
+
\end{alltt}
|
346
|
+
\end{reviewimage}
|
347
|
+
}
|
348
|
+
|
349
|
+
|
350
|
+
|
351
|
+
%%% コラムが複数のページにまたがるとき、次のページに続いていることが
|
352
|
+
%%% わかるようにするために、ページ境界では上下の線を引かない。
|
353
|
+
\renewenvironment{reviewcolumn}{%
|
354
|
+
%\begin{framed}% % original
|
355
|
+
\begin{oframed}%
|
356
|
+
}{%
|
357
|
+
%\end{framed}% % original
|
358
|
+
\end{oframed}%
|
359
|
+
\vspace{2zw}%
|
360
|
+
}
|
361
|
+
|
362
|
+
%%% コラムのタイトルを変更する
|
363
|
+
\renewcommand{\reviewcolumnhead}[2]{%
|
364
|
+
%{\noindent\large ■コラム: #2}% % original
|
365
|
+
%{\noindent\large\gtfamily\sffamily\bfseries ■コラム:#2}% % 太字のゴシック
|
366
|
+
{\noindent\large\gtfamily\sffamily\bfseries 【コラム】#2}% % 太字のゴシック
|
367
|
+
\vspace{2mm}%
|
368
|
+
}
|
369
|
+
|
370
|
+
|
371
|
+
|
372
|
+
%%% @<hd>{} や @<subsec>{} で、節や項へのリンクを作成
|
373
|
+
%%% (config.yml で「chapterlink: true」の設定が必要)
|
374
|
+
\newcommand{\startersecref}[2]{%
|
375
|
+
「\hyperref[#2]{#1}」(p.\pageref{#2})% % 節や項のタイトルがリンク
|
376
|
+
%{#1}(\hyperref[#2]{p.\pageref{#2}})% % ページ番号がリンク
|
377
|
+
}
|
378
|
+
\newcommand{\startersubsecref}[2]{%
|
379
|
+
「\hyperref[#2]{{\startersubsectionsymbol}#1}」(p.\pageref{#2})% % 節や項のタイトルがリンク
|
380
|
+
%{\startersubsectionsymbol}{#1}(\hyperref[#2]{p.\pageref{#2}})% % ページ番号がリンク
|
381
|
+
}
|
382
|
+
\newcommand{\startersubsubsecref}[2]{%
|
383
|
+
「\hyperref[#2]{#1}」(p.\pageref{#2})% % 節や項のタイトルがリンク
|
384
|
+
%{#1}(\hyperref[#2]{p.\pageref{#2}})% % ページ番号がリンク
|
385
|
+
}
|
386
|
+
|
387
|
+
|
388
|
+
|
389
|
+
%%% 導入文(リード文)
|
390
|
+
\newenvironment{starterlead}{%
|
391
|
+
\begin{quotation}% % または \begin{abstract}
|
392
|
+
}{%
|
393
|
+
\end{quotation}% % または \end{abstract}
|
394
|
+
}
|
395
|
+
|
396
|
+
|
397
|
+
|
398
|
+
%%% 章 (Chaper) の概要
|
399
|
+
%%% (導入文(リード文)と違うことに注意)
|
400
|
+
\newenvironment{starterabstract}{%
|
401
|
+
\addtolength{\rightskip}{2.5zw}% % 右の余白を2.5文字分広げる (default: 0pt)
|
402
|
+
\addtolength{\leftskip}{2.5zw}% % 左の余白を2.5文字分広げる (default: 5pt)
|
403
|
+
\gtfamily\sffamily% % ゴシック体
|
404
|
+
\small% % 少し小さめ
|
405
|
+
}{%
|
406
|
+
\par%
|
407
|
+
\addvspace{2\Cvs}% % 下に1行空ける
|
408
|
+
}
|
409
|
+
|
410
|
+
|
411
|
+
|
412
|
+
%%% 引用(複数段落に対応)
|
413
|
+
\newenvironment{starterquote}{%
|
414
|
+
\begin{starter@leftbar}{3pt}{starter@quotecolor}%
|
415
|
+
}{%
|
416
|
+
\end{starter@leftbar}%
|
417
|
+
}
|
418
|
+
%
|
419
|
+
\newenvironment{starter@leftbar}[2]{% % #1: 太さ、#2: 色
|
420
|
+
%% framed.sty の機能を使って、文章の左側に縦棒を入れる
|
421
|
+
\def\FrameCommand{\textcolor{#2}{\vrule width #1} \hspace{10pt}}%
|
422
|
+
\MakeFramed{%
|
423
|
+
\advance\hsize-\width%
|
424
|
+
\advance\hsize-2\starter@quote@sidemargin% ノート環境では左右に余白を空ける
|
425
|
+
\advance\rightskip -\starter@quote@sidemargin% 右マージンが二重にかかるのを避ける
|
426
|
+
\advance\leftskip -\starter@quote@sidemargin% 左マージンが二重にかかるのを避ける
|
427
|
+
\FrameRestore%
|
428
|
+
}%
|
429
|
+
}{%
|
430
|
+
\endMakeFramed%
|
431
|
+
}
|
432
|
+
%
|
433
|
+
\newlength{\starter@quote@sidemargin} % 引用部の左右の余白幅(ノート環境で使う)
|
434
|
+
|
435
|
+
|
436
|
+
|
437
|
+
%%% 画像のまわりに線をつける
|
438
|
+
\newcommand{\starterimageframe}[1]{{%
|
439
|
+
\setlength{\fboxrule}{0.1pt}%
|
440
|
+
\fcolorbox{lightgray}{white}{#1}%
|
441
|
+
}}
|
442
|
+
|
443
|
+
|
444
|
+
|
445
|
+
%%% テキストの横に画像を配置する
|
446
|
+
%%% (注意:途中での改ページはできない、テキストの回り込みはされない、脚注は使えない)
|
447
|
+
\newenvironment{startersideimage}[6]{%
|
448
|
+
\begin{starter@sideimage}{#1}{#2}{#3}{#4}{#5}{#6}%
|
449
|
+
}{%
|
450
|
+
\end{starter@sideimage}%
|
451
|
+
}
|
452
|
+
\newenvironment{starter@sideimage}[6]{%
|
453
|
+
%% #1: L or R, #2: 画像ファイル名
|
454
|
+
%% #3: 画像表示幅, #4: 画像領域幅,
|
455
|
+
%% #5: 区切り余白幅, #6: テキスト幅(空白なら自動計算)
|
456
|
+
\ifempty{#6}% % テキスト幅が未指定なら
|
457
|
+
\setlength\@tempdima{\textwidth}% 本文幅から
|
458
|
+
\addtolength{\@tempdima}{-#4}% % 画像領域幅を引いて
|
459
|
+
\addtolength{\@tempdima}{-#5}% % 区切り余白幅を引く
|
460
|
+
\else% % テキスト幅が指定されていれば
|
461
|
+
\setlength\@tempdima{#6}% % それを使う
|
462
|
+
\fi%
|
463
|
+
%
|
464
|
+
\def\@tempimgL{}%
|
465
|
+
\def\@tempimgR{}%
|
466
|
+
\ifstreq{#1}{L}% % L なら、画像と区切り余白とテキストを表示
|
467
|
+
\def\@tempimgL{\starter@miniimage{#2}{#3}{#4}\hspace{#5}}%
|
468
|
+
\else\ifstreq{#1}{R}% % R なら、テキストと区切り余白と画像を表示
|
469
|
+
\def\@tempimgR{\hspace{#5}\starter@miniimage{#2}{#3}{#4}}%
|
470
|
+
\fi%
|
471
|
+
%
|
472
|
+
\noindent%
|
473
|
+
\@tempimgL%
|
474
|
+
\begin{minipage}[t]{\@tempdima}% minipage環境開始
|
475
|
+
\setlength{\parindent}{1zw}% % minipage環境内で段落開始行をインデントする
|
476
|
+
}{%
|
477
|
+
\end{minipage}% % minipage環境終了
|
478
|
+
\@tempimgR%
|
479
|
+
\par% % これがないと後続のテキストが続いてエラーになる
|
480
|
+
}
|
481
|
+
\newcommand\starter@miniimage[3]{% #1:画像ファイル名, #2:画像の表示幅, #3:画像の領域幅
|
482
|
+
\begin{minipage}[t]{#3}%
|
483
|
+
\centering % 中央揃え
|
484
|
+
%\vskip 0pt\relax% % 画像の上に少し余白が入る (why?)
|
485
|
+
\vskip -0.6zw\relax% % 画像の上に余白が入らないよう調整
|
486
|
+
%\null\vspace*{-\baselineskip}%
|
487
|
+
\ifempty{\starterminiimageframe}%
|
488
|
+
\includegraphics[width=#2]{#1}% % 画像を表示
|
489
|
+
\else%
|
490
|
+
\starterimageframe{% % 画像のまわりを灰色の線で囲む
|
491
|
+
\includegraphics[width=#2]{#1}% % 画像を表示
|
492
|
+
}%
|
493
|
+
\fi%
|
494
|
+
\end{minipage}%
|
495
|
+
}
|
496
|
+
\def\starterminiimageframe{}
|
497
|
+
|
498
|
+
|
499
|
+
|
500
|
+
%%% サンプルの出力結果(Starterのドキュメントで使用)
|
501
|
+
\newenvironment{startersampleoutput}[1]{%
|
502
|
+
\starter@codeblock@vspace%
|
503
|
+
\starter@caption{#1}%
|
504
|
+
%\begin{oframed}% % error in note block
|
505
|
+
\vspace{-0.3\baselineskip}%
|
506
|
+
\noindent%
|
507
|
+
\textcolor{lightgray}{\hrulefill}\par%
|
508
|
+
}{%
|
509
|
+
%\end{oframed}% % error in note block
|
510
|
+
\vspace{-0.3\baselineskip}%
|
511
|
+
\noindent%
|
512
|
+
\textcolor{lightgray}{\hrulefill}\par%
|
513
|
+
\starter@codeblock@vspace%
|
514
|
+
}
|
515
|
+
|
516
|
+
|
517
|
+
|
518
|
+
%%% 黒ヌキ(白い背景に黒い文字)
|
519
|
+
%%%
|
520
|
+
%%% 使い方: \startercursor{テキスト}
|
521
|
+
\newcommand*{\startercursor}[1]{%
|
522
|
+
\starter@bgcolor[black]{white}{#1}% % 文字を黒、背景を白にして表示
|
523
|
+
%\mybgcolor{white}{\textcolor{black}{#1}}%
|
524
|
+
}%
|
525
|
+
|
526
|
+
%%% 背景色(と文字色)をつける
|
527
|
+
%%%
|
528
|
+
%%% 使い方: \starter@bgcolor{white}{テキスト}
|
529
|
+
%%% or \starter@bgcolor[black]{white}{テキスト}
|
530
|
+
\newcommand{\starter@bgcolor}[3][]{% % #1: 文字色(default: 空), #2: 背景色, #3: テキスト
|
531
|
+
\settowidth{\tmp@width}{#3}% % 幅
|
532
|
+
\settodepth{\tmp@depth}{g}% % 深さ
|
533
|
+
\settoheight{\tmp@height}{M}% % 高さ
|
534
|
+
\addtolength{\tmp@height}{\tmp@depth}% % 高さに深さを追加
|
535
|
+
\addtolength{\tmp@depth}{1pt}% % 深さを少し増やす
|
536
|
+
\addtolength{\tmp@height}{2pt}% % 高さを少し増やす
|
537
|
+
%
|
538
|
+
\makebox[0pt][l]{% % カーソル位置を変えないまま
|
539
|
+
\textcolor{#2}{% % 背景色を指定して
|
540
|
+
\rule[-\tmp@depth]{\tmp@width}{\tmp@height}% % 塗りつぶす
|
541
|
+
%\rule[-\tmp@depth]{\tmp@width}{\baselineskip}%
|
542
|
+
}%
|
543
|
+
}%
|
544
|
+
\ifempty{#1}% % 文字色が未指定なら
|
545
|
+
#3% % テキストをそのまま表示
|
546
|
+
\else% % 文字色が指定されていれば
|
547
|
+
\textcolor{#1}{#3}% % 色を指定してテキストを表示
|
548
|
+
\fi%
|
549
|
+
}
|
550
|
+
|
551
|
+
%%% 長さを表す変数 (control sequence) を宣言
|
552
|
+
\newlength{\tmp@width}% % 幅
|
553
|
+
\newlength{\tmp@height}% % 高さ
|
554
|
+
\newlength{\tmp@depth}% % 深さ
|