texlive[68412] Master/texmf-dist: jxu (30sep23)

commits+karl at tug.org commits+karl at tug.org
Sat Sep 30 22:13:07 CEST 2023


Revision: 68412
          https://tug.org/svn/texlive?view=revision&revision=68412
Author:   karl
Date:     2023-09-30 22:13:07 +0200 (Sat, 30 Sep 2023)
Log Message:
-----------
jxu (30sep23)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/projlib/README.md
    trunk/Master/texmf-dist/source/latex/projlib/ProjLib.dtx
    trunk/Master/texmf-dist/tex/latex/colorist/colorart.cls
    trunk/Master/texmf-dist/tex/latex/colorist/colorbook.cls
    trunk/Master/texmf-dist/tex/latex/colorist/colorist-fancy.sty
    trunk/Master/texmf-dist/tex/latex/colorist/colorist.sty
    trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-classical.sty
    trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-default.sty
    trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-flow.sty
    trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-plain.sty
    trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-stream.sty
    trunk/Master/texmf-dist/tex/latex/minimalist/minimalist.sty
    trunk/Master/texmf-dist/tex/latex/minimalist/minimart.cls
    trunk/Master/texmf-dist/tex/latex/minimalist/minimbook.cls
    trunk/Master/texmf-dist/tex/latex/projlib/ProjLib.sty
    trunk/Master/texmf-dist/tex/latex/projlib/projlib-author.sty
    trunk/Master/texmf-dist/tex/latex/projlib/projlib-datetime.sty
    trunk/Master/texmf-dist/tex/latex/projlib/projlib-draft.sty
    trunk/Master/texmf-dist/tex/latex/projlib/projlib-font.sty
    trunk/Master/texmf-dist/tex/latex/projlib/projlib-language.sty
    trunk/Master/texmf-dist/tex/latex/projlib/projlib-logo.sty
    trunk/Master/texmf-dist/tex/latex/projlib/projlib-math.sty
    trunk/Master/texmf-dist/tex/latex/projlib/projlib-paper.sty
    trunk/Master/texmf-dist/tex/latex/projlib/projlib-text.sty
    trunk/Master/texmf-dist/tex/latex/projlib/projlib-theorem.sty
    trunk/Master/texmf-dist/tex/latex/projlib/projlib-titlepage.sty

Modified: trunk/Master/texmf-dist/doc/latex/projlib/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/projlib/README.md	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/doc/latex/projlib/README.md	2023-09-30 20:13:07 UTC (rev 68412)
@@ -5,7 +5,7 @@
 
 # The `ProjLib` Toolkit
 
-> **This bundle is dated 2023/09/28.**
+> **This bundle is dated 2023/09/30.**
 
 > **New documentations are still being written. For now, only the core code is included in TeX Live 2023 (old documentations have been removed from the distribution).**
 

Modified: trunk/Master/texmf-dist/source/latex/projlib/ProjLib.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/projlib/ProjLib.dtx	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/source/latex/projlib/ProjLib.dtx	2023-09-30 20:13:07 UTC (rev 68412)
@@ -19,7 +19,7 @@
 %<*ProjLib>
 \ProvidesExplPackage
   {ProjLib}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {Collective interface of the ProjLib toolkit}
 %</ProjLib>
 %
@@ -26,7 +26,7 @@
 %<*projlib-author>
 \ProvidesExplPackage
   {projlib-author}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {Enhanced author information block}
 %</projlib-author>
 %
@@ -33,7 +33,7 @@
 %<*projlib-datetime>
 \ProvidesExplPackage
   {projlib-datetime}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {Convert numeric date-time string to natural language}
 %</projlib-datetime>
 %
@@ -40,7 +40,7 @@
 %<*projlib-draft>
 \ProvidesExplPackage
   {projlib-draft}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {Useful commands during draft stage}
 %</projlib-draft>
 %
@@ -47,7 +47,7 @@
 %<*projlib-font>
 \ProvidesExplPackage
   {projlib-font}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {Font selection and configuration}
 %</projlib-font>
 %
@@ -54,7 +54,7 @@
 %<*projlib-language>
 \ProvidesExplPackage
   {projlib-language}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {Multi-language configuration}
 %</projlib-language>
 %
@@ -61,7 +61,7 @@
 %<*projlib-logo>
 \ProvidesExplPackage
   {projlib-logo}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {The ProjLib logo}
 %</projlib-logo>
 %
@@ -68,7 +68,7 @@
 %<*projlib-math>
 \ProvidesExplPackage
   {projlib-math}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {Efficient math setup}
 %</projlib-math>
 %
@@ -75,7 +75,7 @@
 %<*projlib-paper>
 \ProvidesExplPackage
   {projlib-paper}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {Configuration of the paper style}
 %</projlib-paper>
 %
@@ -82,7 +82,7 @@
 %<*projlib-text>
 \ProvidesExplPackage
   {projlib-text}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {Text-related commands}
 %</projlib-text>
 %
@@ -89,7 +89,7 @@
 %<*projlib-theorem>
 \ProvidesExplPackage
   {projlib-theorem}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {Configuration of theorem-like environments}
 %</projlib-theorem>
 %
@@ -96,7 +96,7 @@
 %<*projlib-titlepage>
 \ProvidesExplPackage
   {projlib-titlepage}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {Commands for rendering the title page}
 %</projlib-titlepage>
 
@@ -108,14 +108,20 @@
     , author-block    .bool_set:N         = \l__projlib_main_author_bool
     , author~block    .bool_set:N         = \l__projlib_main_author_bool
     , author block    .bool_set:N         = \l__projlib_main_author_bool
+
     , ams-fashion     .bool_set:N         = \l__projlib_main_amsfashion_bool
     , ams-fashion     .initial:n          = { false }
     , ams~fashion     .bool_set:N         = \l__projlib_main_amsfashion_bool
     , ams fashion     .bool_set:N         = \l__projlib_main_amsfashion_bool
+    , AMS-fashion     .bool_set:N         = \l__projlib_main_amsfashion_bool
+    , AMS~fashion     .bool_set:N         = \l__projlib_main_amsfashion_bool
+    , AMS fashion     .bool_set:N         = \l__projlib_main_amsfashion_bool
+
     , title-page      .bool_set:N         = \l__projlib_main_titlepage_bool
     , title-page      .initial:n          = { false }
     , title~page      .bool_set:N         = \l__projlib_main_titlepage_bool
     , title page      .bool_set:N         = \l__projlib_main_titlepage_bool
+
     , unknown         .code:n             = {
                                               \PassOptionsToPackage { \CurrentOption } { projlib-author }
                                               \PassOptionsToPackage { \CurrentOption } { projlib-datetime }
@@ -167,6 +173,10 @@
     , ams-fashion .initial:n  = { false }
     , ams~fashion .bool_set:N = \l__projlib_author_amsfashion_bool
     , ams fashion .bool_set:N = \l__projlib_author_amsfashion_bool
+    , AMS-fashion .bool_set:N = \l__projlib_author_amsfashion_bool
+    , AMS~fashion .bool_set:N = \l__projlib_author_amsfashion_bool
+    , AMS fashion .bool_set:N = \l__projlib_author_amsfashion_bool
+
     , unknown     .code:n     = {}
   }
 \ProcessKeyOptions [ projlib-author ]
@@ -182,6 +192,7 @@
   }
 
 \tl_new:N   \g__projlib_author_font_author_tl
+\tl_new:N   \g__projlib_author_font_date_tl
 \tl_new:N   \g__projlib_author_font_institute_tl
 \tl_new:N   \g__projlib_author_font_address_tl
 \tl_new:N   \g__projlib_author_font_curraddr_tl
@@ -188,18 +199,23 @@
 \tl_new:N   \g__projlib_author_font_email_tl
 
 \tl_gset:Nn \g__projlib_author_font_author_tl      { \normalsize \normalfont \scshape }
+\tl_gset:Nn \g__projlib_author_font_date_tl      { \normalsize \normalfont }
 \tl_gset:Nn \g__projlib_author_font_institute_tl   { \small \normalfont }
 \tl_gset:Nn \g__projlib_author_font_address_tl     { \small \normalfont \itshape }
 \tl_gset:Nn \g__projlib_author_font_curraddr_tl    { \small \normalfont \itshape }
 \tl_gset:Nn \g__projlib_author_font_email_tl       { \small \normalfont \ttfamily }
 
-\dim_new:N  \g__projlib_author_length_innersep_dim
-\dim_new:N  \g__projlib_author_length_sep_dim
-\dim_new:N  \g__projlib_author_length_aftersep_dim
+\dim_new:N  \g__projlib_author_groupsep_dim
+\dim_new:N  \g__projlib_author_innersep_dim
+\dim_new:N  \g__projlib_author_affilsep_dim
+\dim_new:N  \g__projlib_author_aftersep_dim
+\dim_new:N  \g__projlib_author_emptysep_dim
 
-\dim_set:Nn \g__projlib_author_length_innersep_dim { 0.3 \baselineskip }
-\dim_set:Nn \g__projlib_author_length_sep_dim      { 0.5 \baselineskip }
-\dim_set:Nn \g__projlib_author_length_aftersep_dim { 0.3 \baselineskip }
+\dim_set:Nn \g__projlib_author_groupsep_dim { 0.5 \baselineskip }
+\dim_set:Nn \g__projlib_author_innersep_dim { .25 \baselineskip }
+\dim_set:Nn \g__projlib_author_affilsep_dim {   0 \baselineskip }
+\dim_set:Nn \g__projlib_author_aftersep_dim { .15 \baselineskip }
+\dim_set:Nn \g__projlib_author_emptysep_dim { .15 \baselineskip }
 
 
 \bool_new:N \g__projlib_author_affil_already_exist_bool
