summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2024-06-10 20:22:00 +0000
committerKarl Berry <karl@freefriends.org>2024-06-10 20:22:00 +0000
commit0c6c047ddfbcdaa28603cba0dbf5b91b32197051 (patch)
treee80cca1aa0954eb64d84010f71611a421bd0908c
parent8e46d4a49e8a0cf72812b47428c65d57095bb785 (diff)
easybook (10jun24)
git-svn-id: svn://tug.org/texlive/trunk@71465 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/easybook/README.md8
-rw-r--r--Master/texmf-dist/doc/latex/easybook/easybook.pdfbin632955 -> 633451 bytes
-rw-r--r--Master/texmf-dist/doc/latex/easybook/easybook.tex29
-rw-r--r--Master/texmf-dist/source/latex/easybook/easybook.dtx33
-rw-r--r--Master/texmf-dist/tex/latex/easybook/easybase.sty29
-rw-r--r--Master/texmf-dist/tex/latex/easybook/easybook.cls2
-rw-r--r--Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg2
7 files changed, 62 insertions, 41 deletions
diff --git a/Master/texmf-dist/doc/latex/easybook/README.md b/Master/texmf-dist/doc/latex/easybook/README.md
index a25e5c1761d..86bb1e966a6 100644
--- a/Master/texmf-dist/doc/latex/easybook/README.md
+++ b/Master/texmf-dist/doc/latex/easybook/README.md
@@ -1,6 +1,6 @@
# easybook document class
-`easybook` is a pure academic template created based on the `ctexbook` book document class. It also has the functions of `book` and `article` document class. Combined with the general framework design of the dissertation of many universities in China, providing multiple commands and interfaces allows users to easily customize the thesis template. Its basic macro package `easybase` can also be used with `ctex` and standard document classes.
+`easybook` is a pure academic template created based on the `ctexbook` book document class. It also has the functions of `book` and `article` document class. Combined with the general framework design of the theses of many universities in China, providing multiple commands and interfaces allows users to easily customize the theses templates. Its basic macro package `easybase` can also be used with `ctex` and standard document classes.
## License
@@ -8,4 +8,8 @@ This work may be distributed and/or modified under the conditions of the LPPL-1.
## Website
-| [Gitee](https://gitee.com/texno3/easybook) | [Github](https://github.com/texno3/easybook) | [CTAN](https://ctan.org/pkg/easybook) | \ No newline at end of file
+| [Gitee](https://gitee.com/texno3/easybook) | [Github](https://github.com/texno3/easybook) | [CTAN](https://ctan.org/pkg/easybook) |
+
+## Email
+
+toquyi@163.com \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/easybook/easybook.pdf b/Master/texmf-dist/doc/latex/easybook/easybook.pdf
index 08b461d7d43..5e4686284cb 100644
--- a/Master/texmf-dist/doc/latex/easybook/easybook.pdf
+++ b/Master/texmf-dist/doc/latex/easybook/easybook.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/easybook/easybook.tex b/Master/texmf-dist/doc/latex/easybook/easybook.tex
index f01355d47cb..b4f13b3c323 100644
--- a/Master/texmf-dist/doc/latex/easybook/easybook.tex
+++ b/Master/texmf-dist/doc/latex/easybook/easybook.tex
@@ -23,8 +23,8 @@
name = easybook,
color-scheme = blue,
title = EASYBOOK使用手册,
- version = v2024bu,
- date = 2024/05/24,
+ version = v2024bz,
+ date = 2024/06/10,
authors = 瞿毅,
info = 简便地排版中文学位论文或书籍,
email = toquyi@163.com,
@@ -121,7 +121,9 @@
\@firstofone
}
% A tag that distinguishes the options for different paths
-\NewDocumentCommand{\dtag}{sO{\ding{73}}}
+\newcommand{\hface}{$\symbol{"263A}$}
+\newcommand{\sface}{$\symbol{"263B}$}
+\NewDocumentCommand{\dtag}{sO{\hface}}
{
\begingroup
\reversemarginpar
@@ -256,7 +258,8 @@
cells = {cmd = \pkg*},
cell{1}{3,4} = PaleTurquoise,
cell{2}{5} = PaleTurquoise,
- cell{3}{2,4} = PaleTurquoise,
+ cell{3}{2} = PaleTurquoise,
+ cell{4}{5} = PaleTurquoise,
cell{5}{1} = GreenYellow,
cell{1}{2} = GreenYellow,
cell{3}{1,4} = GreenYellow
@@ -270,7 +273,7 @@
\section{文档类选项}
\label{sec:document class options}
-文档类选项应当在使用 \easybook{} 文档类或 \pkg*{easybase} 宏包(部分支持)时指定,可见\ref{subsec:basic usage} 的例子。选项前带有 \ding{73} 符号表示只可用于文档类,否则文档类与宏包都适用。除了下面列举的选项以外,还支持标准和 \CTeX 文档类的选项。
+文档类选项应当在使用 \easybook{} 文档类或 \pkg*{easybase} 宏包(部分支持)时指定,可见\ref{subsec:basic usage} 的例子。选项前带有\hface 符号表示只可用于文档类,否则文档类与宏包都适用。除了下面列举的选项以外,还支持标准和 \CTeX 文档类的选项。
\subsection{基本选项}
\begin{cnltxlist}
@@ -832,7 +835,7 @@
\subsection[目录]{目录\smodule{toc}}
\label{subsec:catalog}
-模块 \module*{toc} 将使用 \pkg*{titletoc} 宏包处理目录样式。默认包括 \module*{part}$\longrightarrow$\module*{subparagraph}、\module*{figure}、\module*{table} 和 \module*{lstlisting} 条目名的键路径。选项前带有 \ding{73} 符号表示支持所有相应\textbf{条目名}的路径,其它选项则处于 \module*{toc} 键路径下。目录选项均支持标题编号判定命令 \cs{CTEXifname}。目前支持多数学术论文目录样式,更复杂的样式可以查看 \pkg*{titletoc} 的相关用法。
+模块 \module*{toc} 将使用 \pkg*{titletoc} 宏包处理目录样式。默认包括 \module*{part}$\longrightarrow$\module*{subparagraph}、\module*{figure}、\module*{table} 和 \module*{lstlisting} 条目名的键路径。选项前带有\hface 符号表示支持所有相应\textbf{条目名}的路径,其它选项则处于 \module*{toc} 键路径下。目录选项均支持标题编号判定命令 \cs{CTEXifname}\footnote{此功能需要\textbf{2023/06/01}以后的 \hologo{LaTeX} 内核支持。}。目前支持多数学术论文目录样式,更复杂的样式可以查看 \pkg*{titletoc} 的相关用法。
\begin{cnltxlist}
\keyval{tocformat}{条目格式}\dtag
目录中各类型条目的格式。可以设置条目字体和加入垂直间距等,垂直间距最好使用防止垂直间距重合的 \cs*{addvspace} 命令。如果是段落型目录,格式代码仅在段落中当前级别条目前执行一次。也可以用 \cs{CTEXifname} 命令或 \option{tocformat*} 选项给有无编号的标题分别设置格式。
@@ -856,7 +859,7 @@
目录条目标签与标题间的代码,默认为插入 \code{1em} 横向距离。
\keyval{tocbelow}{距离命令}\dtag
在目录条目下方执行的代码,可以插入垂直距离等命令。
- \keyval{tocline}{标题定义}\dtag[\textcolor{red}{\ding{73}}]
+ \keyval{tocline}{标题定义}\dtag[\textcolor{red}{\sface}]
这个选项在章节标题基础上扩展了浮动环境的题注标题在目录文件中的定义。章节和题注标题选项中参数 \code{\#1} 代表标题编号 \cs*{the}\meta{计数器} 对应的计数器名称,参数 \code{\#2} 则代表相应标题内容。
\begin{ctexexam}
\ctexset
@@ -874,7 +877,7 @@
}
\end{ctexexam}
\command{RegisterTocName}[\sarg\marg{条目名列表}]\newtagv[Changed]{2024bo}%
- 给 \meta{条目名列表} 中的每个 \meta{条目名} 标题注册用于设置目录样式的选项,即选项前有符号 \ding{73} 表示需要注册后使用。前面提到的条目类型均已注册,新类型的条目注册后默认格式与图表条目相同。这个命令可以重复使用,会重置目录条目为默认格式。带有星号参数的命令使注册目录的条目形成一个段落,此时多出下面三个选项可用:
+ 给 \meta{条目名列表} 中的每个 \meta{条目名} 标题注册用于设置目录样式的选项,即选项前有符号\hface 表示需要注册后使用。前面提到的条目类型均已注册,新类型的条目注册后默认格式与图表条目相同。这个命令可以重复使用,会重置目录条目为默认格式。带有星号参数的命令使注册目录的条目形成一个段落,此时多出下面三个选项可用:
\keyval{tocbegin}{开始代码}\dtag\newtagv{2024as}%
当前级别目录条目第一个标题前的代码,仅在存在更高级别的条目时有效。
\keyval{tocsep}{中间代码}\dtag\Default{\Marg{.—}}\newtagv{2024as}%
@@ -884,7 +887,7 @@
\command{contentsuse}[\marg{条目名}\marg{扩展名}]
激活条目类型名称为 \meta{条目名} 的目录定制功能,它使用的目录文件后缀为 \meta{扩展名}。需要在激活条目后再使用命令 \cs{RegisterTocName} 注册选项。
\command{DeclareFloatList}[\marg{条目名}\marg{扩展名}]
- 声明一种条目类型的目录命令 \cs*{listof}\meta{条目名}\code{\textcolor{cs}{s}},并且支持\ref{subsec:directory command} 中图表目录命令的机制。使用这个命令要确保将条目加入目录的机制已经存在,例如搭配 \pkg*{newfloat} 宏包创建新的浮动环境。选项前有红色符号 \textcolor{red}{\ding{73}}(仍包含黑色符号选项的性质)表示在声明后可用。下面举一个声明算法环境和对应题注目录的例子:
+ 声明一种条目类型的目录命令 \cs*{listof}\meta{条目名}\code{\textcolor{cs}{s}},并且支持\ref{subsec:directory command} 中图表目录命令的机制。使用这个命令要确保将条目加入目录的机制已经存在,例如搭配 \pkg*{newfloat} 宏包创建新的浮动环境。选项前有实心符号 \textcolor{red}{\sface}(仍包含空心符号\hface 选项的性质)表示在声明后可用。下面举一个声明算法环境和对应题注目录的例子:
\begin{ctexexam}
\usepackage{newfloat}
\DeclareFloatingEnvironment[
@@ -902,7 +905,7 @@
\newcommand{\listoffiguretables}{\listoffigures} % 同时输出图表目录的命令
\end{ctexexam}
\command{AllotPartialExt}[\marg{扩展名1}\marg{扩展名2}]\newtagv{2024bk}
- 给目录文件扩展名为 \meta{扩展名1} 的目录分配扩展名为 \meta{扩展名2} 的局部目录,预注册的条目均无需再分配。用于搭配题注标题 \cs{caption} 命令和 \pkg*{titletoc} 宏包的局部题注目录命令。
+ 给目录文件扩展名为 \meta{扩展名1} 的目录分配扩展名为 \meta{扩展名2} 的局部目录\footnote{此功能需要\textbf{2023/06/01}以后的 \hologo{LaTeX} 内核支持。},预注册的条目均无需再分配。用于搭配题注标题 \cs{caption} 命令和 \pkg*{titletoc} 宏包的局部题注目录命令。
\begin{ctexexam}
\AllotPartialExt{loa}{pla}
\startlist[fancy]{loa}
@@ -911,7 +914,7 @@
\printlist[fancy]{loa}{}{}
\end{ctexexam}
\command{SetTocStyle}[\marg{条目名}\marg{风格名}\marg{键值列表}]
- 定义条目类型名称为 \meta{风格名} 的目录风格。使用 \cs*{ctexset} 命令设置目录样式时,除了条目标题定义选项 \option{tocline},其它选项只有在目录输出命令前设置才有效,定义完目录风格后用 \cs{UseTocStyle} 命令可以在正文中任意位置生效。如果是没有 \ding{73} 符号的选项,\meta{条目名} 设置为 \module*{toc}。
+ 定义条目类型名称为 \meta{风格名} 的目录风格。使用 \cs*{ctexset} 命令设置目录样式时,除了条目标题定义选项 \option{tocline},其它选项只有在目录输出命令前设置才有效,定义完目录风格后用 \cs{UseTocStyle} 命令可以在正文中任意位置生效。如果是没有\hface 符号的选项,\meta{条目名} 设置为 \module*{toc}。
\command{UseTocStyle}[\marg{条目名}\marg{风格名}\marg{扩展名}]
使用对应条目类型名称为 \meta{风格名} 的目录风格,随后标题在目录中的格式会改变。本命令导言区和正文区均可使用,第三个必选参数还需要指定条目标题加入目录文件的 \meta{扩展名}。
\begin{ctexexam}
@@ -933,7 +936,7 @@
悬挂缩进选项 \option{hang} 使目录条目为悬挂缩进形式。缩进距离为条目标签及其与标题内容间距的长度和。通常情况下会统一设置条目标题是否悬挂缩进,因此这个选项被设计为对所有类型条目生效。
\keyval{lolskip}{弹性长度}\Default{10pt}
代码目录中每章第一个条目上方增加的垂直距离。与 \CTeX 的表格和图片目录中每章间的条目距离选项 \option*{lotskip} 和 \option*{lofskip} 类似,在 \cls*{article} 模式中此选项失效。
- \keyval{between}{代码钩子}\dtag[\textcolor{red}{\ding{73}}]
+ \keyval{between}{代码钩子}\dtag[\textcolor{red}{\sface}]
目录标题与条目内容间的钩子(作用于标题下方间距之后),如果是 \cls*{book} 模式则默认插入 \code{-10pt} 垂直距离抵消首行目录的额外垂直间距,这是由于图表和 由 \pkg*{newfloat} 宏包所创建环境的目录默认每使用一次章标题在题注目录中插入 \code{10pt} 距离。除了条目名的键路径外,此选项也可用于 \module*{toc} 路径中,表示章节标题目录标题代码钩子,如果是 \cls*{book} 模式则默认插入 \code{-1pc} 垂直距离。
\keyval{bibetween}{代码钩子}
与选项 \option{between} 类似,是英文章节标题目录(如果启用)标题代码钩子。
@@ -969,7 +972,7 @@
\subsection{目录命令}
\label{subsec:directory command}
-\easybook{} 改进了标准文档类中定制性较低的章节标题和图表标题目录命令。现在目录命令带有可选参数用于设置标题格式和栏数等,并且与标准文档类不同的是目录命令可在正文中\textbf{重复}使用。更多目录命令的创建和样式设置可参考\ref{subsec:catalog}。
+\easybook{} 改进了标准文档类中定制性较低的章节标题和图表标题目录命令。现在目录命令带有可选参数用于设置标题格式和栏数等,并且与标准文档类不同的是目录命令可在正文中\textbf{重复}使用\footnote{此功能需要\textbf{2023/06/01}以后的 \hologo{LaTeX} 内核支持。}。更多目录命令的创建和样式设置可参考\ref{subsec:catalog}。
\begin{cnltxlist}
\command{tableofcontents}[\sarg\oarg{键值列表}\darg{代码钩子}]
章节标题目录命令,支持中英文双语标题目录输出。带有星号参数不输出目录条目上方的标题。\meta{代码钩子} 是当输出方案 \keyis{plan}{both} 时中文与英文目录之间执行的代码,可以插入设置目录样式和换页等命令。
diff --git a/Master/texmf-dist/source/latex/easybook/easybook.dtx b/Master/texmf-dist/source/latex/easybook/easybook.dtx
index 511b24fa084..788bb2fa32a 100644
--- a/Master/texmf-dist/source/latex/easybook/easybook.dtx
+++ b/Master/texmf-dist/source/latex/easybook/easybook.dtx
@@ -14,7 +14,7 @@
% This work has the LPPL maintenance status `maintained'.
%<*class>
\NeedsTeXFormat{LaTeX2e}[2021/11/15]
-\ProvidesExplClass{easybook}{2024/05/24}{2024bu}
+\ProvidesExplClass{easybook}{2024/06/10}{2024bz}
{Easily typesetting Chinese theses or books}
\bool_new:N \l__eb_compile_draft_bool
@@ -301,7 +301,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2021/11/15]
\RequirePackage{etoolbox}
-\ProvidesExplPackage{easybase}{2024/05/24}{2024bu}
+\ProvidesExplPackage{easybase}{2024/06/10}{2024bz}
{Easily typesetting Chinese theses or books}
\cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -382,6 +382,8 @@
{ \eb_match_load_package:n {##1} }
}
}
+\providecommand{\NewHookWithArguments}[2]{}
+\ProvideDocumentCommand{\AddToHookWithArguments}{mom}{}
\bool_set_true:N \l__eb_class_mode_book_bool
\bool_set_false:N \l__eb_compile_draft_bool
@@ -1752,14 +1754,19 @@
}
{}
}
+\cs_set_eq:NN \eb@starttoc \@starttoc
\cs_set:Npn \@starttoc #1
{
- \group_begin:
- \makeatletter
- \file_if_exist_input:n { \jobname.#1 }
- \UseHookWithArguments{starttoc/after}{1}{#1}
- \boolfalse{@nobreak}
- \group_end:
+ \cs_if_exist:NTF \UseHookWithArguments
+ {
+ \group_begin:
+ \makeatletter
+ \file_if_exist_input:n { \jobname.#1 }
+ \UseHookWithArguments{starttoc/after}{1}{#1}
+ \boolfalse{@nobreak}
+ \group_end:
+ }
+ { \eb@starttoc{#1} }
}
\AddToHook{enddocument/afterlastpage}
{
@@ -2373,7 +2380,7 @@
}
}
-\cs_new:Npn \eb@lst@if@display #1#2
+\cs_new:Npn \lstifdisplay #1#2
{ \lst@ifdisplaystyle #1\else #2\fi }
\lstdefinestyle{lst-base}
{
@@ -2401,9 +2408,9 @@
{
style = lst-base,
language = [LaTeX]TeX,
- texcsstyle = *\color{ctex@verb}\eb@lst@if@display{\bfseries}{},
- basicstyle = \ttfamily\eb@lst@if@display{\small}{\color{ctex@verb}},
- keywordstyle = \color{ctex@verb}\eb@lst@if@display{\bfseries}{}
+ texcsstyle = *\color{ctex@verb}\lstifdisplay{\bfseries}{},
+ basicstyle = \ttfamily\lstifdisplay{\small}{\color{ctex@verb}},
+ keywordstyle = \color{ctex@verb}\lstifdisplay{\bfseries}{}
}
\lstset{style = lst-latex}
\lstloadlanguages{C,C++,Java,Python,Matlab}
@@ -2589,7 +2596,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2024/05/24}{2024bu}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2024/06/10}{2024bz}
{Customization of tcolorbox for easybook}
\cs_set_protected:Npn \addtotcbstyle #1#2
diff --git a/Master/texmf-dist/tex/latex/easybook/easybase.sty b/Master/texmf-dist/tex/latex/easybook/easybase.sty
index fb3fece89f2..e027788156c 100644
--- a/Master/texmf-dist/tex/latex/easybook/easybase.sty
+++ b/Master/texmf-dist/tex/latex/easybook/easybase.sty
@@ -20,7 +20,7 @@
%% This work has the LPPL maintenance status `maintained'.
\NeedsTeXFormat{LaTeX2e}[2021/11/15]
\RequirePackage{etoolbox}
-\ProvidesExplPackage{easybase}{2024/05/24}{2024bu}
+\ProvidesExplPackage{easybase}{2024/06/10}{2024bz}
{Easily typesetting Chinese theses or books}
\cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -101,6 +101,8 @@
{ \eb_match_load_package:n {##1} }
}
}
+\providecommand{\NewHookWithArguments}[2]{}
+\ProvideDocumentCommand{\AddToHookWithArguments}{mom}{}
\bool_set_true:N \l__eb_class_mode_book_bool
\bool_set_false:N \l__eb_compile_draft_bool
@@ -1471,14 +1473,19 @@
}
{}
}
+\cs_set_eq:NN \eb@starttoc \@starttoc
\cs_set:Npn \@starttoc #1
{
- \group_begin:
- \makeatletter
- \file_if_exist_input:n { \jobname.#1 }
- \UseHookWithArguments{starttoc/after}{1}{#1}
- \boolfalse{@nobreak}
- \group_end:
+ \cs_if_exist:NTF \UseHookWithArguments
+ {
+ \group_begin:
+ \makeatletter
+ \file_if_exist_input:n { \jobname.#1 }
+ \UseHookWithArguments{starttoc/after}{1}{#1}
+ \boolfalse{@nobreak}
+ \group_end:
+ }
+ { \eb@starttoc{#1} }
}
\AddToHook{enddocument/afterlastpage}
{
@@ -2092,7 +2099,7 @@
}
}
-\cs_new:Npn \eb@lst@if@display #1#2
+\cs_new:Npn \lstifdisplay #1#2
{ \lst@ifdisplaystyle #1\else #2\fi }
\lstdefinestyle{lst-base}
{
@@ -2120,9 +2127,9 @@
{
style = lst-base,
language = [LaTeX]TeX,
- texcsstyle = *\color{ctex@verb}\eb@lst@if@display{\bfseries}{},
- basicstyle = \ttfamily\eb@lst@if@display{\small}{\color{ctex@verb}},
- keywordstyle = \color{ctex@verb}\eb@lst@if@display{\bfseries}{}
+ texcsstyle = *\color{ctex@verb}\lstifdisplay{\bfseries}{},
+ basicstyle = \ttfamily\lstifdisplay{\small}{\color{ctex@verb}},
+ keywordstyle = \color{ctex@verb}\lstifdisplay{\bfseries}{}
}
\lstset{style = lst-latex}
\lstloadlanguages{C,C++,Java,Python,Matlab}
diff --git a/Master/texmf-dist/tex/latex/easybook/easybook.cls b/Master/texmf-dist/tex/latex/easybook/easybook.cls
index 11f97da2d90..ad89e61b724 100644
--- a/Master/texmf-dist/tex/latex/easybook/easybook.cls
+++ b/Master/texmf-dist/tex/latex/easybook/easybook.cls
@@ -19,7 +19,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
\NeedsTeXFormat{LaTeX2e}[2021/11/15]
-\ProvidesExplClass{easybook}{2024/05/24}{2024bu}
+\ProvidesExplClass{easybook}{2024/06/10}{2024bz}
{Easily typesetting Chinese theses or books}
\bool_new:N \l__eb_compile_draft_bool
diff --git a/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg b/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg
index 4c8423906db..8b07204a697 100644
--- a/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg
+++ b/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg
@@ -18,7 +18,7 @@
%% LaTeX version 2005/12/01 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
-\ProvidesExplFile{eb-tcolorbox.cfg}{2024/05/24}{2024bu}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2024/06/10}{2024bz}
{Customization of tcolorbox for easybook}
\cs_set_protected:Npn \addtotcbstyle #1#2