-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathmytitlepage.sty
126 lines (108 loc) · 5.38 KB
/
mytitlepage.sty
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
%%%
%%% タイトルページ(大扉)のデザイン
%%%
\usepackage{afterpage} % for '\afterpage'
\usepackage{pagecolor} % for '\newpagecolor'
%% 背景色を指定
%\definecolor{starter@titlepagecolor}{gray}{0.90} % 薄いグレー
\colorlet{starter@titlepagecolor}{white} % 白
\newcommand{\mytitlepage}{%
\newpagecolor{starter@titlepagecolor} % このページの背景色を指定する
\afterpage{\restorepagecolor} % 次のページからは背景色をなくす
\thispagestyle{empty}% ページ番号やヘッダーを入れない
\centering % 中央寄せ
%\raggedright % 左寄せ
%\raggedleft % 右寄せ
%\addtolength{\oddsidemargin}{-2zw}% 右余白を調整する(右寄せの場合)
\vspace*{5zw} % 縦方向のスペース(ページの先頭なので「*」が必要)
%% フォントを変更
\sffamily % サンセリフ体(英語)
\gtfamily % ゴシック体(日本語)
%% タイトル
{
\HUGE % フォントサイズをかなり大きく
\bfseries % 太字(日本語と英語)
%\@ifundefined{ebseries}{}{\ebseries}% 極太字にする場合(日本語のみ、未定義なら無視)
\@title % タイトル(複数行可)
\par % 段落を区切る(デザイン崩れを防ぐため)
}
%% サブタイトル
\ifx\@subtitle\empty\else
\vspace{1zw} % 縦方向に少しスペースを空ける
{
\Large % フォントサイズを大きめに
{\rmfamily ---}~ % ローマン体で「--」
\@subtitle{}% % サブタイトル
~{\rmfamily ---} % ローマン体で「--」
\par % 段落を区切る(デザイン崩れを防ぐため)
}
\fi
%% フォントを変更
%\mcfamily % 明朝体(日本語)
%\rmfamily % ローマン体(英語)
\normalfont % デフォルトの書体
%% 著者、翻訳者、監修者
{
\Large % 大きめのフォントに変更
\newcommand{\@render@who}[2]{{
\edef\@tempa{##2} % 第2引数を一時変数に代入
\ifx\@tempa\empty\else % 第2引数が空でなければ、
[##1]##2 % 第1引数とともに表示する
\fi
}}
\def\render@bookauthor{\@render@who{著}{\book@author}} % 著者
\def\render@booktranslator{\@render@who{訳}{\book@translator}} % 翻訳者
\def\render@booksupervisor{\@render@who{監修}{\book@supervisor}} % 監修者
%% その中でいちばん長い表示幅を調べる
%% (テキストが複数行だと \settowidth が表示幅をうまく取得できない。
%% 仕方ないので1行ずつ調べて長さを比較し、いちばん長いものを選ぶ。)
\setlength{\@tempdimb}{0pt}
\settowidth{\@tempdimc}{\render@bookauthor}
\ifdim\@tempdimb<\@tempdimc \setlength{\@tempdimb}{\@tempdimc} \fi
\settowidth{\@tempdimc}{\render@booktranslator}
\ifdim\@tempdimb<\@tempdimc \setlength{\@tempdimb}{\@tempdimc} \fi
\settowidth{\@tempdimc}{\render@booksupervisor}
\ifdim\@tempdimb<\@tempdimc \setlength{\@tempdimb}{\@tempdimc} \fi
%% 表示幅のボックスを作ると、そのボックスが左右の中央に位置する
\ifdim\@tempdimb>0pt
\vspace{3\baselineskip} % 縦方向の空き
\parbox[t]{\@tempdimb}{{ % 表示幅のボックスを作る
\render@bookauthor\par % 著者
\render@booktranslator\par % 翻訳者
\render@booksupervisor\par % 監修者
}}
\fi
}
%% 日付、バージョン、イベント名
\vfill % 縦方向のスペース
{
\Large % フォントサイズを大きめに
\ifx\@pubevent\empty\else
\@pubevent\par % イベント名(config.ymlの「pubevent_name:」で指定)
\fi
\ifx\@latestpubhistory\empty
\@date % 日付(config.ymlの「date:」で指定)
\else
\@latestpubhistory % 日付とバージョン(config.ymlの「history:」で指定)
\fi
\par % 段落を区切る(デザイン崩れを防ぐため)
}
\vspace{4zw} % 縦方向のスペース
}
%%%
%%% タイトルページ(大扉)の、次のページ
%%%
\newcommand{\mytitlenextpage}{{%
\thispagestyle{empty} % ページ番号やヘッダーをなくす
\setlength{\parindent}{0pt} % 段落先頭のインデントをなくす
\vspace*{\fill} % 縦方向の長いスペース(ページ先頭なので「*」が必要)
\small % フォントを小さく
{\gtfamily\bfseries ■免責}\\
本書は情報の提供のみを目的としています。\\
本書の内容を実行・適用・運用したことで何が起きようとも、それは実行・適用・運用した人自身の責任であり、著者や関係者はいかなる責任も負いません。\\
{\gtfamily\bfseries ■商標}\\
本書に登場するシステム名や製品名は、関係各社の商標または登録商標です。\\
また本書では、{\texttrademark}、{\textregistered}、{\textcopyright}などのマークは省略しています。\\
%%% 挿絵を入れる場合
%\includegraphics[width=0.7\textwidth]{images/illust.png}
}}