summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
Diffstat (limited to 'macros')
-rw-r--r--macros/generic/poormanlog/README40
-rw-r--r--macros/latex/contrib/easybook/doc/easybook-demo.pdfbin268481 -> 268480 bytes
-rw-r--r--macros/latex/contrib/easybook/doc/easybook-demo.tex2
-rw-r--r--macros/latex/contrib/easybook/doc/easybook.pdfbin462196 -> 462359 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx56
5 files changed, 58 insertions, 40 deletions
diff --git a/macros/generic/poormanlog/README b/macros/generic/poormanlog/README
index cb250c4adf..c98b99894d 100644
--- a/macros/generic/poormanlog/README
+++ b/macros/generic/poormanlog/README
@@ -1,9 +1,9 @@
-POORMANLOG (v0.05, 2019/04/22)
+POORMANLOG (v0.06, 2021/04/21)
==============================
poormanlog.tex provides (expandable) macros \PMLogZ and \PMPowTen
for computing base 10 logarithms and powers of 10 with a bit less
-than 9 digits of precision.
+than 9 digits of (fixed point) precision.
It can be used with TeX (\input poormanlog) and has a LaTeX interface
(\usepackage{poormanlog}).
@@ -22,11 +22,13 @@ Changes
- v0.05 (2019/04/22): the additions/patches to xint originally
provided by poormanlog.tex got moved into xint 1.3f itself.
- Thus, poormanlog now reduces to the sole two macros
+ Thus, poormanlog now reduces to only two macros
\PMLogZ and \PMPowTen. It can be imported by other macro
files with no danger of conflicting with future releases of
xint in case of concurrent usage.
+- v0.06 (2021/04/21): documentation update (warning?) regarding
+ \PMLogZ{999999999} output being surprisingly 000000000.
Files
-----
@@ -43,15 +45,31 @@ expansion: the argument is submitted to f-expansion and the macro
itself expands fully in two steps.
input: #1 must be (or f-expands to) a mantissa ddddddddd with exactly
- 9 digits, standing for D = d.dddddddd, 1 <= D < 10
+ nine digits, standing for D = d.dddddddd, 1 <= D < 10
-output: 9 digits xxxxxxxxx standing for X = 0.xxxxxxxxx such that
+output: nine digits xxxxxxxxx standing for X = 0.xxxxxxxxx such that
log10(D) is about X
+ CAUTION: for #1=999999999, the macro outputs 000000000,
+ which are the fractional digits of the correct rounding
+ 1.000000000 of log10(9.99999999)=0.9999999995657...
+
+ As outputting 999999999 to represent log10(0.999999999) is not
+ completely satisfactory either, it is better to work out one's
+ own alternate wrapper of "\the\numexpr\PML@#1." as the latter
+ produces exceptionally 1000000000 with ten digits for
+ #1=999999999, and it is actually as simple to test the
+ exceptional case on this ten digit output than on input.
+
+ Please refer to source code and check how \PMLogZ is built on
+ top of \PML@ output and design own user variant: in place of
+ the gobble in the \PMLogZ one only needs to test if first
+ digit is 2 to identify the special case.
+
precision: It seems from testing that absolute error is not much
- more than 1 unit in the last place, and result X differs
- from rounded mathematical value of log10(D) by at most
- 1 unit in the last place.
+ more than 1 unit in the last (*fixed point*) place,
+ and result differs from rounded mathematical value of
+ log10(D) by at most 1 unit in the last place.
(*attention estimate not rigorously proven*).
@@ -61,10 +79,10 @@ precision: It seems from testing that absolute error is not much
expansion: the argument is submitted to f-expansion and the macro
itself expands fully in two steps.
-input: #1 must be (f-expands to) exactly 9 digits xxxxxxxxx, standing
+input: #1 must be (f-expands to) exactly nine digits xxxxxxxxx, standing
for X = 0.xxxxxxxxx
-output: 9 digits ddddddddd, such that D = d.dddddddd is about 10^X
+output: nine digits ddddddddd, such that D = d.dddddddd is about 10^X
The first digit of output is never zero (i.e. 1 <= D < 10)
precision: It seems from testing that absolute error is less than
@@ -77,7 +95,7 @@ precision: It seems from testing that absolute error is less than
LICENSE
-------
-Copyright (C) 2019, Jean-Francois Burnol.
+Copyright (C) 2019-2021, Jean-Francois Burnol.
This Work may be distributed and/or modified under the conditions of the
LaTeX Project Public License version 1.3c. This version of this license
diff --git a/macros/latex/contrib/easybook/doc/easybook-demo.pdf b/macros/latex/contrib/easybook/doc/easybook-demo.pdf
index eca98d1e78..5678730118 100644
--- a/macros/latex/contrib/easybook/doc/easybook-demo.pdf
+++ b/macros/latex/contrib/easybook/doc/easybook-demo.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/doc/easybook-demo.tex b/macros/latex/contrib/easybook/doc/easybook-demo.tex
index 2d618acbf0..e21ba19ef2 100644
--- a/macros/latex/contrib/easybook/doc/easybook-demo.tex
+++ b/macros/latex/contrib/easybook/doc/easybook-demo.tex
@@ -106,7 +106,7 @@
\url{https://latexstudio.net} \\
\url{https://gitee.com/texl3/easybook}\thanks{Gitee为项目的主要发布地址。}
}
-\date{2021/04/20\hskip\ccwd\relax v1.24p}
+\date{2021/04/21\hskip\ccwd\relax v1.24q}
\frontmatter[roman]
\maketitle
diff --git a/macros/latex/contrib/easybook/doc/easybook.pdf b/macros/latex/contrib/easybook/doc/easybook.pdf
index efb9d7f7bd..5fed3ed473 100644
--- a/macros/latex/contrib/easybook/doc/easybook.pdf
+++ b/macros/latex/contrib/easybook/doc/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index 6a5c1f3770..f4aa029e1c 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -55,7 +55,7 @@ The latest version of this license is in
%
% \title{\sffamily easybook 书籍文档类}
% \author{瞿毅}
-% \date{2021/04/20\hskip\ccwd\relax v1.24p\thanks{\url{https://gitee.com/texl3/easybook}}}
+% \date{2021/04/21\hskip\ccwd\relax v1.24q\thanks{\url{https://gitee.com/texl3/easybook}}}
% \maketitle
% \begin{abstract}
% \cls{easybook} 是基于 \cls{ctexbook} 书籍文档类创建以极简为风格的模板,可以看作对 \cls{ctexbook} 的进一步包装。虽然\CTeX 文档类提供了较好的中文支持,但想实现个性化功能一般需要在其基础上载入更多宏包来定制。\cls{easybook} 考虑了一些细节并载入一些常用宏包实现一般的排版需求,它适用于排版中英文书籍或笔记,甚至可稍加调整成为学位论文模板。
@@ -182,7 +182,7 @@ The latest version of this license is in
% \end{syntax}
% \opt{multoc} 与 \opt{style/multoc} 选项具有相同的效果,但是具有优先性且可单独设置不同目录是否双栏排版。已经预置了中英文的目录标题,可以使用 \opt{title} 选项更改目录标题的名称。\opt{book} 选项使目录标题按照 \opt{chapter} 级别输出,\opt{article} 选项使目录标题按照 \opt{article} 级别输出,默认为 \opt{chapter} 级别。
% \changes{v1.23}{2021/03/15}{为几个目录增加键值列表的选项,可设置标题输出级别以及是否加入主目录。}
-% \changes{v1.24p}{2021/04/04}{目录命令的可选参数增加标题键值。}
+% \changes{v1.24q}{2021/04/04}{目录命令的可选参数增加标题键值。}
% \end{function}
%
% \section{接口选项}
@@ -265,7 +265,7 @@ The latest version of this license is in
% \ding{229} 以上选项路径为 \opt{link/...} \\
% \opt{link} 将超链接选项(包括以上选项)交给 \pkg{hyperref} 处理,除了一些关于 pdf 书签的选项可能会失效,其它由键值选项命令 \tn{hypersetup} 支持的多数选项可用。
% \changes{v1.10}{2021/01/08}{修复了 \opt{linktopage} 选项关闭时目录中标题编号无超链接的问题。}
-% \changes{v1.24p}{2021/04/05}{增加 \pkg{hyperref} 超链接选项完整的支持。}
+% \changes{v1.24q}{2021/04/05}{增加 \pkg{hyperref} 超链接选项完整的支持。}
% \end{function}
%
% \begin{optdesc}
@@ -344,7 +344,7 @@ The latest version of this license is in
% \ding{229} 以上选项路径为 \opt{bibset/...}
% \changes{v1.21}{2021/01/11}{增加 \opt{bibset} 选项,可以使用 \hologo{BibTeX} 或 \hologo{biber} 编译参考文献。}
% \changes{v1.23}{2021/02/23}{使用 \opt{bibset} 选项时可设置标注风格。}
-% \changes{v1.24p}{2021/04/09}{可以不载入参考文献包手动配置参考文献格式。}
+% \changes{v1.24q}{2021/04/09}{可以不载入参考文献包手动配置参考文献格式。}
% \end{function}
%
% \begin{optdesc}
@@ -490,7 +490,7 @@ The latest version of this license is in
% \changes{v1.21}{2021/01/13}{增加配置页眉页脚的选项。}
% \changes{v1.23}{2021/03/08}{优化页眉页脚设置,增加 \opt{chap-mark} 和 \opt{sec-mark} 标志选项。}
% \changes{v1.23}{2021/03/14}{可以手动绘制页眉、页脚和脚注的横线。}
-% \changes{v1.24p}{2021/04/09}{增加 \opt{subsec-mark} 标志选项,仅在 \opt{article} 模式生效。}
+% \changes{v1.24q}{2021/04/09}{增加 \opt{subsec-mark} 标志选项,仅在 \opt{article} 模式生效。}
% \end{function}
%
% \begin{function}[added = 2021-01-13,updated = 2021-03-14]{\easyhead,\easyfoot}
@@ -529,7 +529,7 @@ The latest version of this license is in
%
% \opt{format} 是目录中标题的格式,可以设置字体和加入垂直间距等,垂直间距最好使用无间距重合的 \tn{addvspace} 命令。\opt{indent} 是目录中标题在页面左侧的缩进距离,应该有长度单位。\opt{rule} 选项中一般应当使用 \tn{tocrule} 命令,将会在接下来介绍。\opt{numsep} 是有编号的标题在目录中编号与标题的间距。
% \changes{v1.21}{2021/01/13}{增加配置目录样式的选项。}
-% \changes{v1.24p}{2021/04/20}{增加目录中编号与标题的间距选项 \opt{numsep}。}
+% \changes{v1.24q}{2021/04/20}{增加目录中编号与标题的间距选项 \opt{numsep}。}
% \end{function}
%
% \begin{function}[added = 2021-01-13,updated = 2021-04-20]{\tocrule,\EbNumberline}
@@ -568,9 +568,9 @@ The latest version of this license is in
% indent-all = <目录标题左边缩进>
% \end{syntax}
% \ding{229} 以上选项路径为 \opt{tocset/lists/...} 或 \opt{tocset/...}
-% \changes{v1.24p}{2021/04/05}{可以设置图、表和代码目录的标签。}
-% \changes{v1.24p}{2021/04/06}{增加目录引导线右边对齐方式。}
-% \changes{v1.24p}{2021/04/19}{给目录增加 \opt{hang} 样式选项。}
+% \changes{v1.24q}{2021/04/05}{可以设置图、表和代码目录的标签。}
+% \changes{v1.24q}{2021/04/06}{增加目录引导线右边对齐方式。}
+% \changes{v1.24q}{2021/04/19}{给目录增加 \opt{hang} 样式选项。}
% \end{function}
%
% \begin{optdesc}
@@ -610,7 +610,7 @@ The latest version of this license is in
% \tn{end}\marg{环境名}
% \end{syntax}
% \pkg{enumitem} 宏包为系统预置的列表环境 \env{enumerate}、\env{itemize}和 \env{description} 提供了更灵活的标签以及间距的控制,可使用 \tn{setlist} 命令设置原有的三种列表格式,也可以直接使用可选参数的键值列表,具体选项见 \pkg{enumitem} 宏包文档。已为三种列表预置了三个级别的格式可相互嵌套,默认标签与 \cls{book} 文档类相同,若自定义标签可例如
-% \changes{v1.24p}{2021/04/08}{重新优化列表环境的配置。}
+% \changes{v1.24q}{2021/04/08}{重新优化列表环境的配置。}
% \end{function}
%
% \begin{ctexexam}
@@ -729,16 +729,16 @@ The latest version of this license is in
% \tn{end}\marg{ebparbox}
% \end{syntax}
% 环境 \env{ebparbox} 与 \env{easybox} 类似,同样带有三个可选参数。当使用星号参数时盒子左边带有一条竖线,\meta{颜色名} 选项可以自定义竖线颜色,使用不带有星号的环境则盒子带有竖线颜色的浅色背景。\meta{段落标题} 选项可以设置标题,默认无标题。
-% \changes{v1.24p}{2021/04/19}{优化盒子环境的选项,增加可带有标题的扁平盒子 \env{ebparbox}。}
+% \changes{v1.24q}{2021/04/19}{优化盒子环境的选项,增加可带有标题的扁平盒子 \env{ebparbox}。}
% \end{function}
%
% \subsubsection{行内盒子}
-% \begin{function}[added = 2021-03-13]{\concise,\fuzzy}
+% \begin{function}[added = 2021-03-13,updated = 2021-04-21]{\eblink,\ebemph}
% \begin{syntax}
-% \tn{concise}\oarg{颜色名}\marg{内容}\oarg{配置选项}
-% \tn{fuzzy}\oarg{颜色名}\marg{内容}\oarg{配置选项}
+% \tn{eblink}\oarg{颜色名}\marg{内容}\oarg{配置选项}
+% \tn{ebemph}\oarg{颜色名}\marg{内容}\oarg{配置选项}
% \end{syntax}
-% 设置了两个参数选项相同的行内盒子,盒子 \opt{concise} 为抄录盒子有三个参数,行内盒子内容是必选参数其他可选。盒子 \opt{fuzzy} 也是抄录盒子,具有模糊边缘类似高亮的效果。
+% 设置了两个参数选项相同的行内盒子,盒子 \opt{eblink} 为抄录盒子有三个参数,行内盒子内容是必选参数其他可选。盒子 \opt{ebemph} 也是抄录盒子,具有模糊边缘类似高亮的效果。
% \end{function}
%
% \section{其它用法}
@@ -788,7 +788,7 @@ The latest version of this license is in
% \tn{labelformat}\marg{计数器}\marg{标签引用格式}
% \end{syntax}
% 使用 \tn{ref} 命令进行引用将会自动检测环境并添加相应的前缀,\tn{labelformat} 可以设置标签引用格式,第二个参数中\#1代表 \tn{the}\meta{计数器},可以设置引用序号的前缀和后缀。
-% \changes{v1.24p}{2021/04/11}{取消载入 \pkg{cleveref} 宏包来交叉引用。}
+% \changes{v1.24q}{2021/04/11}{取消载入 \pkg{cleveref} 宏包来交叉引用。}
% \end{function}
%
% \subsubsection{索引}
@@ -898,7 +898,7 @@ The latest version of this license is in
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplClass{easybook}{2021/04/20}{1.24p}{beta}
+\ProvidesExplClass{easybook}{2021/04/21}{1.24q}{beta}
\cs_generate_variant:Nn \__ctex_define:nn {nx}
\cs_generate_variant:Nn \int_to_arabic:n {v}
@@ -1541,8 +1541,8 @@ The latest version of this license is in
{lstlisting}{lists}
}{\__eb_titlecontents_set:nn #1}
-\prop_new:N \l_label_name_prop
-\prop_set_from_keyval:Nn \l_label_name_prop
+\prop_new:N \l__eb_label_name_prop
+\prop_set_from_keyval:Nn \l__eb_label_name_prop
{
figure = \eb@labelname@lof,
table = \eb@labelname@lot
@@ -1556,7 +1556,7 @@ The latest version of this license is in
\ifodd\eb@titletoc@hang@fix
\protect\numberline
\fi
- {\prop_item:Nn \l_label_name_prop{#2}{#3}}{#4}
+ {\prop_item:Nn \l__eb_label_name_prop{#2}{#3}}{#4}
}
}
\ctex_patch_cmd:Nnn \lst@MakeCaption
@@ -1908,10 +1908,10 @@ The latest version of this license is in
\setcounter{topnumber}{4}
\setcounter{bottomnumber}{4}
\setcounter{totalnumber}{8}
-\cs_gset:Npn \textfraction{0.18}
-\cs_gset:Npn \topfraction{0.85}
-\cs_gset:Npn \bottomfraction{0.65}
-\cs_gset:Npn \floatpagefraction{0.60}
+\tl_gset:Nn \textfraction{0.18}
+\tl_gset:Nn \topfraction{0.85}
+\tl_gset:Nn \bottomfraction{0.65}
+\tl_gset:Nn \floatpagefraction{0.60}
\newcolumntype{L}{X}
\newcolumntype{C}{>{\centering\arraybackslash}X}
@@ -2225,17 +2225,17 @@ The latest version of this license is in
beforeafter~skip = 1.5ex,
colframe = #2,coltitle = #2,#4
}
- \DeclareTotalTCBox{\fuzzy}{O{DarkSeaGreen}vO{}}
+ \DeclareTotalTCBox{\ebemph}{O{DarkSeaGreen}vO{}}
{
nobeforeafter,tcbox~raise~base,
blank,fuzzy~halo = 2pt~with~#1,#3
}{#2}
- \DeclareTotalTCBox{\concise}{O{Aqua}vO{}}
+ \DeclareTotalTCBox{\eblink}{O{Aqua}vO{}}
{
nobeforeafter,tcbox~raise~base,
- top = 2pt,bottom = 2.5pt,left = 2pt,right = 2pt,
+ top = 1.25pt,bottom = 1.25pt,left = 1.25pt,right = 1.25pt,
boxrule = 0.75pt,arc = 1pt,
- colback = #1!15!white,#3
+ colback = #1!12!white,colframe = #1,#3
}{#2}
}
\ctex_at_end_preamble:n