summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
Diffstat (limited to 'macros')
-rw-r--r--macros/latex/contrib/animate/ChangeLog3
-rw-r--r--macros/latex/contrib/animate/animate.pdfbin3753532 -> 3753810 bytes
-rw-r--r--macros/latex/contrib/animate/animate.sty43
-rw-r--r--macros/latex/contrib/crefthe/README.md19
-rw-r--r--macros/latex/contrib/crefthe/crefthe-doc.pdfbin108754 -> 110051 bytes
-rw-r--r--macros/latex/contrib/crefthe/crefthe-doc.tex14
-rw-r--r--macros/latex/contrib/crefthe/crefthe.sty564
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx16
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin576025 -> 576018 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.tex4
-rw-r--r--macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdfbin40813 -> 40811 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdfbin201045 -> 201045 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-criticalnotes.pdfbin199196 -> 199196 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-sidenotes.pdfbin295847 -> 295847 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-tabular.pdfbin284803 -> 284803 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdfbin200373 -> 200373 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-verses.pdfbin200204 -> 200204 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-antilabe.pdfbin209856 -> 209856 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-cross_referencing.pdfbin199199 -> 199199 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdfbin202702 -> 202702 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-glossaries.pdfbin284462 -> 284462 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-indexing.pdfbin283598 -> 283598 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdfbin277764 -> 277764 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdfbin293260 -> 293260 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-linespacing.pdfbin288423 -> 288423 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdfbin290106 -> 290106 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-notes-width.pdfbin205925 -> 205925 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdfbin211562 -> 211562 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-performances.pdfbin286175 -> 286175 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdfbin31497 -> 31501 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdfbin309311 -> 309311 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdfbin287548 -> 287548 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdfbin199051 -> 199051 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdfbin23428 -> 23425 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdfbin174535 -> 174535 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdfbin32047 -> 32047 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdfbin288679 -> 288679 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdfbin199948 -> 199948 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdfbin199183 -> 199183 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdfbin177026 -> 177026 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdfbin199590 -> 199590 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdfbin198522 -> 198522 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdfbin198573 -> 198573 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdfbin198707 -> 198707 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdfbin213256 -> 213256 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdfbin211867 -> 211867 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdfbin204143 -> 204143 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdfbin297127 -> 297127 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdfbin203251 -> 203251 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdfbin224508 -> 224508 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdfbin249192 -> 249192 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdfbin203970 -> 203970 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdfbin199821 -> 199821 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdfbin301523 -> 301523 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdfbin206311 -> 206311 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdfbin195383 -> 195383 bytes
-rw-r--r--macros/latex/contrib/reledmac/migration.pdfbin368877 -> 368877 bytes
-rw-r--r--macros/latex/contrib/reledmac/reledmac.dtx7
-rw-r--r--macros/latex/contrib/reledmac/reledmac.pdfbin2064848 -> 2065249 bytes
-rw-r--r--macros/latex/contrib/reledmac/reledpar.pdfbin1006705 -> 1006705 bytes
-rw-r--r--macros/latex/contrib/siunitx/CHANGELOG.md8
-rw-r--r--macros/latex/contrib/siunitx/siunitx-code.pdfbin607585 -> 607726 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx-number.dtx24
-rw-r--r--macros/latex/contrib/siunitx/siunitx-print.dtx27
-rw-r--r--macros/latex/contrib/siunitx/siunitx.dtx2
-rw-r--r--macros/latex/contrib/siunitx/siunitx.pdfbin639462 -> 639466 bytes
-rw-r--r--macros/luatex/generic/lua-widow-control/README.md2
-rw-r--r--macros/luatex/generic/lua-widow-control/lua-widow-control.lua6
-rw-r--r--macros/luatex/generic/lua-widow-control/lua-widow-control.pdfbin313200 -> 318979 bytes
-rw-r--r--macros/luatex/generic/lua-widow-control/lua-widow-control.sty2
-rw-r--r--macros/luatex/generic/lua-widow-control/lua-widow-control.tex2
-rw-r--r--macros/luatex/generic/lua-widow-control/lwc-documentation.tex2
-rw-r--r--macros/luatex/generic/lua-widow-control/lwc-sample.tex15
-rw-r--r--macros/luatex/generic/lua-widow-control/t-lua-widow-control.mkxl4
-rw-r--r--macros/xetex/latex/bidi/README13
-rw-r--r--macros/xetex/latex/bidi/bidi-doc-intro.ltx4
-rw-r--r--macros/xetex/latex/bidi/bidi-doc-title.ltx16
-rw-r--r--macros/xetex/latex/bidi/bidi-doc.ltx2
-rw-r--r--macros/xetex/latex/bidi/bidi-doc.pdfbin180395 -> 180744 bytes
-rw-r--r--macros/xetex/latex/bidi/bidi.dtx47
-rw-r--r--macros/xetex/latex/bidi/bidi.pdfbin3119340 -> 3120474 bytes
-rw-r--r--macros/xetex/latex/xepersian/README13
-rw-r--r--macros/xetex/latex/xepersian/xepersian-doc-basics.ltx6
-rw-r--r--macros/xetex/latex/xepersian/xepersian-doc-envcs.ltx8
-rw-r--r--macros/xetex/latex/xepersian/xepersian-doc-intro.ltx4
-rw-r--r--macros/xetex/latex/xepersian/xepersian-doc-pkgs.ltx2
-rw-r--r--macros/xetex/latex/xepersian/xepersian-doc-title.ltx16
-rw-r--r--macros/xetex/latex/xepersian/xepersian-doc.ltx2
-rw-r--r--macros/xetex/latex/xepersian/xepersian-doc.pdfbin242527 -> 246658 bytes
-rw-r--r--macros/xetex/latex/xepersian/xepersian.dtx279
-rw-r--r--macros/xetex/latex/xepersian/xepersian.pdfbin757400 -> 765803 bytes
91 files changed, 715 insertions, 461 deletions
diff --git a/macros/latex/contrib/animate/ChangeLog b/macros/latex/contrib/animate/ChangeLog
index b43af114e4..e2ef9c8a9e 100644
--- a/macros/latex/contrib/animate/ChangeLog
+++ b/macros/latex/contrib/animate/ChangeLog
@@ -1,3 +1,6 @@
+2022-02-04
+ * fix: ocg method: moving back to /OC method (instead of BDC/EMC)
+
2022-01-31
* improvement: optimizing XObject nesting for smaller output files
diff --git a/macros/latex/contrib/animate/animate.pdf b/macros/latex/contrib/animate/animate.pdf
index 7fe63d0830..1046dfa24c 100644
--- a/macros/latex/contrib/animate/animate.pdf
+++ b/macros/latex/contrib/animate/animate.pdf
Binary files differ
diff --git a/macros/latex/contrib/animate/animate.sty b/macros/latex/contrib/animate/animate.sty
index 9a4fed2374..c18e4f3657 100644
--- a/macros/latex/contrib/animate/animate.sty
+++ b/macros/latex/contrib/animate/animate.sty
@@ -13,7 +13,7 @@
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-\def\@anim@version{2022/01/31}
+\def\@anim@version{2022/02/04}
\ProvidesPackage{animate}
[\@anim@version\space PDF & SVG animations from files and inline graphics]
@@ -411,12 +411,7 @@
\ifdim\@anim@curdp=\@anim@animdepth\else\def\@anim@needresize{1}\fi%
% resize content to final dimensions, if necessary
\ifnum\@anim@needresize>\z@\relax%
- \setbox#3=\hbox{%
- \raisebox{-\@anim@animdepth}{%
- \resizebox*{\@anim@animwidth}{%
- \@anim@animtotalheight}{\raisebox{\depth}{\box#3}}%
- }%
- }%
+ \setbox#3=\hbox{\resizebox{\@anim@animwidth}{\@anim@animheight}{\box#3}}%
\fi%
\ifthenelse{\equal{#4}{newfile}\OR\equal{#4}{inline}}{%
\@anim@xform{1}{1}{}{}{#3}%
@@ -488,6 +483,11 @@
\if@anim@export%
\setboolean{@anim@singleref}{false}\def\@anim@framexform{}%
\fi%
+ % ... also, for method=ocg, we prefer packing content in an xform, as it allows
+ % higher frame rates
+ \ifnum\@anim@method=\tw@\if@anim@dvisvgm\else%
+ \setboolean{@anim@singleref}{false}\def\@anim@framexform{}%
+ \fi\fi%
\if@anim@singleref\else%
% put frame content in a box if necessary
\setbox\@anim@box=\hbox to \@anim@animwidth{%
@@ -501,13 +501,12 @@
\setbox\@anim@box=\hbox{\rotatebox{90}{\box\@anim@box}}%
\fi%
\fi%
- % convert it to an xform
- \if@anim@export\else%
+ \fi%
+ \ifcase\@anim@method% icon based
+ \if@anim@singleref\else%
\@anim@xform{0}{1}{}{}{\@anim@box}%
\let\@anim@framexform\@anim@lastxform%
\fi%
- \fi%
- \ifcase\@anim@method% icon based
%initial visibility
\ifnum\@anim@poster>\@anim@mtwo\relax% insert poster frame
\ifnum#2=\@anim@poster\relax%
@@ -547,6 +546,10 @@
\fi%
\fi%
%frame insertion
+ \if@anim@singleref\else%
+ \@anim@xform{0}{1}{}{}{\@anim@box}%
+ \let\@anim@framexform\@anim@lastxform%
+ \fi%
\@anim@widget{\@anim@animwidth}{\@anim@animheight}{\@anim@animdepth}{%
/Subtype/Widget%
\@anim@annotflag%
@@ -579,9 +582,21 @@
\fi%
\fi%
%frame insertion
- \ocgbase@oc@bdc{\@anim@curocg}%
- \@anim@refxform{\@anim@framexform}%
- \ocgbase@oc@emc%
+ \if@anim@dvisvgm%
+ \if@anim@singleref\else%
+ \@anim@xform{0}{1}{}{}{\@anim@box}%
+ \let\@anim@framexform\@anim@lastxform%
+ \fi%
+ % `marked content' method for dvisvgm
+ \ocgbase@oc@bdc{\@anim@curocg}%
+ \@anim@refxform{\@anim@framexform}%
+ \ocgbase@oc@emc%
+ \else%
+ % /OC method for PDF output, higher frame rates than
+ % with marked content (BDC/EMC)
+ \@anim@xform{0}{1}{}{/OC \@anim@curocg}{\@anim@box}%
+ \@anim@refxform{\@anim@lastxform}%
+ \fi%
\fi%
\fi%
}
diff --git a/macros/latex/contrib/crefthe/README.md b/macros/latex/contrib/crefthe/README.md
index e8460c7ae9..db578d078f 100644
--- a/macros/latex/contrib/crefthe/README.md
+++ b/macros/latex/contrib/crefthe/README.md
@@ -1,4 +1,4 @@
-<!-- Copyright (C) 2021 by Jinwen XU -->
+<!-- Copyright (C) 2021-2022 by Jinwen XU -->
# crefthe - cross referencing with proper definite articles
@@ -28,20 +28,25 @@ which is wrong, as the correct result should be:
## The solution
Thus, it would be better to have a new command `\crefthe[<prep>]{<labels>}`, and to use it like
-```
+```latex
\crefthe[de]{thm1,thm2,prop3}
```
in order to get "*des théorèmes 1 et 2 et de la proposition 3*".
# Usage
-Just load the package with
+Simply load the package with:
```latex
\usepackage{crefthe}
```
> "crefthe" uses "cleveref" internally, thus it should usually be placed at the last of your preamble.
-And then you can use the command `\crefthe` as follows:
+Before everything, you need to define the names, which can be done with `\crefthename`. Its syntax is similar to `\crefname`, but now you can specify the definite articles, for example:
+```latex
+\crefthename{theorem}[le]{théorème}[les]{théorèmes}
+```
+
+Then you can use the command `\crefthe` as follows:
- `\crefthe[<prep>]{<labels>}`
- This will pass the preposition `<prep>` to the definite articles that follows. Its behavior depends on the current language (for example, in Spanish, `<prep>` is passed only to the first definite article, while in French it is passed to everyone).
- `\crefthe-[<prep>]{<labels>}` and `\crefthe+[<prep>]{<labels>}`
@@ -49,11 +54,7 @@ And then you can use the command `\crefthe` as follows:
> There is also a stared version `\crefthe*` for generating the same text but without hyperlinks.
-However, before using it, you should first define the `\crefname`s carefully. The definite article in `\crefname`s needs to be marked manually using `\crefthemark`, for example:
-```latex
-\crefname{theorem}{\crefthemark{le} théorème}{\crefthemark{les} théorèmes}
-```
-
+*For more information, please refer to its documentation.*
# License
diff --git a/macros/latex/contrib/crefthe/crefthe-doc.pdf b/macros/latex/contrib/crefthe/crefthe-doc.pdf
index 10ac58da25..7175c64abc 100644
--- a/macros/latex/contrib/crefthe/crefthe-doc.pdf
+++ b/macros/latex/contrib/crefthe/crefthe-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/crefthe/crefthe-doc.tex b/macros/latex/contrib/crefthe/crefthe-doc.tex
index 736f44876b..39d53e76b0 100644
--- a/macros/latex/contrib/crefthe/crefthe-doc.tex
+++ b/macros/latex/contrib/crefthe/crefthe-doc.tex
@@ -89,8 +89,8 @@
\title{\crefthepackage{} - cross referencing with proper definite articles}
\author{Jinwen XU}
-\thanks{Corresponding to: \texttt{\crefthepackage{} 2022/01/29}}
-\date{January 2022, in Paris}
+\thanks{Corresponding to: \texttt{\crefthepackage{} 2022/02/04}}
+\date{February 2022, in Paris}
\maketitle
@@ -226,15 +226,17 @@ Of course you will have to define the \lstinline|\Crefthename|s separately, for
\crefthepackage{} loads \textsf{cleveref} automatically and pass all the options to it. All its commands, used without optional arguments, degenerate to those in \textsf{cleveref}. For example, \lstinline|\crefthe{...}| is the same as \lstinline|\cref{...}|, and \lstinline|\crefthename| is the same as \lstinline|\crefname| if the definite articles are not specified. That said, you can safely use the command \lstinline|\crefthe| everywhere in your document without causing extra trouble.
+With the option \texttt{overwrite}, user commands in \textsf{cleveref} will be replaced by those offered here, thus you can simply write \lstinline|\cref| for \lstinline|\crefthe| -- and similarly for \lstinline|\Cref|, \lstinline|\crefname| and \lstinline|\Crefname|.
+
\section{For multi-language documents}
-To place hyperlinks at the right place, \lstinline|\crefthename| touches the corresponding \lstinline|\crefformat| internally, which makes it language-dependent. If you are writing multi-language documents, you may like to consider putting \lstinline|\crefthename| inside your language configuration so as to reset it each time you select a new language.
+To place hyperlinks at the right place, \lstinline|\crefthename| touches the corresponding \lstinline|\crefformat| internally, which makes the format language-dependent. If you are writing multi-language documents, you may consider putting \lstinline|\crefthename| inside your language configuration so as to reset it each time you select a new language.
\section{Known issues}
\begin{itemize}
- \item \crefthepackage{} currently only works for French, Italian, Portuguese (European and Brazilian) and Spanish, certainly more would be added to this list.
- \item The current mechanism does not work for German. However, the author has planed to adopt a more refined approach in later versions in order to support the various situations in German.
- \item For now, the automatic case changing mechanism only works properly under Unicode based engines. If you are using pdf\LaTeX{} or typing accented letters with text commands, \lstinline|\Crefthe| will not work as expected.
+ \item \crefthepackage{} currently works for French, Italian, Portuguese (European and Brazilian) and Spanish, certainly more would be added to this list.
+ \item The current mechanism does not work for German. The author plans to adopt a more refined approach in later versions in order to support the various situations in German.
+ \item For now, the automatic case changing mechanism only works properly under Unicode based engines. If you are using pdf\LaTeX{} or typing accented letters with text commands, \lstinline|\Crefthe| may not work as expected.
% \item In case that the initial letter of \meta{prep} is capitalized, \crefthepackage{} cannot yet handle the case changes automatically. However, this should be a rare occurrence.
\item The names of theorem-like environments are not provided --- for the moment you need to define them all by yourself. However, users are encouraged to use the \ProjLib{} toolkit, which already handles everything for you.
\end{itemize}
diff --git a/macros/latex/contrib/crefthe/crefthe.sty b/macros/latex/contrib/crefthe/crefthe.sty
index ad752f87b5..2da1714334 100644
--- a/macros/latex/contrib/crefthe/crefthe.sty
+++ b/macros/latex/contrib/crefthe/crefthe.sty
@@ -10,281 +10,327 @@
%% http://www.latex-project.org/lppl.txt
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
+\RequirePackage{l3keys2e}
\ProvidesExplPackage
{crefthe}
- {2022/01/29}
- {}
+ {2022/02/04} {}
{Cross referencing with proper definite articles}
-\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{cleveref}}
-\ProcessOptions\relax
+
+\keys_define:nn {crefthe}
+ {
+ , overwrite .bool_set:N = \l__crefthe_overwrite_bool
+ , overwrite .initial:n = { false }
+ , unknown .code:n =
+ {
+ \PassOptionsToPackage { \CurrentOption } {cleveref}
+ }
+ }
+\ProcessKeysOptions{crefthe}
+
\RequirePackage{cleveref}
-\tl_gset:Nn \g_crefthe_prepf_tl {}
-\tl_gset:Nn \g_crefthe_prep_tl {}
-\tl_gset:Nn \g_crefthe_sep_tl {}
-\cs_new:Nn \crefthe_case:n {#1}
-\cs_new:Nn \crefthe_nochange:n {#1}
-\cs_new:Nn \crefthe_atbegindocument:n {#1}
+\cs_set_eq:cc {crefthe_cref_original:n} {cref}
+\cs_set_eq:cc {crefthe_Cref_original:n} {Cref}
+\cs_set_eq:cc {crefthe_crefname_original:n} {crefname}
+\cs_set_eq:cc {crefthe_Crefname_original:n} {Crefname}
-\cs_new:Nn \crefthe_set_status_atbegindocument: {
- \cs_if_eq:NNTF \@onlypreamble \@notprerr {
- \cs_gset_eq:NN \crefthe_atbegindocument:n \crefthe_nochange:n
- }{
- \cs_gset_eq:NN \crefthe_atbegindocument:n \AtBeginDocument
- }
-}
+\bool_if:NT \l__crefthe_overwrite_bool
+ {
+ \hook_gput_next_code:nn {package/crefthe/after}
+ {
+ \cs_set_eq:cc {cref} {crefthe}
+ \cs_set_eq:cc {Cref} {Crefthe}
+ \cs_set_eq:cc {crefname} {crefthename}
+ \cs_set_eq:cc {Crefname} {Crefthename}
+ }
+ }
-\NewDocumentCommand{\crefthe}{st-t+O{}m}{
- \IfBooleanTF{ #2 }{
- \tl_gset:Nn \g_crefthe_prepf_tl { #4 }
- }{
- \IfBooleanTF{ #3 }{
- \tl_gset:Nn \g_crefthe_prep_tl { #4 }
- }{
- \str_case_e:nn { \crefthe_prep_mode:nn } {
- { - } { \tl_gset:Nn \g_crefthe_prepf_tl { #4 } }
- { + } { \tl_gset:Nn \g_crefthe_prep_tl { #4 } }
- }
- }
- }
- \IfBooleanTF{ #1 } { \cref*{#5} } { \cref{#5} }
- \tl_gset:Nn \g_crefthe_prep_tl {}
-}
+\tl_new:N \g__crefthe_prep_once_tl
+\tl_new:N \g__crefthe_prep_each_tl
-\NewDocumentCommand{\Crefthe}{st-t+O{}m}{
- \cs_gset_eq:NN \crefthe_case:n \text_titlecase:n
- \IfBooleanTF{ #2 }{
- \tl_gset:Nn \g_crefthe_prepf_tl { #4 }
- }{
- \IfBooleanTF{ #3 }{
- \tl_gset:Nn \g_crefthe_prep_tl { #4 }
- }{
- \str_case_e:nn { \crefthe_prep_mode:nn } {
- { - } { \tl_gset:Nn \g_crefthe_prepf_tl { #4 } }
- { + } { \tl_gset:Nn \g_crefthe_prep_tl { #4 } }
- }
- }
- }
- \IfBooleanTF{ #1 } { \Cref*{#5} } { \Cref{#5} }
- \tl_gset:Nn \g_crefthe_prep_tl {}
-}
+\tl_new:N \l__crefthe_prep_mode_tl
-\NewDocumentCommand{\crefthename}{mO{}mO{}m}{
- \str_if_eq:eeTF {#2} {} {
- \crefname{#1}{#3}{#5}
- \cs_set:cn {cref_#1_format:nnn} {##2#3~##1##3}
- \cs_set:cn {cref_#1_format_first:nnn} {##2#5~##1##3}
- }{
- \crefname{#1}{\crefthemark{#2} \g_crefthe_sep_tl #3}{\crefthemark{#4} \g_crefthe_sep_tl #5}
- \cs_set:cn {cref_#1_format:nnn} {\crefthemark{#2} \g_crefthe_sep_tl ##2#3~##1##3}
- \cs_set:cn {cref_#1_format_first:nnn} {\crefthemark{#4} \g_crefthe_sep_tl ##2#5~##1##3}
- }
- \crefthe_set_status_atbegindocument:
- \crefthe_atbegindocument:n {
- \cs_set_eq:cc {cref@#1@format} {cref_#1_format:nnn}
- \cs_set_eq:cc {cref@#1@format@first} {cref_#1_format_first:nnn}
- }
-}
+\cs_new:Nn \crefthe_case:n { #1 }
+\cs_new:Nn \crefthe_nochange:n { #1 }
-\NewDocumentCommand{\Crefthename}{mO{}mO{}m}{
- \str_if_eq:eeTF {#2} {} {
- \Crefname{#1}{#3}{#5}
- \cs_set:cn {Cref_#1_format:nnn} {##2#3~##1##3}
- \cs_set:cn {Cref_#1_format_first:nnn} {##2#5~##1##3}
- }{
- \Crefname{#1}{\crefthemark{#2} \g_crefthe_sep_tl #3}{\crefthemark{#4} \g_crefthe_sep_tl #5}
- \cs_set:cn {Cref_#1_format:nnn} {\crefthemark{#2} \g_crefthe_sep_tl ##2#3~##1##3}
- \cs_set:cn {Cref_#1_format_first:nnn} {\crefthemark{#4} \g_crefthe_sep_tl ##2#5~##1##3}
- }
- \crefthe_set_status_atbegindocument:
- \crefthe_atbegindocument:n {
- \cs_set_eq:cc {Cref@#1@format} {Cref_#1_format:nnn}
- \cs_set_eq:cc {Cref@#1@format@first} {Cref_#1_format_first:nnn}
- }
-}
+\NewDocumentCommand \crefthe { s t- t+ O{} m }
+ {
+ \bool_if:nTF { #2 }
+ {
+ \tl_gset:Nn \g__crefthe_prep_once_tl { #4 }
+ }
+ {
+ \bool_if:nTF { #3 }
+ {
+ \tl_gset:Nn \g__crefthe_prep_each_tl { #4 }
+ }
+ {
+ \exp_args:Nx \str_case:nn \l__crefthe_prep_mode_tl
+ {
+ { - } { \tl_gset:Nn \g__crefthe_prep_once_tl { #4 } }
+ { + } { \tl_gset:Nn \g__crefthe_prep_each_tl { #4 } }
+ }
+ }
+ }
+ \bool_if:nTF { #1 } { \crefthe_cref_original:n * { #5 } } { \crefthe_cref_original:n { #5 } }
+ \tl_gset:Nn \g__crefthe_prep_each_tl {}
+ }
-\NewDocumentCommand{\crefthemark}{m}{
- \crefthe_contraction:nn { \crefthe_case:n \g_crefthe_prep_tl }{
- \crefthe_contraction:nn { \crefthe_case:n \g_crefthe_prepf_tl }{#1}
- }
- \tl_gset:Nn \g_crefthe_prepf_tl {}
- \tl_gset:Nx \g_crefthe_prep_tl { \text_lowercase:n \g_crefthe_prep_tl }
- \str_case_e:nnF {\str_tail:n {#1}} {
- {'} { \tl_gset:Nn \g_crefthe_sep_tl {} }
- }
- { \tl_gset:Nn \g_crefthe_sep_tl {~} }
- \cs_gset_eq:NN \crefthe_case:n \crefthe_nochange:n
- % \cs_gset_eq:NN \crefthe_case:n \text_lowercase:n
-}
+\NewDocumentCommand \Crefthe { s t- t+ O{} m }
+ {
+ \cs_gset:Npn \crefthe_case:n ##1 { \text_titlecase:n {##1} }
+ \bool_if:nTF { #2 }
+ {
+ \tl_gset:Nn \g__crefthe_prep_once_tl { #4 }
+ }
+ {
+ \bool_if:nTF { #3 }
+ {
+ \tl_gset:Nn \g__crefthe_prep_each_tl { #4 }
+ }
+ {
+ \exp_args:Nx \str_case:nn \l__crefthe_prep_mode_tl
+ {
+ { - } { \tl_gset:Nn \g__crefthe_prep_once_tl { #4 } }
+ { + } { \tl_gset:Nn \g__crefthe_prep_each_tl { #4 } }
+ }
+ }
+ }
+ \bool_if:nTF { #1 } { \crefthe_Cref_original:n * { #5 } } { \crefthe_Cref_original:n { #5 } }
+ \tl_gset:Nn \g__crefthe_prep_each_tl {}
+ }
+
+\NewDocumentCommand \crefthename { m O{} m O{} m }
+ {
+ \tl_if_blank:eTF { #2 }
+ {
+ \crefthe_crefname_original:n { #1 } { #3 } { #5 }
+ \cs_set:cn { cref_#1_format:nnn } { ##2 #3 ~ ##1 ##3 }
+ \cs_set:cn { cref_#1_format_first:nnn } { ##2 #5 ~ ##1 ##3 }
+ }
+ {
+ \crefthe_crefname_original:n { #1 } { \crefthemark{ #2 } #3 } { \crefthemark{ #4 } #5 }
+ \cs_set:cn { cref_#1_format:nnn } { \crefthemark { #2 } ##2 #3 ~ ##1 ##3 }
+ \cs_set:cn { cref_#1_format_first:nnn } { \crefthemark { #4 } ##2 #5 ~ ##1 ##3 }
+ }
+ \hook_gput_next_code:nn { begindocument }
+ {
+ \cs_set_eq:cc { cref@ #1 @format } { cref_#1_format:nnn }
+ \cs_set_eq:cc { cref@ #1 @format@first } { cref_#1_format_first:nnn }
+ }
+ }
-\cs_set:Npn \crefthe_prep_mode:nn {
- \str_case_e:nn { \languagename }
+\NewDocumentCommand \Crefthename { m O{} m O{} m }
+ {
+ \tl_if_blank:eTF { #2 }
+ {
+ \crefthe_Crefname_original:n { #1 } { #3 } { #5 }
+ \cs_set:cn { Cref_#1_format:nnn } { ##2 #3 ~ ##1 ##3 }
+ \cs_set:cn { Cref_#1_format_first:nnn } { ##2 #5 ~ ##1 ##3 }
+ }
+ {
+ \crefthe_Crefname_original:n { #1 } { \crefthemark{ #2 } #3 }{ \crefthemark{ #4 } #5 }
+ \cs_set:cn { Cref_#1_format:nnn } { \crefthemark { #2 } ##2 #3 ~ ##1 ##3 }
+ \cs_set:cn { Cref_#1_format_first:nnn } { \crefthemark { #4 } ##2 #5 ~ ##1 ##3 }
+ }
+ \hook_gput_next_code:nn { begindocument }
+ {
+ \cs_set_eq:cc { Cref@ #1 @format } { Cref_#1_format:nnn }
+ \cs_set_eq:cc { Cref@ #1 @format@first } { Cref_#1_format_first:nnn }
+ }
+ }
+
+\NewDocumentCommand \crefthemark { m }
+ {
+ \crefthe_contraction:nn { \crefthe_case:n \g__crefthe_prep_each_tl }
+ {
+ \crefthe_contraction:nn { \crefthe_case:n \g__crefthe_prep_once_tl } { #1 }
+ }
+ \tl_gset:Nn \g__crefthe_prep_once_tl {}
+ \tl_gset:Nx \g__crefthe_prep_each_tl { \text_lowercase:n \g__crefthe_prep_each_tl }
+ \str_if_eq:eeF { \str_tail:n { #1 } } { ' } { ~ }
+ \cs_gset:Npn \crefthe_case:n ##1 { \crefthe_nochange:n {##1} }
+ % \cs_gset:Npn \crefthe_case:n ##1 { \text_lowercase:n {##1} }
+ }
+
+\tl_set:Nn \l__crefthe_prep_mode_tl {
+ \str_case_e:nn { \languagename }
{
- {french} { + }
- {italian} { + }
- {spanish} { - }
- {portuguese} { + }
- {brazilian} { + }
+ {french} { + }
+ {italian} { + }
+ {spanish} { - }
+ {portuguese} { + }
+ {brazilian} { + }
}
}
-\cs_set:Npn \crefthe_contraction:nn #1#2 {
- \str_if_eq:eeTF {#1} {} {#2} {
- \str_case_e:nn { \languagename }
- {
- {french}{
- \str_case_e:nnF {#1~\text_lowercase:n{#2}} {
- {à~le} {au}
- {à~les} {aux}
- {de~le} {du}
- {de~les} {des}
- {À~le} {Au}
- {À~les} {Aux}
- {De~le} {Du}
- {De~les} {Des}
- }{#1~\text_lowercase:n{#2}}
- }
- {italian}{
- \str_case_e:nnF {#1~\text_lowercase:n{#2}} {
- {a~il} {al}
- {a~lo} {allo}
- {a~l'} {all'}
- {a~la} {alla}
- {di~il} {del}
- {di~lo} {dello}
- {di~l'} {dell'}
- {di~la} {della}
- {da~il} {dal}
- {da~lo} {dallo}
- {da~l'} {dall'}
- {da~la} {dalla}
- {in~il} {nel}
- {in~lo} {nello}
- {in~l'} {nell'}
- {in~la} {nella}
- {su~il} {sul}
- {su~lo} {sullo}
- {su~l'} {sull'}
- {su~la} {sulla}
- {a~i} {ai}
- {a~gli} {agli}
- {a~le} {alle}
- {di~i} {dei}
- {di~gli} {degli}
- {di~le} {delle}
- {da~i} {dai}
- {da~gli} {dagli}
- {da~le} {dalle}
- {in~i} {nei}
- {in~gli} {negli}
- {in~le} {nelle}
- {su~i} {sui}
- {su~gli} {sugli}
- {su~le} {sulle}
- {A~il} {Al}
- {A~lo} {Allo}
- {A~l'} {All'}
- {A~la} {Alla}
- {Di~il} {Del}
- {Di~lo} {Dello}
- {Di~l'} {Dell'}
- {Di~la} {Della}
- {Da~il} {Dal}
- {Da~lo} {Dallo}
- {Da~l'} {Dall'}
- {Da~la} {Dalla}
- {In~il} {Nel}
- {In~lo} {Nello}
- {In~l'} {Nell'}
- {In~la} {Nella}
- {Su~il} {Sul}
- {Su~lo} {Sullo}
- {Su~l'} {Sull'}
- {Su~la} {Sulla}
- {A~i} {Ai}
- {A~gli} {Agli}
- {A~le} {Alle}
- {Di~i} {Dei}
- {Di~gli} {Degli}
- {Di~le} {Delle}
- {Da~i} {Dai}
- {Da~gli} {Dagli}
- {Da~le} {Dalle}
- {In~i} {Nei}
- {In~gli} {Negli}
- {In~le} {Nelle}
- {Su~i} {Sui}
- {Su~gli} {Sugli}
- {Su~le} {Sulle}
- }{#1~\text_lowercase:n{#2}}
- }
- {portuguese}{
- \str_case_e:nnF {#1~\text_lowercase:n{#2}} {
- {a~o} {ao}
- {a~a} {à}
- {a~os} {aos}
- {a~as} {às}
- {de~o} {do}
- {de~a} {da}
- {de~os} {dos}
- {de~as} {das}
- {em~o} {no}
- {em~a} {na}
- {em~os} {nos}
- {em~as} {nas}
- {A~o} {Ao}
- {A~a} {À}
- {A~os} {Aos}
- {A~as} {Às}
- {De~o} {Do}
- {De~a} {Da}
- {De~os} {Dos}
- {De~as} {Das}
- {Em~o} {No}
- {Em~a} {Na}
- {Em~os} {Nos}
- {Em~as} {Nas}
- }{#1~\text_lowercase:n{#2}}
- }
- {brazilian}{
- \str_case_e:nnF {#1~\text_lowercase:n{#2}} {
- {a~o} {ao}
- {a~a} {à}
- {a~os} {aos}
- {a~as} {às}
- {de~o} {do}
- {de~a} {da}
- {de~os} {dos}
- {de~as} {das}
- {em~o} {no}
- {em~a} {na}
- {em~os} {nos}
- {em~as} {nas}
- {A~o} {Ao}
- {A~a} {À}
- {A~os} {Aos}
- {A~as} {Às}
- {De~o} {Do}
- {De~a} {Da}
- {De~os} {Dos}
- {De~as} {Das}
- {Em~o} {No}
- {Em~a} {Na}
- {Em~os} {Nos}
- {Em~as} {Nas}
- }{#1~\text_lowercase:n{#2}}
- }
- {spanish}{
- \str_case_e:nnF {#1~\text_lowercase:n{#2}} {
- {a~el} {al}
- {de~el} {del}
- {A~el} {Al}
- {De~el} {Del}
- }{#1~\text_lowercase:n{#2}}
- }
- }
- }
-}
+\cs_new:Npn \crefthe_contraction:nn #1#2
+ {
+ \tl_if_blank:eTF { #1 }
+ { #2 }
+ {
+ \tl_if_exist:cTF { crefthe_contraction_rule_ \languagename _tl }
+ {
+ \exp_args:Nnx \str_case_e:nnF { #1~\text_lowercase:n{ #2 } }
+ {
+ \tl_use:c { crefthe_contraction_rule_ \languagename _tl }
+ }
+ { #1~\text_lowercase:n{ #2 } }
+ }
+ { #1 ~ #2 }
+ }
+ }
+
+\tl_gset:Nn \crefthe_contraction_rule_french_tl
+ {
+ { à~le } { au }
+ { à~les } { aux }
+ { de~le } { du }
+ { de~les } { des }
+ { À~le } { Au }
+ { À~les } { Aux }
+ { De~le } { Du }
+ { De~les } { Des }
+ }
+
+\tl_gset:Nn \crefthe_contraction_rule_italian_tl
+ {
+ { a~il } { al }
+ { a~lo } { allo }
+ { a~l' } { all' }
+ { a~la } { alla }
+ { di~il } { del }
+ { di~lo } { dello }
+ { di~l' } { dell' }
+ { di~la } { della }
+ { da~il } { dal }
+ { da~lo } { dallo }
+ { da~l' } { dall' }
+ { da~la } { dalla }
+ { in~il } { nel }
+ { in~lo } { nello }
+ { in~l' } { nell' }
+ { in~la } { nella }
+ { su~il } { sul }
+ { su~lo } { sullo }
+ { su~l' } { sull' }
+ { su~la } { sulla }
+ { a~i } { ai }
+ { a~gli } { agli }
+ { a~le } { alle }
+ { di~i } { dei }
+ { di~gli } { degli }
+ { di~le } { delle }
+ { da~i } { dai }
+ { da~gli } { dagli }
+ { da~le } { dalle }
+ { in~i } { nei }
+ { in~gli } { negli }
+ { in~le } { nelle }
+ { su~i } { sui }
+ { su~gli } { sugli }
+ { su~le } { sulle }
+ { A~il } { Al }
+ { A~lo } { Allo }
+ { A~l' } { All' }
+ { A~la } { Alla }
+ { Di~il } { Del }
+ { Di~lo } { Dello }
+ { Di~l' } { Dell' }
+ { Di~la } { Della }
+ { Da~il } { Dal }
+ { Da~lo } { Dallo }
+ { Da~l' } { Dall' }
+ { Da~la } { Dalla }
+ { In~il } { Nel }
+ { In~lo } { Nello }
+ { In~l' } { Nell' }
+ { In~la } { Nella }
+ { Su~il } { Sul }
+ { Su~lo } { Sullo }
+ { Su~l' } { Sull' }
+ { Su~la } { Sulla }
+ { A~i } { Ai }
+ { A~gli } { Agli }
+ { A~le } { Alle }
+ { Di~i } { Dei }
+ { Di~gli } { Degli }
+ { Di~le } { Delle }
+ { Da~i } { Dai }
+ { Da~gli } { Dagli }
+ { Da~le } { Dalle }
+ { In~i } { Nei }
+ { In~gli } { Negli }
+ { In~le } { Nelle }
+ { Su~i } { Sui }
+ { Su~gli } { Sugli }
+ { Su~le } { Sulle }
+ }
+
+\tl_gset:Nn \crefthe_contraction_rule_spanish_tl
+ {
+ { a~el } { al }
+ { de~el } { del }
+ { A~el } { Al }
+ { De~el } { Del }
+ }
+
+\tl_gset:Nn \crefthe_contraction_rule_portuguese_tl
+ {
+ { a~o } { ao }
+ { a~a } { à }
+ { a~os } { aos }
+ { a~as } { às }
+ { de~o } { do }
+ { de~a } { da }
+ { de~os } { dos }
+ { de~as } { das }
+ { em~o } { no }
+ { em~a } { na }
+ { em~os } { nos }
+ { em~as } { nas }
+ { A~o } { Ao }
+ { A~a } { À }
+ { A~os } { Aos }
+ { A~as } { Às }
+ { De~o } { Do }
+ { De~a } { Da }
+ { De~os } { Dos }
+ { De~as } { Das }
+ { Em~o } { No }
+ { Em~a } { Na }
+ { Em~os } { Nos }
+ { Em~as } { Nas }
+ }
+
+\tl_gset:Nn \crefthe_contraction_rule_brazilian_tl
+ {
+ { a~o } { ao }
+ { a~a } { à }
+ { a~os } { aos }
+ { a~as } { às }
+ { de~o } { do }
+ { de~a } { da }
+ { de~os } { dos }
+ { de~as } { das }
+ { em~o } { no }
+ { em~a } { na }
+ { em~os } { nos }
+ { em~as } { nas }
+ { A~o } { Ao }
+ { A~a } { À }
+ { A~os } { Aos }
+ { A~as } { Às }
+ { De~o } { Do }
+ { De~a } { Da }
+ { De~os } { Dos }
+ { De~as } { Das }
+ { Em~o } { No }
+ { Em~a } { Na }
+ { Em~os } { Nos }
+ { Em~as } { Nas }
+ }
+
\endinput
%%
%% End of file `crefthe.sty'.
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index e1040bbc69..577ee50f49 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/03}{1.61}
+\ProvidesExplClass{easybook}{2022/02/04}{1.62}
{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/03}{1.61}
+\ProvidesExplPackage{easybase}{2022/02/04}{1.62}
{Typeset Chinese theses or books}
\cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -349,6 +349,8 @@
\eb_seq_map_inline:nn {#1}
{ \AtBeginEnvironment{##1}{#2} }
}
+\cs_new_protected:Npn \eb_at_end_preamble:n
+ { \BeforeBeginEnvironment{document} }
\cs_new_protected:Npn \eb_match_load_package:n #1
{
\regex_match:nnTF { \[ } {#1}
@@ -399,8 +401,6 @@
\seq_map_function:NN
\l_tmpb_seq \eb_match_load_package:n
}
-\cs_new_protected:Npn \eb_at_end_preamble:n
- { \BeforeBeginEnvironment{document} }
\cs_gset_eq:NN \PackageWarning \PackageInfo
\msg_redirect_module:nnn { hooks } { warning } { info }
@@ -836,7 +836,7 @@
{ flush }
{
\tl_set:Nn \l__eb_footnote_value_tl { default }
- \clist_push:Nn \l__eb_footnote_mulchoice_clist {#1}
+ \clist_push:Nn \l__eb_footnote_value_clist {#1}
}
}
{
@@ -868,7 +868,7 @@
\bool_new:N \l__eb_fnpara_bottom_bool
\tl_new:N \l__eb_fnmate_format_tl
\tl_new:N \l__eb_fncust_format_tl
-\clist_new:N \l__eb_footnote_mulchoice_clist
+\clist_new:N \l__eb_footnote_value_clist
\ctex_define:nn { hdrset }
{
fnindent .dim_set:N = \footindent,
@@ -992,7 +992,7 @@
\cs_new_protected:Npn \eb_footnote_direct_default:
{
\noindent
- \clist_if_in:NnT \l__eb_footnote_mulchoice_clist { flush }
+ \clist_if_in:NnT \l__eb_footnote_value_clist { flush }
{ \dim_zero:N \footindent }
\int_case:nn { \dim_sign:V \footindent }
{
@@ -2332,7 +2332,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2022/02/03}{1.61}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2022/02/04}{1.62}
{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 a6a70491a3..175389e7c8 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 2ea2f54526..ccfee80c8c 100644
--- a/macros/latex/contrib/easybook/easybook.tex
+++ b/macros/latex/contrib/easybook/easybook.tex
@@ -21,8 +21,8 @@
name = easybook,
color-scheme = blue,
title = EASYBOOK 使用手册,
- version = v1.61,
- date = 2022/02/03,
+ version = v1.62,
+ date = 2022/02/04,
authors = 瞿毅,
info = 排版简体中文学位论文和书籍,
email = q1jx@foxmail.com,
diff --git a/macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdf b/macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdf
index 25e411bfee..52e0ee69b9 100644
--- a/macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdf
+++ b/macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf b/macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf
index 5508c9dee7..0e13a6a783 100644
--- a/macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf b/macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf
index bdc6f89546..0ca6fbf7b4 100644
--- a/macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-sidenotes.pdf b/macros/latex/contrib/reledmac/examples/1-sidenotes.pdf
index 6aa81e85f9..dacdb815cc 100644
--- a/macros/latex/contrib/reledmac/examples/1-sidenotes.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-sidenotes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-tabular.pdf b/macros/latex/contrib/reledmac/examples/1-tabular.pdf
index 1bbeb4fd91..24f9234d3a 100644
--- a/macros/latex/contrib/reledmac/examples/1-tabular.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-tabular.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf b/macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf
index 157ac911ed..0dbfd26819 100644
--- a/macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-verses.pdf b/macros/latex/contrib/reledmac/examples/1-verses.pdf
index 46243e854b..4714d36aaa 100644
--- a/macros/latex/contrib/reledmac/examples/1-verses.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-verses.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-antilabe.pdf b/macros/latex/contrib/reledmac/examples/2-antilabe.pdf
index 5c8c304cb9..b2f7d9dbd1 100644
--- a/macros/latex/contrib/reledmac/examples/2-antilabe.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-antilabe.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf b/macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf
index 130232e15e..f7fe778829 100644
--- a/macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf b/macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf
index f7d4ebcb3a..a8b2878c6a 100644
--- a/macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-glossaries.pdf b/macros/latex/contrib/reledmac/examples/2-glossaries.pdf
index 0f534f6f3e..4d774ab937 100644
--- a/macros/latex/contrib/reledmac/examples/2-glossaries.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-glossaries.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-indexing.pdf b/macros/latex/contrib/reledmac/examples/2-indexing.pdf
index 16762558c7..e6c2e394ad 100644
--- a/macros/latex/contrib/reledmac/examples/2-indexing.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-indexing.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf b/macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf
index b6a8ec6d75..8910032e30 100644
--- a/macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf b/macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf
index 545e48c5cd..71b8ef74fa 100644
--- a/macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-linespacing.pdf b/macros/latex/contrib/reledmac/examples/2-linespacing.pdf
index 44261f6be4..4e3bb139ff 100644
--- a/macros/latex/contrib/reledmac/examples/2-linespacing.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-linespacing.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf b/macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf
index e452cb8bcd..a1cae283ac 100644
--- a/macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-notes-width.pdf b/macros/latex/contrib/reledmac/examples/2-notes-width.pdf
index 37dd2e0a30..9c6aac015c 100644
--- a/macros/latex/contrib/reledmac/examples/2-notes-width.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-notes-width.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf b/macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf
index e12f08af62..de9737c957 100644
--- a/macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-performances.pdf b/macros/latex/contrib/reledmac/examples/2-performances.pdf
index ffc140c8e4..5e5f81f926 100644
--- a/macros/latex/contrib/reledmac/examples/2-performances.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-performances.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf b/macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf
index 0795c78465..0c5923f736 100644
--- a/macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf b/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf
index 55a65d9500..6a5768b2c3 100644
--- a/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf b/macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf
index 5e2874adb8..890775aa8f 100644
--- a/macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf b/macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf
index 987a5f6c15..4888687cb7 100644
--- a/macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf
index 5a0f3385cb..77e54cad8e 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf
index a8c277f77d..aeff29034d 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
index bf1a0e6db3..9b784e226f 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf
index ec05bc76de..37a5e0cbfd 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
index 9f72177583..8b011435c7 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
index 5585d7ce33..004d0254ba 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf
index 513c08d554..562dcc24e5 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
index 57d0b68005..c00cfc3dc3 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf
index 6c89b00e4c..093826dca2 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf
index 3e2bff636a..0cc644e116 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf
index ab17873202..3bcff728d7 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
index 497d6e385d..5c93f1889e 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
index 837f77ff7d..9567cce5d6 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf
index 740a7c02c1..6c1a1367f4 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf
index a93ae66e92..0a591cbfa6 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf
index 65a91b1bd2..360c29f86c 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
index 08f903586b..29e9d5d4f9 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf
index fdc7cfc611..646f208859 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf
index 8a6c262f89..5c849ca877 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf
index 499e7b28ec..6d2d332fec 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf
index 0b28dd10f5..a8082e7469 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf
index 7c9ae89801..d9a17ed624 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf
index 46303da21a..f3cd521397 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/migration.pdf b/macros/latex/contrib/reledmac/migration.pdf
index da50fc071d..ea2f620516 100644
--- a/macros/latex/contrib/reledmac/migration.pdf
+++ b/macros/latex/contrib/reledmac/migration.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/reledmac.dtx b/macros/latex/contrib/reledmac/reledmac.dtx
index 84f70591be..33fe898c87 100644
--- a/macros/latex/contrib/reledmac/reledmac.dtx
+++ b/macros/latex/contrib/reledmac/reledmac.dtx
@@ -590,6 +590,7 @@
% \changes{v2.38.2}{2021/11/03}{Fix bug when using \protect\cs{applabel} in conjunction with \protect\package{hyperref} package.}
% \changes{v2.38.2}{2021/11/03}{Fix some trouble in indentation in stanza, when switching to some language with \protect\package{polyglossia}.}
% \changes{v2.39.0}{2021/01/11}{Add \protect\cs{Xnotboxingsubline} and \protect\cs{Xendnotboxingsubline} hooks.}
+% \changes{v2.39.1}{2021/02/04}{Fix bug with index in familiar and critical footnotes.}
% Typeset scholarly editions with \LaTeX\thanks{This file (\dtxfilename)
% has version number \fileversion, last revised \filedate.}}
%
@@ -4502,7 +4503,7 @@
% \begin{macrocode}
%<*code>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{reledmac}[2022/01/11 v2.39.0 typesetting critical editions]%
+\ProvidesPackage{reledmac}[2022/02/04 v2.39.1 typesetting critical editions]%
% \end{macrocode}
%
% \subsection{Package options}
@@ -15214,7 +15215,8 @@
% \changes{v1.23.0}{2015/04/29}{Prevent spurious spaces when \protect\cs{Afootnote} and similar commands are followed by spaces (bug added on 1.0.0!).}
% \begin{macrocode}
\global\notbool{parapparatus@}{\expandafter\newcommand\expandafter *}{\expandafter\newcommand}\csname #1footnote\endcsname[2][]{%
- \nottoggle{Xnonote@#1}{%
+ \xdef\@currentseries{#1}%
+ \nottoggle{Xnonote@#1}{%
\advance \edtext@notes by 1%
\if@edtext@secondarg@%
\ifledRcol%
@@ -15383,6 +15385,7 @@
% \begin{macrocode}
\global\expandafter\newcommand\csname footnote#1\endcsname[2][]{%
+ \xdef\@currentseries{#1}%
\nottoggle{nonoteX@#1}{%
\begingroup%
\prepare@prenotesX{#1}%
diff --git a/macros/latex/contrib/reledmac/reledmac.pdf b/macros/latex/contrib/reledmac/reledmac.pdf
index 58db8402ef..39b184defb 100644
--- a/macros/latex/contrib/reledmac/reledmac.pdf
+++ b/macros/latex/contrib/reledmac/reledmac.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/reledpar.pdf b/macros/latex/contrib/reledmac/reledpar.pdf
index 16114f12d1..46cfe195bf 100644
--- a/macros/latex/contrib/reledmac/reledpar.pdf
+++ b/macros/latex/contrib/reledmac/reledpar.pdf
Binary files differ
diff --git a/macros/latex/contrib/siunitx/CHANGELOG.md b/macros/latex/contrib/siunitx/CHANGELOG.md
index 8a218bd89c..ba5c3de075 100644
--- a/macros/latex/contrib/siunitx/CHANGELOG.md
+++ b/macros/latex/contrib/siunitx/CHANGELOG.md
@@ -7,6 +7,11 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
## [Unreleased]
+## [v3.0.47] - 2022-02-03
+
+### Changed
+- Better handling of `\mathord` in text mode
+
## [v3.0.46] - 2022-02-02
### Fixed
@@ -1698,7 +1703,8 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Added
- First public testing release (as `si`)
-[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.0.46...HEAD
+[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.0.47...HEAD
+[v3.0.47]: https://github.com/josephwright/siunitx/compare/v3.0.46...v3.0.47
[v3.0.46]: https://github.com/josephwright/siunitx/compare/v3.0.45...v3.0.46
[v3.0.45]: https://github.com/josephwright/siunitx/compare/v3.0.44...v3.0.45
[v3.0.44]: https://github.com/josephwright/siunitx/compare/v3.0.43...v3.0.44
diff --git a/macros/latex/contrib/siunitx/siunitx-code.pdf b/macros/latex/contrib/siunitx/siunitx-code.pdf
index ecd6faf3e6..d6d131b16c 100644
--- a/macros/latex/contrib/siunitx/siunitx-code.pdf
+++ b/macros/latex/contrib/siunitx/siunitx-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/siunitx/siunitx-number.dtx b/macros/latex/contrib/siunitx/siunitx-number.dtx
index a7bd0b7e16..98f52307c2 100644
--- a/macros/latex/contrib/siunitx/siunitx-number.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-number.dtx
@@ -3169,7 +3169,6 @@
% \begin{macro}[rEXP]{\@@_output_comparator:nn}
% \begin{macro}[rEXP]{\@@_output_sign:nnn}
% \begin{macro}[rEXP]{\@@_output_sign:nN}
-% \begin{macro}[rEXP]{\@@_output_sign:N}
% \begin{macro}[rEXP]
% {\@@_output_sign_color:w, \@@_output_sign_brackets:w}
% \begin{macro}[rEXP]{\@@_output_integer:nnn}
@@ -3310,7 +3309,7 @@
{
\bool_if:NTF \l_@@_bracket_negative_bool
{ \@@_output_sign_brackets:w }
- { \@@_output_sign:nN {#1} #2 }
+ { \@@_output_sign:nN {#1} - }
}
{ \@@_output_sign:nN {#1} #2 }
}
@@ -3319,14 +3318,9 @@
\cs_new:Npn \@@_output_sign:nN #1#2
{
\tl_if_blank:nTF {#1}
- { \@@_output_sign:N #2 }
- { \exp_not:n { \mathord {#2} } }
- }
-\cs_new:Npn \@@_output_sign:N #1
- {
- \bool_if:NTF \l_@@_tight_bool
- { \exp_not:n { \mathord {#1} } }
- { \exp_not:n {#1} }
+ { \use:n }
+ { \mathord }
+ { \exp_not:n {#2} }
}
\cs_new:Npn
\@@_output_sign_brackets:w #1 \@@_output_end:
@@ -3481,7 +3475,10 @@
\str_if_eq:VnTF \l_@@_uncert_mode_tl { separate }
{
\exp_not:n {#2}
- \@@_output_sign:N \pm
+ \bool_if:NTF \l_@@_tight_bool
+ { \mathord }
+ { \use:n }
+ { \exp_not:n { \pm } }
\exp_not:n {#2}
\@@_output_uncert_S_aux:nnn
{ \int_eval:n { \tl_count:n {#4} - \tl_count:n {#1} } }
@@ -3617,9 +3614,9 @@
\bool_lazy_and:nnT
{ \l_@@_implicit_plus_bool }
{ ! \str_if_eq_p:nn {#2} { 0 } }
- { \@@_output_sign:N + }
+ { + }
}
- { \@@_output_sign:N #1 }
+ { \exp_not:n {#1} }
\@@_output_digits:nn { integer } {#2}
}
% \end{macrocode}
@@ -3660,7 +3657,6 @@
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
%
% \subsection{Miscellaneous tools}
%
diff --git a/macros/latex/contrib/siunitx/siunitx-print.dtx b/macros/latex/contrib/siunitx/siunitx-print.dtx
index 8f1e4bb467..10a316da89 100644
--- a/macros/latex/contrib/siunitx/siunitx-print.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-print.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% File: siunitx-print.dtx Copyright (C) 2016-2019,2021 Joseph Wright
+% File: siunitx-print.dtx Copyright (C) 2016-2019,2021,2022 Joseph Wright
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -791,6 +791,7 @@
%
% \begin{macro}{\siunitx_print_text:n}
% \begin{macro}{\@@_text_replace:n, \@@_text_replace_aux:n}
+% \begin{macro}[EXP]{\@@_text_replace_first:N}
% \begin{macro}{\@@_text_replace:N}
% \begin{macro}{\@@_text_replace:NNn}
% \begin{macro}{\@@_text_replace:Nnnn}
@@ -844,28 +845,31 @@
\tl_if_empty:NF \l_siunitx_unit_font_tl
{ \exp_after:wN \cs_set_eq:NN \l_siunitx_unit_font_tl \use:n }
\cs_set:Npn \mathord ##1
- {
- \str_case:nnF {##1}
- {
- { \cdot } { \exp_not:N \textperiodcentered }
- { \pm } { \exp_not:N \textpm }
- { \times } { \exp_not:N \texttimes }
- }
- {##1}
- }
+ { \@@_text_replace_first:N ##1 }
\cs_set:Npn \pm { \: \exp_not:N \textpm \: }
\tl_map_inline:nn
{ \mp \ge \le \gg \ll }
{ \cs_set:Npn ##1 { \exp_not:N \ensuremath { \exp_not:N ##1 } } }
\cs_set:Npn \cdot { \: \exp_not:N \textperiodcentered \: }
\cs_set:Npn \times { \: \exp_not:N \texttimes \: }
- \protected@edef \l_@@_tmp_tl { \l_@@_tmp_tl }
+ \protected@edef \l_@@_tmp_tl
+ { \exp_after:wN \@@_text_replace_first:N \l_@@_tmp_tl }
\@@_text_replace:N \l_@@_tmp_tl
\@@_text_replace_aux:n { \tl_use:N \l_@@_tmp_tl }
}
\group_end:
}
\cs_new_protected:Npn \@@_text_replace_aux:n #1 {#1}
+\cs_new:Npn \@@_text_replace_first:N #1
+ {
+ \str_case:nnF {#1}
+ {
+ { \cdot } { \exp_not:N \textperiodcentered }
+ { \pm } { \exp_not:N \textpm }
+ { \times } { \exp_not:N \texttimes }
+ }
+ {#1}
+ }
\cs_new_protected:Npx \@@_text_replace:N #1
{
\exp_not:N \@@_text_replace:NNn #1
@@ -1022,6 +1026,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \subsection{Standard settings for module options}
%
diff --git a/macros/latex/contrib/siunitx/siunitx.dtx b/macros/latex/contrib/siunitx/siunitx.dtx
index e860a803b3..d1d4e125ab 100644
--- a/macros/latex/contrib/siunitx/siunitx.dtx
+++ b/macros/latex/contrib/siunitx/siunitx.dtx
@@ -121,7 +121,7 @@
%
% Identify the package and give the over all version information.
% \begin{macrocode}
-\ProvidesExplPackage {siunitx} {2022-02-02} {3.0.46}
+\ProvidesExplPackage {siunitx} {2022-02-03} {3.0.47}
{A comprehensive (SI) units package}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/siunitx/siunitx.pdf b/macros/latex/contrib/siunitx/siunitx.pdf
index c4f79568c0..5563799b59 100644
--- a/macros/latex/contrib/siunitx/siunitx.pdf
+++ b/macros/latex/contrib/siunitx/siunitx.pdf
Binary files differ
diff --git a/macros/luatex/generic/lua-widow-control/README.md b/macros/luatex/generic/lua-widow-control/README.md
index 2486ba110a..07c24e3c59 100644
--- a/macros/luatex/generic/lua-widow-control/README.md
+++ b/macros/luatex/generic/lua-widow-control/README.md
@@ -42,4 +42,4 @@ Lua-widow-control is licensed under the [_Mozilla Public License_, version 2.0](
Please note that a compiled document is absolutely **not** considered to be an "Executable Form" as defined by the MPL. The use of lua-widow-control in a document does not place **any** obligations on the document's author or distributors. The MPL and CC-BY-SA licenses **only** apply to you if you distribute the lua-widow-control source code or documentation.
---
-_v1.1.3 (2022-01-30)_ <!--%%version %%date-->
+_v1.1.4 (2022-02-04)_ <!--%%version %%date-->
diff --git a/macros/luatex/generic/lua-widow-control/lua-widow-control.lua b/macros/luatex/generic/lua-widow-control/lua-widow-control.lua
index 56fa77e991..9a8b2efa78 100644
--- a/macros/luatex/generic/lua-widow-control/lua-widow-control.lua
+++ b/macros/luatex/generic/lua-widow-control/lua-widow-control.lua
@@ -65,8 +65,8 @@ if lwc.context then
elseif lwc.plain or lwc.latex then
luatexbase.provides_module {
name = lwc.name,
- date = "2022/01/30", --%%date
- version = "1.1.3", --%%version
+ date = "2022/02/04", --%%date
+ version = "1.1.4", --%%version
description = [[
This module provides a LuaTeX-based solution to prevent
@@ -195,7 +195,7 @@ function lwc.save_paragraphs(head)
-- Offset the accumulated \\prevdepth
local prevdepth = node.new("glue")
- prevdepth.width = -1 * long_info.prevdepth
+ prevdepth.width = natural_info.prevdepth - long_info.prevdepth
last(long_node).next = prevdepth
table.insert(lwc.paragraphs, {demerits = long_demerits, node = long_node})
diff --git a/macros/luatex/generic/lua-widow-control/lua-widow-control.pdf b/macros/luatex/generic/lua-widow-control/lua-widow-control.pdf
index 2a8f319bbf..5ee7f9995e 100644
--- a/macros/luatex/generic/lua-widow-control/lua-widow-control.pdf
+++ b/macros/luatex/generic/lua-widow-control/lua-widow-control.pdf
Binary files differ
diff --git a/macros/luatex/generic/lua-widow-control/lua-widow-control.sty b/macros/luatex/generic/lua-widow-control/lua-widow-control.sty
index 31d58237f6..81dd969d8d 100644
--- a/macros/luatex/generic/lua-widow-control/lua-widow-control.sty
+++ b/macros/luatex/generic/lua-widow-control/lua-widow-control.sty
@@ -5,7 +5,7 @@
\NeedsTeXFormat{LaTeX2e}[2015/01/01] % Formats built after 2015 include \LuaTeX{}Base
\ProvidesPackage{lua-widow-control}%
- [2022/01/30 v1.1.3] %%version %%date
+ [2022/02/04 v1.1.4] %%version %%date
\clubpenalty=1
\widowpenalty=1
diff --git a/macros/luatex/generic/lua-widow-control/lua-widow-control.tex b/macros/luatex/generic/lua-widow-control/lua-widow-control.tex
index eb2c1a070b..a9b236f966 100644
--- a/macros/luatex/generic/lua-widow-control/lua-widow-control.tex
+++ b/macros/luatex/generic/lua-widow-control/lua-widow-control.tex
@@ -3,7 +3,7 @@
% SPDX-License-Identifier: MPL-2.0+
% SPDX-FileCopyrightText: 2021 Max Chernoff
-\wlog{lua-widow-control v1.1.3} %%version
+\wlog{lua-widow-control v1.1.4} %%version
\input ltluatex % \LuaTeX{}Base
diff --git a/macros/luatex/generic/lua-widow-control/lwc-documentation.tex b/macros/luatex/generic/lua-widow-control/lwc-documentation.tex
index 78ae260794..bf0bf8877b 100644
--- a/macros/luatex/generic/lua-widow-control/lwc-documentation.tex
+++ b/macros/luatex/generic/lua-widow-control/lwc-documentation.tex
@@ -37,7 +37,7 @@
\startdocument[
title=lua-widow-control,
author=Max Chernoff,
- version=1.1.3, %%version
+ version=1.1.4, %%version
github=https://github.com/gucci-on-fleek/lua-widow-control,
ctan=https://www.ctan.org/pkg/lua-widow-control,
]
diff --git a/macros/luatex/generic/lua-widow-control/lwc-sample.tex b/macros/luatex/generic/lua-widow-control/lwc-sample.tex
index 787b91e8dc..fc773ea11e 100644
--- a/macros/luatex/generic/lua-widow-control/lwc-sample.tex
+++ b/macros/luatex/generic/lua-widow-control/lwc-sample.tex
@@ -6,7 +6,7 @@
\startbuffer[demo-text]
\definepapersize[smallpaper][
width=6cm,
- height=9cm
+ height=8.3cm
]\setuppapersize[smallpaper]
\setuplayout[
@@ -23,20 +23,23 @@
\setupbodyfont[9pt]
\setupindenting[yes, 2em]
- \setupalign[tolerant]
\definepalet[layout][grid=middlegray]
\showgrid[nonumber, none, lines]
- \definefontfeature[default][default][expansion=quality]
- \setupalign[hz]
+ \definefontfeature[default][default][expansion=quality,protrusion=quality]
+
+ \usetypescript[modern-base]
+ \setupbodyfont[reset,modern]
+
+ \setupalign[hz,hanging,tolerant]
\starttext
\Lwc/ can remove most widows and orphans from a document, \emph{without} stretching any glue or shortening any pages.
- It does so by automatically lengthening a paragraph on a page where a widow or orphan would otherwise occur. While \TeX{} breaks paragraphs into their natural length, \lwc/ is breaking the paragraph 1~line longer than its natural length. \TeX{}'s paragraph is output to the page, but \lwc/'s paragraph is just stored for later. When a widow or orphan occurs, \lwc/ can take over. It selects the previously-saved paragraph with the least badness; then, it replaces \TeX{}'s paragraph with its saved paragraph. This lengthens the page by 1~line.
+ It does so by automatically lengthening a paragraph on a page where a widow or orphan would otherwise occur. While \TeX{} breaks paragraphs into their natural length, \lwc/ is breaking the paragraph 1~line longer than its natural length. \TeX{}'s paragraph is output to the page, but \lwc/'s paragraph is just stored for later. When a widow or orphan occurs, \lwc/ can take over. It selects the previously-saved paragraph with the least badness; then, it replaces \TeX{}'s paragraph with its saved paragraph. This increases the text block height of the page by 1~line.
- Now, the last line of the current page can be pushed to the top of the next page. This removes the widow or the orphan without creating any additional work for the document's author.
+ Now, the last line of the current page can be pushed to the top of the next page. This removes the widow or the orphan without creating any additional work.
\stoptext
\stopbuffer
\savebuffer[list=demo-text]
diff --git a/macros/luatex/generic/lua-widow-control/t-lua-widow-control.mkxl b/macros/luatex/generic/lua-widow-control/t-lua-widow-control.mkxl
index 85b1e340b6..436eb880cb 100644
--- a/macros/luatex/generic/lua-widow-control/t-lua-widow-control.mkxl
+++ b/macros/luatex/generic/lua-widow-control/t-lua-widow-control.mkxl
@@ -1,10 +1,10 @@
%D \module
%D [ file=t-lua-widow-control,
-%D version=1.1.3, %%version
+%D version=1.1.4, %%version
%D title=lua-widow-control,
%D subtitle=\ConTeXt module for lua-widow-control,
%D author=Max Chernoff,
-%D date=2022-01-30, %%date
+%D date=2022-02-04, %%date
%D copyright=Max Chernoff,
%D license=MPL-2.0+,
%D url=https://github.com/gucci-on-fleek/lua-widow-control]
diff --git a/macros/xetex/latex/bidi/README b/macros/xetex/latex/bidi/README
index 31aee83dcb..38cfe408c6 100644
--- a/macros/xetex/latex/bidi/README
+++ b/macros/xetex/latex/bidi/README
@@ -1,6 +1,6 @@
___________________
The bidi package
-v36.4
+v36.5
This package provides a convenient interface for typesetting
bidirectional texts in Plain TeX and LaTeX, using XeTeX engine.
@@ -16,7 +16,16 @@ In doing so, please always explain your issue well enough,
and always include a minimal working example showing the
issue.
-Current version release date: 2022/02/01
+You may also have conversations, ask questions and post answers
+without opening issues using the Discussions space:
+
+ <https://github.com/tex-persian/bidi/discussions>
+
+The announcements for the new releases of the package will
+also appear in the Discussions space under the Announcements
+category.
+
+Current version release date: 2022/02/04
___________________________________________
Vafa Khalighi
diff --git a/macros/xetex/latex/bidi/bidi-doc-intro.ltx b/macros/xetex/latex/bidi/bidi-doc-intro.ltx
index 56325099e7..3f62d203da 100644
--- a/macros/xetex/latex/bidi/bidi-doc-intro.ltx
+++ b/macros/xetex/latex/bidi/bidi-doc-intro.ltx
@@ -20,7 +20,7 @@ If you use \textsf{bidi} package to write any input \TeX\ document, and then run
* Copyright (c) 2007--2022 Vafa Khalighi
* Copyright (c) 2018--2020 bidi-tex GitHub Organization
*
-* v36.4, 2022/02/01
+* v36.5, 2022/02/04
*
* License: LaTeX Project Public License, version
* 1.3c or higher (your choice)
@@ -29,6 +29,8 @@ If you use \textsf{bidi} package to write any input \TeX\ document, and then run
*
* Issue tracker: https://github.com/tex-persian/bidi/issues
*
+* Discussions: https://github.com/tex-persian/bidi/discussions
+*
* Support Email: tex-persian@vafa.ac
*
* Primary author of bidi package: Vafa Khalighi.
diff --git a/macros/xetex/latex/bidi/bidi-doc-title.ltx b/macros/xetex/latex/bidi/bidi-doc-title.ltx
index 006da7b9e5..33f5ed8838 100644
--- a/macros/xetex/latex/bidi/bidi-doc-title.ltx
+++ b/macros/xetex/latex/bidi/bidi-doc-title.ltx
@@ -3,7 +3,7 @@
\begin{document}
\title{\textcolor{blue!65!black}{\Huge The \textsf{bidi} \textit{Package}}\\
\LARGE Bidirectional typesetting in plain \TeX{} and \LaTeX, using \XeTeX{} engine\\[5pt]
-\large User documentation for \textcolor{blue!65!black}{version 36.4}}
+\large User documentation for \textcolor{blue!65!black}{version 36.5}}
\author{Vafa Khalighi\thanks{Thanks to the bidi-tex GitHub organization consisted of David Carlisle and other members of the {\LaTeX} team to maintain the package in the period 2018--2020.}\\
\url{tex-persian@vafa.ac}}
\setcounter{page}{0}
@@ -14,7 +14,7 @@
\textcolor{blue!65!black}{\Huge The \textsf{bidi} \textit{Package}}
\Large
-User documentation for \textcolor{blue!65!black}{version 36.4}}
+User documentation for \textcolor{blue!65!black}{version 36.5}}
\vskip 0pt plus 3fill
\textit{\large to my Master, \textbf{Ferdowsi The Great}}
@@ -30,6 +30,18 @@ or ask for any new features, or suggest any improvements, or ask any questions a
\medskip
In doing so, please always explain your issue well enough, and always include
a minimal working example showing the issue.
+
+\bigskip
+You may also have conversations, ask questions and post answers
+without opening issues using the Discussions space:
+
+\medskip
+ \centerline{\url{https://github.com/tex-persian/bidi/discussions}}
+
+\medskip
+The announcements for the new releases of the package will
+also appear in the Discussions space under the Announcements
+category.
\end{minipage}
}}
diff --git a/macros/xetex/latex/bidi/bidi-doc.ltx b/macros/xetex/latex/bidi/bidi-doc.ltx
index a2e1bc59f9..b6dbf1ac38 100644
--- a/macros/xetex/latex/bidi/bidi-doc.ltx
+++ b/macros/xetex/latex/bidi/bidi-doc.ltx
@@ -1,7 +1,7 @@
\documentclass{ltxdoc}
\input{bidi-doc-preamble.ltx}
\hypersetup{%
- pdftitle={User documentation for version 36.4 of the bidi
+ pdftitle={User documentation for version 36.5 of the bidi
package}%
}
\begin{document}
diff --git a/macros/xetex/latex/bidi/bidi-doc.pdf b/macros/xetex/latex/bidi/bidi-doc.pdf
index 4ff70450d0..4cdcfc9a99 100644
--- a/macros/xetex/latex/bidi/bidi-doc.pdf
+++ b/macros/xetex/latex/bidi/bidi-doc.pdf
Binary files differ
diff --git a/macros/xetex/latex/bidi/bidi.dtx b/macros/xetex/latex/bidi/bidi.dtx
index e5a41ef92c..65bc0833cf 100644
--- a/macros/xetex/latex/bidi/bidi.dtx
+++ b/macros/xetex/latex/bidi/bidi.dtx
@@ -5,7 +5,7 @@
%<*readme>
___________________
The bidi package
-v36.4
+v36.5
This package provides a convenient interface for typesetting
bidirectional texts in Plain TeX and LaTeX, using XeTeX engine.
@@ -20,8 +20,17 @@ please use the issue tracker:
In doing so, please always explain your issue well enough,
and always include a minimal working example showing the
issue.
+
+You may also have conversations, ask questions and post answers
+without opening issues using the Discussions space:
+
+ <https://github.com/tex-persian/bidi/discussions>
+
+The announcements for the new releases of the package will
+also appear in the Discussions space under the Announcements
+category.
-Current version release date: 2022/02/01
+Current version release date: 2022/02/04
___________________________________________
Vafa Khalighi
@@ -225,7 +234,7 @@ by Vafa Khalighi.
\documentclass{ltxdoc}
\input{bidi-doc-preamble.ltx}
\hypersetup{%
- pdftitle={Source documentation for version 36.4 of the bidi
+ pdftitle={Source documentation for version 36.5 of the bidi
package}%
}
\EnableCrossrefs
@@ -244,7 +253,7 @@ by Vafa Khalighi.
% \GetFileInfo{\jobname.dtx}
% \title{\textcolor{blue!65!black}{\Huge The \textsf{bidi} \textit{Package}}\\
%\LARGE Bidirectional typesetting in plain \TeX{} and \LaTeX, using \XeTeX{} engine\\[5pt]
-%\large Source documentation for \textcolor{blue!65!black}{version 36.4}}
+%\large Source documentation for \textcolor{blue!65!black}{version 36.5}}
% \author{Vafa Khalighi\thanks{Thanks to the bidi-tex GitHub organization consisted of David Carlisle and other members of the {\LaTeX} team to maintain the package in the period 2018--2020.}\\
% \url{tex-persian@vafa.ac}}
%\setcounter{page}{0}
@@ -255,7 +264,7 @@ by Vafa Khalighi.
%\textcolor{blue!65!black}{\Huge The \textsf{bidi} \textit{Package}}
%
%\Large
-%Source documentation for \textcolor{blue!65!black}{version 36.4}}
+%Source documentation for \textcolor{blue!65!black}{version 36.5}}
%
%\vskip 0pt plus 3fill
%\textit{\large to my Master, \textbf{Ferdowsi The Great}}
@@ -271,6 +280,18 @@ by Vafa Khalighi.
%\medskip
%In doing so, please always explain your issue well enough, and always include
%a minimal working example showing the issue.
+%
+%\bigskip
+%You may also have conversations, ask questions and post answers
+%without opening issues using the Discussions space:
+%
+%\medskip
+% \centerline{\url{https://github.com/tex-persian/bidi/discussions}}
+%
+%\medskip
+%The announcements for the new releases of the package will
+%also appear in the Discussions space under the Announcements
+%category.
%\end{minipage}
%}}
%
@@ -1912,8 +1933,8 @@ by Vafa Khalighi.
% \section{File \texttt{bidi.sty}}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\def\bididate{2022/02/01}
-\def\bidi@version{36.4}
+\def\bididate{2022/02/04}
+\def\bidi@version{36.5}
\ProvidesPackage{bidi}[\bididate\space v\bidi@version\space
Bidirectional typesetting in plain TeX and LaTeX]
\edef\@bidi@info{****************************************************^^J%
@@ -1938,6 +1959,8 @@ Bidirectional typesetting in plain TeX and LaTeX]
* ^^J%
* Issue tracker: https://github.com/tex-persian/bidi/issues^^J%
* ^^J%
+* Discussions: https://github.com/tex-persian/bidi/discussions^^J%
+* ^^J%
* Support Email: tex-persian@vafa.ac^^J%
* ^^J%
* Primary author of bidi package: Vafa Khalighi.^^J%
@@ -2001,7 +2024,7 @@ Bidirectional typesetting in plain TeX and LaTeX]
}
\newcommand*{\@bidi@pdfcustomproperties}{%
This is the bidi package, Version \bidi@version,
- Released February 1, 2022.
+ Released February 27, 2022.
}
\@RTLmainfalse
\AtBeginDocument{%
@@ -2244,9 +2267,9 @@ Bidirectional typesetting in plain TeX and LaTeX]
%\fi
% \section{File \texttt{bidi.tex}}
% \begin{macrocode}
-\def\bididate{2022/02/01}
+\def\bididate{2022/02/04}
\catcode`@=11
-\def\bidi@version{36.4}
+\def\bidi@version{36.5}
\let \protect \relax
\newlinechar`\^^J
\edef\@bidi@info{****************************************************^^J%
@@ -2271,6 +2294,8 @@ Bidirectional typesetting in plain TeX and LaTeX]
* ^^J%
* Issue tracker: https://github.com/tex-persian/bidi/issues^^J%
* ^^J%
+* Discussions: https://github.com/tex-persian/bidi/discussions^^J%
+* ^^J%
* Support Email: tex-persian@vafa.ac^^J%
* ^^J%
* Primary author of bidi package: Vafa Khalighi.^^J%
@@ -2348,7 +2373,7 @@ Bidirectional typesetting in plain TeX and LaTeX]
}
\def\@bidi@pdfcustomproperties{%
This is the bidi package, Version \bidi@version,
- Released February 1, 2022.
+ Released February 27, 2022.
}
\def\bidi@pdfm@mark{%
\special{pdf:%
diff --git a/macros/xetex/latex/bidi/bidi.pdf b/macros/xetex/latex/bidi/bidi.pdf
index e7468b4cb3..308ea1c86c 100644
--- a/macros/xetex/latex/bidi/bidi.pdf
+++ b/macros/xetex/latex/bidi/bidi.pdf
Binary files differ
diff --git a/macros/xetex/latex/xepersian/README b/macros/xetex/latex/xepersian/README
index 07503c065c..6bcea9c873 100644
--- a/macros/xetex/latex/xepersian/README
+++ b/macros/xetex/latex/xepersian/README
@@ -1,6 +1,6 @@
____________________
The XePersian package
-v23.2
+v23.3
The xepersian package provides a convenient interface for
typesetting Persian and English texts in LaTeX, using XeTeX
@@ -16,7 +16,16 @@ please use the issue tracker:
In doing so, please always explain your issue well enough, and always
include a minimal working example showing the issue.
-Current version release date: 2022/02/01
+You may also have conversations, ask questions and post answers
+without opening issues using the Discussions space:
+
+ <https://github.com/tex-persian/xepersian/discussions>
+
+The announcements for the new releases of the package will
+also appear in the Discussions space under the Announcements
+category.
+
+Current version release date: 2022/02/04
___________________________________________
Vafa Khalighi
tex-persian@vafa.ac
diff --git a/macros/xetex/latex/xepersian/xepersian-doc-basics.ltx b/macros/xetex/latex/xepersian/xepersian-doc-basics.ltx
index 9e9ec6cce0..44452ea407 100644
--- a/macros/xetex/latex/xepersian/xepersian-doc-basics.ltx
+++ b/macros/xetex/latex/xepersian/xepersian-doc-basics.ltx
@@ -1077,8 +1077,8 @@ However there is more; you can localise any other commands/environments you want
\tablelasttail{\hline}
\begin{supertabular}{lr}
\bicsintabular{خط‌زیرنویس‌خودکار}{autofootnoterule}
-\bicsintabular{اعدادفرمولهاخودکار}{AutoMathsDigits}
-\bicsintabular{اعدادفرمولهالاتین}{DefaultMathsDigits}
+\bicsintabular{اعدادفرمولهاخودکار}{AutoMathDigits}
+\bicsintabular{اعدادفرمولهالاتین}{DefaultMathDigits}
\bicsintabular{تعریف‌قلم‌لاتین}{deflatinfont}
\bicsintabular{تعریف‌قلم‌پارسی}{defpersianfont}
\bicsintabular{کادراچپ}{hboxL}
@@ -1096,7 +1096,7 @@ However there is more; you can localise any other commands/environments you want
\bicsintabular{پانویس‌عنوان}{LTRthanks}
\bicsintabular{روزپارسی}{persianday}
\bicsintabular{قلم‌پارسی}{persianfont}
-\bicsintabular{اعدادفرمولهاپارسی}{PersianMathsDigits}
+\bicsintabular{اعدادفرمولهاپارسی}{PersianMathDigits}
\bicsintabular{ماه‌پارسی}{persianmonth}
\bicsintabular{سال‌پارسی}{persianyear}
\bicsintabular{علامت‌چپ‌نقل‌قول‌پارسی‌}{plq}
diff --git a/macros/xetex/latex/xepersian/xepersian-doc-envcs.ltx b/macros/xetex/latex/xepersian/xepersian-doc-envcs.ltx
index 002d8f380c..0712b5929e 100644
--- a/macros/xetex/latex/xepersian/xepersian-doc-envcs.ltx
+++ b/macros/xetex/latex/xepersian/xepersian-doc-envcs.ltx
@@ -74,7 +74,7 @@
\end{itemize}
\subsection{Things To Know About \Lcs{setmathdigitfont}, \Lcs{setmathsfdigitfont}, and \Lcs{setmathttdigitfont}}
\begin{BDef}
-\Lcs{DefaultMathsDigits}\quad\Lcs{PersianMathsDigits}\quad\Lcs{AutoMathsDigits}
+\Lcs{DefaultMathDigits}\quad\Lcs{PersianMathDigits}\quad\Lcs{AutoMathDigits}
\end{BDef}
\begin{itemize}
\item As we discussed before, \Lcs{setmathdigitfont} will choose the Persian font for digits in math mode. By default, digits in math mode will appear in Persian form.
@@ -82,9 +82,9 @@
If you use \Lcs{setmathdigitfont}, \Lcs{setmathsfdigitfont}, and \Lcs{setmathttdigitfont}, then you should know that:
\begin{itemize}
-\item By default, \Lcs{AutoMathsDigits} is active, which means that in Persian mode, you get Persian digits in math mode and in Latin mode, you get \TeX's default font and digits in math mode.
-\item If you use \Lcs{PersianMathsDigits} anywhere, you will overwrite \XePersian's default behaviour and you will always get Persian digits in math mode.
-\item If you use \Lcs{DefaultMathsDigits} anywhere, again you will overwrite \XePersian's default behaviour and you will always get \TeX's default font and digits in math mode.
+\item By default, \Lcs{AutoMathDigits} is active, which means that in Persian mode, you get Persian digits in math mode and in Latin mode, you get \TeX's default font and digits in math mode.
+\item If you use \Lcs{PersianMathDigits} anywhere, you will overwrite \XePersian's default behaviour and you will always get Persian digits in math mode.
+\item If you use \Lcs{DefaultMathDigits} anywhere, again you will overwrite \XePersian's default behaviour and you will always get \TeX's default font and digits in math mode.
\end{itemize}
\end{itemize}
\end{document} \ No newline at end of file
diff --git a/macros/xetex/latex/xepersian/xepersian-doc-intro.ltx b/macros/xetex/latex/xepersian/xepersian-doc-intro.ltx
index 0f4f219472..e6421f36bc 100644
--- a/macros/xetex/latex/xepersian/xepersian-doc-intro.ltx
+++ b/macros/xetex/latex/xepersian/xepersian-doc-intro.ltx
@@ -25,7 +25,7 @@ If you use \textsf{\XePersian} package to write any input \TeX\ document, and th
* Copyright (c) 2008--2022 Vafa Khalighi
* Copyright (c) 2018--2020 bidi-tex GitHub Organization
*
-* v23.2, 2022/02/01
+* v23.3, 2022/02/04
*
* License: LaTeX Project Public License, version
* 1.3c or higher (your choice)
@@ -34,6 +34,8 @@ If you use \textsf{\XePersian} package to write any input \TeX\ document, and th
*
* Issue tracker: https://github.com/tex-persian/xepersian/issues
*
+* Discussions: https://github.com/tex-persian/xepersian/discussions
+*
* Support Email: tex-persian@vafa.ac
*
* Primary author of xepersian package: Vafa Khalighi.
diff --git a/macros/xetex/latex/xepersian/xepersian-doc-pkgs.ltx b/macros/xetex/latex/xepersian/xepersian-doc-pkgs.ltx
index 2df22a0ad2..328d53d617 100644
--- a/macros/xetex/latex/xepersian/xepersian-doc-pkgs.ltx
+++ b/macros/xetex/latex/xepersian/xepersian-doc-pkgs.ltx
@@ -6,7 +6,7 @@
\subsubsection{Introduction}
\textsf{xepersian-magazine} class allows you to create magazines, newspapers and any other types of papers. The output document has a front page and as many inner pages as desired. Articles appear one after another, telling the type, number of columns, heading, subheading, images, author and so forth. It is possible to change the aspect of (almost) everything therefore it is highly customisable. Commands to add different titles, headings and footers are also provided.
\subsubsection{Usage}
-To create\footnote{For a sample file, please look at \texttt{magazine-sample.tex} in the \textsf{doc} folder} a magazine just load the class as usual\footnote{You also need to load \textsf{graphicx}, \textsf{xunicode} and \textsf{xepersian} packages respectively, after loading the document class and choose fonts for the main text, Latin text and digits in maths formulas. For more detail see \autoref{basics} of the documentation.}, with
+To create\footnote{For a sample file, please look at \texttt{magazine-sample.tex} in the \textsf{doc} folder} a magazine just load the class as usual\footnote{You also need to load \textsf{graphicx}, \textsf{xunicode} and \textsf{xepersian} packages respectively, after loading the document class and choose fonts for the main text, Latin text and digits in math formulas. For more detail see \autoref{basics} of the documentation.}, with
\begin{BDef}
\Lcs{documentclass}\OptArgs\Largb{xepersian-magazine}
\end{BDef}
diff --git a/macros/xetex/latex/xepersian/xepersian-doc-title.ltx b/macros/xetex/latex/xepersian/xepersian-doc-title.ltx
index 51011e39b9..3cfd1346fa 100644
--- a/macros/xetex/latex/xepersian/xepersian-doc-title.ltx
+++ b/macros/xetex/latex/xepersian/xepersian-doc-title.ltx
@@ -3,7 +3,7 @@
\begin{document}
\title{\textcolor{blue!65!black}{\Huge The \textsf{\XePersian} \textit{Package}}\\
\LARGE Persian for \LaTeXe, using {\XeTeX} engine\\[5pt]
-\large User documentation for \textcolor{blue!65!black}{version 23.2}}
+\large User documentation for \textcolor{blue!65!black}{version 23.3}}
\author{Vafa Khalighi\thanks{Thanks to the bidi-tex GitHub organization consisted of David Carlisle and other members of the {\LaTeX} team to maintain the package in the period 2018--2020.}\\
\url{tex-persian@vafa.ac}}
\setcounter{page}{0}
@@ -14,7 +14,7 @@
\textcolor{blue!65!black}{\Huge The \textsf{\XePersian} \textit{Package}}
\Large
-User documentation for \textcolor{blue!65!black}{version 23.2}}
+User documentation for \textcolor{blue!65!black}{version 23.3}}
\vskip 0pt plus 3fill
\textit{\large to my Master, \textbf{Ferdowsi The Great}}
@@ -30,6 +30,18 @@ or ask for any new features, or suggest any improvements, or ask any questions a
\medskip
In doing so, please always explain your issue well enough, and always include
a minimal working example showing the issue.
+
+\bigskip
+You may also have conversations, ask questions and post answers
+without opening issues using the Discussions space:
+
+\medskip
+ \centerline{\url{https://github.com/tex-persian/xepersian/discussions}}
+
+\medskip
+The announcements for the new releases of the package will
+also appear in the Discussions space under the Announcements
+category.
\end{minipage}
}}
diff --git a/macros/xetex/latex/xepersian/xepersian-doc.ltx b/macros/xetex/latex/xepersian/xepersian-doc.ltx
index 5cd43a84e7..e1058567db 100644
--- a/macros/xetex/latex/xepersian/xepersian-doc.ltx
+++ b/macros/xetex/latex/xepersian/xepersian-doc.ltx
@@ -1,7 +1,7 @@
\documentclass{ltxdoc}
\input{xepersian-doc-preamble.ltx}
\hypersetup{%
- pdftitle={User documentation for version 23.2 of the XePersian
+ pdftitle={User documentation for version 23.3 of the XePersian
package}%
}
\begin{document}
diff --git a/macros/xetex/latex/xepersian/xepersian-doc.pdf b/macros/xetex/latex/xepersian/xepersian-doc.pdf
index 1f79bb2306..650074eee7 100644
--- a/macros/xetex/latex/xepersian/xepersian-doc.pdf
+++ b/macros/xetex/latex/xepersian/xepersian-doc.pdf
Binary files differ
diff --git a/macros/xetex/latex/xepersian/xepersian.dtx b/macros/xetex/latex/xepersian/xepersian.dtx
index fb740c00a5..cef2486b84 100644
--- a/macros/xetex/latex/xepersian/xepersian.dtx
+++ b/macros/xetex/latex/xepersian/xepersian.dtx
@@ -5,7 +5,7 @@
%<*readme>
____________________
The XePersian package
-v23.2
+v23.3
The xepersian package provides a convenient interface for
typesetting Persian and English texts in LaTeX, using XeTeX
@@ -20,9 +20,18 @@ please use the issue tracker:
In doing so, please always explain your issue well enough, and always
include a minimal working example showing the issue.
-
-Current version release date: 2022/02/01
+You may also have conversations, ask questions and post answers
+without opening issues using the Discussions space:
+
+ <https://github.com/tex-persian/xepersian/discussions>
+
+The announcements for the new releases of the package will
+also appear in the Discussions space under the Announcements
+category.
+
+
+Current version release date: 2022/02/04
___________________________________________
Vafa Khalighi
tex-persian@vafa.ac
@@ -117,6 +126,7 @@ by Vafa Khalighi.
}
\usepostamble\mapping@postamble
\generate{\file{persian-tex-text.map}{\from{\jobname.dtx}{persian-tex-text.map}}}
+\generate{\file{persian-tex-text-nonumbers.map}{\from{\jobname.dtx}{persian-tex-text-nonumbers.map}}}
\let\MetaPrefix\DoubleperCent
\usepostamble\org@postamble
\generate{\file{rapport1-xepersian.def}{\from{\jobname.dtx}{table,rapport1-xepersian.def}}}
@@ -133,7 +143,7 @@ by Vafa Khalighi.
\generate{\file{varioref-xepersian.def}{\from{\jobname.dtx}{table,varioref-xepersian.def}}}
\generate{\file{xepersian.sty}{\from{\jobname.dtx}{table,xepersian.sty}}}
\generate{\file{xepersian-magazine.cls}{\from{\jobname.dtx}{table,xepersian-magazine.cls}}}
-\generate{\file{xepersian-mathsdigitspec.sty}{\from{\jobname.dtx}{table,xepersian-mathsdigitspec.sty}}}
+\generate{\file{xepersian-mathdigitspec.sty}{\from{\jobname.dtx}{table,xepersian-mathdigitspec.sty}}}
\generate{\file{xepersian-multiplechoice.sty}{\from{\jobname.dtx}{table,xepersian-multiplechoice.sty}}}
\generate{\file{xepersian-persiancal.sty}{\from{\jobname.dtx}{table,xepersian-persiancal.sty}}}
%</batchfile>
@@ -158,7 +168,7 @@ by Vafa Khalighi.
\documentclass{ltxdoc}
\input{xepersian-doc-preamble.ltx}
\hypersetup{%
- pdftitle={Source documentation for version 23.2 of the XePersian
+ pdftitle={Source documentation for version 23.3 of the XePersian
package}%
}
\EnableCrossrefs
@@ -177,7 +187,7 @@ by Vafa Khalighi.
% \GetFileInfo{\jobname.dtx}
% \title{\textcolor{blue!65!black}{\Huge The \textsf{\XePersian} \textit{Package}}\\
%\LARGE Persian for \LaTeXe, using {\XeTeX} engine\\[5pt]
-%\large Source documentation for \textcolor{blue!65!black}{version 23.2}}
+%\large Source documentation for \textcolor{blue!65!black}{version 23.3}}
% \author{Vafa Khalighi\thanks{Thanks to the bidi-tex GitHub organization consisted of David Carlisle and other members of the {\LaTeX} team to maintain the package in the period 2018--2020.}\\
% \url{tex-persian@vafa.ac}}
%\setcounter{page}{0}
@@ -188,7 +198,7 @@ by Vafa Khalighi.
%\textcolor{blue!65!black}{\Huge The \textsf{\XePersian} \textit{Package}}
%
%\Large
-%Source documentation for \textcolor{blue!65!black}{version 23.2}}
+%Source documentation for \textcolor{blue!65!black}{version 23.3}}
%
%\vskip 0pt plus 3fill
%\textit{\large to my Master, \textbf{Ferdowsi The Great}}
@@ -204,6 +214,18 @@ by Vafa Khalighi.
%\medskip
%In doing so, please always explain your issue well enough, and always include
%a minimal working example showing the issue.
+%
+%\bigskip
+%You may also have conversations, ask questions and post answers
+%without opening issues using the Discussions space:
+%
+%\medskip
+% \centerline{\url{https://github.com/tex-persian/xepersian/discussions}}
+%
+%\medskip
+%The announcements for the new releases of the package will
+%also appear in the Discussions space under the Announcements
+%category.
%\end{minipage}
%}}
%
@@ -224,7 +246,7 @@ by Vafa Khalighi.
%\iffalse
%<*table>
%\fi
-%% \CheckSum{10887}
+%% \CheckSum{10959}
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
@@ -1512,8 +1534,8 @@ by Vafa Khalighi.
% \begin{macrocode}
\ProvidesFile{xepersian-localise-commands-xepersian.def}[2012/07/25 v0.2 Persian localisation of XePersian commands]
\eqcommand{خط‌زیرنویس‌خودکار}{autofootnoterule}
-\eqcommand{اعدادفرمولهاخودکار}{AutoMathsDigits}
-\eqcommand{اعدادفرمولهالاتین}{DefaultMathsDigits}
+\eqcommand{اعدادفرمولهاخودکار}{AutoMathDigits}
+\eqcommand{اعدادفرمولهالاتین}{DefaultMathDigits}
\eqcommand{معادل@کلید}{keyval@eq@alias@key}
\eqcommand{تعریف‌قلم‌لاتین}{deflatinfont}
\eqcommand{تعریف‌قلم‌پارسی}{defpersianfont}
@@ -1531,7 +1553,7 @@ by Vafa Khalighi.
\eqcommand{پانویس‌عنوان}{LTRthanks}
\eqcommand{روزپارسی}{persianday}
\eqcommand{قلم‌پارسی}{persianfont}
-\eqcommand{اعدادفرمولهاپارسی}{PersianMathsDigits}
+\eqcommand{اعدادفرمولهاپارسی}{PersianMathDigits}
\eqcommand{ماه‌پارسی}{persianmonth}
\eqcommand{سال‌پارسی}{persianyear}
\eqcommand{علامت‌چپ‌نقل‌قول‌پارسی}{plq}
@@ -3091,6 +3113,39 @@ U+003E U+003E <> U+00BB ; >> -> RIGHT POINTING GUILLEMET
% \end{macrocode}
% \iffalse
%</persian-tex-text.map>
+%<*persian-tex-text-nonumbers.map>
+%\fi
+% \section{File \texttt{persian-tex-text-nonumbers.map}}
+% \begin{macrocode}
+LHSName "persian-TeX-text-nonumbers"
+RHSName "Unicode"
+
+pass(Unicode)
+U+002C <> U+060C ; comma ­> arabic comma
+U+003F <> U+061F ; question mark -> arabic qm
+U+003B <> U+061B ; semicolon -> arabic semicolon
+
+; ligatures from Knuth's original CMR fonts
+U+002D U+002D <> U+2013 ; -- -> en dash
+U+002D U+002D U+002D <> U+2014 ; --- -> em dash
+
+U+0027 <> U+2019 ; ' -> right single quote
+U+0027 U+0027 <> U+201D ; '' -> right double quote
+U+0022 > U+201D ; " -> right double quote
+
+U+0060 <> U+2018 ; ` -> left single quote
+U+0060 U+0060 <> U+201C ; `` -> left double quote
+
+U+0021 U+0060 <> U+00A1 ; !` -> inverted exclam
+U+003F U+0060 <> U+00BF ; ?` -> inverted question
+
+; additions supported in T1 encoding
+U+002C U+002C <> U+201E ; ,, -> DOUBLE LOW-9 QUOTATION MARK
+U+003C U+003C <> U+00AB ; << -> LEFT POINTING GUILLEMET
+U+003E U+003E <> U+00BB ; >> -> RIGHT POINTING GUILLEMET
+% \end{macrocode}
+% \iffalse
+%</persian-tex-text-nonumbers.map>
%<*rapport1-xepersian.def>
%\fi
% \section{File \texttt{rapport1-xepersian.def}}
@@ -3423,13 +3478,13 @@ U+003E U+003E <> U+00BB ; >> -> RIGHT POINTING GUILLEMET
% \section{File \texttt{xepersian.sty}}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\def\xepersian@version{23.2}
-\def\xepersiandate{2022/02/01}
+\def\xepersian@version{23.3}
+\def\xepersiandate{2022/02/04}
\ProvidesPackage{xepersian}[\xepersiandate\space v\xepersian@version\space
Persian typesetting in XeLaTeX]
\RequirePackage{fontspec}
\RequirePackage{xepersian-persiancal}
-\RequirePackage{xepersian-mathsdigitspec}
+\RequirePackage{xepersian-mathdigitspec}
\RequirePackage{bidi}
\edef\@xepersian@info{****************************************************^^J%
* ^^J%
@@ -3451,6 +3506,8 @@ Persian typesetting in XeLaTeX]
* ^^J%
* Issue tracker: https://github.com/tex-persian/xepersian/issues^^J%
* ^^J%
+* Discussions: https://github.com/tex-persian/xepersian/discussions^^J%
+* ^^J%
* Support Email: tex-persian@vafa.ac^^J%
* ^^J%
* Primary author of xepersian package: Vafa Khalighi.^^J%
@@ -3524,6 +3581,21 @@ Persian typesetting in XeLaTeX]
\tl_set:Nn \l__fontspec_mapping_tl { persian-tex-text }
}
}
+
+\keys_define:nn {fontspec-opentype}
+ {
+ Ligatures / PersianTeXNoNumbers .code:n = { \tl_set:Nn \l__fontspec_mapping_tl {persian-tex-text-nonumbers} },
+ Ligatures / PersianTeXNoNumbersOff .code:n = { \tl_clear:N \l__fontspec_mapping_tl },
+ Ligatures / PersianTeXNoNumbersReset .code:n = { \tl_clear:N \l__fontspec_mapping_tl },
+ }
+
+\keys_define:nn {fontspec-aat}
+ {
+ Ligatures / PersianTeXNoNumbers .code:n =
+ {
+ \tl_set:Nn \l__fontspec_mapping_tl { persian-tex-text-nonumbers }
+ }
+ }
\DeclareDocumentCommand \settextfont { O{} m O{} }
{
@@ -3532,7 +3604,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_settextfont:nn
{
- \fontspec_set_family:Nnn \l__xepersian_persianfont_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2}
+ \fontspec_set_family:Nnn \l__xepersian_persianfont_family_tl {Ligatures=PersianTeX,#1} {#2}
\tl_set_eq:NN \rmdefault \l__xepersian_persianfont_family_tl
\use:x { \exp_not:n { \DeclareRobustCommand \persianfont }
{
@@ -3556,7 +3628,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_settextdigitfont:nn
{
- \fontspec_set_family:Nnn \l__xepersian_textdigitfont_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2}
+ \fontspec_set_family:Nnn \l__xepersian_textdigitfont_family_tl {Ligatures=PersianTeX,#1} {#2}
\use:x
{
\exp_not:n { \DeclareRobustCommand \xepersian@textdigitfont }
@@ -3636,7 +3708,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_defpersianfont:NnnN
{
- \fontspec_set_family:cnn { l__xepersian_ \cs_to_str:N #1 _family_tl } {Script=Persian,Ligatures=PersianTeX,#2} {#3}
+ \fontspec_set_family:cnn { l__xepersian_ \cs_to_str:N #1 _family_tl } {Ligatures=PersianTeX,#2} {#3}
\use:x
{
\exp_not:N #4 \exp_not:N #1 {}
@@ -3710,7 +3782,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_setpersiansansfont:nn
{
- \fontspec_set_family:Nnn \l__xepersian_persiansffamily_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2}
+ \fontspec_set_family:Nnn \l__xepersian_persiansffamily_family_tl {Ligatures=PersianTeX,#1} {#2}
\tl_set_eq:NN \persiansfdefault \l__xepersian_persiansffamily_family_tl
\use:x { \exp_not:n { \DeclareRobustCommand \persiansffamily }
{
@@ -3734,7 +3806,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_setpersianmonofont:nn
{
- \fontspec_set_family:Nnn \l__xepersian_persianttfamily_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2}
+ \fontspec_set_family:Nnn \l__xepersian_persianttfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
\tl_set_eq:NN \persianttdefault \l__xepersian_persianttfamily_family_tl
\use:x { \exp_not:n { \DeclareRobustCommand \persianttfamily }
{
@@ -3758,7 +3830,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_setnavarfont:nn
{
- \fontspec_set_family:Nnn \l__xepersian_navarfamily_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2}
+ \fontspec_set_family:Nnn \l__xepersian_navarfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
\tl_set_eq:NN \navardefault \l__xepersian_navarfamily_family_tl
\use:x { \exp_not:n { \DeclareRobustCommand \navarfamily }
{
@@ -3782,7 +3854,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_setpookfont:nn
{
- \fontspec_set_family:Nnn \l__xepersian_pookfamily_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2}
+ \fontspec_set_family:Nnn \l__xepersian_pookfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
\tl_set_eq:NN \pookdefault \l__xepersian_pookfamily_family_tl
\use:x { \exp_not:n { \DeclareRobustCommand \pookfamily }
{
@@ -3806,7 +3878,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_setsayehfont:nn
{
- \fontspec_set_family:Nnn \l__xepersian_sayehfamily_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2}
+ \fontspec_set_family:Nnn \l__xepersian_sayehfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
\tl_set_eq:NN \sayehdefault \l__xepersian_sayehfamily_family_tl
\use:x { \exp_not:n { \DeclareRobustCommand \sayehfamily }
{
@@ -3830,7 +3902,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_setiranicfont:nn
{
- \fontspec_set_family:Nnn \l__xepersian_iranicfamily_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2}
+ \fontspec_set_family:Nnn \l__xepersian_iranicfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
\tl_set_eq:NN \iranicdefault \l__xepersian_iranicfamily_family_tl
\use:x { \exp_not:n { \DeclareRobustCommand \iranicfamily }
{
@@ -4258,7 +4330,7 @@ Persian typesetting in XeLaTeX]
\newcommand*{\@xepersian@pdfcustomproperties}{%
This is the xepersian package, Version \xepersian@version,
- Released February 1, 2022.
+ Released February 27, 2022.
}
\newcommand\twocolumnstableofcontents{%
@@ -4632,27 +4704,27 @@ number is 999,999,999.}%
\define@choicekey{xepersian.sty}{mathdigits}[\xepersian@tempa\xepersian@tempb]{automatic,default,persian}{%
\ifcase\xepersian@tempb\relax
- \AutoMathsDigits
+ \AutoMathDigits
\or
- \DefaultMathsDigits
+ \DefaultMathDigits
\or
- \PersianMathsDigits
+ \PersianMathDigits
\fi}
\define@choicekey{xepersian.sty}{inlinemathdigits}[\xepersian@tempa\xepersian@tempb]{automatic,default,persian}{%
\ifcase\xepersian@tempb\relax
- \AutoInlineMathsDigits
+ \AutoInlineMathDigits
\or
- \DefaultInlineMathsDigits
+ \DefaultInlineMathDigits
\or
- \PersianInlineMathsDigits
+ \PersianInlineMathDigits
\fi}
\define@choicekey{xepersian.sty}{displaymathdigits}[\xepersian@tempa\xepersian@tempb]{automatic,default,persian}{%
\ifcase\xepersian@tempb\relax
- \AutoDisplayMathsDigits
+ \AutoDisplayMathDigits
\or
- \DefaultDisplayMathsDigits
+ \DefaultDisplayMathDigits
\or
- \PersianDisplayMathsDigits
+ \PersianDisplayMathDigits
\fi}
\define@choicekey{xepersian.sty}{RTLdocument}[\xepersian@tempa\xepersian@tempb]{on,off}[on]{%
\ifcase\xepersian@tempb\relax
@@ -5815,13 +5887,13 @@ indexblock environment may only appear inside frontpage environment.
% \end{macrocode}
% \iffalse
%</xepersian-magazine.cls>
-%<*xepersian-mathsdigitspec.sty>
+%<*xepersian-mathdigitspec.sty>
%\fi
-% \section{File \texttt{xepersian-mathsdigitspec.sty}}
+% \section{File \texttt{xepersian-mathdigitspec.sty}}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{xepersian-mathsdigitspec}
- [2022/02/01 v1.1.8 Unicode Persian maths digits in XeLaTeX]
+\ProvidesPackage{xepersian-mathdigitspec}
+ [2022/02/04 v1.1.9 Unicode Persian math digits in XeLaTeX]
\def\new@mathgroup{\alloc@8\mathgroup\chardef\@cclvi}
\let\newfam\new@mathgroup
\def\select@group#1#2#3#4{%
@@ -5896,7 +5968,7 @@ indexblock environment may only appear inside frontpage environment.
\tl_remove_once:Nn \@preamblecmds {\do#1}
}
\ExplSyntaxOff
-\newcommand\xepersian@PackageInfo[1]{\PackageInfo{xepersian-mathsdigitspec}{#1}}
+\newcommand\xepersian@PackageInfo[1]{\PackageInfo{xepersian-mathdigitspec}{#1}}
\newcommand\SetMathCode[4]{%
\Umathcode#1="\mathchar@type#2 \csname sym#3\endcsname #4\relax}
\newcommand\SetMathCharDef[4]{%
@@ -5949,11 +6021,11 @@ indexblock environment may only appear inside frontpage environment.
}
}
-\cs_new:Npn \__xepersian_mathsdigitspec_error:nxx { \msg_error:nnxx {xepersian-mathsdigitspec} }
-\cs_new:Nn \__xepersian_mathsdigitspec_msg_new:nnnn
+\cs_new:Npn \__xepersian_mathdigitspec_error:nxx { \msg_error:nnxx {xepersian-mathdigitspec} }
+\cs_new:Nn \__xepersian_mathdigitspec_msg_new:nnnn
{ \msg_new:nnxx {#1} {#2} { \tl_trim_spaces:n {#3} } { \tl_trim_spaces:n {#4} } }
\char_set_catcode_space:n {32}
-\__xepersian_mathsdigitspec_msg_new:nnnn {xepersian-mathsdigitspec} {char-not-exist}
+\__xepersian_mathdigitspec_msg_new:nnnn {xepersian-mathdigitspec} {char-not-exist}
{
The font "#1" does not contain U+#2.
}
@@ -5963,7 +6035,7 @@ indexblock environment may only appear inside frontpage environment.
\char_set_catcode_ignore:n {32}
%\__kernel_primitive:NN \iffontchar \tex_iffontchar:D
-\prg_new_conditional:Nnn \__xepersian_mathsdigitspec_primitive_font_char_if_exist:n {p,TF,T,F}
+\prg_new_conditional:Nnn \__xepersian_mathdigitspec_primitive_font_char_if_exist:n {p,TF,T,F}
{
\tex_iffontchar:D \l_fontspec_font "#1 \scan_stop:
\prg_return_true:
@@ -5972,35 +6044,35 @@ indexblock environment may only appear inside frontpage environment.
\fi:
}
-\clist_new:N \l_xepersian_mathsdigitspec_char_clist
+\clist_new:N \l_xepersian_mathdigitspec_char_clist
-\cs_new:Nn \__xepersian_mathsdigitspec_char_set_not_exist_error:nn
+\cs_new:Nn \__xepersian_mathdigitspec_char_set_not_exist_error:nn
{
- \clist_set:Nn \l_xepersian_mathsdigitspec_char_clist { #1 }
- \clist_map_inline:Nn \l_xepersian_mathsdigitspec_char_clist {
- \__xepersian_mathsdigitspec_primitive_font_char_if_exist:nF { ##1 }{ \__xepersian_mathsdigitspec_error:nxx {char-not-exist} { #2 } { ##1 } }
+ \clist_set:Nn \l_xepersian_mathdigitspec_char_clist { #1 }
+ \clist_map_inline:Nn \l_xepersian_mathdigitspec_char_clist {
+ \__xepersian_mathdigitspec_primitive_font_char_if_exist:nF { ##1 }{ \__xepersian_mathdigitspec_error:nxx {char-not-exist} { #2 } { ##1 } }
}
}
-\cs_new:Nn \__xepersian_mathsdigitspec_char_prepend_not_exist_error:nn
+\cs_new:Nn \__xepersian_mathdigitspec_char_prepend_not_exist_error:nn
{
- \clist_put_left:Nn \l_xepersian_mathsdigitspec_char_clist { #1 }
- \clist_map_inline:Nn \l_xepersian_mathsdigitspec_char_clist {
- \__xepersian_mathsdigitspec_primitive_font_char_if_exist:nF { ##1 }{ \__xepersian_mathsdigitspec_error:nxx {char-not-exist} { #2 } { ##1 } }
+ \clist_put_left:Nn \l_xepersian_mathdigitspec_char_clist { #1 }
+ \clist_map_inline:Nn \l_xepersian_mathdigitspec_char_clist {
+ \__xepersian_mathdigitspec_primitive_font_char_if_exist:nF { ##1 }{ \__xepersian_mathdigitspec_error:nxx {char-not-exist} { #2 } { ##1 } }
}
}
-\cs_new:Nn \__xepersian_mathsdigitspec_char_append_not_exist_error:nn
+\cs_new:Nn \__xepersian_mathdigitspec_char_append_not_exist_error:nn
{
- \clist_put_right:Nn \l_xepersian_mathsdigitspec_char_clist { #1 }
- \clist_map_inline:Nn \l_xepersian_mathsdigitspec_char_clist {
- \__xepersian_mathsdigitspec_primitive_font_char_if_exist:nF { ##1 }{ \__xepersian_mathsdigitspec_error:nxx {char-not-exist} { #2 } { ##1 } }
+ \clist_put_right:Nn \l_xepersian_mathdigitspec_char_clist { #1 }
+ \clist_map_inline:Nn \l_xepersian_mathdigitspec_char_clist {
+ \__xepersian_mathdigitspec_primitive_font_char_if_exist:nF { ##1 }{ \__xepersian_mathdigitspec_error:nxx {char-not-exist} { #2 } { ##1 } }
}
}
-\cs_new:Nn \__xepersian_mathsdigitspec_char_not_exist_error:n
+\cs_new:Nn \__xepersian_mathdigitspec_char_not_exist_error:n
{
- \__xepersian_mathsdigitspec_char_set_not_exist_error:nn {
+ \__xepersian_mathdigitspec_char_set_not_exist_error:nn {
06F0 , 06F1 , 06F2 , 06F3 , 06F4 , 06F5 , 06F6 , 06F7 , 06F8 ,
06F9 , 066A , 066B
} { #1 }
@@ -6015,13 +6087,13 @@ indexblock environment may only appear inside frontpage environment.
\let\glb@currsize\relax
\fontspec_set_family:Nnn \g__xepersian_mathdigitsfamily_tl {Ligatures=PersianTeX,#1} {#2}
\__xepersian_setmathdigitfont_hook:nn {#1} {#2}
- \xepersian@PackageInfo{Defining the default Persian maths digits font as '#2'}
+ \xepersian@PackageInfo{Defining the default Persian math digits font as '#2'}
\DeclareSymbolFont{OPERATORS} {\g_fontspec_encoding_tl}{\g__xepersian_mathdigitsfamily_tl} {m}{n}
\DeclareSymbolFont{new@mathbf@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathdigitsfamily_tl}{bx}{n}
\DeclareSymbolFont{new@mathit@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathdigitsfamily_tl}{m}{it}
\DeclareSymbolFont{new@mathrm@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathdigitsfamily_tl}{m}{n}
- \__xepersian_mathsdigitspec_char_not_exist_error:n { #2 }
- \def\persianmathsdigits{%
+ \__xepersian_mathdigitspec_char_not_exist_error:n { #2 }
+ \def\persianmathdigits{%
\SetMathCode{`0}{\mathalpha}{OPERATORS}{`0}
\SetMathCode{`1}{\mathalpha}{OPERATORS}{`1}
\SetMathCode{`2}{\mathalpha}{OPERATORS}{`2}
@@ -6050,7 +6122,7 @@ indexblock environment may only appear inside frontpage environment.
\fontspec_set_family:Nnn \g__xepersian_mathsfdigitfamily_tl {Ligatures=PersianTeX,#1} {#2}
\__xepersian_setmathsfdigitfont_hook:nn {#1} {#2}
\DeclareSymbolFont{new@mathsf@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathsfdigitfamily_tl}{m}{n}
- \__xepersian_mathsdigitspec_char_not_exist_error:n { #2 }
+ \__xepersian_mathdigitspec_char_not_exist_error:n { #2 }
\def\persianmathsfdigits{\tl_set_eq:NN \mathsf \new@mathsf}
}
@@ -6065,7 +6137,7 @@ indexblock environment may only appear inside frontpage environment.
\fontspec_set_family:Nnn \g__xepersian_mathttdigitfamily_tl {Ligatures=PersianTeX,#1} {#2}
\__xepersian_setmathttdigitfont_hook:nn {#1} {#2}
\DeclareSymbolFont{new@mathtt@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathttdigitfamily_tl}{m}{n}
- \__xepersian_mathsdigitspec_char_not_exist_error:n { #2 }
+ \__xepersian_mathdigitspec_char_not_exist_error:n { #2 }
\def\persianmathttdigits{\tl_set_eq:NN \mathtt \new@mathtt}
}
@@ -6105,47 +6177,78 @@ indexblock environment may only appear inside frontpage environment.
\fi}
\mathcode`.="8000\relax
\def\ZifferLeer{\ifx\decimalseparator\undefined .\else \decimalseparator\fi}
-\def\DefaultInlineMathsDigits{\def\SetInlineMathsDigits{}}
-\def\DefaultDisplayMathsDigits{\def\SetDisplayMathsDigits{}}
-\def\DefaultMathsDigits{%
- \DefaultInlineMathsDigits%
- \DefaultDisplayMathsDigits%
-}
-\def\PersianInlineMathsDigits{\def\SetInlineMathsDigits{%
-\ifx\persianmathsdigits\undefined\else\persianmathsdigits\fi%
+\def\DefaultZifferLeer{.}
+\def\DefaultInlineMathDigits{\def\SetInlineMathDigits{}}
+\def\DefaultDisplayMathDigits{\def\SetDisplayMathDigits{}}
+\def\DefaultMathDigits{%
+ \DefaultInlineMathDigits%
+ \DefaultDisplayMathDigits%
+}
+\def\PersianInlineMathDigits{\def\SetInlineMathDigits{%
+\ifx\persianmathdigits\undefined\else\persianmathdigits\fi%
\ifx\persianmathsfdigits\undefined\else\persianmathsfdigits\fi%
\ifx\persianmathttdigits\undefined\else\persianmathttdigits\fi}}
-\def\PersianDisplayMathsDigits{\def\SetDisplayMathsDigits{%
-\ifx\persianmathsdigits\undefined\else\persianmathsdigits\fi%
+\def\PersianDisplayMathDigits{\def\SetDisplayMathDigits{%
+\ifx\persianmathdigits\undefined\else\persianmathdigits\fi%
\ifx\persianmathsfdigits\undefined\else\persianmathsfdigits\fi%
\ifx\persianmathttdigits\undefined\else\persianmathttdigits\fi}}
-\def\PersianMathsDigits{%
- \PersianInlineMathsDigits%
- \PersianDisplayMathsDigits%
+\def\PersianMathDigits{%
+ \PersianInlineMathDigits%
+ \PersianDisplayMathDigits%
}
-\def\AutoInlineMathsDigits{\def\SetInlineMathsDigits{%
-\ifx\persianmathsdigits\undefined\else\if@nonlatin\persianmathsdigits\fi\fi%
+\def\AutoInlineMathDigits{\def\SetInlineMathDigits{%
+\ifx\persianmathdigits\undefined\else\if@nonlatin\persianmathdigits\fi\fi%
\ifx\persianmathsfdigits\undefined\else\if@nonlatin\persianmathsfdigits\fi\fi%
\ifx\persianmathttdigits\undefined\else\if@nonlatin\persianmathttdigits\fi\fi}}
-\def\AutoDisplayMathsDigits{\def\SetDisplayMathsDigits{%
-\ifx\persianmathsdigits\undefined\else\if@nonlatin\persianmathsdigits\fi\fi%
+\def\AutoDisplayMathDigits{\def\SetDisplayMathDigits{%
+\ifx\persianmathdigits\undefined\else\if@nonlatin\persianmathdigits\fi\fi%
\ifx\persianmathsfdigits\undefined\else\if@nonlatin\persianmathsfdigits\fi\fi%
\ifx\persianmathttdigits\undefined\else\if@nonlatin\persianmathttdigits\fi\fi}}
-\def\AutoMathsDigits{%
- \AutoInlineMathsDigits%
- \AutoDisplayMathsDigits%
+\def\AutoMathDigits{%
+ \AutoInlineMathDigits%
+ \AutoDisplayMathDigits%
}
-\AutoMathsDigits
-\everymath\expandafter{\the\everymath\SetInlineMathsDigits%
- \let\SetDisplayMathsDigits\relax%
+\AutoMathDigits
+\everymath\expandafter{\the\everymath\SetInlineMathDigits%
+ \let\SetDisplayMathDigits\relax%
}
\everydisplay\expandafter{%
- \the\everydisplay\SetDisplayMathsDigits%
- \let\SetInlineMathsDigits\relax%
+ \the\everydisplay\SetDisplayMathDigits%
+ \let\SetInlineMathDigits\relax%
}
+
+\ExplSyntaxOn
+\cs_new_eq:NN \orig_ZifferLeer \ZifferLeer
+
+\NewDocumentCommand \SwitchToDefaultMathDigits { } {
+ \int_step_inline:nnnn { `0 } { \c_one_int } { `9 } {
+ \SetMathCode{##1}{\mathalpha}{operators}{##1}
+ }
+ \SetMathCode{`\%}{\mathbin}{operators}{`\%}
+ \tl_set_eq:NN \ZifferLeer \DefaultZifferLeer
+ \tl_set_eq:NN \mathbf \orig_mathbf:n
+ \tl_set_eq:NN \mathit \orig_mathit:n
+ \tl_set_eq:NN \mathrm \orig_mathrm:n
+ \tl_set_eq:NN \mathsf \orig_mathsf:n
+ \tl_set_eq:NN \mathtt \orig_mathtt:n
+}
+
+\NewDocumentCommand \SwitchToPersianMathDigits { } {
+ \int_step_inline:nnnn { `0 } { \c_one_int } { `9 } {
+ \SetMathCode{##1}{\mathalpha}{OPERATORS}{##1}
+ }
+ \SetMathCode{`\%}{\mathbin}{OPERATORS}{`٪}
+ \tl_set_eq:NN \ZifferLeer \orig_ZifferLeer
+ \tl_set_eq:NN \mathbf \new@mathbf
+ \tl_set_eq:NN \mathit \new@mathit
+ \tl_set_eq:NN \mathrm \new@mathrm
+ \tl_set_eq:NN \mathsf \new@mathsf
+ \tl_set_eq:NN \mathtt \new@mathtt
+}
+\ExplSyntaxOff
% \end{macrocode}
% \iffalse
-%</xepersian-mathsdigitspec.sty>
+%</xepersian-mathdigitspec.sty>
%<*xepersian-multiplechoice.sty>
%\fi
% \section{File \texttt{xepersian-multiplechoice.sty}}
diff --git a/macros/xetex/latex/xepersian/xepersian.pdf b/macros/xetex/latex/xepersian/xepersian.pdf
index 3f50a1e4f2..a85b285515 100644
--- a/macros/xetex/latex/xepersian/xepersian.pdf
+++ b/macros/xetex/latex/xepersian/xepersian.pdf
Binary files differ