\documentclass[cn]{elegantbook} \title{ElegantBook:优美的 \LaTeX{} 书籍模板} \subtitle{Elegant\LaTeX{} 经典之作} \author{Ethan Deng \& Liam Huang} \institute{Elegant\LaTeX{} Program} \date{\today} \version{3.06} \equote{Victory won\rq t come to us unless we go to it. --- M. Moore} \logo{logo.png} \cover{cover.jpg} \begin{document} \maketitle \tableofcontents \clearpage \thispagestyle{empty} \mainmatter \hypersetup{pageanchor=true} \chapter{Elegant\LaTeX{} 系列模板介绍} 值此版本发行之际,我们 Elegant\LaTeX{} 项目组向大家重新介绍一下我们的工作,我们致力于打造一系列美观、优雅、简便的模板方便用户使用。Elegant\LaTeX{} 系列模板目前由 \href{https://github.com/ElegantLaTeX/ElegantNote}{ElegantNote},\href{https://github.com/ElegantLaTeX/ElegantBook}{ElegantBook},\href{https://github.com/ElegantLaTeX/ElegantPaper}{ElegantPaper} 组成,分别用于排版笔记,书籍和工作论文。这些子项目的名词是一体的,请在使用这些名词的时候不要将其断开(如 Elegant Note 是不正确的写法)。并且,Elegant\LaTeX{} Book 指的即是 ElegantBook。 最新版本下载地址:\href{https://github.com/ElegantLaTeX/ElegantBook/releases}{Github:ElegantBook/releases}。本文将介绍本模板的一些设置内容以及基本使用方法。如果您在使用此模板,欢迎把您使用此模板制作的成品发一份给我们,谢谢!如果您有其他问题,建议或者意见,欢迎联系我们。 \section{ElegantBook 更新说明} 在这几年间,我们收到了很多用户的反馈,主要的问题涉及到字体安装,编码支持,定理浮动,定理跨页,交叉引用等等。我们思前想后,原先让用户安装字体以追求视觉上的美观并不完美,用户陷入了巨大的麻烦,这违背了我们的模板初衷。因此我们在新版中删除了这部分,用户无需安装任何字体。让我们来看下此次 ElegantBook 模板 3.x 更新的主要内容有: \begin{enumerate} \item 删除了自定义字体设置,改用 \lstinline{ctex} 宏包或者系统默认字体; \item 模板拆分为中英文模式(\lstinline{lang=cn/en}); \item \lstinline{PDFLaTeX} 与 \lstinline{XeLaTeX} 支持; \item 使用 \lstinline{tcolorbox} 宏包改写定理类环境,可跨页; \item 定理类环境名字更新,修复定理环境交叉引用; \item 颜色名字更新,统一链接颜色; \item 重新绘制 Elegant\LaTeX{} 的 Logo; \item 更新封面与装饰物,删除水印; \item 修正附录相关内容; \item 增加灰色主题 \lstinline{color=plain}; \item 增加代码高亮; \item 美化列表环境。 \end{enumerate} \chapter{ElegantBook 设置说明} \section{编译方式} 本模板基于基础的 book 文类,所以 book 的选项对于本模板也是有效的。默认编码为 UTF-8,推荐使用 \TeX{} Live 编译。本文编写环境为 Win10 (64bit) + \TeX{} Live 2018,支持 \lstinline{PDFLaTeX} 以及 \lstinline{XeLaTeX} 编译。 \subsection[选择 PDFLaTeX 编译]{选择 \lstinline{PDFLaTeX} 编译} 如果你使用 \lstinline{PDFLaTeX} 编译,默认的 Computer Modern 字体被换成了 \lstinline{newtx} 系列字体,默认的字体字号是 12 pt。关于字体设置的宏包主要用到了: \begin{itemize} \item \lstinline{newtxtext} 用于文档正文字体,类似于 Times New Roman 字体。 \item \lstinline{newtxmath} 用于数学字体,搭配 \lstinline{newtxtext} 非常合适。 \item \lstinline{FiraMono} 用于打字机字体,并使用了 \lstinline{scale=0.7} 选项。 \item \lstinline{ctex} 用于中文字体设置,并使用了 \lstinline{scheme=plain} 选项。 \end{itemize} 一次完整的编译:\lstinline[breaklines]{PDFLaTeX -> BibTeX -> PDFLaTeX*2}。 \subsection[选择 XeLaTeX 编译]{选择 \lstinline{XeLaTeX} 编译} 如果你选择 \lstinline{XeLaTeX} 编译的话,那么设置字体的宏包为 \lstinline{fontspec} 和 \lstinline{xeCJK}。由于模板中使用的字体是 Windows 中的字体,所以如果你使用其他操作系统,比如 Linux 或者 Mac OS,那么你需要把所用字体替换为你系统中的字体。设置字体的命令: \begin{lstlisting}[frame=single] \RequirePackage{fontenc} \RequirePackage[no-math]{fontspec} \setmainfont{Times New Roman}[NFSSFamily=ntxtlf] \setsansfont{Arial} %\setmonofont[Scale=0.7]{Courier New} \RequirePackage{xeCJK} \RequirePackage{xunicode} \setCJKmainfont[BoldFont={SimHei},ItalicFont={KaiTi}]{SimSun} \setCJKsansfont[BoldFont={SimHei},ItalicFont={KaiTi}]{KaiTi} \setCJKmonofont[BoldFont={SimHei},ItalicFont={KaiTi},Scale=0.7]{Microsoft YaHei} \XeTeXlinebreaklocale "zh" \XeTeXlinebreakskip = 0pt plus 1pt minus 0.1pt \RequirePackage{newtxmath} \end{lstlisting} 一次完整的编译:\lstinline[breaklines]{XeLaTeX -> BibTeX -> XeLaTeX*2}。 \section{语言模式} 本模板内含两套语言环境,改变语言环境会改变图表标题的引导词(图,表),文章结构词(比如目录,参考文献等),以及定理环境中的引导词(比如定理,引理等)。不同语言模式的启用如下: \begin{lstlisting}[frame=single] \documentclass[cn]{elegantbook} \documentclass[lang=cn]{elegantbook} \documentclass[en]{elegantbook} \documentclass[lang=en]{elegantbook} \end{lstlisting} \begin{remark} 不管选用中文环境(\lstinline{lang=cn})还是英文环境(\lstinline{lang=en})均可输入中文。另外如果在笔记中使用了抄录环境(\lstinline{lstlisting}),并且其中包括了中文,请务必使用 \lstinline{XeLaTeX} 编译。 \end{remark} \section{颜色主题} 本模板内置 4 组颜色主题,分别为 \textcolor{main1}{\lstinline{green}}(默认)、\textcolor{main2}{\lstinline{cyan}}、\textcolor{main3}{\lstinline{blue}}、\textcolor{gray}{\lstinline{plain}},另外还有一个自定义的选项 \lstinline{nocolor}。调用颜色主题 \lstinline{green} 的方法为 \begin{lstlisting}[frame=single] \documentclass[green]{elegantbook} %or \documentclass[color=green]{elegantbook} \end{lstlisting} 其中 \textcolor{gray}{plain} 主题为全灰色。如果需要自定义颜色的话请选择 \lstinline{nocolor} 选项或者使用 \lstinline{color=none},然后在导言区定义 main、second、third 颜色,具体方法如下: \begin{lstlisting}[frame=single] \definecolor{main}{RGB}{70,70,70} \definecolor{second}{RGB}{115,45,2} \definecolor{third}{RGB}{0,80,80} \end{lstlisting} \begin{table}[htp] \caption{ElegantBook 模板中的颜色主题\label{tab:color thm}} \centering \begin{tabular}{ccccc} \toprule & \textcolor{main1}{green} & \textcolor{main2}{cyan} & \textcolor{main3}{blue} & 主要使用的环境\\ \midrule main & \makecell{{\color{main1}\rule{1cm}{1cm}}}& \makecell{{\color{main2}\rule{1cm}{1cm}}}&\makecell{ {\color{main3}\rule{1cm}{1cm}}}& definition \\ second &\makecell{ {\color{second1}\rule{1cm}{1cm}}}& \makecell{{\color{second2}\rule{1cm}{1cm}}}&\makecell{ {\color{second3}\rule{1cm}{1cm}}}&theorem \ lemma \ corollary\\ third &\makecell{ {\color{third1}\rule{1cm}{1cm}}}& \makecell{{\color{third2}\rule{1cm}{1cm}}}&\makecell{ {\color{third3}\rule{1cm}{1cm}}}&proposition\\ \bottomrule \end{tabular} \end{table} \section{章标题显示风格} 本模板内置 2 套\textit{章标题显示风格},包含 \lstinline{hang}(默认)与 \lstinline{display} 两种风格,区别在于章标题单行显示(\lstinline{hang})与双行显示(\lstinline{display}),本说明使用了 \lstinline{hang}。调用方式为 \begin{lstlisting}[frame=single] \documentclass[hang]{elegantbook} %or \documentclass[titlestyle=hang]{elegantbook} \end{lstlisting} \section{数学环境简介} 在我们这个模板中,定义了四大类环境 \begin{itemize} \item \textit{定理类环境},包含标题和内容两部分,全部定理类环境的编号均以章节编号。根据格式的不同分为 3 种 \begin{itemize} \item \textcolor{main}{\textbf{definition}} 环境,颜色为 \textcolor{main}{main}; \item \textcolor{second}{\textbf{theorem、lemma、corollary}} 环境,颜色为 \textcolor{second} {second}; \item \textcolor{third}{\textbf{proposition}} 环境,颜色为 \textcolor{third}{third}。 \end{itemize} \item \textit{示例类环境},有 \textbf{example、exercise、problem} 环境(对应于例,练习,例题),自动编号,编号以章节为单位。 \item \textit{证明类环境},有 \textbf{proof、note} 环境,特点是,有引导符或者结尾符,\textbf{note} 环境有引导符号,\textbf{proof} 环境有证明完毕符号。 \item \textit{结论类环境},有 \textbf{conclusion、assumption、property,remark、solution} 环境,三者均以粗体的引导词为开头,和普通段落格式一致。 \end{itemize} \subsection{定理类环境的使用} 由于本模板使用了 \lstinline{tcolorbox} 宏包来定制定理类环境,所以和普通的定理环境的使用有些许区别,定理的使用方法如下: \begin{lstlisting}[frame=single] \begin{theorem}{}{