summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/competences/competences.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-05-02 20:48:54 +0000
committerKarl Berry <karl@freefriends.org>2018-05-02 20:48:54 +0000
commita64b09172eb57721992bd3f70e80997a6b7ee9d4 (patch)
tree92ed0a503d9792e4550c1c139a0885d6bca72388 /Master/texmf-dist/tex/latex/competences/competences.sty
parentc6a8412d1611093105c992e30cf39c01cc00ad77 (diff)
competences (2may18)
git-svn-id: svn://tug.org/texlive/trunk@47573 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/competences/competences.sty')
-rw-r--r--Master/texmf-dist/tex/latex/competences/competences.sty329
1 files changed, 329 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/competences/competences.sty b/Master/texmf-dist/tex/latex/competences/competences.sty
new file mode 100644
index 00000000000..c3e48264d4c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/competences/competences.sty
@@ -0,0 +1,329 @@
+%%
+%% This is file `competences.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% competences.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2016 by Christophe Bares <christopheATbares.fr>
+%%
+%% This file may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.3 of this license
+%% or (at your option) any later version. The latest version of this
+%% license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3 or later is part of all distributions of LaTeX version
+%% 2005/12/01 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}[2005/12/01]
+\ProvidesPackage{competences}
+ [2016/10/27 v1.0]
+
+\newcommand{\dummyMacro}{}
+
+\newenvironment{dummyEnv}{%
+}{%
+}
+
+\RequirePackage[%
+color=blue!20,%
+]{todonotes}
+\reversemarginpar
+
+\RequirePackage{datatool}
+\RequirePackage{etoolbox}
+\RequirePackage{longtable}
+
+\def\total{0}
+\def\gtotal{0}
+
+\newcommand{\getCurrentSectionNumber}{%
+ \ifnum\c@enumi=0 %
+ \ifnum\c@section=0 %
+ \thechapter
+ \else
+ \ifnum\c@subsection=0 %
+ \thesection
+ \else
+ \ifnum\c@subsubsection=0 %
+ \thesubsection
+ \else
+ \thesubsubsection
+ \fi
+ \fi
+ \fi
+ \else
+ \ifnum\c@enumii=0 %
+ \theenumi
+ \else
+ \theenumii
+ \fi
+ \fi
+}
+
+\newcommand{\getCurrentpartiedocument}{%
+ \thesection
+}
+
+\DTLgnewdb{CS}
+\DTLgnewdb{QUEST}
+\DTLgnewdb{PARTIE}
+\DTLgnewdb{PF}
+\DTLaddcolumn{QUEST}{compsec}%
+\DTLaddcolumn{QUEST}{partie}%
+
+\newcommand{\ifcompexists}[3]{%
+ \DTLgetrowforkey{\competences@tmpcs}{CS}{cs}{#1}%
+ \ifdefempty{\competences@tmpcs}{#3}{#2}%
+}
+
+\newcommand{\ifquestexists}[3]{%
+ \DTLgetrowforkey{\competences@tmpq}{QUEST}{compsec}{#1}%
+ \ifdefempty{\competences@tmpq}{#3}{#2}%
+}
+
+\newcommand{\ifpartexists}[3]{%
+ \DTLgetrowforkey{\competences@tmpp}{PARTIE}{partie}{#1}%
+ \ifdefempty{\competences@tmpp}{#3}{#2}%
+}
+
+\newcommand{\addcompetence}[2][1]{%
+ \todo[noline]{#2}
+
+ \ifcompexists{#2}{%
+ }
+ {\DTLnewrow{CS}%
+ \DTLnewdbentry{CS}{cs}{#2}%
+ \DTLaddcolumn{QUEST}{#2}%
+ }
+ \def\quest{\getCurrentSectionNumber}
+ \def\partie{\getCurrentpartiedocument}
+
+ \ifpartexists{\partie}{}{
+ \DTLnewrow{PARTIE}%
+ \dtlexpandnewvalue
+ \DTLnewdbentry{PARTIE}{partie}{\partie}%
+ \dtlnoexpandnewvalue
+ }
+
+ \ifquestexists{\quest}{%
+ \DTLnewdbentry{QUEST}{#2}{#1}%
+ }{%
+ \DTLforeach*{CS}{\cs=cs}{
+ \DTLaddcolumn{QUEST}{\cs}%
+ }%
+
+ \DTLnewrow{QUEST}%
+ \dtlexpandnewvalue
+ \DTLnewdbentry{QUEST}{compsec}{\quest}%
+ \DTLnewdbentry{QUEST}{partie}{\partie}%
+ \dtlnoexpandnewvalue
+ \DTLnewdbentry{QUEST}{#2}{#1}%
+ }
+}
+
+\newcommand{\addGlobalCompetence}[2][1]{%
+ \ifcompexists{#2}{%
+ }{%
+ \DTLnewrow{CS}%
+ \DTLnewdbentry{CS}{cs}{#2}%
+ \DTLaddcolumn{QUEST}{#2}%
+ }
+
+ \def\quest{-}
+ \def\partie{Global}
+
+ \ifpartexists{\partie}{%
+ }{%
+ \DTLnewrow{PARTIE}%
+ \dtlexpandnewvalue
+ \DTLnewdbentry{PARTIE}{partie}{\partie}%
+ \dtlnoexpandnewvalue
+ }
+
+ \ifquestexists{\quest}{%
+ \DTLnewdbentry{QUEST}{#2}{#1}%
+ }{%
+ \DTLforeach*{CS}{\cs=cs}{
+ \DTLaddcolumn{QUEST}{\cs}%
+ }%
+
+ \DTLnewrow{QUEST}%
+ \dtlexpandnewvalue
+ \DTLnewdbentry{QUEST}{compsec}{\quest}%
+ \DTLnewdbentry{QUEST}{partie}{\partie}%
+ \dtlnoexpandnewvalue
+ \DTLnewdbentry{QUEST}{#2}{#1}%
+ }
+}
+
+\newcommand{\tableaucompetences}{%
+Ce sujet aborde \DTLrowcount{CS}\ compétences: \DTLforeach*{CS}{\compname=cs}{\compname\DTLiflastrow{.}{, }}
+ \bigskip
+
+ \begin{longtable}{l|c|*{\DTLrowcount{CS}}{|c}||c}
+ Question &Partie& \DTLforeach*{CS}{\cs=cs}{\cs &} points\\\hline
+ \DTLforeach*{QUEST}{\compsec=compsec,\partie=partie}{
+ \DTLforeachkeyinrow{\point}
+{\DTLifstringeq{\point}{NULL}{}{
+ \point%
+ \DTLifstringeq{\dtlkey}{compsec}{}{%
+ \DTLifstringeq{\dtlkey}{partie}{}{%
+ \DTLgadd{\total}{\point}{\total}%
+ }%
+ }%
+ } & %
+}
+ \total
+ \DTLgadd{\gtotal}{\total}{\gtotal}
+ \DTLgadd{\total}{0}{0}
+ \DTLiflastrow{\\\hline}{\\}%
+ }%
+ Total &-&\DTLforeach*{CS}{\cs=cs}{\DTLsumforkeys{QUEST}{\cs}{\total} \total&} \gtotal\\\hline
+ & & \DTLforeach*{CS}{\cs=cs}{\cs &}
+ \end{longtable}
+
+%% For debugging
+
+}
+\def\cstotal{0}%
+\newcommand{\sumcspartie}[2]{%
+ \DTLgadd{\cstotal}{0}{0}%
+ \DTLforeach*[\DTLiseq{\part}{#1}]{QUEST}{\comp=#2,\part=partie}{%
+ \DTLifnull{\comp}{}{\DTLgadd{\cstotal}{\cstotal}{\comp}}%
+ }%
+}
+
+\newcommand{\tableaupartie}[1]{%
+\def\ptotal{0}
+\def\pctotal{0}
+\def\gptotal{0}
+Bilan Partie #1
+ \begin{longtable}{l|c|*{\DTLrowcount{CS}}{|c}||c}%
+ Question &Partie& \DTLforeach*{CS}{\cs=cs}{\cs &} points\\\hline
+ \DTLforeach*[\DTLiseq{\partie}{#1}]{QUEST}{\compsec=compsec,\partie=partie}{%
+ \DTLforeachkeyinrow{\point}%
+ {\DTLifstringeq{\point}{NULL}{}{%
+\point%
+\DTLifstringeq{\dtlkey}{compsec}{}{%
+ \DTLifstringeq{\dtlkey}{partie}{}{%
+ \DTLgadd{\ptotal}{\point}{\ptotal}%
+ }%
+ }%
+}&%
+ }%
+ \ptotal%
+ \DTLgadd{\gptotal}{\ptotal}{\gptotal}%
+ \DTLgadd{\ptotal}{0}{0}%
+ \\\hline%
+ }%
+ Total &-&\DTLforeach*{CS}{\cs=cs}{%
+ \sumcspartie{#1}{\cs}%
+ \cstotal
+ &
+ }%
+ \gptotal\\\hline
+ Total \% &-&\DTLforeach*{CS}{\cs=cs}{%
+ \sumcspartie{#1}{\cs}
+ \DTLdiv{\pctotal}{\cstotal}{\gptotal}%
+ \DTLmul{\pctotal}{100}{\pctotal}%
+ \DTLround{\pctotal}{\pctotal}{1}%
+ \pctotal \%&%
+ }%
+ 100.0\%\\\hline
+ & & \DTLforeach*{CS}{\cs=cs}{\cs &}
+ \end{longtable}
+
+%% For debugging
+}
+
+\def\pftotal{0}
+\newcommand{\sumpfpartie}[2]{%
+ \DTLgadd{\pftotal}{0}{0}%
+ \DTLforeach*[\DTLisinlist{\partiein}{#1}]{QUEST}{\compsec=compsec,\partiein=partie}{%
+ \DTLforeachkeyinrow{\point}{%
+ \DTLifstringeq{\point}{NULL}{}{%
+\DTLifstringeq{\dtlkey}{compsec}{}{%
+ \DTLifstringeq{\dtlkey}{partie}{}{%
+ \DTLifStartsWith{\dtlkey}{#2}{%
+\DTLgadd{\pftotal}{\pftotal}{\point}%
+ }{}%
+ }%
+}%
+ }%
+ }%
+ }%
+}%
+
+\newcommand{\tableauprefix}[1]{%
+\begin{center}
+\begin{tabular}{|c|*{\DTLrowcount{PF}}{|c}||c|}\hline%
+ Partie & \DTLforeach*{PF}{\pf=pf}{\pf &} Total\\\hline
+ \DTLforeach*[\DTLisinlist{\partie}{#1}]{PARTIE}{\partie=partie}{%
+ \partie &
+ \DTLgadd{\gptotal}{0}{0}%
+ \DTLforeach*{PF}{\pf=pf}{%
+ \sumpfpartie{\partie}{\pf}%
+ \pftotal
+ \DTLgadd{\gptotal}{\pftotal}{\gptotal}%
+ \DTLgadd{\pftotal}{0}{0}%
+ &
+ }%
+ \gptotal\\
+ &
+ \DTLforeach*{PF}{\pf=pf}{%
+ \sumpfpartie{\partie}{\pf}%
+ \DTLdiv{\pctotal}{\pftotal}{\gptotal}%
+ \DTLmul{\pctotal}{100}{\pctotal}%
+ \DTLround{\pctotal}{\pctotal}{1}%
+ \pctotal \%%
+ \DTLgadd{\pftotal}{0}{0}%
+ &
+ }%
+ \\\hline
+ }%
+ Total &
+ \DTLgadd{\gptotal}{0}{0}%
+ \DTLforeach*{PF}{\pf=pf}{%
+ \sumpfpartie{#1}{\pf}%
+ \pftotal
+ \DTLgadd{\gptotal}{\pftotal}{\gptotal}%
+ \DTLgadd{\pftotal}{0}{0}%
+ &
+ }%
+ \gptotal\\
+ &%
+ \DTLforeach*{PF}{\pf=pf}{%
+ \sumpfpartie{#1}{\pf}%
+ \DTLdiv{\pctotal}{\pftotal}{\gptotal}%
+ \DTLmul{\pctotal}{100}{\pctotal}%
+ \DTLround{\pctotal}{\pctotal}{1}%
+ \pctotal \%%
+ \DTLgadd{\pftotal}{0}{0}%
+ &
+ }%
+ 100\%\\\hline
+\end{tabular}
+\end{center}
+}%
+
+\newcommand{\declarecompetence}[1]{%
+ \DTLnewrow{CS}%
+ \DTLnewdbentry{CS}{cs}{#1}%
+}
+
+\newcommand{\declareprefix}[1]{%
+ \DTLnewrow{PF}%
+ \DTLnewdbentry{PF}{pf}{#1}%
+}
+
+
+
+\endinput
+%%
+%% End of file `competences.sty'.