summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/projlib
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-03-21 03:02:04 +0000
committerNorbert Preining <norbert@preining.info>2022-03-21 03:02:04 +0000
commit418f27fe2e2b233c282c7388ed4f2bf3461a958f (patch)
treed52e162eeef9ce2f96597577dec046a9ecd9bd83 /macros/latex/contrib/projlib
parent932716f98734dec3d6502355f5618e5895729499 (diff)
CTAN sync 202203210302
Diffstat (limited to 'macros/latex/contrib/projlib')
-rw-r--r--macros/latex/contrib/projlib/ProjLib.dtx215
-rw-r--r--macros/latex/contrib/projlib/README.md8
2 files changed, 146 insertions, 77 deletions
diff --git a/macros/latex/contrib/projlib/ProjLib.dtx b/macros/latex/contrib/projlib/ProjLib.dtx
index 53a8117f7b..db18403a5c 100644
--- a/macros/latex/contrib/projlib/ProjLib.dtx
+++ b/macros/latex/contrib/projlib/ProjLib.dtx
@@ -20,70 +20,70 @@
%<*ProjLib>
\ProvidesExplPackage
{ProjLib}
- {2022/03/17} {}
+ {2022/03/19} {}
{Collective interface of the ProjLib toolkit}
%</ProjLib>
%
%<*projlib-author>
\ProvidesExplPackage
{projlib-author}
- {2022/03/17} {}
+ {2022/03/19} {}
{Enhanced author information block}
%</projlib-author>
%
%<*projlib-datetime>
\ProvidesExplPackage
{projlib-datetime}
- {2022/03/17} {}
+ {2022/03/19} {}
{Convert numeric date-time string to natural language}
%</projlib-datetime>
%
%<*projlib-draft>
\ProvidesExplPackage
{projlib-draft}
- {2022/03/17} {}
+ {2022/03/19} {}
{Useful commands during draft stage}
%</projlib-draft>
%
%<*projlib-font>
\ProvidesExplPackage
{projlib-font}
- {2022/03/17} {}
+ {2022/03/19} {}
{Font selection and configuration}
%</projlib-font>
%
%<*projlib-language>
\ProvidesExplPackage
{projlib-language}
- {2022/03/17} {}
+ {2022/03/19} {}
{Multi-language configuration}
%</projlib-language>
%
%<*projlib-logo>
\ProvidesExplPackage
{projlib-logo}
- {2022/03/17} {}
+ {2022/03/19} {}
{The ProjLib logo}
%</projlib-logo>
%
%<*projlib-math>
\ProvidesExplPackage
{projlib-math}
- {2022/03/17} {}
+ {2022/03/19} {}
{Efficient math setup}
%</projlib-math>
%
%<*projlib-paper>
\ProvidesExplPackage
{projlib-paper}
- {2022/03/17} {}
+ {2022/03/19} {}
{Configuration of the paper style}
%</projlib-paper>
%
%<*projlib-theorem>
\ProvidesExplPackage
{projlib-theorem}
- {2022/03/17} {}
+ {2022/03/19} {}
{Configuration of theorem-like environments}
%</projlib-theorem>
@@ -190,7 +190,7 @@
{
\hook_gput_code:nnn { cmd/@author/after } { projlib-author }
{
- \phantom {A} \\[-.85\baselineskip]
+ \phantom {A} \\[-.9\baselineskip]
\bool_if:NF \g__projlib_author_affil_already_exist_bool
{
\skip_vertical:n { \g__projlib_author_length_innersep_dim }
@@ -250,6 +250,8 @@
{
\RequirePackage{ projlib-language }
+ \tl_const:Nn \c_projlib_author_dot_tl { . }
+
\tl_new:N \g_projlib_author_keywordsname_style_tl
\tl_gset:Nn \g_projlib_author_keywordsname_style_tl { \itshape }
@@ -280,38 +282,39 @@
\tl_gset:Nn \g__projlib_author_dedicatory_tl { #1 }
}
- \hook_gput_code:nnn { begindocument/before } { projlib-author }
- {
- \NewCommandCopy \projlib_author_backup_footnotemark: \footnotemark
- \tl_gset:Nn \footnotemark {}
- \NewCommandCopy \projlib_author_backup_thanks:w \thanks
- \cs_undefine:N \thanks
+ \NewCommandCopy \projlib_author_backup_footnotemark: \footnotemark
+ \tl_gset:Nn \footnotemark {}
- % 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 }
+ \NewCommandCopy \projlib_author_backup_thanks:w \thanks
+ \cs_undefine:N \thanks
- \cs_new_nopar:Nn \projlib_author_pre_thanks:n
+ % 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 }
+
+ \cs_new_nopar:Nn \projlib_author_pre_thanks:n
+ {
+ \projlib_author_backup_thanks:w
{
- \projlib_author_backup_thanks:w
- {
- \skip_horizontal:n { - \c__projlib_author_length_width_of_asterisk_dim }
- #1
- }
+ \skip_horizontal:n { - \c__projlib_author_length_width_of_asterisk_dim }
+ #1
}
+ }
- \NewDocumentCommand \thanks { m }
+ \NewDocumentCommand \thanks { m }
+ {
+ \tl_if_blank:nF { #1 }
{
- \tl_if_blank:nF { #1 }
+ \hook_gput_code:nnn { cmd/@title/after } { projlib-author }
{
- \hook_gput_code:nnn { cmd/@title/after } { projlib-author }
- {
- \projlib_author_pre_thanks:n { #1 }
- }
+ \projlib_author_pre_thanks:n { #1 }
}
}
+ }
+ \hook_gput_code:nnn { begindocument/before } { projlib-author }
+ {
\NewCommandCopy \projlib_author_backup_my_author:w \author
\RenewDocumentCommand \author { m }
{
@@ -320,7 +323,7 @@
\RenewCommandCopy \footnotemark \projlib_author_backup_footnotemark:
\RenewCommandCopy \thanks \projlib_author_backup_thanks:w
#1
- \cs_undefine:N \footnotemark
+ \tl_gset:Nn \footnotemark {}
}
}
}
@@ -384,7 +387,7 @@
{
\group_begin:
\g_projlib_author_keywordsname_style_tl
- \keywordsname .
+ \keywordsname \c_projlib_author_dot_tl
\group_end:
\c_space_tl
\g__projlib_author_keywords_tl
@@ -430,7 +433,7 @@
}
\projlib_author_pre_thanks:n
{
- \textit{ \l_projlib_author_subjclassname_tl . }
+ \textit{ \l_projlib_author_subjclassname_tl \c_projlib_author_dot_tl }
\enspace
\l_projlib_author_subjclass_tl .
}
@@ -2744,35 +2747,35 @@
\tl_gput_right:Nn \g_projlib_language_settings_schinese_tl
{
\g_projlib_language_settings_common_tl
- \tl_gset:Nn \languagename { schinese }
- \tl_gset:cn { abstractname } { 摘要 }
- \tl_gset:cn { proofname } { 证明 }
- \tl_gset:cn { contentsname } { 目录 }
- \tl_gset:cn { listfigurename } { 插图 }
- \tl_gset:cn { listtablename } { 表格 }
- \tl_gset:cn { figurename } { 图 }
- \tl_gset:cn { tablename } { 表 }
- \tl_gset:cn { indexname } { 索引 }
- \tl_gset:cn { appendixname } { 附录 }
- \tl_gset:cn { refname } { 参考文献 }
- \tl_gset:cn { bibname } { 参考文献 }
+ \tl_set:Nn \languagename { schinese }
+ \tl_set:cn { abstractname } { 摘要 }
+ \tl_set:cn { proofname } { 证明 }
+ \tl_set:cn { contentsname } { 目录 }
+ \tl_set:cn { listfigurename } { 插图 }
+ \tl_set:cn { listtablename } { 表格 }
+ \tl_set:cn { figurename } { 图 }
+ \tl_set:cn { tablename } { 表 }
+ \tl_set:cn { indexname } { 索引 }
+ \tl_set:cn { appendixname } { 附录 }
+ \tl_set:cn { refname } { 参考文献 }
+ \tl_set:cn { bibname } { 参考文献 }
}
\tl_gput_right:Nn \g_projlib_language_settings_tchinese_tl
{
\g_projlib_language_settings_common_tl
- \tl_gset:Nn \languagename { tchinese }
- \tl_gset:cn { abstractname } { 摘要 }
- \tl_gset:cn { proofname } { 證明 }
- \tl_gset:cn { contentsname } { 目錄 }
- \tl_gset:cn { listfigurename } { 插圖 }
- \tl_gset:cn { listtablename } { 表格 }
- \tl_gset:cn { figurename } { 圖 }
- \tl_gset:cn { tablename } { 表 }
- \tl_gset:cn { indexname } { 索引 }
- \tl_gset:cn { appendixname } { 附錄 }
- \tl_gset:cn { refname } { 參考文獻 }
- \tl_gset:cn { bibname } { 參考文獻 }
+ \tl_set:Nn \languagename { tchinese }
+ \tl_set:cn { abstractname } { 摘要 }
+ \tl_set:cn { proofname } { 證明 }
+ \tl_set:cn { contentsname } { 目錄 }
+ \tl_set:cn { listfigurename } { 插圖 }
+ \tl_set:cn { listtablename } { 表格 }
+ \tl_set:cn { figurename } { 圖 }
+ \tl_set:cn { tablename } { 表 }
+ \tl_set:cn { indexname } { 索引 }
+ \tl_set:cn { appendixname } { 附錄 }
+ \tl_set:cn { refname } { 參考文獻 }
+ \tl_set:cn { bibname } { 參考文獻 }
}
\tl_gput_right:Nn \g_projlib_language_settings_japanese_tl
@@ -3005,6 +3008,7 @@
\endinput
}
+%<*projlib-logo-old>
\cs_if_exist:cTF { fontspec }
{
\newfontface \__projlib_logo_font: { LinBiolinum_R.otf }
@@ -3034,19 +3038,20 @@
}
}
-% \RequirePackage { xcolor }
% \cs_new_protected:Nn \projlib_logo_generic:n
% {
% \group_begin:
% \normalfont
% \__projlib_logo_font:
-% \textcolor { blue!55!cyan } { P }
-% \textcolor { blue!45!cyan } { r }
-% \textcolor { blue!30!cyan } { o }
-% \textcolor { green!70!black!70 } { #1 }
-% \textcolor { red!20!yellow } { L }
-% \textcolor { red!40!yellow } { i }
-% \textcolor { red!55!yellow } { b }
+% \color_group_begin:
+% \color_select:n { blue!60!cyan } { P }
+% \color_select:n { blue!45!cyan } { r }
+% \color_select:n { blue!30!cyan } { o }
+% \color_select:n { green!70!black!70 } { #1 }
+% \color_select:n { red!20!yellow } { L }
+% \color_select:n { red!40!yellow } { i }
+% \color_select:n { red!60!yellow } { b }
+% \color_group_end:
% \group_end:
% }
\cs_new_protected:Nn \projlib_logo_generic:n
@@ -3055,13 +3060,13 @@
\normalfont
\__projlib_logo_font:
\color_group_begin:
- \color_select:n { blue!60!cyan } { P }
- \color_select:n { blue!45!cyan } { r }
- \color_select:n { blue!30!cyan } { o }
- \color_select:n { green!70!black!70 } { #1 }
- \color_select:n { red!20!yellow } { L }
- \color_select:n { red!40!yellow } { i }
- \color_select:n { red!60!yellow } { b }
+ \color_select:n { blue!50!cyan!30!black } { P }
+ \color_select:n { blue!50!cyan!55!black } { r }
+ \color_select:n { blue!50!cyan!75!black } { o }
+ \color_select:n { blue!50!cyan!90!black } { #1 }
+ \color_select:n { blue!50!cyan!75!black } { L }
+ \color_select:n { blue!50!cyan!55!black } { i }
+ \color_select:n { blue!50!cyan!30!black } { b }
\color_group_end:
\group_end:
}
@@ -3074,6 +3079,50 @@
{
\projlib_logo_generic:n { j }
}
+%</projlib-logo-old>
+
+\RequirePackage { tikz }
+
+\cs_new_protected:Nn \projlib_logo_generic:
+ {
+ \skip_horizontal:n { .2em }
+ \begin{tikzpicture}[line~width=.1em, baseline=0]
+ \begin{scope}[color=blue!50!cyan!30!black]
+ \draw (0.22em,.5em) circle (.22em);
+ \draw (0em,0em) -- (0em,.5em);
+ \end{scope}
+ \begin{scope}[color=blue!50!cyan!40!black, xshift=.65em]
+ \draw (0em,0em) -- (0em,.25em) arc [start~angle=180, end~angle=90, radius=.2em];
+ \end{scope}
+ \begin{scope}[color=blue!50!cyan!45!black, xshift=1.0em]
+ \draw (0.2em,.24em) circle (.2em);
+ \end{scope}
+ \begin{scope}[color=blue!50!cyan!50!black, xshift=1.65em]
+ \draw (0em,-.25em) -- (0em,.5em);
+ \begin{scope}[yshift=.75em]
+ % \draw[line~width=.032em, color=orange!60!yellow, xshift=.01em, yshift=-.003em] (0,0) circle (.13em);
+ % \node[rotate=-15,scale=0.45, xshift=.033em] { \usefont{U}{zeur}{b}{n} \symbol{"02} };
+ \draw[line~width=.06em, color=orange!60!yellow] (0,0) circle (.13em);
+ \end{scope}
+ \end{scope}
+ \begin{scope}[color=blue!50!cyan!67!black, xshift=2.0em]
+ \draw (0em,0em) -- (0em,.75em);
+ \end{scope}
+ \begin{scope}[color=blue!50!cyan!75!black, xshift=2.35em]
+ \draw (0em,0em) -- (0em,.5em);
+ \end{scope}
+ \begin{scope}[color=blue!50!cyan!90!black, xshift=2.63em]
+ \draw (0.2em,.24em) circle (.2em);
+ \draw (0em,0.24em) -- (0em,.75em);
+ \end{scope}
+ \end{tikzpicture}
+ \skip_horizontal:n { .2em }
+ }
+
+\DeclareRobustCommand * \ProjLib
+ {
+ \projlib_logo_generic:
+ }
%</projlib-logo>
%
%<*projlib-math>
@@ -3395,6 +3444,13 @@
, theorem numbering .default:n = { * }
, thmnum .tl_set:N = \l__projlib_theorem_theorem_numbering_tl
, thmnum .default:n = { * }
+ , theorem-style .tl_set:N = \l__projlib_theorem_theorem_style_tl
+ , theorem-style .initial:n = { }
+ , theorem-style .value_required:n = true
+ , theorem~style .tl_set:N = \l__projlib_theorem_theorem_style_tl
+ , theorem~style .value_required:n = true
+ , theorem style .tl_set:N = \l__projlib_theorem_theorem_style_tl
+ , theorem style .value_required:n = true
, complex-name .bool_set:N = \l__projlib_theorem_complexname_bool
, complex-name .initial:n = { true }
, complex~name .bool_set:N = \l__projlib_theorem_complexname_bool
@@ -3462,6 +3518,17 @@
% \PassOptionsToPackage { no preset names } { create-theorem }
% }
+\cs_new_protected:Nn \projlib_theorem_preset_theorem_style:nn
+ {
+ \tl_const:cn { c_crthm_theorem_style_preset_ #1 _tl } { #2 }
+ }
+
+\cs_generate_variant:Nn \keyval_parse:nnn { nno }
+\keyval_parse:nno
+ { }
+ { \projlib_theorem_preset_theorem_style:nn }
+ { \l__projlib_theorem_theorem_style_tl }
+
\RequirePackage { amsthm }
\RequirePackage { create-theorem }
diff --git a/macros/latex/contrib/projlib/README.md b/macros/latex/contrib/projlib/README.md
index 9922ad0b82..3c25a992a8 100644
--- a/macros/latex/contrib/projlib/README.md
+++ b/macros/latex/contrib/projlib/README.md
@@ -2,11 +2,13 @@
# ProjLib Toolkit
-The bundle is dated 2022/03/17
+The bundle is dated 2022/03/19
+
+![image](https://i.imgur.com/bOOJLve.png)
## **Important note**
-The whole project is being rewritten with `expl3`. The new modules are basically finished but are not yet documented. They have the names with prefix "projlib-", and they are in many ways better and more powerful than their predecessors. The most important thing to be noticed is that these new modules are not compatible with the old ones, and thus they cannot appear simultaneously in the same document, which, unfortunately, means that (for now) they cannot be used in classes like `lebhart`, `beaulivre` (these are the classes with which the author produced the old documentations), etc.
+The whole project is being rewritten with `expl3`. The new modules are basically finished but are **not yet documented**. They have filenames with the prefix "projlib-", and they are in many ways better and more powerful than their predecessors.
The new modules are:
- projlib-author
@@ -19,7 +21,7 @@ The new modules are:
- projlib-paper
- projlib-theorem
-Below are the old README.
+Below is the old README.
---