@@ -209,11 +225,20 @@
   {
     \hook_gput_code:nnn { cmd/@author/after } { projlib-author }
       {
+        \bool_set_false:N \g__projlib_author_affil_already_exist_bool
+        % If there is nothing before, the following line does nothing
+        % If there is an affil before, this will backward one line
         \phantom {A} \\[-\baselineskip]
-        \skip_vertical:n { \g__projlib_author_length_sep_dim }
-        { \g__projlib_author_font_author_tl #1 }
-        \bool_set_false:N \g__projlib_author_affil_already_exist_bool
-        \\ \phantom {}
+        \tl_if_blank:nTF { #1 }
+          {
+            \skip_vertical:n { \g__projlib_author_emptysep_dim }
+            \phantom {}
+          }
+          {
+            \skip_vertical:n { \g__projlib_author_groupsep_dim }
+            { \g__projlib_author_font_author_tl #1 }
+            \\ \phantom {}
+          }
       }
   }
 
@@ -223,13 +248,16 @@
   {
     \hook_gput_code:nnn { cmd/@author/after } { projlib-author }
       {
-        \phantom {A} \\[-.9\baselineskip]
-        \bool_if:NF \g__projlib_author_affil_already_exist_bool
+        \phantom {A} \\[-\baselineskip]
+        \bool_if:NTF \g__projlib_author_affil_already_exist_bool
           {
-            \skip_vertical:n { \g__projlib_author_length_innersep_dim }
+            \skip_vertical:n { \g__projlib_author_affilsep_dim }
           }
+          {
+            \skip_vertical:n { \g__projlib_author_innersep_dim }
+          }
+        { \use:c { g__projlib_author_font_ #1 _tl } #2 }
         \bool_set_true:N \g__projlib_author_affil_already_exist_bool
-        { \use:c { g__projlib_author_font_ #1 _tl } #2 }
         \\ \phantom {}
       }
   }
@@ -267,7 +295,7 @@
   {
     \hook_gput_code:nnn { cmd/@author/before } { projlib-author }
       {
-        \skip_vertical:n { - \g__projlib_author_length_sep_dim }
+        \skip_vertical:n { - \g__projlib_author_groupsep_dim }
       }
     \hook_gput_code:nnn { cmd/@author/after } { projlib-author }
       {
@@ -274,7 +302,7 @@
         \skip_vertical:n { - \baselineskip }
         \bool_if:NT \g__projlib_author_affil_already_exist_bool
           {
-            \skip_vertical:n { \g__projlib_author_length_aftersep_dim }
+            \skip_vertical:n { \g__projlib_author_aftersep_dim }
           }
       }
   }
@@ -323,13 +351,13 @@
 
     % measure the width of "*"
     \hbox_set:Nn \l_tmpa_box { * }
-    \dim_const:Nn \c__projlib_author_length_width_of_asterisk_dim { \box_wd:N \l_tmpa_box }
+    \dim_const:Nn \c__projlib_author_width_of_asterisk_dim { \box_wd:N \l_tmpa_box }
 
     \cs_new_nopar:Nn \projlib_author_pre_thanks:n
       {
         \projlib_author_backup_thanks:w
           {
-            \skip_horizontal:n { - \c__projlib_author_length_width_of_asterisk_dim }
+            \skip_horizontal:n { - \c__projlib_author_width_of_asterisk_dim }
             #1
           }
       }
@@ -393,7 +421,7 @@
         \makeatletter
         \xpatchcmd { \@maketitle } { \@date }
           {
-            \projlib_author_if_content_empty:nTF { \@date } { \skip_vertical:n { -2 \baselineskip } } { \@date }
+            \projlib_author_if_content_empty:nTF { \@date } { \skip_vertical:n { -2 \baselineskip } } { \g__projlib_author_font_date_tl \@date }
             \projlib_author_if_content_empty:nF { \g__projlib_author_dedicatory_tl }
               {
                 \projlib_author_if_content_empty:nT { \@date } { \skip_vertical:n { 2 \baselineskip } }
@@ -2246,7 +2274,7 @@
             seguida ~ dos ~ números ~ de ~ página ~ correspondentes.      }     ,
     BR = { Abaixo ~ está ~ uma ~ lista ~ de ~ itens ~ pendentes, ~
             seguida ~ dos ~ números ~ de ~ página ~ correspondentes.      }     ,
-    ES = { Aquí está ~ la ~ lista ~ de ~ elementos ~ pendientes, ~
+    ES = { Aquí ~ está ~ la ~ lista ~ de ~ elementos ~ pendientes, ~
             seguida ~ de ~ los ~ números ~ de ~ página ~ correspondientes. }    ,
     CN = { 以下是未完成事项列表,括号内注明了对应的页码。             }         ,
     TC = { 以下是未完成事項的列表,括號內註明了對應頁碼。             }         ,
@@ -2354,37 +2382,37 @@
 \projlib_langauge_define_multilingual_text:Nn \projlib_draft_blind_text_tl
   {
     , EN = {
-              Hello,~here~is~some~text~without~a~meaning.~This~text~should~show~what~a~printed~text~will~look~like~at~this~place.~If~you~read~this~text,~you~will~get~no~information.~Really?~Is~there~no~information?~Is~there~a~difference~between~this~text~and~some~nonsense~like~``Huardest~gefburn''?~Not~at~all!~A~blind~text~like~this~gives~you~information~about~the~selected~font,~how~the~letters~are~written~and~an~impression~of~the~look.~This~text~should~contain~all~letters~of~the~alphabet~and~it~should~be~written~in~of~the~original~language.~There~is~no~need~for~special~content,~but~the~length~of~words~should~match~the~language.
+              Hello,~here~is~some~text~without~a~meaning.~This~text~should~show~what~a~printed~text~will~look~like~at~this~place.~If~you~read~this~text,~you~will~get~no~information.~Really?~Is~there~no~information?~Is~there~a~difference~between~this~text~and~some~nonsense~like~\textquote{Huardest~gefburn}?~Not~at~all!~A~blind~text~like~this~gives~you~information~about~the~selected~font,~how~the~letters~are~written~and~an~impression~of~the~look.~This~text~should~contain~all~letters~of~the~alphabet~and~it~should~be~written~in~of~the~original~language.~There~is~no~need~for~special~content,~but~the~length~of~words~should~match~the~language.
            }
     , FR = {
-              Bonjour,~voici~un~texte~sans~signification.~Ce~texte~doit~montrer~à~quoi~ressemble~un~texte~imprimé~à~cet~endroit.~Si~vous~lisez~ce~texte,~vous~n'obtiendrez~aucune~information.~Vraiment~?~Il~n'y~a~aucune~information~?~Y~a-t-il~une~différence~entre~ce~texte~et~une~absurdité~comme~«~Huardest~gefburn~»~?~Pas~du~tout~!~Un~texte~aveugle~comme~celui-ci~vous~donne~des~informations~sur~la~police~choisie,~la~façon~dont~les~lettres~sont~écrites~et~une~impression~de~l'apparence.~Ce~texte~doit~contenir~toutes~les~lettres~de~l'alphabet~et~être~écrit~dans~la~langue~d'origine.~Il~n'est~pas~nécessaire~de~prévoir~un~contenu~spécial,~mais~la~longueur~des~mots~doit~correspondre~à~la~langue.
+              Bonjour,~voici~un~texte~sans~signification.~Ce~texte~doit~montrer~à~quoi~ressemble~un~texte~imprimé~à~cet~endroit.~Si~vous~lisez~ce~texte,~vous~n'obtiendrez~aucune~information.~Vraiment~?~Il~n'y~a~aucune~information~?~Y~a-t-il~une~différence~entre~ce~texte~et~une~absurdité~comme~\textquote{Huardest~gefburn}~?~Pas~du~tout~!~Un~texte~aveugle~comme~celui-ci~vous~donne~des~informations~sur~la~police~choisie,~la~façon~dont~les~lettres~sont~écrites~et~une~impression~de~l'apparence.~Ce~texte~doit~contenir~toutes~les~lettres~de~l'alphabet~et~être~écrit~dans~la~langue~d'origine.~Il~n'est~pas~nécessaire~de~prévoir~un~contenu~spécial,~mais~la~longueur~des~mots~doit~correspondre~à~la~langue.
            }
     , DE = {
-              Hallo,~hier~ist~ein~Text~ohne~Bedeutung.~Dieser~Text~soll~zeigen,~wie~ein~gedruckter~Text~an~dieser~Stelle~aussehen~wird.~Wenn~Sie~diesen~Text~lesen,~werden~Sie~keine~Informationen~erhalten.~Wirklich?~Gibt~es~keine~Informationen?~Gibt~es~einen~Unterschied~zwischen~diesem~Text~und~irgendeinem~Blödsinn~wie~``Huardest~gefburn''?~Ganz~und~gar~nicht!~Ein~solcher~Blindtext~gibt~Ihnen~Informationen~über~die~gewählte~Schriftart,~wie~die~Buchstaben~geschrieben~sind~und~einen~Eindruck~vom~Aussehen.~Dieser~Text~sollte~alle~Buchstaben~des~Alphabets~enthalten~und~in~der~Originalsprache~geschrieben~sein.~Es~ist~kein~besonderer~Inhalt~erforderlich,~aber~die~Länge~der~Wörter~sollte~der~Sprache~entsprechen.
+              Hallo,~hier~ist~ein~Text~ohne~Bedeutung.~Dieser~Text~soll~zeigen,~wie~ein~gedruckter~Text~an~dieser~Stelle~aussehen~wird.~Wenn~Sie~diesen~Text~lesen,~werden~Sie~keine~Informationen~erhalten.~Wirklich?~Gibt~es~keine~Informationen?~Gibt~es~einen~Unterschied~zwischen~diesem~Text~und~irgendeinem~Blödsinn~wie~\textquote{Huardest~gefburn}?~Ganz~und~gar~nicht!~Ein~solcher~Blindtext~gibt~Ihnen~Informationen~über~die~gewählte~Schriftart,~wie~die~Buchstaben~geschrieben~sind~und~einen~Eindruck~vom~Aussehen.~Dieser~Text~sollte~alle~Buchstaben~des~Alphabets~enthalten~und~in~der~Originalsprache~geschrieben~sein.~Es~ist~kein~besonderer~Inhalt~erforderlich,~aber~die~Länge~der~Wörter~sollte~der~Sprache~entsprechen.
            }
     , IT = {
-              Ciao,~qui~c'è~un~drafto~senza~significato.~Questo~drafto~dovrebbe~mostrare~come~sarà~un~drafto~stampato~in~questo~posto.~Se~leggete~questo~drafto,~non~otterrete~alcuna~informazione.~Davvero?~Non~c'è~nessuna~informazione?~C'è~una~differenza~tra~questo~drafto~e~qualche~sciocchezza~come~``Huardest~gefburn''?~Niente~affatto!~Un~drafto~cieco~come~questo~ti~dà~informazioni~sul~font~selezionato,~su~come~sono~scritte~le~lettere~e~un'impressione~dell'aspetto.~Questo~drafto~dovrebbe~contenere~tutte~le~lettere~dell'alfabeto~e~dovrebbe~essere~scritto~nella~lingua~originale.~Non~c'è~bisogno~di~contenuti~speciali,~ma~la~lunghezza~delle~parole~dovrebbe~corrispondere~alla~lingua.
+              Ciao,~qui~c'è~un~drafto~senza~significato.~Questo~drafto~dovrebbe~mostrare~come~sarà~un~drafto~stampato~in~questo~posto.~Se~leggete~questo~drafto,~non~otterrete~alcuna~informazione.~Davvero?~Non~c'è~nessuna~informazione?~C'è~una~differenza~tra~questo~drafto~e~qualche~sciocchezza~come~\textquote{Huardest~gefburn}?~Niente~affatto!~Un~drafto~cieco~come~questo~ti~dà~informazioni~sul~font~selezionato,~su~come~sono~scritte~le~lettere~e~un'impressione~dell'aspetto.~Questo~drafto~dovrebbe~contenere~tutte~le~lettere~dell'alfabeto~e~dovrebbe~essere~scritto~nella~lingua~originale.~Non~c'è~bisogno~di~contenuti~speciali,~ma~la~lunghezza~delle~parole~dovrebbe~corrispondere~alla~lingua.
            }
     , PT = {
-              Olá,~aqui~está~um~texto~sem~significado.~Este~texto~deve~mostrar~como~será~um~texto~impresso~neste~local.~Se~ler~este~texto,~não~obterá~qualquer~informação.~A~sério?~Não~há~informação?~Há~alguma~diferença~entre~este~texto~e~alguns~disparates~como~"Huardest~gefburn"?~De~modo~algum!~Um~texto~cego~como~este~dá-lhe~informações~sobre~a~fonte~seleccionada,~como~as~letras~são~escritas~e~uma~impressão~do~aspecto.~Este~texto~deve~conter~todas~as~letras~do~alfabeto~e~deve~ser~escrito~na~língua~original.~Não~há~necessidade~de~conteúdo~especial,~mas~o~tamanho~das~palavras~deve~corresponder~à~língua.
+              Olá,~aqui~está~um~texto~sem~significado.~Este~texto~deve~mostrar~como~será~um~texto~impresso~neste~local.~Se~ler~este~texto,~não~obterá~qualquer~informação.~A~sério?~Não~há~informação?~Há~alguma~diferença~entre~este~texto~e~alguns~disparates~como~\textquote{Huardest~gefburn}?~De~modo~algum!~Um~texto~cego~como~este~dá-lhe~informações~sobre~a~fonte~seleccionada,~como~as~letras~são~escritas~e~uma~impressão~do~aspecto.~Este~texto~deve~conter~todas~as~letras~do~alfabeto~e~deve~ser~escrito~na~língua~original.~Não~há~necessidade~de~conteúdo~especial,~mas~o~tamanho~das~palavras~deve~corresponder~à~língua.
            }
     , BR = {
-              Olá,~aqui~está~um~texto~sem~sentido.~Este~texto~deve~mostrar~como~será~um~texto~impresso~neste~lugar.~Se~você~ler~este~texto,~você~não~obterá~nenhuma~informação.~É~mesmo?~Não~há~nenhuma~informação?~Há~alguma~diferença~entre~este~texto~e~alguns~disparates~como~"Huardest~gefburn"?~De~jeito~nenhum!~Um~texto~cego~como~este~lhe~dá~informações~sobre~a~fonte~selecionada,~como~as~letras~são~escritas~e~uma~impressão~da~aparência.~Este~texto~deve~conter~todas~as~letras~do~alfabeto~e~deve~ser~escrito~no~idioma~original.~Não~há~necessidade~de~conteúdo~especial,~mas~o~tamanho~das~palavras~deve~corresponder~ao~idioma.
+              Olá,~aqui~está~um~texto~sem~sentido.~Este~texto~deve~mostrar~como~será~um~texto~impresso~neste~lugar.~Se~você~ler~este~texto,~você~não~obterá~nenhuma~informação.~É~mesmo?~Não~há~nenhuma~informação?~Há~alguma~diferença~entre~este~texto~e~alguns~disparates~como~\textquote{Huardest~gefburn}?~De~jeito~nenhum!~Um~texto~cego~como~este~lhe~dá~informações~sobre~a~fonte~selecionada,~como~as~letras~são~escritas~e~uma~impressão~da~aparência.~Este~texto~deve~conter~todas~as~letras~do~alfabeto~e~deve~ser~escrito~no~idioma~original.~Não~há~necessidade~de~conteúdo~especial,~mas~o~tamanho~das~palavras~deve~corresponder~ao~idioma.
            }
     , ES = {
-              Hola,~aquí~hay~un~texto~sin~significado.~Este~texto~debe~mostrar~cómo~se~verá~un~texto~impreso~en~este~lugar.~Si~lees~este~texto,~no~obtendrás~ninguna~información.~¿En~serio?~¿No~hay~información?~¿Hay~alguna~diferencia~entre~este~texto~y~alguna~tontería~como~``Huardest~gefburn''?~¡Para~nada!~Un~texto~oculto~como~este~le~brinda~información~sobre~la~fuente~seleccionada,~cómo~se~escriben~las~letras~y~una~impresión~de~la~apariencia.~Este~texto~debe~contener~todas~las~letras~del~alfabeto~y~debe~estar~escrito~en~el~idioma~original.~No~hay~necesidad~de~contenido~especial,~pero~la~longitud~de~las~palabras~debe~coincidir~con~el~idioma.
+              Hola,~aquí~hay~un~texto~sin~significado.~Este~texto~debe~mostrar~cómo~se~verá~un~texto~impreso~en~este~lugar.~Si~lees~este~texto,~no~obtendrás~ninguna~información.~¿En~serio?~¿No~hay~información?~¿Hay~alguna~diferencia~entre~este~texto~y~alguna~tontería~como~\textquote{Huardest~gefburn}?~¡Para~nada!~Un~texto~oculto~como~este~le~brinda~información~sobre~la~fuente~seleccionada,~cómo~se~escriben~las~letras~y~una~impresión~de~la~apariencia.~Este~texto~debe~contener~todas~las~letras~del~alfabeto~y~debe~estar~escrito~en~el~idioma~original.~No~hay~necesidad~de~contenido~especial,~pero~la~longitud~de~las~palabras~debe~coincidir~con~el~idioma.
            }
     , CN = {
-              你好,这里有一些没有意义的文字。 此文本应显示打印文本在此位置的外观。 如果你阅读这段文字,你将不会得到任何信息。 真的没有信息吗? 这段文字和诸如 “劳仑衣普桑,认至将指点效则机,最你更枝” 或者 “想极整月正进好志次回总般,段然取向使张规军证回,世市总李率英茄持伴” 之类的废话有区别吗? 一点都没有! 这样的一段文本会给你提供关于所选字体的信息、字母的书写方式以及对外观的印象。 该文本应包含字母表中的所有字母,并且应使用原始语言编写。 不需要特别的内容,但字长要与语言相匹配。
+              你好,这里有一些没有意义的文字。此文本应显示打印文本在此位置的外观。如果你阅读这段文字,你将不会得到任何信息。真的没有信息吗?这段文字和诸如\textquote{劳仑衣普桑,认至将指点效则机,最你更枝}或者\textquote{想极整月正进好志次回总般,段然取向使张规军证回,世市总李率英茄持伴}之类的废话有区别吗?一点都没有!这样的一段文本会给你提供关于所选字体的信息、字母的书写方式以及对外观的印象。该文本应包含字母表中的所有字母,并且应使用原始语言编写。不需要特别的内容,但字长要与语言相匹配。
            }
     , TC = {
-              你好,這裡有一些沒有意義的文字。此文本應顯示打印文本在此位置的外觀。如果你閱讀這段文字,你將不會得到任何信息。真的沒有信息嗎?這段文字和諸如 “勞崙衣普桑,認至將指點效則機,最你更枝” 或者 “想極整月正進好志次回總般,段然取向使張規軍證回,世市總李率英茄持伴” 之類的廢話有區別嗎?一點都沒有!這樣的一段文本會給你提供關於所選字體的信息、字母的書寫方式以及對外觀的印象。該文本應包含字母表中的所有字母,並且應使用原始語言編寫。不需要特別的內容,但字長要與語言相匹配。
+              你好,這裡有一些沒有意義的文字。此文本應顯示打印文本在此位置的外觀。如果你閱讀這段文字,你將不會得到任何信息。真的沒有信息嗎?這段文字和諸如\textquote{勞崙衣普桑,認至將指點效則機,最你更枝}或者\textquote{想極整月正進好志次回總般,段然取向使張規軍證回,世市總李率英茄持伴}之類的廢話有區別嗎?一點都沒有!這樣的一段文本會給你提供關於所選字體的信息、字母的書寫方式以及對外觀的印象。該文本應包含字母表中的所有字母,並且應使用原始語言編寫。不需要特別的內容,但字長要與語言相匹配。
            }
     , JP = {
-              こんにちは、ここに意味のないテキストがあります。 このテキストは、この場所で印刷されたテキストがどのように見えるかを示す必要があります。 このテキストを読んでも、情報は得られません。 本当に? 情報はありませんか? このテキストと「アでニンはすミ」のようなナンセンスとの間に違いはありますか? 全くない! このようなブラインドテキストは、選択したフォント、文字の書き方、外観の印象に関する情報を提供します。 このテキストにはアルファベットのすべての文字が含まれている必要があり、元の言語で書かれている必要があります。 特別なコンテンツは必要ありませんが、単語の長さは言語と一致している必要があります。
+              こんにちは、ここに意味のないテキストがあります。このテキストは、この場所で印刷されたテキストがどのように見えるかを示す必要があります。このテキストを読んでも、情報は得られません。本当に?情報はありませんか?このテキストと\textquote{アでニンはすミ}のようなナンセンスとの間に違いはありますか?全くない!このようなブラインドテキストは、選択したフォント、文字の書き方、外観の印象に関する情報を提供します。このテキストにはアルファベットのすべての文字が含まれている必要があり、元の言語で書かれている必要があります。特別なコンテンツは必要ありませんが、単語の長さは言語と一致している必要があります。
            }
     , RU = {
-              Здравствуйте,~вот~какой-то~текст~без~смысла.~Этот~текст~должен~показывать,~как~будет~выглядеть~печатный~текст~в~этом~месте.~Если~вы~прочитаете~этот~текст,~вы~не~получите~никакой~информации.~Действительно?~Нет~информации?~Есть~ли~разница~между~этим~текстом~и~какой-то~чепухой~вроде~``Бзостачщв~дрероих''?~Нисколько!~Слепой~текст,~подобный~этому,~дает~вам~информацию~о~выбранном~шрифте,~о~том,~как~написаны~буквы,~и~о~впечатлении~от~внешнего~вида.~Этот~текст~должен~содержать~все~буквы~алфавита~и~должен~быть~написан~на~языке~оригинала.~В~специальном~содержании~нет~необходимости,~но~длина~слов~должна~соответствовать~языку.
+              Здравствуйте,~вот~какой-то~текст~без~смысла.~Этот~текст~должен~показывать,~как~будет~выглядеть~печатный~текст~в~этом~месте.~Если~вы~прочитаете~этот~текст,~вы~не~получите~никакой~информации.~Действительно?~Нет~информации?~Есть~ли~разница~между~этим~текстом~и~какой-то~чепухой~вроде~\textquote{Бзостачщв~дрероих}?~Нисколько!~Слепой~текст,~подобный~этому,~дает~вам~информацию~о~выбранном~шрифте,~о~том,~как~написаны~буквы,~и~о~впечатлении~от~внешнего~вида.~Этот~текст~должен~содержать~все~буквы~алфавита~и~должен~быть~написан~на~языке~оригинала.~В~специальном~содержании~нет~необходимости,~но~длина~слов~должна~соответствовать~языку.
            }
   }
 
@@ -2476,19 +2504,22 @@
   {
     \RequirePackage { mathpazo }
     \PassOptionsToPackage { defaultsups } { newpxtext }
-    \RequirePackage { newpxtext }
-    \cs_undefine:c { openbox }
-    \bool_if:NT \l__projlib_font_useosf_bool { \useosf }
-    \sys_if_engine_pdftex:F
+    \PassOptionsToPackage { no-math } { fontspec }
+    \hook_gput_code:nnn { begindocument/before } { projlib-font }
       {
-        \setsansfont { texgyreheros }
-          [
-            Scale          = MatchUppercase ,
-            UprightFont    = *-regular ,
-            BoldFont       = *-bold ,
-            ItalicFont     = *-italic ,
-            BoldItalicFont = *-bolditalic ,
-          ]
+        \RequirePackage { newpxtext }
+        \bool_if:NT \l__projlib_font_useosf_bool { \useosf }
+        \sys_if_engine_pdftex:F
+          {
+            \setsansfont { texgyreheros }
+              [
+                Scale          = MatchUppercase ,
+                UprightFont    = *-regular ,
+                BoldFont       = *-bold ,
+                ItalicFont     = *-italic ,
+                BoldItalicFont = *-bolditalic ,
+              ]
+          }
       }
     \projlib_font_set_linespacing_latin:n { \setstretch { 1.07 } }
     \bool_gset_true:N \g_projlib_font_already_set_bool
@@ -2497,20 +2528,23 @@
 \bool_if:NT \l__projlib_font_times_bool
   {
     \PassOptionsToPackage { defaultsups } { newtxtext }
-    \RequirePackage { newtxtext }
-    \RequirePackage { newtxmath }
-    \cs_undefine:c { openbox }
-    \bool_if:NT \l__projlib_font_useosf_bool { \useosf }
-    \sys_if_engine_pdftex:F
+    \PassOptionsToPackage { no-math } { fontspec }
+    \hook_gput_code:nnn { begindocument/before } { projlib-font }
       {
-        \setsansfont { texgyreheros }
-          [
-            Scale          = MatchUppercase ,
-            UprightFont    = *-regular ,
-            BoldFont       = *-bold ,
-            ItalicFont     = *-italic ,
-            BoldItalicFont = *-bolditalic ,
-          ]
+        \RequirePackage { newtxtext }
+        \RequirePackage { newtxmath }
+        \bool_if:NT \l__projlib_font_useosf_bool { \useosf }
+        \sys_if_engine_pdftex:F
+          {
+            \setsansfont { texgyreheros }
+              [
+                Scale          = MatchUppercase ,
+                UprightFont    = *-regular ,
+                BoldFont       = *-bold ,
+                ItalicFont     = *-italic ,
+                BoldItalicFont = *-bolditalic ,
+              ]
+          }
       }
     \projlib_font_set_linespacing_latin:n { \setstretch { 1.00 } }
     \bool_gset_true:N \g_projlib_font_already_set_bool

Modified: trunk/Master/texmf-dist/tex/latex/colorist/colorart.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/colorist/colorart.cls	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/tex/latex/colorist/colorart.cls	2023-09-30 20:13:07 UTC (rev 68412)
@@ -18,7 +18,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplClass
   {colorart}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {A colorful article style}
 
 \tl_const:Nn \l__colorclass_base_class_tl { article }

Modified: trunk/Master/texmf-dist/tex/latex/colorist/colorbook.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/colorist/colorbook.cls	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/tex/latex/colorist/colorbook.cls	2023-09-30 20:13:07 UTC (rev 68412)
@@ -18,7 +18,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplClass
   {colorbook}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {A colorful book style}
 
 \tl_const:Nn \l__colorclass_base_class_tl { book }

Modified: trunk/Master/texmf-dist/tex/latex/colorist/colorist-fancy.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/colorist/colorist-fancy.sty	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/tex/latex/colorist/colorist-fancy.sty	2023-09-30 20:13:07 UTC (rev 68412)
@@ -18,7 +18,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {colorist-fancy}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {The fancy style of colorist}
 
 \IfPackageLoadedTF { colorist } {}
@@ -619,6 +619,7 @@
     \vspace{2pc plus .5pc minus .3pc}
   }
 
+%% Prevent column break before the first sub-entry in the index
 \bool_new:N \l__colorist_if_first_subitem_bool
 \renewcommand*{\@idxitem}
   {
@@ -709,6 +710,7 @@
     \tl_use:c { c_colorist_r_mathparen_ \l_projlib_language_current_languagetype_tl _tl }
   }
 
+%% Change equation numbers to gray
 \def\tagform@#1{\maketag@@@{\textcolor{.!39!paper}{(\ignorespaces#1\unskip\@@italiccorr)}}}
 
 \PassOptionsToPackage { nopatch = eqnum } { microtype }
@@ -755,10 +757,18 @@
         {\color{main-text!50!paper}\thmnote{\hspace{.4em} \colorist_insert_l_mathparen: #3 \colorist_insert_r_mathparen: }}\nobreakspace\nobreakspace{\normalfont\textcolor{main-text!27!paper}{---}}\nobreakspace\nobreakspace}
   }
 
+\def\@endtheorem{\popQED\endtrivlist\@endpefalse}
+
 \newcommand{\customqedsymbol}{
   \makebox[1em]{\color{.!27!paper}\rule[-0.1em]{.95em}{.95em}}}
 \let\qedsymbol\customqedsymbol
 
+%% Special treatments for the Q.E.D. symbol
+\def\noQED{\let\popQED\relax}
+\let\noqed\noQED
+\def\proofless{\pushQED{\qed}}
+
+%% The style of the theorem-type environment that will be wrapped into the color box
 \bool_if:NTF \l__colorist_theorem_in_new_line_bool
   {
     \newtheoremstyle{basic}
@@ -801,10 +811,12 @@
 
 \theoremstyle{basic}
 
+%% The style of remark-type environments
 \newtheoremstyle{emphasis}
     {0pt}{0pt}{\itshape}{0pt}{}{}{0pt}
     {\thmnote{\normalfont\sffamily\color{main-text}#3\hspace*{0.5em}}}
 
+%% Custom proof style
 \renewenvironment{proof}[1][\proofname]{\par
   \pushQED{\qed}
   \normalfont \topsep6\p@\@plus6\p@\relax
@@ -1081,6 +1093,7 @@
     opacityframe=0, opacityback=0
   }
 
+%% Connect adjacent definition-type environments
 \NewDocumentCommand \AfterEnvEnd { +m }
   { \colorist_after_env_end:nw { #1 } }
 \cs_new_protected:Npn \colorist_after_env_end:nw #1 #2

Modified: trunk/Master/texmf-dist/tex/latex/colorist/colorist.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/colorist/colorist.sty	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/tex/latex/colorist/colorist.sty	2023-09-30 20:13:07 UTC (rev 68412)
@@ -18,7 +18,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {colorist}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {A colorful style for articles and books}
 
 \keys_define:nn { colorist }

Modified: trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-classical.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-classical.sty	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-classical.sty	2023-09-30 20:13:07 UTC (rev 68412)
@@ -18,7 +18,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {minimalist-classical}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {The "classical" style of minimalist}
 
 \IfPackageLoadedTF { minimalist } {}
@@ -57,7 +57,7 @@
     \bool_if:NF \l_minimalist_is_under_bfseries_bool
       {
         \colorlet{minimalist-temp-color}{.}
-        \color{minimalist-temp-color!70!paper}
+        \color{minimalist-temp-color!90!paper}
       }
     \minimalist_original_bfseries:
     \bool_set_true:N \l_minimalist_is_under_bfseries_bool
@@ -744,6 +744,14 @@
 
 \def\simpleqedsymbol{
   \makebox[1em]{\rlap{\textcolor{.!12!paper}{\rule[-0.1em]{.95em}{.95em}}}{\kern.07em\raisebox{.07em}{\textcolor{paper}{\rule[-0.1em]{.81em}{.81em}}}\kern.07em}}}
+\DeclareRobustCommand{\simpleqed}{%
+  \ifmmode \quad\hbox{\simpleqedsymbol}
+  \else
+    \leavevmode\unskip\penalty9999 \hbox{}\nobreak\hfill
+    \quad\hbox{\simpleqedsymbol}%
+  \fi
+}
+
 \bool_if:NTF \l__minimalist_theorem_in_new_line_bool
   {
     \newtheoremstyle{simple}
@@ -751,12 +759,12 @@
       {\normalfont}{}
       {\normalfont}{}
       {\newline}
-      { \global\let\qedsymbol\simpleqedsymbol
+      {
         \rlap{\vbox{\hbox{\parbox{\linewidth}{
           {\thmname{#1}\thmnumber{\nobreakspace #2}}
           \thmnote{\hspace{.4em}\color{.!50!paper} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }
         }}\hbox{\strut}\vspace{0pt}}}\vspace{-2\parskip}
-        \pushQED{\qed}
+        \pushQED{\simpleqed}
       }
     \newtheoremstyle{simple-var}
       {.5\baselineskip}{.5\baselineskip}
@@ -763,12 +771,12 @@
       { \bool_if:NTF \l__minimalist_emphasis_theorem_bool { \itshape } { \normalfont } }{}
       {\normalfont}{}
       {\newline}
-      { \global\let\qedsymbol\simpleqedsymbol
+      {
         \rlap{\vbox{\hbox{\parbox{\linewidth}{
           {\thmname{#1}\thmnumber{\nobreakspace #2}}
           \thmnote{\hspace{.4em}\color{.!50!paper} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }
         }}\hbox{\strut}\vspace{0pt}}}\vspace{-2\parskip}
-        \pushQED{\qed}
+        \pushQED{\simpleqed}
       }
   }
   {
@@ -777,11 +785,11 @@
       {\normalfont}{}
       {\normalfont}{}
       {0pt}
-      { \global\let\qedsymbol\simpleqedsymbol
+      {
         {\thmname{#1}\thmnumber{\nobreakspace #2}}\hspace{.4em}
         \textcolor{.!27!paper}{ \l_minimalist_sep_bar }\hspace{.4em}
         \color{.!50!paper}\thmnote{ \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: \nobreakspace\nobreakspace}
-        \pushQED{\qed}
+        \pushQED{\simpleqed}
       }
     \newtheoremstyle{simple-var}
       {.5\baselineskip}{.5\baselineskip}
@@ -788,23 +796,27 @@
       { \bool_if:NTF \l__minimalist_emphasis_theorem_bool { \itshape } { \normalfont } }{}
       {\normalfont}{}
       {0pt}
-      { \global\let\qedsymbol\simpleqedsymbol
+      {
         {\thmname{#1}\thmnumber{\nobreakspace #2}}\hspace{.4em}
         \textcolor{.!27!paper}{ \l_minimalist_sep_bar }\hspace{.4em}
         \color{.!50!paper}\thmnote{ \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: \nobreakspace\nobreakspace}
-        \pushQED{\qed}
+        \pushQED{\simpleqed}
       }
   }
-\def\@endtheorem{\global\let\qedsymbol\simpleqedsymbol
-  \popQED\endtrivlist\@endpefalse
-  \global\let\qedsymbol\customqedsymbol}
 
 \theoremstyle{simple}
 
+\def\@endtheorem{\popQED\endtrivlist\@endpefalse}
+
 \newcommand{\customqedsymbol}{
   \makebox[1em]{\color{.!27!paper}\rule[-0.1em]{.95em}{.95em}}}
 \let\qedsymbol\customqedsymbol
 
+%% Special treatments for the Q.E.D. symbol
+\def\noQED{\let\popQED\relax}
+\let\noqed\noQED
+\def\proofless{\let\qedsymbol\customqedsymbol\let\simpleqedsymbol\customqedsymbol}
+
 \bool_if:NTF \l__minimalist_fast_bool
   {
     \RequirePackage { hyperref }
@@ -1042,7 +1054,8 @@
           {
             \vspace{-.5\baselineskip}
           }
-        {\textcolor{main-text!27!paper}{\rule{\textwidth}{0.75pt}}\par}
+        {\textcolor{main-text!27!paper}{\rule{\textwidth}{0.75pt}}}
+        \par
         \ResumeLineNumbers
       }
 

Modified: trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-default.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-default.sty	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-default.sty	2023-09-30 20:13:07 UTC (rev 68412)
@@ -18,7 +18,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {minimalist-default}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {The default style of minimalist}
 
 \IfPackageLoadedTF { minimalist } {}
@@ -57,7 +57,7 @@
     \bool_if:NF \l_minimalist_is_under_bfseries_bool
       {
         \colorlet{minimalist-temp-color}{.}
-        \color{minimalist-temp-color!70!paper}
+        \color{minimalist-temp-color!90!paper}
       }
     \minimalist_original_bfseries:
     \bool_set_true:N \l_minimalist_is_under_bfseries_bool
@@ -721,6 +721,16 @@
 
 \PassOptionsToPackage { nopatch = eqnum } { microtype }
 
+\def\simpleqedsymbol{
+  \makebox[1em]{\rlap{\textcolor{.!12!paper}{\rule[-0.1em]{.95em}{.95em}}}{\kern.07em\raisebox{.07em}{\textcolor{paper}{\rule[-0.1em]{.81em}{.81em}}}\kern.07em}}}
+\DeclareRobustCommand{\simpleqed}{%
+  \ifmmode \quad\hbox{\simpleqedsymbol}
+  \else
+    \leavevmode\unskip\penalty9999 \hbox{}\nobreak\hfill
+    \quad\hbox{\simpleqedsymbol}%
+  \fi
+}
+
 \bool_if:NTF \l__minimalist_theorem_in_new_line_bool
   {
     \newtheoremstyle{simple}
@@ -737,6 +747,10 @@
           {\thmname{#1}\thmnumber{\nobreakspace #2}}
           {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
         }}\hbox{\strut}\vspace{0pt}}}
+        \bool_if:NT \l__minimalist_theorem_with_qed_bool
+          {
+            \pushQED{\simpleqed}
+          }
       }
     \newtheoremstyle{simple-var}
       {.75\baselineskip}{}
@@ -752,6 +766,10 @@
           {\thmname{#1}\thmnumber{\nobreakspace #2}}
           {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
         }}\hbox{\strut}\vspace{0pt}}}
+        \bool_if:NT \l__minimalist_theorem_with_qed_bool
+          {
+            \pushQED{\simpleqed}
+          }
       }
   }
   {
@@ -764,11 +782,17 @@
       }{}
       {\normalfont}{}
       {0pt}
-      {{\thmname{#1}\thmnumber{\nobreakspace #2}}
+      {
+        {\thmname{#1}\thmnumber{\nobreakspace #2}}
         {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
         \minimalist_bfseries:\minimalist_sffamily: .
-        \nobreakspace\nobreakspace}
+        \nobreakspace\nobreakspace
         % {\normalfont\textcolor{main-text!27!paper}{---}}
+        \bool_if:NT \l__minimalist_theorem_with_qed_bool
+          {
+            \pushQED{\simpleqed}
+          }
+      }
     \newtheoremstyle{simple-var}
       {}{}
       {
@@ -778,19 +802,32 @@
       }{}
       {\normalfont}{}
       {0pt}
-      {{\thmname{#1}\thmnumber{\nobreakspace #2}}
+      {
+        {\thmname{#1}\thmnumber{\nobreakspace #2}}
         {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
         \minimalist_bfseries:\minimalist_sffamily: .
-        \nobreakspace\nobreakspace}
+        \nobreakspace\nobreakspace
         % {\normalfont\textcolor{main-text!27!paper}{---}}
+        \bool_if:NT \l__minimalist_theorem_with_qed_bool
+          {
+            \pushQED{\simpleqed}
+          }
+      }
   }
 
 \theoremstyle{simple}
 
+\def\@endtheorem{\popQED\endtrivlist\@endpefalse}
+
 \newcommand{\customqedsymbol}{
   \makebox[1em]{\color{.!27!paper}\rule[-0.1em]{.95em}{.95em}}}
 \let\qedsymbol\customqedsymbol
 
+%% Special treatments for the Q.E.D. symbol
+\def\noQED{\let\popQED\relax}
+\let\noqed\noQED
+\def\proofless{\let\qedsymbol\customqedsymbol\let\simpleqedsymbol\customqedsymbol}
+
 \bool_if:NTF \l__minimalist_fast_bool
   {
     \RequirePackage { hyperref }

Modified: trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-flow.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-flow.sty	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-flow.sty	2023-09-30 20:13:07 UTC (rev 68412)
@@ -18,7 +18,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {minimalist-flow}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {The "flow" style of minimalist}
 
 \IfPackageLoadedTF { minimalist } {}
@@ -57,7 +57,7 @@
     \bool_if:NF \l_minimalist_is_under_bfseries_bool
       {
         \colorlet{minimalist-temp-color}{.}
-        \color{minimalist-temp-color!70!paper}
+        \color{minimalist-temp-color!90!paper}
       }
     \minimalist_original_bfseries:
     \bool_set_true:N \l_minimalist_is_under_bfseries_bool
@@ -732,6 +732,16 @@
 
 \PassOptionsToPackage { nopatch = eqnum } { microtype }
 
+\def\simpleqedsymbol{
+  \makebox[1em]{\rlap{\textcolor{.!12!paper}{\rule[-0.1em]{.95em}{.95em}}}{\kern.07em\raisebox{.07em}{\textcolor{paper}{\rule[-0.1em]{.81em}{.81em}}}\kern.07em}}}
+\DeclareRobustCommand{\simpleqed}{%
+  \ifmmode \quad\hbox{\simpleqedsymbol}
+  \else
+    \leavevmode\unskip\penalty9999 \hbox{}\nobreak\hfill
+    \quad\hbox{\simpleqedsymbol}%
+  \fi
+}
+
 \bool_if:NTF \l__minimalist_theorem_in_new_line_bool
   {
     \newtheoremstyle{simple}
@@ -748,6 +758,10 @@
           {\thmnumber{ \minimalist_apply_title_numbering_style:n { #2 } \hspace{.75em} }\thmname{#1}}
           {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
         }}\hbox{\strut}\vspace{0pt}}}
+        \bool_if:NT \l__minimalist_theorem_with_qed_bool
+          {
+            \pushQED{\simpleqed}
+          }
       }
     \newtheoremstyle{simple-var}
       {.75\baselineskip}{}
@@ -763,6 +777,10 @@
           {\thmnumber{ \minimalist_apply_title_numbering_style:n { #2 } \hspace{.75em} }\thmname{#1}}
           {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
         }}\hbox{\strut}\vspace{0pt}}}
+        \bool_if:NT \l__minimalist_theorem_with_qed_bool
+          {
+            \pushQED{\simpleqed}
+          }
       }
   }
   {
@@ -775,8 +793,14 @@
       }{}
       {\normalfont}{}
       {0pt}
-      {{\thmnumber{ \minimalist_apply_title_numbering_style:n { #2 } \hspace{.75em} }\thmname{#1}}
-        {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}\nobreakspace\nobreakspace{\normalfont\textcolor{main-text!27!paper}{---}}\nobreakspace\nobreakspace}
+      {
+        {\thmnumber{ \minimalist_apply_title_numbering_style:n { #2 } \hspace{.75em} }\thmname{#1}}
+        {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}\nobreakspace\nobreakspace{\normalfont\textcolor{main-text!27!paper}{---}}\nobreakspace\nobreakspace
+        \bool_if:NT \l__minimalist_theorem_with_qed_bool
+          {
+            \pushQED{\simpleqed}
+          }
+      }
     \newtheoremstyle{simple-var}
       {}{}
       {
@@ -786,16 +810,29 @@
       }{}
       {\normalfont}{}
       {0pt}
-      {{\thmnumber{ \minimalist_apply_title_numbering_style:n { #2 } \hspace{.75em} }\thmname{#1}}
-        {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}\nobreakspace\nobreakspace{\normalfont\textcolor{main-text!27!paper}{---}}\nobreakspace\nobreakspace}
+      {
+        {\thmnumber{ \minimalist_apply_title_numbering_style:n { #2 } \hspace{.75em} }\thmname{#1}}
+        {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}\nobreakspace\nobreakspace{\normalfont\textcolor{main-text!27!paper}{---}}\nobreakspace\nobreakspace
+        \bool_if:NT \l__minimalist_theorem_with_qed_bool
+          {
+            \pushQED{\simpleqed}
+          }
+      }
   }
 
 \theoremstyle{simple}
 
+\def\@endtheorem{\popQED\endtrivlist\@endpefalse}
+
 \newcommand{\customqedsymbol}{
   \makebox[1em]{\color{.!27!paper}\rule[-0.1em]{.95em}{.95em}}}
 \let\qedsymbol\customqedsymbol
 
+%% Special treatments for the Q.E.D. symbol
+\def\noQED{\let\popQED\relax}
+\let\noqed\noQED
+\def\proofless{\let\qedsymbol\customqedsymbol\let\simpleqedsymbol\customqedsymbol}
+
 \bool_if:NTF \l__minimalist_fast_bool
   {
     \RequirePackage { hyperref }

Modified: trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-plain.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-plain.sty	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-plain.sty	2023-09-30 20:13:07 UTC (rev 68412)
@@ -18,7 +18,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {minimalist-plain}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {The "plain" style of minimalist}
 
 \IfPackageLoadedTF { minimalist } {}
@@ -57,7 +57,7 @@
     \bool_if:NF \l_minimalist_is_under_bfseries_bool
       {
         \colorlet{minimalist-temp-color}{.}
-        \color{minimalist-temp-color!70!paper}
+        \color{minimalist-temp-color!90!paper}
       }
     \minimalist_original_bfseries:
     \bool_set_true:N \l_minimalist_is_under_bfseries_bool
@@ -695,6 +695,16 @@
 
 \PassOptionsToPackage { nopatch = eqnum } { microtype }
 
+\def\simpleqedsymbol{
+  \makebox[1em]{\rlap{\textcolor{.!12!paper}{\rule[-0.1em]{.95em}{.95em}}}{\kern.07em\raisebox{.07em}{\textcolor{paper}{\rule[-0.1em]{.81em}{.81em}}}\kern.07em}}}
+\DeclareRobustCommand{\simpleqed}{%
+  \ifmmode \quad\hbox{\simpleqedsymbol}
+  \else
+    \leavevmode\unskip\penalty9999 \hbox{}\nobreak\hfill
+    \quad\hbox{\simpleqedsymbol}%
+  \fi
+}
+
 \bool_if:NTF \l__minimalist_theorem_in_new_line_bool
   {
     \newtheoremstyle{simple}
@@ -711,6 +721,10 @@
           {\thmname{#1}\thmnumber{\nobreakspace #2}}
           {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
         }}\hbox{\strut}\vspace{0pt}}}
+        \bool_if:NT \l__minimalist_theorem_with_qed_bool
+          {
+            \pushQED{\simpleqed}
+          }
       }
     \newtheoremstyle{simple-var}
       {.75\baselineskip}{}
@@ -726,6 +740,10 @@
           {\thmname{#1}\thmnumber{\nobreakspace #2}}
           {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
         }}\hbox{\strut}\vspace{0pt}}}
+        \bool_if:NT \l__minimalist_theorem_with_qed_bool
+          {
+            \pushQED{\simpleqed}
+          }
       }
   }
   {
@@ -738,11 +756,17 @@
       }{}
       {\normalfont}{}
       {0pt}
-      {{\thmname{#1}\thmnumber{\nobreakspace #2}}
+      {
+        {\thmname{#1}\thmnumber{\nobreakspace #2}}
         {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
         \minimalist_bfseries:\minimalist_sffamily: .
-        \nobreakspace\nobreakspace}
+        \nobreakspace\nobreakspace
         % {\normalfont\textcolor{main-text!27!paper}{---}}
+        \bool_if:NT \l__minimalist_theorem_with_qed_bool
+          {
+            \pushQED{\simpleqed}
+          }
+      }
     \newtheoremstyle{simple-var}
       {}{}
       {
@@ -752,19 +776,32 @@
       }{}
       {\normalfont}{}
       {0pt}
-      {{\thmname{#1}\thmnumber{\nobreakspace #2}}
+      {
+        {\thmname{#1}\thmnumber{\nobreakspace #2}}
         {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
         \minimalist_bfseries:\minimalist_sffamily: .
-        \nobreakspace\nobreakspace}
+        \nobreakspace\nobreakspace
         % {\normalfont\textcolor{main-text!27!paper}{---}}
+        \bool_if:NT \l__minimalist_theorem_with_qed_bool
+          {
+            \pushQED{\simpleqed}
+          }
+      }
   }
 
 \theoremstyle{simple}
 
+\def\@endtheorem{\popQED\endtrivlist\@endpefalse}
+
 \newcommand{\customqedsymbol}{
   \makebox[1em]{\color{.!27!paper}\rule[-0.1em]{.95em}{.95em}}}
 \let\qedsymbol\customqedsymbol
 
+%% Special treatments for the Q.E.D. symbol
+\def\noQED{\let\popQED\relax}
+\let\noqed\noQED
+\def\proofless{\let\qedsymbol\customqedsymbol\let\simpleqedsymbol\customqedsymbol}
+
 \bool_if:NTF \l__minimalist_fast_bool
   {
     \RequirePackage { hyperref }

Modified: trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-stream.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-stream.sty	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-stream.sty	2023-09-30 20:13:07 UTC (rev 68412)
@@ -18,7 +18,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {minimalist-stream}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {The "stream" style of minimalist}
 
 \IfPackageLoadedTF { minimalist } {}
@@ -57,7 +57,7 @@
     \bool_if:NF \l_minimalist_is_under_bfseries_bool
       {
         \colorlet{minimalist-temp-color}{.}
-        \color{minimalist-temp-color!70!paper}
+        \color{minimalist-temp-color!90!paper}
       }
     \minimalist_original_bfseries:
     \bool_set_true:N \l_minimalist_is_under_bfseries_bool
@@ -801,6 +801,16 @@
 
 \PassOptionsToPackage { nopatch = eqnum } { microtype }
 
+\def\simpleqedsymbol{
+  \makebox[1em]{\rlap{\textcolor{.!12!paper}{\rule[-0.1em]{.95em}{.95em}}}{\kern.07em\raisebox{.07em}{\textcolor{paper}{\rule[-0.1em]{.81em}{.81em}}}\kern.07em}}}
+\DeclareRobustCommand{\simpleqed}{%
+  \ifmmode \quad\hbox{\simpleqedsymbol}
+  \else
+    \leavevmode\unskip\penalty9999 \hbox{}\nobreak\hfill
+    \quad\hbox{\simpleqedsymbol}%
+  \fi
+}
+
 \newtheoremstyle{simple-newline}
   {-.2\baselineskip plus 2pt minus .1\baselineskip}{.3\baselineskip plus 2pt minus .1\baselineskip}
   {\normalfont}{}
@@ -818,6 +828,10 @@
       {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
       \phantom{q} % To provide something below the baseline
     }}\hbox{\strut}\vspace{0pt}}}
+    \bool_if:NT \l__minimalist_theorem_with_qed_bool
+      {
+        \pushQED{\simpleqed}
+      }
   }
 \newtheoremstyle{simple-newline-var}
   {-.2\baselineskip plus 2pt minus .1\baselineskip}{.3\baselineskip plus 2pt minus .1\baselineskip}
@@ -836,6 +850,10 @@
       {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
       \phantom{q} % To provide something below the baseline
     }}\hbox{\strut}\vspace{0pt}}}
+    \bool_if:NT \l__minimalist_theorem_with_qed_bool
+      {
+        \pushQED{\simpleqed}
+      }
   }
 
 \dim_new:N \l_minimalist_space_before_inline_theorem_dim
@@ -862,6 +880,10 @@
     {\thmname{#1}}
     {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
     . \hspace{.5em}
+    \bool_if:NT \l__minimalist_theorem_with_qed_bool
+      {
+        \pushQED{\simpleqed}
+      }
   }
 \newtheoremstyle{simple-inline-var}
   % {.3\baselineskip plus 2pt minus .1\baselineskip}{.3\baselineskip plus 2pt minus .1\baselineskip}
@@ -878,6 +900,10 @@
     {\thmname{#1}}
     {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
     . \hspace{.5em}
+    \bool_if:NT \l__minimalist_theorem_with_qed_bool
+      {
+        \pushQED{\simpleqed}
+      }
   }
 
 \bool_if:NTF \l__minimalist_theorem_in_new_line_bool
@@ -902,16 +928,6 @@
     . \hspace{.5em}
   }
 
-\def\simpleqedsymbol{
-  \makebox[1em]{\rlap{\textcolor{main-text!12!paper}{\rule[-0.1em]{.95em}{.95em}}}{\kern.07em\raisebox{.07em}{\textcolor{paper}{\rule[-0.1em]{.81em}{.81em}}}\kern.07em}}}
-\DeclareRobustCommand{\simpleqed}{%
-  \ifmmode \quad\hbox{\simpleqedsymbol}
-  \else
-    \leavevmode\unskip\penalty9999 \hbox{}\nobreak\hfill
-    \quad\hbox{\simpleqedsymbol}%
-  \fi
-}
-
 \def\@endtheorem{\popQED\endtrivlist\@endpefalse}
 
 \newcommand{\customqedsymbol}{
@@ -918,6 +934,11 @@
   \makebox[1em]{\color{.!27!paper}\rule[-0.1em]{.95em}{.95em}}}
 \let\qedsymbol\customqedsymbol
 
+%% Special treatments for the Q.E.D. symbol
+\def\noQED{\let\popQED\relax}
+\let\noqed\noQED
+\def\proofless{\let\qedsymbol\customqedsymbol\let\simpleqedsymbol\customqedsymbol}
+
 \bool_if:NTF \l__minimalist_fast_bool
   {
     \RequirePackage { hyperref }

Modified: trunk/Master/texmf-dist/tex/latex/minimalist/minimalist.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/minimalist/minimalist.sty	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/tex/latex/minimalist/minimalist.sty	2023-09-30 20:13:07 UTC (rev 68412)
@@ -18,7 +18,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {minimalist}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {A simple and clear style for articles and books}
 
 \keys_define:nn { minimalist }
@@ -91,6 +91,11 @@
     , theorem~in~new~line .bool_set:N       = \l__minimalist_theorem_in_new_line_bool
     , theorem in new line .bool_set:N       = \l__minimalist_theorem_in_new_line_bool
 
+    , theorem-with-qed    .bool_set:N       = \l__minimalist_theorem_with_qed_bool
+    , theorem-with-qed    .initial:n        = { false }
+    , theorem~with~qed    .bool_set:N       = \l__minimalist_theorem_with_qed_bool
+    , theorem with qed    .bool_set:N       = \l__minimalist_theorem_with_qed_bool
+
     , colored-proof     .tl_set:N           = \l__minimalist_colored_proof_tl
     , colored-proof     .initial:n          = { * }
     , colored-proof     .default:n          = { blue!50!cyan!55!main-text }

Modified: trunk/Master/texmf-dist/tex/latex/minimalist/minimart.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/minimalist/minimart.cls	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/tex/latex/minimalist/minimart.cls	2023-09-30 20:13:07 UTC (rev 68412)
@@ -18,7 +18,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplClass
   {minimart}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {A simple and clear article style}
 
 \tl_const:Nn \l__minimclass_base_class_tl { article }

Modified: trunk/Master/texmf-dist/tex/latex/minimalist/minimbook.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/minimalist/minimbook.cls	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/tex/latex/minimalist/minimbook.cls	2023-09-30 20:13:07 UTC (rev 68412)
@@ -18,7 +18,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplClass
   {minimbook}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {A simple and clear book style}
 
 \tl_const:Nn \l__minimclass_base_class_tl { book }

Modified: trunk/Master/texmf-dist/tex/latex/projlib/ProjLib.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/projlib/ProjLib.sty	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/tex/latex/projlib/ProjLib.sty	2023-09-30 20:13:07 UTC (rev 68412)
@@ -18,7 +18,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {ProjLib}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {Collective interface of the ProjLib toolkit}
 
 \keys_define:nn { ProjLib }
@@ -28,14 +28,20 @@
     , author-block    .bool_set:N         = \l__projlib_main_author_bool
     , author~block    .bool_set:N         = \l__projlib_main_author_bool
     , author block    .bool_set:N         = \l__projlib_main_author_bool
+
     , ams-fashion     .bool_set:N         = \l__projlib_main_amsfashion_bool
     , ams-fashion     .initial:n          = { false }
     , ams~fashion     .bool_set:N         = \l__projlib_main_amsfashion_bool
     , ams fashion     .bool_set:N         = \l__projlib_main_amsfashion_bool
+    , AMS-fashion     .bool_set:N         = \l__projlib_main_amsfashion_bool
+    , AMS~fashion     .bool_set:N         = \l__projlib_main_amsfashion_bool
+    , AMS fashion     .bool_set:N         = \l__projlib_main_amsfashion_bool
+
     , title-page      .bool_set:N         = \l__projlib_main_titlepage_bool
     , title-page      .initial:n          = { false }
     , title~page      .bool_set:N         = \l__projlib_main_titlepage_bool
     , title page      .bool_set:N         = \l__projlib_main_titlepage_bool
+
     , unknown         .code:n             = {
                                               \PassOptionsToPackage { \CurrentOption } { projlib-author }
                                               \PassOptionsToPackage { \CurrentOption } { projlib-datetime }

Modified: trunk/Master/texmf-dist/tex/latex/projlib/projlib-author.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/projlib/projlib-author.sty	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/tex/latex/projlib/projlib-author.sty	2023-09-30 20:13:07 UTC (rev 68412)
@@ -18,7 +18,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {projlib-author}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {Enhanced author information block}
 
 \keys_define:nn { projlib-author }
@@ -27,6 +27,10 @@
     , ams-fashion .initial:n  = { false }
     , ams~fashion .bool_set:N = \l__projlib_author_amsfashion_bool
     , ams fashion .bool_set:N = \l__projlib_author_amsfashion_bool
+    , AMS-fashion .bool_set:N = \l__projlib_author_amsfashion_bool
+    , AMS~fashion .bool_set:N = \l__projlib_author_amsfashion_bool
+    , AMS fashion .bool_set:N = \l__projlib_author_amsfashion_bool
+
     , unknown     .code:n     = {}
   }
 \ProcessKeyOptions [ projlib-author ]
@@ -42,6 +46,7 @@
   }
 
 \tl_new:N   \g__projlib_author_font_author_tl
+\tl_new:N   \g__projlib_author_font_date_tl
 \tl_new:N   \g__projlib_author_font_institute_tl
 \tl_new:N   \g__projlib_author_font_address_tl
 \tl_new:N   \g__projlib_author_font_curraddr_tl
@@ -48,18 +53,23 @@
 \tl_new:N   \g__projlib_author_font_email_tl
 
 \tl_gset:Nn \g__projlib_author_font_author_tl      { \normalsize \normalfont \scshape }
+\tl_gset:Nn \g__projlib_author_font_date_tl      { \normalsize \normalfont }
 \tl_gset:Nn \g__projlib_author_font_institute_tl   { \small \normalfont }
 \tl_gset:Nn \g__projlib_author_font_address_tl     { \small \normalfont \itshape }
 \tl_gset:Nn \g__projlib_author_font_curraddr_tl    { \small \normalfont \itshape }
 \tl_gset:Nn \g__projlib_author_font_email_tl       { \small \normalfont \ttfamily }
 
-\dim_new:N  \g__projlib_author_length_innersep_dim
-\dim_new:N  \g__projlib_author_length_sep_dim
-\dim_new:N  \g__projlib_author_length_aftersep_dim
+\dim_new:N  \g__projlib_author_groupsep_dim
+\dim_new:N  \g__projlib_author_innersep_dim
+\dim_new:N  \g__projlib_author_affilsep_dim
+\dim_new:N  \g__projlib_author_aftersep_dim
+\dim_new:N  \g__projlib_author_emptysep_dim
 
-\dim_set:Nn \g__projlib_author_length_innersep_dim { 0.3 \baselineskip }
-\dim_set:Nn \g__projlib_author_length_sep_dim      { 0.5 \baselineskip }
-\dim_set:Nn \g__projlib_author_length_aftersep_dim { 0.3 \baselineskip }
+\dim_set:Nn \g__projlib_author_groupsep_dim { 0.5 \baselineskip }
+\dim_set:Nn \g__projlib_author_innersep_dim { .25 \baselineskip }
+\dim_set:Nn \g__projlib_author_affilsep_dim {   0 \baselineskip }
+\dim_set:Nn \g__projlib_author_aftersep_dim { .15 \baselineskip }
+\dim_set:Nn \g__projlib_author_emptysep_dim { .15 \baselineskip }
 
 \bool_new:N \g__projlib_author_affil_already_exist_bool
 
@@ -68,11 +78,20 @@
   {
     \hook_gput_code:nnn { cmd/@author/after } { projlib-author }
       {
+        \bool_set_false:N \g__projlib_author_affil_already_exist_bool
+        % If there is nothing before, the following line does nothing
+        % If there is an affil before, this will backward one line
         \phantom {A} \\[-\baselineskip]
-        \skip_vertical:n { \g__projlib_author_length_sep_dim }
-        { \g__projlib_author_font_author_tl #1 }
-        \bool_set_false:N \g__projlib_author_affil_already_exist_bool
-        \\ \phantom {}
+        \tl_if_blank:nTF { #1 }
+          {
+            \skip_vertical:n { \g__projlib_author_emptysep_dim }
+            \phantom {}
+          }
+          {
+            \skip_vertical:n { \g__projlib_author_groupsep_dim }
+            { \g__projlib_author_font_author_tl #1 }
+            \\ \phantom {}
+          }
       }
   }
 
@@ -82,13 +101,16 @@
   {
     \hook_gput_code:nnn { cmd/@author/after } { projlib-author }
       {
-        \phantom {A} \\[-.9\baselineskip]
-        \bool_if:NF \g__projlib_author_affil_already_exist_bool
+        \phantom {A} \\[-\baselineskip]
+        \bool_if:NTF \g__projlib_author_affil_already_exist_bool
           {
-            \skip_vertical:n { \g__projlib_author_length_innersep_dim }
+            \skip_vertical:n { \g__projlib_author_affilsep_dim }
           }
+          {
+            \skip_vertical:n { \g__projlib_author_innersep_dim }
+          }
+        { \use:c { g__projlib_author_font_ #1 _tl } #2 }
         \bool_set_true:N \g__projlib_author_affil_already_exist_bool
-        { \use:c { g__projlib_author_font_ #1 _tl } #2 }
         \\ \phantom {}
       }
   }
@@ -126,7 +148,7 @@
   {
     \hook_gput_code:nnn { cmd/@author/before } { projlib-author }
       {
-        \skip_vertical:n { - \g__projlib_author_length_sep_dim }
+        \skip_vertical:n { - \g__projlib_author_groupsep_dim }
       }
     \hook_gput_code:nnn { cmd/@author/after } { projlib-author }
       {
@@ -133,7 +155,7 @@
         \skip_vertical:n { - \baselineskip }
         \bool_if:NT \g__projlib_author_affil_already_exist_bool
           {
-            \skip_vertical:n { \g__projlib_author_length_aftersep_dim }
+            \skip_vertical:n { \g__projlib_author_aftersep_dim }
           }
       }
   }
@@ -181,13 +203,13 @@
 
     % measure the width of "*"
     \hbox_set:Nn \l_tmpa_box { * }
-    \dim_const:Nn \c__projlib_author_length_width_of_asterisk_dim { \box_wd:N \l_tmpa_box }
+    \dim_const:Nn \c__projlib_author_width_of_asterisk_dim { \box_wd:N \l_tmpa_box }
 
     \cs_new_nopar:Nn \projlib_author_pre_thanks:n
       {
         \projlib_author_backup_thanks:w
           {
-            \skip_horizontal:n { - \c__projlib_author_length_width_of_asterisk_dim }
+            \skip_horizontal:n { - \c__projlib_author_width_of_asterisk_dim }
             #1
           }
       }
@@ -251,7 +273,7 @@
         \makeatletter
         \xpatchcmd { \@maketitle } { \@date }
           {
-            \projlib_author_if_content_empty:nTF { \@date } { \skip_vertical:n { -2 \baselineskip } } { \@date }
+            \projlib_author_if_content_empty:nTF { \@date } { \skip_vertical:n { -2 \baselineskip } } { \g__projlib_author_font_date_tl \@date }
             \projlib_author_if_content_empty:nF { \g__projlib_author_dedicatory_tl }
               {
                 \projlib_author_if_content_empty:nT { \@date } { \skip_vertical:n { 2 \baselineskip } }

Modified: trunk/Master/texmf-dist/tex/latex/projlib/projlib-datetime.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/projlib/projlib-datetime.sty	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/tex/latex/projlib/projlib-datetime.sty	2023-09-30 20:13:07 UTC (rev 68412)
@@ -18,7 +18,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {projlib-datetime}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {Convert numeric date-time string to natural language}
 
 \tl_new:N   \g__projlib_datetime_input_format_tl

Modified: trunk/Master/texmf-dist/tex/latex/projlib/projlib-draft.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/projlib/projlib-draft.sty	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/tex/latex/projlib/projlib-draft.sty	2023-09-30 20:13:07 UTC (rev 68412)
@@ -18,7 +18,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {projlib-draft}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {Useful commands during draft stage}
 
 \keys_define:nn { projlib-draft }
@@ -121,7 +121,7 @@
             seguida ~ dos ~ números ~ de ~ página ~ correspondentes.      }     ,
     BR = { Abaixo ~ está ~ uma ~ lista ~ de ~ itens ~ pendentes, ~
             seguida ~ dos ~ números ~ de ~ página ~ correspondentes.      }     ,
-    ES = { Aquí está ~ la ~ lista ~ de ~ elementos ~ pendientes, ~
+    ES = { Aquí ~ está ~ la ~ lista ~ de ~ elementos ~ pendientes, ~
             seguida ~ de ~ los ~ números ~ de ~ página ~ correspondientes. }    ,
     CN = { 以下是未完成事项列表,括号内注明了对应的页码。             }         ,
     TC = { 以下是未完成事項的列表,括號內註明了對應頁碼。             }         ,
@@ -228,37 +228,37 @@
 \projlib_langauge_define_multilingual_text:Nn \projlib_draft_blind_text_tl
   {
     , EN = {
-              Hello,~here~is~some~text~without~a~meaning.~This~text~should~show~what~a~printed~text~will~look~like~at~this~place.~If~you~read~this~text,~you~will~get~no~information.~Really?~Is~there~no~information?~Is~there~a~difference~between~this~text~and~some~nonsense~like~``Huardest~gefburn''?~Not~at~all!~A~blind~text~like~this~gives~you~information~about~the~selected~font,~how~the~letters~are~written~and~an~impression~of~the~look.~This~text~should~contain~all~letters~of~the~alphabet~and~it~should~be~written~in~of~the~original~language.~There~is~no~need~for~special~content,~but~the~length~of~words~should~match~the~language.
+              Hello,~here~is~some~text~without~a~meaning.~This~text~should~show~what~a~printed~text~will~look~like~at~this~place.~If~you~read~this~text,~you~will~get~no~information.~Really?~Is~there~no~information?~Is~there~a~difference~between~this~text~and~some~nonsense~like~\textquote{Huardest~gefburn}?~Not~at~all!~A~blind~text~like~this~gives~you~information~about~the~selected~font,~how~the~letters~are~written~and~an~impression~of~the~look.~This~text~should~contain~all~letters~of~the~alphabet~and~it~should~be~written~in~of~the~original~language.~There~is~no~need~for~special~content,~but~the~length~of~words~should~match~the~language.
            }
     , FR = {
-              Bonjour,~voici~un~texte~sans~signification.~Ce~texte~doit~montrer~à~quoi~ressemble~un~texte~imprimé~à~cet~endroit.~Si~vous~lisez~ce~texte,~vous~n'obtiendrez~aucune~information.~Vraiment~?~Il~n'y~a~aucune~information~?~Y~a-t-il~une~différence~entre~ce~texte~et~une~absurdité~comme~«~Huardest~gefburn~»~?~Pas~du~tout~!~Un~texte~aveugle~comme~celui-ci~vous~donne~des~informations~sur~la~police~choisie,~la~façon~dont~les~lettres~sont~écrites~et~une~impression~de~l'apparence.~Ce~texte~doit~contenir~toutes~les~lettres~de~l'alphabet~et~être~écrit~dans~la~langue~d'origine.~Il~n'est~pas~nécessaire~de~prévoir~un~contenu~spécial,~mais~la~longueur~des~mots~doit~correspondre~à~la~langue.
+              Bonjour,~voici~un~texte~sans~signification.~Ce~texte~doit~montrer~à~quoi~ressemble~un~texte~imprimé~à~cet~endroit.~Si~vous~lisez~ce~texte,~vous~n'obtiendrez~aucune~information.~Vraiment~?~Il~n'y~a~aucune~information~?~Y~a-t-il~une~différence~entre~ce~texte~et~une~absurdité~comme~\textquote{Huardest~gefburn}~?~Pas~du~tout~!~Un~texte~aveugle~comme~celui-ci~vous~donne~des~informations~sur~la~police~choisie,~la~façon~dont~les~lettres~sont~écrites~et~une~impression~de~l'apparence.~Ce~texte~doit~contenir~toutes~les~lettres~de~l'alphabet~et~être~écrit~dans~la~langue~d'origine.~Il~n'est~pas~nécessaire~de~prévoir~un~contenu~spécial,~mais~la~longueur~des~mots~doit~correspondre~à~la~langue.
            }
     , DE = {
-              Hallo,~hier~ist~ein~Text~ohne~Bedeutung.~Dieser~Text~soll~zeigen,~wie~ein~gedruckter~Text~an~dieser~Stelle~aussehen~wird.~Wenn~Sie~diesen~Text~lesen,~werden~Sie~keine~Informationen~erhalten.~Wirklich?~Gibt~es~keine~Informationen?~Gibt~es~einen~Unterschied~zwischen~diesem~Text~und~irgendeinem~Blödsinn~wie~``Huardest~gefburn''?~Ganz~und~gar~nicht!~Ein~solcher~Blindtext~gibt~Ihnen~Informationen~über~die~gewählte~Schriftart,~wie~die~Buchstaben~geschrieben~sind~und~einen~Eindruck~vom~Aussehen.~Dieser~Text~sollte~alle~Buchstaben~des~Alphabets~enthalten~und~in~der~Originalsprache~geschrieben~sein.~Es~ist~kein~besonderer~Inhalt~erforderlich,~aber~die~Länge~der~Wörter~sollte~der~Sprache~entsprechen.
+              Hallo,~hier~ist~ein~Text~ohne~Bedeutung.~Dieser~Text~soll~zeigen,~wie~ein~gedruckter~Text~an~dieser~Stelle~aussehen~wird.~Wenn~Sie~diesen~Text~lesen,~werden~Sie~keine~Informationen~erhalten.~Wirklich?~Gibt~es~keine~Informationen?~Gibt~es~einen~Unterschied~zwischen~diesem~Text~und~irgendeinem~Blödsinn~wie~\textquote{Huardest~gefburn}?~Ganz~und~gar~nicht!~Ein~solcher~Blindtext~gibt~Ihnen~Informationen~über~die~gewählte~Schriftart,~wie~die~Buchstaben~geschrieben~sind~und~einen~Eindruck~vom~Aussehen.~Dieser~Text~sollte~alle~Buchstaben~des~Alphabets~enthalten~und~in~der~Originalsprache~geschrieben~sein.~Es~ist~kein~besonderer~Inhalt~erforderlich,~aber~die~Länge~der~Wörter~sollte~der~Sprache~entsprechen.
            }
     , IT = {
-              Ciao,~qui~c'è~un~drafto~senza~significato.~Questo~drafto~dovrebbe~mostrare~come~sarà~un~drafto~stampato~in~questo~posto.~Se~leggete~questo~drafto,~non~otterrete~alcuna~informazione.~Davvero?~Non~c'è~nessuna~informazione?~C'è~una~differenza~tra~questo~drafto~e~qualche~sciocchezza~come~``Huardest~gefburn''?~Niente~affatto!~Un~drafto~cieco~come~questo~ti~dà~informazioni~sul~font~selezionato,~su~come~sono~scritte~le~lettere~e~un'impressione~dell'aspetto.~Questo~drafto~dovrebbe~contenere~tutte~le~lettere~dell'alfabeto~e~dovrebbe~essere~scritto~nella~lingua~originale.~Non~c'è~bisogno~di~contenuti~speciali,~ma~la~lunghezza~delle~parole~dovrebbe~corrispondere~alla~lingua.
+              Ciao,~qui~c'è~un~drafto~senza~significato.~Questo~drafto~dovrebbe~mostrare~come~sarà~un~drafto~stampato~in~questo~posto.~Se~leggete~questo~drafto,~non~otterrete~alcuna~informazione.~Davvero?~Non~c'è~nessuna~informazione?~C'è~una~differenza~tra~questo~drafto~e~qualche~sciocchezza~come~\textquote{Huardest~gefburn}?~Niente~affatto!~Un~drafto~cieco~come~questo~ti~dà~informazioni~sul~font~selezionato,~su~come~sono~scritte~le~lettere~e~un'impressione~dell'aspetto.~Questo~drafto~dovrebbe~contenere~tutte~le~lettere~dell'alfabeto~e~dovrebbe~essere~scritto~nella~lingua~originale.~Non~c'è~bisogno~di~contenuti~speciali,~ma~la~lunghezza~delle~parole~dovrebbe~corrispondere~alla~lingua.
            }
     , PT = {
-              Olá,~aqui~está~um~texto~sem~significado.~Este~texto~deve~mostrar~como~será~um~texto~impresso~neste~local.~Se~ler~este~texto,~não~obterá~qualquer~informação.~A~sério?~Não~há~informação?~Há~alguma~diferença~entre~este~texto~e~alguns~disparates~como~"Huardest~gefburn"?~De~modo~algum!~Um~texto~cego~como~este~dá-lhe~informações~sobre~a~fonte~seleccionada,~como~as~letras~são~escritas~e~uma~impressão~do~aspecto.~Este~texto~deve~conter~todas~as~letras~do~alfabeto~e~deve~ser~escrito~na~língua~original.~Não~há~necessidade~de~conteúdo~especial,~mas~o~tamanho~das~palavras~deve~corresponder~à~língua.
+              Olá,~aqui~está~um~texto~sem~significado.~Este~texto~deve~mostrar~como~será~um~texto~impresso~neste~local.~Se~ler~este~texto,~não~obterá~qualquer~informação.~A~sério?~Não~há~informação?~Há~alguma~diferença~entre~este~texto~e~alguns~disparates~como~\textquote{Huardest~gefburn}?~De~modo~algum!~Um~texto~cego~como~este~dá-lhe~informações~sobre~a~fonte~seleccionada,~como~as~letras~são~escritas~e~uma~impressão~do~aspecto.~Este~texto~deve~conter~todas~as~letras~do~alfabeto~e~deve~ser~escrito~na~língua~original.~Não~há~necessidade~de~conteúdo~especial,~mas~o~tamanho~das~palavras~deve~corresponder~à~língua.
            }
     , BR = {
-              Olá,~aqui~está~um~texto~sem~sentido.~Este~texto~deve~mostrar~como~será~um~texto~impresso~neste~lugar.~Se~você~ler~este~texto,~você~não~obterá~nenhuma~informação.~É~mesmo?~Não~há~nenhuma~informação?~Há~alguma~diferença~entre~este~texto~e~alguns~disparates~como~"Huardest~gefburn"?~De~jeito~nenhum!~Um~texto~cego~como~este~lhe~dá~informações~sobre~a~fonte~selecionada,~como~as~letras~são~escritas~e~uma~impressão~da~aparência.~Este~texto~deve~conter~todas~as~letras~do~alfabeto~e~deve~ser~escrito~no~idioma~original.~Não~há~necessidade~de~conteúdo~especial,~mas~o~tamanho~das~palavras~deve~corresponder~ao~idioma.
+              Olá,~aqui~está~um~texto~sem~sentido.~Este~texto~deve~mostrar~como~será~um~texto~impresso~neste~lugar.~Se~você~ler~este~texto,~você~não~obterá~nenhuma~informação.~É~mesmo?~Não~há~nenhuma~informação?~Há~alguma~diferença~entre~este~texto~e~alguns~disparates~como~\textquote{Huardest~gefburn}?~De~jeito~nenhum!~Um~texto~cego~como~este~lhe~dá~informações~sobre~a~fonte~selecionada,~como~as~letras~são~escritas~e~uma~impressão~da~aparência.~Este~texto~deve~conter~todas~as~letras~do~alfabeto~e~deve~ser~escrito~no~idioma~original.~Não~há~necessidade~de~conteúdo~especial,~mas~o~tamanho~das~palavras~deve~corresponder~ao~idioma.
            }
     , ES = {
-              Hola,~aquí~hay~un~texto~sin~significado.~Este~texto~debe~mostrar~cómo~se~verá~un~texto~impreso~en~este~lugar.~Si~lees~este~texto,~no~obtendrás~ninguna~información.~¿En~serio?~¿No~hay~información?~¿Hay~alguna~diferencia~entre~este~texto~y~alguna~tontería~como~``Huardest~gefburn''?~¡Para~nada!~Un~texto~oculto~como~este~le~brinda~información~sobre~la~fuente~seleccionada,~cómo~se~escriben~las~letras~y~una~impresión~de~la~apariencia.~Este~texto~debe~contener~todas~las~letras~del~alfabeto~y~debe~estar~escrito~en~el~idioma~original.~No~hay~necesidad~de~contenido~especial,~pero~la~longitud~de~las~palabras~debe~coincidir~con~el~idioma.
+              Hola,~aquí~hay~un~texto~sin~significado.~Este~texto~debe~mostrar~cómo~se~verá~un~texto~impreso~en~este~lugar.~Si~lees~este~texto,~no~obtendrás~ninguna~información.~¿En~serio?~¿No~hay~información?~¿Hay~alguna~diferencia~entre~este~texto~y~alguna~tontería~como~\textquote{Huardest~gefburn}?~¡Para~nada!~Un~texto~oculto~como~este~le~brinda~información~sobre~la~fuente~seleccionada,~cómo~se~escriben~las~letras~y~una~impresión~de~la~apariencia.~Este~texto~debe~contener~todas~las~letras~del~alfabeto~y~debe~estar~escrito~en~el~idioma~original.~No~hay~necesidad~de~contenido~especial,~pero~la~longitud~de~las~palabras~debe~coincidir~con~el~idioma.
            }
     , CN = {
-              你好,这里有一些没有意义的文字。 此文本应显示打印文本在此位置的外观。 如果你阅读这段文字,你将不会得到任何信息。 真的没有信息吗? 这段文字和诸如 “劳仑衣普桑,认至将指点效则机,最你更枝” 或者 “想极整月正进好志次回总般,段然取向使张规军证回,世市总李率英茄持伴” 之类的废话有区别吗? 一点都没有! 这样的一段文本会给你提供关于所选字体的信息、字母的书写方式以及对外观的印象。 该文本应包含字母表中的所有字母,并且应使用原始语言编写。 不需要特别的内容,但字长要与语言相匹配。
+              你好,这里有一些没有意义的文字。此文本应显示打印文本在此位置的外观。如果你阅读这段文字,你将不会得到任何信息。真的没有信息吗?这段文字和诸如\textquote{劳仑衣普桑,认至将指点效则机,最你更枝}或者\textquote{想极整月正进好志次回总般,段然取向使张规军证回,世市总李率英茄持伴}之类的废话有区别吗?一点都没有!这样的一段文本会给你提供关于所选字体的信息、字母的书写方式以及对外观的印象。该文本应包含字母表中的所有字母,并且应使用原始语言编写。不需要特别的内容,但字长要与语言相匹配。
            }
     , TC = {
-              你好,這裡有一些沒有意義的文字。此文本應顯示打印文本在此位置的外觀。如果你閱讀這段文字,你將不會得到任何信息。真的沒有信息嗎?這段文字和諸如 “勞崙衣普桑,認至將指點效則機,最你更枝” 或者 “想極整月正進好志次回總般,段然取向使張規軍證回,世市總李率英茄持伴” 之類的廢話有區別嗎?一點都沒有!這樣的一段文本會給你提供關於所選字體的信息、字母的書寫方式以及對外觀的印象。該文本應包含字母表中的所有字母,並且應使用原始語言編寫。不需要特別的內容,但字長要與語言相匹配。
+              你好,這裡有一些沒有意義的文字。此文本應顯示打印文本在此位置的外觀。如果你閱讀這段文字,你將不會得到任何信息。真的沒有信息嗎?這段文字和諸如\textquote{勞崙衣普桑,認至將指點效則機,最你更枝}或者\textquote{想極整月正進好志次回總般,段然取向使張規軍證回,世市總李率英茄持伴}之類的廢話有區別嗎?一點都沒有!這樣的一段文本會給你提供關於所選字體的信息、字母的書寫方式以及對外觀的印象。該文本應包含字母表中的所有字母,並且應使用原始語言編寫。不需要特別的內容,但字長要與語言相匹配。
            }
     , JP = {
-              こんにちは、ここに意味のないテキストがあります。 このテキストは、この場所で印刷されたテキストがどのように見えるかを示す必要があります。 このテキストを読んでも、情報は得られません。 本当に? 情報はありませんか? このテキストと「アでニンはすミ」のようなナンセンスとの間に違いはありますか? 全くない! このようなブラインドテキストは、選択したフォント、文字の書き方、外観の印象に関する情報を提供します。 このテキストにはアルファベットのすべての文字が含まれている必要があり、元の言語で書かれている必要があります。 特別なコンテンツは必要ありませんが、単語の長さは言語と一致している必要があります。
+              こんにちは、ここに意味のないテキストがあります。このテキストは、この場所で印刷されたテキストがどのように見えるかを示す必要があります。このテキストを読んでも、情報は得られません。本当に?情報はありませんか?このテキストと\textquote{アでニンはすミ}のようなナンセンスとの間に違いはありますか?全くない!このようなブラインドテキストは、選択したフォント、文字の書き方、外観の印象に関する情報を提供します。このテキストにはアルファベットのすべての文字が含まれている必要があり、元の言語で書かれている必要があります。特別なコンテンツは必要ありませんが、単語の長さは言語と一致している必要があります。
            }
     , RU = {
-              Здравствуйте,~вот~какой-то~текст~без~смысла.~Этот~текст~должен~показывать,~как~будет~выглядеть~печатный~текст~в~этом~месте.~Если~вы~прочитаете~этот~текст,~вы~не~получите~никакой~информации.~Действительно?~Нет~информации?~Есть~ли~разница~между~этим~текстом~и~какой-то~чепухой~вроде~``Бзостачщв~дрероих''?~Нисколько!~Слепой~текст,~подобный~этому,~дает~вам~информацию~о~выбранном~шрифте,~о~том,~как~написаны~буквы,~и~о~впечатлении~от~внешнего~вида.~Этот~текст~должен~содержать~все~буквы~алфавита~и~должен~быть~написан~на~языке~оригинала.~В~специальном~содержании~нет~необходимости,~но~длина~слов~должна~соответствовать~языку.
+              Здравствуйте,~вот~какой-то~текст~без~смысла.~Этот~текст~должен~показывать,~как~будет~выглядеть~печатный~текст~в~этом~месте.~Если~вы~прочитаете~этот~текст,~вы~не~получите~никакой~информации.~Действительно?~Нет~информации?~Есть~ли~разница~между~этим~текстом~и~какой-то~чепухой~вроде~\textquote{Бзостачщв~дрероих}?~Нисколько!~Слепой~текст,~подобный~этому,~дает~вам~информацию~о~выбранном~шрифте,~о~том,~как~написаны~буквы,~и~о~впечатлении~от~внешнего~вида.~Этот~текст~должен~содержать~все~буквы~алфавита~и~должен~быть~написан~на~языке~оригинала.~В~специальном~содержании~нет~необходимости,~но~длина~слов~должна~соответствовать~языку.
            }
   }
 

Modified: trunk/Master/texmf-dist/tex/latex/projlib/projlib-font.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/projlib/projlib-font.sty	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/tex/latex/projlib/projlib-font.sty	2023-09-30 20:13:07 UTC (rev 68412)
@@ -18,7 +18,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {projlib-font}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {Font selection and configuration}
 
 \keys_define:nn { projlib-font }
@@ -82,19 +82,22 @@
   {
     \RequirePackage { mathpazo }
     \PassOptionsToPackage { defaultsups } { newpxtext }
-    \RequirePackage { newpxtext }
-    \cs_undefine:c { openbox }
-    \bool_if:NT \l__projlib_font_useosf_bool { \useosf }
-    \sys_if_engine_pdftex:F
+    \PassOptionsToPackage { no-math } { fontspec }
+    \hook_gput_code:nnn { begindocument/before } { projlib-font }
       {
-        \setsansfont { texgyreheros }
-          [
-            Scale          = MatchUppercase ,
-            UprightFont    = *-regular ,
-            BoldFont       = *-bold ,
-            ItalicFont     = *-italic ,
-            BoldItalicFont = *-bolditalic ,
-          ]
+        \RequirePackage { newpxtext }
+        \bool_if:NT \l__projlib_font_useosf_bool { \useosf }
+        \sys_if_engine_pdftex:F
+          {
+            \setsansfont { texgyreheros }
+              [
+                Scale          = MatchUppercase ,
+                UprightFont    = *-regular ,
+                BoldFont       = *-bold ,
+                ItalicFont     = *-italic ,
+                BoldItalicFont = *-bolditalic ,
+              ]
+          }
       }
     \projlib_font_set_linespacing_latin:n { \setstretch { 1.07 } }
     \bool_gset_true:N \g_projlib_font_already_set_bool
@@ -103,20 +106,23 @@
 \bool_if:NT \l__projlib_font_times_bool
   {
     \PassOptionsToPackage { defaultsups } { newtxtext }
-    \RequirePackage { newtxtext }
-    \RequirePackage { newtxmath }
-    \cs_undefine:c { openbox }
-    \bool_if:NT \l__projlib_font_useosf_bool { \useosf }
-    \sys_if_engine_pdftex:F
+    \PassOptionsToPackage { no-math } { fontspec }
+    \hook_gput_code:nnn { begindocument/before } { projlib-font }
       {
-        \setsansfont { texgyreheros }
-          [
-            Scale          = MatchUppercase ,
-            UprightFont    = *-regular ,
-            BoldFont       = *-bold ,
-            ItalicFont     = *-italic ,
-            BoldItalicFont = *-bolditalic ,
-          ]
+        \RequirePackage { newtxtext }
+        \RequirePackage { newtxmath }
+        \bool_if:NT \l__projlib_font_useosf_bool { \useosf }
+        \sys_if_engine_pdftex:F
+          {
+            \setsansfont { texgyreheros }
+              [
+                Scale          = MatchUppercase ,
+                UprightFont    = *-regular ,
+                BoldFont       = *-bold ,
+                ItalicFont     = *-italic ,
+                BoldItalicFont = *-bolditalic ,
+              ]
+          }
       }
     \projlib_font_set_linespacing_latin:n { \setstretch { 1.00 } }
     \bool_gset_true:N \g_projlib_font_already_set_bool

Modified: trunk/Master/texmf-dist/tex/latex/projlib/projlib-language.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/projlib/projlib-language.sty	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/tex/latex/projlib/projlib-language.sty	2023-09-30 20:13:07 UTC (rev 68412)
@@ -18,7 +18,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {projlib-language}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {Multi-language configuration}
 
 \clist_const:Nn \c__projlib_language_supported_clist

Modified: trunk/Master/texmf-dist/tex/latex/projlib/projlib-logo.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/projlib/projlib-logo.sty	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/tex/latex/projlib/projlib-logo.sty	2023-09-30 20:13:07 UTC (rev 68412)
@@ -18,7 +18,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {projlib-logo}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {The ProjLib logo}
 
 \keys_define:nn { projlib-logo }

Modified: trunk/Master/texmf-dist/tex/latex/projlib/projlib-math.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/projlib/projlib-math.sty	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/tex/latex/projlib/projlib-math.sty	2023-09-30 20:13:07 UTC (rev 68412)
@@ -18,7 +18,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {projlib-math}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {Efficient math setup}
 
 \keys_define:nn { projlib-math }

Modified: trunk/Master/texmf-dist/tex/latex/projlib/projlib-paper.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/projlib/projlib-paper.sty	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/tex/latex/projlib/projlib-paper.sty	2023-09-30 20:13:07 UTC (rev 68412)
@@ -18,7 +18,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {projlib-paper}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {Configuration of the paper style}
 
 \keys_define:nn { projlib-paper }

Modified: trunk/Master/texmf-dist/tex/latex/projlib/projlib-text.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/projlib/projlib-text.sty	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/tex/latex/projlib/projlib-text.sty	2023-09-30 20:13:07 UTC (rev 68412)
@@ -18,7 +18,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {projlib-text}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {Text-related commands}
 
 \keys_define:nn { projlib-text }

Modified: trunk/Master/texmf-dist/tex/latex/projlib/projlib-theorem.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/projlib/projlib-theorem.sty	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/tex/latex/projlib/projlib-theorem.sty	2023-09-30 20:13:07 UTC (rev 68412)
@@ -18,7 +18,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {projlib-theorem}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {Configuration of theorem-like environments}
 
 \keys_define:nn { projlib-theorem }

Modified: trunk/Master/texmf-dist/tex/latex/projlib/projlib-titlepage.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/projlib/projlib-titlepage.sty	2023-09-30 20:12:00 UTC (rev 68411)
+++ trunk/Master/texmf-dist/tex/latex/projlib/projlib-titlepage.sty	2023-09-30 20:13:07 UTC (rev 68412)
@@ -18,7 +18,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {projlib-titlepage}
-  {2023/09/28} {}
+  {2023/09/30} {}
   {Commands for rendering the title page}
 
 \keys_define:nn { projlib-titlepage }



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