summaryrefslogtreecommitdiff
path: root/macros/latex/contrib
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-10-20 03:02:28 +0000
committerNorbert Preining <norbert@preining.info>2023-10-20 03:02:28 +0000
commitc9ab6fbcc0f960c5e669419f2565ff121a7f33fd (patch)
tree0f4c2f95a5c127504a5a505ad264255d5db049fb /macros/latex/contrib
parent05e4c0a34b97237b4cd2f3fb0d5cd03e73b8e55e (diff)
CTAN sync 202310200302
Diffstat (limited to 'macros/latex/contrib')
-rw-r--r--macros/latex/contrib/asmeconf/README.md7
-rw-r--r--macros/latex/contrib/asmeconf/asmeconf-template.pdfbin471907 -> 476945 bytes
-rw-r--r--macros/latex/contrib/asmeconf/asmeconf-template.tex17
-rw-r--r--macros/latex/contrib/asmeconf/asmeconf.cls89
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdfbin1259752 -> 1320885 bytes
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex55
-rw-r--r--macros/latex/contrib/proflycee/tex/ProfLycee.sty5
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-recreat.tex36
-rw-r--r--macros/latex/contrib/recorder-fingering/README.md2
-rw-r--r--macros/latex/contrib/recorder-fingering/recorder-fingering.pdfbin108036 -> 108198 bytes
-rw-r--r--macros/latex/contrib/recorder-fingering/recorder-fingering.sty184
-rw-r--r--macros/latex/contrib/recorder-fingering/recorder-fingering.tex2
12 files changed, 244 insertions, 153 deletions
diff --git a/macros/latex/contrib/asmeconf/README.md b/macros/latex/contrib/asmeconf/README.md
index 39f1460ad5..0a4a3a9c0c 100644
--- a/macros/latex/contrib/asmeconf/README.md
+++ b/macros/latex/contrib/asmeconf/README.md
@@ -1,7 +1,7 @@
#asmeconf: A latex template for ASME conference papers#
- Version 1.34 dated 2022/12/30.
+ Version 1.35 dated 2022/10/19.
####Overview####
This class provides a LaTeX template for ASME Conference papers formatted according to
@@ -79,6 +79,11 @@
---
####Change log####
+ v1.35 (2022/10/19)
+ - Adjust pdf-a code to accommodate recent changes to hyperxmp package. NOTE: \\DocumentMetadata{ ..} is now preferred to using class option [pdf-a].
+ - Add option to not use boldface text in captions: [unboldcaption]
+ - Add mathversion sans for sans-serif math and set as default in unbolded captions
+
v1.34 (2022/12/30)
- Roll back advanced metadata feature for compatibility with pre-2022 installations
diff --git a/macros/latex/contrib/asmeconf/asmeconf-template.pdf b/macros/latex/contrib/asmeconf/asmeconf-template.pdf
index 06ceb434d8..f3cf860b33 100644
--- a/macros/latex/contrib/asmeconf/asmeconf-template.pdf
+++ b/macros/latex/contrib/asmeconf/asmeconf-template.pdf
Binary files differ
diff --git a/macros/latex/contrib/asmeconf/asmeconf-template.tex b/macros/latex/contrib/asmeconf/asmeconf-template.tex
index 01191471f7..318e173221 100644
--- a/macros/latex/contrib/asmeconf/asmeconf-template.tex
+++ b/macros/latex/contrib/asmeconf/asmeconf-template.tex
@@ -4,7 +4,7 @@
%% This file is asmeconf-template.tex, a LaTeX template to format ASME Conference papers according to
%% the requirements on ASME's conference web pages, and including hypertext support for the pdf.
%%
-%% This file is version 1.34 dated 2022/12/30
+%% This file is version 1.35 dated 2023/10/19
%%
%% As of version 1.11, this template defaults to ASME's newer conference guidelines first posted July 2019.
%% Those guidelines changed the requested author block formatting to be inline.
@@ -78,18 +78,19 @@
%%
%% LICENSE:
%%
-%% Copyright (c) 2022 John H. Lienhard
+%% Copyright (c) 2023 John H. Lienhard
%%
%% Offered under the MIT license: https://ctan.org/license/mit
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% New pdf management code (June 2021); with this, the class option [pdf-a] can be omitted.
-%% This change to the LaTeX kernel is being phased-in by the LaTeX3 team. Can delete if it gives you trouble.
-%% Under LuaLaTeX, choose pdfstandard=A-3b (and be cautious when loading extra fonts)
+%% RECOMMENDED newpdf management code (June 2022).
+%% This addition the LaTeX kernel was recently made by the LaTeX Project team
+%% see https://www.latex-project.org/news/latex2e-news/ltnews35.pdf
+%% Uncomment the next lines and omit the option [pdf-a] if you are using an up-to-date LaTeX platform
%\DocumentMetadata{%
-% pdfstandard=A-3b,% A-2b, A-2u, A-3b, or A-3u
+% pdfstandard=A-3b,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX)
% pdfversion=1.7,
% lang=en-US,
%}
@@ -106,7 +107,7 @@
%%%%% pdf metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\hypersetup{%
- pdfauthor={John H. Lienhard},
+ pdfauthor={John H. Lienhard}, % <=== change to YOUR name
pdftitle={ASME Conference Paper LaTeX Template}, % <=== change to YOUR pdf file title
pdfkeywords={ASME conference paper, LaTeX template, BibTeX style},% <=== change to YOUR pdf keywords
pdfsubject = {Describes the asmeconf LaTeX template}, % <=== change to YOUR subject
@@ -276,7 +277,7 @@ Sections may either be numbered or left unnumbered.
Simple mathematical expressions can be used in either captions or section headings. For a section heading that includes more complicated math (and macros), you may use the optional argument of \verb|\section[..]{..}| to create a pdf bookmark without losing characters or producing warnings or errors. See the \texttt{asmeconf-template.tex} source file for examples of this procedure. These bookmarks should usually be text expressions, although some math is supported.
-To override the \texttt{sansbold} math version in captions, put \verb|\NoCaseChange{\mathversion{normal}}| in the caption.
+To eliminate boldface type in caption text and math, use the class option \texttt{[unboldcaption]}. To avoid \texttt{sans} math in captions, put \verb|\NoCaseChange{\mathversion{normal}}| in the caption.
\subsection{Subsection and Sub-subsection Headings}
diff --git a/macros/latex/contrib/asmeconf/asmeconf.cls b/macros/latex/contrib/asmeconf/asmeconf.cls
index 253e27d8f9..2d523be750 100644
--- a/macros/latex/contrib/asmeconf/asmeconf.cls
+++ b/macros/latex/contrib/asmeconf/asmeconf.cls
@@ -5,8 +5,8 @@
%% ASME conference requirements as represented on ASME's conference web pages in 2022.
%%
%% This file's version and date:
- \def\versionno{1.34}
- \def\versiondate{2022/12/30\space}
+ \def\versionno{1.35}
+ \def\versiondate{2023/10/19\space}
%%
%% Author: John H. Lienhard, V
%% Department of Mechanical Engineering
@@ -86,7 +86,7 @@
\IfFormatAtLeastTF{2017/04/15}{%
\ClassInfo{asmeconf}{Your LaTeX format is dated \fmtversion. LaTeX distributions 2020 or later are strongly recommended for best results}
}{%
- \ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. Formats dated 2020 or later are recommended for the asmeconf class. Older formats may generate errors}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. You can try to click past the errors for now.}%
+ \ClassIF{asmeconf}{Your LaTeX format is dated \fmtversion. Formats dated 2020 or later are recommended for the asmeconf class. Older formats may generate errors}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. You can try to click past the errors for now.}%
}
\DeclareDocumentCommand\LogNote{m}{%
@@ -99,11 +99,10 @@
%% provide iftex command \ifpdftex for those still running old distributions
\IfFormatAtLeastTF{2019/11/07}{%
- \RequirePackage{iftex}% check whether pdftex or another engine is used
+ \RequirePackage{iftex}[2019/11/07]% check whether pdftex or another engine is used
}{%
\LogNote{The asmeconf class requires the missing package iftex---trying a work-around.}
% Code copied from iftex package written by the LaTeX3 Project (used under LPPL).
- % \csname and \let construct useful for hiding \ifzzz tokens from outer level \if tests.
\def\IFTEX@let#1#2{%
\expandafter\let\csname if#1\expandafter\endcsname
\csname if#2\endcsname}
@@ -144,6 +143,13 @@
\setboolean{DefaultSups}{#1}
}
+%%% set key [unboldcaption] for caption text not to use boldface type.
+\newif\ifac@unboldcaption\ac@unboldcaptionfalse
+\define@key{asmeconf}{unboldcaption}[false]{%
+ \ac@unboldcaptiontrue
+}
+% (with two key families active, \DeclareBoolOption has problems..)
+
%%% Use these switches to load other alphabets for Cyrillic, Greek, Japanese, and Vietnamese text
\newif\ifac@cyrillic\ac@cyrillicfalse
\newif\ifac@greek\ac@greekfalse
@@ -311,17 +317,26 @@
\ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. Formats dated 2018/12/01 or later are necessary for the [pdf-a] option. Older formats may generate errors}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. Meanwhile, you can remove the [pdf-a] option and try again}%
}
\ac@setpdfatrue
- \PassOptionsToPackage{pdfa,pdfapart=3,pdfaconformance=u}{hyperref}% note: hyperref takes these options if hyperxmp is loaded
+% \PassOptionsToPackage{pdfa,pdfapart=3,pdfaconformance=u}{hyperref}% note: hyperref takes these options if hyperxmp is loaded
+ \PassOptionsToPackage{pdfa}{hyperref}% note: hyperref takes these options if hyperxmp is loaded
+ \AtBeginDocument{\hypersetup{pdfapart=3,pdfaconformance=u}}
}
%%% to select part 1, 2 or 3
\define@key{pdfaopt}{pdfapart}[3]{%
- \PassOptionsToPackage{pdfapart=#1}{hyperref}%
+% \PassOptionsToPackage{pdfapart=#1}{hyperref}%
+ \def\asmeconf@tempa{#1}
+ \AtBeginDocument{\hypersetup{pdfapart=\asmeconf@tempa}}
\ifthenelse{\equal{#1}{1}}{\ac@pdfaonetrue}{\relax}%
}
%%% to select conformance b or u. NB: a is not possible with pdfLaTeX, and u is not possible with 1.
+ \ExplSyntaxOn
\define@key{pdfaopt}{pdfaconformance}[u]{%
- \PassOptionsToPackage{pdfaconformance=#1}{hyperref}%
+% \PassOptionsToPackage{pdfaconformance=#1}{hyperref}%
+ \str_set:Ne \l_tmp_str { \str_uppercase:n {#1} }
+ \typeout{\l_tmp_str}
+ \AtBeginDocument{\hypersetup{pdfaconformance=\l_tmp_str}}
}
+ \ExplSyntaxOff
\else
\define@key{pdfaopt}{pdf-a}[true]{%
\ac@setpdfatrue
@@ -496,8 +511,15 @@
\DeclareCaptionLabelFormat{uppercase}{\MakeTextUppercase{#1} #2}
\DeclareCaptionTextFormat{boldmath}{\mathversion{sansbold}#1}
-\captionsetup[figure]{labelformat=uppercase, labelfont={sf,bf,small},textfont={sf,bf,small},textformat=boldmath,labelsep=colon}
-\captionsetup[table]{labelformat=uppercase, labelfont={sf,bf,small},textfont={sf,bf,small},textformat=boldmath,labelsep=colon,skip=0.5\baselineskip} %name=TABLE,
+\DeclareCaptionTextFormat{sansmath}{\mathversion{sans}#1}
+
+\ifac@unboldcaption
+ \captionsetup[figure]{labelformat=uppercase,labelfont={sf,bf,small},textfont={sf,md,small},textformat=sansmath,labelsep=colon}
+ \captionsetup[table]{labelformat=uppercase,labelfont={sf,bf,small},textfont={sf,md,small},textformat=sansmath,labelsep=colon,skip=0.5\baselineskip}
+\else
+ \captionsetup[figure]{labelformat=uppercase,labelfont={sf,bf,small},textfont={sf,bf,small},textformat=boldmath,labelsep=colon}
+ \captionsetup[table]{labelformat=uppercase,labelfont={sf,bf,small},textfont={sf,bf,small},textformat=boldmath,labelsep=colon,skip=0.5\baselineskip} %name=TABLE,
+\fi
%% This construction avoids a failure of hyperref in relation to uppercase caption
%% Discussion: https://tex.stackexchange.com/questions/375695/maketextuppercase-inside-table-captions
@@ -987,6 +1009,18 @@
\SetSymbolFont{operators}{sansbold}{\encodingdefault}{\sfdefault}{\bfdefault}{n}
\SetMathAlphabet{\mathsf}{sansbold}{\encodingdefault}{\sfdefault}{b}{n}% changed from it, 2021/01/31: \mathsf is upright.
+%% Added 2023/10/19
+\DeclareMathVersion{sans}
+\SetSymbolFont{letters}{sans}{OML}{ntxsfmi}{m}{it}
+\SetSymbolFont{lettersA}{sans}{U}{ntxsfmia}{m}{it}
+\IfFormatAtLeastTF{2016/01/05}{%
+ \SetSymbolFont{symbols}{sans}{LMS}{ntxsy}{m}{n}
+ }{\relax}
+\SetSymbolFont{largesymbols}{sans}{LMX}{ntxexx}{m}{n}
+\SetSymbolFont{largesymbolsTXA}{sans}{U}{ntxexa}{m}{n}
+\SetSymbolFont{operators}{sans}{\encodingdefault}{\sfdefault}{\rmdefault}{n}
+\SetMathAlphabet{\mathsf}{sans}{\encodingdefault}{\sfdefault}{m}{n}% \mathsf is upright.
+
% Nice solution from DPC to prevent aux file errors (due to active characters from babel) when switching from pdflatex to lualatex.
\ifx\directlua\undefined
@@ -1130,22 +1164,6 @@
\fi
\fi
-\RequirePackage{hyperxmp}% improve transfer of metadata to pdf
-
-% Patch bug in hyperxmp, unless a more recent version is used.
-\ifdefined\hyxmp@no@bad@parts% \hyxmp@no@bad@parts is not def'd in TeX Live 2019 or older
- \@ifpackagelater{hyperxmp}{2022/09/14}{% no new version at present, still 2020/11/22
- \relax
- }{%
- \newcount\hypxmp@tempcnt
- \define@key{Hyp}{pdfapart}{%
- \afterassignment\hyxmp@no@bad@parts\hypxmp@tempcnt=0#1\relax
- \hyxmp@pdfstringdef\@pdfapart{\the\hypxmp@tempcnt}%
- }
- }
-\else
- \relax
-\fi
\RequirePackage[psdextra]{hyperref} % recent kernel transition suggests providing most hyperref options via \hypersetup,
% but setting psdextra here (for additional math support in bookmarks) 2021/12/01
@@ -1174,6 +1192,25 @@
\providecommand\hrefurl[2]{\href{#1}{#2}}% to address certain issues around URL recognition with new pdf management code, 2021/12/02
+\RequirePackage{hyperxmp}% improve transfer of metadata to pdf
+
+% Patch bug in hyperxmp, unless a more recent version is used.
+\ifdefined\hyxmp@no@bad@parts% \hyxmp@no@bad@parts is not def'd in TeX Live 2019 or older
+ \@ifpackagelater{hyperxmp}{2022/10/15}{% v5.11 or later
+ \relax
+% \ClassInfo{asmeconf}{hyperxmp v5.11 or later is in use}
+ }{%
+ \newcount\hypxmp@tempcnt
+ \define@key{Hyp}{pdfapart}{%
+ \afterassignment\hyxmp@no@bad@parts\hypxmp@tempcnt=0#1\relax
+ \hyxmp@pdfstringdef\@pdfapart{\the\hypxmp@tempcnt}%
+ }
+ }
+\else
+ \relax
+\fi
+
+
%%% ==> recent and evolving development of \pdfstring removes all robust commands from bookmarks, so
%%% the following interventions may become unnecessary over time (2021/12/01).
diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
index 5dfac0ad10..8b01a1641f 100644
--- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
+++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
index 94e0d61436..2c4df3e623 100644
--- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
+++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
@@ -5,8 +5,8 @@
% arara: lualatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
\documentclass[a4paper,french,11pt]{article}
-\def\PLversion{2.7.9}
-\def\PLdate{18 octobre 2023}
+\def\PLversion{2.8.0}
+\def\PLdate{19 octobre 2023}
\usepackage{amsfonts}
\usepackage{ProfLycee}
\useproflyclib{piton,minted,pythontex,ecritures}
@@ -144,7 +144,7 @@
keywordstyle={\color{violet}},%
classoffset=2,%
alsoletter={-},%
- morekeywords={\ResolutionApprochee,\SolutionTVI,\CalculTermeRecurrence,\ToileRecurrence,\SolutionSeuil,\IntegraleApprochee,\GrilleTikz,\AxesTikz,\AxexTikz,\AxeyTikz,\FenetreTikz,\FenetreSimpleTikz,\DeclareFonctionTikz,\CourbeTikz,\OrigineTikz,\SplineTikz,\TangenteTikz,\MiniSchemaSignes,\MiniSchemaSignesTkzTab,\IntegraleApprocheeTikz,\CartoucheCapytale,\PaveTikz,\TetraedreTikz,\CercleTrigo,\AffPoint,\AffVecteur,\TrouveEqCartPlan,\TrouveEqParamDroite,\TrouveEqCartDroite,\TrouveNorme,\TrouveDistancePtPlan,\EquationReduite,\CalculsRegLin,\PointsRegLin,\NuagePointsTikz,\PointMoyenTikz,\BoiteMoustaches,\BoiteMoustachesAxe,\Histogramme,\CalcBinomP,\CalcBinomC,\BinomP,\BinomC,\CalcPoissP,\CalcPoissC,\PoissonP,\PoissonC,\CalcGeomP,\CalcGeomC,\GeomP,\GeomC,\CalcHypergeomP,\CalcHypergeomP,\HypergeomP,\HypergeomC,\CalcNormC,\NormaleC,\CalcExpoC,\ExpoC,\ArbreProbasTikz,\LoiNormaleGraphe,\LoiExpoGraphe,\NbAlea,\VarNbAlea,\TirageAleatoireEntiers,\Arrangement,\Combinaison,\ConversionDecBin,\ConversionBinHex,\ConversionVersDec,\ConversionHexBin,\ConversionBaseDix,\ConversionDepuisBaseDix,\PresentationPGCD,\EquationDiophantienne,\ConversionFraction,\SimplificationRacine,\EcritureEnsemble,\EcritureTrinome,\MesurePrincipale,\LigneTrigo,\SudoMaths,\FonctionRepartTikz,\IntervalleFF,\IntervalleFO,\IntervalleOF,\IntervalleOO,\RepereOij,\RepereOuv,\RepereOijk,\ReperePlan,\RepereEspace,\jfalg,\jfexp,\LoiNormale,\LoiBinomiale,\LoiPoisson,\LoiExpo,\LoiUnif,\Courbe,\Suite,\CoordPtPl,\CoordPtEsp,\CoordVecPl,\CoordVecEsp,\MatDeux,\Vecteur,\Esper,\Varianc,\EcType,\dx,\Integrale,\Modulo,\Arrondi,\CodePythonLstFichier,\CodePythonLstFichierAlt,\colorlet,\PtsDiscontinuite,\ListeDiviseurs,\ArbreDiviseurs,\FractaleTikz,\EtapesFloconKoch
+ morekeywords={\ResolutionApprochee,\SolutionTVI,\CalculTermeRecurrence,\ToileRecurrence,\SolutionSeuil,\IntegraleApprochee,\GrilleTikz,\AxesTikz,\AxexTikz,\AxeyTikz,\FenetreTikz,\FenetreSimpleTikz,\DeclareFonctionTikz,\CourbeTikz,\OrigineTikz,\SplineTikz,\TangenteTikz,\MiniSchemaSignes,\MiniSchemaSignesTkzTab,\IntegraleApprocheeTikz,\CartoucheCapytale,\PaveTikz,\TetraedreTikz,\CercleTrigo,\AffPoint,\AffVecteur,\TrouveEqCartPlan,\TrouveEqParamDroite,\TrouveEqCartDroite,\TrouveNorme,\TrouveDistancePtPlan,\EquationReduite,\CalculsRegLin,\PointsRegLin,\NuagePointsTikz,\PointMoyenTikz,\BoiteMoustaches,\BoiteMoustachesAxe,\Histogramme,\CalcBinomP,\CalcBinomC,\BinomP,\BinomC,\CalcPoissP,\CalcPoissC,\PoissonP,\PoissonC,\CalcGeomP,\CalcGeomC,\GeomP,\GeomC,\CalcHypergeomP,\CalcHypergeomP,\HypergeomP,\HypergeomC,\CalcNormC,\NormaleC,\CalcExpoC,\ExpoC,\ArbreProbasTikz,\LoiNormaleGraphe,\LoiExpoGraphe,\NbAlea,\VarNbAlea,\TirageAleatoireEntiers,\Arrangement,\Combinaison,\ConversionDecBin,\ConversionBinHex,\ConversionVersDec,\ConversionHexBin,\ConversionBaseDix,\ConversionDepuisBaseDix,\PresentationPGCD,\EquationDiophantienne,\ConversionFraction,\SimplificationRacine,\EcritureEnsemble,\EcritureTrinome,\MesurePrincipale,\LigneTrigo,\SudoMaths,\FonctionRepartTikz,\IntervalleFF,\IntervalleFO,\IntervalleOF,\IntervalleOO,\RepereOij,\RepereOuv,\RepereOijk,\ReperePlan,\RepereEspace,\jfalg,\jfexp,\LoiNormale,\LoiBinomiale,\LoiPoisson,\LoiExpo,\LoiUnif,\Courbe,\Suite,\CoordPtPl,\CoordPtEsp,\CoordVecPl,\CoordVecEsp,\MatDeux,\Vecteur,\Esper,\Varianc,\EcType,\dx,\Integrale,\Modulo,\Arrondi,\CodePythonLstFichier,\CodePythonLstFichierAlt,\colorlet,\PtsDiscontinuite,\ListeDiviseurs,\ArbreDiviseurs,\FractaleTikz,\EtapesFloconKoch,\EtapesTapisSierpinski
},%
keywordstyle={\color{CouleurVertForet}},%
classoffset=3,%
@@ -908,6 +908,7 @@ Elles sont présentées de manière \textit{succincte}, mais elles sont présent
%fractales
\FractaleTikz(*)[clés]<options tikz>
\EtapesFloconKoch[clés]{étapes}
+\EtapesTapisSierpinski[clés]{étapes}
\end{PresCodeTexPL}
\newpage
@@ -7943,8 +7944,8 @@ Pour le moment, il est possible de :
\begin{itemize}
\item tracer un flocon de Koch à une étape donnée ;
- \item tracer un triangle de Sierpinski \textit{classique} ;
- \item présenter différentes étapes successives des flocons de Koch.
+ \item tracer un triangle de Sierpinski à une étape donnée ;
+ \item présenter différentes étapes successives des flocons de Koch ou des triangles de Sierpinski.
\end{itemize}
\vspace*{-\baselineskip}\leavevmode
\end{tipblock}
@@ -7991,12 +7992,11 @@ Les \Cle{clés} disponibles pour cette commande sont :
\item la clé \Cle{Type}, parmi \Cle{Koch / Sierp} pour choisir le type de fractale ; \hfill~défaut \Cle{Koch}
\item la clé \Cle{Couleur} pour fixer la couleur des tracés ; \hfill~défaut \Cle{black}
\item la clé \Cle{LongueurCote} (en cm) pour fixer la longueur des côtés ; \hfill~défaut \Cle{3}
- \item la clé \Cle{Etape} (pour \Cle{Type=Koch}, et limitée à 7) pour fixer l'étape ; \hfill~défaut \Cle{1}
+ \item la clé \Cle{Etape} (pour \Cle{Type=Koch} elle est limitée à 7) pour fixer l'étape ; \hfill~défaut \Cle{1}
\item le booléen \Cle{remplir} pour remplir la fractale ; \hfill~défaut \Cle{false}
\item la clé \Cle{Remplissage} pour fixer la couleur de remplissage ; \hfill~défaut \Cle{lightgray}
\item la clé \Cle{Depart} pour fixer le point de départ ; \hfill~défaut \Cle{(0,0)}
- \item le booléen \Cle{AlignV} (pour \Cle{Type=Koch}) pour forcer l'alignement de la \textit{base} ; \hfill~défaut \Cle{false}
- \item le booléen \Cle{Contour} (pour \Cle{Type=Sierp}) pour afficher le contour. \hfill~défaut \Cle{false}
+ \item le booléen \Cle{AlignV} (pour \Cle{Type=Koch}) pour forcer l'alignement de la \textit{base}.\hfill~défaut \Cle{false}
\end{itemize}
\vspace*{-\baselineskip}\leavevmode
\end{cautionblock}
@@ -8028,7 +8028,7 @@ Les \Cle{clés} disponibles pour cette commande sont :
\begin{PresCodeTexPL}{}
%Sierpinski par défaut
-\FractaleTikz[Type=Sierp,LongueurCote=4,Couleur=blue,Remplir,Remplissage=red!5,Contour]
+\FractaleTikz[Type=Sierp,LongueurCote=4,Couleur=blue]
\end{PresCodeTexPL}
\subsection{Affichage de plusieurs étapes pour les flocons de Koch}
@@ -8068,6 +8068,43 @@ L'argument obligatoire, et entre \ctex{\{...\}}, permet de spécifier les étape
\EtapesFloconKoch[Offset=5mm,Couleur=red,Remplir,Remplissage=violet!25]{0,2,4,6}
\end{PresCodeTexPL}
+\subsection{Affichage de plusieurs étapes pour les tapis de Sierpinski}
+
+\begin{tipblock}
+L'idée est de présenter des étapes successives pour les tapis de Sierpinski.
+
+À noter que les \textit{bases} des flocons sont correctement alignées !
+\end{tipblock}
+
+\begin{PresCodeTexPL}{listing only}
+%commande autonome, l'environnement tikz est créé
+\EtapesTapisSierpinski[clés]{étapes}
+\end{PresCodeTexPL}
+
+\begin{cautionblock}
+Les \Cle{clés} disponibles sont reprises (pour celles dépendant de \Cle{Type=Sierp} !) de la commande \ctex{\textbackslash FractaleTikz}, avec en plus :
+
+\begin{itemize}
+ \item la clé \Cle{Offset} pour fixer une espacement horizontal entre les figures. \hfill~défaut \Cle{2pt}
+\end{itemize}
+
+L'argument obligatoire, et entre \ctex{\{...\}}, permet de spécifier les étapes à afficher, sous la forme \TikZ{} :
+
+\begin{itemize}
+ \item \ctex{n1,n2,n3} pour spécifier une liste d'étapes ;
+ \item \ctex{n1,...,n2} pour spécifier une plage d'étapes.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{cautionblock}
+
+\begin{PresCodeTexPL}{}
+\EtapesTapisSierpinski{0,...,4}
+\end{PresCodeTexPL}
+
+\begin{PresCodeTexPL}{}
+\EtapesTapisSierpinski[LongueurCote=2.5,Offset=5mm,Couleur=red]{0,2,4,6,8}
+\end{PresCodeTexPL}
+
\newpage
\phantom{t}\par\vfill\par
diff --git a/macros/latex/contrib/proflycee/tex/ProfLycee.sty b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
index 176a4fd187..a713a0cdce 100644
--- a/macros/latex/contrib/proflycee/tex/ProfLycee.sty
+++ b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
@@ -3,8 +3,9 @@
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfLycee}[2023/10/18 2.7.9 Aide pour l'utilisation de LaTeX en lycee]
-% 2.7.9 Ajout de fractales (Koch + Sierpenski)
+\ProvidesPackage{ProfLycee}[2023/10/19 2.8.0 Aide pour l'utilisation de LaTeX en lycee]
+% 2.8.0 Amélioration du tapis de Sierpinski
+% 2.7.9 Ajout de fractales (Koch + Sierpinski)
% 2.7.8 Conversion hexa->bin présentée
% 2.7.7 Ajout d'une commande pour matérialiser des points de discontinuité
% 2.7.6 Amélioration de la gestion de la console piton
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-recreat.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-recreat.tex
index 8578cf58a6..4bf8e9d32e 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-recreat.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-recreat.tex
@@ -251,6 +251,13 @@
\pgfdeclarelindenmayersystem{TriangleSierpinski}{
\rule{F -> G-F-G}
\rule{G -> F+G+F}}
+
+\pgfdeclarelindenmayersystem{SierpinskiTriangle}{
+ \symbol{X}{\pgflsystemdrawforward}
+ \symbol{Y}{\pgflsystemdrawforward}
+ \rule{X -> X-Y+X+Y-X}
+ \rule{Y -> YY}
+}%
\defKV[tikzfract]{%
Epaisseur=\def\fracttikzthick{#1},%
@@ -272,7 +279,6 @@
Remplir=false,%
Remplissage=lightgray,%
Depart={(0,0)},%
- Contour=false,%
AlignV=false,%
Offset=2pt
}
@@ -283,7 +289,7 @@
\def\fracttikzlgstep{\fpeval{(\fracttikzlg)/(3^\fracttikzstep)}}%
\IfStrEq{\fracttikztype}{Sierp}%
{%
- \def\fracttikzlgstep{\fpeval{(\fracttikzlg)/(128)}}%
+ \def\fracttikzlgstep{\fpeval{(\fracttikzlg)/(2^\fracttikzstep)}}%
}{}%
\IfBooleanF{#1}{\begin{tikzpicture}[#3]}
\ifboolKV[tikzfract]{Remplir}%
@@ -298,13 +304,8 @@
}{}%
\IfStrEq{\fracttikztype}{Sierp}%
{%
- \ifboolKV[tikzfract]{Contour}%
- {%
- \draw[shift=\fracttikzdepart,line width=\fracttikzthick,\fracttikzcolor] (0,0) -- (60:\fracttikzlg cm) -- (\fracttikzlg cm,0) -- cycle ;
- \clip (0,0) -- (60:\fracttikzlg cm) -- (\fracttikzlg cm,0) -- cycle ;
- }{}%
- \draw[line width=\fracttikzthick,shift=\fracttikzdepart,draw=\fracttikzcolor,fill=\fracttikzfill,l-system={TriangleSierpinski,step=\fracttikzlgstep cm,angle=60,axiom=F,order=8}]
- lindenmayer system -- cycle;
+ \fill[\fracttikzcolor] (0,0) -- ++(0:\fracttikzlg cm) -- ++(120:\fracttikzlg cm) -- cycle;
+ \draw[draw=none,shift=\fracttikzdepart,fill=white,l-system={SierpinskiTriangle,step=\fracttikzlgstep cm,angle=-120,axiom=X,order=\fracttikzstep}] lindenmayer system -- cycle;
}{}%
}%
{%
@@ -318,13 +319,8 @@
}{}%
\IfStrEq{\fracttikztype}{Sierp}%
{%
- \ifboolKV[tikzfract]{Contour}%
- {%
- \draw[shift=\fracttikzdepart,line width=\fracttikzthick,\fracttikzcolor] (0,0) -- (60:\fracttikzlg cm) -- (\fracttikzlg cm,0) -- cycle ;
- \clip (0,0) -- (60:\fracttikzlg cm) -- (\fracttikzlg cm,0) -- cycle ;
- }{}%
- \draw[line width=\fracttikzthick,shift=\fracttikzdepart,\fracttikzcolor,l-system={TriangleSierpinski,step=\fracttikzlgstep cm,angle=60,axiom=F,order=8}]
- lindenmayer system -- cycle;
+ \fill[\fracttikzcolor] (0,0) -- ++(0:\fracttikzlg cm) -- ++(120:\fracttikzlg cm) -- cycle;
+ \draw[draw=none,shift=\fracttikzdepart,fill=white,l-system={SierpinskiTriangle,step=\fracttikzlgstep cm,angle=-120,axiom=X,order=\fracttikzstep}] lindenmayer system -- cycle;
}{}%
}%
\IfBooleanF{#1}{\end{tikzpicture}}%
@@ -338,4 +334,12 @@
}
}
+\NewDocumentCommand\EtapesTapisSierpinski{ O{} D<>{} m }{%
+ \restoreKV[tikzfract]%
+ \setKV[tikzfract]{#1}%
+ \foreach \i in {#3} {%
+ \FractaleTikz[Type=Sierp,#1,Etape=\i]<#2>\hspace{\fracttikzoffset}%
+ }
+}
+
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/recorder-fingering/README.md b/macros/latex/contrib/recorder-fingering/README.md
index bc23d7006f..0ce46ec1a0 100644
--- a/macros/latex/contrib/recorder-fingering/README.md
+++ b/macros/latex/contrib/recorder-fingering/README.md
@@ -1,6 +1,6 @@
# recorder-fingering
-Version 1.3 July 17, 2023
+Version 1.3b October 17, 2023
The `recorder-fingering` package provides support for generating fingering diagrams for baroque fingering recorders and the tin whistle. Standard fingerings are provided for recorders in both C and F, and the tin whistle in D, along with methods to create and display alternate fingerings for trills, etc.
diff --git a/macros/latex/contrib/recorder-fingering/recorder-fingering.pdf b/macros/latex/contrib/recorder-fingering/recorder-fingering.pdf
index c365b23947..79360b17c4 100644
--- a/macros/latex/contrib/recorder-fingering/recorder-fingering.pdf
+++ b/macros/latex/contrib/recorder-fingering/recorder-fingering.pdf
Binary files differ
diff --git a/macros/latex/contrib/recorder-fingering/recorder-fingering.sty b/macros/latex/contrib/recorder-fingering/recorder-fingering.sty
index 7827d48a64..63e16d0ec3 100644
--- a/macros/latex/contrib/recorder-fingering/recorder-fingering.sty
+++ b/macros/latex/contrib/recorder-fingering/recorder-fingering.sty
@@ -26,9 +26,9 @@
%
% recorder-fingering.tex, recorder-fingering.pdf
%
-% Version 1.3 2023/07/17
+% Version 1.3b 2023/07/17
\NeedsTeXFormat{LaTeX2e}[2022/11/01]
-\ProvidesPackage{recorder-fingering}[2023/07/17 v1.3 Recorder fingering diagrams]
+\ProvidesPackage{recorder-fingering}[2023/10/17 v1.3b Recorder fingering diagrams]
\RequirePackage{tikz}
\usetikzlibrary{calc}
\RequirePackage{graphicx}
@@ -100,6 +100,12 @@ nodes={anchor=center}
\clist_new:N \l_fingering_topholes_clist
\clist_new:N \l_fingering_botholes_clist
+% some tmp macros to replace \l_tmpa_tl etc. Changed 1.3b
+
+\tl_new:N \l_fingering_tmpa_tl
+\tl_new:N \l_fingering_tmpb_tl
+\int_new:N \l_fingering_tmpa_int
+
% Set up the trill holes clist
\clist_new:N \l_fingering_trill_holes_clist
@@ -217,8 +223,8 @@ nodes={anchor=center}
\l_fingering_set_hole_positions:n {R}
\clist_clear:N \l_fingering_topholes_clist
\int_step_inline:nn { 4 } {
- \clist_pop:NNF \l_fingering_holes_clist \l_tmpa_tl { \msg_error:nn { recorder-fingering } { too-few }}
- \clist_put_right:NV \l_fingering_topholes_clist \l_tmpa_tl }
+ \clist_pop:NNF \l_fingering_holes_clist \l_fingering_tmpa_tl { \msg_error:nn { recorder-fingering } { too-few }}
+ \clist_put_right:NV \l_fingering_topholes_clist \l_fingering_tmpa_tl }
\resizebox{\l_fingering_size_dim}{!}{
\begin{tikzpicture}[/fingering]
% display the thumb and first three topholes
@@ -233,13 +239,13 @@ nodes={anchor=center}
{}
% now shift the bottom holes to make a small space between LH and RH holes
\begin{scope}[yshift=-\l_fingering_top_bottom_space_tl]
- \clist_pop:NN \l_fingering_holes_clist \l_tmpa_tl
- \node[hole=\l_tmpa_tl]~at~(0,-\l_fingering_four_tl)~{};
- \clist_pop:NN \l_fingering_holes_clist \l_tmpa_tl
- \node[hole=\l_tmpa_tl]~at~(0,-\l_fingering_five_tl)~{};
+ \clist_pop:NN \l_fingering_holes_clist \l_fingering_tmpa_tl
+ \node[hole=\l_fingering_tmpa_tl]~at~(0,-\l_fingering_four_tl)~{};
+ \clist_pop:NN \l_fingering_holes_clist \l_fingering_tmpa_tl
+ \node[hole=\l_fingering_tmpa_tl]~at~(0,-\l_fingering_five_tl)~{};
% display the bottom two paired holes
- \clist_pop:NN \l_fingering_holes_clist \l_tmpa_tl
- \int_case:nnTF {\l_tmpa_tl}{
+ \clist_pop:NN \l_fingering_holes_clist \l_fingering_tmpa_tl
+ \int_case:nnTF {\l_fingering_tmpa_tl}{
{0} {\node[top~double=0]~at~
(\c_fingering_six_seven_x_tl,-\c_fingering_six_top_tl)~{};
\node[bottom~double=0]~at~
@@ -255,8 +261,8 @@ nodes={anchor=center}
}
{}
{}
- \clist_pop:NN \l_fingering_holes_clist \l_tmpa_tl
- \int_case:nnTF {\l_tmpa_tl}{
+ \clist_pop:NN \l_fingering_holes_clist \l_fingering_tmpa_tl
+ \int_case:nnTF {\l_fingering_tmpa_tl}{
{0} {\node[top~double=0,]~at~
(\c_fingering_six_seven_x_tl,-\c_fingering_seven__top_tl)~{};
\node[bottom~double=0]~at~
@@ -275,20 +281,20 @@ nodes={anchor=center}
% display the bell hole if present
\clist_if_empty:NTF \l_fingering_holes_clist
{}
- {\clist_pop:NN \l_fingering_holes_clist \l_tmpa_tl
- \node[hole=\l_tmpa_tl]~at~(0,-\l_fingering_bell_tl)~{};}
+ {\clist_pop:NN \l_fingering_holes_clist \l_fingering_tmpa_tl
+ \node[hole=\l_fingering_tmpa_tl]~at~(0,-\l_fingering_bell_tl)~{};}
% display trill arrows if present
\clist_if_empty:NTF \l_fingering_trill_holes_clist
{}
{
- \clist_map_variable:NNn \l_fingering_trill_holes_clist \l_tmpa_tl
- {\int_compare:nNnTF {\l_tmpa_tl} > {7}
+ \clist_map_variable:NNn \l_fingering_trill_holes_clist \l_fingering_tmpa_tl
+ {\int_compare:nNnTF {\l_fingering_tmpa_tl} > {7}
{\msg_warning:nn { recorder-fingering } { no-hole }}
- {\int_compare:nNnTF {\l_tmpa_tl} > {3}
+ {\int_compare:nNnTF {\l_fingering_tmpa_tl} > {3}
{\tl_set:Nn \l_fingering_top_bottom_space_tl {0}}
{}
\bool_if:nTF {\l_fingering_trill_offset_LR_bool}
- {\int_compare:nNnTF {\l_tmpa_tl} > {3}
+ {\int_compare:nNnTF {\l_fingering_tmpa_tl} > {3}
{\tl_set:Nn \l_fingering_trill_offset_tl {.5}
\prop_get:NnN \l_fingering_pointer_prop {RPointer}
\l_fingering_trill_pointer_tl }
@@ -297,9 +303,9 @@ nodes={anchor=center}
\l_fingering_trill_pointer_tl }
}
{}
- \int_set:Nn \l_tmpb_int {\l_tmpa_tl+1}
+ \int_set:Nn \l_fingering_tmpa_int {\l_fingering_tmpa_tl+1}
\node[overlay]~at~($(\l_fingering_trill_offset_tl,
- -\l_tmpb_int/2)+(0,\l_fingering_top_bottom_space_tl)
+ -\l_fingering_tmpa_int/2)+(0,\l_fingering_top_bottom_space_tl)
$)~{\l_fingering_trill_pointer_tl};
}
}
@@ -314,12 +320,12 @@ nodes={anchor=center}
\resizebox{\l_fingering_size_dim}{!}{
\begin{tikzpicture}[/fingering]
% display the top three holes
- \clist_pop:NN \l_fingering_holes_clist \l_tmpa_tl
- \node[hole=\l_tmpa_tl]~at~(0,-\l_fingering_one_tl)~{};
- \clist_pop:NN \l_fingering_holes_clist \l_tmpa_tl
- \node[hole=\l_tmpa_tl]~at~(0,-\l_fingering_two_tl)~{};
- \clist_pop:NN \l_fingering_holes_clist \l_tmpa_tl
- \node[hole=\l_tmpa_tl]~at~(0,-\l_fingering_three_tl)~{};
+ \clist_pop:NN \l_fingering_holes_clist \l_fingering_tmpa_tl
+ \node[hole=\l_fingering_tmpa_tl]~at~(0,-\l_fingering_one_tl)~{};
+ \clist_pop:NN \l_fingering_holes_clist \l_fingering_tmpa_tl
+ \node[hole=\l_fingering_tmpa_tl]~at~(0,-\l_fingering_two_tl)~{};
+ \clist_pop:NN \l_fingering_holes_clist \l_fingering_tmpa_tl
+ \node[hole=\l_fingering_tmpa_tl]~at~(0,-\l_fingering_three_tl)~{};
% add the divider if selected
\bool_if:NTF \l_fingering_LHRH_divider_bool
{\draw[overlay]~($(-.5,-1.75)+(0,-\l_fingering_top_bottom_space_tl/2)$)~
@@ -327,29 +333,29 @@ nodes={anchor=center}
{}
% now shift the bottom holes to make a small space between LH and RH holes
\begin{scope}[yshift=-\l_fingering_top_bottom_space_tl]
- \clist_pop:NN \l_fingering_holes_clist \l_tmpa_tl
- \node[hole=\l_tmpa_tl]~at~(0,-\l_fingering_four_tl)~{};
- \clist_pop:NN \l_fingering_holes_clist \l_tmpa_tl
- \node[hole=\l_tmpa_tl]~at~(0,-\l_fingering_five_tl)~{};
- \clist_pop:NN \l_fingering_holes_clist \l_tmpa_tl
- \node[hole=\l_tmpa_tl]~at~(0,-\c_fingering_six_tl)~{};
+ \clist_pop:NN \l_fingering_holes_clist \l_fingering_tmpa_tl
+ \node[hole=\l_fingering_tmpa_tl]~at~(0,-\l_fingering_four_tl)~{};
+ \clist_pop:NN \l_fingering_holes_clist \l_fingering_tmpa_tl
+ \node[hole=\l_fingering_tmpa_tl]~at~(0,-\l_fingering_five_tl)~{};
+ \clist_pop:NN \l_fingering_holes_clist \l_fingering_tmpa_tl
+ \node[hole=\l_fingering_tmpa_tl]~at~(0,-\c_fingering_six_tl)~{};
% display the bell hole if present
\clist_if_empty:NTF \l_fingering_holes_clist
{}
- {\clist_pop:NN \l_fingering_holes_clist \l_tmpa_tl
- \node[hole=\l_tmpa_tl]~at~(0,-\l_fingering_bell_tl)~{};}
+ {\clist_pop:NN \l_fingering_holes_clist \l_fingering_tmpa_tl
+ \node[hole=\l_fingering_tmpa_tl]~at~(0,-\l_fingering_bell_tl)~{};}
% display trill arrows if present
\clist_if_empty:NTF \l_fingering_trill_holes_clist
{}
{
- \clist_map_variable:NNn \l_fingering_trill_holes_clist \l_tmpa_tl
- {\int_compare:nNnTF {\l_tmpa_tl} > {6}
+ \clist_map_variable:NNn \l_fingering_trill_holes_clist \l_fingering_tmpa_tl
+ {\int_compare:nNnTF {\l_fingering_tmpa_tl} > {6}
{\msg_warning:nn { recorder-fingering } { no-hole }}
- {\int_compare:nNnTF {\l_tmpa_tl} > {3}
+ {\int_compare:nNnTF {\l_fingering_tmpa_tl} > {3}
{\tl_set:Nn \l_fingering_top_bottom_space_tl {0}}
{}
\bool_if:nTF {\l_fingering_trill_offset_LR_bool}
- {\int_compare:nNnTF {\l_tmpa_tl} > {3}
+ {\int_compare:nNnTF {\l_fingering_tmpa_tl} > {3}
{\tl_set:Nn \l_fingering_trill_offset_tl {.5}
\prop_get:NnN \l_fingering_pointer_prop {RPointer}
\l_fingering_trill_pointer_tl }
@@ -358,9 +364,9 @@ nodes={anchor=center}
\l_fingering_trill_pointer_tl }
}
{}
- \int_set:Nn \l_tmpb_int {\l_tmpa_tl}
+ \int_set:Nn \l_fingering_tmpa_int {\l_fingering_tmpa_tl}
\node[overlay]~at~($(\l_fingering_trill_offset_tl,
- -\l_tmpb_int/2)+(0,\l_fingering_top_bottom_space_tl)
+ -\l_fingering_tmpa_int/2)+(0,\l_fingering_top_bottom_space_tl)
$)~{\l_fingering_trill_pointer_tl};
}
}
@@ -379,8 +385,8 @@ nodes={anchor=center}
\NewDocumentCommand{\Alto}{O{}m}{
\group_begin:
\keys_set:nn {fingering} {#1}
- \prop_get:NnNTF \l_fingering_F_prop {#2} \l_tmpa_tl
- {\fingering_generate_recorder_fingering:V \l_tmpa_tl}
+ \prop_get:NnNTF \l_fingering_F_prop {#2} \l_fingering_tmpa_tl
+ {\fingering_generate_recorder_fingering:V \l_fingering_tmpa_tl}
{\msg_error:nn {recorder-fingering} {key-not-found}}
\group_end:
}
@@ -390,8 +396,8 @@ nodes={anchor=center}
\NewDocumentCommand{\Soprano}{O{}m}{
\group_begin:
\keys_set:nn {fingering} {#1}
- \prop_get:NnNTF \l_fingering_C_prop {#2} \l_tmpa_tl
- {\fingering_generate_recorder_fingering:V \l_tmpa_tl}
+ \prop_get:NnNTF \l_fingering_C_prop {#2} \l_fingering_tmpa_tl
+ {\fingering_generate_recorder_fingering:V \l_fingering_tmpa_tl}
{\msg_error:nn {recorder-fingering} {key-not-found}}
\group_end:
}
@@ -400,8 +406,8 @@ nodes={anchor=center}
\NewDocumentCommand{\Whistle}{O{}m}{
\group_begin:
\keys_set:nn {fingering} {#1}
- \prop_get:NnNTF \l_fingering_D_prop {#2} \l_tmpa_tl
- {\fingering_generate_whistle_fingering:V \l_tmpa_tl}
+ \prop_get:NnNTF \l_fingering_D_prop {#2} \l_fingering_tmpa_tl
+ {\fingering_generate_whistle_fingering:V \l_fingering_tmpa_tl}
{\msg_error:nn {recorder-fingering} {key-not-found}}
\group_end:
}
@@ -409,29 +415,29 @@ nodes={anchor=center}
% Trill version of the commands; this allows you to store trill holes
% with a key name, so that the trill doesn’t have to be specified manually
\NewDocumentCommand{\Ftrill}{m}{
- \prop_get:NnNTF \l_fingering_trill_F_prop {#1} \l_tmpa_tl
+ \prop_get:NnNTF \l_fingering_trill_F_prop {#1} \l_fingering_tmpa_tl
{\group_begin:
- \keys_set:nx {fingering} {trill={\l_tmpa_tl}}
- \prop_get:NnN \l_fingering_F_prop {#1} \l_tmpb_tl
- \fingering_generate_recorder_fingering:V \l_tmpb_tl
+ \keys_set:nx {fingering} {trill={\l_fingering_tmpa_tl}}
+ \prop_get:NnN \l_fingering_F_prop {#1} \l_fingering_tmpb_tl
+ \fingering_generate_recorder_fingering:V \l_fingering_tmpb_tl
\group_end:}
{\msg_error:nn {recorder-fingering} {key-not-found}}
}
\NewDocumentCommand{\Ctrill}{m}{
- \prop_get:NnNTF \l_fingering_trill_C_prop {#1} \l_tmpa_tl
+ \prop_get:NnNTF \l_fingering_trill_C_prop {#1} \l_fingering_tmpa_tl
{\group_begin:
- \keys_set:nx {fingering} {trill={\l_tmpa_tl}}
- \prop_get:NnN \l_fingering_C_prop {#1} \l_tmpb_tl
- \fingering_generate_recorder_fingering:V \l_tmpb_tl
+ \keys_set:nx {fingering} {trill={\l_fingering_tmpa_tl}}
+ \prop_get:NnN \l_fingering_C_prop {#1} \l_fingering_tmpb_tl
+ \fingering_generate_recorder_fingering:V \l_fingering_tmpb_tl
\group_end:}
{\msg_error:nn {recorder-fingering} {key-not-found}}
}
\NewDocumentCommand{\Dtrill}{m}{
- \prop_get:NnNTF \l_fingering_trill_D_prop {#1} \l_tmpa_tl
+ \prop_get:NnNTF \l_fingering_trill_D_prop {#1} \l_fingering_tmpa_tl
{\group_begin:
- \keys_set:nx {fingering} {trill={\l_tmpa_tl}}
- \prop_get:NnN \l_fingering_D_prop {#1} \l_tmpb_tl
- \fingering_generate_recorder_fingering:V \l_tmpb_tl
+ \keys_set:nx {fingering} {trill={\l_fingering_tmpa_tl}}
+ \prop_get:NnN \l_fingering_D_prop {#1} \l_fingering_tmpb_tl
+ \fingering_generate_recorder_fingering:V \l_fingering_tmpb_tl
\group_end:}
{\msg_error:nn {recorder-fingering} {key-not-found}}
}
@@ -468,30 +474,30 @@ nodes={anchor=center}
% Trill copy functions
\cs_new_protected:Nn \fingering_F_trill_copy:nn {
\clist_set:Nn \l_tmpa_clist {#2}
- \clist_pop:NNTF \l_tmpa_clist \l_tmpa_tl
- {\prop_put:Nnx \l_fingering_F_prop {#1}{\l_tmpa_tl}}
+ \clist_pop:NNTF \l_tmpa_clist \l_fingering_tmpa_tl
+ {\prop_put:Nnx \l_fingering_F_prop {#1}{\l_fingering_tmpa_tl}}
{\show\notfound}
- \clist_pop:NNTF \l_tmpa_clist \l_tmpa_tl
- {\prop_put:Nnx \l_fingering_trill_F_prop {#1}{\l_tmpa_tl}}
+ \clist_pop:NNTF \l_tmpa_clist \l_fingering_tmpa_tl
+ {\prop_put:Nnx \l_fingering_trill_F_prop {#1}{\l_fingering_tmpa_tl}}
{\show\notfound}
}
\cs_new_protected:Nn \fingering_C_trill_copy:nn {
\clist_set:Nn \l_tmpa_clist {#2}
- \clist_pop:NNTF \l_tmpa_clist \l_tmpa_tl
- {\prop_put:Nnx \l_fingering_C_prop {#1}{\l_tmpa_tl}}
+ \clist_pop:NNTF \l_tmpa_clist \l_fingering_tmpa_tl
+ {\prop_put:Nnx \l_fingering_C_prop {#1}{\l_fingering_tmpa_tl}}
{\show\notfound}
- \clist_pop:NNTF \l_tmpa_clist \l_tmpa_tl
- {\prop_put:Nnx \l_fingering_trill_C_prop {#1}{\l_tmpa_tl}}
+ \clist_pop:NNTF \l_tmpa_clist \l_fingering_tmpa_tl
+ {\prop_put:Nnx \l_fingering_trill_C_prop {#1}{\l_fingering_tmpa_tl}}
{\show\notfound}}
\cs_new_protected:Nn \fingering_D_trill_copy:nn {
\clist_set:Nn \l_tmpa_clist {#2}
- \clist_pop:NNTF \l_tmpa_clist \l_tmpa_tl
- {\prop_put:Nnx \l_fingering_D_prop {#1}{\l_tmpa_tl}}
+ \clist_pop:NNTF \l_tmpa_clist \l_fingering_tmpa_tl
+ {\prop_put:Nnx \l_fingering_D_prop {#1}{\l_fingering_tmpa_tl}}
{\show\notfound}
- \clist_pop:NNTF \l_tmpa_clist \l_tmpa_tl
- {\prop_put:Nnx \l_fingering_trill_D_prop {#1}{\l_tmpa_tl}}
+ \clist_pop:NNTF \l_tmpa_clist \l_fingering_tmpa_tl
+ {\prop_put:Nnx \l_fingering_trill_D_prop {#1}{\l_fingering_tmpa_tl}}
{\show\notfound}
}
@@ -500,7 +506,7 @@ nodes={anchor=center}
\NewDocumentCommand{\NewFfingering}{smm}{
\IfBooleanTF{#1}
{\prop_put:Nnn \l_fingering_F_prop {#2} {#3}}
- {\prop_get:NnNTF \l_fingering_F_prop {#2} \l_tmpa_tl
+ {\prop_get:NnNTF \l_fingering_F_prop {#2} \l_fingering_tmpa_tl
{\msg_error:nn { recorder-fingering } { key-exists }}
{\prop_put:Nnn \l_fingering_F_prop {#2} {#3}}
}}
@@ -508,7 +514,7 @@ nodes={anchor=center}
\NewDocumentCommand{\NewCfingering}{smm}{
\IfBooleanTF{#1}
{\prop_put:Nnn \l_fingering_C_prop {#2} {#3}}
- {\prop_get:NnNTF \l_fingering_C_prop {#2} \l_tmpa_tl
+ {\prop_get:NnNTF \l_fingering_C_prop {#2} \l_fingering_tmpa_tl
{\msg_error:nn { recorder-fingering } { key-exists }}
{\prop_put:Nnn \l_fingering_C_prop {#2} {#3}}
}}
@@ -516,7 +522,7 @@ nodes={anchor=center}
\NewDocumentCommand{\NewDfingering}{smm}{
\IfBooleanTF{#1}
{\prop_put:Nnn \l_fingering_D_prop {#2} {#3}}
- {\prop_get:NnNTF \l_fingering_D_prop {#2} \l_tmpa_tl
+ {\prop_get:NnNTF \l_fingering_D_prop {#2} \l_fingering_tmpa_tl
{\msg_error:nn { recorder-fingering } { key-exists }}
{\prop_put:Nnn \l_fingering_D_prop {#2} {#3}}
}}
@@ -528,7 +534,7 @@ nodes={anchor=center}
\IfBooleanTF{#1}
{\prop_put:Nnn \l_fingering_F_prop {#2} {#3}
\prop_put:Nnn \l_fingering_trill_F_prop {#2} {#4}}
- {\prop_get:NnNTF \l_fingering_F_prop {#2} \l_tmpa_tl
+ {\prop_get:NnNTF \l_fingering_F_prop {#2} \l_fingering_tmpa_tl
{\msg_error:nn { recorder-fingering } { key-exists }}
{\prop_put:Nnn \l_fingering_F_prop {#2} {#3}
\prop_put:Nnn \l_fingering_trill_F_prop {#2} {#4}}}
@@ -537,7 +543,7 @@ nodes={anchor=center}
\IfBooleanTF{#1}
{\prop_put:Nnn \l_fingering_C_prop {#2} {#3}
\prop_put:Nnn \l_fingering_trill_C_prop {#2} {#4}}
- {\prop_get:NnNTF \l_fingering_C_prop {#2} \l_tmpa_tl
+ {\prop_get:NnNTF \l_fingering_C_prop {#2} \l_fingering_tmpa_tl
{\msg_error:nn { recorder-fingering } { key-exists }}
{\prop_put:Nnn \l_fingering_C_prop {#2} {#3}
\prop_put:Nnn \l_fingering_trill_C_prop {#2} {#4}}}
@@ -546,7 +552,7 @@ nodes={anchor=center}
\IfBooleanTF{#1}
{\prop_put:Nnn \l_fingering_D_prop {#2} {#3}
\prop_put:Nnn \l_fingering_trill_D_prop {#2} {#4}}
- {\prop_get:NnNTF \l_fingering_D_prop {#2} \l_tmpa_tl
+ {\prop_get:NnNTF \l_fingering_D_prop {#2} \l_fingering_tmpa_tl
{\msg_error:nn { recorder-fingering } { key-exists }}
{\prop_put:Nnn \l_fingering_D_prop {#2} {#3}
\prop_put:Nnn \l_fingering_trill_D_prop {#2} {#4}}}
@@ -565,28 +571,28 @@ nodes={anchor=center}
% fingering in the associated property list with the new key name and the existing key
% fingering
\cs_new_protected:Nn \fingering_copy_F:nn
- {\prop_get:NnN \l_fingering_F_sharp_flat_prop {#1} \l_tmpa_tl
- \prop_get:NoN \l_fingering_F_prop {\l_tmpa_tl} \l_tmpb_tl
- \fingering_add_F_fingering:nV {#1} {\l_tmpb_tl}}
+ {\prop_get:NnN \l_fingering_F_sharp_flat_prop {#1} \l_fingering_tmpa_tl
+ \prop_get:NoN \l_fingering_F_prop {\l_fingering_tmpa_tl} \l_fingering_tmpb_tl
+ \fingering_add_F_fingering:nV {#1} {\l_fingering_tmpb_tl}}
\cs_new_protected:Nn \fingering_copy_C:nn
- {\prop_get:NnN \l_fingering_C_sharp_flat_prop {#1} \l_tmpa_tl
- \prop_get:NoN \l_fingering_C_prop {\l_tmpa_tl} \l_tmpb_tl
- \fingering_add_C_fingering:nV {#1} {\l_tmpb_tl}}
+ {\prop_get:NnN \l_fingering_C_sharp_flat_prop {#1} \l_fingering_tmpa_tl
+ \prop_get:NoN \l_fingering_C_prop {\l_fingering_tmpa_tl} \l_fingering_tmpb_tl
+ \fingering_add_C_fingering:nV {#1} {\l_fingering_tmpb_tl}}
\cs_new_protected:Nn \fingering_copy_D:nn
- {\prop_get:NnN \l_fingering_D_sharp_flat_prop {#1} \l_tmpa_tl
- \prop_get:NoN \l_fingering_D_prop {\l_tmpa_tl} \l_tmpb_tl
- \fingering_add_D_fingering:nV {#1} {\l_tmpb_tl}}
+ {\prop_get:NnN \l_fingering_D_sharp_flat_prop {#1} \l_fingering_tmpa_tl
+ \prop_get:NoN \l_fingering_D_prop {\l_fingering_tmpa_tl} \l_fingering_tmpb_tl
+ \fingering_add_D_fingering:nV {#1} {\l_fingering_tmpb_tl}}
\NewDocumentCommand{\debug}{O{f}m}{
\str_case:nn {#1}{
- {f}{\prop_get:NnNTF \l_fingering_F_prop {#2} \l_tmpa_tl
+ {f}{\prop_get:NnNTF \l_fingering_F_prop {#2} \l_fingering_tmpa_tl
{}{\msg_error:nn { recorder-fingering } { key-not-found }}
- \l_tmpa_tl}
- {c}{\prop_get:NnNTF \l_fingering_C_prop {#2} \l_tmpa_tl
+ \l_fingering_tmpa_tl}
+ {c}{\prop_get:NnNTF \l_fingering_C_prop {#2} \l_fingering_tmpa_tl
{}{\msg_error:nn { recorder-fingering } { key-not-found }}
- \l_tmpa_tl
+ \l_fingering_tmpa_tl
}
}
}
diff --git a/macros/latex/contrib/recorder-fingering/recorder-fingering.tex b/macros/latex/contrib/recorder-fingering/recorder-fingering.tex
index 99d0f4d89f..9dc25632aa 100644
--- a/macros/latex/contrib/recorder-fingering/recorder-fingering.tex
+++ b/macros/latex/contrib/recorder-fingering/recorder-fingering.tex
@@ -31,7 +31,7 @@
\DefineShortVerb{\|}
\title{The \texttt{recorder-fingering} package}
\author{Alan Munn\\amunn@msu.edu}
-\date{Version 1.3\\July 17, 2023}
+\date{Version 1.3b\\October 17, 2023}
\lstset{%
basicstyle=\ttfamily\small,