diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/esami/esami-xyz.cfg |
Initial commit
Diffstat (limited to 'macros/latex/contrib/esami/esami-xyz.cfg')
-rw-r--r-- | macros/latex/contrib/esami/esami-xyz.cfg | 352 |
1 files changed, 352 insertions, 0 deletions
diff --git a/macros/latex/contrib/esami/esami-xyz.cfg b/macros/latex/contrib/esami/esami-xyz.cfg new file mode 100644 index 0000000000..eb17b9b96e --- /dev/null +++ b/macros/latex/contrib/esami/esami-xyz.cfg @@ -0,0 +1,352 @@ +%% Package `esami' to use with LaTeX 2e +%% Copyright (C) 2008-2018 G. Messineo e S. Vassallo +%% +%% This is file `esami-xyz.cfg', +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% esami-xyz.cfg, 2018-05-06 %% +%% Copyright (C) 2008-2018 G. Messineo e S. Vassallo %% +%% %% +%% This program can be redistributed and/or modified %% +%% under the terms of the LaTeX Project Public License %% +%% Distributed from CTAN archives in directory %% +%% macros/latex/base/lppl.txt; either version 1 of the %% +%% License, or (at your option) any later version. %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%% other packages +\AtEndOfPackage{ +\usepackage{amsmath} +%========================================================% +% Some shortcuts and Italian maths % +%========================================================% + +\DeclareMathOperator{\sen}{sen} +\DeclareMathOperator{\tg}{tg} +\DeclareMathOperator{\arcsen}{arcsen} +\DeclareMathOperator{\arctg}{arctg} +\providecommand*{\dif}{\mathop{}\!\mathrm{d}} +\providecommand{\dlim}{\displaystyle \lim} +\providecommand{\me}{\mathrm{e}} +\providecommand{\D}{\displaystyle} + +\newenvironment{sistema}{%%% Taken from somewhere in GUIT forum to write equations systems +\left\lbrace\begin{array}{@{}l@{}}}% + {\end{array}\right.% + } + +\DeclareRobustCommand{\annu}[2]{_{%%% the annuity command + \def\arraystretch{0} + \setlength\arraycolsep{1pt} +\setlength\arrayrulewidth{.2pt} +\begin{array}[b]{c c} + \setlength\arraycolsep{1.5pt} + \begin{array} + [b]{r|}\hline + \\[\arraycolsep] + \scriptstyle #1 + \end{array}&\scriptstyle#2% +\end{array}% +}} + +\newcommand{\vect}[1]{\boldsymbol{#1}} + +%%% We prefer var greek math %%% + +\newcommand{\eps}{\varepsilon} +\newcommand{\oldtheta}{\theta} \renewcommand{\theta}{\vartheta} +\newcommand{\oldepsilon}{\epsilon} \renewcommand{\epsilon}{\varepsilon} +\newcommand{\oldrho}{\rho} \renewcommand{\rho}{\varrho} +\newcommand{\oldphi}{\phi} \renewcommand{\phi}{\varphi} + +%%%%%%%%%%%%%%%%%%%%%%%%% +} + +% +=============================+ +% | THE HEADING | +% +=============================+ + + \@ifpackagewith{esami}{prova}{% + \def\testa{\relax}} +{% +\def\testa{ +{\bfseries\sffamily\small +\begin{center} +\begin{tabular}{|lp{.33\textwidth}|lp{.3\textwidth}|lp{.3\textwidth}|} +\hline +\multicolumn{1}{|p{.33\textwidth}|}{\examname \newline \Data}&\multicolumn{1}{|p{.3\textwidth}|}{\profname } &\multicolumn{1}{|p{.3\textwidth}|}{\studsignname}\\[4ex] +\hline +\multicolumn{1}{|p{.33\textwidth}|}{\studlastname:}&\multicolumn{1}{|p{.3\textwidth}|}{\studfirstname:}&\multicolumn{1}{|p{.3\textwidth}|}{\studid:}\\[4ex] +\hline +\end{tabular}\\[3ex] +\end{center}} + } + } + +% +=============================+ +% | THE FOOTER | +% +=============================+ + +\ifes@solutions%%%solutions +\def\ps@esame{\let\@oddhead\@empty\def\@oddfoot{\hfil \textbf{\versionname\ +n. \thevers} -- %% +\textbf{\solutionsname} -- %% + \pagename\ \thepage +\hfil}\let\@evenhead\@empty\let\@evenfoot\@empty} +\else%%% no solutions + \def\ps@esame{ + \let\@oddhead\@empty\def\@oddfoot%% + {\hfil \textbf{\versionname\ n. \thevers\ + -- \pagename\ \thepage}\hfil}\let\@evenhead\@empty\let\@evenfoot\@empty} +\fi + +% +=============================+ +% | THE SOLUTION STRING | +% +=============================+ + +\def\ps@soltest{\let\@oddhead\@empty\def\@oddfoot{\hfil %\textbf{\versionname\ n. \thevers} -- %% +\textbf{\solutionsname} -- \pagename\ \thepage +\hfil}\let\@evenhead\@empty\let\@evenfoot\@empty} + +\ifes@solutions +\newcommand{\stringasol}{\newpage% +\vspace{.8cm} +\pagestyle{soltest} + \input{\jobname.sol.tex} % +} +\else +\newcommand{\stringasol}{\relax} +\fi + + +% +=============================+ +% | SOME INTRUCTIONS | +% +=============================+ + +\def\istruzionii{{ +\sffamily \textbf{INSTRUCTIONS} +\begin{itemize} + \item Write here your instructions + \item two è con accento + \item three è à é ò ù +\end{itemize}}} + +\def\istruzioniii{\setlength{\fboxsep}{1.5ex}\setlength{\fboxrule}{1.2pt}{\sffamily +\framebox{\parbox{\textwidth}{\textbf{Some other instructions.}}}}\\[3ex]} + + %\AtBeginDocument{ + %\renewcommand\stepverssols{\immediate\write\sols{{\string\large\string\textbf{\es@solutionname\ \versionname\ n. \thevers}}} +%} + %\renewcommand\closeverssols{ + %\immediate\write\sols{\string\vspace{5ex}}} +% } + +%%% THIS CODE IS TO CHECK the total score of exercises + + +\AtEndOfPackage{ +\newdimen\punteggio %% NEW 2016/04/11 to check the total score of exercises +\setlength{\punteggio}{0pt} +\def\@PTs#1{% +\addtolength{\punteggio}{#1 pt} %% NEW 2016/04/11 to check the total score of exercises +\global\punteggio=\punteggio + \gdef\es@PTs{#1}\ifx\es@PTs\@empty\gdef\es@PTs{1}\fi + \global\let\esPTs=\es@PTs\global\let\es@PTs=\@empty + \if\es@star*\else\PTs@Hook\fi +} +\renewcommand{\checkpoints}{% +\ifdim\punteggio=\punti pt %% NEW 2016/04/11 to check the total score of exercises + \else +\PackageError{esami}{\es@pointerrorshort} {\es@pointerrorlong} + \fi + \global\punteggio=0pt% + } + } + + +%%%% %%%%% HERE I GET RID OF THE MINIPAGE IN MULTIPLE CHOICE QUESTIONS +%\AtEndOfPackage{ +%\renewcommand{\selectrandomly}[1]{% +%\global\@probN=0\relax +%\firstpasstrue +%\tmp@quest=0 +%\input{#1}%%%%% +%\firstpassfalse%%% now prints the question +%\tmp@quest=0 +%\input{#1} +%\@ifundefined{base\nome}{\old@random=\number\randomi %%% 2015/01/16 +%\setrannum{\rnd@cnta}{1}{\@probN} +%\randomi=\number\old@random +%\expandafter\global\expandafter\edef\csname base\nome \endcsname{\number\rnd@cnta} +%}{} +%\FPeval\restotrentasei{round(\thevers+\thenomefile+1+base\nome-trunc((\thevers+\thenomefile+base\nome)/36:0)*36:0)} +%\ifcase\@probN\or +%\def\j@n{1}%%% just one variant +%\or%%% 2 variants +%\ifthenelse{\isodd{\thevers}}{\def\j@n{1}}{\def\j@n{2}} +%\or%%% 3 variants +%\def\j@n{\ifcase\restotrentasei\or 3\or 2\or 1\or 2\or 1\or 3\or 1\or 3\or 2\or 3\or 1\or 2\or 1\or 2\or 3\or 2\or 3\or 1\or 3\or 2\or 1\or 2\or 1\or 3\or 1\or 3\or 2\or 3\or 1\or 2\or 1\or 2\or 3\or 2\or 3\or 1\fi}% +%\or%%% 4 variants +%\def\j@n{\ifcase\restotrentasei\or 3\or 4\or 1\or 2\or 1\or 2\or 3\or 4\or 3\or 1\or 4\or 2\or 4\or 2\or 3\or 1\or 2\or 3\or 1\or 4\or 1\or 4\or 2\or 3\or 3\or 2\or 1\or 4\or 2\or 3\or 4\or 1\or 4\or 3\or 2\or 1\fi}% +%\or%%% 5 variants +%\def\j@n{\ifcase\restotrentasei\or 5\or 1\or 2\or 3\or 4\or 5\or 2\or 3\or 5\or 1\or 4\or 3\or 1\or 4\or 2\or 5\or 4\or 2\or 3\or 5\or 1\or 5\or 1\or 4\or 2\or 3\or 1\or 3\or 5\or 4\or 2\or 3\or 4\or 5\or 2\or 1\fi}% +%\or%%% 6 variants +%\def\j@n{\ifcase\restotrentasei\or 2\or 5\or 1\or 3\or 4\or 2\or 6\or 1\or 3\or 6\or 5\or 4\or 2\or 3\or 2\or 5\or 4\or 1\or 6\or 1\or 4\or 3\or 2\or 6\or 5\or 4\or 6\or 2\or 5\or 1\or 3\or 6\or 3\or 5\or 1\or 4\fi}% +%\or%%% 7 variants +%\def\j@n{\ifcase\restotrentasei\or 2\or 4\or 1\or 5\or 3\or 6\or 7\or 4\or 1\or 5\or 7\or 6\or 2\or 3\or 7\or 2\or 4\or 6\or 5\or 3\or 1\or 3\or 4\or 7\or 2\or 6\or 1\or 5\or 4\or 5\or 6\or 7\or 3\or 2\or 1\or 5\fi}% +%\or%%% 8 variants +%\def\j@n{\ifcase\restotrentasei\or 2\or 8\or 6\or 7\or 4\or 3\or 1\or 5\or 8\or 5\or 1\or 3\or 7\or 6\or 4\or 2\or 7\or 1\or 8\or 6\or 3\or 2\or 5\or 4\or 1\or 3\or 7\or 5\or 6\or 4\or 2\or 8\or 4\or 3\or 1\or 5\fi}% +%\else +%\FPeval\j@n{round(\thevers*\es@primo+base\nome+1-trunc((\thevers*\es@primo+base\nome)/\number\@probN:0)*\number\@probN:0)} +%\fi +%\def\probchosen{\problabel-q:\romannumeral\j@n} +%\ifes@test +%\csname @probi-\problabel-q:\romannumeral\j@n \endcsname \vspace{5mm} +%\Acapo +%\else +%\csname @probi-\problabel-q:\romannumeral\j@n \endcsname \vspace{5mm} +%\Acapo +%\fi +% \ifes@fillin +% \immediate\closeout\parametri +% \fi +%} +%} + +%%%% %%%%% HERE I GET RID OF THE MINIPAGE IN EXERCISES +%\AtEndOfPackage{ +%\renewenvironment{problem}[1][]{%%% it's like exercise, but with points +%\es@testfalse +%%\begin{minipage}{\linewidth} %%% new 2016/02/19 +%\renewcommand{\punti}{#1} +%\ifes@solutionsonly\else\examenddef\fi +%\begin{exercise} +%\ifes@prova +%\else +%\ifes@solutions +%\immediate\write\loe{\es@exercisename\space \theex@no:\space \probchosen} +%\fi +%\fi +%} +%{ +%\end{exercise} +%%\end{minipage}%%% new 2016/02/19 +%\ifes@param +%\immediate\closeout\params +%\fi} +% +%\renewenvironment{problem*}[1][]{\es@testfalse +%%\begin{minipage}{\linewidth} %%% new 2016/02/19 +%\renewcommand{\punti}{#1} +%\ifes@solutionsonly\else\examenddef\fi +%\begin{exercise*} +%\ifes@prova +%\else +%\ifes@solutions +%\immediate\write\loe{\es@exercisename\space \theex@no:\space \probchosen} +%\fi +%\fi +%} +%{ +%\end{exercise*} +%%\end{minipage}%%% new 2016/02/19 +%\ifes@param +%\immediate\closeout\params +%\fi } +%} +%\makeatletter + + + + +%\AtEndOfPackage{ +%\newcount\old@rando +%\renewcommand{\shuffle}[3][]{% %%% this command has been adapted from probsoln +%\old@rando=\number\randomi + %\randomi=\thenomefile + %\@shfctr=1\relax + %\whiledo{\@shfctr < 101}% + %{% + %\setrannum{\@shfA}{1}{#3}\setrannum{\@shfB}{1}{#3} + %\ifnum\@shfA=\@shfB + %\else + %\edef\@@tmpA{\csname#2\romannumeral\@shfA\endcsname}% + %\let\@tmpA=\@@tmpA + %\edef\@@tmpB{\csname#2\romannumeral\@shfB\endcsname}% + %\let\@tmpB=\@@tmpB + %\expandafter\xdef\csname#2\romannumeral\@shfA\endcsname{\@tmpB}% + %\expandafter\xdef\csname#2\romannumeral\@shfB\endcsname{\@tmpA}% + %\fi + %\advance\@shfctr by 1\relax + %\ifthenelse{\equal{#1}{}}{}{ + %\@shfA=0% + %\loop + %\advance\@shfA by1 + %\expandafter\xdef\csname#1\romannumeral\@shfA\endcsname{\csname#2\romannumeral\@shfA\endcsname} + %\ifnum\@shfA<#3 \repeat +%} + %}% +%\randomi=\number\old@rando +%} + +%\newcommand{\shufflees}[3][]{% %%% this command has been adapted from probsoln +%%\old@rando=\number\randomi +%% \randomi=404 + %\@shfctr=1\relax + %\whiledo{\@shfctr < 101}% + %{% + %\setrannum{\@shfA}{1}{#3}\setrannum{\@shfB}{1}{#3} + %\ifnum\@shfA=\@shfB + %\else + %\edef\@@tmpA{\csname#2\romannumeral\@shfA\endcsname}% + %\let\@tmpA=\@@tmpA + %\edef\@@tmpB{\csname#2\romannumeral\@shfB\endcsname}% + %\let\@tmpB=\@@tmpB + %\expandafter\xdef\csname#2\romannumeral\@shfA\endcsname{\@tmpB}% + %\expandafter\xdef\csname#2\romannumeral\@shfB\endcsname{\@tmpA}% + %\fi + %\advance\@shfctr by 1\relax + %\ifthenelse{\equal{#1}{}}{}{ + %\@shfA=0% + %\loop + %\advance\@shfA by1 + %\expandafter\xdef\csname#1\romannumeral\@shfA\endcsname{\csname#2\romannumeral\@shfA\endcsname} + %\ifnum\@shfA<#3 \repeat +%} + %}% +%%\randomi=\number\old@rando +%} + +%\renewcommand{\esercizidb}[1]{ + %\icount=0 +%\input{#1.tex}% +%\i@sh=0 +%\loop +%\advance\i@sh by1 +%\expandafter\edef\csname ftemp\romannumeral\i@sh \endcsname {\romannumeral\i@sh} +%\ifnum\i@sh <\number\icount +%\repeat +%\shufflees{ftemp}{\icount} +%\setcounter{n@par}{1} +%\io=\icount +%\loop +%\ifes@test +%\begin{minipage}{.95\linewidth} +%\fi +%\ifes@shuffleQuestions +%\csname prbl\csname ftemp\romannumeral\io\endcsname\endcsname +%\else +%\csname prbl\romannumeral\io \endcsname +%\fi +%\def\probchosen{\problabel-\probnumber} +%\csname @probi-\problabel-\probnumber \endcsname +%\ifes@test + %\vspace{5mm}\end{minipage} + %\Acapo +%\vspace{4mm} + %\fi + %\advance\io by-1 + %\ifnum\io > 0 \repeat + %\par} + %} +%\makeatother |