% 陆巍
% 封面1模板
\documentclass[oneside]{book}

% 注意宏包顺序，有可能会报错
\usepackage{ctex}% 中文支持
\usepackage{geometry}% 用于页面设置
\usepackage[dvipsnames, svgnames, x11names]{xcolor}% 颜色支持
\usepackage{graphics}% 图形支持
\usepackage[
  colorlinks=true,
  linkcolor=Navy,
  urlcolor=Navy,
  citecolor=Navy,
  anchorcolor=Navy
]{hyperref}% 设置超链接颜色
\usepackage{enumerate}% 枚举支持
\usepackage[english]{babel}% 载入美式英语断字模板
\usepackage{tikz}


% 设置为A4纸，边距适中模式（参考永中office）
\geometry{
  width = 210mm,
  height = 297mm,
  left = 19.1mm,
  right = 19.1mm,
  top = 25.4mm,
  bottom = 25.4mm
}

\hyphenpenalty = 1000% 断字设置，值越大，断字越少。
\setmainfont{Ubuntu Mono}% 设置全局英文字体
\setlength{\parindent}{2em}% 缩进
\setlength{\parskip}{2ex} % 段间距

% 定义指定字体名称与大小的文字输出命令
% 第1个参数：字体名称
% 第2个参数：字体大小
% 第3个参数：文本内容
\newcommand{\SetFont}[3]{
  \setCJKfamilyfont{font1}{#1} \CJKfamily{font1}\fontsize{#2}{#2}{\selectfont #3}
}

% 把各种参数用\newcommand定义，以方便调试、替换。注意不要与已有命令冲突
% 定义的新命令中似乎只能使用字母。
% 在parameter标注内的内容将被lua程序单独取出来作为参数与默认值使用
% lua代码识别% parameter>>>>>到% <<<<<parameter之间的内容
% parameter>>>>>
\newcommand{\PGColor}{white}% 背景颜色
\newcommand{\TitleOneFont}{fzfangsong-z02s}% 标题1字体
\newcommand{\TitleOne}{安顺市西秀区}% 标题1内容
\newcommand{\TitleTwoFont}{zcoolwenyiti}% 标题2字体
\newcommand{\TitleTwo}{虹山湖公园}% 标题2内容
\newcommand{\IntroduceOneFont}{fzshusong-z01s}% 介绍1字体
\newcommand{\IntroduceOne}{虹山湖位于贵州省安顺市，是安顺人休闲的一个好地方。前身是一个人工湖，也叫虹山水库。2017年11月10日，批准为国家4A级旅游景区。}% 介绍1内容
\newcommand{\CoverMainPic}{images/cover.png}% 封面主图片
\newcommand{\OrgLogoSize}{20mm}
\newcommand{\OrgLogo}{images/logo.png}
\newcommand{\OrgColor}{OliveGreen}
\newcommand{\OrgOneFont}{zcoolwenyiti}% 组织1字体
\newcommand{\OrgOne}{某某某某}% 组织1内容
\newcommand{\OrgTwoFont}{zcoolwenyiti}% 组织2字体
\newcommand{\OrgTwo}{XXXXXX XXXXXX}% 组织2内容
\newcommand{\IntroduceTwoFont}{fzshusong-z01s}% 介绍2字体
\newcommand{\IntroduceTwo}{\\ XXXX：XXXXXXXXXXXX\\ XXXX：XXXXXXXX\\ XXXX：XXXXXXXXXXXXXX}% 介绍2内容
% <<<<<parameter


% ------------------ 开始 -------------------

\begin{document}

% ------------------ 封面 -------------------
\begin{titlepage}

% 在module标注内的内容将被lua程序单独取出来作为模板使用
% lua代码识别% module>>>>>到% <<<<<module之间的内容
% module>>>>>
% 设置页面背景色
\pagecolor{\PGColor}
\begin{tikzpicture}[remember picture, overlay]
% 以下节点基本上把锚点都设为西北，这样文字数量不同时仍能对齐。
\node(a)[rectangle, text width = 120mm, anchor = north west] at (5mm, 15mm){
  % 标题1
  % node中的第一行文字总是有一点点缩进，解决办法有两种，一是如下所示；二是使用\\空出第一行
  \SetFont{\TitleOneFont}{40}{\parindent=-0.2em\indent \TitleOne}\\
  % 标题2
  \SetFont{\TitleTwoFont}{40}{\TitleTwo}
};
% 介绍1
\node[below of = a, xshift = -60mm, yshift = -15mm, rectangle, text width=70mm, anchor = north west] {
  \SetFont{\IntroduceOneFont}{10}{\parindent=-0.3em\indent \IntroduceOne}
};
% 默认读取images文件夹内的cover.png文件作为封面图片（宽高比21:11）
\node[rectangle, text width = 120mm, anchor = north west] at (-28mm, -60mm) {
    \includegraphics[width = 216mm]{\CoverMainPic}
};
% 绘制左侧竖条
\fill[fill = LightGray](-14mm, 30mm) rectangle (-12mm, -260mm);
% 标志，默认读取images文件夹内的logo.png文件。（宽高比1:1）
\node(b)[rectangle, text width = 120mm, anchor = north west] at (5mm, -190mm){
  \includegraphics[width = \OrgLogoSize]{\OrgLogo}
};
% 组织名称
\color{\OrgColor}
% 注意，这里的锚点并未设为西北，使用的是默认值，原因是对齐方式不一样。
\node[right of = b, xshift = 14mm, rectangle, text width = 120mm] {
  % 名称1，字体为站酷文艺体
  \SetFont{\OrgOneFont}{30}{\parindent=-0.2em\indent \OrgOne}\\[3mm]
  % 名称2，字体为站酷文艺体
  \SetFont{\OrgTwoFont}{18}{\OrgTwo}
};
\color{black}
% 介绍2，字体为方正书宋体
\node[rectangle, text width=50mm, anchor = north west] at (120mm, -180mm) {
  \SetFont{\IntroduceTwoFont}{10}{\IntroduceTwo}
};
\end{tikzpicture}
% <<<<<module

\end{titlepage}

\end{document}