From cd2e7ab7ef89a5c3c1935281009729bff0f357e2 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sat, 8 Jan 2022 03:01:04 +0000 Subject: CTAN sync 202201080301 --- macros/latex/contrib/csvsimple/CHANGES.md | 7 + macros/latex/contrib/csvsimple/README.md | 4 +- macros/latex/contrib/csvsimple/csvsimple-doc.sty | 8 +- .../latex/contrib/csvsimple/csvsimple-example.pdf | Bin 75627 -> 75628 bytes .../latex/contrib/csvsimple/csvsimple-example.tex | 4 +- macros/latex/contrib/csvsimple/csvsimple-l3.pdf | Bin 1069621 -> 1087253 bytes macros/latex/contrib/csvsimple/csvsimple-l3.sty | 14 +- macros/latex/contrib/csvsimple/csvsimple-l3.tex | 4 +- .../latex/contrib/csvsimple/csvsimple-legacy.pdf | Bin 810667 -> 823839 bytes .../latex/contrib/csvsimple/csvsimple-legacy.sty | 6 +- .../latex/contrib/csvsimple/csvsimple-legacy.tex | 4 +- macros/latex/contrib/csvsimple/csvsimple.pdf | Bin 309079 -> 309007 bytes macros/latex/contrib/csvsimple/csvsimple.sty | 6 +- macros/latex/contrib/csvsimple/csvsimple.tex | 4 +- macros/latex/contrib/easybook/easybook.dtx | 11 +- macros/latex/contrib/easybook/easybook.pdf | Bin 595245 -> 595293 bytes macros/latex/contrib/easybook/easybook.tex | 6 +- macros/latex/contrib/pascaltriangle/README.md | 56 +++ macros/latex/contrib/pascaltriangle/build.sh | 8 + .../contrib/pascaltriangle/pascaltriangle.pdf | Bin 0 -> 165670 bytes .../contrib/pascaltriangle/pascaltriangle.sty | 397 +++++++++++++++++++++ .../contrib/pascaltriangle/pascaltriangle.tex | 389 ++++++++++++++++++++ macros/latex/contrib/tcolorbox/CHANGES.md | 14 + macros/latex/contrib/tcolorbox/README.md | 4 +- .../latex/contrib/tcolorbox/tcbbreakable.code.tex | 4 +- .../contrib/tcolorbox/tcbdocumentation.code.tex | 4 +- .../latex/contrib/tcolorbox/tcbexternal.code.tex | 4 +- macros/latex/contrib/tcolorbox/tcbfitting.code.tex | 4 +- macros/latex/contrib/tcolorbox/tcbhooks.code.tex | 4 +- .../latex/contrib/tcolorbox/tcblistings.code.tex | 4 +- .../contrib/tcolorbox/tcblistingscore.code.tex | 4 +- .../contrib/tcolorbox/tcblistingsutf8.code.tex | 4 +- .../latex/contrib/tcolorbox/tcbmagazine.code.tex | 4 +- macros/latex/contrib/tcolorbox/tcbminted.code.tex | 43 +-- macros/latex/contrib/tcolorbox/tcbposter.code.tex | 4 +- .../latex/contrib/tcolorbox/tcbprocessing.code.tex | 4 +- macros/latex/contrib/tcolorbox/tcbraster.code.tex | 4 +- macros/latex/contrib/tcolorbox/tcbskins.code.tex | 4 +- .../contrib/tcolorbox/tcbskinsjigsaw.code.tex | 4 +- .../latex/contrib/tcolorbox/tcbtheorems.code.tex | 50 ++- .../latex/contrib/tcolorbox/tcbvignette.code.tex | 4 +- macros/latex/contrib/tcolorbox/tcbxparse.code.tex | 4 +- .../contrib/tcolorbox/tcolorbox-example-poster.pdf | Bin 281300 -> 281298 bytes .../contrib/tcolorbox/tcolorbox-example-poster.tex | 2 +- .../latex/contrib/tcolorbox/tcolorbox-example.pdf | Bin 469092 -> 469092 bytes .../latex/contrib/tcolorbox/tcolorbox-example.tex | 2 +- .../tcolorbox/tcolorbox-tutorial-poster.pdf | Bin 455894 -> 456130 bytes .../tcolorbox/tcolorbox-tutorial-poster.tex | 2 +- .../contrib/tcolorbox/tcolorbox.doc.listings.tex | 20 -- macros/latex/contrib/tcolorbox/tcolorbox.pdf | Bin 7597754 -> 7594786 bytes macros/latex/contrib/tcolorbox/tcolorbox.sty | 6 +- macros/latex/contrib/tcolorbox/tcolorbox.tex | 8 +- .../mptopdf/doc/context/scripts/mkii/mptopdf.man | 2 +- 53 files changed, 1000 insertions(+), 145 deletions(-) create mode 100644 macros/latex/contrib/pascaltriangle/README.md create mode 100755 macros/latex/contrib/pascaltriangle/build.sh create mode 100644 macros/latex/contrib/pascaltriangle/pascaltriangle.pdf create mode 100644 macros/latex/contrib/pascaltriangle/pascaltriangle.sty create mode 100644 macros/latex/contrib/pascaltriangle/pascaltriangle.tex (limited to 'macros') diff --git a/macros/latex/contrib/csvsimple/CHANGES.md b/macros/latex/contrib/csvsimple/CHANGES.md index db4d888f5b..717bee870a 100644 --- a/macros/latex/contrib/csvsimple/CHANGES.md +++ b/macros/latex/contrib/csvsimple/CHANGES.md @@ -17,6 +17,13 @@ and this project adheres to +## [2.2.1] - 2022-01-07 + +### Fixed +- Option `late after first line` ignored for `csvsimple-l3` (issue #17) + + + ## [2.2.0] - 2021-09-09 ### Added diff --git a/macros/latex/contrib/csvsimple/README.md b/macros/latex/contrib/csvsimple/README.md index 0aa089a195..64b189014c 100644 --- a/macros/latex/contrib/csvsimple/README.md +++ b/macros/latex/contrib/csvsimple/README.md @@ -1,7 +1,7 @@ -# The LaTeX package csvsimple - version 2.2.0 (2021/09/09) +# The LaTeX package csvsimple - version 2.2.1 (2022/01/07) -> Copyright (c) 2008-2021 by Prof. Dr. Dr. Thomas F. Sturm +> Copyright (c) 2008-2022 by Prof. Dr. Dr. Thomas F. Sturm > This work may be distributed and/or modified under the > conditions of the LaTeX Project Public License, either version 1.3 diff --git a/macros/latex/contrib/csvsimple/csvsimple-doc.sty b/macros/latex/contrib/csvsimple/csvsimple-doc.sty index dc0b054c61..913d36faa0 100644 --- a/macros/latex/contrib/csvsimple/csvsimple-doc.sty +++ b/macros/latex/contrib/csvsimple/csvsimple-doc.sty @@ -1,9 +1,9 @@ % !TeX encoding=UTF-8 -%% The LaTeX package csvsimple - version 2.2.0 (2021/09/09) +%% The LaTeX package csvsimple - version 2.2.1 (2022/01/07) %% csvsimple-doc.sty: style file for the documentation %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2008-2021 by Prof. Dr. Dr. Thomas F. Sturm +%% Copyright (c) 2008-2022 by Prof. Dr. Dr. Thomas F. Sturm %% ------------------------------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the @@ -18,8 +18,8 @@ %% %% This work consists of all files listed in README.md %% -\def\version{2.2.0}% -\def\datum{2021/09/09}% +\def\version{2.2.1}% +\def\datum{2022/01/07}% \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 index f9fe37f142..5bf8775667 100644 Binary files a/macros/latex/contrib/csvsimple/csvsimple-example.pdf and b/macros/latex/contrib/csvsimple/csvsimple-example.pdf differ diff --git a/macros/latex/contrib/csvsimple/csvsimple-example.tex b/macros/latex/contrib/csvsimple/csvsimple-example.tex index 9cfce5bf2f..9c06e60240 100644 --- a/macros/latex/contrib/csvsimple/csvsimple-example.tex +++ b/macros/latex/contrib/csvsimple/csvsimple-example.tex @@ -1,8 +1,8 @@ -%% The LaTeX package csvsimple - version 2.2.0 (2021/09/09) +%% The LaTeX package csvsimple - version 2.2.1 (2022/01/07) %% csvsimple-example.tex: an example for csvsimple %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2008-2021 by Prof. Dr. Dr. Thomas F. Sturm +%% Copyright (c) 2008-2022 by Prof. Dr. Dr. Thomas F. Sturm %% ------------------------------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the diff --git a/macros/latex/contrib/csvsimple/csvsimple-l3.pdf b/macros/latex/contrib/csvsimple/csvsimple-l3.pdf index 9cfe37716d..e456d428df 100644 Binary files a/macros/latex/contrib/csvsimple/csvsimple-l3.pdf and b/macros/latex/contrib/csvsimple/csvsimple-l3.pdf differ diff --git a/macros/latex/contrib/csvsimple/csvsimple-l3.sty b/macros/latex/contrib/csvsimple/csvsimple-l3.sty index 1d8e036ce7..12230aa6e6 100644 --- a/macros/latex/contrib/csvsimple/csvsimple-l3.sty +++ b/macros/latex/contrib/csvsimple/csvsimple-l3.sty @@ -1,8 +1,8 @@ -%% The LaTeX package csvsimple - version 2.2.0 (2021/09/09) +%% The LaTeX package csvsimple - version 2.2.1 (2022/01/07) %% csvsimple-l3.sty: Simple LaTeX CSV file processing (LaTeX3) %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2008-2021 by Prof. Dr. Dr. Thomas F. Sturm +%% Copyright (c) 2008-2022 by Prof. Dr. Dr. Thomas F. Sturm %% ------------------------------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the @@ -17,7 +17,7 @@ %% %% This work consists of all files listed in README.md %% -\ProvidesExplPackage{csvsimple-l3}{2021/09/09}{2.2.0} +\ProvidesExplPackage{csvsimple-l3}{2022/01/07}{2.2.1} {LaTeX3 CSV file processing} @@ -106,6 +106,7 @@ \tl_new:N \g__csvsim_hook_late_after_head_tl \tl_new:N \g__csvsim_hook_late_after_last_line_tl \tl_new:N \g__csvsim_hook_late_after_line_tl +\tl_new:N \g__csvsim_hook_late_after_line_application_tl \tl_new:N \g__csvsim_hook_table_begin_tl \tl_new:N \g__csvsim_hook_table_end_tl \tl_new:N \g__csvsim_preprocessor_tl @@ -297,6 +298,11 @@ } % read body lines + \tl_gset:Nn \g__csvsim_hook_late_after_line_application_tl + { + \g__csvsim_hook_late_after_first_line_tl + \tl_gset_eq:NN \g__csvsim_hook_late_after_line_application_tl \g__csvsim_hook_late_after_line_tl + } \bool_gset_true:N \g__csvsim_line_firstline_bool \bool_until_do:nn {\ior_if_eof_p:N \g__csvsim_ior} { @@ -337,7 +343,7 @@ \bool_gset_false:N \g__csvsim_line_firstline_bool } { - \g__csvsim_hook_late_after_line_tl + \g__csvsim_hook_late_after_line_application_tl \g__csvsim_hook_after_filter_tl \g__csvsim_hook_before_line_tl \g__csvsim_body_tl diff --git a/macros/latex/contrib/csvsimple/csvsimple-l3.tex b/macros/latex/contrib/csvsimple/csvsimple-l3.tex index ec9dd0b47f..a8ed99a34b 100644 --- a/macros/latex/contrib/csvsimple/csvsimple-l3.tex +++ b/macros/latex/contrib/csvsimple/csvsimple-l3.tex @@ -1,10 +1,10 @@ % \LaTeX-Main\ % !TeX encoding=UTF-8 -%% The LaTeX package csvsimple - version 2.2.0 (2021/09/09) +%% The LaTeX package csvsimple - version 2.2.1 (2022/01/07) %% csvsimple.tex: Manual %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2008-2021 by Prof. Dr. Dr. Thomas F. Sturm +%% Copyright (c) 2008-2022 by Prof. Dr. Dr. Thomas F. Sturm %% ------------------------------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the diff --git a/macros/latex/contrib/csvsimple/csvsimple-legacy.pdf b/macros/latex/contrib/csvsimple/csvsimple-legacy.pdf index 09ac043fd8..2679c11d73 100644 Binary files a/macros/latex/contrib/csvsimple/csvsimple-legacy.pdf and b/macros/latex/contrib/csvsimple/csvsimple-legacy.pdf differ diff --git a/macros/latex/contrib/csvsimple/csvsimple-legacy.sty b/macros/latex/contrib/csvsimple/csvsimple-legacy.sty index b25fc3b516..8451131c6e 100644 --- a/macros/latex/contrib/csvsimple/csvsimple-legacy.sty +++ b/macros/latex/contrib/csvsimple/csvsimple-legacy.sty @@ -1,8 +1,8 @@ -%% The LaTeX package csvsimple - version 2.2.0 (2021/09/09) +%% The LaTeX package csvsimple - version 2.2.1 (2022/01/07) %% csvsimple-legacy.sty: Simple LaTeX CSV file processing (LaTeX2e) %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2008-2021 by Prof. Dr. Dr. Thomas F. Sturm +%% Copyright (c) 2008-2022 by Prof. Dr. Dr. Thomas F. Sturm %% ------------------------------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the @@ -18,7 +18,7 @@ %% This work consists of all files listed in README.md %% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{csvsimple-legacy}[2021/09/09 version 2.2.0 LaTeX2e CSV file processing] +\ProvidesPackage{csvsimple-legacy}[2022/01/07 version 2.2.1 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 4db0f7f875..711798f4a9 100644 --- a/macros/latex/contrib/csvsimple/csvsimple-legacy.tex +++ b/macros/latex/contrib/csvsimple/csvsimple-legacy.tex @@ -1,10 +1,10 @@ % \LaTeX-Main\ % !TeX encoding=UTF-8 -%% The LaTeX package csvsimple - version 2.2.0 (2021/09/09) +%% The LaTeX package csvsimple - version 2.2.1 (2022/01/07) %% csvsimple.tex: Manual %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2008-2021 by Prof. Dr. Dr. Thomas F. Sturm +%% Copyright (c) 2008-2022 by Prof. Dr. Dr. Thomas F. Sturm %% ------------------------------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the diff --git a/macros/latex/contrib/csvsimple/csvsimple.pdf b/macros/latex/contrib/csvsimple/csvsimple.pdf index fd2185cb6f..8ef7047fb2 100644 Binary files a/macros/latex/contrib/csvsimple/csvsimple.pdf and b/macros/latex/contrib/csvsimple/csvsimple.pdf differ diff --git a/macros/latex/contrib/csvsimple/csvsimple.sty b/macros/latex/contrib/csvsimple/csvsimple.sty index 55a6b32498..9d8f85bbb3 100644 --- a/macros/latex/contrib/csvsimple/csvsimple.sty +++ b/macros/latex/contrib/csvsimple/csvsimple.sty @@ -1,8 +1,8 @@ -%% The LaTeX package csvsimple - version 2.2.0 (2021/09/09) +%% The LaTeX package csvsimple - version 2.2.1 (2022/01/07) %% csvsimple.sty: Simple LaTeX CSV file processing %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2008-2021 by Prof. Dr. Dr. Thomas F. Sturm +%% Copyright (c) 2008-2022 by Prof. Dr. Dr. Thomas F. Sturm %% ------------------------------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the @@ -19,7 +19,7 @@ %% \RequirePackage{l3keys2e} -\ProvidesExplPackage{csvsimple}{2021/09/09}{2.2.0} +\ProvidesExplPackage{csvsimple}{2022/01/07}{2.2.1} {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 968c43bc0c..0f98435406 100644 --- a/macros/latex/contrib/csvsimple/csvsimple.tex +++ b/macros/latex/contrib/csvsimple/csvsimple.tex @@ -1,10 +1,10 @@ % \LaTeX-Main\ % !TeX encoding=UTF-8 -%% The LaTeX package csvsimple - version 2.2.0 (2021/09/09) +%% The LaTeX package csvsimple - version 2.2.1 (2022/01/07) %% csvsimple.tex: Manual %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2008-2021 by Prof. Dr. Dr. Thomas F. Sturm +%% Copyright (c) 2008-2022 by Prof. Dr. Dr. Thomas F. Sturm %% ------------------------------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx index 16cdd91b88..7dadbd6f00 100644 --- a/macros/latex/contrib/easybook/easybook.dtx +++ b/macros/latex/contrib/easybook/easybook.dtx @@ -15,7 +15,7 @@ %<*class> \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{l3keys2e} -\ProvidesExplClass{easybook}{2022/01/05}{1.42P} +\ProvidesExplClass{easybook}{2022/01/06}{1.43} {Typeset Chinese theses or books} \bool_set_false:N \l__eb_compile_draft_bool @@ -306,7 +306,7 @@ %<*package> \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{l3keys2e,etoolbox} -\ProvidesExplPackage{easybase}{2022/01/05}{1.42P} +\ProvidesExplPackage{easybase}{2022/01/06}{1.43} {Typeset Chinese theses or books} \cs_generate_variant:Nn \dim_set:Nn { NV } @@ -1850,14 +1850,15 @@ \SetEnumitemValue{font}{sf}{\color{ctex@emph}\normalfont\sffamily} \SetEnumitemValue{ref}{enumii}{\arabic{enumi}.\alph*} \SetEnumitemValue{ref}{enumiii}{\arabic{enumi}.\alph{enumii}.\roman*} -\setlist{nosep,align = left,mode = unboxed,leftmargin = *,listparindent = 2em} +\setlist{nosep,align = left,mode = unboxed} +\setlist*{leftmargin = *,labelsep = 0.5em,listparindent = 2em} \setlist[itemize,1]{label = bullet} \setlist[itemize,2]{label = endash} \setlist[itemize,3]{label = asterisk} \setlist[enumerate,1]{label = arabic,ref = \arabic*} \setlist[enumerate,2]{label = alph,ref = enumii} \setlist[enumerate,3]{label = roman,ref = enumiii} -\setlist[description]{font = sf,labelwidth = *,leftmargin = 2em} +\setlist[description]{font = sf,style = standard} \newlist{eb@outline@list}{itemize}{1} \newlist{eb@exercise@list}{enumerate}{2} \newlist{eb@eqcomp@list}{description}{1} @@ -2422,7 +2423,7 @@ } % %<*tcolorbox> -\ProvidesExplFile{eb-tcolorbox.cfg}{2022/01/05}{1.42P} +\ProvidesExplFile{eb-tcolorbox.cfg}{2022/01/06}{1.43} {Customization of tcolorbox for easybook} \cs_set_protected:Npn \setexercise #1 diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf index 4ad198fe22..ac276244b6 100644 Binary files a/macros/latex/contrib/easybook/easybook.pdf and b/macros/latex/contrib/easybook/easybook.pdf differ diff --git a/macros/latex/contrib/easybook/easybook.tex b/macros/latex/contrib/easybook/easybook.tex index 7b654d9281..c5aacaa0e1 100644 --- a/macros/latex/contrib/easybook/easybook.tex +++ b/macros/latex/contrib/easybook/easybook.tex @@ -20,8 +20,8 @@ name = easybook, color-scheme = blue, title = EASYBOOK 使用手册, - version = v1.42P, - date = 2022/01/05, + version = v1.43, + date = 2022/01/06, authors = 瞿毅, info = 排版简体中文学位论文和书籍, email = q1jx@foxmail.com, @@ -44,7 +44,7 @@ \addtokomafont{subsubsection}{\normalfont\sffamily} \DeclareTOCStyleEntry[entryformat = \sffamily]{default}{section} \geometry{margin = 1in,marginparwidth = 0.65in} -\setlist{nosep,labelindent = \parindent,leftmargin = *} +\setlist{nosep,labelindent = \parindent,leftmargin = *,labelsep = 0.5em} \setlist[itemize,1]{label = \small\color{Blue}\textbullet} \setcounter{tocdepth}{2} \SetTblrInner{hline{1,Z} = {0.8pt,Blue}} diff --git a/macros/latex/contrib/pascaltriangle/README.md b/macros/latex/contrib/pascaltriangle/README.md new file mode 100644 index 0000000000..495ca2b985 --- /dev/null +++ b/macros/latex/contrib/pascaltriangle/README.md @@ -0,0 +1,56 @@ +Pascal triangles(Yanghui triangles) generator package based on TikZ developed with LaTeX3. +======= + +`pascaltriangle` is a Pascal triangle(Yanghui triangle) generation package based on TikZ developed with LaTeX3, which provides a unique drawing macro `\pascal` and can generate isosceles or right-angle triangles with different macro options or `\pascalset` macro. + +You can read the manual (in Chinese/English) for more details and examples. + +Contributing +------------ + +1. github repository: + 1. repository: [pascaltriangle](https://github.com/registor/pascaltriangle) + 2. Issues and pull requests are welcome. [issue](https://github.com/registor/pascaltriangle/issues) or [pull request](https://github.com/registor/pascaltriangle/pulls). + +2. gitee repository: + 1. repository: [pascaltriangle](https://gitee.com/nwafu_nan/pascaltriangle) + 2. Issues and pull requests are welcome. [issue](https://gitee.com/nwafu_nan/pascaltriangle/issues) or [pull request](https://gitee.com/nwafu_nan/pascaltriangle/pulls). + +基于TikZ用LaTeX3开发的Pascal三角形(杨辉三角形)生成宏包 +======= + +`pascaltriangle`一个基于TikZ用LaTeX3开发的Pascal三角形(杨辉三角形)生成宏包,它提供了一个唯一的绘图命令`\pascal`,并可以通过不同命令的命令选项或`\pascalset`命令的设置生成等腰或直角Pascal三角形(杨辉三角形)。 + +可以通过阅读宏包手册(中文/英文)以也解该宏包更多的使用细节和使用样例。 + +### 参与贡献 +--------------------- + +1. github仓库: + (1). 仓库地址: [pascaltriangle](https://github.com/registor/pascaltriangle) + (2). Issues和PR: [issue](https://github.com/registor/pascaltriangle/issues) or [pull request](https://github.com/registor/pascaltriangle/pulls). + +2. gitee仓库: + (1). 仓库地址: [pascaltriangle](https://gitee.com/nwafu_nan/pascaltriangle) + (2). Issues and PR: [issue](https://gitee.com/nwafu_nan/pascaltriangle/issues) or [pull request](https://gitee.com/nwafu_nan/pascaltriangle/pulls). + +Copyright and Licence +--------------------- + + Copyright (C) 2020-2022 by Nan Geng + ---------------------------------------------------------------------- + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either + version 1.3c of this license or (at your option) any later + version. This version of this license is in + http://www.latex-project.org/lppl/lppl-1-3c.txt + and the latest version of this license is in + http://www.latex-project.org/lppl.txt + and version 1.3 or later is part of all distributions of + LaTeX version 2005/12/01 or later. + + This work has the LPPL maintenance status "maintained". + + The Current Maintainer of this work is Nan Geng. + diff --git a/macros/latex/contrib/pascaltriangle/build.sh b/macros/latex/contrib/pascaltriangle/build.sh new file mode 100755 index 0000000000..bd7c2c5aa3 --- /dev/null +++ b/macros/latex/contrib/pascaltriangle/build.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +xelatex pascaltriangle.tex &&\ +makeindex -s gind.ist -o pascaltriangle.ind pascaltriangle.idx &&\ +makeindex -s gglo.ist -o pascaltriangle.gls pascaltriangle.glo &&\ +xelatex pascaltriangle.tex &&\ +xelatex pascaltriangle.tex &&\ +xelatex pascaltriangle.tex diff --git a/macros/latex/contrib/pascaltriangle/pascaltriangle.pdf b/macros/latex/contrib/pascaltriangle/pascaltriangle.pdf new file mode 100644 index 0000000000..961e826e40 Binary files /dev/null and b/macros/latex/contrib/pascaltriangle/pascaltriangle.pdf differ diff --git a/macros/latex/contrib/pascaltriangle/pascaltriangle.sty b/macros/latex/contrib/pascaltriangle/pascaltriangle.sty new file mode 100644 index 0000000000..6c4be46ac3 --- /dev/null +++ b/macros/latex/contrib/pascaltriangle/pascaltriangle.sty @@ -0,0 +1,397 @@ +%%% ---------------------------------------------------------------------------- +%%% pascaltriangle: Typeset Pascal triangle figure with LaTeX3 +%%% Author : Nan Geng +%%% Repository: https://github.com/registor/pascaltriangle or https://gitee.com/nwafu_nan/pascaltriangle +%%% License : The LaTeX Project Public License 1.3c +%%% ---------------------------------------------------------------------------- + +\NeedsTeXFormat{LaTeX2e} +\RequirePackage{expl3} +\ProvidesExplPackage{pascaltriangle}{2022-01-07}{v1.0.0} + {Typeset Pascal triangle figure with LaTeX3} + +\RequirePackage{xparse} + +%% \tl_if_eq:NnTF 与texlive 2020的兼容性设置 +\cs_if_exist:NF \tl_if_eq:NnTF + { + \tl_new:N \l__tblr_backport_b_tl + \prg_new_protected_conditional:Npnn \tl_if_eq:Nn #1 #2 { T, F, TF } + { + \group_begin: + \tl_set:Nn \l__tblr_backport_b_tl {#2} + \exp_after:wN + \group_end: + \if_meaning:w #1 \l__tblr_backport_b_tl + \prg_return_true: + \else: + \prg_return_false: + \fi: + } + \prg_generate_conditional_variant:Nnn \tl_if_eq:Nn { c } { TF, T, F } + } + +\cs_if_exist:NF \seq_map_indexed_function:NN + { + \cs_set_eq:NN \seq_map_indexed_function:NN \seq_indexed_map_function:NN + } + +%% 解决TikZ库无法在Expl3中载入问题 +\RequirePackage {amsmath, tikz, etoolbox} +\ExplSyntaxOff +\patchcmd +{\tcb@input@library@in} + {% + \input\tcbpkgprefix#1\relax% + } + {% + \@pushfilename + \input\tcbpkgprefix#1\relax% + \@popfilename + } + {}{} + +\patchcmd +{\pgfutil@InputIfFileExists} + {\input #1} + {% + \@pushfilename + \xdef\@currname{#1}% + \input #1 % + \@popfilename + } + {}{} +\ExplSyntaxOn +\usetikzlibrary{shapes.geometric} + +%% 定义变量 +\bool_new:N \l__pascal_num_cell_bool % 是否绘制行列号 +\bool_new:N \l__pascal_binom_cell_bool % 是否仅绘制二项式表达式 + +\tl_new:N \l__pascal_cell_color_tl % 单元格填充颜色 +\tl_new:N \l__pascal_shift_col_pt_tl % 列变换坐标 +\tl_new:N \l__pascal_shift_row_pt_tl % 行变换坐标 +\tl_new:N \l__pascal_font_size_tl % 文件大小 + +\int_new:N \l__pascal_shape_type_int % 形状(1---等腰,2---直角) +\int_new:N \l__pascal_row_idx_int % 行索引(从0计数) +\int_new:N \l__pascal_col_idx_int % 列索引(从0计数) +\int_new:N \l__pascal_row_top_int % 各列最大行数 +\int_new:N \l__pascal_total_idx_int % 索引总数 +\int_new:N \l__pascal_fill_row_int % 填充行号(最大值与当前列数有关,从顶向下从0计数) +\int_new:N \l__pascal_fill_col_int % 填充列号(从0计数) + +\dim_new:N \l__pascal_cell_radius_dim % 单元格大小(中心到顶点的半径) + +%% 选项设计 +\keys_define:nn { pascal } + { + % 是否需要行列编号 + withnum .bool_set:N = \l__pascal_num_cell_bool, + withnum .default:n = true, + withnum .initial:n = false, + + % 是否仅绘制二项式表达式 + binom .bool_set:N = \l__pascal_binom_cell_bool, + binom .default:n = true, + binom .initial:n = false, + + % 形状选择(iso---等腰三角形, rt---直角三角形) + shape .choice:, + shape .value_required:n = true, + shape .choices:nn = + { iso, rt } + { \int_set_eq:NN \l__pascal_shape_type_int \l_keys_choice_int }, + shape .initial:n = iso, + + % 单元格半径(中心到顶点) + radius .dim_set:N = \l__pascal_cell_radius_dim, + radius .initial:n = 0.5cm, + + % 文字大小 + fontsize .tl_set:N = \l__pascal_font_size_tl, + fontsize .initial:n = \small, + + % 要填充单元格行数(按列从顶向下,从0开始计数) + fillr .int_set:N = \l__pascal_fill_row_int, + fillr .initial:n = 1 , + % 要填充单元格列数(从左向右,从0开始计数) + fillc .int_set:N = \l__pascal_fill_col_int, + fillc .initial:n = 1 , + fillrc .meta:n = { fillr = #1 , fillc = #1 }, + + unknown .code:n = { \__pascal_error:n { unknown-option } } + } + +\msg_new:nnn { pascal } { unknown-option } + { package~ option~ "\l_keys_key_tl"~ is~ unknown. } + +%% 参数设置用户接口 +\NewDocumentCommand \pascalset { m } + { \keys_set:nn { pascal } {#1} } + +%% 利用LaTeX3的fact阶乘计算函数计算组合数 +\cs_set:Npn \__pascal_binomcoeff:nn #1#2 + { + \fp_eval:n { fact(#1) / (fact(#2) * fact(#1 - #2)) } + } + +%% 组合数计算用户接口 +\NewDocumentCommand{\binomc}{m m} + { + \__pascal_binomcoeff:nn{#1}{#2} + } + +%% 绘制Pascal三角形 +%% 注意":"无法使用造成极坐标不能用的问题,以下网站给出了解决方案 +%% https://tex.stackexchange.com/questions/501333/how-to-use-colon-as-part-of-tikz-syntax-while-in-explsyntaxon-environment +%% 将":"用\c_colon_str代替 + +%% 根据形状类型计算列变换坐标(极坐标) +\cs_set:Npn \__pascal_shift_col_pt:n #1 + { + \int_case:nn { \l__pascal_shape_type_int } + { + {1}{ + \tl_set:Nn \l__pascal_shift_col_pt_tl { -60 \c_colon_str + \fp_eval:n {sqrt(3) * \l__pascal_cell_radius_dim * #1}pt + } + } + {2}{ + \tl_set:Nn \l__pascal_shift_col_pt_tl { -45 \c_colon_str + \fp_eval:n {2 * \l__pascal_cell_radius_dim * #1}pt + } + } + } + } + +%% 根据形状类型计算行变换坐标(极坐标) +\cs_set:Npn \__pascal_shift_row_pt:n #1 + { + \int_case:nn { \l__pascal_shape_type_int } + { + {1}{ + \tl_set:Nn \l__pascal_shift_row_pt_tl { -120 \c_colon_str + \fp_eval:n {sqrt(3) * \l__pascal_cell_radius_dim * #1}pt + } + } + {2}{ + \tl_set:Nn \l__pascal_shift_row_pt_tl { -90 \c_colon_str + \fp_eval:n {sqrt(2) * \l__pascal_cell_radius_dim * #1}pt + } + } + } + } + +%% 正六边形闭合路径代码 +\cs_set:Npn \__pascal_hex_cell: + { + (30 \c_colon_str \fp_eval:n{\l__pascal_cell_radius_dim}pt) -- + (90 \c_colon_str \fp_eval:n{\l__pascal_cell_radius_dim}pt) -- + (150 \c_colon_str \fp_eval:n{\l__pascal_cell_radius_dim}pt) -- + (210 \c_colon_str \fp_eval:n{\l__pascal_cell_radius_dim}pt) -- + (270 \c_colon_str \fp_eval:n{\l__pascal_cell_radius_dim}pt) -- + (330 \c_colon_str \fp_eval:n{\l__pascal_cell_radius_dim}pt) -- + cycle (90 \c_colon_str 0) + } + +%% 正方形闭合路径代码 +\cs_set:Npn \__pascal_square_cell: + { + (45 \c_colon_str \fp_eval:n{\l__pascal_cell_radius_dim}pt) -- + (134 \c_colon_str \fp_eval:n{\l__pascal_cell_radius_dim}pt) -- + (225 \c_colon_str \fp_eval:n{\l__pascal_cell_radius_dim}pt) -- + (-45 \c_colon_str \fp_eval:n{\l__pascal_cell_radius_dim}pt) -- + cycle (90 \c_colon_str 0) + } + +%% 绘制行列编号标记单元格 +\cs_set:Npn \__pascal_num_draw:nnn #1#2#3 + { + \int_case:nn { \l__pascal_shape_type_int } + { + {1}{% 正六边形 + \int_compare:nNnT { #1 } = {0}% 最左列 + { + \int_compare:nNnT { #2 } = { #3 - 1 }% 最底行 + { + \begin{scope}[shift={(-150\c_colon_str {\fp_eval:n{3*\l__pascal_cell_radius_dim}pt})}] + \draw[dashed, top~color=gray!10,bottom~color=gray!20] + \__pascal_hex_cell: + node[rotate=-45] {$m,n$}; + \end{scope} + } + } + \int_compare:nNnT { #1 } = { 0 }% 最左列 + { + \begin{scope}[shift={(-180\c_colon_str {\fp_eval:n{sqrt(3)*\l__pascal_cell_radius_dim}pt})}] + \draw[dashed, top~color=gray!10,bottom~color=gray!20] + \__pascal_hex_cell: + node{$(\int_eval:n {#2})$}; + \end{scope} + } + \int_compare:nNnT { #2 } = { #3 - 1 }% 最底行 + { + \begin{scope}[shift={(-120\c_colon_str {\fp_eval:n{sqrt(3)*\l__pascal_cell_radius_dim}pt})}] + \draw[dashed, top~color=gray!10,bottom~color=gray!20] + \__pascal_hex_cell: + node {$(\int_eval:n {#1})$}; + \end{scope} + } + } + {2}{% 正方形 + \int_compare:nNnT { #1 } = {0}% 最左列 + { + \int_compare:nNnT { #2 } = { #3 - 1 }% 最底行 + { + \begin{scope}[shift={(-135\c_colon_str {\fp_eval:n{2*\l__pascal_cell_radius_dim}pt})}] + \draw[dashed, top~color=gray!10,bottom~color=gray!20] + \__pascal_square_cell: + node[scale=0.8,rotate=-45] {$m,n$}; + \end{scope} + } + } + \int_compare:nNnT { #1 } = { 0 }% 最左列 + { + \begin{scope}[shift={(-180\c_colon_str {\fp_eval:n{sqrt(2)*\l__pascal_cell_radius_dim}pt})}] + \draw[dashed, top~color=gray!10,bottom~color=gray!20] + \__pascal_square_cell: + node{$(\int_eval:n {#2})$}; + \end{scope} + } + \int_compare:nNnT { #2 } = { #3 - 1 }% 最底行 + { + \begin{scope}[shift={(-90\c_colon_str {\fp_eval:n{sqrt(2)*\l__pascal_cell_radius_dim}pt})}] + \draw[dashed, top~color=gray!10,bottom~color=gray!20] + \__pascal_square_cell: + node {$(\int_eval:n {#1})$}; + \end{scope} + } + } + } + } + +%% 绘制三角形单元格 +\cs_set:Npn \__pascal_cell_draw:nn #1#2 + { + \int_case:nn { \l__pascal_shape_type_int } + { + {1}{% 正六边形 + \draw[top~color=\l__pascal_cell_color_tl!20,bottom~color=\l__pascal_cell_color_tl!60] + \__pascal_hex_cell: + \bool_if:NTF \l__pascal_binom_cell_bool + { + node {$\binom{\int_eval:n {#1}}{\int_eval:n {#2}}$}; + } + { + node {$\__pascal_binomcoeff:nn {#1}{#2}$}; + } + } + {2}{% 正方形 + \draw[top~color=\l__pascal_cell_color_tl!20,bottom~color=\l__pascal_cell_color_tl!60] + \__pascal_square_cell: + \bool_if:NTF \l__pascal_binom_cell_bool + { + node {$\binom{\int_eval:n {#1}}{\int_eval:n {#2}}$}; + } + { + node {$\__pascal_binomcoeff:nn {#1}{#2}$}; + } + } + } + } + +%% 绘制Pascal三角形 +% 等腰三角形的绘制原理参考了 https://texample.net/tikz/examples/pascal-triangle/ +% Author: M.H. Ahmadi +\cs_set:Npn \__pascal_triangle_draw:n #1 + { + % 设置正常单元格为灰色 + \tl_set:Nn \l__pascal_cell_color_tl {gray} + % 记录绘制列数 + \int_set:Nn \l_tmpa_int {#1} + + % 使用TikZ绘制 + \begin{tikzpicture}[font=\l__pascal_font_size_tl] + % 列循环 + \int_step_inline:nn {\l_tmpa_int} + { + % 调整为从0计数,以便于后续计算 + \int_set:Nn \l__pascal_col_idx_int { ##1 - 1 } + + % 计算列变换坐标(极坐标) + \__pascal_shift_col_pt:n {\l__pascal_col_idx_int} + + % 用scope环境变换各列到指定位置 + \begin{scope}[shift={(\l__pascal_shift_col_pt_tl)}] + % 计算每列最多行数 + \int_set:Nn \l__pascal_row_top_int {\l_tmpa_int - ##1 + 1} + + % 行循环 + \int_step_inline:nn { \l__pascal_row_top_int } + { + % 调整为从0计数,以便于后续计算 + \int_set:Nn \l__pascal_row_idx_int { ####1 - 1 } + + % 计算组合数计算中的行数 + \int_zero:N \l__pascal_total_idx_int + \int_add:Nn \l__pascal_total_idx_int { \l__pascal_row_idx_int } + \int_add:Nn \l__pascal_total_idx_int { \l__pascal_col_idx_int } + + % 为指定行设置绘制颜色 + \int_case:nn { \l__pascal_col_idx_int } + { + {0}{ + \tl_set:Nn \l__pascal_cell_color_tl { pink } + } + {1}{ + \tl_set:Nn \l__pascal_cell_color_tl { yellow } + } + {2}{ + \tl_set:Nn \l__pascal_cell_color_tl { blue } + } + {3}{ + \tl_set:Nn \l__pascal_cell_color_tl { green } + } + {\l__pascal_fill_col_int - 1}{ + \int_compare:nNnTF{\l__pascal_row_idx_int} < { \l__pascal_fill_row_int + 1 } + {\tl_set:Nn \l__pascal_cell_color_tl { purple }} + {\tl_set:Nn \l__pascal_cell_color_tl { gray }} + } + {\l__pascal_fill_col_int}{ + \int_compare:nNnTF{\l__pascal_row_idx_int} = { \l__pascal_fill_row_int } + {\tl_set:Nn \l__pascal_cell_color_tl { purple }} + {\tl_set:Nn \l__pascal_cell_color_tl { gray }} + } + } + + % 计算行变换坐标(极坐标) + \__pascal_shift_row_pt:n {\l__pascal_row_idx_int} + % 用scope环境变换各行到指定位置 + \begin{scope}[shift={(\l__pascal_shift_row_pt_tl)}] + % 是否绘制行列编号 + \bool_if:NT \l__pascal_num_cell_bool + { + \__pascal_num_draw:nnn { \l__pascal_col_idx_int } + { \l__pascal_row_idx_int } + { \l__pascal_row_top_int } + } + % 绘制一个单元格 + \__pascal_cell_draw:nn{\l__pascal_total_idx_int}{\l__pascal_col_idx_int} + \end{scope} + } + \end{scope} + } + \end{tikzpicture} + } + +%% 绘制Pascal三角形用户接口 +\NewDocumentCommand{\pascal}{O{} m} + { + \IfNoValueF{#1}{ \keys_set:nn { pascal } {#1} } + \group_begin: + \__pascal_triangle_draw:n{#2} + \group_end: + } + +\endinput diff --git a/macros/latex/contrib/pascaltriangle/pascaltriangle.tex b/macros/latex/contrib/pascaltriangle/pascaltriangle.tex new file mode 100644 index 0000000000..ff9536f62f --- /dev/null +++ b/macros/latex/contrib/pascaltriangle/pascaltriangle.tex @@ -0,0 +1,389 @@ +\documentclass[full]{l3doc} +\usepackage[scheme=plain]{ctex} +\usepackage{enumitem} +\usepackage{indentfirst} +\usepackage{titling} +\usepackage{geometry} +\usepackage{fancyvrb-ex} +\usepackage{pascaltriangle} + +\IndexPrologue + { + \section*{Index} + \markboth{Index}{Index} + \addcontentsline{toc}{section}{Index} + The~italic~numbers~denote~the~pages~where~the~ + corresponding~entry~is~described,~ + numbers~underlined~point~to~the~definition,~ + all~others~indicate~the~places~where~it~is~used. + } + +\newcommand\tikzmark[1]{\tikz \coordinate[overlay, remember picture] (#1);} + +\geometry{ + left=4.5cm, + right=2cm, + top=2cm, + bottom=2cm, +} +\hypersetup { + CJKbookmarks, + bookmarksopen, + bookmarksopenlevel=3, + pdfstartview=FitH, + pdfinfo = { + Title = The package pascaltriangle , + Subject = A LaTeX3 package , + Author = Geng Nan + } +} + +\DoNotIndex{\begin, \end} +\setlength{\parskip}{\medskipamount} +\DeclareDocumentEnvironment { noteen } { +b } { + \par\textbf{\textsf{NOTE:~}}#1\par +} {} +\DeclareDocumentEnvironment { notezh } { +b } { + \par\textbf{\textsf{注意:~}}#1\par +} {} + +\AtEndDocument{ + \newgeometry{ + left=2cm, + right=2cm, + top=2cm, + bottom=2cm + } + \PrintIndex +} + +\ExplSyntaxOn +\dim_new:N \l__my_syntax_dim +\box_new:N \g__my_syntax_box +\NewDocumentEnvironment { Syntax } { s } + { + \dim_set:Nn \l__my_syntax_dim + { \textwidth } + \hbox_gset:Nw \g__my_syntax_box + \small \ttfamily + \begin{minipage}[t]{\l__my_syntax_dim} + \raggedright\obeyspaces\obeylines + } + { + \end{minipage} + \hbox_gset_end: + \IfValueF { #1 } { \smallskip } + \box_use_drop:N \g__my_syntax_box + \smallskip + } + +\DeclareDocumentEnvironment { Description } { o +b } { + \hbox_set:Nn \l_tmpa_box { #1 } + \dim_set:Nn \l_tmpa_dim { \box_wd:N \l_tmpa_box } + \begin{itemize}[labelwidth=\l_tmpa_dim, align=left] + #2 + \end{itemize} +} { } + +\keys_define:nn { pascal/doc } { + opt .tl_set:N = \l_opt_tl, + desc .tl_set:N = \l_desc_tl, + init .tl_set:N = \l_init_tl, + init .initial:n = init-none, +} + +\box_new:N \l__option_box +\NewDocumentEnvironment { option } { m +b } { + \keys_set:nn { pascal/doc } { #1 } + \hbox_set:Nw \l__option_box + \small \ttfamily + \begin{minipage}[t]{\textwidth} + \obeyspaces\obeylines + \textcolor{red}{ + \l_opt_tl + \exp_args:Nx\SpecialOptionIndex{\l_opt_tl} + } + {~}\l_desc_tl + \hfill( + \tl_if_eq:NnTF \l_init_tl { init-none } { no~value } + { initially~\texttt{\l_init_tl} } + ) + \end{minipage} + \hbox_gset_end: + \box_use_drop:N \l__option_box + #2 + \medskip +} { } + +\DeclareDocumentCommand \opt { O{} m } + { \__codedoc_cmd:no {#1} { #2 } } +\ExplSyntaxOff + +\def\vers{\texttt{v1.0.0} +\thanks{\url{https://github.com/registor/pascaltriangle}} +\thanks{\url{https://gitee.com/nwafu_nan/pascaltriangle}} +} + +\begin{document} +\title{ + \pkg{pascaltriangle} 宏包 + \rlap{\makebox[4cm][r]{ + \normalsize $\Longrightarrow$ \color{red} + \protect\hyperlink{en}{English Version} + \protect\hypertarget{zh}{} + }} +} +\author{\textit{耿楠} \texttt{}} +\date{\the\year 年\the\month 月\the\day 日\qquad \vers +} +\maketitle + +{\small +\tableofcontents +} +\newpage + +\begin{documentation} + +\section{引言} +\pkg{pascaltriangle}是一个基于\pkg{TikZ}用\pkg{expl3}开发的 +Pascal三角形(杨辉三角形)生成宏包,它提供了一个唯一的绘图命令 +\tn{pascal},并可以通过不同命令的命令选项或\tn{pascalset}命令 +设置生成不同外观的等腰或直角Pascal三角形。 + +\section{用户接口} + +\subsection{\cs{pascal}绘图命令} + +\begin{function}{\pascal} + \begin{syntax} + \cs{pascal} \oarg{外观选项} \marg{层数} + \end{syntax} + +\end{function} + + 用于绘制一个Pascal三角形。 + + 该命令仅有一个必选参数\marg{层数},用于指定Pascal三角形的层数。 + + 在\oarg{外观选项}中可以通过key-value方式设置三角形形状、大小等外观。 + + 三角形的外观也可以通过\cs{pascalset}命令的逗号分隔key-value列表进行设置 + +\subsection{\cs{pascalset}} +\begin{function}{\pascalset} + \begin{syntax} + \cs{pascalset} \marg{外观选项} + \end{syntax} + +\end{function} + + 用于设置一个Pascal三角形的外观。 + + 在\marg{外观选项}中可以通过key-value方式设置三角形形状、大小等外观。 + +\section{外观选项} + +\begin{option}{ opt = shape, desc = {= \meta{形状}}, init=iso } + 设置Pascal三角形的形状,目前支持|iso|---等腰三角形和 + |rt|---直角三角形。 +\end{option}\\ +\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.65\linewidth,gobble=2] + \centering + \pascal{5}\qquad + \pascal[shape=rt]{5} +\end{SideBySideExample} + +\bigskip + +\begin{option}{ opt = radius, desc = {= \meta{半径}}, init=0.5cm } + 设置三角形每个单元外接圆半径,注意需要带有单位。 +\end{option}\\ +\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.65\linewidth,gobble=2] + \centering + \pascal[radius=0.8cm]{5} +\end{SideBySideExample} + +\bigskip + +\begin{option}{ opt = fontsize, desc = {= \meta{字号命令}}, init=\cs{small} } + 设置三角形每个单元中数字文本大小。 +\end{option}\\ +\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.65\linewidth,gobble=2] + \centering + \pascal[radius=0.8cm, + fontsize=\Huge]{5} +\end{SideBySideExample} + +\bigskip + +\begin{option}{opt=withnum, desc={= \meta{布尔值}}, init=false} + 设置是否显示Pascal三角形的行列编号。 +\end{option}\\ +\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.63\linewidth,gobble=2] + \centering + \pascal[withnum]{4} + \pascal[withnum,shape=rt]{4} +\end{SideBySideExample} + +\bigskip + +\begin{option}{opt = binom, desc = {= \meta{布尔值}}, init=false} + 设置是否显示用二项式表达式显示各元素值。 +\end{option}\\ +\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.63\linewidth,gobble=2] + \centering + \pascal[binom]{5} + \pascal[binom,shape=rt]{5} +\end{SideBySideExample} + +\bigskip + +\begin{option}{ opt = fillr, desc = {= \meta{整数}}, init=1 } + 设置需要表示前列累加的单元格行号,注意行号是当前列自顶向下从0开始计数。 +\end{option} + +\begin{option}{ opt = fillc, desc = {= \meta{整数}}, init=1 } + 设置需要表示前列累加的单元格列号,注意列号是自左向右从0开始计数。 +\end{option}\\ +\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.64\linewidth,gobble=2] + \centering + \pascalset{fillr=2,fillc=6, + radius=0.4cm} + \pascal{10}\\ + \pascal[shape=rt]{10} +\end{SideBySideExample} + +\bigskip + +\title{ + Package \pkg{pascaltriangle} + \rlap{\makebox[4cm][r]{ + \normalsize $\Longrightarrow$ \color{red} + \protect\hyperlink{zh}{中文版本} + \protect\hypertarget{en}{} + }} +} +\author{Nan Geng \texttt{}} +\date{\today\qquad \vers} +\maketitle + +\section{Introduction} + +\pkg{pascaltriangle} is a Pascal triangle(Yanghui triangle) generation package +based on TikZ developed in expl3, which provides a unique drawing command \cs{pascal}, +and can be set by different options or \cs{pascalset} macro to +generates isosceles or right-angle Pascal triangles with different appearances. + +\section{Interfaces} + +\subsection{\cs{pascal} macro} + +\begin{function}{\pascal} + \begin{syntax} + \cs{pascal} \oarg{options} \marg{order} + \end{syntax} +\end{function} +Used to draw a Pascal triangle. + +This macro has only one mandatory parameter \marg{order}, +which specifies the number of layers of the Pascal triangle. + +In \oarg{options} you can set the appearance of the triangle shape, +size, etc. by key-value method. + +The appearance of the triangle can also be set via the comma-separated +key-value list of the \cs{pascalset} macro + +\subsection{\cs{pascalset} macro} + +\begin{function}{\pascalset} + \begin{syntax} + \cs{pascalset} \marg{options} + \end{syntax} +\end{function} + +Used to set the appearance of Pascal triangle. + +In \oarg{options} you can set the appearance of the triangle shape, +size, etc. by key-value method. + +\section{options} + +\begin{option}{ opt = shape, desc = {= \meta{shape}}, init=iso } + Sets the shape of Pascal triangle + currently supporting |iso|---isosceles triangles and |rt|---right-angle triangles. +\end{option}\\ +\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.65\linewidth,gobble=2] + \centering + \pascal{5}\qquad + \pascal[shape=rt]{5} +\end{SideBySideExample} + +\bigskip + +\begin{option}{ opt = radius, desc = {= \meta{radius}}, init=0.5cm } + Set the radius of the outer circle of each cell of the triangle, + note that it needs to have units. +\end{option}\\ +\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.65\linewidth,gobble=2] + \centering + \pascal[radius=0.8cm]{5} +\end{SideBySideExample} + +\bigskip + +\begin{option}{ opt = fontsize, desc = {= \meta{fontsize}}, init=\cs{small} } + Sets the fontsize of each cell of the triangle. +\end{option}\\ +\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.65\linewidth,gobble=2] + \centering + \pascal[radius=0.8cm, + fontsize=\Huge]{5} +\end{SideBySideExample} + +\bigskip + +\begin{option}{opt=withnum, desc={= \meta{bool}}, init=false} + Sets whether to show the Pascal triangle row/col numbers or not. +\end{option}\\ +\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.63\linewidth,gobble=2] + \centering + \pascal[withnum]{4} + \pascal[withnum,shape=rt]{4} +\end{SideBySideExample} + +\bigskip + +\begin{option}{opt = binom, desc = {= \meta{bool}}, init=false} + Sets whether to show each element value with binomial expressions or not. +\end{option}\\ +\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.63\linewidth,gobble=2] + \centering + \pascal[binom]{5} + \pascal[binom,shape=rt]{5} +\end{SideBySideExample} + +\bigskip + +\begin{option}{ opt = fillr, desc = {= \meta{integer}}, init=1 } + Set the row number of the cell that needs to indicate the sum of the pre-column, + note that the row number is in the current column counted from the top down based 0. +\end{option} + +\begin{option}{ opt = fillc, desc = {= \meta{integer}}, init=1 } + Set the col number of the cell that needs to indicate the sum of the pre-column, + note that the col number is counted from the left to right based 0. +\end{option}\\ +\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.64\linewidth,gobble=2] + \centering + \pascalset{fillr=2,fillc=6, + radius=0.4cm} + \pascal{10}\\ + \pascal[shape=rt]{10} +\end{SideBySideExample} + +\end{documentation} + + +\end{document} diff --git a/macros/latex/contrib/tcolorbox/CHANGES.md b/macros/latex/contrib/tcolorbox/CHANGES.md index be2c2e58e2..cd0cb3a989 100644 --- a/macros/latex/contrib/tcolorbox/CHANGES.md +++ b/macros/latex/contrib/tcolorbox/CHANGES.md @@ -22,6 +22,20 @@ and this project adheres to +## [5.0.2] - 2022-01-07 + +### Changed +- Library `minted`: Temporary patch `\tcbTemporaryPatchMintedFancyvrb` removed + because of update for package `minted` (2021/12/24). This is now the required + version for `tcolorbox` (issue #158) + +### Fixed +- Using the `documentation` library with `minted` was broken +- Library `theorems`: New implementation had title expansion with problems (issue #165) + + + + ## [5.0.1] - 2021-12-20 ### Fixed diff --git a/macros/latex/contrib/tcolorbox/README.md b/macros/latex/contrib/tcolorbox/README.md index 4a01a52f29..38f71ac584 100644 --- a/macros/latex/contrib/tcolorbox/README.md +++ b/macros/latex/contrib/tcolorbox/README.md @@ -1,7 +1,7 @@ -# The LaTeX package tcolorbox - version 5.0.1 (2021/12/20) +# The LaTeX package tcolorbox - version 5.0.2 (2022/01/07) -> Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm +> Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm > This work may be distributed and/or modified under the > conditions of the LaTeX Project Public License, either version 1.3 diff --git a/macros/latex/contrib/tcolorbox/tcbbreakable.code.tex b/macros/latex/contrib/tcolorbox/tcbbreakable.code.tex index e572f2834e..543d767c67 100644 --- a/macros/latex/contrib/tcolorbox/tcbbreakable.code.tex +++ b/macros/latex/contrib/tcolorbox/tcbbreakable.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 5.0.1 (2021/12/20) +%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07) %% tcbbreakable.code.tex: Code for breakable colorboxes %% %% ------------------------------------------------------------------------------------------- @@ -17,7 +17,7 @@ %% %% This work consists of all files listed in README %% -\tcb@set@library@version{5.0.1} +\tcb@set@library@version{5.0.2} \RequirePackage{pdfcol} \pdfcolInitStack{tcb@breakable} diff --git a/macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex b/macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex index 60f9990277..7a97196d34 100644 --- a/macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex +++ b/macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 5.0.1 (2021/12/20) +%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07) %% tcbdocumentation.code.tex: Code for LaTeX documentations %% %% ------------------------------------------------------------------------------------------- @@ -17,7 +17,7 @@ %% %% This work consists of all files listed in README %% -\tcb@set@library@version{5.0.1} +\tcb@set@library@version{5.0.2} \tcbuselibrary{listings,skins,xparse,external,raster} diff --git a/macros/latex/contrib/tcolorbox/tcbexternal.code.tex b/macros/latex/contrib/tcolorbox/tcbexternal.code.tex index 7f78d61f52..cdc0c2b9e8 100644 --- a/macros/latex/contrib/tcolorbox/tcbexternal.code.tex +++ b/macros/latex/contrib/tcolorbox/tcbexternal.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 5.0.1 (2021/12/20) +%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07) %% tcbexternal.code.tex: Code for externalization %% %% ------------------------------------------------------------------------------------------- @@ -17,7 +17,7 @@ %% %% This work consists of all files listed in README %% -\tcb@set@library@version{5.0.1} +\tcb@set@library@version{5.0.2} \tcbuselibrary{pro@cessing} diff --git a/macros/latex/contrib/tcolorbox/tcbfitting.code.tex b/macros/latex/contrib/tcolorbox/tcbfitting.code.tex index 8a1a39963f..1259be495c 100644 --- a/macros/latex/contrib/tcolorbox/tcbfitting.code.tex +++ b/macros/latex/contrib/tcolorbox/tcbfitting.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 5.0.1 (2021/12/20) +%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07) %% tcbfitting.code.tex: Code for fit boxes %% %% ------------------------------------------------------------------------------------------- @@ -18,7 +18,7 @@ %% This work consists of all files listed in README %% %\makeatletter -\tcb@set@library@version{5.0.1} +\tcb@set@library@version{5.0.2} \newdimen\tcbfitdim \newdimen\tcb@lowerfitdim diff --git a/macros/latex/contrib/tcolorbox/tcbhooks.code.tex b/macros/latex/contrib/tcolorbox/tcbhooks.code.tex index a61fa09947..f3197fbcf5 100644 --- a/macros/latex/contrib/tcolorbox/tcbhooks.code.tex +++ b/macros/latex/contrib/tcolorbox/tcbhooks.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 5.0.1 (2021/12/20) +%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07) %% tcbhooks.code.tex: Code for adding hooks %% %% ------------------------------------------------------------------------------------------- @@ -18,7 +18,7 @@ %% This work consists of all files listed in README %% %\makeatletter -\tcb@set@library@version{5.0.1} +\tcb@set@library@version{5.0.2} \tcbset{% before upper app/.code={\appto\kvtcb@before@upper{#1}},% diff --git a/macros/latex/contrib/tcolorbox/tcblistings.code.tex b/macros/latex/contrib/tcolorbox/tcblistings.code.tex index 8235485a0b..7d74e9ad6e 100644 --- a/macros/latex/contrib/tcolorbox/tcblistings.code.tex +++ b/macros/latex/contrib/tcolorbox/tcblistings.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 5.0.1 (2021/12/20) +%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07) %% tcblistings.code.tex: Code for colorboxes with listings %% %% ------------------------------------------------------------------------------------------- @@ -18,7 +18,7 @@ %% This work consists of all files listed in README %% %\makeatletter -\tcb@set@library@version{5.0.1} +\tcb@set@library@version{5.0.2} \RequirePackage{listings}[2007/02/22] diff --git a/macros/latex/contrib/tcolorbox/tcblistingscore.code.tex b/macros/latex/contrib/tcolorbox/tcblistingscore.code.tex index 4068e214ce..d461068fe2 100644 --- a/macros/latex/contrib/tcolorbox/tcblistingscore.code.tex +++ b/macros/latex/contrib/tcolorbox/tcblistingscore.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 5.0.1 (2021/12/20) +%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07) %% tcblistingscode.code.tex: Auxiliary code for colorboxes with listings %% %% ------------------------------------------------------------------------------------------- @@ -18,7 +18,7 @@ %% This work consists of all files listed in README %% %\makeatletter -\tcb@set@library@version{5.0.1} +\tcb@set@library@version{5.0.2} \tcbuselibrary{pro@cessing} diff --git a/macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex b/macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex index c64ef9c42b..0946a01a81 100644 --- a/macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex +++ b/macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 5.0.1 (2021/12/20) +%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07) %% tcblistingsutf8.code.tex: Code for colorboxes with listings in UTF-8 %% %% ------------------------------------------------------------------------------------------- @@ -17,7 +17,7 @@ %% %% This work consists of all files listed in README %% -\tcb@set@library@version{5.0.1} +\tcb@set@library@version{5.0.2} \tcbuselibrary{listings} diff --git a/macros/latex/contrib/tcolorbox/tcbmagazine.code.tex b/macros/latex/contrib/tcolorbox/tcbmagazine.code.tex index 8db9256b13..0ba0c9f278 100644 --- a/macros/latex/contrib/tcolorbox/tcbmagazine.code.tex +++ b/macros/latex/contrib/tcolorbox/tcbmagazine.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 5.0.1 (2021/12/20) +%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07) %% tcbmagazine.code.tex: Code for box sets and magazine styles %% %% ------------------------------------------------------------------------------------------- @@ -17,7 +17,7 @@ %% %% This work consists of all files listed in README %% -\tcb@set@library@version{5.0.1} +\tcb@set@library@version{5.0.2} \tcbuselibrary{breakable} diff --git a/macros/latex/contrib/tcolorbox/tcbminted.code.tex b/macros/latex/contrib/tcolorbox/tcbminted.code.tex index 5197990109..802f48e902 100644 --- a/macros/latex/contrib/tcolorbox/tcbminted.code.tex +++ b/macros/latex/contrib/tcolorbox/tcbminted.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 5.0.1 (2021/12/20) +%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07) %% tcbminted.code.tex: Code for colorboxes with listings %% %% ------------------------------------------------------------------------------------------- @@ -18,43 +18,13 @@ %% This work consists of all files listed in README %% %\makeatletter -\tcb@set@library@version{5.0.1} +\tcb@set@library@version{5.0.2} -\RequirePackage{minted}[2011/09/17] +\RequirePackage{minted}[2021/12/24] % to be removed, if integrated into the minted package (#281) \minted@def@optcl{envname}{-P envname}{#1} -% to be removed, if minted becomes newer than v2.5 (2017/07/19) -% and resolves the package clash with fancyvrb -\ProvideDocumentCommand\tcbTemporaryPatchMintedFancyvrb{}{% - \@ifpackagelater{minted}{2021/12/01}{}{\@ifpackagelater{fancyvrb}{2021/11/19}{% - % patch from muzimuzhi - \RequirePackage{regexpatch}% - \def\minted@use@FancyVerbStartNum{\the\numexpr\FancyVerbStartNum}% - \def\minted@use@FancyVerbStopNum{\the\numexpr\FancyVerbStopNum}% - % patch for fivesum computation - \xpatchcmd*\minted@pygmentize% - {\ifx\FancyVerbStartNum\z@ 0\else\FancyVerbStartNum\fi}% - {\minted@use@FancyVerbStartNum\relax}% - {}{}% - \xpatchcmd*\minted@pygmentize% - {\ifx\FancyVerbStopNum\z@ 0\else\FancyVerbStopNum\fi}% - {\minted@use@FancyVerbStopNum\relax}% - {}{}% - % patch for option "autogobble" - \xpatchcmd\minted@autogobble% - {\ifx\FancyVerbStartNum\z@ 0\else\FancyVerbStartNum\fi}% - {\minted@use@FancyVerbStartNum}% - {}{}% - \xpatchcmd\minted@autogobble% - {\ifx\FancyVerbStopNum\z@ 0\else\FancyVerbStopNum\fi}% - {\minted@use@FancyVerbStopNum}% - {}{}% -}{}}} - -\tcbTemporaryPatchMintedFancyvrb - \tcbuselibrary{listings@core} \ExplSyntaxOn @@ -66,9 +36,12 @@ \usemintedstyle { #4 } } \tl_set:Nn \l_tmpa_tl { \inputminted[#1 } - \str_if_eq:VnT \tcb@listing@capture { hbox } + \cs_if_exist:NT \tcb@listing@capture { - \tl_put_right:Nn \l_tmpa_tl { ,envname=BVerbatim } + \str_if_eq:VnT \tcb@listing@capture { hbox } + { + \tl_put_right:Nn \l_tmpa_tl { ,envname=BVerbatim } + } } \tl_put_right:Nn \l_tmpa_tl { ] } \file_if_exist:nTF { \minted@outputdir #3 } diff --git a/macros/latex/contrib/tcolorbox/tcbposter.code.tex b/macros/latex/contrib/tcolorbox/tcbposter.code.tex index 399017a7e0..7a4ec1aa60 100644 --- a/macros/latex/contrib/tcolorbox/tcbposter.code.tex +++ b/macros/latex/contrib/tcolorbox/tcbposter.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 5.0.1 (2021/12/20) +%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07) %% tcbposter.code.tex: Code for posters %% %% ------------------------------------------------------------------------------------------- @@ -17,7 +17,7 @@ %% %% This work consists of all files listed in README %% -\tcb@set@library@version{5.0.1} +\tcb@set@library@version{5.0.2} \tcbuselibrary{breakable,magazine,skins,fitting} diff --git a/macros/latex/contrib/tcolorbox/tcbprocessing.code.tex b/macros/latex/contrib/tcolorbox/tcbprocessing.code.tex index b776656cf4..1575b8e990 100644 --- a/macros/latex/contrib/tcolorbox/tcbprocessing.code.tex +++ b/macros/latex/contrib/tcolorbox/tcbprocessing.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 5.0.1 (2021/12/20) +%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07) %% tcbprocessing.code.tex: Code for conditional processing %% %% ------------------------------------------------------------------------------------------- @@ -17,7 +17,7 @@ %% %% This work consists of all files listed in README %% -\tcb@set@library@version{5.0.1} +\tcb@set@library@version{5.0.2} \RequirePackage{pdftexcmds} \RequirePackage{shellesc} diff --git a/macros/latex/contrib/tcolorbox/tcbraster.code.tex b/macros/latex/contrib/tcolorbox/tcbraster.code.tex index 7cf3d8db2a..78c1ba5505 100644 --- a/macros/latex/contrib/tcolorbox/tcbraster.code.tex +++ b/macros/latex/contrib/tcolorbox/tcbraster.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 5.0.1 (2021/12/20) +%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07) %% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins %% %% ------------------------------------------------------------------------------------------- @@ -17,7 +17,7 @@ %% %% This work consists of all files listed in README %% -\tcb@set@library@version{5.0.1} +\tcb@set@library@version{5.0.2} \newcounter{tcbrastercolumn} \newcounter{tcbrasterrow} diff --git a/macros/latex/contrib/tcolorbox/tcbskins.code.tex b/macros/latex/contrib/tcolorbox/tcbskins.code.tex index 40e2704067..3d048c71c3 100644 --- a/macros/latex/contrib/tcolorbox/tcbskins.code.tex +++ b/macros/latex/contrib/tcolorbox/tcbskins.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 5.0.1 (2021/12/20) +%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07) %% tcbskins.code.tex: Code for colorboxes with different skins %% %% ------------------------------------------------------------------------------------------- @@ -17,7 +17,7 @@ %% %% This work consists of all files listed in README %% -\tcb@set@library@version{5.0.1} +\tcb@set@library@version{5.0.2} \RequirePackage{tikz}[2010/10/13] diff --git a/macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex b/macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex index 3851f4e87e..3fe250f208 100644 --- a/macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex +++ b/macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 5.0.1 (2021/12/20) +%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07) %% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins %% %% ------------------------------------------------------------------------------------------- @@ -17,7 +17,7 @@ %% %% This work consists of all files listed in README %% -\tcb@set@library@version{5.0.1} +\tcb@set@library@version{5.0.2} \tcbuselibrary{skins} diff --git a/macros/latex/contrib/tcolorbox/tcbtheorems.code.tex b/macros/latex/contrib/tcolorbox/tcbtheorems.code.tex index 2d8f2caa79..f1b4820ebc 100644 --- a/macros/latex/contrib/tcolorbox/tcbtheorems.code.tex +++ b/macros/latex/contrib/tcolorbox/tcbtheorems.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 5.0.1 (2021/12/20) +%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07) %% tcbtheorems.code.tex: Code for theorems in colorboxes %% %% ------------------------------------------------------------------------------------------- @@ -18,7 +18,7 @@ %% This work consists of all files listed in README %% %\makeatletter -\tcb@set@library@version{5.0.1} +\tcb@set@library@version{5.0.2} \RequirePackage{amsmath} @@ -33,15 +33,21 @@ \tl_new:N \l__tcobox_theo_label_separator_tl \tl_new:N \l__tcobox_theo_separatorsign_tl \tl_new:N \l__tcobox_theo_terminatorsign_tl +\bool_new:N \l__tcobox_theo_headempty_bool \cs_new_nopar:Npn \__tcobox_theo_format_name_number:nn #1#2 { \tl_if_empty:nTF { #1 } { - #2 + \tl_if_empty:nF { #2 } + { + \bool_set_false:N \l__tcobox_theo_headempty_bool + #2 + } } { + \bool_set_false:N \l__tcobox_theo_headempty_bool #1 \tl_if_empty:nF { #2 } { @@ -58,6 +64,26 @@ } +\cs_new_nopar:Npn \__tcobox_theo_format_name:nn #1#2 + { + \tl_if_empty:nF { #1 } + { + \bool_set_false:N \l__tcobox_theo_headempty_bool + #1 + } + } + + +\cs_new_nopar:Npn \__tcobox_theo_format_number:nn #1#2 + { + \tl_if_empty:nF { #2 } + { + \bool_set_false:N \l__tcobox_theo_headempty_bool + #2 + } + } + + \cs_new:Npn \__tcobox_theo_format_description_standard:n #1 { \l__tcobox_theo_description_color_tl @@ -68,26 +94,24 @@ } + \cs_new:Npn \__tcobox_theo_title:nnn #1#2#3 { % format and save display name and number - \tl_set:Nx \l_tmpa_tl { \__tcobox_theo_format:nn{#1}{#2} } + \bool_set_true:N \l__tcobox_theo_headempty_bool \tl_if_empty:nTF { #3 } { % no theorem title; insert name and number - \l_tmpa_tl + \__tcobox_theo_format:nn{#1}{#2} \l__tcobox_theo_terminatorsign_tl } { % box display name and number - \tl_if_empty:NTF \l_tmpa_tl - { - \box_clear:N \l_tmpa_box - } + \hbox_set:Nn \l_tmpa_box { - \hbox_set:Nn \l_tmpa_box + \__tcobox_theo_format:nn{#1}{#2} + \bool_if:NF \l__tcobox_theo_headempty_bool { - \tl_use:N \l_tmpa_tl \l__tcobox_theo_separatorsign_tl \nobreakspace } @@ -186,11 +210,11 @@ }, theorem~name/.code = { - \cs_set_eq:NN \__tcobox_theo_format:nn \use_i:nn + \cs_set_eq:NN \__tcobox_theo_format:nn \__tcobox_theo_format_name:nn }, theorem~number/.code = { - \cs_set_eq:NN \__tcobox_theo_format:nn \use_ii:nn + \cs_set_eq:NN \__tcobox_theo_format:nn \__tcobox_theo_format_number:nn }, separator~sign/ .tl_set:N = \l__tcobox_theo_separatorsign_tl, terminator~sign/ .tl_set:N = \l__tcobox_theo_terminatorsign_tl, diff --git a/macros/latex/contrib/tcolorbox/tcbvignette.code.tex b/macros/latex/contrib/tcolorbox/tcbvignette.code.tex index 12cbaae28d..f6da2fd7f6 100644 --- a/macros/latex/contrib/tcolorbox/tcbvignette.code.tex +++ b/macros/latex/contrib/tcolorbox/tcbvignette.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 5.0.1 (2021/12/20) +%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07) %% tcbvignette.code.tex: Code for ornamental frames %% %% ------------------------------------------------------------------------------------------- @@ -17,7 +17,7 @@ %% %% This work consists of all files listed in README %% -\tcb@set@library@version{5.0.1} +\tcb@set@library@version{5.0.2} \tcbuselibrary{skins} diff --git a/macros/latex/contrib/tcolorbox/tcbxparse.code.tex b/macros/latex/contrib/tcolorbox/tcbxparse.code.tex index 15e77b2b75..f2fba3e0d8 100644 --- a/macros/latex/contrib/tcolorbox/tcbxparse.code.tex +++ b/macros/latex/contrib/tcolorbox/tcbxparse.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 5.0.1 (2021/12/20) +%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07) %% tcbxparse.code.tex: Code for xparse features %% %% ------------------------------------------------------------------------------------------- @@ -18,7 +18,7 @@ %% This work consists of all files listed in README %% %\makeatletter -\tcb@set@library@version{5.0.1} +\tcb@set@library@version{5.0.2} \RequirePackage{xparse}[2013/12/31] diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf b/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf index 1871f9e64c..53ea3b5652 100644 Binary files a/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf and b/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf differ diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex b/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex index 696c53d6bc..3b2234d594 100644 --- a/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex +++ b/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 5.0.1 (2021/12/20) +%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07) %% tcolorbox-example-poster.tex: a poster example for tcolorbox %% %% ------------------------------------------------------------------------------------------- diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-example.pdf b/macros/latex/contrib/tcolorbox/tcolorbox-example.pdf index b3b5ac88d0..e90054c665 100644 Binary files a/macros/latex/contrib/tcolorbox/tcolorbox-example.pdf and b/macros/latex/contrib/tcolorbox/tcolorbox-example.pdf differ diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-example.tex b/macros/latex/contrib/tcolorbox/tcolorbox-example.tex index 80371dbb4a..aa1a23e52f 100644 --- a/macros/latex/contrib/tcolorbox/tcolorbox-example.tex +++ b/macros/latex/contrib/tcolorbox/tcolorbox-example.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 5.0.1 (2021/12/20) +%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07) %% tcolorbox-example.tex: an example for tcolorbox %% %% ------------------------------------------------------------------------------------------- diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf b/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf index cc343d1aa5..89224955ff 100644 Binary files a/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf and b/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf differ diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex b/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex index 0db2af1fe9..9653f7fcd7 100644 --- a/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex +++ b/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex @@ -1,5 +1,5 @@ % \LaTeX-Main\ -%% The LaTeX package tcolorbox - version 5.0.1 (2021/12/20) +%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07) %% tcolorbox-tutorial-poster.tex: a tutorial for poster creation with tcolorbox %% %% ------------------------------------------------------------------------------------------- diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.listings.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.listings.tex index 2aa5b31974..82b5d9f77b 100644 --- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.listings.tex +++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.listings.tex @@ -533,26 +533,6 @@ For examples of different styles, see See further options in \Vref{sec:commonlistingkeys}. -\medskip - -\begin{docCommand}[doc new=2021-12-16]{tcbTemporaryPatchMintedFancyvrb}{} - \begin{marker} - There is a package clash between the package |minted| (version 2.5) - and the package |fancyvrb| (from version 4.0 on) which is used by - package |minted|. This is results in compilation errors, if the - |autogobble| option is used by the \mylib{minted} library. - At the time of writing this package clash is unresolved by official releases. - Therefore, the \mylib{minted} library contains a patch - \refCom{tcbTemporaryPatchMintedFancyvrb} which is automatically applied - (do not use this manually).\par - To deactivate the patch, define \refCom{tcbTemporaryPatchMintedFancyvrb} - with any content \emph{before} the \mylib{minted} library is loaded.\par - This patch is going to be removed as soon as the package clash is - resolved by official releases of |minted| (or |fancyvrb|). - \end{marker} -\end{docCommand} - - \clearpage diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.pdf b/macros/latex/contrib/tcolorbox/tcolorbox.pdf index 5752a30847..5d613e89a5 100644 Binary files a/macros/latex/contrib/tcolorbox/tcolorbox.pdf and b/macros/latex/contrib/tcolorbox/tcolorbox.pdf differ diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.sty b/macros/latex/contrib/tcolorbox/tcolorbox.sty index 5efef3cce0..a836c92d46 100644 --- a/macros/latex/contrib/tcolorbox/tcolorbox.sty +++ b/macros/latex/contrib/tcolorbox/tcolorbox.sty @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 5.0.1 (2021/12/20) +%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07) %% tcolorbox.sty: Text color boxes %% %% ------------------------------------------------------------------------------------------- @@ -18,8 +18,8 @@ %% This work consists of all files listed in README %% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{tcolorbox}[2021/12/20 version 5.0.1 text color boxes] -\def\tcb@version{5.0.1} +\ProvidesPackage{tcolorbox}[2022/01/07 version 5.0.2 text color boxes] +\def\tcb@version{5.0.2} \RequirePackage{pgf}[2008/01/15] \RequirePackage{verbatim}[2003/08/22] diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.tex b/macros/latex/contrib/tcolorbox/tcolorbox.tex index b11b1084b8..2287a74e47 100644 --- a/macros/latex/contrib/tcolorbox/tcolorbox.tex +++ b/macros/latex/contrib/tcolorbox/tcolorbox.tex @@ -1,5 +1,5 @@ % \LaTeX-Main\ -%% The LaTeX package tcolorbox - version 5.0.1 (2021/12/20) +%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07) %% tcolorbox.tex: Manual %% %% ------------------------------------------------------------------------------------------- @@ -44,8 +44,8 @@ \setlength{\bibitemsep}{\smallskipamount} \addbibresource{tcolorbox.doc.bib} -\def\version{5.0.1}% -\def\datum{2021/12/20}% +\def\version{5.0.2}% +\def\datum{2022/01/07}% \makeindex \hypersetup{ @@ -63,7 +63,7 @@ %\geometry{showframe} %\tcbset{draftmode} \tcbset{/tcb/external/-}% for final run -%\includeonly{tcolorbox.doc.sidebyside} +%\includeonly{tcolorbox.doc.listings} %\hypersetup{colorlinks=false} diff --git a/macros/pdftex/mptopdf/doc/context/scripts/mkii/mptopdf.man b/macros/pdftex/mptopdf/doc/context/scripts/mkii/mptopdf.man index 2f931b9c3e..c11ab07300 100644 --- a/macros/pdftex/mptopdf/doc/context/scripts/mkii/mptopdf.man +++ b/macros/pdftex/mptopdf/doc/context/scripts/mkii/mptopdf.man @@ -1,4 +1,4 @@ -.TH "mptopdf" "1" "01-01-2021" "version 1.4.1" "convert MetaPost figures to PDF" +.TH "mptopdf" "1" "01-01-2022" "version 1.4.1" "convert MetaPost figures to PDF" .SH NAME mptopdf - convert MetaPost figures to PDF .SH SYNOPSIS -- cgit v1.2.3