texlive[64122] Master/texmf-dist: elegantbook (15aug22)

commits+karl at tug.org commits+karl at tug.org
Mon Aug 15 22:19:54 CEST 2022


Revision: 64122
          http://tug.org/svn/texlive?view=revision&revision=64122
Author:   karl
Date:     2022-08-15 22:19:54 +0200 (Mon, 15 Aug 2022)
Log Message:
-----------
elegantbook (15aug22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/elegantbook/README.md
    trunk/Master/texmf-dist/doc/latex/elegantbook/elegantbook-cn.pdf
    trunk/Master/texmf-dist/doc/latex/elegantbook/elegantbook-cn.tex
    trunk/Master/texmf-dist/doc/latex/elegantbook/elegantbook-en.pdf
    trunk/Master/texmf-dist/doc/latex/elegantbook/elegantbook-en.tex
    trunk/Master/texmf-dist/tex/latex/elegantbook/elegantbook.cls

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/elegantbook/image/donate.jpg

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/latex/elegantbook/README-CN.md

Deleted: trunk/Master/texmf-dist/doc/latex/elegantbook/README-CN.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/elegantbook/README-CN.md	2022-08-14 23:49:15 UTC (rev 64121)
+++ trunk/Master/texmf-dist/doc/latex/elegantbook/README-CN.md	2022-08-15 20:19:54 UTC (rev 64122)
@@ -1,34 +0,0 @@
-<!-- Author : Dongsheng Deng & Liam Huang-->
-<!-- Program Email: elegantlatex2e at gmail.com -->
-
-[Homepage](https://elegantlatex.org/) | [Github](https://github.com/ElegantLaTeX/ElegantBook) | [CTAN](https://ctan.org/pkg/elegantbook) | [Download](https://github.com/ElegantLaTeX/ElegantBook/releases) | [Wiki](https://github.com/ElegantLaTeX/ElegantBook/wiki) | [Weibo](https://weibo.com/elegantlatex)
-
-![License](https://img.shields.io/ctan/l/elegantbook.svg) ![CTAN Version](https://img.shields.io/ctan/v/elegantbook.svg) ![Github Version](https://img.shields.io/github/release/ElegantLaTeX/ElegantBook.svg) ![Repo Size](https://img.shields.io/github/repo-size/ElegantLaTeX/ElegantBook.svg)
-
----
-
-# ElegantBook 优美的 LaTeX 书籍模板
-
-ElegantBook 是为 LaTeX 书籍写作而设计的模板,由 [Dongsheng Deng](https://ddswhu.me/) 和 [Liam Huang](https://liam.page/) 创立,模板创立的初衷是方便我们自己做笔记 :smile:。如果你有其他问题、建议或者报告 bug,可以提交 issues 或者给我们发邮件:elegantlatex2e at gmail.com。QQ 用户交流群:692108391,欢迎加入。
-
-## 重要提示
-
-**重要提示**:ElegantLaTeX 项目 **不接受** 任何非预授权的提交(pull requests)!
-
-## 致谢
-
-特别感谢 [sikouhjw](https://github.com/sikouhjw) 长期以来对于 Github 上 issue 的快速回应,以及各个社区论坛对于 ElegantLaTeX 相关问题的回复。
-
-特别感谢 ChinaTeX 以及 [LaTeX 工作室](http://www.latexstudio.net/)对于本系列模板的大力宣传与推广。
-
-如果你喜欢我们的模板,你可以在 Github 上收藏我们的模板。
-
-## 协议
-
-本模板发布遵循 LaTeX 项目公共许可证 1.3 c 或更高版本。如果是衍生作品,请务必加入协议声明和模板信息(github、CTAN 地址)。
-
-## 衍生作
-
-+ [ElegantBookdown](https://github.com/XiangyunHuang/ElegantBookdown):[XiangyunHuang](https://github.com/XiangyunHuang) 开发并维护的基于 ElegantBook 的 Bookdown 模板。
-+ [bookdownplus](https://github.com/pzhaonet/bookdownplus):应网友要求,[pzhaonet](https://github.com/pzhaonet) 在 bookdownplus 收录了 ElegantPaper 模板,并为 Mac 做了字体适配。
-+ [PanBook](https://github.com/annProg/PanBook):[annProg](https://github.com/annProg) 开发并维护的基于 Markdown 写作的工作流,收录了 ElegantBook 和 ElegantPaper 模板。
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/latex/elegantbook/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/elegantbook/README.md	2022-08-14 23:49:15 UTC (rev 64121)
+++ trunk/Master/texmf-dist/doc/latex/elegantbook/README.md	2022-08-15 20:19:54 UTC (rev 64122)
@@ -1,34 +1,37 @@
 <!-- Author : Dongsheng Deng & Liam Huang-->
 <!-- Program Email: elegantlatex2e at gmail.com -->
 
-[Homepage](https://elegantlatex.org/) | [Github](https://github.com/ElegantLaTeX/ElegantBook) | [CTAN](https://ctan.org/pkg/elegantbook) | [Download](https://github.com/ElegantLaTeX/ElegantBook/releases) | [Wiki](https://github.com/ElegantLaTeX/ElegantBook/wiki) | [Weibo](https://weibo.com/elegantlatex)
+[Homepage](https://elegantlatex.org/) | [Github](https://github.com/ElegantLaTeX/ElegantBook) | [CTAN](https://ctan.org/pkg/elegantbook) | [Download](https://github.com/ElegantLaTeX/ElegantBook/releases) | 
 
 ![License](https://img.shields.io/ctan/l/elegantbook.svg) ![CTAN Version](https://img.shields.io/ctan/v/elegantbook.svg) ![Github Version](https://img.shields.io/github/release/ElegantLaTeX/ElegantBook.svg) ![Repo Size](https://img.shields.io/github/repo-size/ElegantLaTeX/ElegantBook.svg)
 
 -------
 
-# ElegantBook: An Elegant LaTeX Template for Books
+# ElegantBook: 优美的 LaTeX 书籍模板 An Elegant LaTeX Template for Books 
 
-ElegantBook is designed for writing books, created by [Dongsheng Deng](https://ddswhu.me/) and [Liam Huang](https://liam.page/). Just enjoy it! If you have any questions, suggestions or bug reports, you can create issues or contact us at elegantlatex2e at gmail.com.
+ElegantBook 是为 LaTeX 书籍写作而设计的模板,由 [Ethan Deng](https://github.com/EthanDeng) 和 [Liam Huang](https://github.com/Liam0205) 创立,现在主要由 [Ethan Deng](https://github.com/EthanDeng)、[乙醇](https://github.com/syvshc)和[死抠](https://github.com/sikouhjw)维护。如果你有其他问题、建议或者报告 bug,可以提交 issues 或者加入我们的 QQ 用户交流群:692108391。
 
-## Important Notes
+ElegantBook is designed for writing books, created by [Ethan Deng](https://github.com/EthanDeng) and [Liam Huang](https://github.com/Liam0205), and maintained by [Ethan Deng](https://github.com/EthanDeng), [syvshc](https://github.com/syvshc) and [sikouhjw](https://github.com/sikouhjw). Just enjoy it! If you have any questions, suggestions or bug reports, you can create issues or contact us at elegantlatex2e at gmail.com.
 
-For some reasons, __unauthorized__ pull requests are **UNACCEPTABLE** since May 20, 2019. For those who want to help revise the templates, submit issues or clone to your own repository to modify under the LPPL-1.3c.
 
-## Acknowledgement
+## 致谢 Acknowledgement
 
-Thank [sikouhjw](https://github.com/sikouhjw) for his quick response to Github issues and continuously support work for ElegantLaTeX.
 
-Thank ChinaTeX and [LaTeX Studio](http://www.latexstudio.net/) for their promotion. 
+特别感谢 [sikouhjw](https://github.com/sikouhjw) 和 [syvshc](https://github.com/syvshc) 长期以来对于 Github 上 issue 的快速回应,以及各个社区论坛对于 ElegantLaTeX 相关问题的回复。特别感谢 ChinaTeX 以及 [LaTeX 工作室](http://www.latexstudio.net/)对于本系列模板的大力宣传与推广。
 
+Thank [sikouhjw](https://github.com/sikouhjw) and [syvshc](https://github.com/syvshc) for their quick response to Github issues and continuously support work for ElegantLaTeX community. Thank ChinaTeX and [LaTeX Studio](http://www.latexstudio.net/) for their promotion. 
 
-## License
 
+## 协议 License
+
+本模板发布遵循 LaTeX 项目公共许可证 1.3 c 或更高版本。
+如果是衍生作品,请务必加入协议声明和模板信息(github、CTAN 地址)。
+
 This work is released under the LaTeX Project Public License, v1.3c or later.
 
 
-## Derivative Works
+## 衍生品 Derivative Works
 
-+ [ElegantBookdown](https://github.com/XiangyunHuang/ElegantBookdown):[XiangyunHuang](https://github.com/XiangyunHuang) developed a Bookdown template based on ElegantBook.
-+ [bookdownplus](https://github.com/pzhaonet/bookdownplus): maintained by [pzhaonet](https://github.com/pzhaonet).
-+ [PanBook](https://github.com/annProg/PanBook):a markdown-based writing workflow Developed by [annProg](https://github.com/annProg).
++ [ElegantBookdown](https://github.com/XiangyunHuang/ElegantBookdown):[XiangyunHuang](https://github.com/XiangyunHuang) 开发并维护的基于 ElegantBook 的 Bookdown 模板。
++ [bookdownplus](https://github.com/pzhaonet/bookdownplus):应网友要求,[pzhaonet](https://github.com/pzhaonet) 在 bookdownplus 收录了 ElegantPaper 模板,并为 Mac 做了字体适配。
++ [PanBook](https://github.com/annProg/PanBook):[annProg](https://github.com/annProg) 开发并维护的基于 Markdown 写作的工作流,收录了 ElegantBook 和 ElegantPaper 模板。

Modified: trunk/Master/texmf-dist/doc/latex/elegantbook/elegantbook-cn.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/elegantbook/elegantbook-cn.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/elegantbook/elegantbook-cn.tex	2022-08-14 23:49:15 UTC (rev 64121)
+++ trunk/Master/texmf-dist/doc/latex/elegantbook/elegantbook-cn.tex	2022-08-15 20:19:54 UTC (rev 64122)
@@ -1,4 +1,4 @@
-\documentclass[lang=cn,10pt]{elegantbook}
+\documentclass[lang=cn,10pt,founder,newtx]{elegantbook}
 
 \title{ElegantBook:优美的 \LaTeX{} 书籍模板}
 \subtitle{Elegant\LaTeX{} 经典之作}
@@ -5,11 +5,11 @@
 
 \author{Ethan Deng \& Liam Huang}
 \institute{Elegant\LaTeX{} Program}
-\date{April 9, 2022}
-\version{4.3}
+\date{Aug 15, 2022}
+\version{4.4}
 \bioinfo{自定义}{信息}
 
-\extrainfo{不要以为抹消过去,重新来过,即可发生什么改变。—— 比企谷八幡}
+\extrainfo{要让一群人团结起来,需要的不是英明的领导,而是共同的敌人。—— 比企谷八幡}
 
 \setcounter{tocdepth}{3}
 
@@ -21,9 +21,12 @@
 \newcommand{\ccr}[1]{\makecell{{\color{#1}\rule{1cm}{1cm}}}}
 
 % 修改标题页的橙色带
-% \definecolor{customcolor}{RGB}{32,178,170}
-% \colorlet{coverlinecolor}{customcolor}
+\definecolor{customcolor}{RGB}{32,178,170}
+\colorlet{coverlinecolor}{customcolor}
+\usepackage{cprotect}
 
+\addbibresource[location=local]{reference.bib} % 参考文献,不要删除
+
 \begin{document}
 
 \maketitle
@@ -35,21 +38,26 @@
 
 \chapter{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} 组成,分别用于排版笔记,书籍和工作论文。强烈推荐使用最新正式版本!本文将介绍本模板的一些设置内容以及基本使用方法。如果您有其他问题,建议或者意见,欢迎在 GitHub 上给我们提交 \href{https://github.com/ElegantLaTeX/ElegantBook/issues}{issues} 或者邮件联系我们。
+Elegant\LaTeX{} 项目组致力于打造一系列美观、优雅、简便的模板方便用户使用。目前由 \href{https://github.com/ElegantLaTeX/ElegantNote}{ElegantNote},\href{https://github.com/ElegantLaTeX/ElegantBook}{ElegantBook},\href{https://github.com/ElegantLaTeX/ElegantPaper}{ElegantPaper} 组成,分别用于排版笔记,书籍和工作论文。大版本改动较大,请关注版本信息,在未开始使用模板钱,建议直接选择最新正式版本!
 
-我们的联系方式如下,建议加入用户 QQ 群提问,这样能更快获得准确的反馈,加群时请备注 \LaTeX{} 或者 Elegant\LaTeX{} 相关内容。
+本文将介绍本模板的一些设置内容以及基本使用方法。如果您有其他问题,建议或者意见,欢迎在 GitHub 上给我们提交 \href{https://github.com/ElegantLaTeX/ElegantBook/issues}{issues} 或者邮件联系我们。我们的联系方式如下,建议加入用户 QQ 群提问,这样能更快获得准确的反馈,加群时请备注 \LaTeX{} 或者 Elegant\LaTeX{} 相关内容。
 \begin{itemize}
-  \item 官网:\href{https://elegantlatex.org/}{https://elegantlatex.org/}(暂时歇业)
+  \item 官网:\href{https://elegantlatex.org/}{https://elegantlatex.org/}
   \item GitHub 地址:\href{https://github.com/ElegantLaTeX/}{https://github.com/ElegantLaTeX/}
-  \item Gitee 地址:\href{https://gitee.com/ElegantLaTeX}{https://gitee.com/ElegantLaTeX}
   \item CTAN 地址:\href{https://ctan.org/pkg/elegantbook}{https://ctan.org/pkg/elegantbook}
   \item 下载地址:\href{https://github.com/ElegantLaTeX/ElegantBook/releases}{正式发行版},\href{https://github.com/ElegantLaTeX/ElegantBook/archive/master.zip}{最新版}
-  \item 微博:Elegant\LaTeX{}(密码有点忘了)
-  \item 微信公众号:Elegant\LaTeX{}(不定期更新)
-  \item 用户 QQ 群:692108391(建议加群)
+  \item 微博:Elegant\LaTeX{}
+  \item 微信公众号:Elegant\LaTeX{}
+  \item Bilibili:\href{https://space.bilibili.com/516479629}{ElegantLaTeX}
+  \item 用户 QQ 群:692108391
   \item 邮件:\email{elegantlatex2e at gmail.com}
 \end{itemize}
 
+\begin{quotation}
+  \textbf{注意:} 由于 ElegantLaTeX 的模板涉及宏包和设定比较多,不建议没有 \LaTeX{} 基础的用户使用。我们会通过 \href{https://space.bilibili.com/516479629}{B 站}进行直播或者交流分享会,录屏也将发布在该账户下,如果大家在模板的使用上有问题,可以观看视频、加群咨询或者查看模板自带的文档说明(如果安装了 TeX Live,可以使用在命令行提示符下运行 \lstinline{texdoc elegantbook} 命令获得模板的说明文档。
+\end{quotation}
+
+
 \section{模板安装与更新}
 
 你可以通过免安装的方式使用本模板,包括在线使用和本地(文件夹内)使用两种方式,也可以通过 \TeX{} 发行版安装使用。
@@ -90,9 +98,19 @@
 
 \section{关于提交}
 
-出于某些因素的考虑,Elegant\LaTeX{} 项目自 2019 年 5 月 20 日开始,\textbf{不再接受任何非作者预约性质的提交}(pull request)!如果你想改进模板,你可以给我们提交 issues,或者可以在遵循协议(LPPL-1.3c)的情况下,克隆到自己仓库下进行修改。
+由于精力有限,本人维护模板的时间并不多,考虑到模板的用户还挺多,本模板自 2022 年 8 月开始,开放特性提交(features pull requests)!不过在提交之前,请务必在 issue 区将问题、解决方式以及对应的示例(最简单的使用示例)写清楚,我们会根据 issue 的信息,接受合适的提交。
 
 
+\section{赞助}
+
+如果您非常喜爱我们的模板,你还可以选择赞助的方式支持这个项目,赞助主要用于网站域名和服务器的购买、QQ 用户群的维护以及对于管理员的奖励。赞赏费用的使用解释权归 ElegantLaTeX/EthanDeng 所有,不接受监督。
+
+\begin{figure}[htbp]
+  \centering
+  \includegraphics[width=0.5\textwidth]{donate.jpg}
+\end{figure}
+  
+
 \chapter{ElegantBook 设置说明}
 
 本模板基于基础的 book 文类,所以 book 的选项对于本模板也是有效的(纸张无效,因为模板有设备选项)。默认编码为 UTF-8,推荐使用 \TeX{} Live 编译。
@@ -180,7 +198,7 @@
 \end{table}
 
 如果需要自定义颜色的话请选择 \lstinline{nocolor} 选项或者使用 \lstinline{color=none},然后在导言区定义 structurecolor、main、second、third 颜色,具体方法如下:
-\begin{lstlisting}[tabsize=4]]
+\begin{lstlisting}[tabsize=4]
 \definecolor{structurecolor}{RGB}{0,0,0}
 \definecolor{main}{RGB}{70,70,70}    
 \definecolor{second}{RGB}{115,45,2}    
@@ -197,13 +215,13 @@
   \centering
   \caption{封面元素信息}
   \begin{tabular}{p{0.07\textwidth}p{0.15\textwidth}|p{0.07\textwidth}p{0.15\textwidth}|p{0.07\textwidth}p{0.15\textwidth}}
-    \toprule
+    \hline
     信息 & 命令 & 信息 & 命令 & 信息 & 命令 \\
-    \midrule
+    \hline
     标题 & \lstinline|\title| & 副标题 & \lstinline|\subtitle| & 作者 & \lstinline|\author| \\
     机构 & \lstinline|\institute| & 日期 &  \lstinline|\date| & 版本 & \lstinline|\version| \\
     箴言 & \lstinline|\extrainfo| & 封面图 & \lstinline|\cover| & 徽标 & \lstinline|\logo| \\
-    \bottomrule
+    \hline
   \end{tabular}
 \end{table}
 
@@ -258,59 +276,140 @@
   \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{second}{\textbf{theorem、lemma、corollary、axiom、postulate}} 环境,颜色为 \textcolor{second} {second};
       \item \textcolor{third}{\textbf{proposition}} 环境,颜色为 \textcolor{third}{third}。
     \end{itemize}
   \item \textit{示例类环境},有 \textbf{example、problem、exercise} 环境(对应于例、例题、练习),自动编号,编号以章节为单位,其中 \textbf{exercise} 有提示符。
   \item \textit{提示类环境},有 \textbf{note} 环境,特点是:无编号,有引导符。
-  \item \textit{结论类环境},有 \textbf{conclusion、assumption、property、remark、solution} 环境\footnote{本模板还添加了一个 result 选项,用于隐藏 \lstinline{solution} 和 \lstinline{proof} 环境,默认为显示(\lstinline{result=answer}),隐藏使用 \lstinline{result=noanswer}。},三者均以粗体的引导词为开头,和普通段落格式一致。
+  \item \textit{结论类环境},有 \textbf{conclusion、assumption、property、remark、solution} 环境\footnote{本模板还添加了一个 \lstinline|result| 选项,用于隐藏 \lstinline{solution} 和 \lstinline{proof} 环境,默认为显示(\lstinline{result=answer}),隐藏使用 \lstinline{result=noanswer}。},三者均以粗体的引导词为开头,和普通段落格式一致。
 \end{itemize}
 
+其中,定理类环境均有带星号的版本:\textcolor{main}{\textbf{definition*}}、\textcolor{second}{\textbf{theorem*}}、\textcolor{second}{\textbf{lemma*}}、\textcolor{second}{\textbf{corollary*}}、\textcolor{second}{\textbf{axiom*}}、\textcolor{second}{\textbf{postulate*}}、\textcolor{third}{\textbf{proposition*}},带星号的定理类环境不会编号。
+
 \subsection{定理类环境的使用}
 
-由于本模板使用了 \lstinline{tcolorbox} 宏包来定制定理类环境,所以和普通的定理环境的使用有些许区别,定理的使用方法如下:
+\subsubsection{\texttt{fancy} 模式}
+
+在 \lstinline{fancy} 模式下使用了 \lstinline{tcolorbox} 宏包来定制定理类环境,所以和普通的定理环境的使用有些许区别,有编号定理的使用方法如下:
+
 \begin{lstlisting}
+% 有名字,有标签
 \begin{theorem}{theorem name}{label}
-  The content of theorem.
+  这是一个有名字和标签的定理。
+  用 \ref{thm:label} 来引用这个定理。
 \end{theorem}
+% 无名字,有标签
+\begin{theorem}{}{label no name}
+  这是一个没有名字但是有标签的定理。
+  用 \ref{thm:label no name} 来引用这个定理。
+\end{theorem}
+% 有名字,无标签
+\begin{theorem}{theorem name}{}
+  这是一个有名字但是没有标签的定理。
+  这个定理不能被引用。
+  最后的 {} 可以省略不写。
+\end{theorem}
+% 无名字,无标签
+\begin{theorem}{}{}
+  这是一个没有名字也没有标签的定理。
+  这个定理不能被引用。
+  两个 {} 均可以省略不写。
+\end{theorem}
 \end{lstlisting}
 
-第一个必选项 \lstinline{theorem name} 是定理的名字,第二个必选项 \lstinline{label} 是交叉引用时所用到的标签,交叉引用的方法为 \verb|\ref{thm:label}|。请注意,交叉引用时必须加上前缀 \lstinline{thm:}。
+第一个选项 \lstinline{theorem name} 是定理的名字,如果定理没有名字请使用 \lstinline|{}|\cprotect\footnote{除非这个定理也没有标签,否则不能省略。}。第二个选项 \lstinline{label} 是交叉引用时所用到的标签,如果定理没有标签,可以不写 \lstinline|{label}| 或使用 \lstinline|{}|。交叉引用的方法为 \lstinline|\ref{thm:label}|。请注意,交叉引用时必须加上前缀 \lstinline{thm:}。其他相同用法的定理类环境见表 \ref{tab:theorem-class}。
 
-在用户多次反馈下,4.x 之后,引入了原生定理的支持方式,也就是使用可选项方式:
+不编号的定理使用方法如下:
 
 \begin{lstlisting}
-\begin{theorem}[theorem name] \label{thm:theorem-label}
-  The content of theorem.
+% 有名字
+\begin{theorem*}{theorem name}
+  这是一个不编号的有名字的定理。
+  这个定理不能被引用。
+\end{theorem*}
+% 无名字
+\begin{theorem*}{}
+  这是一个不编号且没有名字的定理。
+  最后的 {} 可以省略不写。
+  这个定理不能被引用。
+\end{theorem*}
+\end{lstlisting}
+其中的选项 \lstinline{theorem name} 是定理的名字,如果没有名字可以不写 \lstinline|{theorem name}| 或使用 \lstinline|{}|
+
+\begin{table}[htbp]
+  \centering
+  \caption{定理类环境}
+    \begin{tabular}{llll}
+    \toprule
+    环境名 & 标签名 & 前缀 & 交叉引用 \\
+    \midrule
+    definition & label & def   & \lstinline|\ref{def:label}| \\
+    theorem & label & thm   & \lstinline|\ref{thm:label}| \\
+    postulate & label & pos & \lstinline|\ref{pos:label}| \\
+    axiom & label & axi & \lstinline|\ref{axi:label}|\\
+    lemma & label & lem   & \lstinline|\ref{lem:label}| \\
+    corollary & label & cor   & \lstinline|\ref{cor:label}| \\
+    proposition & label & pro   & \lstinline|\ref{pro:label}| \\
+    \bottomrule
+    \end{tabular}%
+  \label{tab:theorem-class}%
+\end{table}%
+
+在用户多次反馈下,在 4.1 版本引入了原生定理的支持方式,使用方法如下:
+
+\begin{lstlisting}
+% 有名字,有标签
+\begin{theorem}[theorem name]\label{thm:label}
+  这是一个有名字和标签的定理。
+  用 \ref{thm:label} 来引用这个定理。
 \end{theorem}
-% or 
-\begin{theorem} \label{thm:theorem-withou-name}
-  The content of theorem without name.
+% 无名字,有标签
+\begin{theorem}\label{thm:label no name}
+  这是一个没有名字但是有标签的定理。
+  用 \ref{thm:label no name} 来引用这个定理。
 \end{theorem}
+% 有名字,无标签
+\begin{theorem}[theorem name]
+  这是一个有名字但是没有标签的定理。
+  这个定理不能被引用。
+\end{theorem}
+% 无名字,无标签
+\begin{theorem}
+  这是一个没有名字也没有标签的定理。
+  这个定理不能被引用。
+\end{theorem}
 \end{lstlisting}
+这时引用不需要加前缀,\lstinline{\ref} 中的内容与 \lstinline{\label} 中的内容相同,换句话说,这时的使用方法与使用原生定理环境的时候几乎相同。
 
-其他相同用法的定理类环境有:
+\subsubsection{\texttt{simple} 模式}
 
-\begin{table}[htbp]
-   \centering
-   \caption{定理类环境}
-     \begin{tabular}{llll}
-     \toprule
-     环境名 & 标签名 & 前缀 & 交叉引用 \\
-     \midrule
-     definition & label & def   & \lstinline|\ref{def:label}| \\
-     theorem & label & thm   & \lstinline|\ref{thm:label}| \\
-     lemma & label & lem   & \lstinline|\ref{lem:label}| \\
-     corollary & label & cor   & \lstinline|\ref{cor:label}| \\
-     proposition & label & pro   & \lstinline|\ref{pro:label}| \\
-     \bottomrule
-     \end{tabular}%
-   \label{tab:theorem-class}%
- \end{table}%
- 
+在 \lstinline{simple} 模式下使用了 \lstinline{amsthm} 宏包,定理类环境使用方法与原生一致,定理的使用方法如下:
+
+\begin{lstlisting}
+% 有名字,有标签
+\begin{theorem}[theorem name]\label{thm:label}
+  这是一个有名字和标签的定理。
+  用 \ref{thm:label} 来引用这个定理。
+\end{theorem}
+% 无名字,有标签
+\begin{theorem}\label{thm:label no name}
+  这是一个没有名字但是有标签的定理。
+  用 \ref{thm:label no name} 来引用这个定理。
+\end{theorem}
+% 有名字,无标签
+\begin{theorem}[theorem name]
+  这是一个有名字但是没有标签的定理。
+  这个定理不能被引用。
+\end{theorem}
+% 无名字,无标签
+\begin{theorem}
+  这是一个没有名字也没有标签的定理。
+  这个定理不能被引用。
+\end{theorem}
+\end{lstlisting}
+
 % \subsection{算法环境}
 
- 
 % \begin{algorithm}\label{alg:test}
 %   \Input{A bitmap $I$ of size $w \times l$}
 %   \Output{A partition of the bitmap}
@@ -340,14 +439,94 @@
 
 \subsection{修改计数器}
 
-当前定理等环境计数器按章计数,如果想修改定理类环境按节计数,可以修改计数器选项 thmcnt:
+当前定理等环境计数器按章计数,如果想修改定理类环境按节计数,可以修改计数器选项 \lstinline{thmcnt},可用选项为 \lstinline{chapter} (默认)与 \lstinline{section}:
 
 \begin{lstlisting}
-  \documentclass[section]{elegantbook} %or
-  \documentclass[thmcnt=section]{elegantbook}
+\documentclass[section]{elegantbook} %or
+\documentclass[thmcnt=section]{elegantbook}
 \end{lstlisting}
 
+\subsection{自定义定理类环境}
 
+4.4 版本新增了一个自定义定理类环境的命令:\lstinline|\elegantnewtheorem|,它的参数含义如下:
+
+\begin{lstlisting}
+% fancy 模式(默认)
+\elegantnewtheorem{env}{title}{style}{prefix}
+% simple 模式
+\elegantnewtheorem{env}{title}{style}
+\end{lstlisting}
+该命令可以同时定义编号环境 \lstinline|env| 和不编号环境 \lstinline|env*|。
+
+其中 \lstinline|style| 支持的参数有:\lstinline|defstyle|,\lstinline|thmstyle|,\lstinline|prostyle|,分别对应“定义”,“定理”,“命题”三种样式。
+
+
+\begin{itemize}
+  \item 在炫彩模式(\lstinline{fancy})下,需要 4 个参数来定义一个新的定理类环境,分别是:
+  定理类环境名,定理类环境的标题,定理类环境的样式,该定理类环境的前缀:
+
+\begin{lstlisting}
+% 导言区
+\elegantnewtheorem{examplefancy}{自定义定理类环境}{thmstyle}{exfancy}
+% 正文
+\begin{examplefancy}{定理名}{label}
+  这里是自定义定理类环境 \ref{exfancy:label}
+\end{examplefancy}
+\begin{examplefancy*}{定理名}
+  这里是无编号自定义定理类环境
+\end{examplefancy*}
+\end{lstlisting}
+
+  如果不给出第四个参数,或第四个参数置空的话,将会用定理类环境名来作为默认前缀,即
+\begin{lstlisting}
+% 导言区
+\elegantnewtheorem{test}{TEST}{thmstyle}
+% 或
+\elegantnewtheorem{test}{TEST}{thmstyle}{}
+% 正文
+\begin{test}{name}{label}
+  默认前缀为 test。
+  使用 \ref{test:label} 来引用这个定理类环境。
+\end{test}
+\end{lstlisting}
+
+这时会在终端以及 \verb|.log| 文件中输出一个警告信息来提示用户没有定义前缀:
+
+\begin{lstlisting}[language=bash]
+Class elegantbook Warning: Because you didn't provide a prefix. 
+(elegantbook)              We use test as the default prefix. 
+(elegantbook)              You have to use 
+(elegantbook)              \ref {test:label} to refer a 
+(elegantbook)              \begin {test}{name}{label} environment. 
+(elegantbook)               on input line 3.
+\end{lstlisting}
+
+  \item 在简单模式(\lstinline{simple})下,需要 3 个参数来定义一个新的定理类环境,分别是:
+  定理类环境名,定理类环境的标题,定理类环境的样式,该定理类环境的前缀:
+\begin{lstlisting}
+% 导言区
+\elegantnewtheorem{examplesimple}{自定义定理类环境}{thmstyle}
+% 正文
+\begin{examplesimple}[定理名]\label{exsimple:label}
+  这里是自定义定理类环境 \ref{exsimple:label}
+\end{examplesimple}
+\begin{examplesimple*}[定理名]
+  这里是无编号自定义定理类环境
+\end{examplesimple*}
+\end{lstlisting}
+
+  如果此时错误地给出了第四个参数,那么将会在终端以及 \verb|.log| 文件中输出一个错误信息:
+\begin{lstlisting}
+% elegantbook-cn.tex
+\elegantnewtheorem{test}{TEST}{thmstyle}{}
+% .log file
+./elegantbook-cn.tex:3: Class elegantbook Error: You can't set a prefix in mode ``simple''.
+(elegantbook)              Just use 
+(elegantbook)              \elegantnewtheorem {test}{TEST}{thmstyle} .
+\end{lstlisting}
+
+\end{itemize}
+
 \subsection{其他环境的使用}
 
 其他三种环境没有选项,可以直接使用,比如 \lstinline{example} 环境的使用方法与效果:
@@ -397,9 +576,27 @@
 \end{minipage}
 
 \section{参考文献}
-文献部分,本模板调用了 biblatex 宏包,并提供了 biber(默认) 和 bibtex 两个后端选项,可以使用 \lstinline{bibend} 进行修改:
 
+\subsection{打印文献}
+
+之前我们将文献调用的命令放在模板里面,然后用户反馈 \lstinline{\cite} 命令无法自动补全,因此我们新版本将其拿到外面来,新版本打印参考文献的命令的方法是,在导言区(也即 \lstinline|\begin{document}| 之前),加入:
+
 \begin{lstlisting}
+  \lstinline|\addbibresource[location=local]{reference.bib}|。
+\end{lstlisting}
+
+然后再需要打印文献的地方使用:
+\begin{lstlisting}
+  \printbibliography[heading=bibintoc, title=\ebibname]
+\end{lstlisting}
+
+其中 \lstinline{reference.bib} 为参考文献存放的文件,需要放在项目文件夹下。
+
+\subsection{修改文献格式}
+
+此外,本模板调用了 biblatex 宏包,并提供了 biber(默认) 和 bibtex 两个后端选项,可以使用 \lstinline{bibend} 进行修改:
+
+\begin{lstlisting}
   \documentclass[bibtex]{elegantbook}
   \documentclass[bibend=bibtex]{elegantbook}
 \end{lstlisting}
@@ -413,13 +610,14 @@
   \documentclass[citestyle=gb7714-2015, bibstyle=gb7714-2015]{elegantbook} 
 \end{lstlisting}
 
-如果需要添加排序方式,可以在导言区加入
+如果需要添加排序方式,可以在导言区加入下面命令:
 \begin{lstlisting}
   \ExecuteBibliographyOptions{sorting=ynt}
 \end{lstlisting}
 
-启用国标之后,可以加入 \lstinline{sorting=gb7714-2015}。
+如果使用的是国标,可以将 \lstinline{ynt} 改为 \lstinline{gb7714-2015},使文献按照国标规定进行文献排序。
 
+
 \section{添加序章}
 
 如果你想在第一章前面添序章,不改变原本章节序号,可以在第一章内容前面使用 
@@ -483,7 +681,7 @@
 
 
 效果如下:
-\begin{problemset}
+\begin{problemset}[我的题目]
   \item exercise 1
   \item exercise 2
   \item exercise 3
@@ -568,12 +766,12 @@
 
 如果使用 \lstinline{newtx} 系列字体宏包,需要注意下连字符的问题。
 \begin{equation}
-  \int_{R^q} f(x,y) dy.\emph{of\kern0pt f}
+  \int_{R^q} f(x,y) dy.\emph{of\kern0pt f} \sin x
 \end{equation}
 的代码为
 \begin{lstlisting}
 \begin{equation}
-  \int_{R^q} f(x,y) dy.\emph{of \kern0pt f}
+  \int_{R^q} f(x,y) dy.\emph{of\kern0pt f} \sin x
 \end{equation}
 \end{lstlisting}
 
@@ -607,10 +805,6 @@
 \item \lstinline{nofont}:后台会调用 \lstinline{ctex} 宏包并且使用 \lstinline{fontset=none} 选项,不设定中文字体,用户可以自行设置中文字体,具体见后文。
 \end{enumerate}
 
-\begin{remark}
-  使用 \lstinline{founder} 选项或者 \lstinline{nofont} 时,必须使用 \hologo{XeLaTeX} 进行编译。
-\end{remark}
-
 \subsection{方正字体选项}
 由于使用 \lstinline{ctex} 宏包默认调用系统已有的字体,部分系统字体缺失严重,因此,用户希望能够使用其它字体,我们推荐使用方正字体。方正的{\songti 方正书宋}、{\heiti 方正黑体}、{\kaishu 方正楷体}、{\fangsong 方正仿宋}四款字体均可免费试用,且可用于商业用途。用户可以自行从\href{http://www.foundertype.com/}{方正字体官网}下载此四款字体,在下载的时候请\textbf{务必}注意选择 GBK 字符集,也可以使用 \href{https://www.latexstudio.net/}{\LaTeX{} 工作室}提供的\href{https://pan.baidu.com/s/1BgbQM7LoinY7m8yeP25Y7Q}{方正字体,提取码为:njy9} 进行安装。安装时,{\kaishu Win 10 用户请右键选择为全部用户安装,否则会找不到字体。}
 
@@ -699,7 +893,7 @@
    \int_{\mathcal{R}^p\times\mathcal{R}^q} f(x,y) dxdy=\int_{\mathcal{R}^p}\left(\int_{\mathcal{R}^q}f(x,y)dy\right)dx.
 \end{equation}
 
-(2)若 $f(x,y)$ 是 $\mathcal{R}^p\times\mathcal{R}^q$ 上的可积函数,则对几乎处处的 $x\in\mathcal{R}^p$,$f(x,y)$ 作为 $y$ 的函数是 $\mathcal{R}^q$ 上的可积函数,并且 $g(x)=\int_{\mathcal{R}^q}f(x,y) dy$ 是 $\mathcal{R}^p$ 上的可积函数。而且~\ref{eq:461} 成立。
+(2)若 $f(x,y)$ 是 $\mathcal{R}^p\times\mathcal{R}^q$ 上的可积函数,则对几乎处处的 $x\in\mathcal{R}^p$,$f(x,y)$ 作为 $y$ 的函数是 $\mathcal{R}^q$ 上的可积函数,并且 $g(x)=\int_{\mathcal{R}^q}f(x,y) dy$ 是 $\mathcal{R}^p$ 上的可积函数。而且~\eqref{eq:461} 成立。
 \end{theorem}
 
 \ref{thm:fubi}
@@ -751,8 +945,6 @@
     见前文介绍,可以使用 \lstinline{scheme=chinese} 设置。
   \item \question{大佬,我想把正文字体改为亮色,背景色改为黑灰色。}
     页面颜色可以使用 \lstinline{\pagecolor} 命令设置,文本命令可以参考\href{https://tex.stackexchange.com/questions/278544/xcolor-what-is-the-equivalent-of-default-text-color}{这里}进行设置。
-  \item \question{\lstinline[breaklines]{Package ctex Error: CTeX fontset 'Mac' is unavailable.}}
-    在 Mac 系统下,中文编译请使用 \hologo{XeLaTeX}。
   \item \question{\lstinline{! LaTeX Error: Unknown option 'scheme=plain' for package 'ctex'.}}
     你用的 C\TeX{} 套装吧?这个里面的 \lstinline{ctex} 宏包已经是已经是 10 年前的了,与本模板使用的 \lstinline{ctex} 宏集有很大区别。不建议 C\TeX{} 套装了,请卸载并安装 \TeX{} Live 2022。
   \item \question{我该使用什么版本?}
@@ -764,7 +956,7 @@
   \item \question{请问交叉引用是什么?}
     本群和本模板适合有一定 \LaTeX{} 基础的用户使用,新手请先学习 \LaTeX{} 的基础,理解各种概念,否则你将寸步难行。
   \item \question{代码高亮环境能用其他语言吗?}
-    可以的,ElegantBook 模板用的是 \lstinline{listings} 宏包,你可以在环境(\lstinline{lstlisting})之后加上语言(比如 Python 使用 \lstinline{language=Python} 选项),全局语言修改请使用 \lstinline{lsset} 命令,更多信息请参考宏包文档。
+    可以的,ElegantBook 模板用的是 \lstinline{listings} 宏包,你可以在环境(\lstinline{lstlisting})之后加上语言(比如 Python 使用 \lstinline{language=Python} 选项),全局语言修改请使用 \lstinline{lstset} 命令,更多信息请参考宏包文档。
   \item \question{群主,什么时候出 Beamer 的模板(主题),ElegantSlide 或者 ElegantBeamer?}
     由于 Beamer 中有一个很优秀的主题 \href{https://github.com/matze/mtheme}{Metropolis}。后续确定不会再出任何主题/模板,请大家根据需要修改已有主题。
 \end{enumerate}
@@ -773,11 +965,22 @@
 
 根据用户的反馈,我们不断修正和完善模板。由于 3.00 之前版本与现在版本差异非常大,在此不列出 3.00 之前的更新内容。
 
+\datechange{2022/08/15}{版本 4.4 正式发布。}
 
+\begin{change}
+  \item \textbf{重要改动}:提供了一个定义定理类环境的命令 \lstinline|\elegantnewtheorem|;
+  \item \textbf{重要改动}:为所有内置定理类环境提供了带星号的版本,带星号的定理类环境不会编号,修复 \href{https://github.com/ElegantLaTeX/ElegantBook/issues/167}{issue: \#167};
+  \item \textbf{重要改动}:在 \lstinline{scheme=chinese} 下将目录中的“第 1 章”修改为“第一章”;
+  \item 将 TeX Gyre Termes 改为 TeX Gyre TermesX,使英文部分字形与 newtx 系列宏包更相近;
+  \item 重写了内置定理类环境的实现方法,修复了一些 bug,由于修改部分较大,如果引入了新的 bug,请及时在 QQ 群或 \href{https://github.com/ElegantLaTeX}{Github} 上进行反馈;
+  \item 删除 Gitee 仓库地址,恢复 GitHub 提交(pull requests);
+  \item 将参考文献命令添加到导言区,使编辑器能够对参考文献自动补全。
+\end{change}
+
 \datechange{2022/04/09}{版本 4.3 正式发布。}
 
 \begin{change}
-  \item 放弃 newtx 系列宏包的设置,改用 TeX Gyre Terms,并设置其他字体;
+  \item 放弃 newtx 系列宏包的设置,改用 TeX Gyre Termes,并设置其他字体;
   \item 修改定理类环境内部字体设置,修复环境内部中文无法加粗问题;
   \item 增加定理类环境的计数器选项 \lstinline{thmcnt},可选 \lstinline{chapter} 和 \lstinline{section};
   \item 增加 \lstinline{bibend} 选项,可选 \lstinline{bibend=biber}(默认)和 \lstinline{bibend=bibtex}。
@@ -926,7 +1129,7 @@
   \item 修改英文字体为 \lstinline{newtx} 系列,另外大型操作符号维持 cm 字体。
   \item 中文字体改用 \lstinline{ctex} 宏包自动设置。
   \item 删除 \lstinline{xeCJK} 字体设置,原因是不同系统字体不方便统一。
-  \item 定理换用 \lstinline{tcolobox} 宏包定义,并基本维持原有的定理样式,优化显示效果,支持跨页;定理类名字重命名,如 etheorem 改为 theorem 等等。
+  \item 定理换用 \lstinline{tcolorbox} 宏包定义,并基本维持原有的定理样式,优化显示效果,支持跨页;定理类名字重命名,如 etheorem 改为 theorem 等等。
   \item 删去自定义的缩进命令 \lstinline{\Eindent}。
   \item 添加参考文献宏包 \lstinline{natbib}。
   \item 颜色名字重命名。
@@ -933,6 +1136,7 @@
 \end{change}
 
 \nocite{*}
+
 \printbibliography[heading=bibintoc, title=\ebibname]
 \appendix
 

Modified: trunk/Master/texmf-dist/doc/latex/elegantbook/elegantbook-en.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/elegantbook/elegantbook-en.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/elegantbook/elegantbook-en.tex	2022-08-14 23:49:15 UTC (rev 64121)
+++ trunk/Master/texmf-dist/doc/latex/elegantbook/elegantbook-en.tex	2022-08-15 20:19:54 UTC (rev 64122)
@@ -5,8 +5,8 @@
 
 \author{Ethan Deng \& Liam Huang}
 \institute{Elegant\LaTeX{} Program}
-\date{April 9, 2022}
-\version{4.3}
+\date{Aug 15, 2022}
+\version{4.4}
 \bioinfo{Bio}{Information}
 
 \extrainfo{Victory won\rq t come to us unless we go to it. }
@@ -17,7 +17,10 @@
 % modify the color in the middle of titlepage
 \definecolor{customcolor}{RGB}{32,178,170}
 \colorlet{coverlinecolor}{customcolor}
+\usepackage{cprotect}
 
+\addbibresource[location=local]{reference.bib} % bib
+
 \begin{document}
 
 \maketitle
@@ -49,7 +52,7 @@
 \section{Update Templates}
 You can use cmd/terminal to update the tlmgr itself and all the packages, the commands are:
 \begin{lstlisting}
-tlmgr update --self 
+tlmgr update --self
 tlmgr update --all
 \end{lstlisting}
 
@@ -58,14 +61,12 @@
 \section{Other Release Versions}
 If you are a \TeX{} Live 2018/2019/2020/2021 user and would like to update, the official solution is to uninstall the previous version. If you want to save the bother of uninstallation and re-installation, please copy \lstinline{elegantbook.cls} to the installation directory of \TeX{} Live 2022 (default: \lstinline|C:\texlive\2022\texmf-dist\tex\latex\elegantbook| ), run \lstinline{texhash} in cmd.
 
-
-
 \chapter{ElegantBook Settings}
+This template is based on the Standard \LaTeX{} book class, so the options of book class work as well (Note that the option of papersize has no effect due to \lstinline{device} option). The default encoding is UTF-8 while \TeX{} Live is recommended. The test environments are Win10/Ubuntu 20.04/macOS + \TeX{} Live 2022/ Mac\TeX{} 2022, either \hologo{pdfLaTeX} or \hologo{XeLaTeX} works fine for \lstinline{lang=en}.
 
-This template is based on the Standard \LaTeX{} book class, so the options of book class work as well (Note that the option of papersize has no effect due to \lstinline{device} option). The default encoding is UTF-8 while \TeX{} Live is recommended. The test environment is Win10/Ubuntu 20.04/macOS + \TeX{} Live 2022/ Mac\TeX{} 2022, either \hologo{pdfLaTeX} or \hologo{XeLaTeX} works fine.
-
 \section{Languages}
 We defined one option named \lstinline{lang} which has two basic values, \lstinline{lang=en} (default) , \lstinline{lang=cn}. Different values will alter the captions of figure/table, abstract name, refname, etc. You can use this option as
+
 \begin{lstlisting}
 \documentclass[en]{elegantbook} 
 \documentclass[lang=en]{elegantbook}
@@ -78,7 +79,7 @@
   \item French translation \lstinline{lang=fr}, provided by \href{https://github.com/abfek66}{abfek66} , please refer to \href{https://github.com/ElegantLaTeX/ElegantBook/issues/85}{Italian translation};
   \item Dutch Translation \lstinline{lang=nl}, provided by \href{https://github.com/inktvis75}{inktvis75} , please refer to \href{https://github.com/ElegantLaTeX/ElegantBook/issues/108}{Dutch Translation};
   \item Hungarian translation \lstinline{lang=hu}, provided by \href{https://github.com/palkotamas}{palkotamas}, please refer to \href{https://github.com/ElegantLaTeX/ElegantBook/issues/111}{Hungarian translation};
-  \item Deutsch translation \lstinline{lang=de}, provided by Lisa, please refer to\href{https://github.com/ElegantLaTeX/ElegantBook/issues/113}{Deutsch translation};
+  \item Deutsch translation \lstinline{lang=de}, provided by Lisa, please refer to \href{https://github.com/ElegantLaTeX/ElegantBook/issues/113}{Deutsch translation};
   \item Spanish translation \lstinline{lang=es}, provided by Gustavo A. Corradi, please refer to \href{https://github.com/ElegantLaTeX/ElegantBook/issues/133}{Spanish translation};
   \item Mongolian translation \lstinline{lang=mn}, provided by \href{https://github.com/Altantsooj}{Altantsooj}, please refer to \href{https://github.com/ElegantLaTeX/ElegantBook/issues/137}{Mongolian translation};
   \item Japanese translation \lstinline{lang=jp}, provided by \href{https://github.com/inusturbo}{inusturbo}, please refer to \href{https://github.com/ElegantLaTeX/ElegantBook/issues/172}{Japanese translation}.
@@ -96,7 +97,7 @@
 \end{lstlisting}
 
 \section{Color Themes}
-This template contains 5 color themes, i.e. \textcolor{structure1}{\lstinline{green}}\footnote{Original default theme.}, \textcolor{structure2}{\lstinline{cyan}}, \textcolor{structure3}{\lstinline{blue}}(default), \textcolor{structure4}{\lstinline{gray}}, \textcolor{structure5}{\lstinline{black}}. You can choose \lstinline{green} with
+This template contains 5 color themes, i.e., \textcolor{structure1}{\lstinline{green}}\footnote{Original default theme.}, \textcolor{structure2}{\lstinline{cyan}}, \textcolor{structure3}{\lstinline{blue}}(default), \textcolor{structure4}{\lstinline{gray}}, \textcolor{structure5}{\lstinline{black}}. You can choose \lstinline{green} with
 \begin{lstlisting}
 \documentclass[green]{elegantbook} %or
 \documentclass[color=green]{elegantbook}
@@ -210,7 +211,7 @@
 \item \textit{Theorem Environments}, including title and content, numbering corresponding to chapter. Three types depending on the format:
    \begin{itemize}
       \item \textcolor{main}{\textbf{definition}} environment, the color is  \textcolor{main}{main};
-      \item \textcolor{second}{\textbf{theorem, lemma, corollary}} environment, the color is \textcolor{second} {second};
+      \item \textcolor{second}{\textbf{theorem, lemma, corollary, axiom, postulate}} environment, the color is \textcolor{second} {second};
       \item \textcolor{third}{\textbf{proposition}} environment, the color is \textcolor{third}{third}.
    \end{itemize}
 \item \textit{Example Environment}, including \textbf{example, exercise, problem} environment, auto numbering according to chapter.
@@ -218,49 +219,91 @@
 \item \textit{Conclusion Environment}, including \textbf{conclusion, assumption, property, remark and solution}\footnote{We also define an option \lstinline{result}, which can hide the \lstinline{solution} and \lstinline{proof} environments. You can switch between \lstinline{result=answer} and \lstinline{result=noanswer}.} environments, all of which begin with boldfaced words, with format consistent with normal paragraphs.
 \end{itemize}
 
+All of theorem environments have star versions: \textcolor{main}{\textbf{definition*}}, \textcolor{second}{\textbf{theorem*}}, \textcolor{second}{\textbf{lemma*}}, \textcolor{second}{\textbf{corollary*}}, \textcolor{second}{\textbf{axiom*}}, \textcolor{second}{\textbf{postulate*}}, \textcolor{third}{\textbf{proposition*}}. Environments with an asterisk are not numbered.
+
 \subsection{Theorem Class Environments}
-Since the template uses the \lstinline{tcolorbox} package to customize the theorem class environments, it is slightly different from the normal theorem environments. The usage is as follows:
+
+\subsubsection{\lstinline{fancy} mode}
+
+In \lstinline{fancy} mode, the template uses the \lstinline{tcolorbox} package to customize the theorem class environments, it is slightly different from the normal theorem environments. The usage is as follows:
 \begin{lstlisting}
-\begin{theorem}{theorem name}{label text}
-The content of theorem.
-\end{theorem}
-\end{lstlisting}
+  % name + label
+  \begin{theorem}{theorem name}{label}
+    The content of a theorem with name and label. 
+    Use \ref{thm:label} to refer this theorem.
+  \end{theorem}
+  % no name + label
+  \begin{theorem}{}{label no name}
+    The content of a theorem without name.
+    Use \ref{thm:label no name} to refer this theorem.
+  \end{theorem}
+  % name + no label
+  \begin{theorem}{theorem name}{}
+    The content of a theorem without label.
+    Can't refer this theorem.
+    The last {} can be removed.
+  \end{theorem}
+  % no name + no label
+  \begin{theorem}{}{}
+    The content of a theorem without name and label.
+    Can't refer this theorem.
+    Both of {} can be removed.
+  \end{theorem}
+  \end{lstlisting}
 
-The first parameter \lstinline{<theorem name>} represents the name of the theorem, and the second parameter \lstinline{label} represents the label used in cross-reference with \verb|ref{thm:label}|. Note that cross-references must be prefixed with \lstinline{thm:}. 
+The first parameter \lstinline{theorem name} represents the name of the theorem. If the current theorem has no name, please use \lstinline|{}|\cprotect\footnote{Unless this theorem has neither no label, you should not omit this \verb|{}|.}, and the second parameter \lstinline{label} represents the label used in cross-reference with \verb|\ref{thm:label}|. Note that cross-references must be prefixed with \lstinline{thm:}. 
 
+Other theorem class environments with the same usage includes:
+
+\begin{table}[htbp]
+\centering
+\caption{Theorem Class Environments}
+  \begin{tabular}{llll}
+  \toprule
+  Environment & Label text & Prefix & Cross-reference \\
+  \midrule
+  definition & label & def   & \lstinline|\ref{def:label}| \\
+  theorem & label & thm   & \lstinline|\ref{thm:label}| \\
+  postulate & label & pos & \lstinline|\ref{pos:label}| \\
+  axiom & label & axi & \lstinline|\ref{axi:label}|\\
+  lemma & label & lem   & \lstinline|\ref{lem:label}| \\
+  corrlary & label & cor   & \lstinline|\ref{cor:label}| \\
+  proposition & label & pro   & \lstinline|\ref{pro:label}| \\
+  \bottomrule
+  \end{tabular}%
+\label{tab:theorem-class}%
+\end{table}%
+
 From version 4.1, you can write your theorem environments as follows:
 \begin{lstlisting}
-\begin{theorem}[theorem name]\label{thm:label text}
+\begin{theorem}[theorem name]\label{thm:theorem-label}
   The content of theorem.
 \end{theorem}
 % or
-\begin{theorem}
+\begin{theorem}\label{thm:theorem-without-name}
   The content of theorem.
 \end{theorem}
 \end{lstlisting}
 
-Other theorem class environments with the same usage includes:
+In this case, cross-reference don't have to be prefixed, i.e. the parameter of \lstinline{\ref} is the same as that of \lstinline{\label}.
+ 
+\subsubsection{\lstinline{simple} mode}
 
-\begin{table}[htbp]
-  \centering
-  \caption{Theorem Class Environments}
-    \begin{tabular}{llll}
-    \toprule
-    Environment & Label text & Prefix & Cross-reference \\
-    \midrule
-    definition & label & def   & \lstinline|\ref{def:label}| \\
-    theorem & label & thm   & \lstinline|\ref{thm:label}| \\
-    lemma & label & lem   & \lstinline|\ref{lem:label}| \\
-    corrlary & label & cor   & \lstinline|\ref{cor:label}| \\
-    proposition & label & pro   & \lstinline|\ref{pro:label}| \\
-    \bottomrule
-    \end{tabular}%
-  \label{tab:theorem-class}%
- \end{table}%
- 
+In \lstinline{simple} mode, the template uses the \lstinline{amsthm} package to customize the theorem class environments. The usage is as follows:
+
+\begin{lstlisting}
+\begin{theorem}[theorem name]\label{thm:theorem-label}
+  The content of theorem.
+\end{theorem}
+% or 
+\begin{theorem}\label{thm:theorem-without-name}
+  The content of theorem without name.
+\end{theorem}
+\end{lstlisting}
+
 \subsection{Counter for Theorem Environments}
 
-You can use \lstinline{thmcnt} option to control the theorem counter/number display style for the theorem environments, the acceptable options are \lstinline{chapter} (default) and \lstinline{section}. 
+You can use \lstinline{thmcnt} option to control the theorem counter/number display style for the theorem environments, the acceptable options are \lstinline{chapter} (default) and \lstinline{section}:
 
 \begin{lstlisting}
 \documentclass[section]{elegantbook} % turn the Theorem 4.1 to Theorem 4.1.1 
@@ -268,7 +311,6 @@
 \end{lstlisting}
 
 
-
 \subsection{Other Customized Environments}
 The other three math environments can be called directly since there are no additional option for them, e.g. \lstinline{example}:
 \begin{lstlisting}
@@ -339,13 +381,13 @@
 
 When you are using \lstinline{newtx}, please pay attention to the hyphens. For instance,
 \begin{equation}
-\int_{R^q} f(x,y) dy.\emph{of\kern0pt f}
+\int_{R^q} f(x,y) dy.\emph{of\kern0pt f} \sin x
 \end{equation}
 
 The corresponding code is: 
 \begin{lstlisting}
 \begin{equation}
-  \int_{R^q} f(x,y) dy.\emph{of \kern0pt f}
+  \int_{R^q} f(x,y) dy.\emph{of \kern0pt f} \sin x
 \end{equation}
 \end{lstlisting}
 
@@ -375,7 +417,20 @@
 
 If you want to use biblatex, you must create a file named \lstinline{reference.bib}, add bib items (from Google Scholar, Mendeley, EndNote, and etc.) to \lstinline{reference.bib} file, then cite the bibkey in the \lstinline{tex} file. The biber will automatically generate the bibliography for the reference you cited.
 
+In order to get the editors' auto-completion working, you need to add following code in your preamble:
 
+\begin{lstlisting}
+  \addbibresource[location=local]{reference.bib}
+\end{lstlisting}
+
+Then include the print commands where you want to print the bibliography:
+\begin{lstlisting}
+  \printbibliography[heading=bibintoc, title=\ebibname]
+\end{lstlisting}
+
+
+
+
 To change the bibliography style, this version introduces two options: \lstinline{citestyle} and \lstinline{bibstyle}, please refer to \href{https://ctan.org/pkg/biblatex}{CTAN:biblatex} for more detail about these options. You can change your bibliography style as
 
 \begin{lstlisting}
@@ -532,19 +587,27 @@
 \lipsum[2]
 
 \begin{theorem}[Lagrange's Theorem] \label{thm:lg}
-Let $G$ be a finite group, and let $H$ be a subgroup of $G$.  Then the order of $H$ divides the order of $G$.
+Let $G$ be a finite group, and let $H$ be a subgroup of $G$. Then the order of $H$ divides the order of $G$.
 \end{theorem}
 
-\ref{thm:lg}
+As theorem \ref{thm:lg} refered.
+
 \lipsum[3]
 
-   
+
+\begin{theorem}{theorem name}{label text}
+  The content of theorem.
+\end{theorem}
+
+we can refer this theorem as \ref{thm:label text}.
+
+
 \begin{proposition}[Size of Left Coset]
 Let $H$ be a finite subgroup of a group $G$.  Then each left coset of $H$ in $G$ has the same number of elements as $H$.
 \end{proposition}
 
 \begin{proof}
-Let $z$ be some element of $xH \cap yH$.  Then $z = xa$ for some $a \in H$, and $z = yb$ for some $b \in H$. If $h$ is any element of $H$ then $ah \in H$ and $a^{-1}h \in H$, since $H$ is a subgroup of $G$. But $zh = x(ah)$ and $xh = z(a^{-1}h)$ for all $h \in H$. Therefore $zH \subset xH$ and $xH \subset zH$, and thus $xH = zH$.  Similarly $yH = zH$, and thus $xH = yH$, as required. 
+  Let $z$ be some element of $xH \cap yH$. Then $z = xa$ for some $a \in H$, and $z = yb$ for some $b \in H$. If $h$ is any element of $H$ then $ah \in H$ and $a^{-1}h \in H$, since $H$ is a subgroup of $G$. But $zh = x(ah)$ and $xh = z(a^{-1}h)$ for all $h \in H$. Therefore $zH \subset xH$ and $xH \subset zH$, and thus $xH = zH$.  Similarly $yH = zH$, and thus $xH = yH$, as required. 
 \end{proof}
 
 \begin{figure}[htbp]
@@ -629,10 +692,24 @@
 We revised our templates now and then. This section shows the version story of ElegantBook.
 
 
+\datechange{2022/08/15}{release of v4.4.}
+
+\begin{change}
+  \item Add custome theorem definition command \lstinline{\elegantnewtheorem};
+  \item Fix star environment(*) for inner environments (\href{https://github.com/ElegantLaTeX/ElegantBook/issues/167}{issue \#167});
+  \item Change English fonts from TeX Gyre Termes to TeX Gyre TermesX;
+  \item Re-construct some theorem environments to enchance compatibility;
+  \item Remove Gitee repo due the privacy policy;
+  \item Re-open Github pull requests.
+\end{change}
+
+
+
+
 \datechange{2022/04/09}{release of v4.3.}
 
 \begin{change}
-  \item Remove part newtx settings, set TeX Gyre Terms/Heros fonts under \hologo{XeLaTeX}.
+  \item Remove part newtx settings, set TeX Gyre Termes/Heros fonts under \hologo{XeLaTeX}.
   \item Fix Chinese fonts in the theorem environments.
   \item Add theorem counter option, \lstinline{thmcnt=section}.
   \item Add bib option \lstinline{bibend}, which can take value of biber and bibtex.
@@ -697,13 +774,13 @@
   \item Revise \lstinline{problemset}.
 \end{change}
 
+
 \nocite{en2,en3}
 
 \printbibliography[heading=bibintoc, title=\ebibname]
-
 \appendix
-% \renewcommand\chaptername{\eappendix \thechapter}
 
+
 \chapter{Mathematical Tools}
 
 This appendix covers some of the basic mathematics used in econometrics. We briefly discuss the properties of summation operators, study the properties of linear and some nonlinear equations, and review the ratios and percentages. We also introduce some special functions that are common in econometrics applications, including quadratic functions and natural logarithms. The first four sections require only basic algebraic techniques. The fifth section briefly reviews differential Calculus Although Calculus is not necessary to understand much of this book, it is used in some of the end-of-chapter appendices and in some of the more advanced topics in part 3.

Added: trunk/Master/texmf-dist/doc/latex/elegantbook/image/donate.jpg
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/elegantbook/image/donate.jpg
===================================================================
--- trunk/Master/texmf-dist/doc/latex/elegantbook/image/donate.jpg	2022-08-14 23:49:15 UTC (rev 64121)
+++ trunk/Master/texmf-dist/doc/latex/elegantbook/image/donate.jpg	2022-08-15 20:19:54 UTC (rev 64122)

Property changes on: trunk/Master/texmf-dist/doc/latex/elegantbook/image/donate.jpg
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/elegantbook/elegantbook.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/elegantbook/elegantbook.cls	2022-08-14 23:49:15 UTC (rev 64121)
+++ trunk/Master/texmf-dist/tex/latex/elegantbook/elegantbook.cls	2022-08-15 20:19:54 UTC (rev 64122)
@@ -123,6 +123,10 @@
   pdfborder={0 0 0},
   linktocpage
 }
+\newif\ifELEGANT at Hy@later
+  \@ifpackagelater{hyperref}{2022/05/16}
+    {\ELEGANT at Hy@latertrue}
+    {\ELEGANT at Hy@laterfalse}
 
 %% device settings
 \RequirePackage{geometry}
@@ -165,13 +169,16 @@
 \PassOptionsToPackage{quiet}{fontspec}
 \RequirePackage{iftex}
 
-\ifXeTeX
+\ifpdftex
+  \RequirePackage{newtxtext}
+  \RequirePackage[scaled=.90]{helvet}
+\else
   \RequirePackage[no-math]{fontspec}
-  \setmainfont{texgyretermes}[
-    UprightFont = *-regular ,
-    BoldFont = *-bold ,
-    ItalicFont = *-italic ,
-    BoldItalicFont = *-bolditalic ,
+  \setmainfont{TeXGyreTermesX}[
+    UprightFont = *-Regular ,
+    BoldFont = *-Bold ,
+    ItalicFont = *-Italic ,
+    BoldItalicFont = *-BoldItalic ,
     Extension = .otf ,
     Scale = 1.0]
     
@@ -182,14 +189,11 @@
     BoldItalicFont = *-bolditalic ,
     Extension = .otf ,
     Scale = 0.9]
-\else
-  \RequirePackage{newtxtext}
-  \RequirePackage[scaled=.90]{helvet}
 \fi
 
 \ifdefstring{\ELEGANT at lang}{cn}{
   \ifdefstring{\ELEGANT at chinesefont}{founder}{
-    \RequirePackage[UTF8,scheme=plain,fontset=none]{ctex}
+    \RequirePackage[UTF8, scheme=plain, fontset=none]{ctex}
     \setCJKmainfont[BoldFont={FZHei-B01},ItalicFont={FZKai-Z03}]{FZShuSong-Z01}
     \setCJKsansfont[BoldFont={FZHei-B01}]{FZKai-Z03}
     \setCJKmonofont[BoldFont={FZHei-B01}]{FZFangSong-Z02}
@@ -203,10 +207,14 @@
     \newcommand*{\fangsong}{\CJKfamily{zhfs}}}{\relax}
   
   \ifdefstring{\ELEGANT at chinesefont}{nofont}{
-    \RequirePackage[UTF8,scheme=plain,fontset=none]{ctex}}{\relax}
+    \RequirePackage[UTF8,scheme=plain,fontset=none]{ctex}
+    \xeCJKsetup{AutoFakeBold=true}
+    }{\relax}
 
   \ifdefstring{\ELEGANT at chinesefont}{ctexfont}{
-    \RequirePackage[UTF8,scheme=plain]{ctex}}{\relax}
+    \RequirePackage[UTF8,scheme=plain]{ctex}
+    \xeCJKsetup{AutoFakeBold=true}
+    }{\relax}
   
   \AfterEndPreamble{
     \setlength\parindent{2\ccwd}}
@@ -238,7 +246,19 @@
 
 \RequirePackage{anyfontsize}
 \ifdefstring{\ELEGANT at math}{newtx}{
+  \let\oldencodingdefault\encodingdefault
+  \let\oldrmdefault\rmdefault
+  \let\oldsfdefault\sfdefault
+  \let\oldttdefault\ttdefault
+  \def\encodingdefault{T1}
+  \renewcommand{\rmdefault}{ntxtlf}
+  \renewcommand{\sfdefault}{qhv}
+  \renewcommand{\ttdefault}{ntxtt}
   \RequirePackage{newtxmath}
+  \let\encodingdefault\oldencodingdefault
+  \let\rmdefault\oldrmdefault
+  \let\sfdefault\oldsfdefault
+  \let\ttdefault\oldttdefault
   \let\Bbbk\relax
   \RequirePackage{esint}
   %%% use yhmath pkg, uncomment following code
@@ -387,7 +407,6 @@
   backend=\ELEGANT at bibend,
   citestyle=\ELEGANT at citestyle,
   bibstyle=\ELEGANT at bibstyle]{biblatex}
-\defbibheading{elegantbook}[\ebibname]{#1}
 
 \ifdefstring{\ELEGANT at lang}{cn}{
   \renewcommand{\baselinestretch}{1.3}
@@ -833,8 +852,22 @@
 \ifdefstring{\ELEGANT at lang}{cn}{
   \ifdefstring{\ELEGANT at scheme}{chinese}{
     \newcommand{\xchaptertitle}{第\zhnumber{\arabic{chapter}}章} }{
-    \newcommand{\xchaptertitle}{第 \thechapter{} 章}} }{
-  \newcommand{\xchaptertitle}{\chaptername~\thechapter~}}
+    \newcommand{\xchaptertitle}{第 \thechapter{} 章}}
+% Hyperref 2022/05/16's changelog.txt said
+% * nameref is loaded always and earlier (issue#235) 
+    \AtBeginDocument{
+      \ifELEGANT at Hy@later
+        \patchcmd{\NR at chapter}%
+          {\numberline{\thechapter}}{\numberline{\xchaptertitle}}%
+          {}{\fail}
+      \else    
+        \patchcmd{\Hy at org@chapter}%
+          {\numberline{\thechapter}}{\numberline{\xchaptertitle}}%
+          {}{\fail}
+      \fi
+    }
+  }
+  {\newcommand{\xchaptertitle}{\chaptername~\thechapter~}}
 
 \setcounter{secnumdepth}{5}
 \titleformat{\chapter}[\style]{\bfseries}{
@@ -855,7 +888,9 @@
 
 
 
-%%define the note and proof environment
+%%define the 
+%%definition theorem postulate axiom corollary lemma proposition 
+%%and proof environment
 \RequirePackage{pifont,manfnt,bbding}
 \RequirePackage[many]{tcolorbox}
 % \newlength{\normalparindent}
@@ -899,7 +934,7 @@
       overlay unbroken and last={
         \node[anchor=south east, outer sep=0pt] at (\linewidth-width,0) {
           \textcolor{second}{$\heartsuit$}};}},
-    propstyle/.style={
+    prostyle/.style={
       common,
       colframe=third,  
       colback=third!5,
@@ -906,42 +941,71 @@
       colbacktitle=third, 
       overlay unbroken and last={
         \node[anchor=south east, outer sep=0pt] at (\linewidth-width,0) {
-          \textcolor{third}{$\spadesuit$}};}},}
-  % \newtcbtheorem[auto counter,number within=chapter]{definition}{\definitionname}{defstyle}{def}
-  \DeclareTColorBox[auto counter,number within=\ELEGANT at thmcnt]{definition}{ o t\label g }{
-    common,defstyle,
-    IfValueTF={#1}{title={\definitionname~\thetcbcounter\ (#1)}}{title=\definitionname~\thetcbcounter},
-    IfBooleanTF={#2}{label=#3}{}}
-  % \newtcbtheorem[auto counter,number within=chapter]{theorem}{\theoremname}{thmstyle}{thm}
-  \DeclareTColorBox[auto counter,number within=\ELEGANT at thmcnt]{theorem}{ o t\label g }{
-    common,thmstyle,
-    IfValueTF={#1}{title={\theoremname~\thetcbcounter\ (#1)}}{title=\theoremname~\thetcbcounter},
-    IfBooleanTF={#2}{label=#3}{}}
-  % \newtcbtheorem[auto counter,number within=chapter]{postulate}{\postulatename}{thmstyle}{pos}
-  \DeclareTColorBox[auto counter,number within=\ELEGANT at thmcnt]{postulate}{ o t\label g }{
-    common,thmstyle,
-    IfValueTF={#1}{title={\postulatename~\thetcbcounter\ (#1)}}{title=\postulatename~\thetcbcounter},
-    IfBooleanTF={#2}{label=#3}{}}
-  % \newtcbtheorem[auto counter,number within=chapter]{axiom}{\axiomname}{thmstyle}{axi}
-  \DeclareTColorBox[auto counter,number within=\ELEGANT at thmcnt]{axiom}{ o t\label g }{
-    common,thmstyle,
-    IfValueTF={#1}{title={\axiomname~\thetcbcounter\ (#1)}}{title=\axiomname~\thetcbcounter},
-    IfBooleanTF={#2}{label=#3}{}}
-  % \newtcbtheorem[auto counter,number within=chapter]{corollary}{\corollaryname}{thmstyle}{cor}
-  \DeclareTColorBox[auto counter,number within=\ELEGANT at thmcnt]{corollary}{ o t\label g }{
-    common,thmstyle,
-    IfValueTF={#1}{title={\corollaryname~\thetcbcounter\ (#1)}}{title=\corollaryname~\thetcbcounter},
-    IfBooleanTF={#2}{label=#3}{}}
-  % \newtcbtheorem[auto counter,number within=chapter]{lemma}{\lemmaname}{thmstyle}{lem}
-  \DeclareTColorBox[auto counter,number within=\ELEGANT at thmcnt]{lemma}{ o t\label g }{
-    common,thmstyle,
-    IfValueTF={#1}{title={\lemmaname~\thetcbcounter\ (#1)}}{title=\lemmaname~\thetcbcounter},
-    IfBooleanTF={#2}{label=#3}{}}
-  % \newtcbtheorem[auto counter,number within=chapter]{proposition}{\propositionname}{propstyle}{pro}
-  \DeclareTColorBox[auto counter,number within=\ELEGANT at thmcnt]{proposition}{ o t\label g }{
-    common,propstyle,
-    IfValueTF={#1}{title={\propositionname~\thetcbcounter\ (#1)}}{title=\propositionname~\thetcbcounter},
-    IfBooleanTF={#2}{label=#3}{}}}{\relax}
+          \textcolor{third}{$\spadesuit$}};}},
+    ELEGANT at title/.code n args={2}
+      {
+        \ifblank{#2}
+          {\tcbset{title={\csname #1name\endcsname~\thetcbcounter}}}
+          {\tcbset{title={\csname #1name\endcsname~\thetcbcounter\ (#2)}}}
+      },
+    ELEGANT at label/.code n args={2}
+      {
+        \ifblank{#2}
+          {}{\tcbset{label={#1:#2}}}
+      }
+    }
+  
+  % define an internal control sequence \ELEGANT at newtheorem for fancy mode's newtheorem
+  % #1 is the environment name, #2 is the prefix of label, #3 is the style
+  % style: thmstyle, defstyle, prostyle
+  % e.g. \ELEGANT at newtheorem{theorem}{thm}{thmstyle}
+  % will define two environments: numbered ``theorem'' and no-numbered ``theorem*''
+  % WARNING FOR MULTILINGUAL: this cs will automatically find \theoremname's definition,
+  % WARNING FOR MULTILINGUAL: it should be defined in language settings.
+  \newcommand{\ELEGANT at newtheorem}[3]{
+    \ifcsundef{#1name}{%
+      \ClassError{elegantbook}{%
+        \ #1name undefined, \MessageBreak
+        Please check in language setting
+      }{}
+    }{\relax}
+    \DeclareTColorBox[auto counter,number within=\ELEGANT at thmcnt]{#1}{ g o t\label g }{
+        common,#3,
+        IfValueTF={##1}
+          {ELEGANT at title={#1}{##1}}
+          {
+            IfValueTF={##2}
+            {ELEGANT at title={#1}{##2}}
+            {ELEGANT at title={#1}{}}
+          },
+        IfValueT={##4}
+          {
+            IfBooleanTF={##3}
+              {label={##4}}
+              {ELEGANT at label={#2}{##4}}
+          }
+      }
+    \DeclareTColorBox{#1*}{ g o }{
+        common,#3,
+        IfValueTF={##1}
+          {ELEGANT at title={#1}{##1}}
+          {
+            IfValueTF={##2}
+            {ELEGANT at title={#1}{##2}}
+            {ELEGANT at title={#1}{}}
+          },
+      }
+  }
+  % define several environment 
+  % we define headers like \definitionname before
+  \ELEGANT at newtheorem{definition}{def}{defstyle}
+  \ELEGANT at newtheorem{theorem}{thm}{thmstyle}
+  \ELEGANT at newtheorem{postulate}{pos}{thmstyle}
+  \ELEGANT at newtheorem{axiom}{axi}{thmstyle}
+  \ELEGANT at newtheorem{corollary}{cor}{thmstyle}
+  \ELEGANT at newtheorem{lemma}{lem}{thmstyle}
+  \ELEGANT at newtheorem{proposition}{pro}{prostyle}
+}{\relax}
 
 
 \ifdefstring{\ELEGANT at mode}{simple}{
@@ -951,7 +1015,7 @@
   % \let\proofname\relax
   \let\endproof\relax
 
-  % declare a new theorem style
+  % declare new theorem styles: defstyle, thmstyle, prostyle
   \newtheoremstyle{defstyle}{3pt}{3pt}{\citshape}{-3pt}{
     \bfseries\color{main}}{}{0.5em}{\thmname{#1} \thmnumber{#2} \thmnote{(#3)}}
   \newtheoremstyle{thmstyle}{3pt}{3pt}{\citshape}{-3pt}{
@@ -959,21 +1023,85 @@
   \newtheoremstyle{prostyle}{3pt}{3pt}{\citshape}{-3pt}{
     \bfseries\color{third}}{}{0.5em}{\thmname{#1} \thmnumber{#2} \thmnote{(#3)}}
 
+  % define an internal control sequence \ELEGANT at newtheorem for simple mode's newtheorem
+  % #1 is the environment name, #2 is the style
+  % style: thmstyle, defstyle, prostyle
+  % e.g. \ELEGANT at newtheorem{theorem}{thmstyle}
+  % will define two environments: numbered ``theorem'' and no-numbered ``theorem*''
+  % WARNING FOR MULTILINGUAL: this cs will automatically find \theoremname's definition,
+  % WARNING FOR MULTILINGUAL: it should be defined in language settings.
+  \newcommand{\ELEGANT at newtheorem}[2]{
+    \theoremstyle{#2}
+    \newtheorem{#1}{\csname #1name\endcsname}[\ELEGANT at thmcnt]
+    \newtheorem*{#1*}{\csname #1name\endcsname}
+  }
 
-  \theoremstyle{defstyle} % definition style
-  \newtheorem{definition}{\definitionname}[\ELEGANT at thmcnt]
+  % define several environment 
+  % we define headers like \definitionname before
+  \ELEGANT at newtheorem{definition}{defstyle}
+  \ELEGANT at newtheorem{theorem}{thmstyle}
+  \ELEGANT at newtheorem{postulate}{thmstyle}
+  \ELEGANT at newtheorem{axiom}{thmstyle}
+  \ELEGANT at newtheorem{corollary}{thmstyle}
+  \ELEGANT at newtheorem{lemma}{thmstyle}
+  \ELEGANT at newtheorem{proposition}{prostyle}
+}{\relax}
 
-  \theoremstyle{thmstyle} %theorem style
-  \newtheorem{theorem}{\theoremname}[\ELEGANT at thmcnt]
-  \newtheorem{lemma}{\lemmaname}[\ELEGANT at thmcnt]
-  \newtheorem{corollary}{\corollaryname}[\ELEGANT at thmcnt]
-  \newtheorem{postulate}{\postulatename}[\ELEGANT at thmcnt]
-  \newtheorem{axiom}{\axiomname}[\ELEGANT at thmcnt]
+% define an user control sequence \elegantnewtheorem
+% #1 is the evironment, #2 is the theorem header
+% #3 is the style       #4 is the prefix for fancy mode
+% style: thmstyle, defstyle, prostyle
+% if #4 is given in simple mode, an error will be raised
+% if #4 isn't given in fancy mode, the prefix will be set equal to #1,
+%   and a warning will be raised
+\newcommand{\ELEGANT at newtheorem@warning}{}
+\newcommand{\ELEGANT at newtheorem@error}{}
+\NewDocumentCommand\elegantnewtheorem{ m m m g }
+  {
+    \renewcommand{\ELEGANT at newtheorem@warning}{
+      \ClassWarning{elegantbook}{%
+        Because you didn't provide a prefix. \MessageBreak
+        We use #1 as the default prefix. \MessageBreak
+        You have to use \MessageBreak
+        \ref{#1:label} to refer a \MessageBreak
+        \begin{#1}{name}{label} environment. \MessageBreak
+      }
+    }
+    \renewcommand{\ELEGANT at newtheorem@error}{
+      \ClassError{elegantbook}{%
+        You can't set a prefix in mode ``simple''.\MessageBreak
+        Just use \MessageBreak
+        \elegantnewtheorem{#1}{#2}{#3}
+      }{%
+        We are using ``amsthm'' package to \MessageBreak
+        generate theorem-like theorem. \MessageBreak
+        The 4th parameter ``prefix'' isn't allowed.
+      }
+    }
+    \expandafter\def\csname #1name\endcsname{#2}
+    \ifdefstring{\ELEGANT at mode}{simple}{%
+        \IfValueTF{#4}
+          {\ELEGANT at newtheorem@error}
+          {\ELEGANT at newtheorem{#1}{#3}}
+      }{\relax}
+    \ifdefstring{\ELEGANT at mode}{fancy}{%
+        \IfValueTF{#4}
+          {
+            \def\ELEGANT at temp@prefix{#4}
+            \ifdefempty{\ELEGANT at temp@prefix}
+              {
+                \ELEGANT at newtheorem{#1}{#1}{#3}
+                \ELEGANT at newtheorem@warning
+              }
+              {\ELEGANT at newtheorem{#1}{#4}{#3}}
+          }
+          {
+            \ELEGANT at newtheorem{#1}{#1}{#3}
+            \ELEGANT at newtheorem@warning
+          }
+      }{\relax}
+  }
 
-  \theoremstyle{prostyle} % proposition style
-  \newtheorem{proposition}{\propositionname}[\ELEGANT at thmcnt]
-}{\relax}
-
 % main(green-def): example exercise problem solution
 % second(orange-thm): proof note remark  
 % third(blue-prop):  assumptions property conclusion custom
@@ -1045,6 +1173,7 @@
   },
 }
 
+
 \newenvironment{introduction}[1][\introductionname]{
   \begin{tcolorbox}[introductionsty,title={#1}]
     \begin{multicols}{2}
@@ -1194,7 +1323,7 @@
   commentstyle=\color{gray},
   emph={elegantpaper,fontenc,fontspec,xeCJK,citestyle,FiraMono,xunicode,figure,fig,image,img,table,itemize,enumerate,ctex,microtype,description,times,booktabs,tabular,PDFLaTeX,XeLaTeX,type1cm,BibTeX,device,color,mode,lang,amsthm,tcolorbox,titlestyle,cite,ctex,listings,base,math,scheme,toc,esint,chinesefont,amsmath,bibstyle,natbib,pgfornament},
   emphstyle={\color{frenchplum}},
-  morekeywords={DeclareSymbolFont,SetSymbolFont,toprule,midrule,bottomrule,institute,version,includegraphics,setmainfont,setsansfont,setmonofont ,setCJKmainfont,setCJKsansfont,setCJKmonofont,RequirePackage,figref,tabref,email,maketitle,keywords,definecolor,extrainfo,logo,cover,subtitle,appendix,chapter,hypersetup,mainmatter,frontmatter,tableofcontents,elegantpar,heiti,kaishu,lstset,pagecolor,zhnumber,marginpar,part,equote,marginnote,bioinfo,datechange,listofchange,lvert,lastpage,songti,heiti,fangsong,setCJKfamilyfont,textbf},
+  morekeywords={DeclareSymbolFont,SetSymbolFont,toprule,midrule,bottomrule,institute,version,includegraphics,setmainfont,setsansfont,setmonofont ,setCJKmainfont,setCJKsansfont,setCJKmonofont,RequirePackage,figref,tabref,email,maketitle,keywords,definecolor,extrainfo,logo,cover,subtitle,appendix,chapter,section,hypersetup,mainmatter,frontmatter,tableofcontents,elegantpar,heiti,kaishu,lstset,pagecolor,zhnumber,marginpar,part,equote,marginnote,bioinfo,datechange,listofchange,lvert,lastpage,songti,heiti,fangsong,setCJKfamilyfont,textbf,elegantnewtheorem,thmcnt,colorlet},
   frame=single,
   tabsize=2,
   rulecolor=\color{structurecolor},
@@ -1233,8 +1362,8 @@
   \begin{enumerate}[label=\small\protect\circled{\arabic*}]}{
   \end{enumerate}}
 
-\addbibresource[location=local]{reference.bib}
 
+
 \renewcommand\tableofcontents{%
   \hypersetup{linktoc=all, linkcolor=black}
     \if at twocolumn
@@ -1251,24 +1380,35 @@
         \@starttoc{toc}
       \end{multicols}}{
       \@starttoc{toc}}
-    \if at restonecol\twocolumn\fi}
+    \if at restonecol\twocolumn\fi
+    \hypersetup{linkcolor=winered}}
 
 
 \renewcommand*{\cleardoublepage}{\clearpage\if at twoside \ifodd\c at page\else
 \hbox{}%
 \thispagestyle{empty}%
-\newpage%
+beforechap\newpage%
 \if at twocolumn\hbox{}\newpage\fi\fi\fi}
 
 
 % https://tex.stackexchange.com/questions/56839/chaptername-is-used-even-for-appendix-chapters-in-toc
-\usepackage{calc}
-\usepackage[titles]{tocloft}
+\RequirePackage{calc}
+\RequirePackage[titles]{tocloft}
 \ifdefstring{\ELEGANT at lang}{cn}{
-  \renewcommand{\cftchappresnum}{\beforechap\space}
-  \renewcommand{\cftchapaftersnum}{\space\afterchap}
+  % \renewcommand{\cftchappresnum}{\beforechap\space}
+  % \renewcommand{\cftchapaftersnum}{\space\afterchap}
   \setlength{\cftchapnumwidth}{\widthof{\textbf{附录~999}}}
   \g at addto@macro\appendix{%
+    % recover \thechapter in the \NR at chapter's \numberline
+    \ifELEGANT at Hy@later
+      \patchcmd{\NR at chapter}%
+        {\numberline{\xchaptertitle}}{\numberline{\thechapter}}%
+        {}{\fail}      
+    \else
+      \patchcmd{\Hy at org@chapter}%
+        {\numberline{\xchaptertitle}}{\numberline{\thechapter}}%
+        {}{\fail}  
+    \fi
     \addtocontents{toc}{%
       \protect\renewcommand{\protect\cftchappresnum}{\appendixname\space}%
       \protect\renewcommand{\protect\cftchapaftersnum}{}%



More information about the tex-live-commits mailing list.