texlive[75033] Master: afperpack (26apr25)

commits+karl at tug.org commits+karl at tug.org
Sat Apr 26 22:09:41 CEST 2025


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

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/libexec/ctan2tds
    trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/afperpack/
    trunk/Master/texmf-dist/doc/latex/afperpack/README.md
    trunk/Master/texmf-dist/doc/latex/afperpack/afperpack.pdf
    trunk/Master/texmf-dist/doc/latex/afperpack/afperpack.tex
    trunk/Master/texmf-dist/tex/latex/afperpack/
    trunk/Master/texmf-dist/tex/latex/afperpack/afperpack.sty
    trunk/Master/tlpkg/tlpsrc/afperpack.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/afperpack/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/afperpack/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/afperpack/README.md	2025-04-26 20:09:41 UTC (rev 75033)
@@ -0,0 +1,69 @@
+afperpack
+==========
+
+Personal package/preferences.
+
+For more details,  see the documentation,
+[afperpack.pdf](http://mirrors.ctan.org/macros/latex/contrib/afperpack/doc/afperpack.pdf)
+	
+--------------
+
+## Requirements
+* none besides a fairly recent LaTeX distribution as recent as 2022/06/01
+(with the new in kernel *\ProcessKeyOptions* and *\NewDocumentCommand*).
+
+## Installation
+The stable version is available at [CTAN](https://ctan.org/pkg/afperpack).
+
+## Usage
+### Stable version
+Just place
+```latex
+  \usepackage{afperpack}
+```
+
+in the preamble and compile away.
+
+## Contacting Author
+
+For bug reports and enhancement suggestions, the preferred way is to use
+[the project's issue page](https://github.com/alceu-frigeri/afperpack/issues).
+Please be ready to provide an example code showing the bug, if any.
+
+Please do not use the issue page for generic help on how to use the package.
+
+* git: https://github.com/alceu-frigeri/afperpack
+
+-------------
+Copyright 2025-present by Alceu Frigeri
+
+ This work may be distributed and/or modified under the
+ conditions of
+
+ * The [LaTeX Project Public License](http://www.latex-project.org/lppl.txt), version 1.3c (or later), and/or
+ * The [GNU Affero General Public License](https://www.gnu.org/licenses/agpl-3.0.html), version 3 (or later)
+
+This work has the LPPL maintenance status *maintained*.
+
+The Current Maintainer of this work is Alceu Frigeri
+
+-------------
+## This work consist of the files
+
+* afperpack.sty
+    - the package itself
+    
+* README.md  (this file)
+    - quick introduction
+
+* afperpack.tex
+    - package documentation
+* afperpack.pdf
+    - documentation in PDF format
+    
+-------------
+
+## Change log
+
+* Version 1.0 (this)
+    - Initial setup.


Property changes on: trunk/Master/texmf-dist/doc/latex/afperpack/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/afperpack/afperpack.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/afperpack/afperpack.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/afperpack/afperpack.pdf	2025-04-26 20:08:39 UTC (rev 75032)
+++ trunk/Master/texmf-dist/doc/latex/afperpack/afperpack.pdf	2025-04-26 20:09:41 UTC (rev 75033)

Property changes on: trunk/Master/texmf-dist/doc/latex/afperpack/afperpack.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/afperpack/afperpack.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/afperpack/afperpack.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/afperpack/afperpack.tex	2025-04-26 20:09:41 UTC (rev 75033)
@@ -0,0 +1,122 @@
+%%%==============================================================================
+% WinEdt pragmas
+% !Mode:: "TeX:EN"
+% Default Compile engines:
+% !TEX program = pdflatex
+% !PDFTeXify ext =  --enable-etex  --restrict-write18
+% !PDFLaTeX ext  =  --enable-etex  --restrict-write18
+% !BIB program = none
+%%%==============================================================================
+%% Copyright 2025-present by Alceu Frigeri
+%%
+%% This work may be distributed and/or modified under the conditions of
+%%
+%% * The [LaTeX Project Public License](http://www.latex-project.org/lppl.txt),
+%%   version 1.3c (or later), and/or
+%% * The [GNU Affero General Public License](https://www.gnu.org/licenses/agpl-3.0.html),
+%%   version 3 (or later)
+%%
+%% This work has the LPPL maintenance status *maintained*.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version {1.0} {2025/04/25}
+%%
+%% The list of files that compose this work can be found in the README.md file at
+%% https://ctan.org/pkg/afperpack
+%%
+%%%==============================================================================
+\documentclass[10pt]{article}
+\RequirePackage[verbose,a4paper,marginparwidth=27.5mm,top=2.5cm,bottom=1.5cm,hmargin={40mm,20mm},marginparsep=2.5mm,columnsep=10mm,asymmetric]{geometry}
+\usepackage{codedescribe}
+\RequirePackage[inline]{enumitem}
+\SetEnumitemKey{miditemsep}{parsep=0ex,itemsep=0.4ex}
+
+\usepackage[math,tikz,listings,graphicx,english]{afperpack}
+
+\RequirePackage[hidelinks,hypertexnames=false]{hyperref}
+
+\begin{document}
+\tstitle{
+  author={Alceu Frigeri\footnote{\tsverb{https://github.com/alceu-frigeri/afperpack}}},
+  date={\tsdate},
+  title={The afperpack Package\break Personal settings and preferences \break Version \PkgInfo{afperpack}{version}}
+  }
+  
+
+\begin{typesetabstract}
+This bundle includes  a personal pre-configuration package, which (selectively) loads package sets with the author pre-defined package options.
+
+\end{typesetabstract}
+
+\tableofcontents
+
+\section{Introduction}
+
+This is what is left from ``my personal packages''. I started, a few years ago (2022), to untangle the many personal packs/hacks that I was using, documenting them and publishing them at CTAN, and, finally, after almost 3 years (2025), this is what is left: Just an auxiliary package that pre-loads the packages I use the most, and define one single (well two) command(s). So, now, when I share a \LaTeX\ file with a colleague, he/she won't come back asking me how to compile it (because they lack ``my hacks'').
+
+\section{Package Options}
+
+\begin{describelist}{key}
+  \describe{showframe}{For geometry/format ``debugging''. This will just load the \tsobj[pkg]{showframe} package.}
+  \describe{showlabels}{For geometry/format ``debugging''. This will just load the \tsobj[pkg]{showlabels} package.}
+  \describe{english}{Babel will be loaded with \tsobj[option]{english} option. Otherwise \tsobj[option]{brazilian}. }
+  \describe{beamer}{This will suppress the loading of the \tsobj[pkg]{geometry,titlesec,listings} packages. It doesn't loads \tsobj[pkg]{beamer}.}
+  \describe{xpacks}{The packages \tsobj[pkg]{longtable,xpacks,csquotes,caption,supcaption,url,multirow,bigdelim} will be loaded.}
+  \describe{times}{This will load the \tsobj[pkg]{mathptmx} package (times roman) instead of (default) \tsobj[pkg]{lmodern}.}
+  \describe{noquests}{This will suppress the loading of the \tsobj[pkg]{tikzquests} package.}
+  \describe{tikz}{This will load \tsobj[pkg]{tikz,circuitikz,tikzquads,tikzdotncross,tikzfxgraph} packages.}
+  \describe{graphicx}{This will load the \tsobj[pkg]{graphicx} package.}
+  \describe{math}{This will load the \tsobj[pkg]{
+  amsmath , amsfonts , amssymb , amsthm , mathrsfs , mathtools, empheq , extarrows, steinmetz, mathfixs , siunitx , cases } packages.}
+  \describe{listings}{This will load the \tsobj[pkg]{listings} package. (if \tsobj[option]{beamer} is false)}
+\end{describelist}
+
+Note that \tsobj[pkg]{etoolbox,fontenc,inputenc,xcolors,enumerate} will always be loaded. Besides those \tsobj[pkg]{geometry} will (if not already) as well \tsobj[pkg]{titlesec,listings} if \tsobj[option]{beamer} is false.
+
+\section{Commands}
+
+
+\begin{codedescribe}{\cab}
+\begin{codesyntax}%
+\tsmacro{\cab}{options}
+\end{codesyntax}
+This will typesets, in a new page, a typical exam header. \tsobj[marg]{options} is a key=val list of:
+\begin{describelist*}{key}
+  \describe{uni}{University's name. (default: Universidade Federal do Rio Grande do Sul)}
+  \describe{dept}{Department's name. (default: Escola de Engenharia / DELAE)}
+  \describe{class}{Class' name. (default: disciplina)}
+  \describe{classcode}{Class' code. (default: ENGcode)}
+  \describe{exam}{Exam text. (default: Verificação de Aproveitamento)}
+  \describe{sem}{Semester. (default: 202x/Y)}
+  \describe{name label}{Student`s label. (default: Nome)}
+  \describe{id label}{Student`s ID label. (default: Cartão)}
+  \describe{duo label}{Duo labe. (default: Dupla)}
+  \describe{simplegrad}{If true, the grad option box will be used, with a preset text. (default: false)}
+  \describe{duo}{If true then duo label will be added to identification line (default: false)}
+  \describe{nonames}{If true, the identification lines will be suppressed.}
+\end{describelist*}
+\end{codedescribe}
+
+For example:
+\begin{codestore}[af-01]
+  \cab{
+    class={Eletrônica I} , classcode=ENG10044 , 
+    exam = {$1^a$ Verificação} , sem = {2025/1} , simplegrad 
+  }
+\end{codestore}
+\tscode*[emph={class,classcode,exam,sem,simplegrad,uni,dept,name,id,duo,label,nonames}]{af-01}
+
+\begin{codedescribe}{\pgfmathparseFPU}
+  \begin{codesyntax}
+    \tsmacro{\pgfmathparseFPU}{math-expr}
+  \end{codesyntax}
+  This command is defined if, and only if, the \tsobj[option]{tikz} option is used. It will process \tsobj[marg]{math-expr} with \tsobj{\pgfmathparse} whilst the \tsobj[key]{/pgf/fpu} key is active, which greatly extends the \TeX\ number's range. See the \tsobj[pkg]{fpu} library from \tsobj[pkg]{tikz} for more details.
+\end{codedescribe}
+
+%\section{Other Packages}
+%This bundle includes a few companion ``packages'' : \tsobj[pkg]{CircMisc,CircTheoryI,CircTheoryII,ElectronicI}. Each of these defines sets of circuit-quests (based on \tsobj[pkg]{tikzquests,circuitikz}). It's possible to list all defined circuit-quests using the \tsobj{\QuestionsList} command.
+%
+
+
+\end{document} 
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/doc/latex/afperpack/afperpack.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/afperpack/afperpack.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/afperpack/afperpack.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/afperpack/afperpack.sty	2025-04-26 20:09:41 UTC (rev 75033)
@@ -0,0 +1,372 @@
+%%%==============================================================================
+%% Copyright 2025-present by Alceu Frigeri
+%%
+%% This work may be distributed and/or modified under the conditions of
+%%
+%% * The [LaTeX Project Public License](http://www.latex-project.org/lppl.txt),
+%%   version 1.3c (or later), and/or
+%% * The [GNU Affero General Public License](https://www.gnu.org/licenses/agpl-3.0.html),
+%%   version 3 (or later)
+%%
+%% This work has the LPPL maintenance status *maintained*.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version {1.0} {2025/04/25}
+%%
+%% The list of files that compose this work can be found in the README.md file at
+%% https://ctan.org/pkg/afperpack
+%%
+%%%==============================================================================
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+
+\ProvidesExplPackage
+    {afperpack}
+    {2025/04/25}
+    {1.0}
+    {afperpack personal package/preferences.}
+
+%%%%%%%
+%%%
+%%% Just an attempt of having my packages info in a regular way
+%%% Idea being: { <pck-name> / pkg info } for each and all.
+%%%
+%%%%%%%
+\keys_define:nn { afperpack / pkg info}
+  {
+     name        .code:n = {afperpack} ,
+     prefix      .code:n = {afperpack} ,
+     date        .code:n = {2025/04/25},
+     version     .code:n = {1.0} ,
+     description .code:n = {afperpack personal package/preferences.}
+  }
+\cs_if_exist:NF \PkgInfo 
+  {
+    \NewDocumentCommand \PkgInfo {mm} { \keys_set:nn {#1 / pkg info}{#2} } 
+    \NewDocumentCommand \PkgDescription {m} 
+      { \noindent Package~ \textbf{\PkgInfo{#1}{name}}~Version:~\PkgInfo{#1}{version}~ -~ \PkgInfo{#1}{date}\par \emph{\PkgInfo{#1}{description}}~\par } 
+  }  
+%%%%%%%
+%%% End of cut-n-paste
+%%%%%%%
+
+\RequirePackage{etoolbox}
+\RequirePackage[T1]{fontenc}
+\RequirePackage[utf8]{inputenc}
+
+
+\keys_define:nn {afperpack }
+  {
+    showframe .usage:n = load ,
+    showframe .bool_set:N = \l__afperpack_showframe_bool ,
+
+    showlabels .usage:n = load ,
+    showlabels .bool_set:N = \l__afperpack_showlabels_bool ,
+
+    english .usage:n = load ,
+    english .bool_set:N = \l__afperpack_english_bool ,
+
+    beamer .usage:n = load ,
+    beamer  .bool_set:N = \l__afperpack_beamer_bool ,
+    
+    xpacks .usage:n = load ,
+    xpacks  .bool_set:N = \l__afperpack_xpacks_bool ,
+    
+    times .usage:n = load ,
+    times  .bool_set:N = \l__afperpack_times_bool ,
+    
+    noquests .usage:n = load ,
+    noquests .bool_set:N = \l__afperpack_noquests_bool ,
+    
+    tikz .usage:n = load ,
+    tikz  .bool_set:N = \l__afperpack_tikz_bool ,
+    
+    graphicx .usage:n = load ,
+    graphicx  .bool_set:N = \l__afperpack_graphicx_bool ,
+    
+    math .usage:n = load ,
+    math  .bool_set:N = \l__afperpack_math_bool ,
+    
+    listings .usage:n = load ,
+    listings  .bool_set:N = \l__afperpack_listings_bool ,
+  }
+\ProcessKeyOptions [ afperpack ]
+
+%
+% to be used "outside" expl3
+%
+\newif\ifafperpack@@tikz
+\afperpack@@tikzfalse
+\bool_if:nT {\l__afperpack_tikz_bool}
+  { \afperpack@@tikztrue }
+  
+\RequirePackage{xcolor}
+
+\bool_if:nTF {\l__afperpack_beamer_bool}
+  {}
+  { 
+    %beamer doesn't work with these
+    \@ifpackageloaded{geometry}{}{\RequirePackage[a4paper,margin=15mm,right=15mm,marginparwidth=0cm,asymmetric,top=2.5cm,bottom=1.5cm]{geometry}}
+     
+    \RequirePackage[calcwidth]{titlesec}
+    \bool_if:nT {\l__afperpack_listings_bool}
+      {
+        \RequirePackage{listings}
+        \definecolor{lstgray}{rgb}{0.965,0.965,0.965}%
+        \lstset{
+          basicstyle=\ttfamily\small,
+          columns=fullflexible,
+          keepspaces=true,
+          frame=tb,
+          inputencoding=latin1,
+          %  inputencoding=utf8,
+          extendedchars=true,
+          backgroundcolor=\color{lstgray},
+        	breaklines=true,
+          %	xleftmargin=7pt,
+          %	xrightmargin=7pt
+        }%
+        %%%
+        %%% from https://en.wikibooks.org/wiki/LaTeX/Source_Code_Listings#Encoding_issue
+        \lstset{
+          literate=
+          {á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1
+          {Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1
+          {à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1
+          {À}{{\`A}}1 {È}{{\'E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1
+          {ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1
+          {Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1
+          {â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1
+          {Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1
+        	{ã}{{\~{a}}}1 {õ}{{\~{o}}}1
+        	{Ã}{{\~{A}}}1 {Õ}{{\~{O}}}1
+          {œ}{{\oe}}1 {Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1
+          {ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1
+          {€}{{\EUR}}1 {£}{{\pounds}}1
+        }
+      }
+  }
+
+
+\bool_if:nT {\l__afperpack_showframe_bool}
+  { \RequirePackage{showframe} }
+
+\bool_if:nT {\l__afperpack_showlabels_bool}
+  { \RequirePackage{showlabels} }
+
+\bool_if:nTF \l__afperpack_english_bool
+  { \RequirePackage[english]{babel} }
+  { \RequirePackage[brazilian]{babel} }
+
+
+\bool_if:nT {\l__afperpack_xpacks_bool}
+  {
+    \RequirePackage{longtable}%
+    \RequirePackage{fancyhdr}
+    \RequirePackage{csquotes}
+    \RequirePackage[position=above,font=small,labelfont=bf,textfont=md,textfont+=sl,width=.80\textwidth]{caption}
+    \RequirePackage{subcaption}
+    \RequirePackage{url}
+    \RequirePackage{multirow,bigdelim}
+  }
+  
+\bool_if:nTF {\l__afperpack_times_bool}
+  { \RequirePackage{mathptmx} } %for those times...
+  { \RequirePackage{lmodern} }  %default font
+
+\RequirePackage{enumerate}
+
+%
+% Sometimes needed
+%
+\bool_if:nT {\l__afperpack_graphicx_bool}
+  { \RequirePackage{ graphicx } }
+
+%
+% Most of the time, if not always needed
+%
+\bool_if:nT {\l__afperpack_math_bool}
+  {
+    \RequirePackage{ amsmath , amsfonts , amssymb }
+    \RequirePackage{ amsthm }
+    \RequirePackage{ mathrsfs }  %for \mathscr letters
+    \RequirePackage{ mathtools,empheq }
+    \RequirePackage{ extarrows, steinmetz, mathfixs }
+    \RequirePackage{ siunitx }
+    \RequirePackage{ cases }
+  }
+%
+% pgf/tikz packages can't be loaded in an Expl3 code regim 
+%
+\ExplSyntaxOff
+
+%
+% My standard circuitikz setup
+%
+\ifafperpack@@tikz
+  \RequirePackage[american,siunitx,cuteinductors,smartlabels,arrowmos,EFvoltages,betterproportions]{circuitikz}
+  \usetikzlibrary{fit,math,calc}
+  \usetikzlibrary{fpu}
+  \usetikzlibrary{arrows,shapes}
+  \usetikzlibrary{shapes.geometric} %needed for the triangle
+  \usetikzlibrary{shapes.misc} %needed for the triangle
+  \usetikzlibrary{graphs,3d}
+  \usetikzlibrary{datavisualization,datavisualization.formats.functions}
+  \usetikzlibrary[commutative-diagrams]  %% oriented graphs.
+  
+  %
+  % For the brave and unaware...
+  %
+  \NewDocumentCommand{\pgfmathparseFPU}{+m}
+    {
+      \begingroup
+        \pgfkeys{
+          /pgf/fpu,
+          /pgf/fpu/output format=fixed
+        }
+        \pgfmathparse{#1}
+        \pgfmathsmuggle\pgfmathresult
+      \endgroup
+    }
+  
+  %
+  % To draw graphs... together with tikzfxgraph (below)
+  %
+  \RequirePackage{pgfplots}
+  \pgfplotsset{compat=1.18}
+  \usetikzlibrary{pgfplots.units}
+\fi
+
+\ExplSyntaxOn
+
+\bool_if:nT {\l__afperpack_tikz_bool}
+  {
+    %
+    % My standard circuitikz setup
+    %
+    \RequirePackage{tikzdotncross}
+    \bool_if:nF {\l__afperpack_noquests_bool}
+      {
+        \@ifpackageloaded{tikzquests}{}{\RequirePackage[xtrakeys={D}]{tikzquests}}
+      }
+    \RequirePackage{tikzquads}
+    
+    %
+    % To draw graphs...
+    %
+    \RequirePackage{tikzfxgraph}
+  }
+
+
+\keys_define:nn {afperpack / cab}
+  {
+    uni .usage:n = general ,
+    uni .tl_set:N = \l__afperpack_uni_tl ,
+    uni .default:n         = {Universidade ~\ Federal\ ~ do\ ~ Rio\ ~ Grande\ ~ do\ ~ Sul} ,
+
+    dept .usage:n = general ,
+    dept .tl_set:N = \l__afperpack_dept_tl ,
+    dept .default:n         = {Escola\ ~ de\ ~ Engenharia\ ~ /\ ~ DELAE} ,
+  
+    class .usage:n = general ,
+    class .tl_set:N = \l__afperpack_class_tl ,
+    class .default:n         = {disciplina} ,
+
+    classcode .usage:n = general ,
+    classcode .tl_set:N = \l__afperpack_code_tl ,
+    classcode .default:n         = {ENGcode} ,
+    
+    exam .usage:n = general ,
+    exam .tl_set:N = \l__afperpack_exam_tl ,
+    exam .default:n         = {Verificação de Aproveitamento} ,
+    
+    sem .usage:n = general ,
+    sem .tl_set:N = \l__afperpack_sem_tl ,
+    sem .default:n         = {202x / y} ,
+    
+    name~ label .usage:n = general ,
+    name~ label .tl_set:N = \l__afperpack_name_label_tl ,
+    name~ label .default:n         = {Nome} ,
+
+    id~ label .usage:n = general ,
+    id~ label .tl_set:N = \l__afperpack_id_label_tl ,
+    id~ label .default:n         = {Cartão} ,
+
+    duo~ label .usage:n = general ,
+    duo~ label .tl_set:N = \l__afperpack_duo_label_tl ,
+    duo~ label .default:n         = {Dupla} ,
+
+    simplegrad .usage:n = general ,
+    simplegrad .bool_set:N = \l__afperpack_simplegrad_bool ,
+
+    duo .usage:n = general ,
+    duo .bool_set:N = \l__afperpack_duo_bool ,
+
+    nonames .usage:n = general ,
+    nonames .bool_set:N = \l__afperpack_nonames_bool ,
+    
+    default .usage:n = general ,
+    default .meta:n = 
+      {
+        uni , dept , class , classcode , exam , sem , 
+        duo~ label, id~ label , name~ label , 
+        simplegrad = false , duo = false , nonames = false 
+      } ,
+    default .value_forbidden:n = true ,
+  }
+
+
+\cs_new_protected:Npn \__afperpack_simplecab:
+  {
+    \fbox{
+      \footnotesize
+  	  \begin{minipage}{.6\textwidth}
+        Assinalar~ um~ “\textbf{X}”,~ no~ tipo~ de~ correção~ a~ ser~ realizada.
+  			  \begin{description}
+   	        \item[(~\ )~ Simplificada]~	Será~ atribuída~ uma~ nota~ igual~ a~ $3$~ –--~ independente~ do~ que~ estiver~ escrito~ na~ prova.
+   	        \item[(~\ )~ Completa]~	Todas~ as~ questões~ serão~ corrigidas~ e~ a~ nota~ será~ dada~ pela~ soma~ dos~ pontos~ obtidos~ em~ cada~ questão.~ Neste~ caso,~ a~ nota~ estará~ no~ intervalo~ $[0;10]$.
+          \end{description}
+      \end{minipage}
+  	}\\[3ex]
+  }
+
+
+\NewDocumentCommand{\cab}{m}
+  {
+    \keys_set:nn{afperpack / cab}{default , #1}
+    \bool_lazy_or:nnTF {\tl_if_blank_p:V \l__afperpack_code_tl}{\tl_if_empty_p:V \l__afperpack_class_tl}
+      { \tl_set:Nn \l_tmpa_tl {} }
+      { \tl_set:Nn \l_tmpa_tl {\ ~-\ ~} }
+    \bool_lazy_or:nnTF {\tl_if_blank_p:V \l__afperpack_exam_tl}{\tl_if_blank_p:V \l__afperpack_sem_tl}
+      { \tl_set:Nn \l_tmpb_tl {} }
+      { \tl_set:Nn \l_tmpb_tl {\ ~-\ ~} }
+
+%    \newpage
+    \begin{center}
+      { 
+        \sc\large  \l__afperpack_uni_tl\\
+        \l__afperpack_dept_tl\\        
+        \l__afperpack_code_tl \l_tmpa_tl \l__afperpack_class_tl\\ 
+        \l__afperpack_exam_tl \l_tmpb_tl \l__afperpack_sem_tl\\[2ex]
+      }
+      
+    \bool_if:nT {\l__afperpack_simplegrad_bool}
+      {
+        \__afperpack_simplecab:
+      }
+    
+    \bool_if:nF {\l__afperpack_nonames_bool}
+      {
+        \l__afperpack_name_label_tl :\ldots\ldots\ldots\ldots\ldots\ldots\ldots\ldots\ldots\ldots\ldots\vspace{10mm}
+        \l__afperpack_id_label_tl :\ldots\ldots\ldots\ldots\ldots\ldots
+      }
+    
+    \bool_if:nT {\l__afperpack_duo_bool}
+      {
+        \\[-3ex]
+        \l__afperpack_duo_label_tl :\ldots\ldots\ldots\ldots\ldots\ldots\ldots\ldots\ldots\ldots\ldots\vspace{10mm}
+        \l__afperpack_id_label_tl :\ldots\ldots\ldots\ldots\ldots\ldots
+      }
+    \end{center}
+  }
+  


Property changes on: trunk/Master/texmf-dist/tex/latex/afperpack/afperpack.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2025-04-26 20:08:39 UTC (rev 75032)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2025-04-26 20:09:41 UTC (rev 75033)
@@ -30,7 +30,7 @@
     adfathesis adforn adhocfilelist adigraph
     adjmulticol adfsymbols adjustbox adobemapping
     adrconv adtrees advdate advice
-    ae aeguill aesupp affilauthor afthesis
+    ae aeguill aesupp affilauthor afperpack afthesis
     aguplus aiaa aichej aiplans ajl akktex akletter akshar
     albatross alchemist alegreya alertmessage alfaslabone
     alg algobox algolrevived

Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2025-04-26 20:08:39 UTC (rev 75032)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2025-04-26 20:09:41 UTC (rev 75033)
@@ -1718,6 +1718,7 @@
 

 %posthook = (
  'acmart'		=> '&POSTacmart',
+ 'afperpack'		=> '&POST_onelevel', 
  'albatross'		=> '&POST_do_man',
  'amscls-doc'		=> '&POST_rmsymlink',
  'amsrefs'		=> '&POSTamsrefs',

Added: trunk/Master/tlpkg/tlpsrc/afperpack.tlpsrc
===================================================================
Modified: trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc	2025-04-26 20:08:39 UTC (rev 75032)
+++ trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc	2025-04-26 20:09:41 UTC (rev 75033)
@@ -27,6 +27,7 @@
 depend adrconv
 depend advdate
 depend affilauthor
+depend afperpack
 depend akktex
 depend akletter
 depend alchemist



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