review-retrovert 0.2.2 → 0.9.1
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/.github/workflows/retrovert.yml +39 -0
- data/.gitignore +2 -2
- data/.ruby-version +1 -0
- data/Gemfile +1 -0
- data/Gemfile.lock +68 -2
- data/README.md +6 -3
- data/lib/review/retrovert/cli.rb +2 -0
- data/lib/review/retrovert/converter.rb +255 -16
- 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,81 @@
|
|
1
|
+
%%%
|
2
|
+
%%% 奥付 (colophon)
|
3
|
+
%%%
|
4
|
+
|
5
|
+
\newcommand{\mycolophon}{%
|
6
|
+
|
7
|
+
\reviewcolophon % 奥付が最終ページになるよう調整する
|
8
|
+
|
9
|
+
\thispagestyle{empty} % ページ番号やヘッダーをなくす
|
10
|
+
\setlength{\parindent}{0pt} % インデント幅をゼロに
|
11
|
+
|
12
|
+
\vspace*{\fill} % 縦方向に伸びるスペース(ページ先頭なので「*」が必要)
|
13
|
+
|
14
|
+
{
|
15
|
+
\Large % 文字を大きく
|
16
|
+
\gtfamily\sffamily % ゴシック体、サンセリフ体
|
17
|
+
\bfseries % 太字
|
18
|
+
\@title % タイトル
|
19
|
+
\par % 段落を区切る(デザイン崩れを防ぐため)
|
20
|
+
}
|
21
|
+
|
22
|
+
\ifx\@subtitle\empty\else
|
23
|
+
{
|
24
|
+
\gtfamily\sffamily % ゴシック体、サンセリフ体
|
25
|
+
%{\rmfamily --- }
|
26
|
+
\@subtitle % サブタイトル
|
27
|
+
%{\rmfamily ---}
|
28
|
+
\par % 段落を区切る(デザイン崩れを防ぐため)
|
29
|
+
}
|
30
|
+
\fi
|
31
|
+
|
32
|
+
\rule{\textwidth}{1pt} % 罫線
|
33
|
+
|
34
|
+
\vspace{1mm} % 縦方向のスペース
|
35
|
+
|
36
|
+
%%% 発行履歴(config.ymlの「history:」で編集できる)
|
37
|
+
\colophonpubhistory
|
38
|
+
%%% または
|
39
|
+
%\begin{tabular}{ll}
|
40
|
+
% 20XX年XX月XX日(技術書典X) & ver 1.0 \\
|
41
|
+
% 20XX年XX月XX日 & ver 1.1 \\
|
42
|
+
%\end{tabular}
|
43
|
+
\vspace{7mm} % 縦方向のスペース
|
44
|
+
|
45
|
+
%%% 著者、印刷所など
|
46
|
+
\begin{tabular}{ll} % 表
|
47
|
+
\colophonokuduke
|
48
|
+
\end{tabular}
|
49
|
+
%%% または
|
50
|
+
%\begin{tabular}{ll}
|
51
|
+
% 著 者 & 〈著者名〉\\
|
52
|
+
% & \hyperref{https://twitter.com/〈Twitter〉}{@〈Twitter〉} \\
|
53
|
+
% & \url{〈URL〉} \\
|
54
|
+
% 印刷所 & 〈印刷業者〉 \\
|
55
|
+
%\end{tabular}
|
56
|
+
\vspace{2mm} % 縦方向のスペース
|
57
|
+
|
58
|
+
\rule{\textwidth}{1pt} % 罫線
|
59
|
+
|
60
|
+
%%% 著作権表示
|
61
|
+
\colophonrights
|
62
|
+
%%% または
|
63
|
+
%{\textcopyright} 20XX 〈著者名〉 all rights reserved.
|
64
|
+
|
65
|
+
%%% 「powered by Re:VIEW Starter」の表示(消去可)
|
66
|
+
{
|
67
|
+
\ifx\starter@colophon@poweredby\empty\else
|
68
|
+
\raggedleft % 右寄せ
|
69
|
+
\scriptsize % 文字を小さく
|
70
|
+
\slshape % 斜体(スラント体)
|
71
|
+
\textcolor{darkgray}{(powered by Re:VIEW Starter)}
|
72
|
+
\par % これがないと右寄せされない
|
73
|
+
\fi
|
74
|
+
}
|
75
|
+
|
76
|
+
}
|
77
|
+
|
78
|
+
%%% 奥付の「著者」や「印刷所」を表示
|
79
|
+
\newcommand{\startercolophonrow}[2]{%
|
80
|
+
\textgt{#1} & #2 \\
|
81
|
+
}
|
@@ -0,0 +1,61 @@
|
|
1
|
+
%%
|
2
|
+
%% これはreviewstarterが独自で用意した、本文の幅を指定するための
|
3
|
+
%% スタイルファイル。このファイルは、layouts/layout.tex.erbから
|
4
|
+
%% 自動生成されたLaTeXファイルから読み込まれる。
|
5
|
+
%% そのため、config.ymlで読み込み指定する必要がない。
|
6
|
+
%%
|
7
|
+
%% 【同人誌や印刷物用のPDFなら】
|
8
|
+
%% ・サイズはB5またはA5を使う(レポートや論文ではないのでA4は使わない)。
|
9
|
+
%% ・フォントサイズは、B5なら10pt、A5なら9ptがお勧め(8ptは少し小さい)。
|
10
|
+
%% ・1行あたりの文字数は、B5なら42〜45文字、A5なら37〜40文字がお勧め。
|
11
|
+
%% ・ノド(見開きで内側)の余白は片側20mm(見開きで合計40mm)をとること。
|
12
|
+
%% (一見、余白が広すぎるように見えるがそれ以下だと印刷物が読みにくい)
|
13
|
+
%% ・小口(見開きで外側)の余白は最低でも片側で10mm必要。
|
14
|
+
%% (それ以下だとページめくりの指で本文の文字が隠れて読みにくい)
|
15
|
+
%% ・文字数を増やすなら、8ptにするよりノド20mmのまま小口の余白を狭くする。
|
16
|
+
%% (つまり右ページと左ページで左右の余白を変える)
|
17
|
+
%% ・ページ数が少ない場合を除き、右起こし(右ページ始まり)にする。
|
18
|
+
%% そうするにはconfig.ymlで「texdocumentclass:」に"openright"を含め、
|
19
|
+
%% そうしたくないときは"openany"を含める。
|
20
|
+
%% ・ページに左右があるので、「texdocumentclass:」に"twoside"を指定する。
|
21
|
+
%%
|
22
|
+
%% 【電子書籍向けのPDFなら】
|
23
|
+
%% ・サイズはA5がお勧め(B5だとタブレットで見づらい)。
|
24
|
+
%% ・フォントサイズは10pt、1行あたり40〜42文字が読みやすい。
|
25
|
+
%% ・印刷物と違い、余白は狭いほうがよい(全角1文字か2文字分)。
|
26
|
+
%% ・小さいフォントサイズにしてまでページ数を減らす必要はない。
|
27
|
+
%% ・右起こし(右ページ始まり)にする必要はない。
|
28
|
+
%% ・ページに左右がないので、「texdocumentclass:」に"oneside"を指定する。
|
29
|
+
%%
|
30
|
+
|
31
|
+
%% 本文の幅を設定
|
32
|
+
\setlength{\textwidth}{\starter@textwidth} % 例:'39zw' なら全角39文字分
|
33
|
+
\setlength{\fullwidth}{\textwidth} % ヘッダの幅を本文と同じにする
|
34
|
+
|
35
|
+
%% 左右の余白幅を自動設定
|
36
|
+
\setlength{\oddsidemargin}{\paperwidth} % 紙の幅から
|
37
|
+
\addtolength{\oddsidemargin}{-\textwidth} % 本文の幅を引いて
|
38
|
+
\setlength{\oddsidemargin}{.5\oddsidemargin} % 半分にする
|
39
|
+
\setlength{\evensidemargin}{\oddsidemargin} % 偶数ページも同じ
|
40
|
+
%% 印刷用PDFでは、奇数・偶数ページで左右の余白幅を変える
|
41
|
+
\newcommand\if@pbook{ % \starter@target の値が pbook かどうかを調べる
|
42
|
+
\def\@tempa{pbook}
|
43
|
+
\ifx\starter@target\@tempa % \starter@target は layouts/layout.tex.erb の先頭で定義される
|
44
|
+
}
|
45
|
+
\if@pbook % 印刷用PDFの場合
|
46
|
+
%% 見開きの内側(奇数ページの左側、偶数ページの右側)の余白は20mm必要
|
47
|
+
\ifdim\oddsidemargin<20truemm % 内側の余白が20mm未満なら
|
48
|
+
\setlength{\@tempdima}{20truemm}
|
49
|
+
\addtolength{\@tempdima}{-\oddsidemargin}
|
50
|
+
\addtolength{\oddsidemargin}{\@tempdima} % 奇数ページの左余白を増やす
|
51
|
+
\addtolength{\evensidemargin}{-\@tempdima}% 偶数ページの左余白を減らす
|
52
|
+
\fi
|
53
|
+
\fi
|
54
|
+
%% LaTeXでは基準点が左上から1インチの地点なので、その分ずらす
|
55
|
+
\addtolength{\oddsidemargin}{-\inv@mag in} % 1インチ分ずらす
|
56
|
+
\addtolength{\evensidemargin}{-\inv@mag in} % 1インチ分ずらす
|
57
|
+
|
58
|
+
%% 天(ページ上部)の余白を狭め、その分を本文の高さに加える
|
59
|
+
\addtolength{\topmargin}{-2\Cvs} % ページ上部の余白を2行分減らす
|
60
|
+
\addtolength{\textheight}{2\Cvs} % ページ本文の高さを2行分増やす
|
61
|
+
\addtolength{\headsep}{1mm}
|
@@ -0,0 +1,103 @@
|
|
1
|
+
%%%
|
2
|
+
%%% タイトルページ(大扉)のデザイン
|
3
|
+
%%%
|
4
|
+
|
5
|
+
\usepackage{afterpage} % for '\afterpage'
|
6
|
+
\usepackage[pagecolor=none]{pagecolor} % for '\newpagecolor'
|
7
|
+
|
8
|
+
%% 背景色を指定
|
9
|
+
%\definecolor{starter@titlepagecolor}{gray}{0.90} % 薄いグレー
|
10
|
+
\colorlet{starter@titlepagecolor}{white} % 白
|
11
|
+
|
12
|
+
\newcommand{\mytitlepage}{%
|
13
|
+
\newpagecolor{starter@titlepagecolor} % このページの背景色を指定する
|
14
|
+
\afterpage{\restorepagecolor} % 次のページからは背景色をなくす
|
15
|
+
|
16
|
+
\thispagestyle{empty}% ページ番号やヘッダーを入れない
|
17
|
+
\centering % 中央寄せ
|
18
|
+
%\raggedright % 左寄せ
|
19
|
+
%\raggedleft % 右寄せ
|
20
|
+
%\addtolength{\oddsidemargin}{-2zw}% 右余白を調整する(右寄せの場合)
|
21
|
+
|
22
|
+
\vspace*{5zw} % 縦方向のスペース(ページの先頭なので「*」が必要)
|
23
|
+
|
24
|
+
%% フォントを変更
|
25
|
+
\sffamily % サンセリフ体(英語)
|
26
|
+
\gtfamily % ゴシック体(日本語)
|
27
|
+
|
28
|
+
%% タイトル
|
29
|
+
{
|
30
|
+
\HUGE % フォントサイズをかなり大きく
|
31
|
+
\bfseries % 太字(日本語と英語)
|
32
|
+
%\@ifundefined{ebseries}{}{\ebseries}% 極太字にする場合(日本語のみ、未定義なら無視)
|
33
|
+
\@title % タイトル(複数行可)
|
34
|
+
\par % 段落を区切る(デザイン崩れを防ぐため)
|
35
|
+
}
|
36
|
+
|
37
|
+
%% サブタイトル
|
38
|
+
\ifx\@subtitle\empty\else
|
39
|
+
\vspace{1zw} % 縦方向に少しスペースを空ける
|
40
|
+
{
|
41
|
+
\Large % フォントサイズを大きめに
|
42
|
+
{\rmfamily ---}~ % ローマン体で「--」
|
43
|
+
\@subtitle % サブタイトル
|
44
|
+
~{\rmfamily ---} % ローマン体で「--」
|
45
|
+
\par % 段落を区切る(デザイン崩れを防ぐため)
|
46
|
+
}
|
47
|
+
\fi
|
48
|
+
|
49
|
+
%% フォントを変更
|
50
|
+
%\mcfamily % 明朝体(日本語)
|
51
|
+
%\rmfamily % ローマン体(英語)
|
52
|
+
\normalfont % デフォルトの書体
|
53
|
+
|
54
|
+
%% 著者
|
55
|
+
\ifx\@author\empty\else
|
56
|
+
\vspace{8zw} % 縦方向のスペース
|
57
|
+
{
|
58
|
+
\LARGE % フォントサイズを大きく
|
59
|
+
\@author % 著者
|
60
|
+
\par % 段落を区切る(デザイン崩れを防ぐため)
|
61
|
+
}
|
62
|
+
\fi
|
63
|
+
|
64
|
+
%% 日付、バージョン、イベント名
|
65
|
+
\vfill % 縦方向のスペース
|
66
|
+
{
|
67
|
+
\Large % フォントサイズを大きめに
|
68
|
+
\ifx\@pubevent\empty\else
|
69
|
+
\@pubevent\par % イベント名(config.ymlの「pubevent_name:」で指定)
|
70
|
+
\fi
|
71
|
+
\ifx\@latestpubhistory\empty
|
72
|
+
\@date % 日付(config.ymlの「date:」で指定)
|
73
|
+
\else
|
74
|
+
\@latestpubhistory % 日付とバージョン(config.ymlの「history:」で指定)
|
75
|
+
\fi
|
76
|
+
\par % 段落を区切る(デザイン崩れを防ぐため)
|
77
|
+
}
|
78
|
+
|
79
|
+
\vspace{4zw} % 縦方向のスペース
|
80
|
+
|
81
|
+
}
|
82
|
+
|
83
|
+
|
84
|
+
%%%
|
85
|
+
%%% タイトルページ(大扉)の、次のページ
|
86
|
+
%%%
|
87
|
+
\newcommand{\mytitlenextpage}{{%
|
88
|
+
\thispagestyle{empty} % ページ番号やヘッダーをなくす
|
89
|
+
\setlength{\parindent}{0pt} % 段落先頭のインデントをなくす
|
90
|
+
\vspace*{\fill} % 縦方向の長いスペース(ページ先頭なので「*」が必要)
|
91
|
+
\small % フォントを小さく
|
92
|
+
|
93
|
+
{\gtfamily\bfseries ■免責}\\
|
94
|
+
本書は情報の提供のみを目的としています。\\
|
95
|
+
本書の内容を実行・適用・運用したことで何が起きようとも、それは実行・適用・運用した人自身の責任であり、著者や関係者はいかなる責任も負いません。\\
|
96
|
+
|
97
|
+
{\gtfamily\bfseries ■商標}\\
|
98
|
+
本書に登場するシステム名や製品名は、関係各社の商標または登録商標です。\\
|
99
|
+
また本書では、{\texttrademark}、{\textregistered}、{\textcopyright}などのマークは省略しています。\\
|
100
|
+
|
101
|
+
%%% 挿絵を入れる場合
|
102
|
+
%\includegraphics[width=0.7\textwidth]{images/illust.png}
|
103
|
+
}}
|
@@ -0,0 +1,60 @@
|
|
1
|
+
%% -*- coding: utf-8 -*-
|
2
|
+
%% from review-pdfmaker
|
3
|
+
\usepackage{fancyhdr}
|
4
|
+
\pagestyle{fancy}
|
5
|
+
\lhead{\gtfamily\sffamily\bfseries\upshape \leftmark}
|
6
|
+
\chead{}
|
7
|
+
\rhead{\gtfamily\sffamily\bfseries\upshape \rightmark}
|
8
|
+
\renewcommand{\sectionmark}[1]{\markright{\thesection~#1}{}}
|
9
|
+
\renewcommand{\chaptermark}[1]{\markboth{\prechaptername\ \thechapter\ \postchaptername~#1}{}}
|
10
|
+
\renewcommand{\headfont}{\gtfamily\sffamily\bfseries}
|
11
|
+
|
12
|
+
\fancypagestyle{plainhead}{%
|
13
|
+
\fancyhead{}
|
14
|
+
\fancyfoot{} % clear all header and footer fields
|
15
|
+
\fancyfoot[CE,CO]{\thepage}
|
16
|
+
\renewcommand{\headrulewidth}{0pt}
|
17
|
+
\renewcommand{\footrulewidth}{0pt}}
|
18
|
+
|
19
|
+
%% using Helvetica as sans-serif
|
20
|
+
%\renewcommand{\sfdefault}{phv}
|
21
|
+
|
22
|
+
%% for listings
|
23
|
+
%\renewcommand{\lstlistingname}{List}
|
24
|
+
%\lstset{%
|
25
|
+
% breaklines=true,%
|
26
|
+
% breakautoindent=false,%
|
27
|
+
% breakindent=0pt,%
|
28
|
+
% fontadjust=true,%
|
29
|
+
% backgroundcolor=\color{shadecolor},%
|
30
|
+
% frame=single,%
|
31
|
+
% framerule=0pt,%
|
32
|
+
% basicstyle=\ttfamily\scriptsize,%
|
33
|
+
% commentstyle=\color{reviewgreen},%
|
34
|
+
% identifierstyle=\color{reviewblue},%
|
35
|
+
% stringstyle=\color{reviewred},%
|
36
|
+
% keywordstyle=\bfseries\color{reviewdarkred},%
|
37
|
+
%}
|
38
|
+
|
39
|
+
|
40
|
+
\sloppy
|
41
|
+
|
42
|
+
|
43
|
+
%%
|
44
|
+
%% Re:VIEW3
|
45
|
+
%%
|
46
|
+
\newcommand{\reviewit}[1]{\textit{#1}}
|
47
|
+
\newcommand{\reviewbold}[1]{\textbf{#1}}
|
48
|
+
\newcommand{\reviewtt}[1]{\texttt{#1}}
|
49
|
+
\newcommand{\reviewtti}[1]{\texttt{\textit{#1}}}
|
50
|
+
\newcommand{\reviewttb}[1]{\texttt{\textbf{#1}}}
|
51
|
+
\newcommand{\reviewcode}[1]{\texttt{#1}}
|
52
|
+
\newcommand{\reviewballoon}[1]{←{#1}}
|
53
|
+
|
54
|
+
\newcommand{\reviewequationcaption}[1]{%
|
55
|
+
%\medskip{\small\noindent #1}%
|
56
|
+
\medskip%
|
57
|
+
\noindent%
|
58
|
+
{\gtfamily\sffamily#1}%
|
59
|
+
}
|
60
|
+
\newenvironment{reviewequationblock}{\needvspace{2\Cvs}}{}
|
@@ -0,0 +1,332 @@
|
|
1
|
+
%%% -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
%%%
|
4
|
+
%%% コードブロック(//list、//terminal)
|
5
|
+
%%%
|
6
|
+
|
7
|
+
|
8
|
+
%%% 図や表のキャプションを見映えよくする
|
9
|
+
\ifx\starter@caption@pretty\empty\else
|
10
|
+
\let\original@makecaption\@makecaption % jsbook.clsでの定義を保存し、あとで再利用
|
11
|
+
\renewcommand{\@makecaption}[2]{% % 図や表のキャプション
|
12
|
+
\original@makecaption{\starter@caption@font\starter@caption@prefix #1}{\starter@caption@font #2}
|
13
|
+
}
|
14
|
+
\fi
|
15
|
+
%\usepackage{amssymb} % $\blacktriangle$ や $\blacktriangledown$ に必要
|
16
|
+
\newcommand{\starter@caption@font}{\gtfamily\sffamily} % キャプションをゴシック体に
|
17
|
+
\newcommand{\starter@caption@symbolup}{▲} % または $\blacktriangle$
|
18
|
+
\newcommand{\starter@caption@symboldown}{▼} % または $\blacktriangledown$
|
19
|
+
\newcommand{\starter@caption@symbol}{\starter@caption@symboldown} % デフォルトは「▼」
|
20
|
+
\newcommand{\starter@caption@prefix}{% % キャプションの接頭辞
|
21
|
+
\textcolor{starter@captioncolor}{\starter@caption@symbol}% % 「▲」や「▼」に色をつける
|
22
|
+
\,% % 接頭辞の直後に少し隙間を空ける
|
23
|
+
}
|
24
|
+
\renewcommand{\reviewimagecaption}[1]{{% % 図のキャプションは図の下につくので、
|
25
|
+
\def\starter@caption@symbol{\starter@caption@symbolup}% % 接頭辞を「▼」から「▲」に変更
|
26
|
+
\caption{#1}%
|
27
|
+
}}
|
28
|
+
|
29
|
+
|
30
|
+
%%% キャプション(「//list」や「//cmd」につける説明のこと)
|
31
|
+
%%% ・キャプション直後で改ページされるのを防ぐ(要 needspace.sty)
|
32
|
+
%%% ・ただし同じページに画像がある場合は、うまく動作しないことがあるので注意
|
33
|
+
\newcommand{\starter@caption}[1]{%
|
34
|
+
%\ifempty{#1}\else%
|
35
|
+
\needvspace{\starter@caption@needspace}% % 必要な分のスペースがなければ改ページ
|
36
|
+
\starter@caption@text{#1}%
|
37
|
+
\par%
|
38
|
+
\starter@caption@sep%
|
39
|
+
%\fi%
|
40
|
+
}
|
41
|
+
\newcommand{\starter@caption@text}[1]{{%
|
42
|
+
%\medskip{\small\noindent #1}\vspace*{-1.3zw}% % original
|
43
|
+
\noindent% % キャプションをインデントしない
|
44
|
+
\ifx\starter@caption@small\empty\else%
|
45
|
+
\small% % キャプションの文字を小さくする
|
46
|
+
\fi%
|
47
|
+
\ifx\starter@caption@pretty\empty\else%
|
48
|
+
\starter@caption@font\starter@caption@prefix% ゴシック体に変更、接頭辞をつける
|
49
|
+
\fi%
|
50
|
+
#1% % キャプションを表示
|
51
|
+
}}
|
52
|
+
\newcommand{\starter@caption@sep}{%
|
53
|
+
\vspace*{-0.6zw}% % 縦方向の余白を減らす
|
54
|
+
}
|
55
|
+
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
%%% コードブロック(プログラムリストやターミナル)
|
60
|
+
\newenvironment{starter@codeblock}{%
|
61
|
+
%\vspace{-\lastskip}%
|
62
|
+
\ifempty{\starter@codeblock@fontcolor}\else%
|
63
|
+
\color{\starter@codeblock@fontcolor}% 文字色はここで指定(programやterminalでは指定しない)
|
64
|
+
\fi%
|
65
|
+
\ifempty{\starter@codeblock@backcolor}\else%
|
66
|
+
\colorlet{shadecolor}{\starter@codeblock@backcolor}% 背景色
|
67
|
+
\fi%
|
68
|
+
\@starter@codeblock@defframe% % 枠の表示方法を設定
|
69
|
+
%
|
70
|
+
\def\seqinsert{\-}% % 折り返し用のコマンドを上書き
|
71
|
+
%\def\-{\starter@fold@able}% % (効果なし)「\-」を上書き
|
72
|
+
%\let\-\starter@fold@able% % (効果なし)「\-」を上書き
|
73
|
+
%\renewcommand\-{\starter@fold@able}% (効果なし)「\-」を上書き
|
74
|
+
\DeclareRobustCommand{\-}{\starter@fold@able}% 「\-」を上書き
|
75
|
+
\def\UL@dischyp{\starter@fold@dischyp}% 取り消し線で使うulem.sty内部のコマンドを上書き
|
76
|
+
%
|
77
|
+
\vspace{-\baselineskip}%
|
78
|
+
\begin{alltt}% % verbatim環境は使わない
|
79
|
+
%\setlength{\baselineskip}{0.85\baselineskip}%
|
80
|
+
\MakeFramed{%
|
81
|
+
\advance\hsize-\width% % ブロック幅をテキスト幅と同じにする(左右に広げない)
|
82
|
+
\addtolength{\hsize}{\starter@codeblock@widen}% ほんの少しだけ表示幅を広げる
|
83
|
+
\advance\hsize-2\starter@codeblock@sidemargin% ノート環境では左右に余白を空ける
|
84
|
+
\FrameRestore%
|
85
|
+
}%
|
86
|
+
}{%
|
87
|
+
\endMakeFramed%
|
88
|
+
\end{alltt}%
|
89
|
+
\vspace{-\lastskip}%
|
90
|
+
}
|
91
|
+
|
92
|
+
\def\starter@codeblock@fontcolor{} % コードブロックの文字色
|
93
|
+
\def\starter@codeblock@backcolor{} % コードブロックの背景色
|
94
|
+
\def\startercodeblockfontsize{} % small, footnotesize, scriptsize, ...
|
95
|
+
|
96
|
+
\newif\if@starter@codeblock@border % コードブロックを枠で囲むか?
|
97
|
+
\@starter@codeblock@borderfalse
|
98
|
+
\newcommand{\@starter@codeblock@border@toggle}[1]{%
|
99
|
+
\ifempty{#1}% % 引数が空なら
|
100
|
+
\@starter@codeblock@borderfalse% % 枠をつけない
|
101
|
+
\else% % 引数が空でないなら
|
102
|
+
\@starter@codeblock@bordertrue% % 枠をつける
|
103
|
+
\fi
|
104
|
+
}
|
105
|
+
|
106
|
+
\newcommand{\@starter@codeblock@defframe}{% 枠の表示方法を設定
|
107
|
+
%% framed.sty で提供されているコマンドを上書き
|
108
|
+
\if@starter@codeblock@border%
|
109
|
+
\def\FrameCommand{\@@OpenFBox\FrameRule\FrameRule}% % ページまたぎがないとき
|
110
|
+
\def\FirstFrameCommand{\@@OpenFBox\FrameRule\z@}% % 次のページにまたがるとき
|
111
|
+
\def\MidFrameCommand{\@@OpenFBox\z@\z@}% % 次/前のページへまたがるとき
|
112
|
+
\def\LastFrameCommand{\@@OpenFBox\z@\FrameRule}% % 前のページからまたがるとき
|
113
|
+
\else%
|
114
|
+
\def\FrameCommand{%
|
115
|
+
\fboxsep=0.5\FrameSep% % ブロックのパディング
|
116
|
+
\colorbox{shadecolor}% % ブロックの背景色
|
117
|
+
}%
|
118
|
+
\fi
|
119
|
+
}
|
120
|
+
\def\@@OpenFBox#1#2#3{{% % 枠線で囲むだけでなく、背景色をつける
|
121
|
+
\edef\@bordercolor{gray}% % 枠線の色
|
122
|
+
\edef\@bgcolor{shadecolor}% % 背景の色
|
123
|
+
\edef\@fontcolor{\starter@codeblock@fontcolor}% フォントの色
|
124
|
+
\ifempty{\@fontcolor}%
|
125
|
+
\edef\@fontcolor{black}%
|
126
|
+
\fi%
|
127
|
+
\edef\@padding{4.5pt}% % 内側のpadding
|
128
|
+
\FrameSep=0pt% % 枠線内の padding をなくす
|
129
|
+
\@@ColorFBox{\@bordercolor}{\@bgcolor}{\@fontcolor}{#1}{#2}{\FrameRule}{\FrameRule}{\@padding}{#3}%
|
130
|
+
}}
|
131
|
+
\def\@@ColorFBox#1#2#3#4#5#6#7#8#9{{% color (border/background/font), border width (top/bottom/left/right), padding, text
|
132
|
+
\fboxsep=0pt% % 枠線内の padding をなくす
|
133
|
+
\color{#1}% % 枠線に色をつける
|
134
|
+
\CustomFBox{}{}{#4}{#5}{#6}{#7}{%% 枠線をつける
|
135
|
+
\fboxsep=#8% % colorbox 内の padding を設定
|
136
|
+
\colorbox{#2}{\color{#3}#9}% % 背景色をつける
|
137
|
+
}%
|
138
|
+
}}%
|
139
|
+
|
140
|
+
\newcommand{\starter@codeblock@vspace}{% % コードブロックの前後の余白
|
141
|
+
%% \vspace と違い、\addvspace は直前に余白があればその分の高さを引いた余白を追加する
|
142
|
+
\addvspace{\medskipamount}% % \medskipと同じ高さの余白にする
|
143
|
+
}
|
144
|
+
|
145
|
+
\newlength{\starter@codeblock@sidemargin} % コードブロックの左右の余白幅(ノート環境で使う)
|
146
|
+
\setlength{\starter@codeblock@sidemargin}{0pt}
|
147
|
+
|
148
|
+
\newcommand{\starter@codeblock@widen}{0.0mm} % コードブロックを少しだけ広げる幅
|
149
|
+
|
150
|
+
%%% コードブロック用のキャプション
|
151
|
+
\newcommand{\starter@codeblock@caption}[1]{%
|
152
|
+
%\ifempty{#1}\else%
|
153
|
+
\def\@arg{#1}%
|
154
|
+
\ifx\@arg\empty\else%
|
155
|
+
\starter@caption{#1}% % キャプションを表示
|
156
|
+
\fi%
|
157
|
+
}
|
158
|
+
|
159
|
+
%%% コードブロック用の行番号
|
160
|
+
\newcommand{\starterlineno}[1]{% % #1: 行番号
|
161
|
+
\makebox[0pt][r]{% % 右揃えにする
|
162
|
+
\small\rmfamily% % 文字を小さくし、ローマン体を使う
|
163
|
+
\textcolor{gray}{#1}% % 文字色をグレーにする
|
164
|
+
\hspace{0.8\FrameSep}% % 少しスペースを空ける
|
165
|
+
}%
|
166
|
+
}
|
167
|
+
|
168
|
+
%%% プログラム(//list[label][caption][optionstr]{ ... //})
|
169
|
+
\newenvironment{starterprogram}[2][]{% % #1:ラベル、#2:キャプション
|
170
|
+
\starter@codeblock@vspace% % 上に余白を空ける
|
171
|
+
\ifempty{#1}\else\label{#1}\fi% % 参照用のラベル
|
172
|
+
\starter@codeblock@caption{#2}% % キャプションを表示
|
173
|
+
\starter@enablettfont{\starter@program@ttfont}% % 等幅フォントを指定
|
174
|
+
\ifstreq{\starter@program@fontsize}{small}%
|
175
|
+
\small% % 文字を少し小さくする
|
176
|
+
\fi%
|
177
|
+
\ifempty\startercodeblockfontsize\else% % fontsizeオプションが指定されていたら
|
178
|
+
\csname\startercodeblockfontsize\endcsname% % その大きさに変更する
|
179
|
+
\fi%
|
180
|
+
\def\starterindentchar{\starter@program@indentchar}% インデント用記号(「|」)
|
181
|
+
\edef\starter@codeblock@widen{\starter@program@widen}% 幅をほんの少し広げる
|
182
|
+
\@starter@codeblock@border@toggle{\starter@program@border}% 枠をつける/つけない
|
183
|
+
\setlength{\baselineskip}{0.85\baselineskip}% % 行間を狭める
|
184
|
+
\edef\starter@codeblock@fontcolor{}% % 文字色を無指定
|
185
|
+
\edef\starter@codeblock@backcolor{starter@programcolor}% 背景色を指定
|
186
|
+
\begin{starter@codeblock}%
|
187
|
+
}{%
|
188
|
+
\end{starter@codeblock}%
|
189
|
+
\starter@codeblock@vspace% % 下に余白を空ける
|
190
|
+
}
|
191
|
+
|
192
|
+
%%% ターミナル(//terminal[label][caption][optionstr]{ ... //})
|
193
|
+
\newenvironment{starterterminal}[2][]{% % #1:ラベル、#2:キャプション
|
194
|
+
\starter@codeblock@vspace% % 上に余白を空ける
|
195
|
+
\ifempty{#1}\else\label{#1}\fi% % 参照用のラベル
|
196
|
+
\starter@codeblock@caption{#2}% % キャプションを表示
|
197
|
+
\starter@enablettfont{\starter@terminal@ttfont}% % 等幅フォントを指定
|
198
|
+
\ifstreq{\starter@terminal@fontsize}{small}%
|
199
|
+
\small% % 文字を少し小さくする
|
200
|
+
\fi%
|
201
|
+
\ifempty\startercodeblockfontsize\else% % fontsizeオプションが指定されていたら
|
202
|
+
\csname\startercodeblockfontsize\endcsname% % その大きさに変更する
|
203
|
+
\fi%
|
204
|
+
\def\starterindentchar{\starter@terminal@indentchar}% インデント用記号(「|」)
|
205
|
+
\edef\starter@codeblock@widen{\starter@terminal@widen}% 幅をほんの少し広げる
|
206
|
+
\@starter@codeblock@border@toggle{\starter@terminal@border}% 枠をつける/つけない
|
207
|
+
\setlength{\baselineskip}{0.85\baselineskip}% % 行間を狭める
|
208
|
+
%\color{white}% ←ここで指定してはダメ!キャプションなしterminal間の余白が広がってしまう
|
209
|
+
\edef\starter@codeblock@fontcolor{white}% % 文字色を無指定
|
210
|
+
\edef\starter@codeblock@backcolor{starter@terminalcolor}% 背景色を指定
|
211
|
+
\begin{starter@codeblock}%
|
212
|
+
}{%
|
213
|
+
\end{starter@codeblock}%
|
214
|
+
\starter@codeblock@vspace% % 下に余白を空ける
|
215
|
+
}
|
216
|
+
|
217
|
+
|
218
|
+
|
219
|
+
%%% 長い行を自動的に折り返す(コードブロック内で使用)
|
220
|
+
\usepackage{seqsplit}
|
221
|
+
\renewcommand{\seqinsert}{% % 文字間に挿入されるコマンド
|
222
|
+
\ifmmode\allowbreak\else\hspace{0pt}\fi% % コードブロックでこの定義を上書きする
|
223
|
+
}
|
224
|
+
%% 指定箇所が折り返し可能であることを表す
|
225
|
+
\newcommand{\starter@fold@able}{%
|
226
|
+
%% \discretionary は単語中の折り返せる箇所を指定するときに使うコマンド。
|
227
|
+
%% 「\-」の実体。
|
228
|
+
%% ・第1引数は折り返し箇所の行末で実行されるコマンド
|
229
|
+
%% ・第2引数は折り返し箇所の次行の行頭で実行されるコマンド
|
230
|
+
%% ・第3引数は折り返ししないときに実行されるコマンド
|
231
|
+
\discretionary{%
|
232
|
+
\makebox[0pt][l]{\starter@fold@char}% % 折り返しを表す記号を行末に挿入
|
233
|
+
}{%
|
234
|
+
\makebox[\starter@fold@indentwidth][r]{% % 折返しの直後にインデントを挿入
|
235
|
+
\starter@fold@contchar% % 折り返しを表す記号を行頭に挿入
|
236
|
+
}%
|
237
|
+
}{}%
|
238
|
+
}
|
239
|
+
\newcommand{\starter@fold@char}{%
|
240
|
+
\mdseries\rmfamily% % 通常の太さのローマン体
|
241
|
+
\textcolor{gray}{\guilsinglright}% % グレーの '>'
|
242
|
+
%\tiny\textcolor{gray}{\raisebox{0.5mm}{$\blacktriangleright$}}% % 右向きの三角形
|
243
|
+
}
|
244
|
+
\newcommand{\starter@fold@contchar}{% % 折り返し後の継続行の頭につける記号
|
245
|
+
\starter@fold@char%
|
246
|
+
}
|
247
|
+
\newcommand{\startersetfoldmark}[1]{% % 折り返しを表す記号を空にするのに使う
|
248
|
+
\def\starter@fold@char{#1}%
|
249
|
+
}
|
250
|
+
\newlength{\starter@fold@indentwidth} % 折り返し後のインデント幅
|
251
|
+
\newcommand{\startersetfoldindentwidth}[1]{%
|
252
|
+
\settowidth{\starter@fold@indentwidth}{#1}%
|
253
|
+
}
|
254
|
+
\newcommand{\starterfoldhere}{% % 折り返し箇所を手動で指定するときに使う
|
255
|
+
\makebox[0pt][l]{\starter@fold@char}% % 折り返しを表す記号を挿入
|
256
|
+
\\% % 改行
|
257
|
+
\makebox[\starter@fold@indentwidth]{}% % 折返しの直後にインデントを挿入
|
258
|
+
}
|
259
|
+
%% 取り消し線で使うulem.styのコマンドをコピーして上書き
|
260
|
+
%% (これにより取り消し線の中でも折返しされるようになる)
|
261
|
+
\newcommand{\starter@fold@dischyp}{%
|
262
|
+
\global\setbox\UL@hyphenbox\hbox%
|
263
|
+
{\ifnum \hyphenchar\font<\z@ \string-\else \char\hyphenchar\font \fi}%
|
264
|
+
%\kern\wd\UL@hyphenbox \LA@penalty\@M% %-
|
265
|
+
\UL@stop%
|
266
|
+
%\kern-\wd\UL@hyphenbox% %-
|
267
|
+
%\discretionary{\box\UL@hyphenbox}{}{} %-
|
268
|
+
\starter@fold@able@ulem% %+
|
269
|
+
\UL@start%
|
270
|
+
}
|
271
|
+
\newcommand{\starter@fold@able@ulem}{%
|
272
|
+
\discretionary{%
|
273
|
+
%\makebox[0pt][l]{\@fold@char}% % この書き方だとなぜかエラー
|
274
|
+
\hbox to 0pt{\starter@fold@char}% % 仕方ないので別の書き方でしのぐ
|
275
|
+
}{%
|
276
|
+
%\makebox[\starter@fold@indentwidth][r]{% この書き方だとなぜかエラー
|
277
|
+
% \starter@fold@contchar%
|
278
|
+
%}%
|
279
|
+
\hbox to \starter@fold@indentwidth{}% % 仕方ないので別の書き方でしのぐ
|
280
|
+
\settowidth{\@tempdima}{\mbox{\starter@fold@contchar}}%
|
281
|
+
\hbox to -\@tempdima{}%
|
282
|
+
\mbox{\starter@fold@contchar}%
|
283
|
+
}{}%
|
284
|
+
}
|
285
|
+
|
286
|
+
|
287
|
+
|
288
|
+
%%% 行末 (End Of Line) を表す記号
|
289
|
+
%\usepackage[arrows]{boisik} % for $\dlsh$
|
290
|
+
%\usepackage[notext,notextcomp,upint]{stix} % for $\leftdowncurvedarrow$
|
291
|
+
%%% 注:boisik.styを読み込むとdvipdfmxコマンドでwarningが出るので、
|
292
|
+
%%% かわりに必要な行だけを抜き出すことにする。
|
293
|
+
%%% <ここから>
|
294
|
+
\input{lbmenc.def}
|
295
|
+
\DeclareSymbolFont{bskarr}{U}{bskarr}{m}{n}
|
296
|
+
\DeclareFontFamily{U}{bskarr}{ }
|
297
|
+
\DeclareFontShape{U}{bskarr}{m}{n}{<->bskarr10}{}
|
298
|
+
\DeclareMathSymbol{\dlsh}{\mathrel}{bskarr}{"F8}
|
299
|
+
%%% </ここまで>
|
300
|
+
|
301
|
+
\newcommand{\startereolmark}{% % 行末を表す改行記号を表示する
|
302
|
+
\makebox[0pt][l]{%
|
303
|
+
\textcolor{starter@eol@color}{\starter@eol@char}%
|
304
|
+
}%
|
305
|
+
}
|
306
|
+
\newcommand{\starter@eol@char}{% % 行末を表す改行記号
|
307
|
+
\footnotesize$\dlsh$% % (直角タイプ、boisik.styが必要)
|
308
|
+
%\raisebox{0.1zw}{%
|
309
|
+
% \scriptsize$\leftdowncurvedarrow$}% % (カーブタイプ、stix.styが必要)
|
310
|
+
%}%
|
311
|
+
}
|
312
|
+
\colorlet{starter@eol@color}{lightgray} % 改行記号の表示色
|
313
|
+
\newcommand{\startereolmarklight}{% % program用
|
314
|
+
\colorlet{starter@eol@color}{lightgray}% % 薄いグレーを使う
|
315
|
+
}
|
316
|
+
\newcommand{\startereolmarkdark}{% % terminal用
|
317
|
+
\colorlet{starter@eol@color}{darkgray}% % 濃いグレーを使う
|
318
|
+
}
|
319
|
+
|
320
|
+
|
321
|
+
|
322
|
+
%%% コードブロックのインデントを示す記号(「|」)
|
323
|
+
\newcommand{\starterindentchar}{} % コードブロックの中で上書きされる
|
324
|
+
\newcommand{\starter@indentchar}{%
|
325
|
+
{|}% % インデントを表す記号
|
326
|
+
}
|
327
|
+
\newcommand{\starter@program@indentchar}{% % プログラム用
|
328
|
+
\textcolor{starter@program@indentcolor}{\starter@indentchar}% 色つきで表示
|
329
|
+
}
|
330
|
+
\newcommand{\starter@terminal@indentchar}{% % ターミナル用
|
331
|
+
\textcolor{starter@terminal@indentcolor}{\starter@indentchar}% 色つきで表示
|
332
|
+
}
|