texlive[57389] Master/texmf-dist: easybook (11jan21)

commits+karl at tug.org commits+karl at tug.org
Mon Jan 11 23:43:51 CET 2021


Revision: 57389
          http://tug.org/svn/texlive?view=revision&revision=57389
Author:   karl
Date:     2021-01-11 23:43:51 +0100 (Mon, 11 Jan 2021)
Log Message:
-----------
easybook (11jan21)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/easybook/README.md
    trunk/Master/texmf-dist/doc/latex/easybook/chapter2.tex
    trunk/Master/texmf-dist/doc/latex/easybook/chapter3.tex
    trunk/Master/texmf-dist/doc/latex/easybook/easybook-demo.pdf
    trunk/Master/texmf-dist/doc/latex/easybook/easybook-demo.tex
    trunk/Master/texmf-dist/doc/latex/easybook/easybook.pdf
    trunk/Master/texmf-dist/doc/latex/easybook/easybook.tex
    trunk/Master/texmf-dist/doc/latex/easybook/preface.tex
    trunk/Master/texmf-dist/tex/latex/easybook/easybook.cls

Modified: trunk/Master/texmf-dist/doc/latex/easybook/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/easybook/README.md	2021-01-11 22:43:35 UTC (rev 57388)
+++ trunk/Master/texmf-dist/doc/latex/easybook/README.md	2021-01-11 22:43:51 UTC (rev 57389)
@@ -17,8 +17,8 @@
 ## Reference documents
 
 - [CTeX macro collection manual](https://ctan.org/pkg/ctex)
+- [Fudan University graduation thesis template](https://github.com/stone-zeng/fduthesis)
 - [Xiamen University graduation thesis template](https://github.com/CamuseCao/XMU-thesis)
-- [Fudan University graduation thesis template](https://github.com/stone-zeng/fduthesis)
 - [Wuhan University graduation thesis template](https://github.com/mtobeiyf/whu-thesis)
 - [ElegantBook book template](https://ctan.org/pkg/elegantbook)
 
@@ -32,7 +32,7 @@
 
 # easybook 书籍文档类
 
-easybook 是基于 ctexbook 书籍文档类的极简风格模板。它主要适用于中文书籍或笔记的排版,甚至可以稍作修改成为论文模板。已加载一些常用的宏包以实现一般的排版要求。尽管已尽可能多地考虑了一些细节,但仍然存在不足。
+easybook 是基于 ctexbook 书籍文档类的极简风格模板。它主要适用于中文书籍或笔记的排版,甚至可以稍作修改成为学位论文模板。已加载一些常用的宏包以实现一般的排版要求。尽管已尽可能多地考虑了一些细节,但仍然存在不足。
 
 ## 编译方法
 
@@ -49,8 +49,8 @@
 ## 参考文档
 
 - [CTeX 宏集手册](https://ctan.org/pkg/ctex)
+- [复旦大学毕业论文模板](https://github.com/stone-zeng/fduthesis)
 - [厦门大学毕业论文模板](https://github.com/CamuseCao/XMU-thesis)
-- [复旦大学毕业论文模板](https://github.com/stone-zeng/fduthesis)
 - [武汉大学毕业论文模板](https://github.com/mtobeiyf/whu-thesis)
 - [ElegantBook 书籍模板](https://ctan.org/pkg/elegantbook)
 

Modified: trunk/Master/texmf-dist/doc/latex/easybook/chapter2.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/easybook/chapter2.tex	2021-01-11 22:43:35 UTC (rev 57388)
+++ trunk/Master/texmf-dist/doc/latex/easybook/chapter2.tex	2021-01-11 22:43:51 UTC (rev 57389)
@@ -57,7 +57,7 @@
 
 \begin{mybox}*[My title]\index{z@自定义盒子}
   \zhlipsum*[3][name = aspirin]
-\tcblower
+  \tcblower
   \zhlipsum*[8][name = aspirin]
 \end{mybox}
 

Modified: trunk/Master/texmf-dist/doc/latex/easybook/chapter3.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/easybook/chapter3.tex	2021-01-11 22:43:35 UTC (rev 57388)
+++ trunk/Master/texmf-dist/doc/latex/easybook/chapter3.tex	2021-01-11 22:43:51 UTC (rev 57389)
@@ -49,6 +49,6 @@
 这是一个参考文献引用的范例\cite{1979Prospect}。引用多个文献,将引用标号中的多个文献序号按升序排列,若其中有2个以上的连续序号,则改用范围序号,例如\cite{1979Prospect,1989The,2010An}。
 
 \section{行内盒子}\index{h@行内盒子}
-对乙酰氨基酚和布洛芬 \concise[Aqua][fontupper = \rmfamily]{concise} 于1956年和1959年相继问世以后,阿司匹林 \fuzzy[yellow][fontupper = \ttfamily,colupper = black]{fuzzy} 的使用率开始下降。
+对乙酰氨基酚和布洛芬 \concise[Aqua][fontupper = \rmfamily]{concise} 于1956年和1959年相继问世以后,阿司匹林 \fuzzy[DarkSeaGreen][fontupper = \ttfamily,colupper = black]{fuzzy} 的使用率开始下降。
 
 \end{document}
\ No newline at end of file

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

Modified: trunk/Master/texmf-dist/doc/latex/easybook/easybook-demo.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/easybook/easybook-demo.tex	2021-01-11 22:43:35 UTC (rev 57388)
+++ trunk/Master/texmf-dist/doc/latex/easybook/easybook-demo.tex	2021-01-11 22:43:51 UTC (rev 57389)
@@ -4,7 +4,6 @@
     style =
       {
         color = forest,
-        % cite = authoryear,
         thmbox = true,
         % capdash = true,
         % multoc = true,
@@ -34,6 +33,11 @@
         fnfont = \rmfamily,
         marfont = \sffamily\footnotesize
       },
+    bibset =
+      {
+        backend = bibtex,
+        bibstyle = number
+      },
     % secnumdepth = 2,
     % tocdepth = 2
   }
@@ -49,7 +53,7 @@
         \textcolor[HTML]{00c2ff}{\faEdge}~\url{https://latexstudio.net} \\
         \url{https://ctan.org/pkg/easybook}
       }
-    \date{2021/01/09\hskip\ccwd\relax v1.2}
+    \date{2021/01/11\hskip\ccwd\relax v1.21}
   }
 
 \begin{document}
@@ -66,7 +70,7 @@
 \subfile{pages/appendix}
 
 \backmatter
-\bibliography{ref/refs}
+\printbibliography
 \listoffigures
 \listoftables
 \listoflistings

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

Modified: trunk/Master/texmf-dist/doc/latex/easybook/easybook.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/easybook/easybook.tex	2021-01-11 22:43:35 UTC (rev 57388)
+++ trunk/Master/texmf-dist/doc/latex/easybook/easybook.tex	2021-01-11 22:43:51 UTC (rev 57389)
@@ -2,18 +2,19 @@
 \hypersetup
   {
     colorlinks,
-    linkcolor=blue,
-    urlcolor=blue
+    linkcolor = blue,
+    urlcolor = blue
   }
 
 \title{\sffamily easybook书籍文档类}
 \author{瞿毅}
-\date{2021/01/09\hskip\ccwd\relax v1.2\thanks{\url{https://gitee.com/TeX-doc/easybook}}}
+\date{2021/01/11\hskip\ccwd\relax v1.21\thanks{\url{https://gitee.com/TeX-doc/easybook}}}
 
 \begin{document}
 \maketitle
-\changes{v1.2}{2021/01/09}{修改和完善用户文档。}
-\changes{v1.2}{2021/01/09}{模板更改为使用CC-BY许可协议。}
+\changes{v1.20}{2021/01/09}{修改和完善用户文档。}
+\changes{v1.20}{2021/01/09}{模板更改为使用CC-BY许可协议。}
+\changes{v1.21}{2021/01/11}{修复单面文档时页眉横线消失的问题。}
 \begin{abstract}
   \cls{easybook} 是基于 \cls{ctexbook} 书籍文档类创建以极简为风格的模板,可以看作对 \cls{ctexbook} 的进一步包装。虽然\CTeX 文档类提供了较好的中文支持,但想实现个性化功能一般需要在其基础上载入更多宏包来定制。\cls{easybook} 考虑了一些细节并载入一些常用宏包实现一般的排版需求,它适用于排版中英文书籍或笔记,甚至可稍加修改成为学位论文模板。
 \end{abstract}
@@ -36,7 +37,7 @@
     xelatex -shell-escape easybook-demo
 \end{frameverb}
 
-需注意,正确\textbf{编译索引}需要增加 \opt{-shell-escape} 命令行选项。若不需要索引和参考文献,可以在正文中注释掉命令。若出现以下警告,再编译一次即可。
+需注意,正确\textsf{编译索引}需要增加 \opt{-shell-escape} 命令行选项。若不需要索引和参考文献,可以在正文中注释掉命令。若出现以下警告,再编译一次即可。
 \begin{frameverb}
     LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.
 \end{frameverb}
@@ -44,7 +45,7 @@
 \subsection{字体设置}
 默认中文使用方正系列的{\songti 方正书宋}、{\heiti 方正黑体}、{\kaishu 方正楷体}和{\fangsong 方正仿宋},英文使用思源系列的{\rmfamily Noto Serif}、{\sffamily Noto Sans}和{\ttfamily Noto Sans Mono},数学字体使用 \pkg{notomath}。字体点击此处下载\href{https://wws.lanzous.com/b01ns361i}{下载地址}。
 
-如果您\textbf{懒于安装字体},可以见小节 \ref{subsec1} 使用\CTeX 预置中文字库。如果您不喜欢方正、思源字体,\textbf{自定义字体}需启用选项 \opt{font = none},并可在导言区设置中文字体,粗体与斜体不设置会产生警告。
+如果您\textsf{懒于安装字体},可以见小节 \ref{subsec1} 使用\CTeX 预置中文字库。如果您不喜欢方正、思源字体,\textsf{自定义字体}需启用选项 \opt{font = none},并可在导言区设置中文字体,粗体与斜体不设置会产生警告。
 \begin{ctexexam}
     \setCJKmainfont{SimSun}[BoldFont = SimHei,ItalicFont = KaiTi]
     \setCJKsansfont{SimHei}
@@ -57,8 +58,8 @@
   \item 带有 \rexptarget\rexpstar{} 号的选项,需要在引入文档类的时候设定。
   \item 带有 \exptarget\expstar{} 号的选项,需要通过\CTeX 宏集提供的用户接口命令 \tn{ctexset} 设定。
 \end{itemize}
+
 \subsection{文档类选项}\label{subsec1}
-
 \begin{function}[rEXP,added = 2021-01-05]{draft}
 开启草稿模式会加快编译速度,表现有显示页面边框、行溢出的地方显示黑色方块、图片变成占位方框、显示当前日期和关闭超链接渲染。
 \end{function}
@@ -107,15 +108,14 @@
 \begin{syntax}
   config = <配置文件名>
 \end{syntax}
-\changes{v1.1}{2021/01/08}{加入载入用户配置选项。}
+\changes{v1.10}{2021/01/08}{加入载入用户配置选项。}
 \opt{config}为载入用户配置选项,配置文件名不需加括号但需带有后缀名如 \opt{tex}、\opt{def} 和 \opt{cfg}。
 \end{function}
 
 \subsubsection{风格}
-\begin{function}[EXP,updated = 2021-01-08]{style/color,style/cite,style/thmbox,style/capdash,style/multoc,style/withpart,style/perchap,style/perpage}
+\begin{function}[EXP,updated = 2021-01-08]{style/color,style/thmbox,style/capdash,style/multoc,style/withpart,style/perchap,style/perpage}
 \begin{syntax}
   color = <(none)|forest|energy|cyberpunk>
-  cite = <(number)|authoryear>
   thmbox = <true|(false)>
   capdash = <true|(false)>
   multoc = <true|(false)>
@@ -123,26 +123,25 @@
   perchap = <true|(false)>
   perpage = <true|(false)>
 \end{syntax}
-\changes{v1.1}{2021/01/08}{更改颜色实现方式与选项名。}
+\changes{v1.10}{2021/01/08}{更改颜色实现方式与选项名。}
 \opt{style} 选项控制文章的风格。
 \end{function}
 
 \begin{optdesc}
-  \item[color]主题颜色,包括标题、页眉颜色等,选项 \opt{none} 为黑白页面,但不包括超链接。
+  \item[color] 主题颜色,包括标题、页眉颜色等,选项 \opt{none} 为黑白页面,但不包括超链接。
     \begin{function}{ctex at frame,ctex at emph,ctex at verb}
     \begin{syntax}
       \tn{definecolor}\oarg{类型}\marg{名称}\marg{模式列表}\marg{参数列表}
     \end{syntax}
-    \changes{v1.1}{2021/01/08}{可以自定义主题颜色。}
+    \changes{v1.10}{2021/01/08}{可以自定义主题颜色。}
     主题颜色用到这三个颜色,可以使用 \tn{definecolor} 命令进行更改,类似地更改超链接颜色见小节 \ref{ssubsec1}。
     \end{function}
-  \item[cite]参考文献格式为中国的参考文献推荐标准GB/T 7714-2015,有顺序编码制和著者-出版年制两种风格,理工科类一般使用顺序编码制,文科类一般使用著者-出版年制。
-  \item[thmbox]开启定理及习题环境的盒子边框。
-  \item[capdash]将图表代码标题风格由例如\textsf{图1.1}变为\textsf{图1--1}的形式。
-  \item[multoc]开启双栏目录,可与 \opt{onecolumn} 和 \opt{twocolumn} 选项配合出单栏正文、单栏目录,双栏正文、单栏目录,单栏正文、双栏目录和双栏正文、双栏目录四种方式 。
-  \item[withpart]使章跟随每一部分编号,默认不跟随。
-  \item[perchap]使脚注跟随每一章编号,默认不跟随。
-  \item[perpage]使脚注跟随每一页编号,默认不跟随。
+  \item[thmbox] 开启定理及习题环境的盒子边框。
+  \item[capdash] 将图表代码标题风格由例如\textsf{图1.1}变为\textsf{图1\textendash 1}的形式。
+  \item[multoc] 开启双栏目录,可与 \opt{onecolumn} 和 \opt{twocolumn} 选项配合出单栏正文、单栏目录,双栏正文、单栏目录,单栏正文、双栏目录和双栏正文、双栏目录四种方式 。
+  \item[withpart] 使章跟随每一部分编号,默认不跟随。
+  \item[perchap] 使脚注跟随每一章编号,默认不跟随。
+  \item[perpage] 使脚注跟随每一页编号,默认不跟随。
 \end{optdesc}
 
 \subsubsection{超链接}\label{ssubsec1}
@@ -152,19 +151,19 @@
   linkcolor = <(graphite)|cutepink|skyblue|crimson>
   linktopage = <true|(false)>
 \end{syntax}
-\changes{v1.1}{2021/01/08}{修复了 \opt{linktopage} 选项关闭时目录中标题编号无超链接的问题。}
+\changes{v1.10}{2021/01/08}{修复了 \opt{linktopage} 选项关闭时目录中标题编号无超链接的问题。}
 \end{function}
 
 \begin{optdesc}
-  \item[hyperlink]\opt{edge} 使超链接为边框形式,\opt{various} 使超链接为彩色字体,有四种颜色风格。\opt{none} 关闭超链接边框与颜色,此时 \opt{linkcolor} 选项无效。
-  \item[linkcolor]超链接颜色样式。
+  \item[hyperlink] \opt{edge} 使超链接为边框形式,\opt{various} 使超链接为彩色字体,有四种颜色风格。\opt{none} 关闭超链接边框与颜色,此时 \opt{linkcolor} 选项无效。
+  \item[linkcolor] 超链接颜色样式。
     \begin{function}{ctex at link,ctex at url,ctex at cite}
     \begin{syntax}
       \tn{definecolor}\oarg{类型}\marg{名称}\marg{模式列表}\marg{参数列表}
     \end{syntax}超链接颜色用到这三个颜色,可以使用 \tn{definecolor} 命令进行更改。
-    \changes{v1.1}{2021/01/08}{可以自定义超链接颜色。}
+    \changes{v1.10}{2021/01/08}{可以自定义超链接颜色。}
     \end{function}
-  \item[linktopage]将目录中的超链接置于页码上,默认是置于标题上。
+  \item[linktopage] 将目录中的超链接置于页码上,默认是置于标题上。
 \end{optdesc}
 
 \subsubsection{行距}
@@ -180,11 +179,11 @@
 \end{function}
 
 \begin{optdesc}
-  \item[linespread]正文行距。
-  \item[tabspread]表格行距。
-  \item[mathspread]数学环境行距。
-  \item[capspread]图表代码标题行距。
-  \item[fnspread]脚注行距。
+  \item[linespread] 正文行距。
+  \item[tabspread] 表格行距。
+  \item[mathspread] 数学环境行距。
+  \item[capspread] 图表代码标题行距。
+  \item[fnspread] 脚注行距。
 \end{optdesc}
 
 \subsubsection{其它字体}
@@ -196,18 +195,39 @@
   fnfont = <\tn{rmfamily}>
   marfont = <\tn{rmfamily}\tn{footnotesize}>
 \end{syntax}
-\changes{v1.1}{2021/01/08}{加入自定义非正文字体选项。}
+\changes{v1.10}{2021/01/08}{加入自定义非正文字体选项。}
 \end{function}
 
 \begin{optdesc}
-  \item[tabfont]表格标题的字体设置。
-  \item[figfont]图片标题的字体设置。
-  \item[lstfont]代码标题的字体设置。
-  \item[fnfont]脚注的字体设置,请不要使用字号命令。
-  \item[marfont]边注的字体设置。
+  \item[tabfont] 表格标题的字体设置。
+  \item[figfont] 图片标题的字体设置。
+  \item[lstfont] 代码标题的字体设置。
+  \item[fnfont] 脚注的字体设置,请不要使用字号命令。
+  \item[marfont] 边注的字体设置。
 \end{optdesc}
 
+\subsubsection{参考文献}
+\begin{function}[EXP,added = 2021-01-11]{bibset/backend,bibset/bibstyle,bibset/citestyle,bibset/bibfile,\printbibliography}
+\begin{syntax}
+  backend = <(bibtex)|biblatex>
+  bibstyle = <(number)|authoryear|其它格式>
+  citestyle = <引用格式>
+  bibfile = <ref/refs.bib>
+  \tn{printbibliography}\oarg{选项列表}
+\end{syntax}
+\changes{v1.21}{2021/01/11}{增加 \opt{bibset} 选项,可以使用 \hologo{BibTeX} 或 \hologo{biber} 编译参考文献。}
+\end{function}
+
+\begin{optdesc}
+  \item[backend] 参考文献处理后端,默认用传统的 \hologo{BibTeX} 处理参考文献。
+  \item[bibstyle] 参考文献格式为中国的参考文献推荐标准GB/T 7714-2015,有顺序编码制和著者-出版年制两种风格,理工科类一般使用顺序编码制,文科类一般使用著者-出版年制。若使用其它格式,使用 \hologo{BibTeX} 处理时需确保正确的 \opt{bst} 文件,使用 \hologo{biber} 处理可使用 \pkg{biblatex} 宏包支持的参考文献风格名称。
+  \item[citestyle] 引用参考文献的格式,对 \opt{backend = bibtex} 选项\textsf{无效},可使用 \pkg{biblatex} 宏包支持的引用文献风格名称。
+  \item[bibfile] 参考文献的数据文件,使用 \hologo{biber} 处理时要带有 \opt{bib} 后缀,默认为一个在 \opt{ref} 文件夹中以 \opt{refs.bib} 命名的文件。
+  \item[\tn{printbibliography}] 两种方式\textsf{均使用}此命令打印参考文献,其中可选项仅在 \hologo{biber} 处理时有效。
+\end{optdesc}
+
 \section{常用环境}
+
 \subsection{公式}
 \begin{function}[added = 2021-01-05]{equation,multline,gather,align}
 \begin{syntax}
@@ -234,7 +254,7 @@
 \end{function}
 
 \subsubsection{排序列表}\label{ssubsec2}
-使用 \opt{enumerate} 环境可创建排序列表,使用 \opt{enumerate*} 环境产生行内部列表,可以使用\textsf{A、a、I、i和1}作为可选项为 \opt{enumerate} 与 \opt{enumerate*} 格式化标签。若生成\textbf{Item I、Item II、Item III}格式可以这样
+使用 \opt{enumerate} 环境可创建排序列表,使用 \opt{enumerate*} 环境产生行内部列表,可以使用\textsf{A、a、I、i和1}作为可选项为 \opt{enumerate} 与 \opt{enumerate*} 格式化标签。若生成\textsf{Item I、Item II、Item III}格式可以这样
 \begin{ctexexam}
     \begin{enumerate*}[(a)]
     \begin{enumerate}[\bfseries{Item} I]
@@ -249,7 +269,8 @@
     \begin{itemize}[$\star$]
 \end{ctexexam}
 
-\subsubsection{主题列表}使用 \opt{description} 环境可创建带有主题词的列表。
+\subsubsection{主题列表}
+使用 \opt{description} 环境可创建带有主题词的列表。
 \begin{ctexexam}
 \begin{description}
     \item[主题一] 内容一
@@ -330,7 +351,7 @@
 \section{其它格式}
 
 \subsection{代码}
-\begin{function}[added = 2021-01-05]{\lstinline,lstlisting}
+\begin{function}[added = 2021-01-05]{\lstinline,lstlisting,\listoflistings}
 \begin{syntax}
   \tn{lstinline}\oarg{键值列表}\marg{行内代码}
   \tn{begin}\marg{lstlisting}\oarg{键值列表}
@@ -337,7 +358,7 @@
   <行间代码>
   \tn{end}\marg{lstlisting}
 \end{syntax}
-使用 \pkg{listings} 宏包可以对代码格式进行高度定制。
+使用 \pkg{listings} 宏包可以对代码格式进行高度定制,\tn{listoflistings} 命令用于输出代码目录。
 \end{function}
 
 \subsection{物理量}
@@ -373,11 +394,12 @@
 \end{function}
 
 \subsubsection{索引}
-\begin{function}[added = 2021-01-05]{\index}
+\begin{function}[added = 2021-01-05]{\index,\printindex}
 \begin{syntax}
   \tn{index}\marg{标签}
+  \tn{printindex}\oarg{索引名}
 \end{syntax}
-使用 \pkg{imakeidx} 生成索引,仅做了简单的设置如将索引设为双栏并加入目录,其他选项可另外配置。
+使用 \pkg{imakeidx} 生成索引,\tn{printindex} 命令用于生成索引目录。仅做了简单的设置如将索引设为双栏并加入目录,其他选项可另外配置。
 \end{function}
 
 \subsubsection{脚注}

Modified: trunk/Master/texmf-dist/doc/latex/easybook/preface.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/easybook/preface.tex	2021-01-11 22:43:35 UTC (rev 57388)
+++ trunk/Master/texmf-dist/doc/latex/easybook/preface.tex	2021-01-11 22:43:51 UTC (rev 57389)
@@ -7,6 +7,8 @@
 \lstinline{easybook} 使用\LaTeX 3语法将选项扩展入\CTeX 宏集接口命令 \lstinline{\ctexset} 的列表。如果无法编译以及选项说明细节参见~\href{./easybook.pdf}{easybook用户手册}。
 
 \begin{enumerate}[label = \color{DarkBlue}\protect\circled{\arabic*}]
+\item 增加 \lstinline{bibset} 选项,可以使用 \lstinline{bibtex} 或 \lstinline{biber} 编译参考文献。
+\item 修复单面文档时页眉横线消失的问题。
 \item 修复了 \lstinline{linktopage} 选项关闭时目录中标题编号无超链接的问题。
 \item 增加 \lstinline{elfont} 选项可以自定义图表、代码、脚注和边注的字体。
 \item 增加 \lstinline{config} 选项可以载入用户配置文件。
@@ -13,8 +15,6 @@
 \item 优化页眉页脚,单面或双面排版适配了不同风格。
 \item 更改草稿选项,与标准文类行为一致并显示页面边框。
 \item 使用功能更丰富的 \lstinline{thmtools} 设置定理环境。
-\item 可自定义正文、表格、公式环境、图表标题以及脚注的行距。
-\item 图表可以使用双语标题,增加代码索引和索引目录,脚注标记可以设置为自定义的符号。
 \end{enumerate}
 
 \vfill{\small\doclicenseThis}

Modified: trunk/Master/texmf-dist/tex/latex/easybook/easybook.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/easybook/easybook.cls	2021-01-11 22:43:35 UTC (rev 57388)
+++ trunk/Master/texmf-dist/tex/latex/easybook/easybook.cls	2021-01-11 22:43:51 UTC (rev 57389)
@@ -9,10 +9,12 @@
 %%   https://creativecommons.org/licenses/by/4.0/legalcode
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2021/01/09}{v1.2}{}
+\ProvidesExplClass{easybook}{2021/01/11}{v1.21}{}
 
 \cs_generate_variant:Nn \keys_define:nn {nx}
 \cs_generate_variant:Nn \int_to_arabic:n {v}
+\cs_new_protected:Npn \__put_ctexbook:n #1
+  {\PassOptionsToClass{#1}{ctexbook}}
 \cs_new_protected:Npn \__patch_cmd:Nnn #1#2#3
   {\ctex_patch_cmd_once:NnnnTF #1{}{#2}{#3}{}{\ctex_patch_failure:N #1}}
 \cs_new_protected:Npn \__appto_cmd:Nn #1#2
@@ -27,13 +29,6 @@
 \bool_set_false:N \l__paper_bfive_bool
 \bool_set_true:N  \l__paper_afour_bool
 \bool_set_true:N  \l__page_twoside_bool
-\bool_new:N       \l__thmbox_bool
-\bool_new:N       \l__capdash_bool
-\bool_new:N       \l__multoc_bool
-\bool_new:N       \l__chap_withpart_bool
-\bool_new:N       \l__foot_perpart_bool
-\bool_new:N       \l__foot_perpage_bool
-\clist_new:N      \g__hyperref_clist
 \clist_new:N      \g__options_clist
 
 \keys_define:nn {easybook}
@@ -47,27 +42,27 @@
     font          .choice:,
     font/adobe    .code:n =
       {
-        \PassOptionsToClass{fontset = #1}{ctexbook}
+        \__put_ctexbook:n {fontset = #1}
         \bool_set_false:N \l__myfont_bool
       },
     font/founder  .code:n =
       {
-        \PassOptionsToClass{fontset = #1}{ctexbook}
+        \__put_ctexbook:n {fontset = #1}
         \bool_set_false:N \l__myfont_bool
       },
     font/mac      .code:n =
       {
-        \PassOptionsToClass{fontset = #1}{ctexbook}
+        \__put_ctexbook:n {fontset = #1}
         \bool_set_false:N \l__myfont_bool
       },
     font/windows  .code:n =
       {
-        \PassOptionsToClass{fontset = #1}{ctexbook}
+        \__put_ctexbook:n {fontset = #1}
         \bool_set_false:N \l__myfont_bool
       },
     font/linux    .code:n =
       {
-        \PassOptionsToClass{fontset = ubuntu}{ctexbook}
+        \__put_ctexbook:n {fontset = ubuntu}
         \bool_set_false:N \l__myfont_bool
       },
     font/overleaf .code:n =
@@ -74,9 +69,9 @@
       {\bool_set_false:N \l__myfont_bool},
     font/none     .code:n =
       {
-        \PassOptionsToClass{fontset = #1}{ctexbook}
+        \__put_ctexbook:n {fontset = #1}
         \bool_set_false:N \l__myfont_bool
-      }, 
+      },
     font          .default:n = windows,
 
     paper         .choice:,
@@ -95,7 +90,7 @@
 
 \ProcessKeysOptions{easybook}
 
-\bool_if:NT \l__myfont_bool{\PassOptionsToClass{fontset = none}{ctexbook}}
+\bool_if:NT \l__myfont_bool{\__put_ctexbook:n {fontset = none}}
 \bool_if:NT \l__enstyle_bool
   {
     \bool_set_false:N \l__lang_chinese_bool
@@ -103,25 +98,35 @@
     \bool_set_true:N  \l__newline_bool
   }
 \bool_if:NTF \l__lang_chinese_bool
-  {\PassOptionsToClass{scheme = chinese}{ctexbook}}
-  {\PassOptionsToClass{scheme = plain}{ctexbook}}
+  {\__put_ctexbook:n {scheme = chinese}}
+  {\__put_ctexbook:n {scheme = plain}}
 
-\PassOptionsToClass{\g__options_clist}{ctexbook}
+\__put_ctexbook:n {\g__options_clist}
 \PassOptionsToPackage{CJKmath = true}{xeCJK}
 \LoadClass[UTF8]{ctexbook}
 
-\tl_new:N \g__keys_color_tl
-\tl_new:N \g__keys_cite_tl
-\fp_new:N \g__line_spread_fp
-\fp_new:N \g__tab_spread_fp
-\tl_new:N \g__math_spread_tl
-\tl_new:N \g__cap_spread_tl
-\tl_new:N \g__foot_spread_tl
-\tl_new:N \g__tab_font_tl
-\tl_new:N \g__fig_font_tl
-\tl_new:N \g__lst_font_tl
-\tl_new:N \g__foot_font_tl
-\tl_new:N \g__margin_font_tl
+\bool_set_true:N \l__backend_bibtex_bool
+\clist_new:N \l__hyperref_clist
+\bool_new:N \l__thmbox_bool
+\bool_new:N \l__capdash_bool
+\bool_new:N \l__multoc_bool
+\bool_new:N \l__chap_withpart_bool
+\bool_new:N \l__foot_perpart_bool
+\bool_new:N \l__foot_perpage_bool
+\fp_new:N \l__line_spread_fp
+\fp_new:N \l__tab_spread_fp
+\tl_new:N \l__math_spread_tl
+\tl_new:N \l__cap_spread_tl
+\tl_new:N \l__foot_spread_tl
+\tl_new:N \l__tab_font_tl
+\tl_new:N \l__fig_font_tl
+\tl_new:N \l__lst_font_tl
+\tl_new:N \l__foot_font_tl
+\tl_new:N \l__margin_font_tl
+\tl_new:N \l__bib_mysty_tl
+\tl_new:N \l__bib_style_tl
+\tl_new:N \l__bib_citesty_tl
+\tl_new:N \l__bib_file_tl
 \tl_new:N \g__config_tl
 
 \ctex_define:n
@@ -130,13 +135,9 @@
     link                .meta:nn = {ctex/link}{#1},
     spread              .meta:nn = {ctex/spread}{#1},
     elfont              .meta:nn = {ctex/elfont}{#1},
+    bibset              .meta:nn = {ctex/bibset}{#1},
     config              .tl_set:N = \g__config_tl,
 
-    style/cite          .choices:nn =
-      {number,authoryear}
-      {\tl_set_eq:NN \g__keys_cite_tl\l_keys_choice_tl},
-    style/cite          .initial:n = number,
-
     style/thmbox        .bool_set:N = \l__thmbox_bool,
     style/thmbox        .default:n = true,
     style/thmbox        .initial:n = false,
@@ -156,30 +157,54 @@
     style/perpage       .default:n = true,
     style/perpage       .initial:n = false,
 
-    spread/linespread   .fp_set:N = \g__line_spread_fp,
+    spread/linespread   .fp_set:N = \l__line_spread_fp,
     spread/linespread   .initial:n = 1.3,
-    spread/tabspread    .fp_set:N = \g__tab_spread_fp,
+    spread/tabspread    .fp_set:N = \l__tab_spread_fp,
     spread/tabspread    .initial:n = 1,
-    spread/mathspread   .tl_set:N = \g__math_spread_tl,
+    spread/mathspread   .tl_set:N = \l__math_spread_tl,
     spread/mathspread   .initial:n = 1,
-    spread/capspread    .tl_set:N = \g__cap_spread_tl,
+    spread/capspread    .tl_set:N = \l__cap_spread_tl,
     spread/capspread    .initial:n = 1,
-    spread/fnspread     .tl_set:N = \g__foot_spread_tl,
+    spread/fnspread     .tl_set:N = \l__foot_spread_tl,
     spread/fnspread     .initial:n = 1,
 
-    elfont/tabfont      .tl_set:N = \g__tab_font_tl,
+    elfont/tabfont      .tl_set:N = \l__tab_font_tl,
     elfont/tabfont      .initial:n = \sffamily\small,
-    elfont/figfont      .tl_set:N = \g__fig_font_tl,
+    elfont/figfont      .tl_set:N = \l__fig_font_tl,
     elfont/figfont      .initial:n = \sffamily\small,
-    elfont/lstfont      .tl_set:N = \g__lst_font_tl,
+    elfont/lstfont      .tl_set:N = \l__lst_font_tl,
     elfont/lstfont      .initial:n = \sffamily\small,
-    elfont/fnfont       .tl_set:N = \g__foot_font_tl,
+    elfont/fnfont       .tl_set:N = \l__foot_font_tl,
     elfont/fnfont       .initial:n = \rmfamily,
-    elfont/marfont      .tl_set:N = \g__margin_font_tl,
+    elfont/marfont      .tl_set:N = \l__margin_font_tl,
     elfont/marfont      .initial:n = \rmfamily\footnotesize,
 
-    lstlistlistingname  .tl_set:N = \lstlistlistingname,
-    lstlistingname      .tl_set:N = \lstlistingname
+    bibset/backend              .choice:,
+    bibset/backend/bibtex       .code:n = {},
+    bibset/backend/biblatex     .code:n =
+      {\bool_set_false:N \l__backend_bibtex_bool},
+    bibset/bibstyle             .choice:,
+    bibset/bibstyle             .value_required:n = true,
+    bibset/bibstyle/number      .code:n =
+      {
+        \tl_set:Nn  \l__bib_style_tl{number}
+        \tl_clear:N \l__bib_mysty_tl
+      },
+    bibset/bibstyle/authoryear  .code:n =
+      {
+        \tl_set:Nn  \l__bib_style_tl{authoryear}
+        \tl_clear:N \l__bib_mysty_tl
+      },
+    bibset/bibstyle/unknown     .code:n =
+      {\tl_set_eq:NN \l__bib_mysty_tl\l_keys_value_tl},
+    bibset/bibstyle             .initial:n = number,
+    bibset/citestyle            .code:n =
+      {\tl_set:Nn \l__bib_citesty_tl{#1}},
+    bibset/bibfile              .tl_set:N = \l__bib_file_tl,
+    bibset/bibfile              .initial:n = ref/refs.bib,
+
+    lstlistlistingname          .tl_set:N = \lstlistlistingname,
+    lstlistingname              .tl_set:N = \lstlistingname
   }
 
 \RequirePackage[svgnames]{xcolor}
@@ -197,8 +222,9 @@
 \RequirePackage{hologo}
 \hologoSetup{discretionarybreak = true}
 \RequirePackage{rotfloat}
-\RequirePackage{geometry,marginnote,nccfoots,tablefootnote}
-\RequirePackage{fancyhdr,titletoc}
+\RequirePackage{geometry,marginnote,changepage}
+\RequirePackage{nccfoots,tablefootnote}
+\RequirePackage{fancyhdr,fancybox,titletoc}
 \RequirePackage{caption,bicaption,subcaption}
 \RequirePackage{graphicx,wrapfig}
 \RequirePackage{zhlipsum,fontawesome,pifont}
@@ -206,7 +232,6 @@
 \RequirePackage{paralist,tasks}
 \RequirePackage[shortlabels,inline]{enumitem}
 \RequirePackage[most]{tcolorbox}
-\RequirePackage[sort&compress]{gbt7714}
 \RequirePackage[xindy]{imakeidx}
 \RequirePackage[
   lang = {chinese-utf8},
@@ -412,7 +437,7 @@
     \fancyfoot[C]{\color{ctex at frame}\thepage}
     \fancypagestyle{plain}
       {
-        \fancyhf{}\cs_gset:Npn \headrule{}
+        \fancyhf{}\cs_set:Npn \headrule{}
         \fancyfoot[C]{\color{ctex at frame}\thepage}
       }
   }
@@ -488,13 +513,23 @@
       {\thelstlisting\hspace{\ccwd}\lst@@caption}
   }
 
-\cs_new_protected:Npn \__header_mark:n #1
+\cs_new_protected:Npn \__markboth:n #1
   {
-    \chapter*{\phantomsection#1}
     \bool_if:NTF \l__page_twoside_bool
-    {\markboth{\MakeUppercase#1}{\MakeUppercase#1}}
-    {\markboth{\MakeUppercase#1}{}}
+      {\markboth{\MakeUppercase#1}{\MakeUppercase#1}}
+      {\markboth{\MakeUppercase#1}{}}
   }
+\cs_new_protected:Npn \__title_mark_intoc:n #1
+  {
+    \chapter*{\phantomsection#1}
+    \CTEX at addtocline{chapter}{#1}
+    \__markboth:n #1
+  }
+\cs_new_protected:Npn \__title_mark:n #1
+  {
+    \chapter*{\phantomsection#1}
+    \__markboth:n #1
+  }
 \cs_gset:Npn \tableofcontents
   {
     \if at twocolumn
@@ -504,7 +539,7 @@
       \@restonecolfalse
       \bool_if:NT \l__multoc_bool{\twocolumn}
     \fi
-    \__header_mark:n {\contentsname}
+    \__title_mark:n {\contentsname}
     \vspace*{-1pc}
     \@starttoc{toc}
     \if at restonecol
@@ -522,8 +557,7 @@
       \@restonecolfalse
       \bool_if:NT \l__multoc_bool{\twocolumn}
     \fi
-    \__header_mark:n {\listfigurename}
-    \CTEX at addtocline{chapter}{\listfigurename}
+    \__title_mark_intoc:n {\listfigurename}
     \vspace*{-1pc}
     \@starttoc{lof}
     \if at restonecol
@@ -541,8 +575,7 @@
       \@restonecolfalse
       \bool_if:NT \l__multoc_bool{\twocolumn}
     \fi
-    \__header_mark:n {\listtablename}
-    \CTEX at addtocline{chapter}{\listtablename}
+    \__title_mark_intoc:n {\listtablename}
     \vspace*{-1pc}
     \@starttoc{lot}
     \if at restonecol
@@ -564,8 +597,7 @@
           \bool_if:NT \l__multoc_bool{\twocolumn}
         \fi
       }
-    \__header_mark:n {\lstlistlistingname}
-    \CTEX at addtocline{chapter}{\lstlistlistingname}
+    \__title_mark_intoc:n {\lstlistlistingname}
     \vspace*{-0.2pc}
     \@starttoc{lol}
     \@ifundefined{@restonecoltrue}{}
@@ -579,18 +611,6 @@
     \group_end:
   }
 
-\cs_gset:Npn \bibsection{\chapter{\bibname}}
-\skip_set:Nn \bibsep{0ex}
-\cs_new_protected:Npn \__load_cite_number:
-  {
-    \setcitestyle{square,comma,super}
-    \bibliographystyle{gbt7714-numerical}
-  }
-\cs_new_protected:Nn \__load_cite_authoryear:
-  {\bibliographystyle{gbt7714-author-year}}
-\cs_new_protected:Nn \__load_cite:
-  {\use:c {__load_cite_ \g__keys_cite_tl :}}
-\ctex_at_end_preamble:n {\__load_cite:}
 \makeindex[
   intoc,
   options = -M~texindy~-C~utf8,
@@ -606,17 +626,13 @@
   }
 \__patch_cmd:Nnn \imki at indexheaders
   {\@mkboth{\MakeUppercase\indexname}{\MakeUppercase\indexname}}
-  {
-    \bool_if:NTF \l__page_twoside_bool
-      {\markboth{\MakeUppercase\indexname}{\MakeUppercase\indexname}}
-      {\markboth{\MakeUppercase\indexname}{}}
-  }
+  {\__markboth:n \indexname}
 
 \DeclareCaptionLabelSeparator{ccwd}{\hspace{\ccwd}}
 \DeclareCaptionLabelFormat{parens}{\bothIfFirst{#1}{~}(#2)}
-\DeclareCaptionFont{tabfont}{\g__tab_font_tl}
-\DeclareCaptionFont{figfont}{\g__fig_font_tl}
-\DeclareCaptionFont{lstfont}{\g__lst_font_tl}
+\DeclareCaptionFont{tabfont}{\l__tab_font_tl}
+\DeclareCaptionFont{figfont}{\l__fig_font_tl}
+\DeclareCaptionFont{lstfont}{\l__lst_font_tl}
 \captionsetup
   {
     format = hang,
@@ -628,12 +644,12 @@
 \captionsetup[table]
   {
     labelfont = {tabfont,color = ctex at frame},
-    textfont = {tabfont,stretch = \g__cap_spread_tl}
+    textfont = {tabfont,stretch = \l__cap_spread_tl}
   }
 \captionsetup[figure]
   {
     labelfont = {figfont,color = ctex at frame},
-    textfont = {figfont,stretch = \g__cap_spread_tl}
+    textfont = {figfont,stretch = \l__cap_spread_tl}
   }
 \captionsetup[subfigure]
   {
@@ -644,7 +660,7 @@
   {
     singlelinecheck = false,
     labelfont = {lstfont,color = ctex at frame},
-    textfont = {lstfont,stretch = \g__cap_spread_tl}
+    textfont = {lstfont,stretch = \l__cap_spread_tl}
   }
 \captionsetup[figure][bi-second]{name = Figure}
 \captionsetup[table][bi-second]{name = Table}
@@ -659,9 +675,9 @@
       }
   }
 \AtBeginEnvironment{tabularx}
-  {\exp_args:Nx \linespread{\fp_use:N \g__tab_spread_fp}\selectfont\ignorespaces}
+  {\exp_args:Nx \linespread{\fp_use:N \l__tab_spread_fp}\selectfont\ignorespaces}
 \AtBeginEnvironment{tabular}
-  {\exp_args:Nx \linespread{\fp_use:N \g__tab_spread_fp}\selectfont\ignorespaces}
+  {\exp_args:Nx \linespread{\fp_use:N \l__tab_spread_fp}\selectfont\ignorespaces}
 
 \skip_set:Nn \parskip{0pt plus 2pt minus 1pt}
 \skip_set:Nn \floatsep{12pt plus 2pt minus 2pt}
@@ -677,7 +693,7 @@
 \cs_gset:Npn \bottomfraction{0.65}
 \cs_gset:Npn \floatpagefraction{0.60}
 \ctex_after_end_preamble:n
-  {\exp_args:Nx \linespread{\fp_use:N \g__line_spread_fp}\selectfont}
+  {\exp_args:Nx \linespread{\fp_use:N \l__line_spread_fp}\selectfont}
 
 \newcolumntype{L}{X}
 \newcolumntype{C}{>{\centering\arraybackslash}X}
@@ -803,7 +819,7 @@
   }
 \allowdisplaybreaks[4]
 \cs_gset:Npn \ULthickness{.75pt}
-\SetMathEnvironmentSinglespace{\g__math_spread_tl}
+\SetMathEnvironmentSinglespace{\l__math_spread_tl}
 \skip_set:Nn \jot{4pt plus 1pt minus 1pt}
 \ctex_after_end_preamble:n
   {
@@ -924,6 +940,64 @@
     colback = #1!15!white,#2
   }{#3}
 
+\cs_new_protected:Npn \__bibtex_set:
+  {
+    \tl_if_empty:NTF \l__bib_mysty_tl
+      {
+        \tl_if_eq:VnTF \l__bib_style_tl{numerber}
+          {
+            \bibliographystyle{gbt7714-numerical}
+          }{
+            \tl_if_eq:VnT \l__bib_style_tl{authoryear}
+              {\bibliographystyle{gbt7714-author-year}}
+            \cs_set_eq:NN \cite\citep
+          }
+      }{ 
+        \exp_args:NV \bibliographystyle\l__bib_mysty_tl
+      }
+    \cs_set:Npn \bibsection{\__title_mark_intoc:n \bibname}
+    \skip_set:Nn \bibsep{0ex}
+    \NewDocumentCommand\printbibliography{o}
+      {\exp_args:NV \bibliography\l__bib_file_tl}
+  }
+\cs_new_protected:Npn \__put_biblatex:n #1
+  {\PassOptionsToPackage{#1}{biblatex}}
+\cs_new_protected:Npn \__biblatex_pre_set:
+  {
+    \tl_if_empty:NTF \l__bib_mysty_tl
+      {
+        \tl_if_eq:VnTF \l__bib_style_tl{number}
+          {
+            \__put_biblatex:n {style = gb7714-2015}
+          }{
+            \tl_if_eq:VnT \l__bib_style_tl{authoryear}
+              {\__put_biblatex:n {style = gb7714-2015ay}}
+          }
+      }{
+        \__put_biblatex:n {style = \l__bib_mysty_tl}
+      }
+    \tl_if_empty:NF \l__bib_citesty_tl
+      {\__put_biblatex:n {citestyle = \l__bib_mysty_tl}}
+    \__put_biblatex:n {backend = biber}
+  }
+\cs_new_protected:Npn \__biblatex_after_set:
+  {
+    \exp_args:NV \addbibresource\l__bib_file_tl
+    \defbibheading{bibliography}[\bibname]{\__title_mark_intoc:n {##1}}
+  }
+\ctex_at_end_preamble:n
+  {
+    \bool_if:NTF \l__backend_bibtex_bool
+      {
+        \RequirePackage[sort&compress]{gbt7714}
+        \__bibtex_set:
+      }{
+        \__biblatex_pre_set:
+        \RequirePackage{biblatex}
+        \__biblatex_after_set:
+      }
+  }
+
 \skip_set:Nn \footnotemargin{0.5\ccwd}
 \skip_set:Nn \footnotesep{0ex}
 \cs_gset:Npn \hangfootparskip{0ex}
@@ -951,13 +1025,13 @@
   }
 \__patch_cmd:Nnn \@footnotetext
   {\def\baselinestretch{\ZhLS at footlinespread}\reset at font}
-  {\def\baselinestretch{\g__foot_spread_tl}\g__foot_font_tl}
+  {\def\baselinestretch{\l__foot_spread_tl}\l__foot_font_tl}
 \__patch_cmd:Nnn \@mpfootnotetext
   {\def\baselinestretch{\ZhLS at footlinespread}\reset at font}
-  {\def\baselinestretch{\g__foot_spread_tl}\g__foot_font_tl}
+  {\def\baselinestretch{\l__foot_spread_tl}\l__foot_font_tl}
 \__patch_cmd:Nnn \@makefnmark
-  {\normalfont}{\g__foot_font_tl}
-\cs_gset:Npn \marginfont{\g__margin_font_tl}
+  {\normalfont}{\l__foot_font_tl}
+\cs_gset:Npn \marginfont{\l__margin_font_tl}
 
 \lstdefinestyle{mystyle}
   {
@@ -975,7 +1049,7 @@
     emphstyle = \color{ctex at emph},
     emph =
       {
-        caption,config,easybook,elfont,linktopage,subcaption,tabularx,thmtools
+        bibset,bibtex,biber,caption,config,easybook,elfont,linktopage,subcaption,tabularx,thmtools
       },
     keywordstyle = \lst at ifdisplaystyle\bfseries\color{ctex at emph}\else\color{ctex at verb}\fi,
     morekeywords =
@@ -1002,7 +1076,7 @@
 \AtBeginEnvironment{verbatim}{\microtypesetup{activate=false}}
 
 \cs_new_protected:Npn \__clist_put_hyperref:n #1
-  {\clist_gput_right:Nn \g__hyperref_clist{#1}}
+  {\clist_put_right:Nn \l__hyperref_clist{#1}}
 \cs_new_protected:Npn \__define_linkcolor:nnn #1#2#3
   {\definecolorset{HTML}{ctex@}{}{link,#1;url,#2;cite,#3}}
 \cs_new_protected:Npn \__define_themecolor:nnn #1#2#3
@@ -1091,7 +1165,7 @@
     \RequirePackage[pdfstartview = FitH,bookmarksnumbered]{hyperref}
     \RequirePackage{cleveref}
     \urlstyle{same}
-    \exp_args:NV \hypersetup\g__hyperref_clist
+    \exp_args:NV \hypersetup\l__hyperref_clist
     \__allow_urlbreak:
 
     \bool_if:NTF \l__lang_chinese_bool



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