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.