texlive[75031] Master/texmf-dist: tikzquests (26apr25)

commits+karl at tug.org commits+karl at tug.org
Sat Apr 26 22:08:29 CEST 2025


Revision: 75031
          https://tug.org/svn/texlive?view=revision&revision=75031
Author:   karl
Date:     2025-04-26 22:08:29 +0200 (Sat, 26 Apr 2025)
Log Message:
-----------
tikzquests (26apr25)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/tikzquests/README.md
    trunk/Master/texmf-dist/doc/latex/tikzquests/tikzquests.pdf
    trunk/Master/texmf-dist/doc/latex/tikzquests/tikzquests.tex
    trunk/Master/texmf-dist/tex/latex/tikzquests/tikzquests.sty

Modified: trunk/Master/texmf-dist/doc/latex/tikzquests/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikzquests/README.md	2025-04-26 20:08:20 UTC (rev 75030)
+++ trunk/Master/texmf-dist/doc/latex/tikzquests/README.md	2025-04-26 20:08:29 UTC (rev 75031)
@@ -67,7 +67,10 @@
     - documentation in PDF format
 
 -------------
-* Version 1.2 (this)
+* Version 1.3 (this)
+    - Added an optional parameter to \defQuestionAlias allowing to "copy" questions from one repository into another. see documentation.
+
+* Version 1.2
     - Added the concept of 'sub-repositories' (relevant when listing the questions of a repository). see documentation.
 
 * Version 1.1

Modified: trunk/Master/texmf-dist/doc/latex/tikzquests/tikzquests.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tikzquests/tikzquests.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikzquests/tikzquests.tex	2025-04-26 20:08:20 UTC (rev 75030)
+++ trunk/Master/texmf-dist/doc/latex/tikzquests/tikzquests.tex	2025-04-26 20:08:29 UTC (rev 75031)
@@ -1,5 +1,10 @@
+%%%==============================================================================
+% WinEdt pragmas
+% !Mode:: "TeX:EN"
+% Default Compile engines:
 % !TEX program = pdflatex
-% !TEX ext =  --interaction=nonstopmode --enable-etex --enable-write18
+% !PDFTeXify ext =  --enable-etex  --restrict-write18
+% !PDFLaTeX ext  =  --enable-etex  --restrict-write18
 % !BIB program = none
 %%%==============================================================================
 %% Copyright 2023 by Alceu Frigeri
@@ -15,7 +20,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {1.2} {2025/01/09}
+%% This is version {1.3} {2025/04/25}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/tikzquests
@@ -69,7 +74,7 @@
 \section{Repositories}\label{repositories}
 Questions are stored in a set of repositories. Per default there is one such repository, named \tsobj[option]{default}. A repository can have an ``unlimited'' set of questions.
 
-\begin{codedescribe}{\defNewRepository,\selectRepository}
+\begin{codedescribe}{\defNewRepository,\SelectRepository}
 \begin{codesyntax}%
 \tsmacro{\defNewRepository*}{new-repository}
 \tsmacro{\SelectRepository}{repository}
@@ -117,18 +122,23 @@
 \end{tsremark}
 
 
-\begin{codedescribe}{\defQuestionAlias}
+\begin{codedescribe}[code,update={2025-04-25}]{\defQuestionAlias}
 \begin{codesyntax}%
-\tsobj{\defQuestionAlias*}\tsargs[oarg]{repository}\tsargs[marg]{quest-alias,quest-name}
+\tsobj{\defQuestionAlias*}\tsargs[oarg]{dst-repository}\tsargs[marg]{quest-alias}\tsargs[oarg]{org-repository}\tsargs[marg]{quest-name}
 \end{codesyntax}
-\tsobj{\defQuestionAlias} creates an alias, \tsobj[marg]{quest-alias} for a given question, \tsobj[marg]{quest-name}. As for \tsobj{\defQuestion}, the ``starred one'' regards text code ones and the ``non starred one'' regards the graphical ones.
+\tsobj{\defQuestionAlias} creates an alias, \tsobj[marg]{quest-alias} (at \tsobj[oarg]{dst-repository}) for a given question, \tsobj[marg]{quest-name} (from \tsobj[oarg]{org-repository}). The current active repository is used if none is specified. If only \tsobj[oarg]{dst-repository} is specified, the same repository is used for \tsobj[oarg]{org-repository}. As with \tsobj{\defQuestion}, the ``starred one'' regards text code ones and the ``non starred one'' regards the graphical ones.
 \end{codedescribe}
 
+
 \begin{tsremark}
-An error is raised if \tsobj[marg]{repository} or \tsobj[marg]{quest-name} doesn't exist.
+Be aware that this will copy the question definition at the alias creation point.
 \end{tsremark}
 
+\begin{tsremark}
+An error is raised if \tsobj[marg,sep=or]{dst-repository,org-repository,quest-name} doesn't exist.
+\end{tsremark}
 
+
 \subsection{Using a Question}\label{question use}
 \begin{codedescribe}{\ftikzQuestion,\tikzQuestion,\rawtikzQuestion}
 \begin{codesyntax}%
@@ -168,7 +178,7 @@
 \end{tsremark}
 
 \begin{tsremark}
-An error is raised if a repository in \tsobj[marg]{repositories list} doesn't exist. To reduce the clutter (and number of questions listed) one should consider the use of the option \tsobj[option]{no alias}.
+An error is raised if a repository in \tsobj[marg]{repositories list} doesn't exist. To reduce the clutter (and number of questions listed) one should consider the use of the  \tsobj[option]{no alias} option.
 \end{tsremark}
 
 \section{Parameters as pgfkeys and auxiliary macros.}\label{parameters}

