summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-02-12 03:00:39 +0000
committerNorbert Preining <norbert@preining.info>2022-02-12 03:00:39 +0000
commit5656f95d1f5070edb430085a49ca8cd1f6f6f064 (patch)
treebfadc14c9b4a3c051099eadb6eb4a6dd302005af /macros
parent4eb178c7cffedf8da4dc598b6d187a142e5ad93d (diff)
CTAN sync 202202120300
Diffstat (limited to 'macros')
-rw-r--r--macros/latex/contrib/easybook/README.md2
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx10
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin576000 -> 576672 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.tex10
-rw-r--r--macros/luatex/generic/luatexja/README8
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja-en.pdfbin717058 -> 717060 bytes
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja-ja.pdfbin1144502 -> 1147252 bytes
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja.dtx40
-rw-r--r--macros/luatex/generic/luatexja/src/addons/luatexja-adjust.sty15
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-adjust.lua21
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-jfmglue.lua2
-rw-r--r--macros/luatex/generic/luatexja/src/luatexja.sty2
12 files changed, 78 insertions, 32 deletions
diff --git a/macros/latex/contrib/easybook/README.md b/macros/latex/contrib/easybook/README.md
index d80160b853..b8e72e8753 100644
--- a/macros/latex/contrib/easybook/README.md
+++ b/macros/latex/contrib/easybook/README.md
@@ -1,6 +1,6 @@
# Easybook document class
-Easybook is based on the book document class of ctexbook to create a minimalist style template. 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 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.
## License
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index 7829fa7ea4..3e1a1609b5 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -15,7 +15,7 @@
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2022/02/10}{1.622}
+\ProvidesExplClass{easybook}{2022/02/11}{1.623}
{Typeset Chinese theses or books}
\bool_set_false:N \l__eb_compile_draft_bool
@@ -305,7 +305,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2022/02/10}{1.622}
+\ProvidesExplPackage{easybase}{2022/02/11}{1.623}
{Typeset Chinese theses or books}
\cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -872,7 +872,7 @@
\ctex_define:nn { hdrset }
{
fnindent .dim_set:N = \footindent,
- fnindent .initial:n = 0.75em,
+ fnindent .initial:n = 0.8em,
fnparskip .skip_set:N = \footparskip,
fnparskip .initial:n = 0ex,
fnparindent .tl_set:N = \footparindent,
@@ -1748,7 +1748,7 @@
table .fp_set:N = \l__eb_spread_table_fp,
table .initial:n = 1.354,
math .fp_set:N = \l__eb_spread_math_fp,
- math .initial:n = 1.3,
+ math .initial:n = 1.354,
footnote .fp_set:N = \l__eb_spread_footnote_fp,
footnote .initial:n = 1.2,
caption-table .fp_set:N = \l__eb_spread_cap_table_fp,
@@ -2332,7 +2332,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2022/02/10}{1.622}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2022/02/11}{1.623}
{Customization of tcolorbox for easybook}
\cs_set_protected:Npn \addtotcbstyle #1#2
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index 5f874f9cbe..d0bae8c32f 100644
--- a/macros/latex/contrib/easybook/easybook.pdf
+++ b/macros/latex/contrib/easybook/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/easybook.tex b/macros/latex/contrib/easybook/easybook.tex
index 556c7aff7b..aa8364f58f 100644
--- a/macros/latex/contrib/easybook/easybook.tex
+++ b/macros/latex/contrib/easybook/easybook.tex
@@ -21,15 +21,15 @@
name = easybook,
color-scheme = blue,
title = EASYBOOK 使用手册,
- version = v1.622,
- date = 2022/02/10,
+ version = v1.623,
+ date = 2022/02/11,
authors = 瞿毅,
info = 排版简体中文学位论文和书籍,
email = q1jx@foxmail.com,
url = https://gitee.com/texl3/easybook,
abstract =
{
- \cls*{easybook} 是基于 \cls*{ctexbook} 书籍文档类创建以极简为风格的模板,同时兼具 \cls*{book} 与 \cls*{article} 文档类的功能。结合中国许多高校学位论文的通用框架设计,提供多个命令和接口可以使用户简便地定制论文模板。它的基础宏包 \pkg*{easybase} 还可以搭配 C\TeX 和标准文档类使用。
+ \cls*{easybook} 是基于 \cls*{ctexbook} 书籍文档类创建的纯净学术模板,同时兼具 \cls*{book} 与 \cls*{article} 文档类的功能。结合中国许多高校学位论文的通用框架设计,提供多个命令和接口可以使用户简便地定制论文模板。它的基础宏包 \pkg*{easybase} 还可以搭配 C\TeX 和标准文档类使用。
},
arg-format = \normalfont\small\itshape,
abstract-format = \small,
@@ -550,7 +550,7 @@
正文行距因子,注意 C\TeX 宏集原有的行距选项 \option*{linespread} 失效。
\keyval{table}{数值}\Default{1.354}
表格内容行距因子。对传统表格 \env*{tabular} 和 \env*{tabularx} 等环境以及 \pkg*{tabularray} 宏包的 \env{tblr} 环境生效,同时 \env{tblr} 也自带有 \option*{stretch} 选项设置行距系数。
- \keyval{math}{数值}\Default{1.3}
+ \keyval{math}{数值}\Default{1.354}
数学环境的行距因子,包含了 \pkg*{amsmath} 和 \pkg*{mathtools} 宏包提供的公式环境。
\keyval{caption-figure}{数值}\Default{1.2}
图片题注的行距因子。
@@ -792,7 +792,7 @@
\ebhdrset{footnotetype = default,footnotetype = bottom}
\ebhdrset{footnotetype = {hang,bottom}}
\end{ctexexam}
- \keyval{fnindent}{刚性长度}\Default{0.75em}
+ \keyval{fnindent}{刚性长度}\Default{0.8em}
每个脚注首段的首行缩进(选项 \option*{hang} 为整体缩进),等于长度 \cs{footindent} 的值。
\keyval{fnparskip}{弹性长度}\Default{0ex}
不同脚注的段落间距,等于长度 \cs{footparskip} 的值。
diff --git a/macros/luatex/generic/luatexja/README b/macros/luatex/generic/luatexja/README
index eb5320238d..a7b65cee77 100644
--- a/macros/luatex/generic/luatexja/README
+++ b/macros/luatex/generic/luatexja/README
@@ -1,4 +1,4 @@
-The LuaTeX-ja Package 20220207.0
+The LuaTeX-ja Package 20220211.0
--------------------------------
Copyright (c) 2011--2022 The LuaTeX-ja project
License: modified BSD (see COPYING)
@@ -42,9 +42,9 @@ Installation
2. If you must/want to install manually:
a. Download the source archive from CTAN,
- or tagged as 20220207.0 in the Git repository by
+ or tagged as 20220211.0 in the Git repository by
<http://git.osdn.jp/view?p=luatex-ja/luatexja.git
- ;a=snapshot;h=refs/tags/20220207.0;sf=tgz>
+ ;a=snapshot;h=refs/tags/20220211.0;sf=tgz>
b. Extract the archive and process following three files by LuaLaTeX
to generate classes for Japanese typesetting:
@@ -93,4 +93,4 @@ Notes
This file and ltj-kinsoku.lua are not used anymore.
(Do not remove ltj-kinsoku.tex.)
-Last commit date: Mon Feb 7 13:14:19 2022 +0900
+Last commit date: Fri Feb 11 07:50:08 2022 +0900
diff --git a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
index c97ff3a934..5ebcaab7e3 100644
--- a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
+++ b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
Binary files differ
diff --git a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
index 32da85ec15..0014d5e0f2 100644
--- a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
+++ b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
Binary files differ
diff --git a/macros/luatex/generic/luatexja/doc/luatexja.dtx b/macros/luatex/generic/luatexja/doc/luatexja.dtx
index 24c31e1932..bdd6f3acb3 100644
--- a/macros/luatex/generic/luatexja/doc/luatexja.dtx
+++ b/macros/luatex/generic/luatexja/doc/luatexja.dtx
@@ -7838,19 +7838,45 @@ stretch_priority={kanjiskip=-35,xkanjiskip=-25,others=50}
初期値は1(つまり\cs{lineskip}(の自然長))である.
\end{cslist}
-さらに,バージョン20220207.0以降では次の命令が提供される:
+さらに,バージョン20220211.0以降では次の命令が提供される.
\begin{cslist}
- \item[\cs{ltjghostjachar}]
+ \item[\cs{ltjghostbeginjachar}]
\LuaTeX-ja本体が提供している\cs{ltjfakeparbegin}, \cs{ltjfakeboxbdd}と類似の命令である.
実行された箇所が(限定・非限定を問わず)水平モードであった場合に,実行された箇所は
- 「文字クラス0の\textbf{JAchar}」の直前かつ直後であると,\LuaTeX-jaの和文処理グルー挿入処理に認識させる.
+ 「文字クラス0の\textbf{JAchar}」の直前であると,
+ \LuaTeX-jaの和文処理グルー挿入処理に認識させる.以下の実行例を参照.
- 主な仕様用途は和文ゴーストでの使用である.\Pkg{BXghost}パッケージ(\cite{bxghost})などでは
- 伝統的に全角空白(\texttt{U+3000})と\verb+\kern-1\zw+を組み合わせた方法が使われてきたが,
- \LuaTeX-jaでは全角空白を使っただけではうまくいかない可能性があるため,新たに命令が用意された.
+\medskip
+\begin{LTXexample}[width=18\zw]
+\ltjsetparameter{kanjiskip=14pt,xkanjiskip=50pt}
+\let\LG=\ltjghostbeforejachar
+A\LG B \par% ==> ALchar--(xkanjiskip)--\LG
+A\LG 字 \par% ==> ALchar--(xkanjiskip)--\LG
+漢\LG B \par% ==> JAchar--(kanjiskip)--\LG
+漢\LG 字 \par% ==> JAchar--(kanjiskip)--\LG
+\end{LTXexample}
+
+ \item[\cs{ltjghostafterjachar}]
+ \cs{ltjghostbeginjachar}と対を成す命令で,実行された箇所は
+ 「文字クラス0の\textbf{JAchar}」の直後であると,
+ \LuaTeX-jaの和文処理グルー挿入処理に認識させる.以下の実行例を参照.
- なお,本命令は将来的に\LuaTeX-ja本体に組み込む可能性もある.
+\medskip
+\begin{LTXexample}[width=18\zw]
+\ltjsetparameter{kanjiskip=14pt,xkanjiskip=50pt}
+\let\LG=\ltjghostafterjachar
+A\LG B \par% ==> \LG--(xkanjiskip)--ALchar
+漢\LG B \par% ==> \LG--(xkanjiskip)--ALchar
+A\LG 字 \par% ==> \LG--(kanjiskip)--JAchar
+漢\LG 字 \par% ==> \LG--(kanjiskip)--JAchar
+\end{LTXexample}
\end{cslist}
+なお,バージョン20220207.0で追加された\cs{ltjghostjachar}は実装にバグがあったのと「両側」
+という点が扱いづらかったので,将来は削除する予定である.
+
+両命令の主な仕様用途は和文ゴーストでの使用である.\Pkg{BXghost}パッケージ(\cite{bxghost})などでは
+伝統的に全角空白(\texttt{U+3000})と\verb+\kern-1\zw+を組み合わせた方法が使われてきたが,
+\LuaTeX-jaでは全角空白を使っただけではうまくいかない可能性があるため,新たに命令が用意された.
%</ja>
diff --git a/macros/luatex/generic/luatexja/src/addons/luatexja-adjust.sty b/macros/luatex/generic/luatexja/src/addons/luatexja-adjust.sty
index 5d37eb6258..ab0c580746 100644
--- a/macros/luatex/generic/luatexja/src/addons/luatexja-adjust.sty
+++ b/macros/luatex/generic/luatexja/src/addons/luatexja-adjust.sty
@@ -64,7 +64,7 @@
\expandafter\let\csname ifltj@in@latex\expandafter\endcsname
\csname iftrue\endcsname
\NeedsTeXFormat{LaTeX2e}
- \ProvidesPackage{luatexja-adjust}[2022-02-07]
+ \ProvidesPackage{luatexja-adjust}[2022-02-11]
\fi %</LaTeX>
% Load core module if not yet.
@@ -137,13 +137,18 @@
\define@key[ltj]{japaram}{profile_hgap_factor}{%
\directlua{luatexja.adjust.profile_hgap_factor = math.abs(#1)}\relax}
-\newluafunction\ltj@@ghost@jachar@inner
-\typeout{\the\ltj@@ghost@jachar@inner.}
+\newluafunction\ltj@@ghost@jachar@inner@both
+\newluafunction\ltj@@ghost@jachar@inner@before
+\newluafunction\ltj@@ghost@jachar@inner@after
\directlua{
local t = lua.get_functions_table(); local cgj = luatexja.adjust.create_ghost_jachar_node;
- t[\the\ltj@@ghost@jachar@inner] = function() cgj(0) end
+ t[\the\ltj@@ghost@jachar@inner@both] = function() cgj(0) end;
+ t[\the\ltj@@ghost@jachar@inner@before] = function() cgj(1) end;
+ t[\the\ltj@@ghost@jachar@inner@after] = function() cgj(2) end
}%
-\protected\def\ltjghostjachar{\ifhmode\relax\luafunction\ltj@@ghost@jachar@inner\fi}
+\protected\def\ltjghostjachar{\ifhmode\relax\luafunction\ltj@@ghost@jachar@inner@both\fi}% will be removed
+\protected\def\ltjghostbeforejachar{\ifhmode\relax\luafunction\ltj@@ghost@jachar@inner@before\fi}
+\protected\def\ltjghostafterjachar{\ifhmode\relax\luafunction\ltj@@ghost@jachar@inner@after\fi}
%%------------------ all done
diff --git a/macros/luatex/generic/luatexja/src/ltj-adjust.lua b/macros/luatex/generic/luatexja/src/ltj-adjust.lua
index 87c85dd07a..71584d8b5c 100644
--- a/macros/luatex/generic/luatexja/src/ltj-adjust.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-adjust.lua
@@ -565,11 +565,23 @@ do
setfield(tn, 'value', cl)
node_write(tn)
end
+ local attr_curjfnt = luatexbase.attributes['ltj@curjfnt']
+ local attr_curtfnt = luatexbase.attributes['ltj@curtfnt']
+ local dir_tate = luatexja.dir_table.dir_tate
+ local get_dir_count = ltjd.get_dir_count
+ local ltjf_font_metric_table = ltjf.font_metric_table
+ local function get_current_metric(n)
+ local fn = has_attr(n, (get_dir_count()==dir_tate) and attr_curtfnt or attr_curjfnt)
+ return fn and ltjf_font_metric_table[fn]
+ end
local function whatsit_callback(Np, lp, Nq)
if Np and Np.nuc then return Np
elseif Np and getfield(lp, 'user_id') == GHOST_JACHAR then
- Np.first = lp; Np.nuc = lp; Np.last = lp; Np.class = getfield(lp,'value')
- if Nq then Np.met = Nq.met; Np.pre = 0; Np.post = 0; Np.xspc = 3 end
+ Np.first = lp; Np.nuc = lp; Np.last = lp; Np.class = 0
+ if getfield(lp,'value')<2 then
+ if Nq and Nq.met then Np.met = Nq.met; else Np.met = get_current_metric(lp) end
+ Np.pre = 0; Np.post = 0; Np.xspc = 3
+ else Np.met, Np.pre = nil, nil; end
Np.auto_kspc, Np.auto_xspc = (has_attr(lp, attr_autospc)==1), (has_attr(lp, attr_autoxspc)==1)
return Np
else return Np end
@@ -578,7 +590,10 @@ do
if not s and getfield(Nq.nuc, 'user_id') == GHOST_JACHAR then
local x, y = node_prev(Nq.nuc), Nq.nuc
Nq.first, Nq.nuc, Nq.last = x, x, x
- if Np then Nq.met = Np.met end
+ if getfield(y,'value')%2==0 then
+ if Np and Nq.met then Nq.met = Np.met; else Nq.met = get_current_metric(y) end
+ Nq.pre = 0; Nq.post = 0; Nq.xspc = 3
+ else Nq.met, Nq.pre = nil, nil; end
s = node_remove(head, y); node_free(y)
end
return s
diff --git a/macros/luatex/generic/luatexja/src/ltj-jfmglue.lua b/macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
index 7ada76335b..61c21b9094 100644
--- a/macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
@@ -3,7 +3,7 @@
--
luatexbase.provides_module({
name = 'luatexja.jfmglue',
- date = '2022-02-03',
+ date = '2022-02-09',
description = 'Insertion process of JFM glues, [x]kanjiskip and others',
})
luatexja.jfmglue = luatexja.jfmglue or {}
diff --git a/macros/luatex/generic/luatexja/src/luatexja.sty b/macros/luatex/generic/luatexja/src/luatexja.sty
index ae389af99b..26ebad2832 100644
--- a/macros/luatex/generic/luatexja/src/luatexja.sty
+++ b/macros/luatex/generic/luatexja/src/luatexja.sty
@@ -27,7 +27,7 @@
\newif\ifltj@disablejfam
%%%% VERSION
-\def\LuaTeXjaversion{20220207.0}
+\def\LuaTeXjaversion{20220211.0}
%% Check if LaTeX is used.
\begingroup\expandafter\expandafter\expandafter\endgroup