diff options
author | Karl Berry <karl@freefriends.org> | 2022-03-02 21:36:20 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-03-02 21:36:20 +0000 |
commit | 6177551a4e6315f21dc01b347a9dac5711074500 (patch) | |
tree | 94448d942dc1e8673a667ca733675db7c2f49a57 /Master | |
parent | 62d7dca481d8f9ebf4998eb09f9bc17748f72ab9 (diff) |
create-theorem (2mar22)
git-svn-id: svn://tug.org/texlive/trunk@62347 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/latex/create-theorem/create-theorem-doc.pdf | bin | 111285 -> 112139 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/create-theorem/create-theorem-doc.tex | 19 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/create-theorem/create-theorem.sty | 39 |
3 files changed, 40 insertions, 18 deletions
diff --git a/Master/texmf-dist/doc/latex/create-theorem/create-theorem-doc.pdf b/Master/texmf-dist/doc/latex/create-theorem/create-theorem-doc.pdf Binary files differindex 52d4bd1e93b..99b8e7290ca 100644 --- a/Master/texmf-dist/doc/latex/create-theorem/create-theorem-doc.pdf +++ b/Master/texmf-dist/doc/latex/create-theorem/create-theorem-doc.pdf diff --git a/Master/texmf-dist/doc/latex/create-theorem/create-theorem-doc.tex b/Master/texmf-dist/doc/latex/create-theorem/create-theorem-doc.tex index c077649309e..749b345a2ab 100644 --- a/Master/texmf-dist/doc/latex/create-theorem/create-theorem-doc.tex +++ b/Master/texmf-dist/doc/latex/create-theorem/create-theorem-doc.tex @@ -89,8 +89,8 @@ \title{\createtheorempackage{}\\\smallskip\itshape Initializing theorem-like environments with multilingual support} \author{Jinwen XU} -\thanks{Corresponding to: \texttt{\createtheorempackage{} 2022/02/27}} -\date{February 2022, in Paris} +\thanks{Corresponding to: \texttt{\createtheorempackage{} 2022/03/01}} +\date{March 2022, in Paris} \maketitle @@ -208,7 +208,7 @@ Supported keys are: The syntax of \lstinline|\CreateTheorem| is as follows: \begin{code} -\CreateTheorem{(*\meta{name of environment}*)}{(*\meta{key-value configuration}*)} +\CreateTheorem{(*\meta{list of the name of environments}*)}{(*\meta{key-value configuration}*)} \end{code} Supported keys are: @@ -265,7 +265,16 @@ Supported keys are: \medskip -Please note that, by default, an normal environment \meta{env} and its starred relative \meta{env}\texttt{*} do not share the same set of names, for the sake of generality. However, with proper usage of \commandoption{create starred version} and \commandoption{copy existed}, you are already able to produce all of the following combinations that shares the same set of names: 1$)$ numbered \meta{env}, numbered \meta{env}\texttt{*} ; 2$)$ numbered \meta{env}, unnumbered \meta{env}\texttt{*} ; 3$)$ unnumbered \meta{env}, numbered \meta{env}\texttt{*} ; and 4$)$ unnumbered \meta{env}, unnumbered \meta{env}\texttt{*}. I left it as an easy exercise for you ;-) +Please note that, by default, an normal environment \meta{env} and its starred relative \meta{env}\texttt{*} do \emph{not} share the same set of names, for the sake of generality. However, with proper usage of \commandoption{create starred version} and \commandoption{copy existed}, you are already able to produce all of the following combinations that shares the same set of names: 1$)$ numbered \meta{env}, numbered \meta{env}\texttt{*} ; 2$)$ numbered \meta{env}, unnumbered \meta{env}\texttt{*} ; 3$)$ unnumbered \meta{env}, numbered \meta{env}\texttt{*} ; and 4$)$ unnumbered \meta{env}, unnumbered \meta{env}\texttt{*}. I left it as an easy exercise for you ;-) + +% \subsection[Configuring theorem-like environments]{Configuring theorem-like environments with \texttt{\textbackslash\textcolor{maintheme}{SetTheorem}}} + +% Even after defining the environments, you can still configure them with \lstinline|\SetTheorem|. The syntax of which is as follows: + +% \begin{code} +% \SetTheorem{(*\meta{list of the name of environments}*)}{(*\meta{key-value configuration}*)} +% \end{code} + \section{Examples} @@ -319,7 +328,7 @@ Next we shall deal with the numbering problem. Let's continue to use this enviro \subsection{Let's play with numbering} -Remember the exercise I left to you at the end of the previous section? Let's do this together. +Remember the exercise I left you at the end of the previous section? Let's do it together now. \subsubsection{Numbered \texttt{idea} and numbered \texttt{idea*}} diff --git a/Master/texmf-dist/tex/latex/create-theorem/create-theorem.sty b/Master/texmf-dist/tex/latex/create-theorem/create-theorem.sty index 22e89a8d8d5..e966ff97521 100644 --- a/Master/texmf-dist/tex/latex/create-theorem/create-theorem.sty +++ b/Master/texmf-dist/tex/latex/create-theorem/create-theorem.sty @@ -13,7 +13,7 @@ \RequirePackage{l3keys2e} \ProvidesExplPackage {create-theorem} - {2022/02/27} {} + {2022/03/01} {} {Initializing theorem-like environments with multilingual support} \keys_define:nn { create-theorem } @@ -280,7 +280,7 @@ { % Patch the cref formats so that definite articles are placed outside the hyperlinks \bool_if:NT \l__crthm_nameinlink_bool { % Use the definite article of the original language, with name's casing depends on the preposition and the article - \crefthe_patch_format:nnnnn { 2 } { #4 ref@ #1 @format } { #4 ref@ #1 @name } + \crefthe_patch_format:nnnn { #4 ref@ #1 @format } { #4 ref@ #1 @name } { \tl_use:c { g_crthm_name_ #4 ref_article_singular_ #2 _ #3 _tl } } { \bool_if:NTF \g__crefthe_has_prep_bool @@ -291,7 +291,7 @@ \tl_use:c { g_crthm_name_ #4 ref_singular_ #2 _ #3 _tl } } } - \crefthe_patch_format:nnnnn { 2 } { #4 ref@ #1 @format@first } { #4 ref@ #1 @name@plural } + \crefthe_patch_format:nnnn { #4 ref@ #1 @format@first } { #4 ref@ #1 @name@plural } { \tl_use:c { g_crthm_name_ #4 ref_article_plural_ #2 _ #3 _tl } } { \bool_if:NTF \g__crefthe_has_prep_bool @@ -302,7 +302,7 @@ \tl_use:c { g_crthm_name_ #4 ref_plural_ #2 _ #3 _tl } } } - \crefthe_patch_format:nnnnn { 3 } { #4 refrange@ #1 @format } { #4 ref@ #1 @name@plural } + \crefthe_patch_format:nnnn { #4 refrange@ #1 @format } { #4 ref@ #1 @name@plural } { \tl_use:c { g_crthm_name_ #4 ref_article_plural_ #2 _ #3 _tl } } { \bool_if:NTF \g__crefthe_has_prep_bool @@ -313,7 +313,7 @@ \tl_use:c { g_crthm_name_ #4 ref_plural_ #2 _ #3 _tl } } } - \crefthe_patch_format:nnnnn { 3 } { #4 refrange@ #1 @format@first } { #4 ref@ #1 @name@plural } + \crefthe_patch_format:nnnn { #4 refrange@ #1 @format@first } { #4 ref@ #1 @name@plural } { \tl_use:c { g_crthm_name_ #4 ref_article_plural_ #2 _ #3 _tl } } { \bool_if:NTF \g__crefthe_has_prep_bool @@ -325,29 +325,29 @@ } } %% Use the definite article of the original language, with name's casing correspond to the article - % \crefthe_patch_format:nnnnn { 2 } { #4 ref@ #1 @format } { #4 ref@ #1 @name } + % \crefthe_patch_format:nnnn { #4 ref@ #1 @format } { #4 ref@ #1 @name } % { \tl_use:c { g_crthm_name_ #4 ref_article_singular_ #2 _ #3 _tl } } % { \tl_use:c { g_crthm_name_ #4 ref_singular_ #2 _ #3 _tl } } - % \crefthe_patch_format:nnnnn { 2 } { #4 ref@ #1 @format@first } { #4 ref@ #1 @name@plural } + % \crefthe_patch_format:nnnn { #4 ref@ #1 @format@first } { #4 ref@ #1 @name@plural } % { \tl_use:c { g_crthm_name_ #4 ref_article_plural_ #2 _ #3 _tl } } % { \tl_use:c { g_crthm_name_ #4 ref_plural_ #2 _ #3 _tl } } - % \crefthe_patch_format:nnnnn { 3 } { #4 refrange@ #1 @format } { #4 ref@ #1 @name@plural } + % \crefthe_patch_format:nnnn { #4 refrange@ #1 @format } { #4 ref@ #1 @name@plural } % { \tl_use:c { g_crthm_name_ #4 ref_article_plural_ #2 _ #3 _tl } } % { \tl_use:c { g_crthm_name_ #4 ref_plural_ #2 _ #3 _tl } } - % \crefthe_patch_format:nnnnn { 3 } { #4 refrange@ #1 @format@first } { #4 ref@ #1 @name@plural } + % \crefthe_patch_format:nnnn { #4 refrange@ #1 @format@first } { #4 ref@ #1 @name@plural } % { \tl_use:c { g_crthm_name_ #4 ref_article_plural_ #2 _ #3 _tl } } % { \tl_use:c { g_crthm_name_ #4 ref_plural_ #2 _ #3 _tl } } %% Use the definite article of the current language, with name's casing correspond to the article - % \crefthe_patch_format:nnnnn { 2 } { #4 ref@ #1 @format } { #4 ref@ #1 @name } + % \crefthe_patch_format:nnnn { #4 ref@ #1 @format } { #4 ref@ #1 @name } % { \tl_use:c { g_crthm_name_ #4 ref_article_singular_ #2 _ \languagename _tl } } % { \tl_use:c { g_crthm_name_ #4 ref_singular_ #2 _ #3 _tl } } - % \crefthe_patch_format:nnnnn { 2 } { #4 ref@ #1 @format@first } { #4 ref@ #1 @name@plural } + % \crefthe_patch_format:nnnn { #4 ref@ #1 @format@first } { #4 ref@ #1 @name@plural } % { \tl_use:c { g_crthm_name_ #4 ref_article_plural_ #2 _ \languagename _tl } } % { \tl_use:c { g_crthm_name_ #4 ref_plural_ #2 _ #3 _tl } } - % \crefthe_patch_format:nnnnn { 3 } { #4 refrange@ #1 @format } { #4 ref@ #1 @name@plural } + % \crefthe_patch_format:nnnn { #4 refrange@ #1 @format } { #4 ref@ #1 @name@plural } % { \tl_use:c { g_crthm_name_ #4 ref_article_plural_ #2 _ \languagename _tl } } % { \tl_use:c { g_crthm_name_ #4 ref_plural_ #2 _ #3 _tl } } - % \crefthe_patch_format:nnnnn { 3 } { #4 refrange@ #1 @format@first } { #4 ref@ #1 @name@plural } + % \crefthe_patch_format:nnnn { #4 refrange@ #1 @format@first } { #4 ref@ #1 @name@plural } % { \tl_use:c { g_crthm_name_ #4 ref_article_plural_ #2 _ \languagename _tl } } % { \tl_use:c { g_crthm_name_ #4 ref_plural_ #2 _ #3 _tl } } } @@ -356,6 +356,11 @@ \NewDocumentCommand \NameTheorem { m m } { + \crthm_name_theorem:nn { #1 } { #2 } + } + +\cs_new:Nn \crthm_name_theorem:nn + { \tl_set:Nn \l__crthm_current_env_tl { #1 } \newcounter { #1 } \keys_set:nn { create-theorem-naming } { #2 } @@ -428,6 +433,14 @@ \NewDocumentCommand \CreateTheorem { m m } { + \clist_map_inline:nn { #1 } + { + \crthm_create_theorem:nn { ##1 } { #2 } + } + } + +\cs_new:Nn \crthm_create_theorem:nn + { \tl_set:Nn \l__crthm_current_env_tl { #1 } \bool_set_false:N \l__crthm_creating_apply_style_bool \bool_set_false:N \l__crthm_creating_numberless_bool |