diff options
author | Norbert Preining <norbert@preining.info> | 2021-09-10 03:01:08 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2021-09-10 03:01:08 +0000 |
commit | 4e370b2ebab8272a89ed81ba95cf068ef2b07ef0 (patch) | |
tree | 869e4cc26f36bbfe7c7363149018cc898588b9e2 /macros | |
parent | 30ebcb04bb501c56bfac1652a749eda69ba28c34 (diff) |
CTAN sync 202109100301
Diffstat (limited to 'macros')
24 files changed, 287 insertions, 145 deletions
diff --git a/macros/latex/contrib/crumbs/crumbs.pdf b/macros/latex/contrib/crumbs/crumbs.pdf Binary files differindex 51b6922ad5..f9e2892b64 100644 --- a/macros/latex/contrib/crumbs/crumbs.pdf +++ b/macros/latex/contrib/crumbs/crumbs.pdf diff --git a/macros/latex/contrib/crumbs/crumbs.sty b/macros/latex/contrib/crumbs/crumbs.sty index 89126af2fb..2b497078da 100644 --- a/macros/latex/contrib/crumbs/crumbs.sty +++ b/macros/latex/contrib/crumbs/crumbs.sty @@ -21,7 +21,7 @@ % SOFTWARE. \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{crumbs}[2021/09/06 0.2.1 Navigation Crumbs] +\ProvidesPackage{crumbs}[2021/09/09 0.2.2 Navigation Crumbs] \RequirePackage{etoolbox} @@ -82,8 +82,17 @@ \crumbsoldsubsection{#2} } -\newcommand\crumb[2]{#1} -\newcommand\subcrumb[2]{#1} +\ifcsname crumb\endcsname + \message{The command "crumb" already defined} +\else + \newcommand\crumb[2]{#1} +\fi +\ifcsname subcrumb\endcsname + \message{The command "crumb" already defined} +\else + \newcommand\subcrumb[2]{#1} +\fi + \newcommand*\crumbs{} \newcounter{crumbi} \newcounter{subcrumbi} diff --git a/macros/latex/contrib/crumbs/crumbs.tex b/macros/latex/contrib/crumbs/crumbs.tex index 250be01c66..ce34e8c650 100644 --- a/macros/latex/contrib/crumbs/crumbs.tex +++ b/macros/latex/contrib/crumbs/crumbs.tex @@ -42,7 +42,7 @@ \title{\ff{crumbs}: \LaTeX{} Package \\ for Navigation Crumbs} \author{Yegor Bugayenko} -\date{0.2.1 2021/09/06} +\date{0.2.2 2021/09/09} \begin{document} \pagenumbering{gobble} diff --git a/macros/latex/contrib/csvsimple/CHANGES.md b/macros/latex/contrib/csvsimple/CHANGES.md index 391db06d65..db4d888f5b 100644 --- a/macros/latex/contrib/csvsimple/CHANGES.md +++ b/macros/latex/contrib/csvsimple/CHANGES.md @@ -16,6 +16,26 @@ and this project adheres to ### Security + +## [2.2.0] - 2021-09-09 + +### Added +- Configurable usage of tabular-like environments (issue #12) +- Option `table centered` +- Option `generic table` +- Option `generic collected table` +- Option `generic table options` + +### Changed +- The implementation of all tabular-like environments uses the new + generic environments now internally. Should be unnoticeable for a user. + +### Fixed +- documentation typo correction and small improvents (issue #15) +- Option `long tabularray` + + + ## [2.1.0] - 2021-07-06 ### Added diff --git a/macros/latex/contrib/csvsimple/README.md b/macros/latex/contrib/csvsimple/README.md index 37316ec36e..0aa089a195 100644 --- a/macros/latex/contrib/csvsimple/README.md +++ b/macros/latex/contrib/csvsimple/README.md @@ -1,4 +1,4 @@ -# The LaTeX package csvsimple - version 2.1.0 (2021/07/06) +# The LaTeX package csvsimple - version 2.2.0 (2021/09/09) > Copyright (c) 2008-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> diff --git a/macros/latex/contrib/csvsimple/csvsimple-doc.sty b/macros/latex/contrib/csvsimple/csvsimple-doc.sty index c4b2c0bb40..dc0b054c61 100644 --- a/macros/latex/contrib/csvsimple/csvsimple-doc.sty +++ b/macros/latex/contrib/csvsimple/csvsimple-doc.sty @@ -1,5 +1,5 @@ % !TeX encoding=UTF-8 -%% The LaTeX package csvsimple - version 2.1.0 (2021/07/06) +%% The LaTeX package csvsimple - version 2.2.0 (2021/09/09) %% csvsimple-doc.sty: style file for the documentation %% %% ------------------------------------------------------------------------------------------- @@ -18,8 +18,8 @@ %% %% This work consists of all files listed in README.md %% -\def\version{2.1.0}% -\def\datum{2021/07/06}% +\def\version{2.2.0}% +\def\datum{2021/09/09}% \IfFileExists{csvsimple-doc.cfg}{\input{csvsimple-doc.cfg}}{}\providecommand\csvpkgprefix{} diff --git a/macros/latex/contrib/csvsimple/csvsimple-example.pdf b/macros/latex/contrib/csvsimple/csvsimple-example.pdf Binary files differindex 62a47111b6..f9fe37f142 100644 --- a/macros/latex/contrib/csvsimple/csvsimple-example.pdf +++ b/macros/latex/contrib/csvsimple/csvsimple-example.pdf diff --git a/macros/latex/contrib/csvsimple/csvsimple-example.tex b/macros/latex/contrib/csvsimple/csvsimple-example.tex index e6466807a3..9cfce5bf2f 100644 --- a/macros/latex/contrib/csvsimple/csvsimple-example.tex +++ b/macros/latex/contrib/csvsimple/csvsimple-example.tex @@ -1,4 +1,4 @@ -%% The LaTeX package csvsimple - version 2.1.0 (2021/07/06) +%% The LaTeX package csvsimple - version 2.2.0 (2021/09/09) %% csvsimple-example.tex: an example for csvsimple %% %% ------------------------------------------------------------------------------------------- diff --git a/macros/latex/contrib/csvsimple/csvsimple-l3.pdf b/macros/latex/contrib/csvsimple/csvsimple-l3.pdf Binary files differindex eec13b49b4..9cfe37716d 100644 --- a/macros/latex/contrib/csvsimple/csvsimple-l3.pdf +++ b/macros/latex/contrib/csvsimple/csvsimple-l3.pdf diff --git a/macros/latex/contrib/csvsimple/csvsimple-l3.sty b/macros/latex/contrib/csvsimple/csvsimple-l3.sty index cfaf0b9819..1d8e036ce7 100644 --- a/macros/latex/contrib/csvsimple/csvsimple-l3.sty +++ b/macros/latex/contrib/csvsimple/csvsimple-l3.sty @@ -1,4 +1,4 @@ -%% The LaTeX package csvsimple - version 2.1.0 (2021/07/06) +%% The LaTeX package csvsimple - version 2.2.0 (2021/09/09) %% csvsimple-l3.sty: Simple LaTeX CSV file processing (LaTeX3) %% %% ------------------------------------------------------------------------------------------- @@ -17,7 +17,7 @@ %% %% This work consists of all files listed in README.md %% -\ProvidesExplPackage{csvsimple-l3}{2021/07/06}{2.1.0} +\ProvidesExplPackage{csvsimple-l3}{2021/09/09}{2.2.0} {LaTeX3 CSV file processing} @@ -79,15 +79,18 @@ \tl_const:Nn \c__csvsim_par_tl { \par } + \tl_new:N \g__csvsim_after_table_tl \tl_new:N \g__csvsim_before_table_tl +\tl_new:N \g__csvsim_begin_table_center_tl \tl_new:N \g__csvsim_body_tl \tl_new:N \g__csvsim_catcode_tl - \tl_new:N \g__csvsim_collect_tl \tl_new:N \g__csvsim_columnnames_tl \tl_new:N \g__csvsim_data_collection_tl +\tl_new:N \g__csvsim_end_table_center_tl \tl_new:N \g__csvsim_filter_tl +\tl_new:N \g__csvsim_generic_table_options_tl \tl_new:N \g__csvsim_headname_prefix_tl \tl_new:N \g__csvsim_hook_after_filter_tl \tl_new:N \g__csvsim_hook_after_first_line_tl @@ -1038,79 +1041,65 @@ \keys_define:nn { csvsim } { - before~table .tl_gset:N = \g__csvsim_before_table_tl, - after~table .tl_gset:N = \g__csvsim_after_table_tl, - table~head .tl_gset:N = \g__csvsim_table_head_tl, - table~foot .tl_gset:N = \g__csvsim_table_foot_tl, - _table_ .code:n = \__csvsim_key_table:nn #1, - no~table .meta:n = { _table_={}{} }, - tabular .meta:n = - { - _table_ = { \g__csvsim_before_table_tl\begin{tabular}{#1}\g__csvsim_table_head_tl } - { \g__csvsim_table_foot_tl\end{tabular}\g__csvsim_after_table_tl }, - late~after~line = \\ + before~table .tl_gset:N = \g__csvsim_before_table_tl, + after~table .tl_gset:N = \g__csvsim_after_table_tl, + table~head .tl_gset:N = \g__csvsim_table_head_tl, + table~foot .tl_gset:N = \g__csvsim_table_foot_tl, + generic~table~options .tl_gset:N = \g__csvsim_generic_table_options_tl, + table~centered .choice:, + table~centered .default:n = true, + table~centered/true .code:n = + { + \tl_gset:Nn \g__csvsim_begin_table_center_tl {\begin{center}} + \tl_gset:Nn \g__csvsim_end_table_center_tl {\end{center}} }, - centered~tabular .meta:n = + table~centered/false .code:n = { - _table_ = { \begin{center}\g__csvsim_before_table_tl\begin{tabular}{#1}\g__csvsim_table_head_tl } - { \g__csvsim_table_foot_tl\end{tabular}\g__csvsim_after_table_tl\end{center} }, - late~after~line = \\ + \tl_gclear:N \g__csvsim_begin_table_center_tl + \tl_gclear:N \g__csvsim_end_table_center_tl }, - longtable .meta:n = + _table_ .code:n = \__csvsim_key_table:nn #1, + no~table .meta:n = { - _table_ = { \g__csvsim_before_table_tl\begin{longtable}{#1}\g__csvsim_table_head_tl } - { \g__csvsim_table_foot_tl\end{longtable}\g__csvsim_after_table_tl }, - late~after~line = \\ - }, - tabbing .meta:n = - { - _table_ = { \g__csvsim_before_table_tl\begin{tabbing}\g__csvsim_table_head_tl } - { \g__csvsim_table_foot_tl\end{tabbing}\g__csvsim_after_table_tl }, - late~after~line = \\, - late~after~last~line = - }, - centered~tabbing .meta:n = - { - _table_ = { \begin{center}\g__csvsim_before_table_tl\begin{tabbing}\g__csvsim_table_head_tl } - { \g__csvsim_table_foot_tl\end{tabbing}\g__csvsim_after_table_tl\end{center} }, - late~after~line = \\, - late~after~last~line = + _table_ = {}{}, + generic~table~options = , + table~centered = false, }, - tabularray .meta:n = + generic~table .meta:n = { - collect~data, _table_ = { - \tl_gput_right:NV \g__csvsim_collect_tl \g__csvsim_before_table_tl - \tl_gput_right:Nn \g__csvsim_collect_tl { \begin{tblr}{#1} } - \tl_gput_right:NV \g__csvsim_collect_tl \g__csvsim_table_head_tl + \g__csvsim_begin_table_center_tl + \g__csvsim_before_table_tl + \tl_gset:Nn \g_tmpa_tl {\begin{#1}} + \tl_gput_right:NV \g_tmpa_tl \g__csvsim_generic_table_options_tl + \g_tmpa_tl + \g__csvsim_table_head_tl } { - \tl_gput_right:NV \g__csvsim_collect_tl \g__csvsim_table_foot_tl - \tl_gput_right:Nn \g__csvsim_collect_tl { \end{tblr} } - \tl_gput_right:NV \g__csvsim_collect_tl \g__csvsim_after_table_tl - }, - late~after~line = \\, - after~reading = - { - \tl_use:N \g__csvsim_collect_tl + \g__csvsim_table_foot_tl + \end{#1} + \g__csvsim_after_table_tl + \g__csvsim_end_table_center_tl }, + late~after~line = \\ }, - centered~tabularray .meta:n = + generic~collected~table .meta:n = { collect~data, _table_ = { - \tl_gput_right:Nn \g__csvsim_collect_tl { \begin{center} } + \tl_gput_right:NV \g__csvsim_collect_tl \g__csvsim_begin_table_center_tl \tl_gput_right:NV \g__csvsim_collect_tl \g__csvsim_before_table_tl - \tl_gput_right:Nn \g__csvsim_collect_tl { \begin{tblr}{#1} } + \tl_gput_right:Nn \g__csvsim_collect_tl { \begin{#1} } + \tl_gput_right:NV \g__csvsim_collect_tl \g__csvsim_generic_table_options_tl \tl_gput_right:NV \g__csvsim_collect_tl \g__csvsim_table_head_tl } { \tl_gput_right:NV \g__csvsim_collect_tl \g__csvsim_table_foot_tl - \tl_gput_right:Nn \g__csvsim_collect_tl { \end{tblr} } + \tl_gput_right:Nn \g__csvsim_collect_tl { \end{#1} } \tl_gput_right:NV \g__csvsim_collect_tl \g__csvsim_after_table_tl - \tl_gput_right:Nn \g__csvsim_collect_tl { \end{center} } + \tl_gput_right:NV \g__csvsim_collect_tl \g__csvsim_end_table_center_tl }, late~after~line = \\, after~reading = @@ -1118,6 +1107,54 @@ \tl_use:N \g__csvsim_collect_tl }, }, + } + + +\keys_define:nn { csvsim } + { + tabular .meta:n = + { + generic~table = tabular, + generic~table~options = {{#1}}, + }, + centered~tabular .meta:n = + { + tabular = {#1}, table~centered + }, + longtable .meta:n = + { + generic~table = longtable, + generic~table~options = {{#1}}, + }, + tabbing .meta:n = + { + generic~table = tabbing, + generic~table~options =, + late~after~last~line = + }, + centered tabbing .meta:n = + { + tabbing, table~centered + }, + tabularray .meta:n = + { + generic~collected~table = tblr, + generic~table~options = {{#1}}, + }, + centered~tabularray .meta:n = + { + tabularray = {#1}, table~centered + }, + long~tabularray .meta:n = + { + generic~collected~table = longtblr, + generic~table~options = {{#1}}, + }, + } + + +\keys_define:nn { csvsim } + { _autotab_ .meta:n = { file = #1, diff --git a/macros/latex/contrib/csvsimple/csvsimple-l3.tex b/macros/latex/contrib/csvsimple/csvsimple-l3.tex index fc8d82b903..ec9dd0b47f 100644 --- a/macros/latex/contrib/csvsimple/csvsimple-l3.tex +++ b/macros/latex/contrib/csvsimple/csvsimple-l3.tex @@ -1,6 +1,6 @@ % \LaTeX-Main\ % !TeX encoding=UTF-8 -%% The LaTeX package csvsimple - version 2.1.0 (2021/07/06) +%% The LaTeX package csvsimple - version 2.2.0 (2021/09/09) %% csvsimple.tex: Manual %% %% ------------------------------------------------------------------------------------------- @@ -1379,12 +1379,15 @@ The following example displays the last three line numbers: \clearpage \subsection{Table Support}\label{subsec:tabsupport}%--------%[[ +\subsubsection{Predefined Tables}\label{subsubsec:table_predef} + \begin{docCsvKey}{tabular}{=\meta{table format}}{style, no default} Surrounds the CSV processing with |\begin{tabular}|\marg{table format} at begin and with |\end{tabular}| at end. Additionally, the commands defined by the key values of \refKey{/csvsim/before table}, \refKey{/csvsim/table head}, \refKey{/csvsim/table foot}, and \refKey{/csvsim/after table} are executed at the appropriate places. + \refKey{/csvsim/late after line} is set to \cs{}\cs{}. \end{docCsvKey} @@ -1419,40 +1422,128 @@ The following example displays the last three line numbers: \end{docCsvKey} +\begin{docCsvKey}[][doc new=2021-07-23]{long tabularray}{=\meta{table format}}{style, no default} + Like \refKey{/csvsim/tabularray} but using the |longtblr| environment + from the package \ctanpkg{tabularray} (not loaded automatically). +\end{docCsvKey} + + \begin{docCsvKey}[][doc new=2021-07-06]{centered tabularray}{=\meta{table format}}{style, no default} Like \refKey{/csvsim/tabularray} but inside an additional |center| environment. \end{docCsvKey} \begin{docCsvKey}{no table}{}{style, no value} - Deactivates |tabular|, |longtable|, and |tabbing|. + Deactivates |tabular|-like environments activated by + \refKey{/csvsim/tabular}, \refKey{/csvsim/longtable}, etc. + Note that not all settings of \refKey{/csvsim/tabularray} are reverted. \end{docCsvKey} +\clearpage +\subsubsection{Additional Options for Tables}\label{subsubsec:table_options} + \begin{docCsvKey}{before table}{=\meta{code}}{no default, initially empty} - Sets the \meta{code} to be executed before |\begin{tabular}| or before |\begin{longtable}| - or before |\begin{tabbing}|, respectively. + Sets the \meta{code} to be executed before the begin of |tabular|-like environments, + i.e. immediately before |\begin{tabular}|, etc. \end{docCsvKey} \begin{docCsvKey}{table head}{=\meta{code}}{no default, initially empty} - Sets the \meta{code} to be executed after |\begin{tabular}| or after |\begin{longtable}| - or after |\begin{tabbing}|, respectively. + Sets the \meta{code} to be executed after the begin of |tabular|-like environments, + i.e. immediately after |\begin{tabular}|, etc. \end{docCsvKey} \begin{docCsvKey}{table foot}{=\meta{code}}{no default, initially empty} - Sets the \meta{code} to be executed before |\end{tabular}| or before |\end{longtable}| - or before |\end{tabbing}|, respectively. + Sets the \meta{code} to be executed before the end of |tabular|-like environments, + i.e. immediately before |\end{tabular}|, etc. \end{docCsvKey} \begin{docCsvKey}{after table}{=\meta{code}}{no default, initially empty} - Sets the \meta{code} to be executed after |\end{tabular}| or after |\end{longtable}| - or after |\end{tabbing}|, respectively. + Sets the \meta{code} to be executed after the end of |tabular|-like environments, + i.e. immediately after |\end{tabular}|, etc. +\end{docCsvKey} + + +\begin{docCsvKey}[][doc new=2021-09-09]{table centered}{\colOpt{=true\textbar false}}{default |true|, initially |false|} + If |true|, the table is put inside an additional |center| environment. + This environment begins before \refKey{/csvsim/before table} + and ends after \refKey{/csvsim/after table}. The predefined |tabular|-like environments + from Section~\fullref{subsubsec:table_predef} use this option internally, + i.e. \mbox{|centered tabular={ccc}|} is identical to + \mbox{|tabular={ccc}, table centered|}. \end{docCsvKey} + +\clearpage +\subsubsection{Generic Tables}\label{subsubsec:table_generic} +In Section~\fullref{subsubsec:table_predef}, several |tabular|-like environments +are described with predefined keys. The following keys allow to use further +|tabular|-like environments with configurable names and options. + + +\begin{docCsvKey}[][doc new=2021-09-09]{generic table}{=\meta{name}}{no default, initially empty} + Surrounds the CSV processing with \cs{begin}\marg{name} + at begin and with \cs{end}\marg{name} at end. + Additionally, the commands defined by the key values of + \refKey{/csvsim/before table}, \refKey{/csvsim/table head}, \refKey{/csvsim/table foot}, + and \refKey{/csvsim/after table} are executed at the appropriate places. + \refKey{/csvsim/late after line} is set to \cs{}\cs{}.\par + If the environment \meta{name} takes options, these have to be set using + \refKey{/csvsim/generic table options}. + +\begin{dispListing} + % The `tabular` environment would be used like the following example + ... + generic table = tabular, + generic table options = {{ccllrr}}, + ... +\end{dispListing} +\end{docCsvKey} + + +\begin{docCsvKey}[][doc new=2021-09-09]{generic collected table}{=\meta{name}}{no default, initially empty} + Like \refKey{/csvsim/generic table} but for environments which need + collected content, e.g. |tblr| from package \ctanpkg{tabularray}, see \Fullref{sec:datacollection}. + Note that \refKey{/csvsim/after reading} is set to use the collected + data immediately. + +\begin{dispListing} + % The `tblr` environment from package `tabularray` would be used + % like the following example + ... + generic collected table = tblr, + generic table options = {{rowsep=1mm, colsep=5mm}}, + ... +\end{dispListing} +\end{docCsvKey} + + +\begin{docCsvKey}[][doc new=2021-09-09]{generic table options}{=\marg{code}}{no default, initially empty} + Places \meta{code} immediately after \cs{begin}\marg{name} set up with + \refKey{/csvsim/generic table} or \refKey{/csvsim/generic collected table}. + \meta{code} may contain any parameters the environment \meta{name} needs to have. + \textbf{\color{red!50!black}You are strongly advised to use an extra pair of + curly brackets \marg{code} around \meta{code}}, because the outer pair of braces is + removed during option processing, see examples above. +\begin{dispListing} + % Environment without parameters: + generic table options =, + % Environment with a mandatory parameter: + generic table options = {{parameter}}, + % Environment with an optional and a mandatory parameter: + generic table options = {[optional]{mandatory}}, + % Environment with two mandatory parameters: + generic table options = {{mandatory 1}{mandatory 2}}, +\end{dispListing} + +\end{docCsvKey} + + \clearpage +\subsubsection{General Survey Tables}\label{subsubsec:table_survey} The following |auto| options are the counterparts for the respective quick overview commands like \refCom{csvautotabular}. They are listed for @@ -1977,39 +2068,39 @@ Sets the collection macro to an alternative for \refCom{csvdatacollection}. \end{docCsvKey} -\begin{docCommand}[doc new=2021-07-26]{csvdatacollection}{} +\begin{docCommand}[doc new=2021-07-06]{csvdatacollection}{} Macro which contains the collected data of a CSV file processed with \refKey{/csvsim/collect data}. This macro name can be changed by settiing \refKey{/csvsim/data collection}. \end{docCommand} -\begin{docCommand}[doc new=2021-07-26]{csvexpval}{\meta{macro}} +\begin{docCommand}[doc new=2021-07-06]{csvexpval}{\meta{macro}} Recovers the content of the given \meta{macro} and prevents further expansion. This is a wrapper for \docAuxCommand*{exp_not:V}. Alternatively, |\expandonce| from \ctanpkg{etoolbox} could be used. \end{docCommand} -\begin{docCommand}[doc new=2021-07-26]{csvexpnot}{\meta{macro}} +\begin{docCommand}[doc new=2021-07-06]{csvexpnot}{\meta{macro}} Prevents the expansion of the given \meta{macro}. This is a wrapper for \docAuxCommand*{exp_not:N}. Alternatively, |\noexpand| could be used. \end{docCommand} -\begin{docCommand}[doc new=2021-07-26]{csvcollectn}{\marg{code}} +\begin{docCommand}[doc new=2021-07-06]{csvcollectn}{\marg{code}} Appends the given \meta{code} to \refCom{csvdatacollection}.\\ This corresponds to \docAuxCommand*{tl_gput_right:Nn}. \end{docCommand} -\begin{docCommand}[doc new=2021-07-26]{csvcollectx}{\marg{code}} +\begin{docCommand}[doc new=2021-07-06]{csvcollectx}{\marg{code}} Appends the expansion of the given \meta{code} to \refCom{csvdatacollection}.\\ This corresponds to \docAuxCommand*{tl_gput_right:Nx}. \end{docCommand} -\begin{docCommand}[doc new=2021-07-26]{csvcollectV}{\meta{macro}} +\begin{docCommand}[doc new=2021-07-06]{csvcollectV}{\meta{macro}} Appends the content of the given \meta{macro} to \refCom{csvdatacollection}.\\ This corresponds to \docAuxCommand*{tl_gput_right:NV}. \end{docCommand} @@ -2537,7 +2628,7 @@ The following examples uses |data.csv| from \Fullref{sec:examgrapghpres}. \csvexpval\land & \csvexpval\group & \csvexpval\amount - & \csvexpnot\tablenum[exponent-mode=scientific, round-precision=3, + & \tablenum[exponent-mode=scientific, round-precision=3, round-mode=places, table-format=1.3e1]{\fpeval{pi*\amount}} } \end{dispExample} @@ -2555,6 +2646,9 @@ Note in the example above that \refCom{csvexpval}. \item |\ifcsvstrcmp| and |\fpeval| are \emph{expandable} and therefore the results of these commands are \emph{collected}. + \item |\tablenum| from \ctanpkg{siunitx} is a robust command and therefore + needs no protection. If you are not sure, if a command is robust or not, it + does not hurt add the prefix \refCom{csvexpnot}, i.e. use |\csvexpnot\tablenum|. \end{itemize} \end{itemize} diff --git a/macros/latex/contrib/csvsimple/csvsimple-legacy.pdf b/macros/latex/contrib/csvsimple/csvsimple-legacy.pdf Binary files differindex d732b8d80c..09ac043fd8 100644 --- a/macros/latex/contrib/csvsimple/csvsimple-legacy.pdf +++ b/macros/latex/contrib/csvsimple/csvsimple-legacy.pdf diff --git a/macros/latex/contrib/csvsimple/csvsimple-legacy.sty b/macros/latex/contrib/csvsimple/csvsimple-legacy.sty index 90be1ca205..b25fc3b516 100644 --- a/macros/latex/contrib/csvsimple/csvsimple-legacy.sty +++ b/macros/latex/contrib/csvsimple/csvsimple-legacy.sty @@ -1,4 +1,4 @@ -%% The LaTeX package csvsimple - version 2.1.0 (2021/07/06) +%% The LaTeX package csvsimple - version 2.2.0 (2021/09/09) %% csvsimple-legacy.sty: Simple LaTeX CSV file processing (LaTeX2e) %% %% ------------------------------------------------------------------------------------------- @@ -18,7 +18,7 @@ %% This work consists of all files listed in README.md %% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{csvsimple-legacy}[2021/07/06 version 2.1.0 LaTeX2e CSV file processing] +\ProvidesPackage{csvsimple-legacy}[2021/09/09 version 2.2.0 LaTeX2e CSV file processing] %---- check package diff --git a/macros/latex/contrib/csvsimple/csvsimple-legacy.tex b/macros/latex/contrib/csvsimple/csvsimple-legacy.tex index d38d3de3a7..4db0f7f875 100644 --- a/macros/latex/contrib/csvsimple/csvsimple-legacy.tex +++ b/macros/latex/contrib/csvsimple/csvsimple-legacy.tex @@ -1,6 +1,6 @@ % \LaTeX-Main\ % !TeX encoding=UTF-8 -%% The LaTeX package csvsimple - version 2.1.0 (2021/07/06) +%% The LaTeX package csvsimple - version 2.2.0 (2021/09/09) %% csvsimple.tex: Manual %% %% ------------------------------------------------------------------------------------------- diff --git a/macros/latex/contrib/csvsimple/csvsimple.pdf b/macros/latex/contrib/csvsimple/csvsimple.pdf Binary files differindex 46cfca6325..fd2185cb6f 100644 --- a/macros/latex/contrib/csvsimple/csvsimple.pdf +++ b/macros/latex/contrib/csvsimple/csvsimple.pdf diff --git a/macros/latex/contrib/csvsimple/csvsimple.sty b/macros/latex/contrib/csvsimple/csvsimple.sty index f4c8a1d503..55a6b32498 100644 --- a/macros/latex/contrib/csvsimple/csvsimple.sty +++ b/macros/latex/contrib/csvsimple/csvsimple.sty @@ -1,4 +1,4 @@ -%% The LaTeX package csvsimple - version 2.1.0 (2021/07/06) +%% The LaTeX package csvsimple - version 2.2.0 (2021/09/09) %% csvsimple.sty: Simple LaTeX CSV file processing %% %% ------------------------------------------------------------------------------------------- @@ -19,7 +19,7 @@ %% \RequirePackage{l3keys2e} -\ProvidesExplPackage{csvsimple}{2021/07/06}{2.1.0} +\ProvidesExplPackage{csvsimple}{2021/09/09}{2.2.0} {LaTeX CSV file processing} \cs_if_exist:NT \c__csvsim_package_expl_bool diff --git a/macros/latex/contrib/csvsimple/csvsimple.tex b/macros/latex/contrib/csvsimple/csvsimple.tex index 448e6698b0..968c43bc0c 100644 --- a/macros/latex/contrib/csvsimple/csvsimple.tex +++ b/macros/latex/contrib/csvsimple/csvsimple.tex @@ -1,6 +1,6 @@ % \LaTeX-Main\ % !TeX encoding=UTF-8 -%% The LaTeX package csvsimple - version 2.1.0 (2021/07/06) +%% The LaTeX package csvsimple - version 2.2.0 (2021/09/09) %% csvsimple.tex: Manual %% %% ------------------------------------------------------------------------------------------- diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx index ee291bcbb1..9c1a7d09c8 100644 --- a/macros/latex/contrib/easybook/easybook.dtx +++ b/macros/latex/contrib/easybook/easybook.dtx @@ -15,7 +15,7 @@ %<*class> \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{l3keys2e} -\ProvidesExplClass{easybook}{2021/09/08}{1.3a} +\ProvidesExplClass{easybook}{2021/09/08}{1.3b} {Typeset Chinese theses or books} \bool_set_false:N \l__eb_compile_draft_bool @@ -297,7 +297,7 @@ %<*package> \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{l3keys2e,etoolbox} -\ProvidesExplPackage{easybase}{2021/09/08}{1.3a} +\ProvidesExplPackage{easybase}{2021/09/08}{1.3b} {Typeset Chinese theses or books} \cs_generate_variant:Nn \dim_set:Nn { NV } @@ -1227,7 +1227,8 @@ section/rule = #1, subsection/rule = #1, list/rule = #1 - } + }, + unknown .code:n = \eb_msg_unknown_option:n { tocset } } \ctex_set:n { @@ -2397,7 +2398,7 @@ } %</package> %<*tcolorbox> -\ProvidesExplFile{eb-tcolorbox.cfg}{2021/09/08}{1.3a} +\ProvidesExplFile{eb-tcolorbox.cfg}{2021/09/08}{1.3b} {Customization of tcolorbox for easybook} \tl_gset:Nn \eb@tc@line@skip { 0.5\baselineskip } diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf Binary files differindex a27447bba5..aa520134ba 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 011565190a..7438b5ed7b 100644 --- a/macros/latex/contrib/easybook/easybook.tex +++ b/macros/latex/contrib/easybook/easybook.tex @@ -12,7 +12,7 @@ name = easybook, color-scheme = blue, title = EASYBOOK 使用手册, - version = v1.3a, + version = v1.3b, date = 2021/09/08, authors = 瞿毅, info = 排版简体中文学位论文和书籍, @@ -289,9 +289,9 @@ 它们的星号变体命令使文中标题不编号,但是仍然加入双语目录,若英文标题参数空置那么仅加入中文目录而不加入英文目录,这一特点与 \cs*{chapter}\sarg{} 等命令的行为不太一样,在一些情况下会用到。可选参数是目录中的中文标题,默认与中文标题一致,正文标题过长时可用它设置在目录中显示的标题。默认情况下双语目录的格式是一致的,共享使用 \module*{tocset} 模块的设置,英文目录的章级别标题名及编号的修改方式如下: \begin{options} \kvsplit{biname}{英文目录前名字,英文目录后名字}\Module{chapter}\Default{Chapter\cs*{space}} - 更改英文目录 \code{chapter} 级别的标题编号前后名字,类似 C\TeX 的 \option*{name} 选项。 + 更改英文目录 \code{chapter} 级别的标题编号前后名字,类似于 C\TeX 的 \option*{name} 选项。 \keyval-{binmuber}{英文目录数字输出命令}\Module{chapter}\Default{\cs*{arabic}\Marg{chapter}} - 更改英文目录 \code{chapter} 级别的标题编号输出格式,类似 C\TeX 的 \option*{number} 选项。 + 更改英文目录 \code{chapter} 级别的标题编号输出格式,类似于 C\TeX 的 \option*{number} 选项。 \end{options} \begin{commands} @@ -421,7 +421,7 @@ 模块 \module*{refset} 将超链接选项交给 \pkg*{hyperref} 宏包处理,除了一些关于 \code{pdf} 书签或已预设的选项可能失效,其它由接口命令 \cs*{hypersetup} 支持的多数选项可用。 \begin{options} \keychoice{linktype}{edge,colors,none}\Module{refset}\Default{edge} - 使超链接为边框形式,\option{various} 使超链接变为彩色,预置了四种颜色样式。\code{none} 关闭超链接边框与颜色,此时 \option{linkcolor} 选项无效。 + 超链接类型,\code{edge} 使超链接形式为边框,\code{colors} 使超链接字体为彩色,\code{none} 关闭超链接边框与颜色,此时 \option{linkcolor} 选项无效。 \keychoice{linkcolor}{fresh,cutepink,navyblue,crimson}\Default{navyblue} 超链接颜色样式,预置了四种超链接颜色风格。 \begin{commands} @@ -727,11 +727,11 @@ \subsection{目录样式} \label{subsec:catalog style} -模块 \module*{tocset} 将使用 \pkg*{titletoc} 处理目录样式。模块包括 \module*{part}、\module*{chapter}、\module*{section}、\module*{subsection}、\module*{figure}、\module*{table} 和 \module*{lstlisting} 二级路径,而使用 \module*{list} 路径可以统一设置图片、表格和代码目录的样式。模块中 \option{format}、\option{format+}、\option{indent}、\option{rule} 和 \option{numsep} 这 5 个选项支持所有路径级别,没有特别说明的其它选项则没有二级路径。目前支持常规的论文目录样式,更复杂的样式可以查看 \pkg*{titletoc} 宏包的相关用法。 +模块 \module*{tocset} 将使用 \pkg*{titletoc} 处理目录样式。模块包括 \module*{part}、\module*{chapter}、\module*{section}、\module*{subsection}、\module*{figure}、\module*{table} 和 \module*{lstlisting} 二级路径,而使用 \module*{list} 路径可以统一设置图片、表格和代码目录的样式。模块中 \option{format}、\option{format+}、\option{indent}、\option{rule} 和 \option{numsep} 这 5 个选项支持所有路径类型,没有特别说明的其它选项则没有二级路径。目前支持常规的论文目录样式,更复杂的样式可以查看 \pkg*{titletoc} 宏包的相关用法。 \begin{options} - \keyval-{format}{目录标题格式}\Module{tocset} - 各级别目录中标题的格式,可以设置字体和加入垂直间距等,垂直间距最好使用防止垂直间距重合的 \cs*{addvspace} 命令。 - \keyval-{format+}{目录标题格式} + \keyval-{format}{条目格式}\Module{tocset} + 目录中各级别条目的格式,可以设置条目字体和加入垂直间距等,垂直间距最好使用防止垂直间距重合的 \cs*{addvspace} 命令。 + \keyval-{format+}{条目格式} 与 \option{format} 用法一样,只是在已有的格式命令后附加代码。 \keyval-{indent}{刚性长度} 各级别目录中的标题左边缩进距离,通常标题级别越低缩进越大。 diff --git a/macros/latex/contrib/huawei/huawei.cls b/macros/latex/contrib/huawei/huawei.cls index 52df7f9632..480e84e2b4 100644 --- a/macros/latex/contrib/huawei/huawei.cls +++ b/macros/latex/contrib/huawei/huawei.cls @@ -21,12 +21,8 @@ % SOFTWARE. \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{huawei}[2021/09/08 0.10.0 Template for Huawei Documents] +\ProvidesClass{huawei}[2021/09/09 0.11.0 Template for Huawei Documents] -\newif\ifXL -\DeclareOption{XL}{\XLtrue} -\newif\ifXXL -\DeclareOption{XXL}{\XXLtrue} \newif\ifnosecurity \DeclareOption{nosecurity}{\nosecuritytrue} \newif\ifauthordraft @@ -104,26 +100,13 @@ \newcommand*\thesecurity{Confidential} \newcommand*\theid{} -% Custom commands \newcommand\nospell[1]{#1} -\newcommand\headers[1]{\setstretch{0.8}{\small\sffamily\color{gray}#1\par}} -\newcommand\crumb[2]{\begin{minipage}{\columnwidth}\raggedright\textsc{#1}:\\#2\end{minipage}\vspace{4pt}} -\usepackage{titlesec} - \ifXL - \titleformat*{\section}{\LARGE\bfseries} - \titleformat*{\subsection}{\Large\bfseries} - \titleformat*{\subsubsection}{\large\bfseries} - \titleformat*{\paragraph}{\large\bfseries} - \titleformat*{\subparagraph}{\large\bfseries} - \fi - \ifXXL - \titleformat*{\section}{\huge\bfseries} - \titleformat*{\subsection}{\LARGE\bfseries} - \titleformat*{\subsubsection}{\Large\bfseries} - \titleformat*{\paragraph}{\large\bfseries} - \titleformat*{\subparagraph}{\large\bfseries} - \fi +\newcommand\HuaweiHeader[1]{{% + \setstretch{0.8}% + \fontsize{11pt}{11pt}\selectfont% + \sffamily\color{gray}#1\par% +}} \AtBeginDocument{% \raggedbottom% @@ -132,8 +115,6 @@ \setlength\parskip{6pt}% \setlength\columnsep{32pt}% \def\arraystretch{1.5}% - \ifXL\large\fi - \ifXXL\Large\fi } \newcommand\LeftHuaweiBar{% @@ -187,7 +168,7 @@ \fi% \fi% \begin{textblock}{8}[1,0](15.8,0.2)% - \raggedleft\headers{% + \raggedleft\HuaweiHeader{% \ifnosecurity\else% \thesecurity \fi% @@ -195,7 +176,7 @@ \end{textblock}% \begin{textblock}{8}[0,1](1.2,15.8)% \ifnum\value{page}=1\else% - \headers{% + \HuaweiHeader{% \ifanonymous\else% \theauthor% \ifnosecurity\else% @@ -212,7 +193,7 @@ \fi% \end{textblock}% \begin{textblock}{8}[1,1](15.8,15.8)% - \raggedleft\headers{% + \raggedleft\HuaweiHeader{% \ifnum\value{page}=1\else% \ifnopaging\else% Page \#\thepage{} of \pageref*{LastPage}% @@ -262,6 +243,12 @@ \vspace{2em} } +\newcommand\PrintCrumb[2]{% + \begin{minipage}{\columnwidth}% + \raggedright\textsc{#1}:\\#2% + \end{minipage}\vspace{4pt}% +} + \newcommand\PrintThankYouPage{ \newpage \vspace*{\fill} diff --git a/macros/latex/contrib/huawei/huawei.pdf b/macros/latex/contrib/huawei/huawei.pdf Binary files differindex 66c69804bb..c46f5907b1 100644 --- a/macros/latex/contrib/huawei/huawei.pdf +++ b/macros/latex/contrib/huawei/huawei.pdf diff --git a/macros/latex/contrib/huawei/huawei.tex b/macros/latex/contrib/huawei/huawei.tex index 91bca320d5..63e24594bc 100644 --- a/macros/latex/contrib/huawei/huawei.tex +++ b/macros/latex/contrib/huawei/huawei.tex @@ -29,9 +29,9 @@ \begin{document} \maketitle -\ff{Version: 0.10.0} +\ff{Version: 0.11.0} \newline -\ff{Date: 2021/09/08} +\ff{Date: 2021/09/09} \section{Overview} @@ -115,12 +115,6 @@ the layout of your document: \ff{authordraft} prints a big ``It's a draft'' message across each page. -\ff{XL} - makes the font of the entire document a bit larger. - -\ff{XXL} - makes the font of the entire document much larger. - \section{Preamble} In the preamble you can specify meta information about the document, @@ -229,9 +223,9 @@ we recommend you to use ``crumbs'': \section*{Project Details} \begin{multicols}{2} \raggedright -\crumb{Budget}{\$100K} +\PrintCrumb{Budget}{\$100K} -\crumb{Duration}{5 months} +\PrintCrumb{Duration}{5 months} \end{multicols} \end{document} \end{minted} diff --git a/macros/latex/contrib/huawei/samples/huawei-charter.tex b/macros/latex/contrib/huawei/samples/huawei-charter.tex index 399e1cdc7d..e808392920 100644 --- a/macros/latex/contrib/huawei/samples/huawei-charter.tex +++ b/macros/latex/contrib/huawei/samples/huawei-charter.tex @@ -32,23 +32,23 @@ \section*{Project Details} \begin{multicols}{2} \raggedright -\crumb{Author and Project Manager}{\theauthor / \theid} +\PrintCrumb{Author and Project Manager}{\theauthor / \theid} -\crumb{Project Name}{Making Compression 15\% Faster} +\PrintCrumb{Project Name}{Making Compression 15\% Faster} -\crumb{Technical Adviser}{Jeff Lebowski, 00112233} +\PrintCrumb{Technical Adviser}{Jeff Lebowski, 00112233} -\crumb{Cooperation Manager}{Walter Sobchak, 00889977} +\PrintCrumb{Cooperation Manager}{Walter Sobchak, 00889977} -\crumb{Budget}{\$99,999} +\PrintCrumb{Budget}{\$99,999} -\crumb{Duration}{8 months} +\PrintCrumb{Duration}{8 months} -\crumb{Export Control}{No} +\PrintCrumb{Export Control}{No} -\crumb{AI Technology Involved}{No} +\PrintCrumb{AI Technology Involved}{No} -\crumb{Hardware Supply}{No} +\PrintCrumb{Hardware Supply}{No} \end{multicols} |