Modified: trunk/Master/texmf-dist/tex/latex/tikzquests/tikzquests.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikzquests/tikzquests.sty	2025-04-26 20:08:20 UTC (rev 75030)
+++ trunk/Master/texmf-dist/tex/latex/tikzquests/tikzquests.sty	2025-04-26 20:08:29 UTC (rev 75031)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {1.2} {2025/01/09}
+%% This is version {1.3} {2025/04/25}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/tikzquests
@@ -27,8 +27,8 @@
 
 \ProvidesExplPackage
     {tikzquests}
-    {2025/01/09}
-    {1.2}
+    {2025/04/25}
+    {1.3}
     {A Simple Framework for (tikz/text) Parametric Questions}
 
 \ExplSyntaxOn
@@ -42,8 +42,8 @@
   {
      name        .code:n = {tikzquests} ,
      prefix      .code:n = {tikzquests} ,
-     date        .code:n = {2025/01/09},
-     version     .code:n = {1.2} ,
+     date        .code:n = {2025/04/25},
+     version     .code:n = {1.3} ,
      description .code:n = {A Simple Framework for (tikz/text) Parametric Questions}
   }
 \cs_if_exist:NF \PkgInfo 
@@ -200,37 +200,51 @@
     }
   }
   
-\NewDocumentCommand{\defQuestionAlias}{sO{\l__tikzquests_active_repository_tl}mm}
+  
+\NewDocumentCommand{\defQuestionAlias}{sO{\l__tikzquests_active_repository_tl}mO{}m}
   {
-    \prop_if_exist:cTF {l__tikzquests_ #2 _tikzrepo_prop}
+    \tl_if_blank:nTF {#4}
+      { \tl_set:Nn \l_tmpa_tl {#2} }
+      { \tl_set:Nn \l_tmpa_tl {#4} }
+    \bool_lazy_and:nnTF { \prop_if_exist_p:c {l__tikzquests_ #2 _tikzrepo_prop} } { \prop_if_exist_p:c {l__tikzquests_ \l_tmpa_tl _tikzrepo_prop} }
     {
       \bool_if:NF \l__tikzquests_noalias_bool
         {
           \bool_if:nTF {#1}
             { 
-              \prop_get:cnNTF {l__tikzquests_ #2 _textrepo_prop}{#4} \l_tmpa_tl
+              \prop_get:cnNTF {l__tikzquests_ \l_tmpa_tl _textrepo_prop}{#5} \l_tmpb_tl
                 {
-                  \prop_put:cnn {l__tikzquests_ #2 _textrepo_prop}{#3}{\prop_item:cn {l__tikzquests_ #2 _textrepo_prop}{#4}}                  
-                  \prop_put:cnn {l__tikzquests_ #2 _textrepo_remarks_prop}{#3}{\prop_item:cn {l__tikzquests_ #2 _textrepo_remarks_prop}{#4}} 
+                  \prop_put:cnV {l__tikzquests_ #2 _textrepo_prop}{#3} \l_tmpb_tl
+                  \prop_get:cnNTF {l__tikzquests_ \l_tmpa_tl _textrepo_remarks_prop}{#5} \l_tmpb_tl
+                    { \prop_put:cnV {l__tikzquests_ #2 _textrepo_remarks_prop}{#3} \l_tmpb_tl }
+                    { \prop_put:cnn {l__tikzquests_ #2 _textrepo_remarks_prop}{#3}{} }
                 }
-                {
-                  \msg_error:nnnn {tikzquests}{invalid question}{alias~01}{#4}
+                { 
+                  \msg_error:nnnn {tikzquests}{invalid question}{alias~01}{#5} 
                 }
             }
             { 
-              \prop_get:cnNTF {l__tikzquests_ #2 _tikzrepo_prop}{#4} \l_tmpa_tl
+              \prop_get:cnNTF {l__tikzquests_ \l_tmpa_tl _tikzrepo_prop}{#5} \l_tmpb_tl
                 {
-                  \prop_put:cnn {l__tikzquests_ #2 _tikzrepo_prop}{#3}{\prop_item:cn {l__tikzquests_ #2 _tikzrepo_prop}{#4}}                  
-                  \prop_put:cnn {l__tikzquests_ #2 _tikzrepo_remarks_prop}{#3}{\prop_item:cn {l__tikzquests_ #2 _tikzrepo_remarks_prop}{#4}} 
+                  \prop_put:cnV {l__tikzquests_ #2 _tikzrepo_prop}{#3} \l_tmpb_tl
+                  \prop_get:cnNTF {l__tikzquests_ \l_tmpa_tl _tikzrepo_remarks_prop}{#5} \l_tmpb_tl
+                    { \prop_put:cnV {l__tikzquests_ #2 _tikzrepo_remarks_prop}{#3} \l_tmpb_tl }
+                    { \prop_put:cnn {l__tikzquests_ #2 _tikzrepo_remarks_prop}{#3}{} }
                 }
-                {
-                  \msg_error:nnnn {tikzquests}{invalid question}{alias~02}{#4}
+                { 
+                  \msg_error:nnnn {tikzquests}{invalid question}{alias~02}{#5} 
                 }
             }
         }
     }
     {
-      \msg_error:nnne {tikzquests}{invalid repository}{alias~03}{#2}
+      \tl_if_blank:nTF {#4}
+        {
+          \msg_error:nnne {tikzquests}{invalid repository}{alias~04}{<#2>}
+        }
+        {
+          \msg_error:nnne {tikzquests}{invalid repository}{alias~04}{<#2> - <#4>}
+        }
     }
   }
   



More information about the tex-live-commits mailing list.