diff options
author | Norbert Preining <norbert@preining.info> | 2024-10-10 03:04:40 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2024-10-10 03:04:40 +0000 |
commit | 4a029a7381ae51d2df546dc3ed3b9f0fa02e0fac (patch) | |
tree | d273706e39167a5bf3554c158b846fb014e52ae6 /macros | |
parent | 2fdd6360b8943e29f7f2beb9c820913c3e2b3783 (diff) |
CTAN sync 202410100304
Diffstat (limited to 'macros')
104 files changed, 659 insertions, 616 deletions
diff --git a/macros/latex-dev/required/l3kernel/CHANGELOG.md b/macros/latex-dev/required/l3kernel/CHANGELOG.md index 70b869d905..f77b834193 100644 --- a/macros/latex-dev/required/l3kernel/CHANGELOG.md +++ b/macros/latex-dev/required/l3kernel/CHANGELOG.md @@ -7,6 +7,15 @@ this project uses date-based 'snapshot' version identifiers. ## [Unreleased] +## [2024-10-09] + +### Added +- `\coffin_ht_plus_dp:(N|c)` + +### Fixed +- Use TU-encoding with lualatex and xelatex in `l3doc` +- Inconsistent local/global assignments in `l3doc` (see \#1593) + ## [2024-09-10] ### Fixed @@ -1776,7 +1785,8 @@ this project uses date-based 'snapshot' version identifiers. - Step functions have been added for dim variables, e.g. `\dim_step_inline:nnnn` -[Unreleased]: https://github.com/latex3/latex3/compare/2024-09-10...HEAD +[Unreleased]: https://github.com/latex3/latex3/compare/2024-10-09...HEAD +[2024-10-09]: https://github.com/latex3/latex3/compare/2024-09-10...2024-10-09 [2024-09-10]: https://github.com/latex3/latex3/compare/2024-08-30...2024-09-10 [2024-08-30]: https://github.com/latex3/latex3/compare/2024-08-16...2024-08-30 [2024-08-16]: https://github.com/latex3/latex3/compare/2024-07-20...2024-08-16 diff --git a/macros/latex-dev/required/l3kernel/README.md b/macros/latex-dev/required/l3kernel/README.md index 76cf62b310..a061935664 100644 --- a/macros/latex-dev/required/l3kernel/README.md +++ b/macros/latex-dev/required/l3kernel/README.md @@ -1,7 +1,7 @@ LaTeX3 Programming Conventions ============================== -Release 2024-09-10 +Release 2024-10-09 Overview -------- diff --git a/macros/latex-dev/required/l3kernel/expl3.dtx b/macros/latex-dev/required/l3kernel/expl3.dtx index 2842da27d1..d41a08bc35 100644 --- a/macros/latex-dev/required/l3kernel/expl3.dtx +++ b/macros/latex-dev/required/l3kernel/expl3.dtx @@ -24,7 +24,7 @@ % %<*driver|generic|package|2ekernel> %</driver|generic|package|2ekernel> -\def\ExplFileDate{2024-09-10}% +\def\ExplFileDate{2024-10-09}% %<*driver> \documentclass[full]{l3doc} \usepackage{graphicx} @@ -51,7 +51,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/expl3.pdf b/macros/latex-dev/required/l3kernel/expl3.pdf Binary files differindex 3892145fe1..a99b8fb119 100644 --- a/macros/latex-dev/required/l3kernel/expl3.pdf +++ b/macros/latex-dev/required/l3kernel/expl3.pdf diff --git a/macros/latex-dev/required/l3kernel/interface3.pdf b/macros/latex-dev/required/l3kernel/interface3.pdf Binary files differindex d5dbb77029..0ada8707e0 100644 --- a/macros/latex-dev/required/l3kernel/interface3.pdf +++ b/macros/latex-dev/required/l3kernel/interface3.pdf diff --git a/macros/latex-dev/required/l3kernel/interface3.tex b/macros/latex-dev/required/l3kernel/interface3.tex index 9db72db2f0..956f56eeb9 100644 --- a/macros/latex-dev/required/l3kernel/interface3.tex +++ b/macros/latex-dev/required/l3kernel/interface3.tex @@ -58,7 +58,7 @@ for those people who are interested. {latex-team@latex-project.org}% }% } -\date{Released 2024-09-10} +\date{Released 2024-10-09} \pagenumbering{roman} \maketitle diff --git a/macros/latex-dev/required/l3kernel/l3basics.dtx b/macros/latex-dev/required/l3kernel/l3basics.dtx index 48a4371d98..56b810317e 100644 --- a/macros/latex-dev/required/l3kernel/l3basics.dtx +++ b/macros/latex-dev/required/l3kernel/l3basics.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % @@ -1170,7 +1170,7 @@ % % \subsection{Tests on control sequences} % -% \begin{function}[EXP,pTF]{\cs_if_eq:NN} +% \begin{function}[EXP,pTF]{\cs_if_eq:NN, \cs_if_eq:Nc, \cs_if_eq:cN, \cs_if_eq:cc} % \begin{syntax} % \cs{cs_if_eq_p:NN} \meta{cs_1} \meta{cs_2} % \cs{cs_if_eq:NNTF} \meta{cs_1} \meta{cs_2} \Arg{true code} \Arg{false code} diff --git a/macros/latex-dev/required/l3kernel/l3bitset.dtx b/macros/latex-dev/required/l3kernel/l3bitset.dtx index 6c7dddd9c0..ece6d07797 100644 --- a/macros/latex-dev/required/l3kernel/l3bitset.dtx +++ b/macros/latex-dev/required/l3kernel/l3bitset.dtx @@ -42,7 +42,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3bootstrap.dtx b/macros/latex-dev/required/l3kernel/l3bootstrap.dtx index 3a2d2c2477..fe5468ebd3 100644 --- a/macros/latex-dev/required/l3kernel/l3bootstrap.dtx +++ b/macros/latex-dev/required/l3kernel/l3bootstrap.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3box.dtx b/macros/latex-dev/required/l3kernel/l3box.dtx index 7ee8f93e2e..d1f146b5d9 100644 --- a/macros/latex-dev/required/l3kernel/l3box.dtx +++ b/macros/latex-dev/required/l3kernel/l3box.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3cctab.dtx b/macros/latex-dev/required/l3kernel/l3cctab.dtx index 7fbab7c75a..00262223e3 100644 --- a/macros/latex-dev/required/l3kernel/l3cctab.dtx +++ b/macros/latex-dev/required/l3kernel/l3cctab.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3clist.dtx b/macros/latex-dev/required/l3kernel/l3clist.dtx index 8f2da5d029..2f61ef3e8c 100644 --- a/macros/latex-dev/required/l3kernel/l3clist.dtx +++ b/macros/latex-dev/required/l3kernel/l3clist.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % @@ -393,7 +393,7 @@ % \cs{clist_if_empty_p:n} \Arg{comma list} % \cs{clist_if_empty:nTF} \Arg{comma list} \Arg{true code} \Arg{false code} % \end{syntax} -% Tests if the \meta{clist~var} is empty (containing no items). +% Tests if the \meta{comma~list} is empty (containing no items). % The rules for space trimming are as for other \texttt{n}-type % comma-list functions, hence the comma list |{~,~,,~}| (without % outer braces) is empty, while |{~,{},}| (without outer braces) @@ -564,7 +564,8 @@ % % \begin{function}[EXP, added = 2013-05-26]{\clist_use:Nnnn, \clist_use:cnnn} % \begin{syntax} -% \cs{clist_use:Nnnn} \meta{clist~var} \Arg{separator~between~two} \Arg{separator~between~more~than~two} \Arg{separator~between~final~two} +% \cs{clist_use:Nnnn} \meta{clist~var} \Arg{separator~between~two} \\ +% ~~\Arg{separator~between~more~than~two} \Arg{separator~between~final~two} % \end{syntax} % Places the contents of the \meta{clist~var} in the input stream, % with the appropriate \meta{separator} between the items. Namely, if @@ -620,8 +621,9 @@ % % \begin{function}[EXP, added = 2021-05-10]{\clist_use:nnnn, \clist_use:nn} % \begin{syntax} -% \cs{clist_use:nnnn} \meta{comma~list} \Arg{separator~between~two} \Arg{separator~between~more~than~two} \Arg{separator~between~final~two} -% \cs{clist_use:nn} \meta{comma~list} \Arg{separator} +% \cs{clist_use:nnnn} \Arg{comma~list} \Arg{separator~between~two} \\ +% ~~\Arg{separator~between~more~than~two} \Arg{separator~between~final~two} +% \cs{clist_use:nn} \Arg{comma~list} \Arg{separator} % \end{syntax} % Places the contents of the \meta{comma~list} in the input stream, % with the appropriate \meta{separator} between the items. As for diff --git a/macros/latex-dev/required/l3kernel/l3coffins.dtx b/macros/latex-dev/required/l3kernel/l3coffins.dtx index be982e324a..7389a2909b 100644 --- a/macros/latex-dev/required/l3kernel/l3coffins.dtx +++ b/macros/latex-dev/required/l3kernel/l3coffins.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % @@ -327,6 +327,14 @@ % in a form suitable for use in a \meta{dim expr}. % \end{function} % +% \begin{function}[added = 2024-10-01]{\coffin_ht_plus_dp:N, \coffin_ht_plus_dp:c} +% \begin{syntax} +% \cs{coffin_ht_plus_dp:N} \meta{coffin} +% \end{syntax} +% Calculates the total vertical size (height plus depth) of the \meta{coffin} +% in a form suitable for use in a \meta{dim expr}. +% \end{function} +% % \begin{function}{\coffin_wd:N, \coffin_wd:c} % \begin{syntax} % \cs{coffin_wd:N} \meta{coffin} @@ -924,7 +932,8 @@ % \begin{macro} % { % \coffin_dp:N, \coffin_dp:c, \coffin_ht:N, \coffin_ht:c, -% \coffin_wd:N, \coffin_wd:c +% \coffin_ht_plus_dp:N, \coffin_ht_plus_dp:c, +% \coffin_wd:N, \coffin_wd:c, % } % Coffins are just boxes when it comes to measurement. However, semantically % a separate set of functions are required. @@ -933,6 +942,8 @@ \cs_new_eq:NN \coffin_dp:c \box_dp:c \cs_new_eq:NN \coffin_ht:N \box_ht:N \cs_new_eq:NN \coffin_ht:c \box_ht:c +\cs_new_eq:NN \coffin_ht_plus_dp:N \box_ht_plus_dp:N +\cs_new_eq:NN \coffin_ht_plus_dp:c \box_ht_plus_dp:c \cs_new_eq:NN \coffin_wd:N \box_wd:N \cs_new_eq:NN \coffin_wd:c \box_wd:c % \end{macrocode} diff --git a/macros/latex-dev/required/l3kernel/l3color.dtx b/macros/latex-dev/required/l3kernel/l3color.dtx index 0fafd8ef24..40513eea3c 100644 --- a/macros/latex-dev/required/l3kernel/l3color.dtx +++ b/macros/latex-dev/required/l3kernel/l3color.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % @@ -243,9 +243,9 @@ % % \begin{function}{\color_set_eq:nn} % \begin{syntax} -% \cs{color_set_eq:nn} \Arg{name1} \Arg{name2} +% \cs{color_set_eq:nn} \Arg{name_1} \Arg{name_2} % \end{syntax} -% Copies the color specification in \meta{name2} to \meta{name1}. The +% Copies the color specification in \meta{name_2} to \meta{name_1}. The % special name |.| may be used to represent the current color, allowing % it to be saved to a name. % \end{function} @@ -338,7 +338,7 @@ % % \begin{function}[added = 2022-01-26]{\color_math:nn, \color_math:nnn} % \begin{syntax} -% \cs{color_math:nn} \Arg{color expression}\Arg{content} +% \cs{color_math:nn} \Arg{color expression} \Arg{content} % \cs{color_math:nnn} \Arg{model(s)} \Arg{value(s)} \Arg{content} % \end{syntax} % Works as for \cs[no-index]{color_select:n(n)} but applies color only to the math mode diff --git a/macros/latex-dev/required/l3kernel/l3debug.dtx b/macros/latex-dev/required/l3kernel/l3debug.dtx index 496004c34b..82408e30b9 100644 --- a/macros/latex-dev/required/l3kernel/l3debug.dtx +++ b/macros/latex-dev/required/l3kernel/l3debug.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % @@ -69,7 +69,7 @@ % % Standard file identification. % \begin{macrocode} -\ProvidesExplFile{l3debug.def}{2024-09-10}{}{L3 Debugging support} +\ProvidesExplFile{l3debug.def}{2024-10-09}{}{L3 Debugging support} % \end{macrocode} % % \begin{variable}{\s_@@_stop} diff --git a/macros/latex-dev/required/l3kernel/l3deprecation.dtx b/macros/latex-dev/required/l3kernel/l3deprecation.dtx index 8f36b2075f..ebfda95556 100644 --- a/macros/latex-dev/required/l3kernel/l3deprecation.dtx +++ b/macros/latex-dev/required/l3kernel/l3deprecation.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3doc.dtx b/macros/latex-dev/required/l3kernel/l3doc.dtx index 9268f85744..778c0085e3 100644 --- a/macros/latex-dev/required/l3kernel/l3doc.dtx +++ b/macros/latex-dev/required/l3kernel/l3doc.dtx @@ -71,7 +71,7 @@ and all files in that bundle must be distributed together. % This isn't included in the typeset documentation because it's a bit % ugly: %<*class> -\ProvidesExplClass{l3doc}{2024-09-10}{} +\ProvidesExplClass{l3doc}{2024-10-09}{} {L3 Experimental documentation class} %</class> % \fi @@ -84,7 +84,7 @@ and all files in that bundle must be distributed together. % require you to do updates, if the class changes.}} % % \author{\Team} -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % \maketitle % \tableofcontents % @@ -959,8 +959,8 @@ and all files in that bundle must be distributed together. % \begin{macrocode} \bool_new:N \g_@@_typeset_documentation_bool \bool_new:N \g_@@_typeset_implementation_bool -\bool_set_true:N \g_@@_typeset_documentation_bool -\bool_set_true:N \g_@@_typeset_implementation_bool +\bool_gset_true:N \g_@@_typeset_documentation_bool +\bool_gset_true:N \g_@@_typeset_implementation_bool % \end{macrocode} % \end{variable} % @@ -1531,12 +1531,23 @@ and all files in that bundle must be distributed together. % \begin{macrocode} \bool_if:NT \g_@@_lmodern_bool { - \RequirePackage[T1]{fontenc} - \RequirePackage{lmodern} - \group_begin: - \ttfamily - \DeclareFontShape{T1}{lmtt}{m}{it}{<->ec-lmtto10}{} - \group_end: + \bool_lazy_or:nnTF + { \sys_if_engine_luatex_p: }{ \sys_if_engine_xetex_p: } + { + \group_begin: + \ttfamily + \DeclareFontShape{TU}{lmtt}{m}{it} + {<-> \UnicodeFontFile{lmmonoslant10-regular}{}}{} + \group_end: + } + { + \RequirePackage[T1]{fontenc} + \RequirePackage{lmodern} + \group_begin: + \ttfamily + \DeclareFontShape{T1}{lmtt}{m}{it}{<->ec-lmtto10}{} + \group_end: + } } % \end{macrocode} % @@ -3723,7 +3734,7 @@ and all files in that bundle must be distributed together. { \clist_map_inline:nn {#1} { - \clist_put_right:Nn \g_docinput_clist {##1} + \clist_gput_right:Nn \g_docinput_clist {##1} \@@_input:n {##1} } } @@ -3848,7 +3859,7 @@ and all files in that bundle must be distributed together. { MMMMV - \filesep \int_use:N \c@CodelineNo } } } -\tl_gclear:N \filesep +\tl_clear_new:N \filesep \cs_new_protected:Npn \@@_index_page_hc:nn #1#2 { \protected@write \@indexfile {} diff --git a/macros/latex-dev/required/l3kernel/l3doc.pdf b/macros/latex-dev/required/l3kernel/l3doc.pdf Binary files differindex 71c30326ad..a1a481dd53 100644 --- a/macros/latex-dev/required/l3kernel/l3doc.pdf +++ b/macros/latex-dev/required/l3kernel/l3doc.pdf diff --git a/macros/latex-dev/required/l3kernel/l3docstrip.dtx b/macros/latex-dev/required/l3kernel/l3docstrip.dtx index c7664dbcce..2e9ec391f7 100644 --- a/macros/latex-dev/required/l3kernel/l3docstrip.dtx +++ b/macros/latex-dev/required/l3kernel/l3docstrip.dtx @@ -63,7 +63,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3docstrip.pdf b/macros/latex-dev/required/l3kernel/l3docstrip.pdf Binary files differindex bdd6de971b..3ee0d971b8 100644 --- a/macros/latex-dev/required/l3kernel/l3docstrip.pdf +++ b/macros/latex-dev/required/l3kernel/l3docstrip.pdf diff --git a/macros/latex-dev/required/l3kernel/l3expan.dtx b/macros/latex-dev/required/l3kernel/l3expan.dtx index 376d19bf7e..b0594f257a 100644 --- a/macros/latex-dev/required/l3kernel/l3expan.dtx +++ b/macros/latex-dev/required/l3kernel/l3expan.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3file.dtx b/macros/latex-dev/required/l3kernel/l3file.dtx index b08d59abce..28edeaef10 100644 --- a/macros/latex-dev/required/l3kernel/l3file.dtx +++ b/macros/latex-dev/required/l3kernel/l3file.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % @@ -226,7 +226,7 @@ % \begin{function}[noTF, added = 2012-06-24, updated = 2019-03-23]{\ior_get:NN} % \begin{syntax} % \cs{ior_get:NN} \meta{stream} \meta{token list variable} -% \cs{ior_get:NNTF} \meta{stream} \meta{token list variable} \meta{true code} \meta{false code} +% \cs{ior_get:NNTF} \meta{stream} \meta{token list variable} \Arg{true code} \Arg{false code} % \end{syntax} % Function that reads one or more lines (until an equal number of left % and right braces are found) from the file input \meta{stream} and stores @@ -268,7 +268,7 @@ % {\ior_str_get:NN} % \begin{syntax} % \cs{ior_str_get:NN} \meta{stream} \meta{token list variable} -% \cs{ior_str_get:NNTF} \meta{stream} \meta{token list variable} \meta{true code} \meta{false code} +% \cs{ior_str_get:NNTF} \meta{stream} \meta{token list variable} \Arg{true code} \Arg{false code} % \end{syntax} % Function that reads one line from the file input \meta{stream} and stores % the result locally in the \meta{token list} variable. @@ -867,8 +867,8 @@ % \begin{function}[noTF, updated = 2019-02-16] % {\file_get_full_name:nN, \file_get_full_name:VN} % \begin{syntax} -% \cs{file_get_full_name:nN} \Arg{file name} \meta{tl} -% \cs{file_get_full_name:nNTF} \Arg{file name} \meta{tl} \Arg{true code} \Arg{false code} +% \cs{file_get_full_name:nN} \Arg{file name} \meta{tl var} +% \cs{file_get_full_name:nNTF} \Arg{file name} \meta{tl var} \Arg{true code} \Arg{false code} % \end{syntax} % Searches for \meta{file name} in the path as detailed for % \cs{file_if_exist:nTF}, and if found sets the \meta{tl var} the @@ -943,15 +943,15 @@ % \begin{function}[noTF, added = 2019-01-16, updated = 2019-02-16] % {\file_get:nnN, \file_get:VnN} % \begin{syntax} -% \cs{file_get:nnN} \Arg{file name} \Arg{setup} \meta{tl} -% \cs{file_get:nnNTF} \Arg{file name} \Arg{setup} \meta{tl} \Arg{true code} \Arg{false code} +% \cs{file_get:nnN} \Arg{file name} \Arg{setup} \meta{tl var} +% \cs{file_get:nnNTF} \Arg{file name} \Arg{setup} \meta{tl var} \Arg{true code} \Arg{false code} % \end{syntax} -% Defines \meta{tl} to the contents of \meta{file name}. +% Defines \meta{tl var} to the contents of \meta{file name}. % Category codes may need to be set appropriately via the \meta{setup} % argument. -% The non-branching version sets the \meta{tl} to \cs{q_no_value} if the file is +% The non-branching version sets the \meta{tl var} to \cs{q_no_value} if the file is % not found. The branching version runs the \meta{true code} after the -% assignment to \meta{tl} if the file is found, and \meta{false code} +% assignment to \meta{tl var} if the file is found, and \meta{false code} % otherwise. The file content will be tokenized using the current % category code régime, % \end{function} diff --git a/macros/latex-dev/required/l3kernel/l3flag.dtx b/macros/latex-dev/required/l3kernel/l3flag.dtx index 5b1794b3ad..775491f1bf 100644 --- a/macros/latex-dev/required/l3kernel/l3flag.dtx +++ b/macros/latex-dev/required/l3kernel/l3flag.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3fp-assign.dtx b/macros/latex-dev/required/l3kernel/l3fp-assign.dtx index e7a618d598..76f38f2b46 100644 --- a/macros/latex-dev/required/l3kernel/l3fp-assign.dtx +++ b/macros/latex-dev/required/l3kernel/l3fp-assign.dtx @@ -42,7 +42,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % \maketitle % % \begin{documentation} diff --git a/macros/latex-dev/required/l3kernel/l3fp-aux.dtx b/macros/latex-dev/required/l3kernel/l3fp-aux.dtx index aeab995210..ee289af1c7 100644 --- a/macros/latex-dev/required/l3kernel/l3fp-aux.dtx +++ b/macros/latex-dev/required/l3kernel/l3fp-aux.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3fp-basics.dtx b/macros/latex-dev/required/l3kernel/l3fp-basics.dtx index 9056f9e3ff..dd85aa04d8 100644 --- a/macros/latex-dev/required/l3kernel/l3fp-basics.dtx +++ b/macros/latex-dev/required/l3kernel/l3fp-basics.dtx @@ -42,7 +42,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3fp-convert.dtx b/macros/latex-dev/required/l3kernel/l3fp-convert.dtx index cc0112bf03..97f258b947 100644 --- a/macros/latex-dev/required/l3kernel/l3fp-convert.dtx +++ b/macros/latex-dev/required/l3kernel/l3fp-convert.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3fp-expo.dtx b/macros/latex-dev/required/l3kernel/l3fp-expo.dtx index 4ef3b85c07..a498efc013 100644 --- a/macros/latex-dev/required/l3kernel/l3fp-expo.dtx +++ b/macros/latex-dev/required/l3kernel/l3fp-expo.dtx @@ -42,7 +42,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3fp-extended.dtx b/macros/latex-dev/required/l3kernel/l3fp-extended.dtx index 4ebbbb3f09..d8fdf2b170 100644 --- a/macros/latex-dev/required/l3kernel/l3fp-extended.dtx +++ b/macros/latex-dev/required/l3kernel/l3fp-extended.dtx @@ -42,7 +42,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3fp-functions.dtx b/macros/latex-dev/required/l3kernel/l3fp-functions.dtx index 13753cbde4..304722a3a9 100644 --- a/macros/latex-dev/required/l3kernel/l3fp-functions.dtx +++ b/macros/latex-dev/required/l3kernel/l3fp-functions.dtx @@ -42,7 +42,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3fp-logic.dtx b/macros/latex-dev/required/l3kernel/l3fp-logic.dtx index 0ab92fb5ff..13fd15a7f8 100644 --- a/macros/latex-dev/required/l3kernel/l3fp-logic.dtx +++ b/macros/latex-dev/required/l3kernel/l3fp-logic.dtx @@ -42,7 +42,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3fp-parse.dtx b/macros/latex-dev/required/l3kernel/l3fp-parse.dtx index fb9a07fbec..60970b5dab 100644 --- a/macros/latex-dev/required/l3kernel/l3fp-parse.dtx +++ b/macros/latex-dev/required/l3kernel/l3fp-parse.dtx @@ -42,7 +42,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3fp-random.dtx b/macros/latex-dev/required/l3kernel/l3fp-random.dtx index 7832c58792..b9d14dc7bc 100644 --- a/macros/latex-dev/required/l3kernel/l3fp-random.dtx +++ b/macros/latex-dev/required/l3kernel/l3fp-random.dtx @@ -42,7 +42,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3fp-round.dtx b/macros/latex-dev/required/l3kernel/l3fp-round.dtx index 1ea74e51dd..f03e8a5390 100644 --- a/macros/latex-dev/required/l3kernel/l3fp-round.dtx +++ b/macros/latex-dev/required/l3kernel/l3fp-round.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3fp-symbolic.dtx b/macros/latex-dev/required/l3kernel/l3fp-symbolic.dtx index cb3e2e2655..dd36b5c1a2 100644 --- a/macros/latex-dev/required/l3kernel/l3fp-symbolic.dtx +++ b/macros/latex-dev/required/l3kernel/l3fp-symbolic.dtx @@ -42,7 +42,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3fp-traps.dtx b/macros/latex-dev/required/l3kernel/l3fp-traps.dtx index b73d27a304..8a73e5a34f 100644 --- a/macros/latex-dev/required/l3kernel/l3fp-traps.dtx +++ b/macros/latex-dev/required/l3kernel/l3fp-traps.dtx @@ -42,7 +42,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % \maketitle % % \begin{documentation} diff --git a/macros/latex-dev/required/l3kernel/l3fp-trig.dtx b/macros/latex-dev/required/l3kernel/l3fp-trig.dtx index d9c9db6071..bd3b35788d 100644 --- a/macros/latex-dev/required/l3kernel/l3fp-trig.dtx +++ b/macros/latex-dev/required/l3kernel/l3fp-trig.dtx @@ -42,7 +42,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3fp-types.dtx b/macros/latex-dev/required/l3kernel/l3fp-types.dtx index 4e0d024d4f..502f445c38 100644 --- a/macros/latex-dev/required/l3kernel/l3fp-types.dtx +++ b/macros/latex-dev/required/l3kernel/l3fp-types.dtx @@ -42,7 +42,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3fp.dtx b/macros/latex-dev/required/l3kernel/l3fp.dtx index ef02d0f816..2106b7f5a5 100644 --- a/macros/latex-dev/required/l3kernel/l3fp.dtx +++ b/macros/latex-dev/required/l3kernel/l3fp.dtx @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % @@ -108,7 +108,7 @@ % towards $+\infty$ if $t>0$ and towards $-\infty$ if $t<0$. % \end{itemize} % And \emph{(not yet)} modulo, and \enquote{quantize}. -% \item Random numbers: $\mathop{rand}()$, $\mathop{randint}(m,n)$. +% \item Random numbers: $\operatorname{rand}()$, $\operatorname{randint}(m,n)$. % \item Constants: \texttt{pi}, \texttt{deg} (one degree in radians). % \item Dimensions, automatically expressed in points, \emph{e.g.}, % \texttt{pc} is~$12$. @@ -904,7 +904,6 @@ % the \TeX{} run and display some information about the current % operation in the terminal. % \end{itemize} -% \emph{This function is experimental, and may be altered or removed.} % \end{function} % % \begin{variable} diff --git a/macros/latex-dev/required/l3kernel/l3fparray.dtx b/macros/latex-dev/required/l3kernel/l3fparray.dtx index 8ce29ecaf8..3f13178714 100644 --- a/macros/latex-dev/required/l3kernel/l3fparray.dtx +++ b/macros/latex-dev/required/l3kernel/l3fparray.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3int.dtx b/macros/latex-dev/required/l3kernel/l3int.dtx index 0d9b0137de..4c338a1115 100644 --- a/macros/latex-dev/required/l3kernel/l3int.dtx +++ b/macros/latex-dev/required/l3kernel/l3int.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % @@ -262,11 +262,11 @@ % \begin{function}[EXP, pTF, added=2012-03-03] % {\int_if_exist:N, \int_if_exist:c} % \begin{syntax} -% \cs{int_if_exist_p:N} \meta{int} -% \cs{int_if_exist:NTF} \meta{int} \Arg{true code} \Arg{false code} +% \cs{int_if_exist_p:N} \meta{integer} +% \cs{int_if_exist:NTF} \meta{integer} \Arg{true code} \Arg{false code} % \end{syntax} -% Tests whether the \meta{int} is currently defined. This does not -% check that the \meta{int} really is an integer variable. +% Tests whether the \meta{integer} is currently defined. This does not +% check that the \meta{integer} really is an integer variable. % \end{function} % % \section{Setting and incrementing integers} diff --git a/macros/latex-dev/required/l3kernel/l3intarray.dtx b/macros/latex-dev/required/l3kernel/l3intarray.dtx index 0320579e94..5735714486 100644 --- a/macros/latex-dev/required/l3kernel/l3intarray.dtx +++ b/macros/latex-dev/required/l3kernel/l3intarray.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % @@ -79,7 +79,7 @@ % \begin{function}[added = 2018-05-04] % {\intarray_const_from_clist:Nn, \intarray_const_from_clist:cn} % \begin{syntax} -% \cs{intarray_const_from_clist:Nn} \meta{intarray~var} \meta{int expr clist} +% \cs{intarray_const_from_clist:Nn} \meta{intarray~var} \Arg{int expr clist} % \end{syntax} % Creates a new constant \meta{integer array variable} or raises an % error if the name is already taken. The \meta{integer array diff --git a/macros/latex-dev/required/l3kernel/l3kernel-functions.dtx b/macros/latex-dev/required/l3kernel/l3kernel-functions.dtx index ab12634783..5b1ef8d23c 100644 --- a/macros/latex-dev/required/l3kernel/l3kernel-functions.dtx +++ b/macros/latex-dev/required/l3kernel/l3kernel-functions.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3keys.dtx b/macros/latex-dev/required/l3kernel/l3keys.dtx index 4535a6e845..0a808ac1b8 100644 --- a/macros/latex-dev/required/l3kernel/l3keys.dtx +++ b/macros/latex-dev/required/l3kernel/l3keys.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3legacy.dtx b/macros/latex-dev/required/l3kernel/l3legacy.dtx index 06827eb5db..5587fbe54f 100644 --- a/macros/latex-dev/required/l3kernel/l3legacy.dtx +++ b/macros/latex-dev/required/l3kernel/l3legacy.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3luatex.dtx b/macros/latex-dev/required/l3kernel/l3luatex.dtx index 9c1cabc9bd..e61de43c59 100644 --- a/macros/latex-dev/required/l3kernel/l3luatex.dtx +++ b/macros/latex-dev/required/l3kernel/l3luatex.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3msg.dtx b/macros/latex-dev/required/l3kernel/l3msg.dtx index 5d1d0a5bec..47fcf97b7f 100644 --- a/macros/latex-dev/required/l3kernel/l3msg.dtx +++ b/macros/latex-dev/required/l3kernel/l3msg.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3names.dtx b/macros/latex-dev/required/l3kernel/l3names.dtx index 7dec3ca091..a380d2e4cf 100644 --- a/macros/latex-dev/required/l3kernel/l3names.dtx +++ b/macros/latex-dev/required/l3kernel/l3names.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % @@ -580,7 +580,6 @@ \@@_primitive:NN \pdfoutline \tex_pdfoutline:D \@@_primitive:NN \pdfoutput \tex_pdfoutput:D \@@_primitive:NN \pdfpageattr \tex_pdfpageattr:D - \@@_primitive:NN \pdfpagesattr \tex_pdfpagesattr:D \@@_primitive:NN \pdfpagebox \tex_pdfpagebox:D \@@_primitive:NN \pdfpageref \tex_pdfpageref:D \@@_primitive:NN \pdfpageresources \tex_pdfpageresources:D @@ -1242,13 +1241,11 @@ % \end{macrocode} % Primitives from \upTeX{}. % \begin{macrocode} - \@@_primitive:NN \currentcjktoken \tex_currentcjktoken:D \@@_primitive:NN \disablecjktoken \tex_disablecjktoken:D \@@_primitive:NN \enablecjktoken \tex_enablecjktoken:D \@@_primitive:NN \forcecjktoken \tex_forcecjktoken:D \@@_primitive:NN \kchar \tex_kchar:D \@@_primitive:NN \kchardef \tex_kchardef:D - \@@_primitive:NN \kuten \tex_kuten:D \@@_primitive:NN \uptexrevision \tex_uptexrevision:D \@@_primitive:NN \uptexversion \tex_uptexversion:D % \end{macrocode} diff --git a/macros/latex-dev/required/l3kernel/l3news.pdf b/macros/latex-dev/required/l3kernel/l3news.pdf Binary files differindex 67357d3ca7..b7687ae7b8 100644 --- a/macros/latex-dev/required/l3kernel/l3news.pdf +++ b/macros/latex-dev/required/l3kernel/l3news.pdf diff --git a/macros/latex-dev/required/l3kernel/l3news01.pdf b/macros/latex-dev/required/l3kernel/l3news01.pdf Binary files differindex 294e75b55f..f553099ad8 100644 --- a/macros/latex-dev/required/l3kernel/l3news01.pdf +++ b/macros/latex-dev/required/l3kernel/l3news01.pdf diff --git a/macros/latex-dev/required/l3kernel/l3news02.pdf b/macros/latex-dev/required/l3kernel/l3news02.pdf Binary files differindex 521ec3c1f1..884d8e17d1 100644 --- a/macros/latex-dev/required/l3kernel/l3news02.pdf +++ b/macros/latex-dev/required/l3kernel/l3news02.pdf diff --git a/macros/latex-dev/required/l3kernel/l3news03.pdf b/macros/latex-dev/required/l3kernel/l3news03.pdf Binary files differindex c0fa44acf0..9b8fc44928 100644 --- a/macros/latex-dev/required/l3kernel/l3news03.pdf +++ b/macros/latex-dev/required/l3kernel/l3news03.pdf diff --git a/macros/latex-dev/required/l3kernel/l3news04.pdf b/macros/latex-dev/required/l3kernel/l3news04.pdf Binary files differindex 90e38afc4b..ab4a27d836 100644 --- a/macros/latex-dev/required/l3kernel/l3news04.pdf +++ b/macros/latex-dev/required/l3kernel/l3news04.pdf diff --git a/macros/latex-dev/required/l3kernel/l3news05.pdf b/macros/latex-dev/required/l3kernel/l3news05.pdf Binary files differindex 5c221e067f..78256c119e 100644 --- a/macros/latex-dev/required/l3kernel/l3news05.pdf +++ b/macros/latex-dev/required/l3kernel/l3news05.pdf diff --git a/macros/latex-dev/required/l3kernel/l3news06.pdf b/macros/latex-dev/required/l3kernel/l3news06.pdf Binary files differindex 64028db3f0..82ad6b3f1d 100644 --- a/macros/latex-dev/required/l3kernel/l3news06.pdf +++ b/macros/latex-dev/required/l3kernel/l3news06.pdf diff --git a/macros/latex-dev/required/l3kernel/l3news07.pdf b/macros/latex-dev/required/l3kernel/l3news07.pdf Binary files differindex 015e68873b..1d634087eb 100644 --- a/macros/latex-dev/required/l3kernel/l3news07.pdf +++ b/macros/latex-dev/required/l3kernel/l3news07.pdf diff --git a/macros/latex-dev/required/l3kernel/l3news08.pdf b/macros/latex-dev/required/l3kernel/l3news08.pdf Binary files differindex 2b97620485..6fa7092bf0 100644 --- a/macros/latex-dev/required/l3kernel/l3news08.pdf +++ b/macros/latex-dev/required/l3kernel/l3news08.pdf diff --git a/macros/latex-dev/required/l3kernel/l3news09.pdf b/macros/latex-dev/required/l3kernel/l3news09.pdf Binary files differindex f9fb62b930..5eadf60d60 100644 --- a/macros/latex-dev/required/l3kernel/l3news09.pdf +++ b/macros/latex-dev/required/l3kernel/l3news09.pdf diff --git a/macros/latex-dev/required/l3kernel/l3news10.pdf b/macros/latex-dev/required/l3kernel/l3news10.pdf Binary files differindex edb54effc4..997d3013ce 100644 --- a/macros/latex-dev/required/l3kernel/l3news10.pdf +++ b/macros/latex-dev/required/l3kernel/l3news10.pdf diff --git a/macros/latex-dev/required/l3kernel/l3news11.pdf b/macros/latex-dev/required/l3kernel/l3news11.pdf Binary files differindex 794a1b4a13..02c52496ed 100644 --- a/macros/latex-dev/required/l3kernel/l3news11.pdf +++ b/macros/latex-dev/required/l3kernel/l3news11.pdf diff --git a/macros/latex-dev/required/l3kernel/l3news12.pdf b/macros/latex-dev/required/l3kernel/l3news12.pdf Binary files differindex 3579fa74c2..772d827260 100644 --- a/macros/latex-dev/required/l3kernel/l3news12.pdf +++ b/macros/latex-dev/required/l3kernel/l3news12.pdf diff --git a/macros/latex-dev/required/l3kernel/l3pdf.dtx b/macros/latex-dev/required/l3kernel/l3pdf.dtx index 4d90b326cf..c5884854ab 100644 --- a/macros/latex-dev/required/l3kernel/l3pdf.dtx +++ b/macros/latex-dev/required/l3kernel/l3pdf.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3prefixes.csv b/macros/latex-dev/required/l3kernel/l3prefixes.csv index 11cfeb08f4..e9835fb3f0 100644 --- a/macros/latex-dev/required/l3kernel/l3prefixes.csv +++ b/macros/latex-dev/required/l3kernel/l3prefixes.csv @@ -134,6 +134,7 @@ job,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https:/ jsonparse,jsonparse,Jasper Habicht,https://github.com/jasperhabicht/jsonparse,https://github.com/jasperhabicht/jsonparse/jsponsparse.git,https://github.com/jasperhabicht/jsonparse/issues,2024-04-14,2024-04-14, kernel,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27, keys,"l3kernel,l3keys2e,ltkeys",The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27, +keythms,keytheorems,Matthew Bertucci,https://github.com/mbertucci47/keytheorems,https://github.com/mbertucci47/keytheorems,https://github.com/mbertucci47/keytheorems/issues,2024-09-10,2024-09-10, keyval,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27, kgl,kantlipsum,Enrico Gregorio,,,,2013-03-16,2013-03-16, kivitendo,"kiviletter, kivitables",Marei Peischl for Kivitendo,https://www.kivitendo.de/,https://github.com/kivitendo/kivitendo-erp,https://forum.kivitendo.de/,2021-05-28,2021-05-28, @@ -205,7 +206,7 @@ piton,piton,François Pantigny,,,,29/09/2022,29/09/2022, pkgploader,pkgploader,Michiel Helvensteijn,,,,2014-02-05,2014-02-05, platex,platex,Japanese TeX Development Community,https://github.com/texjporg/platex,https://github.com/texjporg/platex.git,https://github.com/texjporg/platex/issues,2020-09-30,2020-09-30, polyglossia,polyglossia,Arthur Reutenauer,https://www.polyglossia.org/,https://github.com/reutenauer/polyglossia,https://github.com/reutenauer/polyglossia/issues,2019-09-03,, -polyomino,polyomino,Matthias Floré,,,,2024-09-05,2024-09-05 +polyomino,polyomino,Matthias Floré,,,,2024-09-05,2024-09-05, postnotes,postnotes,gusbrs,https://github.com/gusbrs/postnotes,https://github.com/gusbrs/postnotes.git,https://github.com/gusbrs/postnotes/issues,2022-04-23,2022-04-23, prelim,prelim2e,Marei Peischl,https://github.com/TeXhackse/prelim2e,https://github.com/TeXhackse/prelim2e.git,https://github.com/TeXhackse/prelim2e/issues,2020-11-24,2020-11-24, prg,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27, diff --git a/macros/latex-dev/required/l3kernel/l3prefixes.pdf b/macros/latex-dev/required/l3kernel/l3prefixes.pdf Binary files differindex 725c43b53b..f05bb05e98 100644 --- a/macros/latex-dev/required/l3kernel/l3prefixes.pdf +++ b/macros/latex-dev/required/l3kernel/l3prefixes.pdf diff --git a/macros/latex-dev/required/l3kernel/l3prg.dtx b/macros/latex-dev/required/l3kernel/l3prg.dtx index a5d6db8455..31b676736b 100644 --- a/macros/latex-dev/required/l3kernel/l3prg.dtx +++ b/macros/latex-dev/required/l3kernel/l3prg.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3prop.dtx b/macros/latex-dev/required/l3kernel/l3prop.dtx index 7a0e76cc54..0a0d8de12e 100644 --- a/macros/latex-dev/required/l3kernel/l3prop.dtx +++ b/macros/latex-dev/required/l3kernel/l3prop.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3quark.dtx b/macros/latex-dev/required/l3kernel/l3quark.dtx index 409efd6b7b..f365ac2357 100644 --- a/macros/latex-dev/required/l3kernel/l3quark.dtx +++ b/macros/latex-dev/required/l3kernel/l3quark.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3regex.dtx b/macros/latex-dev/required/l3kernel/l3regex.dtx index cad8961101..933993f4eb 100644 --- a/macros/latex-dev/required/l3kernel/l3regex.dtx +++ b/macros/latex-dev/required/l3kernel/l3regex.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3seq.dtx b/macros/latex-dev/required/l3kernel/l3seq.dtx index f998531c34..e747c98769 100644 --- a/macros/latex-dev/required/l3kernel/l3seq.dtx +++ b/macros/latex-dev/required/l3kernel/l3seq.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3skip.dtx b/macros/latex-dev/required/l3kernel/l3skip.dtx index 07ccb471fc..adbcf4dbcb 100644 --- a/macros/latex-dev/required/l3kernel/l3skip.dtx +++ b/macros/latex-dev/required/l3kernel/l3skip.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3sort.dtx b/macros/latex-dev/required/l3kernel/l3sort.dtx index 1d4580f640..9b446663ca 100644 --- a/macros/latex-dev/required/l3kernel/l3sort.dtx +++ b/macros/latex-dev/required/l3kernel/l3sort.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3str-convert.dtx b/macros/latex-dev/required/l3kernel/l3str-convert.dtx index cde36b4e60..df31aa7037 100644 --- a/macros/latex-dev/required/l3kernel/l3str-convert.dtx +++ b/macros/latex-dev/required/l3kernel/l3str-convert.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % @@ -139,10 +139,10 @@ % % \begin{function}{\str_set_convert:Nnnn, \str_gset_convert:Nnnn} % \begin{syntax} -% \cs{str_set_convert:Nnnn} \meta{str~var} \Arg{string} \Arg{name~1} \Arg{name~2} +% \cs{str_set_convert:Nnnn} \meta{str~var} \Arg{string} \Arg{name_1} \Arg{name_2} % \end{syntax} % This function converts the \meta{string} from the encoding given by -% \meta{name~1} to the encoding given by \meta{name~2}, and stores the +% \meta{name_1} to the encoding given by \meta{name_2}, and stores the % result in the \meta{str~var}. Each \meta{name} can have the form % \meta{encoding} or \meta{encoding}\texttt{/}\meta{escaping}, where % the possible values of \meta{encoding} and \meta{escaping} are given @@ -177,14 +177,14 @@ % % \begin{function}[TF]{\str_set_convert:Nnnn, \str_gset_convert:Nnnn} % \begin{syntax} -% \cs{str_set_convert:NnnnTF} \meta{str~var} \Arg{string} \Arg{name~1} \Arg{name~2} \Arg{true code} \Arg{false code} +% \cs{str_set_convert:NnnnTF} \meta{str~var} \Arg{string} \Arg{name_1} \Arg{name_2} \Arg{true code} \Arg{false code} % \end{syntax} % As \cs{str_set_convert:Nnnn}, converts the \meta{string} from the -% encoding given by \meta{name~1} to the encoding given by -% \meta{name~2}, and assigns the result to \meta{str~var}. Contrarily +% encoding given by \meta{name_1} to the encoding given by +% \meta{name_2}, and assigns the result to \meta{str~var}. Contrarily % to \cs{str_set_convert:Nnnn}, the conditional variant does not raise % errors in case the \meta{string} is not valid according to the -% \meta{name~1} encoding, or cannot be expressed in the \meta{name~2} +% \meta{name_1} encoding, or cannot be expressed in the \meta{name_2} % encoding. Instead, the \meta{false code} is performed. % \end{function} % @@ -195,7 +195,7 @@ % % \begin{function}[EXP]{\str_convert_pdfname:n} % \begin{syntax} -% \cs{str_convert_pdfname:n} \meta{string} +% \cs{str_convert_pdfname:n} \Arg{string} % \end{syntax} % As \cs{str_set_convert:Nnnn}, converts the \meta{string} on a byte-by-byte % basis with non-ASCII codepoints escaped using hashes. diff --git a/macros/latex-dev/required/l3kernel/l3str.dtx b/macros/latex-dev/required/l3kernel/l3str.dtx index 8ac612d1b6..b1d6bdf421 100644 --- a/macros/latex-dev/required/l3kernel/l3str.dtx +++ b/macros/latex-dev/required/l3kernel/l3str.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % @@ -558,7 +558,7 @@ % \end{function} % % \begin{function}[EXP, added = 2015-09-18] -% {\str_item:Nn, \str_item:nn, \str_item_ignore_spaces:nn} +% {\str_item:Nn, \str_item:cn, \str_item:nn, \str_item_ignore_spaces:nn} % \begin{syntax} % \cs{str_item:nn} \Arg{token list} \Arg{integer expression} % \end{syntax} @@ -790,7 +790,7 @@ % \end{quote} % The folding approach implemented by \cs{str_casefold:n} follows the % \enquote{full} scheme defined by the Unicode Consortium -% (\emph{e.g.}~\SS folds to \texttt{SS}). As case-folding is +% (\emph{e.g.}~\SS{} folds to \texttt{SS}). As case-folding is % a language-insensitive process, there is no special treatment of % Turkic input (\emph{i.e.}~\texttt{I} always folds to \texttt{i} and % not to \texttt{\i}). @@ -798,9 +798,9 @@ % % \begin{function}[added = 2023-05-19, EXP]{\str_mdfive_hash:n, \str_mdfive_hash:e} % \begin{syntax} -% \cs{str_mdfive_hash:n} \Arg{tl} +% \cs{str_mdfive_hash:n} \Arg{tokens} % \end{syntax} -% Expands to the MD5 sum generated from the \meta{tl}, which is converted +% Expands to the MD5 sum generated from the \meta{tokens}, which is converted % to a \meta{string} as described for \cs{tl_to_str:n}. % \end{function} % diff --git a/macros/latex-dev/required/l3kernel/l3styleguide.pdf b/macros/latex-dev/required/l3kernel/l3styleguide.pdf Binary files differindex e283bd363d..32a19ca631 100644 --- a/macros/latex-dev/required/l3kernel/l3styleguide.pdf +++ b/macros/latex-dev/required/l3kernel/l3styleguide.pdf diff --git a/macros/latex-dev/required/l3kernel/l3styleguide.tex b/macros/latex-dev/required/l3kernel/l3styleguide.tex index 46c5109535..b06b2e2cf4 100644 --- a/macros/latex-dev/required/l3kernel/l3styleguide.tex +++ b/macros/latex-dev/required/l3kernel/l3styleguide.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2024-09-10} +\date{Released 2024-10-09} \begin{document} diff --git a/macros/latex-dev/required/l3kernel/l3syntax-changes.pdf b/macros/latex-dev/required/l3kernel/l3syntax-changes.pdf Binary files differindex 79d4f5f76c..8c5a764f20 100644 --- a/macros/latex-dev/required/l3kernel/l3syntax-changes.pdf +++ b/macros/latex-dev/required/l3kernel/l3syntax-changes.pdf diff --git a/macros/latex-dev/required/l3kernel/l3syntax-changes.tex b/macros/latex-dev/required/l3kernel/l3syntax-changes.tex index 3e3da5f95e..6a158dff0e 100644 --- a/macros/latex-dev/required/l3kernel/l3syntax-changes.tex +++ b/macros/latex-dev/required/l3kernel/l3syntax-changes.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2024-09-10} +\date{Released 2024-10-09} \newcommand{\TF}{\textit{(TF)}} diff --git a/macros/latex-dev/required/l3kernel/l3sys.dtx b/macros/latex-dev/required/l3kernel/l3sys.dtx index 0fcfa9f915..83444c8707 100644 --- a/macros/latex-dev/required/l3kernel/l3sys.dtx +++ b/macros/latex-dev/required/l3kernel/l3sys.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % @@ -336,9 +336,9 @@ % \begin{function}[added = 2024-03-08, updated = 2024-04-08] % {\sys_get_query:nN, \sys_get_query:nnN, \sys_get_query:nnnN} % \begin{syntax} -% \cs{sys_get_query:nN} \Arg{cmd} \Arg{tl var} -% \cs{sys_get_query:nnN} \Arg{cmd} \Arg{spec} \Arg{tl var} -% \cs{sys_get_query:nnnN} \Arg{cmd} \Arg{options} \Arg{spec} \Arg{tl var} +% \cs{sys_get_query:nN} \Arg{cmd} \meta{tl var} +% \cs{sys_get_query:nnN} \Arg{cmd} \Arg{spec} \meta{tl var} +% \cs{sys_get_query:nnnN} \Arg{cmd} \Arg{options} \Arg{spec} \meta{tl var} % \end{syntax} % Sets the \meta{tl var} to the information returned by the % \texttt{l3sys-query} \meta{cmd}, potentially supplying the \meta{options} @@ -374,11 +374,11 @@ % \begin{function}[added = 2024-03-08] % {\sys_split_query:nN, \sys_split_query:nnN, \sys_split_query:nnnN} % \begin{syntax} -% \cs{sys_split_query:nN} \Arg{cmd} \Arg{seq} -% \cs{sys_split_query:nnN} \Arg{cmd} \Arg{spec} \Arg{seq} -% \cs{sys_split_query:nnnN} \Arg{cmd} \Arg{options} \Arg{spec} \Arg{seq} +% \cs{sys_split_query:nN} \Arg{cmd} \meta{seq var} +% \cs{sys_split_query:nnN} \Arg{cmd} \Arg{spec} \meta{seq var} +% \cs{sys_split_query:nnnN} \Arg{cmd} \Arg{options} \Arg{spec} \meta{seq var} % \end{syntax} -% Works as described for \cs{sys_split_query:nnnN}, but sets the \meta{seq} +% Works as described for \cs{sys_split_query:nnnN}, but sets the \meta{seq var} % to contain one entry for each line returned by \texttt{l3sys-query}. % This function should therefore be preferred where multi-line return is % expected, e.g.~for the \texttt{ls} command. @@ -1030,7 +1030,7 @@ end % \begin{variable}{\c_sys_timestamp_str} % A simple expansion: Lua\TeX{} chokes if we use \tn{pdffeedback} here, % hence the direct use of Lua. Notice that the function there is in the -% \texttt{pdf} library but isn actually tied to PDF. +% \texttt{pdf} library but isn't actually tied to PDF. % \begin{macrocode} \@@_everyjob:n { diff --git a/macros/latex-dev/required/l3kernel/l3term-glossary.pdf b/macros/latex-dev/required/l3kernel/l3term-glossary.pdf Binary files differindex da80575d10..cea4b2eeb7 100644 --- a/macros/latex-dev/required/l3kernel/l3term-glossary.pdf +++ b/macros/latex-dev/required/l3kernel/l3term-glossary.pdf diff --git a/macros/latex-dev/required/l3kernel/l3term-glossary.tex b/macros/latex-dev/required/l3kernel/l3term-glossary.tex index 6432d71c88..11088e513b 100644 --- a/macros/latex-dev/required/l3kernel/l3term-glossary.tex +++ b/macros/latex-dev/required/l3kernel/l3term-glossary.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2024-09-10} +\date{Released 2024-10-09} \newcommand{\TF}{\textit{(TF)}} diff --git a/macros/latex-dev/required/l3kernel/l3text-case.dtx b/macros/latex-dev/required/l3kernel/l3text-case.dtx index 60b92198b5..6489f2aec5 100644 --- a/macros/latex-dev/required/l3kernel/l3text-case.dtx +++ b/macros/latex-dev/required/l3kernel/l3text-case.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3text-map.dtx b/macros/latex-dev/required/l3kernel/l3text-map.dtx index ed95ff2d34..d70d82ff33 100644 --- a/macros/latex-dev/required/l3kernel/l3text-map.dtx +++ b/macros/latex-dev/required/l3kernel/l3text-map.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3text-purify.dtx b/macros/latex-dev/required/l3kernel/l3text-purify.dtx index f568063a21..33ebcb906a 100644 --- a/macros/latex-dev/required/l3kernel/l3text-purify.dtx +++ b/macros/latex-dev/required/l3kernel/l3text-purify.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3text.dtx b/macros/latex-dev/required/l3kernel/l3text.dtx index 3f771d3137..057ade84a1 100644 --- a/macros/latex-dev/required/l3kernel/l3text.dtx +++ b/macros/latex-dev/required/l3kernel/l3text.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % @@ -214,8 +214,9 @@ % \text_declare_uppercase_mapping:nnn % } % \begin{syntax} -% \cs{text_declare_lowercase_mapping:nn} \Arg{codepoint} \Arg{replacement} -% \cs{text_declare_lowercase_mapping:nnn} \Arg{BCP-47} \Arg{codepoint} \Arg{replacement} +% \cs{text_declare_lowercase_mapping:nn} \Arg{codepoint} \Arg{replacement} +% \cs{text_declare_lowercase_mapping:nnn} \Arg{BCP-47} \Arg{codepoint} \\ +% ~~\Arg{replacement} % \end{syntax} % Declares that the \meta{replacement} tokens should be used when case mapping % the \meta{codepoint}, rather than the standard mapping given in the @@ -305,7 +306,7 @@ % % \begin{function}[rEXP, added = 2022-08-04]{\text_map_function:nN} % \begin{syntax} -% \cs{text_map_function:nN} \meta{text} \Arg{function} +% \cs{text_map_function:nN} \Arg{text} \meta{function} % \end{syntax} % Takes user input \meta{text} and expands as described for % \cs{text_expand:n}, then maps over the \emph{graphemes} within the @@ -323,7 +324,7 @@ % % \begin{function}[added = 2022-08-04]{\text_map_inline:nn} % \begin{syntax} -% \cs{text_map_inline:nn} \meta{text} \Arg{inline function} +% \cs{text_map_inline:nn} \Arg{text} \Arg{inline function} % \end{syntax} % Takes user input \meta{text} and expands as described for % \cs{text_expand:n}, then maps over the \emph{graphemes} within the diff --git a/macros/latex-dev/required/l3kernel/l3tl-analysis.dtx b/macros/latex-dev/required/l3kernel/l3tl-analysis.dtx index 4ae3f120d5..7484600b98 100644 --- a/macros/latex-dev/required/l3kernel/l3tl-analysis.dtx +++ b/macros/latex-dev/required/l3kernel/l3tl-analysis.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3tl-build.dtx b/macros/latex-dev/required/l3kernel/l3tl-build.dtx index e058e2be47..a081ba0b6a 100644 --- a/macros/latex-dev/required/l3kernel/l3tl-build.dtx +++ b/macros/latex-dev/required/l3kernel/l3tl-build.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3tl.dtx b/macros/latex-dev/required/l3kernel/l3tl.dtx index f6f0e19f66..47194bac4f 100644 --- a/macros/latex-dev/required/l3kernel/l3tl.dtx +++ b/macros/latex-dev/required/l3kernel/l3tl.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3token.dtx b/macros/latex-dev/required/l3kernel/l3token.dtx index 23b7e24b07..c504fc7534 100644 --- a/macros/latex-dev/required/l3kernel/l3token.dtx +++ b/macros/latex-dev/required/l3kernel/l3token.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/l3unicode.dtx b/macros/latex-dev/required/l3kernel/l3unicode.dtx index b824a1f0a0..6ab80c1bff 100644 --- a/macros/latex-dev/required/l3kernel/l3unicode.dtx +++ b/macros/latex-dev/required/l3kernel/l3unicode.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-09-10} +% \date{Released 2024-10-09} % % \maketitle % diff --git a/macros/latex-dev/required/l3kernel/source3.pdf b/macros/latex-dev/required/l3kernel/source3.pdf Binary files differindex 7aa5a99a26..85b7b95d38 100644 --- a/macros/latex-dev/required/l3kernel/source3.pdf +++ b/macros/latex-dev/required/l3kernel/source3.pdf diff --git a/macros/latex-dev/required/l3kernel/source3.tex b/macros/latex-dev/required/l3kernel/source3.tex index c8322135cc..587825c508 100644 --- a/macros/latex-dev/required/l3kernel/source3.tex +++ b/macros/latex-dev/required/l3kernel/source3.tex @@ -57,7 +57,7 @@ for those people who are interested. {latex-team@latex-project.org}% }% } -\date{Released 2024-09-10} +\date{Released 2024-10-09} \pagenumbering{roman} \maketitle diff --git a/macros/latex/contrib/easybook/README.md b/macros/latex/contrib/easybook/README.md index 6d6f3bee0c..96969e1ae9 100644 --- a/macros/latex/contrib/easybook/README.md +++ b/macros/latex/contrib/easybook/README.md @@ -1,5 +1,5 @@ # The `easybook` document class -Easily typesetting Chinese theses or books (v2024ef) +Easily typesetting Chinese theses or books (v2024eh) ## Abstract `easybook` is a pure academic template created based on the `ctexbook` book document class. It also has the functions of `book` and `article` document class. Combined with the general framework design of the theses of many universities in China, providing multiple commands and interfaces allows users to easily customize the theses templates. Its basic macro package `easybase` can also be used with `ctex` and standard document classes. diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx index 8f960d5c95..fa28ce89ae 100644 --- a/macros/latex/contrib/easybook/easybook.dtx +++ b/macros/latex/contrib/easybook/easybook.dtx @@ -14,7 +14,7 @@ % This work has the LPPL maintenance status `maintained'. %<class|package>\NeedsTeXFormat{LaTeX2e}[2021/11/15] %<*class> -\ProvidesExplClass{easybook}{2024/10/08}{2024ef} +\ProvidesExplClass{easybook}{2024/10/08}{2024eh} {Easily typesetting Chinese theses or books} \bool_new:N \l__eb_compile_draft_bool @@ -302,7 +302,7 @@ %</class> %<*package> \RequirePackage{etoolbox} -\ProvidesExplPackage{easybase}{2024/10/08}{2024ef} +\ProvidesExplPackage{easybase}{2024/10/08}{2024eh} {Easily typesetting Chinese theses or books} \cs_generate_variant:Nn \dim_set:Nn { NV } @@ -1708,7 +1708,12 @@ \tl_set:cn { ttll@#2 } {#1} } \contentsuse{lstlisting}{lol} -\cs_set:Npn \hytoclink #1 { \Hy@toclinkstart #1\Hy@toclinkend } +\ctex_at_end_package:nn { hyperref } + { + \cs_if_exist:NTF \Hy@toclinkstart + { \cs_set:Npn \hytoclink #1 { \Hy@toclinkstart #1\Hy@toclinkend } } + { \cs_set_eq:NN \hytoclink \use:n } + } \seq_put_left:Nn \c__ctex_headings_seq { chapter } \seq_put_right:Nn \c__ctex_headings_seq { table } \seq_put_right:Nn \c__ctex_headings_seq { figure } @@ -2891,7 +2896,7 @@ } %</package> %<*tcolorbox> -\ProvidesExplFile{eb-tcolorbox.cfg}{2024/10/08}{2024ef} +\ProvidesExplFile{eb-tcolorbox.cfg}{2024/10/08}{2024eh} {Customization of tcolorbox for easybook} \cs_set_protected:Npn \addtotcbstyle #1#2 diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf Binary files differindex 4d1f0b0974..c7b716c93e 100644 --- a/macros/latex/contrib/easybook/easybook.pdf +++ b/macros/latex/contrib/easybook/easybook.pdf diff --git a/macros/latex/contrib/easybook/easybook.tex b/macros/latex/contrib/easybook/easybook.tex index 1c8fe85a21..19b481d254 100644 --- a/macros/latex/contrib/easybook/easybook.tex +++ b/macros/latex/contrib/easybook/easybook.tex @@ -23,7 +23,7 @@ name = easybook, color-scheme = blue, title = EASYBOOK使用手册, - version = v2024ef, + version = v2024eh, date = 2024/10/08, authors = 瞿毅, info = 简便地排版中文学位论文或书籍, diff --git a/macros/latex/contrib/litetable/doc/litetable-cn.pdf b/macros/latex/contrib/litetable/doc/litetable-cn.pdf Binary files differindex ef997cdccc..a54163ad31 100644 --- a/macros/latex/contrib/litetable/doc/litetable-cn.pdf +++ b/macros/latex/contrib/litetable/doc/litetable-cn.pdf diff --git a/macros/latex/contrib/litetable/doc/litetable-cn.tex b/macros/latex/contrib/litetable/doc/litetable-cn.tex index 61bea4cb28..a38fb5b6dc 100644 --- a/macros/latex/contrib/litetable/doc/litetable-cn.tex +++ b/macros/latex/contrib/litetable/doc/litetable-cn.tex @@ -6,9 +6,9 @@ \hologoFontSetup{general = \sffamily} \FrameSep = 0pt \usepackage[fontset = none]{ctex} -\setCJKmainfont[BoldFont = *-Bold]{LXGW WenKai} -\setCJKsansfont[BoldFont = *-Bold]{LXGW WenKai} -\setCJKmonofont[BoldFont = *-Bold]{LXGW WenKai} +\setCJKmainfont[BoldFont = *-Medium]{LXGW WenKai} +\setCJKsansfont[BoldFont = *-Medium]{LXGW WenKai} +\setCJKmonofont[BoldFont = *-Medium]{LXGW WenKai Mono} \usepackage[os = mac]{menukeys} \AddToHook{env/function/before}{\vspace{-.3\baselineskip}} \AddToHook{env/syntax/after}{\vspace{-.2\baselineskip}} @@ -23,7 +23,7 @@ 夏明宇 \texttt{<\href{mailto:xiamyphys@gmail.com}{xiamyphys@gmail.com}>} \thanks{\href{https://github.com/ljguo1020}{郭李军}开发了读取 \meta{left} -> \meta{right} 型数据结构模块和低版本 \hologo{TeX} Live 兼容模块.} } -\date{Version 3.1B, \today} +\date{Version 3.1C, \today} \begin{document} @@ -31,7 +31,7 @@ \section{介绍} -\cls{litetable} 文档类提供了一个多彩的课程表设计,基于 \cls{article} 文档类,由 \pkg{expl3} 和 \pkg{tikz} 构建. 兼容发行版 \hologo{TeX} Live 2019 及更高版本,在 \hologo{pdfLaTeX} 和 \hologo{XeLaTeX} 编译器下均可正常运行. 本文档为 \cls{litetable} 文档类的中文用户手册,手册同时有\href{./litetable-en.pdf}{英文}和\href{./litetable-hk.pdf}{粤语}版本\footnote{\href{https://qm.qq.com/q/RyssAhG4qy}{QQ Group: 760570712}}. +\cls{litetable} 文档类提供了一个多彩的课程表设计,基于 \cls{article} 文档类,由 \pkg{expl3} 和 \pkg{tikz} 构建. 兼容发行版 \hologo{TeX} Live 2019 及更高版本,在 \hologo{pdfLaTeX} 和 \hologo{XeLaTeX} 编译器下均可正常运行. 本文档为 \cls{litetable} 文档类的中文用户手册,手册同时有 \href{./litetable-en.pdf}{英文} 和 \href{./litetable-hk.pdf}{粤语} 版本\footnote{\href{https://qm.qq.com/q/RyssAhG4qy}{QQ Group: 760570712}}. \section{载入 \cls{litetable} 并生成课程表框架} @@ -39,7 +39,7 @@ \begin{framed} \begin{verbatim} - \documentclass{litetable} + \documentclass {litetable} \end{verbatim} \end{framed} @@ -47,8 +47,8 @@ \begin{function}{\timelist,\weeklist} \begin{syntax} - \cs{timelist}\oarg{rows}\marg{time list} \cs{timelist}\marg{time list}\oarg{rows} - \cs{weeklist}\oarg{default weeks}\marg{week list} \cs{weeklist}\marg{week list}\oarg{default weeks} + \cs{timelist} \oarg{rows} \marg{time list} \cs{timelist} \marg{time list} \oarg{rows} + \cs{weeklist} \oarg{default weeks} \marg{week list} \cs{weeklist} \marg{week list} \oarg{default weeks} \end{syntax} 命令 \cs{timelist} 的可选参数可强制设定课程表的行数,命令 \cs{weeklist} 的可选参数可设定默认的星期数目并会在每个课程盒子的右下角显示. 两个命令的强制参数均接收数组,可分别在课程表的左侧添加时间列表、在课程表的顶部添加对应宽度比例的工作日. 输入数组的用例见Appendix \ref{mwe}. @@ -58,7 +58,7 @@ \begin{function}{\more} \begin{syntax} - \cs{more}\marg{comment} + \cs{more} \marg{comment} \end{syntax} 此命令可在页面的右下角添加备注. @@ -66,7 +66,7 @@ \begin{function}{\maketable} \begin{syntax} - \cs{maketable}\oarg{keyvals}\marg{title}\oarg{keyvals} + \cs{maketable} \oarg{keyvals} \marg{title} \oarg{keyvals} \end{syntax} 此命令可生成一个空白的课程表框架,需在命令 \cs{timelist},\cs{weeklist} 和 \cs{more} 后,并在带有 \cmd{[remember picture, overaly]} 选项的 \env{tikz} 环境中执行. 可选参数接收键 \keys{\cmdmac~color} \keys{\cmdmac~sem},可分别在设置课程表框架的背景色和在页面的右上角添加学期,键 \keys{\cmdmac~color} 的默认值为 \cmd{gray}. 强制参数可设定标题. @@ -76,7 +76,7 @@ \begin{function}{\course} \begin{syntax} - \cs{course}\oarg{keyvals}\marg{start number}\oarg{keyvals}\marg{end number}\oarg{keyvals} + \cs{course} \oarg{keyvals} \marg{start number} \oarg{keyvals} \marg{end number} \oarg{keyvals} \end{syntax} \cs{course} 命令可在当前工作日添加课程盒子,需在命令 \cs{maketable} 后,并在带有 \cmd{[remember picture, overaly]} 选项的 \env{tikz} 环境中执行. @@ -92,7 +92,7 @@ \begin{function}{\newday} \begin{syntax} - \cs{newday}\oarg{integral value} + \cs{newday} \oarg{integral value} \end{syntax} 此命令可使其后面添加的课程盒子后移 \meta{intergal value} 个工作日. 可选参数的默认值为 \cmd{1},即后移 \cmd{1} 个工作日. @@ -111,19 +111,19 @@ \begin{document} - \timelist[13] - { - 08:05 -> 08:50, 08:55 -> 09:40, 10:00 -> 10:45, 10:50 -> 11:35, - 11:40 -> 12:25, 13:30 -> 14:15, 14:20 -> 15:05, 15:15 -> 16:00, - 16:05 -> 16:50, 18:30 -> 19:15, 19:20 -> 20:05, 20:10 -> 20:55 - } - \weeklist[Weeks 1 - 16] - { - Mon -> 4, Tue -> 5, Wed -> 4, Thu -> 6, Fri -> 5 - } - \more{Author: Mingyu Xia \& Lijun Guo} - - \begin{tikzpicture}[remember picture, overlay] + \timelist [ 13 ] + { + 08:05 -> 08:50, 08:55 -> 09:40, 10:00 -> 10:45, 10:50 -> 11:35, + 11:40 -> 12:25, 13:30 -> 14:15, 14:20 -> 15:05, 15:15 -> 16:00, + 16:05 -> 16:50, 18:30 -> 19:15, 19:20 -> 20:05, 20:10 -> 20:55 + } + \weeklist [ Weeks 1 - 16 ] + { + Mon -> 4, Tue -> 5, Wed -> 4, Thu -> 6, Fri -> 5 + } + \more { Author: Mingyu Xia \& Lijun Guo } + + \begin{tikzpicture} [ remember picture, overlay ] \maketable \course [ subject = Keep on {\TeX}ing ] {10} {11} \newday diff --git a/macros/latex/contrib/litetable/doc/litetable-demo.pdf b/macros/latex/contrib/litetable/doc/litetable-demo.pdf Binary files differindex 30e84ee31e..e3c19b6f50 100644 --- a/macros/latex/contrib/litetable/doc/litetable-demo.pdf +++ b/macros/latex/contrib/litetable/doc/litetable-demo.pdf diff --git a/macros/latex/contrib/litetable/doc/litetable-demo.tex b/macros/latex/contrib/litetable/doc/litetable-demo.tex index 32ab4d89e9..c20b1275a8 100644 --- a/macros/latex/contrib/litetable/doc/litetable-demo.tex +++ b/macros/latex/contrib/litetable/doc/litetable-demo.tex @@ -7,44 +7,44 @@ \begin{document} \timelist [ 13 ] -{ - 08:05 -> 08:50, 08:55 -> 09:40, 10:00 -> 10:45, - 10:50 -> 11:35, 11:40 -> 12:25, 13:30 -> 14:15, - 14:20 -> 15:05, 15:15 -> 16:00, 16:05 -> 16:50, - 18:30 -> 19:15, 19:20 -> 20:05, 20:10 -> 20:55 -} + { + 08:05 -> 08:50, 08:55 -> 09:40, 10:00 -> 10:45, + 10:50 -> 11:35, 11:40 -> 12:25, 13:30 -> 14:15, + 14:20 -> 15:05, 15:15 -> 16:00, 16:05 -> 16:50, + 18:30 -> 19:15, 19:20 -> 20:05, 20:10 -> 20:55 + } \weeklist [ Weeks 1 - 16 ] -{ - \scshape\texttwemoji{1f312} Mon -> 1, - \scshape\texttwemoji{1f525} Tue -> 1, - \scshape\texttwemoji{1f30a} Wed -> 1, - \scshape\texttwemoji{1f332} Thu -> 1, - \scshape\texttwemoji{1fa99} Fri -> 1 -} + { + \scshape\texttwemoji{1f312} Mon -> 1, + \scshape\texttwemoji{1f525} Tue -> 1, + \scshape\texttwemoji{1f30a} Wed -> 1, + \scshape\texttwemoji{1f332} Thu -> 1, + \scshape\texttwemoji{1fa99} Fri -> 1 + } \more -{ - School Starts: 06 / 09 / 2024\quad Summer Vacation: 26 / 01 / 2025 -} + { + School Starts: 06 / 09 / 2024\quad Summer Vacation: 26 / 01 / 2025 + } -\begin{tikzpicture}[remember picture, overlay] +\begin{tikzpicture} [ remember picture, overlay ] \maketable [ color = MidnightBlue, sem = SEM 6 ] { Skyrmion's Course Schedule } \course [ color = DarkBlue, subject = interface3, - teacher = The {\LaTeX} Project + teacher = The \LaTeX{} Project ] {4} {5} \newday \course [ color = Purple, subject = expl3, - teacher = The {\LaTeX} Project + teacher = The \LaTeX{} Project ] {8} {8} \course [ color = FireBrick, subject = usrguide, - teacher = {\LaTeX} Project Team, weeks = Weeks 7 - 14 + teacher = \LaTeX{} Project Team, weeks = Weeks 7 - 14 ] {1} {2} \newday - \course [ subject = Keep on {\TeX}ing ] {10} {11} + \course [ subject = Keep on \TeX{}ing ] {10} {11} \newday - \course [ color = Crimson, subject = Ti\textit kZ, - teacher = The PGF/Ti\textit kZ Team + \course [ color = Crimson, subject = \textup{Ti\textit{k\/}Z}, + teacher = The PGF/\textup{Ti\textit{k\/}Z} Team ] {3} {5} \newday \course [ color = DarkSlateGray, subject = litetable, @@ -55,12 +55,9 @@ \clearpage \timelist [ 12 ] { } -\weeklist [ Weeks 1 - 16 ] -{ - Mon -> 1, Tue -> 1, Wed -> 1, Thu -> 1, Fri -> 1 -} +\weeklist [ Weeks 1 - 16 ] { Mon -> 1, Tue -> 1, Wed -> 1, Thu -> 1, Fri -> 1 } -\begin{tikzpicture}[remember picture, overlay] +\begin{tikzpicture} [ remember picture, overlay ] \maketable { Skyrmion's Course Schedule } % \end{tikzpicture} diff --git a/macros/latex/contrib/litetable/doc/litetable-en.pdf b/macros/latex/contrib/litetable/doc/litetable-en.pdf Binary files differindex f6c9a4cf2a..90bd7e0b32 100644 --- a/macros/latex/contrib/litetable/doc/litetable-en.pdf +++ b/macros/latex/contrib/litetable/doc/litetable-en.pdf diff --git a/macros/latex/contrib/litetable/doc/litetable-en.tex b/macros/latex/contrib/litetable/doc/litetable-en.tex index 17ab305070..f20c685d63 100644 --- a/macros/latex/contrib/litetable/doc/litetable-en.tex +++ b/macros/latex/contrib/litetable/doc/litetable-en.tex @@ -23,7 +23,7 @@ Mingyu Xia \texttt{<\href{mailto:xiamyphys@gmail.com}{xiamyphys@gmail.com}>} \thanks{\href{https://github.com/ljguo1020}{Lijun Guo} developed modules for reading \meta{left} -> \meta{right} data structure and supporting low version \hologo {TeX} Live.} } -\date{Version 3.1B, \today} +\date{Version 3.1C, \today} \begin{document} @@ -39,7 +39,7 @@ Just like loading any class, write \begin{framed} \begin{verbatim} - \documentclass{litetable} + \documentclass {litetable} \end{verbatim} \end{framed} @@ -47,18 +47,18 @@ One can load the \pkg{ctex} package and set the font to input the CJK characters \begin{function}{\timelist,\weeklist} \begin{syntax} - \cs{timelist}\oarg{rows}\marg{time list} \cs{timelist}\marg{time list}\oarg{rows} - \cs{weeklist}\oarg{default weeks}\marg{week list} \cs{weeklist}\marg{week list}\oarg{default weeks} + \cs{timelist} \oarg{rows} \marg{time list} \cs{timelist} \marg{time list} \oarg{rows} + \cs{weeklist} \oarg{default weeks} \marg{week list} \cs{weeklist} \marg{week list} \oarg{default weeks} \end{syntax} - The optional argument of the command \cs{timelist} can force the number of rows on the timetable, and that of the command \cs{weeklist} can set the default number of weeks and print it at every course box's southeast corner. Each mandatory argument of the two commands accepts an array that can add a time list to the left side of the timetable and add workdays with corresponding width ratios at the top of the timetable, respectively. The example for inputting the arrays is shown in Appendix \ref{mwe} + The optional argument of the command \cs{timelist} can force the number of rows on the timetable, and that of the command \cs{weeklist} can set the default number of weeks and print it at every course box's southeast corner. Each mandatory argument of the two commands accepts an array that can add a time list to the left side of the timetable and add workdays with corresponding width ratios at the top of the timetable, respectively. The example for inputting the arrays is shown in Appendix \ref{mwe}. If the number of time arrays received by the command \cs{timelist} is greater than the forced number of rows, then the extra time sets are ignored, and it will return a warning. If one wants to add a series of numbers to the left side of the timetable without time, just leave the mandatory argument blank. \end{function} \begin{function}{\more} \begin{syntax} - \cs{more}\marg{comment} + \cs{more} \marg{comment} \end{syntax} This command can add a comment at the southwest corner of the page. @@ -66,7 +66,7 @@ One can load the \pkg{ctex} package and set the font to input the CJK characters \begin{function}{\maketable} \begin{syntax} - \cs{maketable}\oarg{keyvals}\marg{title}\oarg{keyvals} + \cs{maketable} \oarg{keyvals} \marg{title} \oarg{keyvals} \end{syntax} This command can create a blank timetable frame, and it should execute after commands \cs{timelist} and \cs{weeklist} in the \env{tikzpicture} environment with the option of \cmd{[remember picture, overaly]}. The optional argument accepts keys, it can set the background color of the timetable, and add the semester at the northeast corner of the page, the default value of the key \keys{\cmdmac~color} is \cmd{gray}. The mandatory argument can set the title. @@ -76,7 +76,7 @@ One can load the \pkg{ctex} package and set the font to input the CJK characters \begin{function}{\course} \begin{syntax} - \cs{course}\oarg{keyvals}\marg{start number}\oarg{keyvals}\marg{end number}\oarg{keyvals} + \cs{course} \oarg{keyvals} \marg{start number} \oarg{keyvals} \marg{end number} \oarg{keyvals} \end{syntax} \end{function} @@ -92,7 +92,7 @@ The optional argument accepts the following keys: \keys{\cmdmac~color} \keys{\cm \begin{function}{\newday} \begin{syntax} - \cs{newday}\oarg{intergal value} + \cs{newday} \oarg{intergal value} \end{syntax} This command has an optional argument that can move the course boxes right \meta{intergal value} working days. The default value of the optional argument is \cmd{1} to move right \cmd{1} workday. @@ -111,24 +111,24 @@ The following MWE could generate a timetable of 13 lines but only the top 12 lin \begin{document} - \timelist[13] - { - 08:05 -> 08:50, 08:55 -> 09:40, 10:00 -> 10:45, 10:50 -> 11:35, - 11:40 -> 12:25, 13:30 -> 14:15, 14:20 -> 15:05, 15:15 -> 16:00, - 16:05 -> 16:50, 18:30 -> 19:15, 19:20 -> 20:05, 20:10 -> 20:55 - } - \weeklist[Weeks 1 - 16] - { - Mon -> 4, Tue -> 5, Wed -> 4, Thu -> 6, Fri -> 5 - } - \more{Author: Mingyu Xia \& Lijun Guo} - - \begin{tikzpicture}[remember picture, overlay] + \timelist [ 13 ] + { + 08:05 -> 08:50, 08:55 -> 09:40, 10:00 -> 10:45, 10:50 -> 11:35, + 11:40 -> 12:25, 13:30 -> 14:15, 14:20 -> 15:05, 15:15 -> 16:00, + 16:05 -> 16:50, 18:30 -> 19:15, 19:20 -> 20:05, 20:10 -> 20:55 + } + \weeklist [ Weeks 1 - 16 ] + { + Mon -> 4, Tue -> 5, Wed -> 4, Thu -> 6, Fri -> 5 + } + \more { Author: Mingyu Xia \& Lijun Guo } + + \begin{tikzpicture} [ remember picture, overlay ] \maketable \course [ subject = Keep on {\TeX}ing ] {10} {11} \newday \course [ color = DarkSlateGray, subject = litetable, - location = Hong Kong, teacher = M.Y. Xia + location = Hong Kong, teacher = M.Y. Xia ] {8} {8} \end{tikzpicture} diff --git a/macros/latex/contrib/litetable/doc/litetable-hk.pdf b/macros/latex/contrib/litetable/doc/litetable-hk.pdf Binary files differindex d2f1234e75..4769589015 100644 --- a/macros/latex/contrib/litetable/doc/litetable-hk.pdf +++ b/macros/latex/contrib/litetable/doc/litetable-hk.pdf diff --git a/macros/latex/contrib/litetable/doc/litetable-hk.tex b/macros/latex/contrib/litetable/doc/litetable-hk.tex index 6f48cc6fd1..d0aef48c79 100644 --- a/macros/latex/contrib/litetable/doc/litetable-hk.tex +++ b/macros/latex/contrib/litetable/doc/litetable-hk.tex @@ -6,9 +6,9 @@ \hologoFontSetup{general = \sffamily} \FrameSep = 0pt \usepackage[fontset = none]{ctex} -\setCJKmainfont[BoldFont = *-Bold]{LXGW WenKai} -\setCJKsansfont[BoldFont = *-Bold]{LXGW WenKai} -\setCJKmonofont[BoldFont = *-Bold]{LXGW WenKai} +\setCJKmainfont[BoldFont = *-Medium]{LXGW WenKai} +\setCJKsansfont[BoldFont = *-Medium]{LXGW WenKai} +\setCJKmonofont[BoldFont = *-Medium]{LXGW WenKai Mono} \usepackage[os = mac]{menukeys} \AddToHook{env/function/before}{\vspace{-.3\baselineskip}} \AddToHook{env/syntax/after}{\vspace{-.2\baselineskip}} @@ -23,7 +23,7 @@ 夏明宇 \texttt{<\href{mailto:xiamyphys@gmail.com}{xiamyphys@gmail.com}>} \thanks{\href{https://github.com/ljguo1020}{郭李軍}開發咗讀取 \meta{left} -> \meta{right} 型資料結構糢塊同低版本 \hologo{TeX} Live 相容糢塊.} } -\date{Version 3.1B, \today} +\date{Version 3.1C, \today} \begin{document} @@ -31,7 +31,7 @@ \section{介紹} -\cls{litetable} 文檔類提供咗個多彩嘅課程表設計,基於 \cls{article} 文檔類,由 \pkg{expl3} 和 \pkg{tikz} 構建. 相容發行版 \hologo{TeX} Live 2019 同更高版本,喺 \hologo{pdfLaTeX} 同 \hologo{XeLaTeX} 編譯器下均可正常運行. 本文檔系 \cls{litetable} 文檔類嘅用户手冊放,手冊放同時有\href{./litetable-en.pdf}{英文}同\href{./litetable-cn.pdf}{官話}版本\footnote{\href{https://qm.qq.com/q/RyssAhG4qy}{QQ Group: 760570712}}. +\cls{litetable} 文檔類提供咗個多彩嘅課程表設計,基於 \cls{article} 文檔類,由 \pkg{expl3} 和 \pkg{tikz} 構建. 相容發行版 \hologo{TeX} Live 2019 同更高版本,喺 \hologo{pdfLaTeX} 同 \hologo{XeLaTeX} 編譯器下均可正常運行. 本文檔系 \cls{litetable} 文檔類嘅用户手冊放,手冊放同時有 \href{./litetable-en.pdf}{英文} 同 \href{./litetable-cn.pdf}{官話} 版本\footnote{\href{https://qm.qq.com/q/RyssAhG4qy}{QQ Group: 760570712}}. \section{載入 \cls{litetable} 並建置課程表框架} @@ -39,7 +39,7 @@ \begin{framed} \begin{verbatim} - \documentclass{litetable} + \documentclass {litetable} \end{verbatim} \end{framed} @@ -47,8 +47,8 @@ \begin{function}{\timelist,\weeklist} \begin{syntax} - \cs{timelist}\oarg{rows}\marg{time list} \cs{timelist}\marg{time list}\oarg{rows} - \cs{weeklist}\oarg{default weeks}\marg{week list} \cs{weeklist}\marg{week list}\oarg{default weeks} + \cs{timelist} \oarg{rows} \marg{time list} \cs{timelist} \marg{time list} \oarg{rows} + \cs{weeklist} \oarg{default weeks} \marg{week list} \cs{weeklist} \marg{week list} \oarg{default weeks} \end{syntax} 命令 \cs{timelist} 嘅可選參數可強制設定課程表嘅行數,命令 \cs{weeklist} 嘅可選參數可設定預設嘅星期數目並會喺每個課程盒子嘅右下角顯示. 兩個命令嘅強制參數均接受數組,可分別就系課程表嘅左側添加時間表、喺課程表嘅頂部添加對應寬度比例嘅工作日. 輸入數組嘅用例見Appendix \ref{mwe}. @@ -58,7 +58,7 @@ \begin{function}{\more} \begin{syntax} - \cs{more}\marg{comment} + \cs{more} \marg{comment} \end{syntax} 此命令可喺頁面嘅嘅右下角添加備注. @@ -66,7 +66,7 @@ \begin{function}{\maketable} \begin{syntax} - \cs{maketable}\oarg{keyvals}\marg{title}\oarg{keyvals} + \cs{maketable} \oarg{keyvals} \marg{title} \oarg{keyvals} \end{syntax} 此命令可建置一個空白嘅課程表框架,使喺命令 \cs{timelist},\cs{weeklist} 同 \cs{more} 後,並喺帶有 \cmd{[remember picture, overaly]} 選項嘅 \env{tikz} 環境中執行. 可選引數接受鍵 \keys{\cmdmac~color} \keys{\cmdmac~sem},可分別就喺設置課程表框架嘅背景色同喺頁面嘅嘅右度角添加學期,鍵 \keys{\cmdmac~color} 嘅默認值為 \cmd{gray}. 強制參數可設定標題. @@ -76,7 +76,7 @@ \begin{function}{\course} \begin{syntax} - \cs{course}\oarg{keyvals}\marg{start number}\oarg{keyvals}\marg{end number}\oarg{keyvals} + \cs{course} \oarg{keyvals} \marg{start number} \oarg{keyvals} \marg{end number} \oarg{keyvals} \end{syntax} \cs{course} 命令可喺當前工作日添加課程盒子,要喺命令 \cs{maketable} 後,並喺帶有 \cmd{remember picture,overaly} 選項嘅 \env{tikzpicture} 環境中執行. @@ -92,7 +92,7 @@ \begin{function}{\newday} \begin{syntax} - \cs{newday}\oarg{integral value} + \cs{newday} \oarg{integral value} \end{syntax} 此命令有一個可選參數,可令其後面添加嘅課程盒子後移 \meta{intergal value} 個工作日. 可選參數嘅默認值為\cmd{1},即後移\cmd{1}個工作日. @@ -111,24 +111,24 @@ \begin{document} - \timelist[13] - { - 08:05 -> 08:50, 08:55 -> 09:40, 10:00 -> 10:45, 10:50 -> 11:35, - 11:40 -> 12:25, 13:30 -> 14:15, 14:20 -> 15:05, 15:15 -> 16:00, - 16:05 -> 16:50, 18:30 -> 19:15, 19:20 -> 20:05, 20:10 -> 20:55 - } - \weeklist[Weeks 1 - 16] - { - Mon -> 4, Tue -> 5, Wed -> 4, Thu -> 6, Fri -> 5 - } - \more{Author: Mingyu Xia \& Lijun Guo} - - \begin{tikzpicture}[remember picture, overlay] + \timelist [ 13 ] + { + 08:05 -> 08:50, 08:55 -> 09:40, 10:00 -> 10:45, 10:50 -> 11:35, + 11:40 -> 12:25, 13:30 -> 14:15, 14:20 -> 15:05, 15:15 -> 16:00, + 16:05 -> 16:50, 18:30 -> 19:15, 19:20 -> 20:05, 20:10 -> 20:55 + } + \weeklist [ Weeks 1 - 16 ] + { + Mon -> 4, Tue -> 5, Wed -> 4, Thu -> 6, Fri -> 5 + } + \more { Author: Mingyu Xia \& Lijun Guo } + + \begin{tikzpicture} [ remember picture, overlay ] \maketable \course [ subject = Keep on {\TeX}ing ] {10} {11} \newday \course [ color = DarkSlateGray, subject = litetable, - location = Hong Kong, teacher = M.Y. Xia + location = Hong Kong, teacher = M.Y. Xia ] {8} {8} \end{tikzpicture} diff --git a/macros/latex/contrib/litetable/tex/litetable.cls b/macros/latex/contrib/litetable/tex/litetable.cls index 556b766c28..864eaec8f8 100644 --- a/macros/latex/contrib/litetable/tex/litetable.cls +++ b/macros/latex/contrib/litetable/tex/litetable.cls @@ -1,24 +1,23 @@ -%% *********************************************************** -%% Copyright 2024 by M.Y. XIA <xiamyphys@gmail.com> * -%% * -%% This work may be distributed and/or modified under * -%% the conditions of the LaTeX Project Public License * -%% * -%% http://www.latex-project.org/lppl.txt * -%% * -%% either version 1.3c of this license or any later * -%% version. * -%% * -%% This work has the LPPL maintenance status `maintained'. * -%% * -% The Current Maintainers of this work are M.Y. XIA & L.J. Guo -%% * -%% This work consists of the files litetable.cls, * -%% and README.md. * -%% available at https://github.com/xiamyphys/litetable * -%% *********************************************************** +%% ********************************************************************* +%% Copyright 2024 by M.Y. XIA <xiamyphys@gmail.com> * +%% * +%% This work may be distributed and/or modified under the * +%% conditions of the LaTeX Project Public License * +%% * +%% http://www.latex-project.org/lppl.txt * +%% * +%% either version 1.3c of this license or any later version. * +%% * +%% This work has the LPPL maintenance status `maintained'. * +%% * +%% The Current Maintainers of this work are M.Y. XIA & L.J. Guo * +%% * +%% This work consists of the files litetable.cls, * +%% and README.md. * +%% available at https://github.com/xiamyphys/litetable * +%% ********************************************************************* \RequirePackage{xparse}% For TeX Live 2019 - 2020 Compatibility -\ProvidesExplClass{litetable}{2024/10/01}{3.1B}{Course Schedule} +\ProvidesExplClass {litetable} {2024/10/09} {3.1C} {Course Schedule} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} \ProcessOptions\relax @@ -29,422 +28,432 @@ % Module for texlive 2021 and later (by @ljguo) \cs_if_exist:NF \clist_put_right:Ne -{ \cs_generate_variant:Nn \clist_put_right:Nn { Ne } } + { \cs_generate_variant:Nn \clist_put_right:Nn { Ne } } \cs_if_exist:NF \clist_set:Ne -{ \cs_generate_variant:Nn \clist_set:Nn { Ne } } + { \cs_generate_variant:Nn \clist_set:Nn { Ne } } \cs_if_exist:NT \clist_count:e -{ \cs_generate_variant:Nn \clist_count:n { e } } + { \cs_generate_variant:Nn \clist_count:n { e } } \cs_if_exist:NF \exp_args:NNNe -{ - \cs_new:Npn \exp_args:NNNe #1#2#3#4 { - \exp_after:wN #1 - \exp_after:wN #2 - \exp_after:wN #3 - \tex_expanded:D { {#4} } + \cs_new:Npn \exp_args:NNNe #1#2#3#4 + { + \exp_after:wN #1 + \exp_after:wN #2 + \exp_after:wN #3 + \tex_expanded:D { {#4} } + } } -} % Module for left -> right data structure (by @ljguo) \cs_new_protected_nopar:Npn \__litetable_get_left:nN #1#2 -{ - \group_begin: - \seq_set_split:Nnn \l__litetable_tmpa_seq { -> } { #1 } - \exp_args:NNNe \group_end: \tl_set:Nn #2 - { \seq_item:Nn \l__litetable_tmpa_seq { 1 } } -} + { + \group_begin: + \seq_set_split:Nnn \l__litetable_tmpa_seq { -> } {#1} + \exp_args:NNNe \group_end: \tl_set:Nn #2 + { \seq_item:Nn \l__litetable_tmpa_seq { 1 } } + } \cs_new_protected_nopar:Npn \__litetable_get_right:nN #1#2 -{ - \group_begin: - \seq_set_split:Nnn \l__litetable_tmpa_seq { -> } { #1 } - \exp_args:NNNe \group_end: \tl_set:Nn #2 - { \seq_item:Nn \l__litetable_tmpa_seq { 2 } } -} + { + \group_begin: + \seq_set_split:Nnn \l__litetable_tmpa_seq { -> } {#1} + \exp_args:NNNe \group_end: \tl_set:Nn #2 + { \seq_item:Nn \l__litetable_tmpa_seq { 2 } } + } \cs_generate_variant:Nn \__litetable_get_left:nN { e } \cs_generate_variant:Nn \__litetable_get_right:nN { e } \int_new:N \l__time_num_int \dim_new:N \l__time_vunit_dim \cs_new_protected:Npn \litetable_msg_new:nn #1#2 -{ \msg_new:nnn { litetable} { #1 } { #2 } } + { \msg_new:nnn { litetable } {#1} {#2} } \cs_new_protected:Npn \litetable_msg_warning:n #1 -{ \msg_warning:nn { litetable } { #1 } } + { \msg_warning:nn { litetable } {#1} } \litetable_msg_new:nn { timelist } -{ \exp_not:N \timelist~extra~time~group(s)~were~ignored } + { \exp_not:N \timelist~extra~time~group(s)~were~ignored } \cs_new_protected_nopar:Npn \litetable_timelist:nn #1#2 -{ - \clist_set:Nn \l__litetable_timelist_clist { #2 } - \tl_if_empty:nTF { #1 } - { - \int_set:Nn \l__time_num_int - { - \clist_count:N \l__litetable_timelist_clist - } - } { - \int_set:Nn \l__time_num_int { #1 } - \int_compare:nNnTF { #1 } < - { \clist_count:N \l__litetable_timelist_clist } - { - \int_set:Nn \l__time_num_int + \clist_set:Nn \l__litetable_timelist_clist {#2} + \tl_if_empty:nTF {#1} { - \clist_count:N \l__litetable_timelist_clist + \int_set:Nn \l__time_num_int + { \clist_count:N \l__litetable_timelist_clist } } - \litetable_msg_warning:n { timelist } - } { \int_set:Nn \l__time_num_int { #1 } } - } - \dim_set:Nn \l__time_vunit_dim - { - \fp_eval:n {1/(2\l__time_num_int+3.5)}\paperheight + { + \int_set:Nn \l__time_num_int {#1} + \int_compare:nNnTF {#1} < + { \clist_count:N \l__litetable_timelist_clist } + { + \int_set:Nn \l__time_num_int + { \clist_count:N \l__litetable_timelist_clist } + \litetable_msg_warning:n { timelist } + } + { \int_set:Nn \l__time_num_int {#1} } + } + \dim_set:Nn \l__time_vunit_dim + { \fp_eval:n { 1/( 2\l__time_num_int + 3.5 ) } \paperheight } } -} \NewDocumentCommand \timelist { O{} m O{} } -{ \litetable_timelist:nn { #1#3 } { #2 } } + { \litetable_timelist:nn { #1 #3 } {#2} } \clist_new:N \l__week_ratio_clist \clist_new:N \l__week_accum_clist \int_new:N \l__week_num_int \dim_new:N \l__week_hunit_dim \cs_new_protected_nopar:Npn \litetable_weeklist:nn #1#2 -{ - \tl_set:Nn \l__default_weeks_tl { #1 } - \clist_set:Nn \l__litetable_weeklist_clist { #2 } - \int_step_inline:nn - { - \clist_count:N \l__litetable_weeklist_clist - } - { - \__litetable_get_right:eN - { - \clist_item:Nn \l__litetable_weeklist_clist {##1} - } \l__litetable_tmpb_tl - \clist_put_right:Ne \l__week_ratio_clist - { - \l__litetable_tmpb_tl - } - } - \int_step_inline:nn { - \clist_count:N \l__litetable_weeklist_clist - } - { - \clist_clear:N \l__week_accumtmp_clist - \int_step_inline:nn { ##1 } - { - \clist_put_right:Ne \l__week_accumtmp_clist + \tl_set:Nn \l__default_weeks_tl {#1} + \clist_set:Nn \l__litetable_weeklist_clist {#2} + \int_step_inline:nn + { \clist_count:N \l__litetable_weeklist_clist } { - \clist_item:Nn \l__week_ratio_clist { ####1 } + \__litetable_get_right:eN + { + \clist_item:Nn \l__litetable_weeklist_clist {##1} + } \l__litetable_tmpb_tl + \clist_put_right:Ne \l__week_ratio_clist + { \l__litetable_tmpb_tl } } - } - \clist_put_right:Ne \l__week_accum_clist - { - \int_eval:n { \clist_use:Nn \l__week_accumtmp_clist { + } } - } - } - \int_set:Nn \l__week_num_int - { - \clist_item:Nn \l__week_accum_clist - { - \clist_count:N \l__litetable_weeklist_clist - } - } - \dim_set:Nn \l__week_hunit_dim - { - \fp_eval:n {1/\l__week_num_int*14/15}\paperwidth + \int_step_inline:nn + { \clist_count:N \l__litetable_weeklist_clist } + { + \clist_clear:N \l__week_accumtmp_clist + \int_step_inline:nn {##1} + { + \clist_put_right:Ne \l__week_accumtmp_clist + { \clist_item:Nn \l__week_ratio_clist {####1} } + } + \clist_put_right:Ne \l__week_accum_clist + { \int_eval:n { \clist_use:Nn \l__week_accumtmp_clist { + } } } + } + \int_set:Nn \l__week_num_int + { + \clist_item:Nn \l__week_accum_clist + { \clist_count:N \l__litetable_weeklist_clist } + } + \dim_set:Nn \l__week_hunit_dim + { \fp_eval:n { 1/\l__week_num_int * 14/15 } \paperwidth } } -} \NewDocumentCommand \weeklist { O{} m O{} } -{ \litetable_weeklist:nn { #1#3 } { #2 } } + { \litetable_weeklist:nn { #1 #3 } {#2} } \NewDocumentCommand \more { m } -{ \tl_set:Nn \l__litetable_comment_tl { #1 } } + { \tl_set:Nn \l__litetable_comment_tl {#1} } \int_new:N \l__litetable_week_day_int -\int_set:Nn \l__litetable_week_day_int {1} -\NewDocumentCommand \newday { O {1} } -{ \int_add:Nn \l__litetable_week_day_int { #1 } } +\int_set:Nn \l__litetable_week_day_int { 1 } +\NewDocumentCommand \newday { O{1} } + { \int_add:Nn \l__litetable_week_day_int {#1} } \keys_define:nn { litetable / frame } -{ - sem.tl_set:N = \l__bg_sem_tl, - color.tl_set:N = \l__bg_color_tl, - color.initial:n = gray, -} -\cs_new_protected_nopar:Npn \litetable_maketable:nn #1 -{ - % Darker Block at top - \fill [ \l__bg_color_tl!5 ] (current~page.north~west) - rectangle + (\paperwidth,-1.5\l__time_vunit_dim) - node [ midway, black, font = \huge\bfseries ] {#1}; - \tl_if_empty:NF { \l__bg_sem_tl }% Semester - { - \node [ shift = {(-.02\paperwidth,-.75\l__time_vunit_dim)}, - left, rectangle, fill = DarkBlue!10, - text = DarkBlue!60, inner~sep = 2ex, - rounded~corners = 8pt, font = \large - ] at (current~page.north~east) - {\ensuremath\rightleftharpoons\ \l__bg_sem_tl}; - } - % Darker Blocks - \int_step_inline:nnnn {0} {2} {\l__time_num_int} - { - \filldraw [ fill = \l__bg_color_tl!5, draw = gray, - thick, densely~dashed, line~cap = round - ] - ([shift = {(-.4pt,\fp_eval:n {-2*##1-2.5}\l__time_vunit_dim)}] - current~page.north~west) rectangle + - ({\paperwidth+.8pt},-2\l__time_vunit_dim); - } - % Classes numbering - \clist_if_empty:NTF {\l__litetable_timelist_clist} { - \int_step_inline:nn {\l__time_num_int} - { - \node [ shift = {(\paperwidth/30,{\fp_eval:n { - -2*##1-1.5}\l__time_vunit_dim}) - }, darkgray!80, font = \large\ttfamily\bfseries - ] at (current~page.north~west) {##1}; - } + sem.tl_set:N = \l__bg_sem_tl, + color.tl_set:N = \l__bg_color_tl, + color.initial:n = gray } +\cs_new_protected_nopar:Npn \litetable_maketable:nn #1 { - \int_step_inline:nn {\l__time_num_int} - { - \node [ shift = {(\paperwidth/30,\fp_eval:n { - -2*##1-1}\l__time_vunit_dim) - }, darkgray!80, font = \large\ttfamily\bfseries - ] at (current~page.north~west) {##1}; - } - % Classes time - \int_step_inline:nn - { - \clist_count:N \l__litetable_timelist_clist - } - { - \__litetable_get_left:eN + \fill [ \l__bg_color_tl!5 ] + (current~page.north~west) rectangle + + (\paperwidth, -1.5\l__time_vunit_dim) + node [ midway, black, font = \huge\bfseries ] {#1}; + \tl_if_empty:NF { \l__bg_sem_tl } { - \clist_item:Nn \l__litetable_timelist_clist {##1} - } \l__litetable_tmpa_tl - \__litetable_get_right:eN + \node [ shift = {(-.02\paperwidth, -.75\l__time_vunit_dim)}, + left, rectangle, fill = DarkBlue!10, text = DarkBlue!60, + inner~sep = 2ex, rounded~corners = 8pt, font = \large + ] at (current~page.north~east) + { \ensuremath\rightleftharpoons\ \l__bg_sem_tl }; + } + % Darker Blocks + \int_step_inline:nnnn { 0 } { 2 } { \l__time_num_int } { - \clist_item:Nn \l__litetable_timelist_clist {##1} - } \l__litetable_tmpb_tl - \node [ shift = {(\paperwidth/30,\fp_eval:n { - -1.9-2*##1}\l__time_vunit_dim) - }, gray, font = \ttfamily ,align = center - ] at (current~page.north~west) - {\l__litetable_tmpa_tl\\\l__litetable_tmpb_tl}; - } - } - % Weekdays - \int_step_inline:nn - { - \clist_count:N \l__litetable_weeklist_clist - } - { - \__litetable_get_left:eN - { - \clist_item:Nn \l__litetable_weeklist_clist {##1} - } \l__litetable_tmpa_tl - \node [ font = \large\bfseries, - shift = {(\fp_eval:n { - (\clist_item:Nn \l__week_accum_clist {##1} - -\clist_item:Nn \l__week_ratio_clist {##1}/2)/ - \l__week_num_int*14/15+1/15}\paperwidth, - -2\l__time_vunit_dim)} - ] at (current~page.north~west) { \l__litetable_tmpa_tl }; + \filldraw + [ fill = \l__bg_color_tl!5, draw = gray, + thick, densely~dashed, line~cap = round + ] + ([shift = {(-.4pt, \fp_eval:n { - 2 * ##1 - 2.5 } \l__time_vunit_dim)}] + current~page.north~west + ) rectangle + ({\paperwidth + .8pt}, -2\l__time_vunit_dim); + } + % Classes numbering + \clist_if_empty:NTF { \l__litetable_timelist_clist } + { + \int_step_inline:nn { \l__time_num_int } + { + \node + [ shift = + {( + \paperwidth/30, + \fp_eval:n { - 2 * ##1 - 1.5 } \l__time_vunit_dim + )}, darkgray!80, font = \large\ttfamily\bfseries + ] at (current~page.north~west) {##1}; + } + } + { + \int_step_inline:nn { \l__time_num_int } + { + \node + [ shift = + {( + \paperwidth/30, + \fp_eval:n { - 2 * ##1 - 1 } \l__time_vunit_dim + )}, darkgray!80, font = \large\ttfamily\bfseries + ] at (current~page.north~west) {##1}; + } + % Classes time + \int_step_inline:nn + { \clist_count:N \l__litetable_timelist_clist } + { + \__litetable_get_left:eN + { + \clist_item:Nn \l__litetable_timelist_clist {##1} + } \l__litetable_tmpa_tl + \__litetable_get_right:eN + { + \clist_item:Nn \l__litetable_timelist_clist {##1} + } \l__litetable_tmpb_tl + \node + [ shift = + {( + \paperwidth/30, + \fp_eval:n { -1.9 - 2 * ##1 } \l__time_vunit_dim + )}, gray, font = \ttfamily, align = center + ] at (current~page.north~west) + { \l__litetable_tmpa_tl\\\l__litetable_tmpb_tl }; + } + } + % Weekdays + \int_step_inline:nn + { \clist_count:N \l__litetable_weeklist_clist } + { + \__litetable_get_left:eN + { + \clist_item:Nn \l__litetable_weeklist_clist {##1} + } \l__litetable_tmpa_tl + \node + [ shift = + {(\fp_eval:n + {( + \clist_item:Nn \l__week_accum_clist {##1} - + \clist_item:Nn \l__week_ratio_clist {##1}/2 + )/\l__week_num_int * 14/15 + 1/15 + } \paperwidth, -2\l__time_vunit_dim + )}, + font = \large\bfseries + ] at (current~page.north~west) { \l__litetable_tmpa_tl }; + } + % Comment + \tl_if_empty:NF \l__litetable_comment_tl + { + \node [ yshift = .5\l__time_vunit_dim, left = 1ex, + darkgray, font = \small\bfseries + ] at (current~page.south~east) + { \l__litetable_comment_tl }; + } + \tl_gclear:N \l__litetable_comment_tl } - % Comment - \tl_if_empty:NF \l__litetable_comment_tl +\NewDocumentCommand \maketable { O{} m O{} } { - \node [ yshift = .5\l__time_vunit_dim, - left = 1ex, darkgray, font = \small\bfseries - ] at (current~page.south~east) - { \l__litetable_comment_tl }; + \group_begin: + \keys_set:nn { litetable / frame } { #1 #3 } + \litetable_maketable:nn {#2} + \group_end: } - \tl_gclear:N \l__litetable_comment_tl -} -\NewDocumentCommand \maketable { O{} m O{} } -{ - \group_begin: - \keys_set:nn { litetable / frame } { #1#3 } - \litetable_maketable:nn { #2 } - \group_end: -} \keys_define:nn { litetable / course } -{ - color.tl_set:N = \l__course_color_tl, - color.initial:n = teal, - subject.tl_set:N = \l__course_subject_tl, - teacher.tl_set:N = \l__course_teacher_tl, - location.tl_set:N = \l__course_location_tl, - weeks.tl_set:N = \l__default_weeks_tl, - weeks.initial:n = \l__default_weeks_tl, -} + { + color.tl_set:N = \l__course_color_tl, + color.initial:n = teal, + subject.tl_set:N = \l__course_subject_tl, + teacher.tl_set:N = \l__course_teacher_tl, + location.tl_set:N = \l__course_location_tl, + weeks.tl_set:N = \l__default_weeks_tl, + weeks.initial:n = \l__default_weeks_tl, + } \dim_new:N \l__course_infoshift_dim \cs_new_protected_nopar:Npn \__litetable_course_box_aux:nn #1#2 -{ - % Course box fg - \begin{scope} - \clip [ preaction = {draw, ultra~thick, \l__course_color_tl!60}, - preaction = {fill, \l__course_color_tl!10}, - rounded~corners = 8pt ] - ([shift = {( - \fp_eval:n - { - \clist_item:Nn \l__week_accum_clist - {\l__litetable_week_day_int}- - \clist_item:Nn \l__week_ratio_clist - {\l__litetable_week_day_int} - }\l__week_hunit_dim+\paperwidth/15+1.2pt, - \fp_eval:n {-.5-2*#1}\l__time_vunit_dim-1.2pt) - }]current~page.north~west) rectangle + ( - \clist_item:Nn \l__week_ratio_clist {\l__litetable_week_day_int} - \l__week_hunit_dim-2.4pt, - \fp_eval:n {2*(#1-#2-1)}\l__time_vunit_dim+2.4pt); - % Course box bg - \fill [ \l__course_color_tl!60 ] - ([shift = {( - \fp_eval:n { - \clist_item:Nn \l__week_accum_clist - {\l__litetable_week_day_int}- - \clist_item:Nn \l__week_ratio_clist - {\l__litetable_week_day_int} - }\l__week_hunit_dim+\paperwidth/15, - \fp_eval:n {-.5-2*#1}\l__time_vunit_dim) - }]current~page.north~west) rectangle + ( - \clist_item:Nn \l__week_ratio_clist{\l__litetable_week_day_int} - \l__week_hunit_dim,-.5\l__time_vunit_dim); - \end{scope} - % Course info - \tl_if_eq:NNTF {#1} {#2}% Single-unit height course box { - \bool_if:nTF - { - \tl_if_empty_p:N \l__course_location_tl && - \tl_if_empty_p:N \l__course_teacher_tl - } - {\tl_set:Nn \l_shortcourse_anchor_tl { }} - {\tl_set:Nn \l_shortcourse_anchor_tl { above }} - \cs_if_exist:NT {\l__course_subject_tl } - { - \node [ shift = {(\fp_eval:n { - \clist_item:Nn \l__week_accum_clist - {\l__litetable_week_day_int}- + % Course box fg + \begin{scope} + \clip [ preaction = { draw, ultra~thick, \l__course_color_tl!60 }, + preaction = { fill, \l__course_color_tl!10 }, + rounded~corners = 8pt + ] ([shift = + {( + \fp_eval:n + { + \clist_item:Nn \l__week_accum_clist + { \l__litetable_week_day_int } - + \clist_item:Nn \l__week_ratio_clist + { \l__litetable_week_day_int } + } \l__week_hunit_dim + \paperwidth/15 + 1.2pt, + \fp_eval:n { - .5 - 2 * #1 } \l__time_vunit_dim - 1.2pt + )} + ]current~page.north~west) rectangle + + ( \clist_item:Nn \l__week_ratio_clist - {\l__litetable_week_day_int}/2 - }\l__week_hunit_dim+\paperwidth/15, - \fp_eval:n {-1.75-#1-#2}\l__time_vunit_dim)}, - \l_shortcourse_anchor_tl, \l__course_color_tl!60, - align = center, font = \large\bfseries - ] at (current~page.north~west) - { \l__course_subject_tl }; - } - \bool_if:nTF - { - !\tl_if_empty_p:N \l__course_location_tl && - !\tl_if_empty_p:N \l__course_teacher_tl - } - {\tl_set:Nn \l_shortcourse_sep_tl { ,~ }} - {\tl_set:Nn \l_shortcourse_sep_tl { }} - \node [ shift = {(\fp_eval:n { - \clist_item:Nn \l__week_accum_clist - {\l__litetable_week_day_int}- + { \l__litetable_week_day_int } \l__week_hunit_dim - 2.4pt, + \fp_eval:n { 2 * ( #1 - #2 - 1 ) } \l__time_vunit_dim + 2.4pt + ); + % Course box bg + \fill [ \l__course_color_tl!60 ] + ([shift = + {( + \fp_eval:n + { + \clist_item:Nn \l__week_accum_clist + { \l__litetable_week_day_int } - + \clist_item:Nn \l__week_ratio_clist + { \l__litetable_week_day_int } + } \l__week_hunit_dim + \paperwidth/15, + \fp_eval:n { - .5 - 2 * #1 } \l__time_vunit_dim + )} + ]current~page.north~west) rectangle + + ( \clist_item:Nn \l__week_ratio_clist - {\l__litetable_week_day_int}/2 - }\l__week_hunit_dim+\paperwidth/15, - \fp_eval:n {-1.75-#1-#2}\l__time_vunit_dim)}, - below, \l__course_color_tl!60, align = center + { \l__litetable_week_day_int } \l__week_hunit_dim, + - .5\l__time_vunit_dim + ); + \end{scope} + % Course info + \tl_if_eq:NNTF {#1} {#2}% Single-unit height course box + { + \bool_if:nTF + { + \tl_if_empty_p:N \l__course_location_tl && + \tl_if_empty_p:N \l__course_teacher_tl + } + { \tl_set:Nn \l_shortcourse_anchor_tl { } } + { \tl_set:Nn \l_shortcourse_anchor_tl { above } } + \cs_if_exist:NT { \l__course_subject_tl } + { + \node + [ shift = + {( + \fp_eval:n + { + \clist_item:Nn \l__week_accum_clist + { \l__litetable_week_day_int } - + \clist_item:Nn \l__week_ratio_clist + { \l__litetable_week_day_int }/2 + } \l__week_hunit_dim + \paperwidth/15, + \fp_eval:n { -1.75 - #1 - #2 } \l__time_vunit_dim + )}, align = center, font = \large\bfseries, + \l_shortcourse_anchor_tl, \l__course_color_tl!60 + ] at (current~page.north~west) { \l__course_subject_tl }; + } + \bool_if:nTF + { + !\tl_if_empty_p:N \l__course_location_tl && + !\tl_if_empty_p:N \l__course_teacher_tl + } + { \tl_set:Nn \l_shortcourse_sep_tl { ,~ } } + { \tl_set:Nn \l_shortcourse_sep_tl { } } + \node + [ shift = + {( + \fp_eval:n + { + \clist_item:Nn \l__week_accum_clist + { \l__litetable_week_day_int } - + \clist_item:Nn \l__week_ratio_clist + { \l__litetable_week_day_int }/2 + } \l__week_hunit_dim + \paperwidth/15, + \fp_eval:n { - 1.75 - #1 - #2 } \l__time_vunit_dim + )}, below, \l__course_color_tl!60, align = center ] at (current~page.north~west) - { - \tl_if_exist:NT { \l__course_location_tl } - { \l__course_location_tl } - \l_shortcourse_sep_tl - \tl_if_exist:NT { \l__course_teacher_tl } - { \l__course_teacher_tl } - }; - } - { - \bool_if:nTF% Multiply-unit height course box - { - \tl_if_empty_p:N \l__course_location_tl && - \tl_if_empty_p:N \l__course_teacher_tl - } - { - \tl_set:Nn \l_course_anchor_tl {} - \dim_set:Nn \l__course_infoshift_dim { 0pt } - } - { - \tl_set:Nn \l_course_anchor_tl { above } - \dim_set:Nn \l__course_infoshift_dim { \l__time_vunit_dim/8 } - } - \cs_if_exist:NT { \l__course_subject_tl } - { - \node [ font = \large\bfseries, \l_course_anchor_tl, - shift = {(\fp_eval:n { - \clist_item:Nn \l__week_accum_clist - {\l__litetable_week_day_int}- - \clist_item:Nn \l__week_ratio_clist - {\l__litetable_week_day_int }/2 - }\l__week_hunit_dim+\paperwidth/15, - \fp_eval:n {-1.5-#1-#2}\l__time_vunit_dim)}, - yshift = \l__course_infoshift_dim, - \l__course_color_tl!60, align = center, - ] at (current~page.north~west) - { \l__course_subject_tl }; - } - \bool_if:nTF - { - !\tl_if_empty_p:N \l__course_location_tl && - !\tl_if_empty_p:N \l__course_teacher_tl - } - { - \tl_set:Nn \l_courseinfo_sep_tl { \\ } - } - { - \tl_set:Nn \l_courseinfo_sep_tl { } - } - \node [ below, \l__course_color_tl!60, align = center, - shift = {(\fp_eval:n { - \clist_item:Nn \l__week_accum_clist - {\l__litetable_week_day_int}- - \clist_item:Nn \l__week_ratio_clist - {\l__litetable_week_day_int}/2 - }\l__week_hunit_dim+\paperwidth/15, - \fp_eval:n {-1.625-#1-#2}\l__time_vunit_dim - )}] at (current~page.north~west) - { - \tl_if_exist:NT { \l__course_location_tl } - { \l__course_location_tl } - \l_courseinfo_sep_tl - \tl_if_exist:NT { \l__course_teacher_tl } - { \l__course_teacher_tl } - }; - \node [ above~left, \l__course_color_tl!60, outer~sep = .5ex, - shift = {( - \clist_item:Nn \l__week_accum_clist - {\l__litetable_week_day_int} - \l__week_hunit_dim+\paperwidth/15, - \fp_eval:n {-2.5-2*#2}\l__time_vunit_dim - )}] at (current~page.north~west) { \l__default_weeks_tl }; + { + \tl_if_exist:NT { \l__course_location_tl } + { \l__course_location_tl } + \l_shortcourse_sep_tl + \tl_if_exist:NT { \l__course_teacher_tl } + { \l__course_teacher_tl } + }; + } + { + \bool_if:nTF% Multiply-unit height course box + { + \tl_if_empty_p:N \l__course_location_tl && + \tl_if_empty_p:N \l__course_teacher_tl + } + { + \tl_set:Nn \l_course_anchor_tl { } + \dim_set:Nn \l__course_infoshift_dim { 0pt } + } + { + \tl_set:Nn \l_course_anchor_tl { above } + \dim_set:Nn \l__course_infoshift_dim { \l__time_vunit_dim/8 } + } + \cs_if_exist:NT { \l__course_subject_tl } + { + \node + [ shift = + {( + \fp_eval:n + { + \clist_item:Nn \l__week_accum_clist + { \l__litetable_week_day_int } - + \clist_item:Nn \l__week_ratio_clist + { \l__litetable_week_day_int }/2 + } \l__week_hunit_dim + \paperwidth/15, + \fp_eval:n { - 1.5 - #1 - #2 } \l__time_vunit_dim+ + \l__course_infoshift_dim + )}, font = \large\bfseries, \l_course_anchor_tl, + \l__course_color_tl!60, align = center + ] at (current~page.north~west) { \l__course_subject_tl }; + } + \bool_if:nTF + { + !\tl_if_empty_p:N \l__course_location_tl && + !\tl_if_empty_p:N \l__course_teacher_tl + } + { \tl_set:Nn \l_courseinfo_sep_tl { \\ } } + { \tl_set:Nn \l_courseinfo_sep_tl { } } + \node + [ shift = + {( + \fp_eval:n + { + \clist_item:Nn \l__week_accum_clist + { \l__litetable_week_day_int } - + \clist_item:Nn \l__week_ratio_clist + { \l__litetable_week_day_int }/2 + } \l__week_hunit_dim + \paperwidth/15, + \fp_eval:n { - 1.625 - #1 - #2 } \l__time_vunit_dim + )}, below, \l__course_color_tl!60, align = center + ] at (current~page.north~west) + { + \tl_if_exist:NT { \l__course_location_tl } + { \l__course_location_tl } + \l_courseinfo_sep_tl + \tl_if_exist:NT { \l__course_teacher_tl } + { \l__course_teacher_tl } + }; + \node + [ shift = + {(\clist_item:Nn \l__week_accum_clist + { \l__litetable_week_day_int } + \l__week_hunit_dim + \paperwidth/15, + \fp_eval:n { - 2.5 - 2 * #2 } \l__time_vunit_dim + )}, above~left, \l__course_color_tl!60, outer~sep = .5ex + ] at (current~page.north~west) { \l__default_weeks_tl }; + } } -} \litetable_msg_new:nn { course } -{ \exp_not:N \course~box(s)~exceed~workdays~were~ignored } + { \exp_not:N \course~box(s)~exceed~workdays~were~ignored } \NewDocumentCommand \course { O{} m O{} m O{} } -{ - \group_begin: - \int_compare:nNnTF {\l__litetable_week_day_int-1} < - {\clist_count:N \l__litetable_weeklist_clist} { - \keys_set:nn { litetable / course } { #1#3#5 } - \__litetable_course_box_aux:nn { #2 } { #4 } - }{ - \litetable_msg_warning:n { course } + \group_begin: + \int_compare:nNnTF { \l__litetable_week_day_int - 1 } < + { \clist_count:N \l__litetable_weeklist_clist } + { + \keys_set:nn { litetable / course } { #1 #3 #5 } + \__litetable_course_box_aux:nn {#2} {#4} + } + { \litetable_msg_warning:n { course } } + \group_end: } - \group_end: -} \endinput -% End of file litetable.cls
\ No newline at end of file +% End of file litetable.cls |