diff options
author | Karl Berry <karl@freefriends.org> | 2017-08-05 20:57:05 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-08-05 20:57:05 +0000 |
commit | 19f23660ffb017d26da264466d6ad957c800bd14 (patch) | |
tree | d24ba9beb9b3d1a152d19e01c7310a1128dbaab5 /Master/texmf-dist | |
parent | 180ddd3112dacd2d1cd160d1ccdd872050f0e635 (diff) |
cesenaexam (5aug17)
git-svn-id: svn://tug.org/texlive/trunk@44960 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/cesenaexam/Makefile | 44 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/cesenaexam/README.md | 34 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/cesenaexam/cesenaexam.pdf | bin | 0 -> 308888 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/cesenaexam/cesenaexam_example.pdf | bin | 0 -> 202507 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/cesenaexam/cesenaexam_example.tex | 353 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/cesenaexam/cesenaexam.dtx | 660 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/cesenaexam/cesenaexam.ins | 87 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/cesenaexam/cesenaexam.cls | 285 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/cesenaexam/cesenaexam.sty | 218 |
9 files changed, 1681 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/cesenaexam/Makefile b/Master/texmf-dist/doc/latex/cesenaexam/Makefile new file mode 100644 index 00000000000..914ddb5a720 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cesenaexam/Makefile @@ -0,0 +1,44 @@ +.PHONY : example cls all clean clsfast ctan + +all: cls example clean + +clsfast: + cp cesenaexam.dtx ./build/cesenaexam.dtx + cd ./build && \ + pdflatex cesenaexam.dtx && \ + rm cesenaexam.dtx + +cls: + cp cesenaexam.dtx ./build/cesenaexam.dtx + cd ./build && \ + latexmk -pdf -pdflatex="pdflatex -interaction=nonstopmode" cesenaexam.dtx && \ + makeindex -s gglo.ist -o cesenaexam.gls cesenaexam.glo && \ + makeindex -s gind.ist -o cesenaexam.ind cesenaexam.idx && \ + latexmk -pdf -pdflatex="pdflatex -interaction=nonstopmode" cesenaexam.dtx && \ + rm cesenaexam.dtx && \ + cp README.md ../ + +example: + cp cesenaexam_example.tex ./build/cesenaexam_example.tex + cp -r images ./build/ + cd ./build && \ + latexmk -pdf -pdflatex="pdflatex -interaction=nonstopmode" cesenaexam_example.tex && \ + rm cesenaexam_example.tex &&\ + rm -r images + +clean: + cd ./build && \ + rm -r *.aux *_latexmk *.fls *.glo *.gls *.hd *.idx *.ilg *.ind *.log *.out *.toc README.md + +ctan: + mkdir cesenaexam + cp Makefile ./cesenaexam/ + cp README.md ./cesenaexam/ + cp cesenaexam.dtx ./cesenaexam/ + cp ./build/cesenaexam.pdf ./cesenaexam/ + cp ./build/cesenaexam.ins ./cesenaexam/ + cp ./build/cesenaexam.cls ./cesenaexam/ + cp ./build/cesenaexam.sty ./cesenaexam/ + cp cesenaexam_example.tex ./cesenaexam/ + cp ./build/cesenaexam_example.pdf ./cesenaexam/ + zip -r9 cesenaexam.zip ./cesenaexam diff --git a/Master/texmf-dist/doc/latex/cesenaexam/README.md b/Master/texmf-dist/doc/latex/cesenaexam/README.md new file mode 100644 index 00000000000..a8eb8c113d9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cesenaexam/README.md @@ -0,0 +1,34 @@ +# cesenaexam LaTeX class +``` +---------------------------------------------------------------- +cesenaexam --- class file to typeset exams +E-mail: alexpacini90@gmail.com +Released under the LaTeX Project Public License v1.3c or later +See http://www.latex-project.org/lppl.txt +Contributions to this repository as pull requests are welcome! +---------------------------------------------------------------- +``` + +This LaTeX document class has been designed to typeset exams. +To make the ```.cls``` from the ```.dtx``` one, just run +```make```. +Read the manual for more informations. + +The processed files ready to be included can be downloaded from +the following links: + +[Download cesenaexam Manual](https://alexpacini.github.io/cesenaexam/build/cesenaexam.pdf) + +[Download cesenaexam Example](https://alexpacini.github.io/cesenaexam/build/cesenaexam_example.pdf) + +<a href="https://alexpacini.github.io/cesenaexam/build/cesenaexam.cls" download="cesenaexam.cls">Download cesenaexam Class File</a> + +To use the class file, just drop it in the same folder as the ```.tex``` source file and use ```cesenaexam``` in the +```\documentclass[a4paper, 10pt]{cesenaexam}``` or download the last published version from the archive below. + +## [Tag Archive](https://github.com/alexpacini/cesenaexam/tags) +- [2017-08-04 - cesenaexam v0.2](https://github.com/alexpacini/cesenaexam/archive/v0.2.zip) + + + + diff --git a/Master/texmf-dist/doc/latex/cesenaexam/cesenaexam.pdf b/Master/texmf-dist/doc/latex/cesenaexam/cesenaexam.pdf Binary files differnew file mode 100644 index 00000000000..15c9665f3d4 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cesenaexam/cesenaexam.pdf diff --git a/Master/texmf-dist/doc/latex/cesenaexam/cesenaexam_example.pdf b/Master/texmf-dist/doc/latex/cesenaexam/cesenaexam_example.pdf Binary files differnew file mode 100644 index 00000000000..410bc3d5b2a --- /dev/null +++ b/Master/texmf-dist/doc/latex/cesenaexam/cesenaexam_example.pdf diff --git a/Master/texmf-dist/doc/latex/cesenaexam/cesenaexam_example.tex b/Master/texmf-dist/doc/latex/cesenaexam/cesenaexam_example.tex new file mode 100644 index 00000000000..45e4bb46780 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cesenaexam/cesenaexam_example.tex @@ -0,0 +1,353 @@ +\documentclass[a4paper, 10pt]{cesenaexam} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +%\usepackage{lmodern} +\usepackage[italian]{babel} +\usepackage{booktabs} +\usepackage{cite} +\graphicspath{{./images/}} +\usepackage{amsfonts, amssymb, amsmath, textcomp, gensymb, mathtools} +\interdisplaylinepenalty=2500 +\usepackage{array} +\usepackage{url} +\usepackage{microtype, datetime} +\usepackage{color, soul} +\usepackage[capitalise]{cleveref} +\usepackage{siunitx} + +\newcommand{\R}{\mathbb{R}} +\newcommand{\C}{\mathbb{C}} +\renewcommand{\Re}{\operatorname{Re}} +\renewcommand{\Im}{\operatorname{Im}} + +%% +% Set the title and parts here +%% +\title{\bf Elettrotecnica - Ing. Aerospaziale, Ing. Meccanica \\ + \bf A.A. 2016/17 - Prova n.3 - 21 luglio 2017} + +\examparts{\bfseries Parti Svolte: \hspace{1cm}% + E1 \boxempty \hspace{1cm}% + E2 \boxempty \hspace{1cm}% + D \boxempty} + +\begin{document} +\maketitle{Cognome}{Nome}{Matricola}{Firma}{1} + +\examsection*{Esercizio 1}{11 punti} +\examtwoblocks{0.385\textwidth}{0.58\textwidth}{ +\begin{tikzpicture} +\draw (0,0) +node [label={below:$D$}] {} +to [short, *-] ++(2.5,0) +to [R, l=$R_4$, i_=$I_4$] ++(0,3) +node [label={right:$C$}] {} coordinate (C) +-- ++(0,1.5) +to [controlled voltage source, v_=$\mu V_4$] ++(-5,0) +-- ++(0,-1.5) +node [label={left:$A$}] {} coordinate (A) +to [short, *-, i={\relax}] ++(0.5,0) ++(-0.5,0) +to [R, l=$R_1$, -*] ++(2.5,0) +node [label={above:$B$}] {} coordinate (B) +to [controlled current source, l=$\alpha I_4$, i_={\relax}, -*] ++(2.5,0) +; +\draw (0,0) +to [V, v_=$V_{G3}$] ++(0,1.5) +to [R, l=$R_3$] ($(B) - (0,0.5)$) +to [short, i<={\relax}] (B) +; +\draw (0,0) +-- ++(-2.5,0) +to [R, l=$R_2$, i={\relax}] (A) +; +\end{tikzpicture} +}{% +Supponendo noti i parametri dei componenti, illustrare il procedimento di risoluzione del circuito rappresentato in figura con il {\bf metodo delle tensioni di nodo}:% +\begin{enumerate} +\item indicare quali grandezze vengono scelte come incognite del sistema risolvente; +\item scrivere le espressioni della matrice dei coefficienti e del vettore dei termini noti del sistema risolvente; +\item scrivere le espressioni in funzione delle incognite indicate al punto 1 delle correnti dei resistori; +\item scrivere le espressioni in funzione delle incognite e delle correnti determinate al punto 3 delle potenze erogate dai generatori. +\end{enumerate}% +} + +\examsection*{Esercizio 2}{11 punti} +\examtwoblocks{0.65\textwidth}{0.32\textwidth}{ +\begin{tikzpicture} +\draw (0,0) coordinate (ref) +to [V, v=$V_G$] ++(0,1.5) +to [ european resistor, l=$\mathbf{Z}_G$] ++(0,1.5) coordinate (topZG) +-- ++(1.5,0) coordinate (T1top) +(T1top |- 0,0) coordinate (T1bot) +-- (0,0) +; +\newlength{\myRT}\pgfmathsetlength{\myRT}{0.5cm} +\coordinate (T2bot) at ($(1.8,0) + (0.8*\myRT,0)$); +\coordinate (T2top) at (T2bot |- 0,3); +\draw (T1bot) +-- ($(T1bot)!0.5!(T1top) - (0,\myRT)$) coordinate (T1mtop); +\draw (T2bot) +-- ($(T2bot)!0.5!(T2top) - (0,\myRT)$) coordinate (T2mtop); +\draw [thick] (T1mtop) +arc [start angle=-90, end angle=90, radius=\myRT] coordinate (T1ptop); +\draw [thick] (T2mtop) +arc [start angle=-90, end angle=-270, radius=\myRT] coordinate (T2ptop); +\node (Tname) [anchor=south] at ($(T1ptop) + (0.8\myRT,0)$) {$k$}; +\draw (T1ptop) to (T1top); +\draw (T2ptop) to (T2top); +\draw (T2top) +to [european resistor, l=$X$] ++(2,0) coordinate (Xright); +\draw (Xright) +-- ++(0,0.5) +to [short,i>^=$i_1$] ++(0.5,0) +to [R, l=$R_1$] ++(1,0) +to [L, l=$L_1$] ++(1.5,0) +-- ++(0,-1) +to [controlled current source, i<=\relax, l=$\alpha i_1$] ++(-3,0) +to [short, -*] (Xright) +; +\draw ($(Xright)+(3,0)$) +to [short, *-] ++(1,0) +to [short, -*] ++(0,-0.5) coordinate (R2C2centop) +to [short] ++(0.5,0) +to [C, l_=$C_2$] ++(0,-2) +to [short] ++(-1.3,0) +to [R, l=$R_2$] ++(0,2) +-- ++(0.8,0) +; +\draw (T2bot) +-- (T2bot -| R2C2centop) +to [short, -*] ++(0,0.5) +; +\draw ($(T2bot) + (0,0.5)$) +to [open, v=$v$] ($(T2bot) + (0,2.5)$); +\draw [dashed] ($(Xright) + (-0.2,1.4)$) rectangle (9.2,-0.2); +\end{tikzpicture} +}{\begin{tabular}{ll}% +$R_1 =$ \SI{4}{\ohm} & $L_1 =$ \SI{4}{mH} \\ +$R_2 =$ \SI{20}{\ohm} & $C_2 =$ \SI{100}{\mu F} \\ +$\alpha =$ \si{3} \\ +\multicolumn{2}{l}{$V_G =$ $\mathrm{120\sqrt{5} \cos(\omega t + \phi)}$ \si{V}} \\ +$\cos \phi = \mathrm{\sqrt{5}/5}$ & $\sin \phi = \mathrm{-2\sqrt{5}/5}$ \\ +$\omega =$ \SI{100}{rad/s} \\ +\multicolumn{2}{l}{$\mathbf{Z}_G = \mathrm{180 + 180j}$ \si{\ohm}} +\end{tabular}% +} +Il circuito rappresentato in figura è in condizioni di regime sinusoidale. Determinare: +\begin{enumerate} +\item l’impedenza equivalente, $\mathbf{Z}_{eq}$, del bipolo racchiuso dalla linea tratteggiata; +\item la potenza disponibile, $P_d$, del bipolo formato dal generatore $V_G$ e dall’impedenza $\mathbf{Z}_{G}$; +\item i valori da attribuire al rapporto di trasformazione $k$ e alla reattanza $X$ affinché la potenza attiva assorbita da $\mathbf{Z}_{eq}$ sia uguale a $P_d$; +\item l’espressione della tensione $v(t)$ (con i valori di $k$ e $X$ determinati al punto precedente). +\end{enumerate} + +\newpage +\examsection*{Domande}{10 punti} +\begin{enumerate} +\item \examtwoblockstop{9cm}{6cm}{ + \begin{tikzpicture} + \node (text) [align=justify, text width=0.97\textwidth] {% + Le tensioni concatenate costituiscono una terna diretta di valore efficace \SI{866}{V}. + Determinare il valore efficace $I$ delle correnti di linea e il valore efficace $I_{\Delta}$ delle correnti nei resistori $R_2$. (\textit{2 punti})\\ + $R_1 =$ \SI{5}{\ohm}, $R_2 =$ \SI{30}{\ohm}, $\omega L =$ \SI{10}{\ohm}. + }; + \node (I) [draw, anchor=north west, minimum width=1cm, minimum height = 1cm] at (text.south west) {$I$}; + \node (I box) [draw, anchor=north west, minimum width=3cm, minimum height = 1cm] at ($(I.north east)+(-\pgflinewidth,0)$) {}; + \node (Idelta) [draw, anchor=north west, minimum width=1cm, minimum height = 1cm] at ($(I box.north east)+(-\pgflinewidth,0)$) {$I_{\Delta}$}; + \node (Idelta box) [draw, anchor=north west, minimum width=3cm, minimum height = 1cm] at ($(Idelta.north east)+(-\pgflinewidth,0)$) {}; + \end{tikzpicture}% + }{% + \begin{tikzpicture}[scale=0.7, transform shape] + \draw (0,0) + node [label={left:$1$}] {} + to [short, *-, i=\relax] ++(1,0) + to [R, l=$R_1$] ++(1,0) coordinate (L1p) + -- ++(2.5,0) coordinate (R21) + to [R, l=$R_2$, *-] ++(2,0) coordinate + -- ++(0,-0.5) coordinate (R21p) + to [short, i=\relax] (R21p -| R21) + to [short, -*] ++(0,-1) coordinate (R22) + to [R, l=$R_2$, *-] ++(2,0) + -- ++(0,-0.5) coordinate (R22p) + to [short, i=\relax] (R22p -| R22) + to [short, -*] ++(0,-1) coordinate (R23) + to [R, l=$R_2$, *-] ++(2,0) + -- ++(0.5,0) + to [short, i=\relax] ++(0,4) + -- ++(-2.5,0) + -- ++(0,-1) + ; + \draw (R22) + -- ++(-2.5,0) + to [R, l_=$R_1$] ++(-1,0) + to [short, i<=\relax, -*] ++(-1,0) + node [label={left:$2$}] {} + ; + \draw (R23) + -- ++(-2.5,0) + to [R, l_=$R_1$] ++(-1,0) + to [short, i<=\relax, -*] ++(-1,0) + node [label={left:$3$}] {} + ; + \draw ($(L1p)!0.1!(R21)$) + to [short, *-] ++(0,-3.5) + to [L, l_=$L$] ++(0,-1) + -- ++(0,-0.5) coordinate (L1m) + ; + \draw ($(L1p)!0.5!(R21) + (0,-1.5)$) + to [short, *-] ++(0,-2) + to [L, l_=$L$] ++(0,-1) + -- ++(0,-0.5) coordinate (L2m) + ; + \draw ($(L1p)!0.9!(R21) + (0,-3)$) + to [short, *-] ++(0,-0.5) + to [L, l_=$L$] ++(0,-1) + -- ++(0,-0.5) coordinate (L3m) + ; + \draw (L1m) + to [short, -*] (L2m) + -- (L3m) + ; + \end{tikzpicture}} +\item \examtwoblockstop{10cm}{5cm}{ + \begin{tikzpicture} + \node (text) [align=justify, text width=0.97\textwidth] {% + Per $t<0$ il circuito è in condizioni di regime stazionario e l’interruttore è chiuso. + All’istante $t=0$ si apre l’interruttore. + Determinare l’espressione di $i_{L}(t)$ per $t>0$. + (\textit{2 punti}) + }; + \node (iL) [draw, anchor=north west, minimum width=1cm, minimum height = 1cm] at (text.south west) {$i_{L} (t)$}; + \node (iL box) [draw, anchor=north west, minimum width=7cm, minimum height = 1cm] at ($(iL.north east)+(-\pgflinewidth,0)$) {}; + \end{tikzpicture}% + }{% + \begin{tikzpicture} [scale=0.8, transform shape] + \draw (0,0) coordinate (circuit north west) + to [short, -*] ++(0,-1) + to [R, l=$R$] ++(0,-2) + -- ++(2,0) + to [short, *-] ++(2,0) + to [L, -*, i_<=$i_L$, l=$L$] ++(0,2) + to [R, -*, l_=$R$] ++(-2,0) coordinate (IGp) + to [R, -*, l_=$R$] ++(-2,0); + \draw (IGp) to [I, i<=\relax, l=$I_G$] ++(0,-2); + \draw (circuit north west) -- ++(1.5,0) coordinate (Swm); + \coordinate (Swp) at ($(Swm)+(1,0)$); + \draw (Swp) + -- ++(1.5,0) + -- ++(0,-1) + ; + \node [circ] at (Swm){}; + \node [circ] at (Swp){}; + \draw [thick] (Swm) -- (Swp); + \draw [densely dotted,thin] let \p1 = ($(Swp)-(Swm)$) in (Swm) -- ++(30:({veclen(\x1,\y1)});); + \coordinate (Swmiddown) at ($(Swm)!0.5!(Swp) + (0,-0.2)$); + \draw [->, switcharc] (Swmiddown) arc [start angle=-10, end angle=60, radius=0.6cm]; + \end{tikzpicture}} +\item \examtwoblockstop{11cm}{4cm}{ + \begin{tikzpicture} + \node (text) [align=justify, text width=0.97\textwidth] {% + Il carico trifase rappresentato nella figura viene alimentato mediante una terna simmetrica di tensioni concatenate. + Se la potenza assorbita quando l’interruttore è chiuso è $P_c =$ \SI{3}{\kW}, qual è la potenza $P_a$ assorbita con l’interruttore aperto? (\textit{2 punti}) + }; + \node (Pa) [draw, anchor=north west, minimum width=1cm, minimum height = 1cm] at (text.south west) {$P_{a}$}; + \node (Pa box) [draw, anchor=north west, minimum width=7cm, minimum height = 1cm] at ($(Pa.north east)+(-\pgflinewidth,0)$) {}; + \end{tikzpicture} + }{ + \begin{tikzpicture}[scale=0.8, transform shape] + \draw (0,0) + node [label={left:$1$}] {} + to [short, *-, i=\relax] ++(1,0) coordinate (R1p); + \draw (0,1.5) + node [label={left:$2$}] {} + to [short, *-, i=\relax] ++(1,0) coordinate (R2p); + \draw (0,3) + node [label={left:$3$}] {} + to [short, *-, i=\relax] ++(1,0) coordinate (R3p); + \draw (R1p) + to [short] ++(0.5,0) + to [R, l=$R$] ++(1,0) + to [short] ++(0.5,0) + to [short, -*] ++(0,1) + ; + \draw (R2p) + to [short, *-] ++(0,0.5) + -- ++(0.5,0) + to [R, l=$2R$] ++(1,0) + to [short] ++(0.5,0) + -- ++(0,-0.2) coordinate (Swm) + ; + \draw (R2p) + to [short] ++(0,-0.5) + -- ++(0.5,0) + to [R, l=$2R$] ++(1,0) + to [short] ++(0.5,0) + -- ++(0,+0.2) coordinate (Swp) + ; + \draw (R3p) + to [short] ++(0.5,0) + to [R, l=$R$] ++(1,0) + to [short] ++(0.5,0) + to [short, -*] ++(0,-1) + ; + \node [circ] at (Swm){}; + \node [circ] at (Swp){}; + \draw [thick] (Swm) -- (Swp); + \draw [densely dotted] let \p1 = ($(Swp)-(Swm)$) in (Swm) -- ++(-60:({veclen(\x1,\y1)});); + \coordinate (Swmiddown) at ($(Swm)!0.5!(Swp) + (-0.1,0)$); + \draw [->, switcharc] let \p1 = ($(Swp)-(Swm)$) in (Swmiddown) arc [start angle=-100, end angle=-45, radius=({veclen(\x1,\y1)})]; + \end{tikzpicture} + } +\item \examtwoblockstop{11cm}{5cm}{ + \begin{tikzpicture} + \node (text) [align=justify, text width=0.97\textwidth] {% + Si considerino due avvolgimenti di $N_1$ e $N_2$ spire disposti su un nucleo toroidale avente raggio medio $r$ e sezione $S$. + Se il raggio $r$ viene raddoppiato, è possibile mantenere invariato il coefficiente di mutua induzione dei due avvolgimenti: (\textit{1 punto}) + }; + \node (choices) [anchor=north west, text width=0.97\textwidth] at (text.south west) {% + $\square \;$ dimezzando il numero di spire di entrambi gli avvolgimenti\\ + $\square \;$ raddoppiando il numero di spire di entrambi gli avvolgimenti\\ + $\square \;$ raddoppiando il numero di spire di uno degli avvolgimenti\\ + $\square \;$ raddoppiando il valore delle correnti nei due avvolgimenti}; + \end{tikzpicture} + }{ + \begin{tikzpicture} + \node (image) {\includegraphics[width=0.9\textwidth]{toroid_mutual}}; + \end{tikzpicture} + } +\item \examoneblocktop{15cm}{ + \begin{tikzpicture} + \node (text) [align=justify, text width=0.97\textwidth] {% + L’area racchiusa da un ciclo di isteresi nel piano H-B corrisponde: (\textit{1 punto}) + }; + \node (choices) [anchor=north west, text width=0.97\textwidth] at (text.south west) {% + $\square \;$ alla potenza dissipata in un ciclo di isteresi\\ + $\square \;$ alla densità volumetrica di energia dissipata in un ciclo di isteresi\\ + $\square \;$ all’energia accumulata nel campo magnetico in un ciclo di isteresi}; + \end{tikzpicture} + } +\item \examoneblocktop{15cm}{ + \begin{tikzpicture} + \node (text) [align=justify, text width=0.97\textwidth] {% + In condizioni di risonanza il fattore di potenza di un bipolo RLC serie è: (\textit{1 punto}) + }; + \node (choices) [anchor=north west, text width=0.97\textwidth] at (text.south west) {% + $\square \;$ nullo\\ + $\square \;$ minimo\\ + $\square \;$ massimo}; + \end{tikzpicture} + } +\item \examoneblocktop{15cm}{ + \begin{tikzpicture} + \node (text) [align=justify, text width=0.97\textwidth] {% + Il valore medio della potenza istantanea reattiva assorbita da un bipolo passivo in regime sinusoidale: (\textit{1 punto}) + }; + \node (choices) [anchor=north west, text width=0.97\textwidth] at (text.south west) {% + $\square \;$ è sempre $\geq$ 0 \\ + $\square \;$ è sempre $\leq$ 0 \\ + $\square \;$ è sempre nullo \\ + $\square \;$ è $\geq$ 0 per i bipoli RL e $\leq$ 0 per i bipoli RC}; + \end{tikzpicture} + } +\end{enumerate} +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/cesenaexam/cesenaexam.dtx b/Master/texmf-dist/source/latex/cesenaexam/cesenaexam.dtx new file mode 100644 index 00000000000..a1ee7241c20 --- /dev/null +++ b/Master/texmf-dist/source/latex/cesenaexam/cesenaexam.dtx @@ -0,0 +1,660 @@ +% \iffalse meta-comment +% !TEX program = pdfLaTeX +%<*internal> +\iffalse +%</internal> +%<*readme> +# cesenaexam LaTeX class +``` +---------------------------------------------------------------- +cesenaexam --- class file to typeset exams +E-mail: alexpacini90@gmail.com +Released under the LaTeX Project Public License v1.3c or later +See http://www.latex-project.org/lppl.txt +Contributions to this repository as pull requests are welcome! +---------------------------------------------------------------- +``` + +This LaTeX document class has been designed to typeset exams. +To make the ```.cls``` from the ```.dtx``` one, just run +```make```. +Read the manual for more informations. + +The processed files ready to be included can be downloaded from +the following links: + +[Download cesenaexam Manual](https://alexpacini.github.io/cesenaexam/build/cesenaexam.pdf) + +[Download cesenaexam Example](https://alexpacini.github.io/cesenaexam/build/cesenaexam_example.pdf) + +<a href="https://alexpacini.github.io/cesenaexam/build/cesenaexam.cls" download="cesenaexam.cls">Download cesenaexam Class File</a> + +To use the class file, just drop it in the same folder as the ```.tex``` source file and use ```cesenaexam``` in the +```\documentclass[a4paper, 10pt]{cesenaexam}``` or download the last published version from the archive below. + +## [Tag Archive](https://github.com/alexpacini/cesenaexam/tags) +- [2017-08-04 - cesenaexam v0.2](https://github.com/alexpacini/cesenaexam/archive/v0.2.zip) + +%</readme> +%<*internal> +\fi +\def\nameofplainTeX{plain} +\ifx\fmtname\nameofplainTeX\else + \expandafter\begingroup +\fi +%</internal> +%<*install> +\input docstrip.tex +\keepsilent +\askforoverwritefalse +\preamble +---------------------------------------------------------------- +cesenaexam --- class file to typeset exams +E-mail: alexpacini90@gmail.com +Released under the LaTeX Project Public License v1.3c or later +See http://www.latex-project.org/lppl.txt +Contributions to this repository as pull requests are welcome! +---------------------------------------------------------------- + +This LaTeX document class has been designed to typeset exams. +To make the .cls from the .dtx one, just run +```make```. + +\endpreamble +\postamble + +Copyright (C) 2017 by Alex Pacini <alexpacini90@gmail.com> + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License (LPPL), either +version 1.3c of this license or (at your option) any later +version. The latest version of this license is in the file: + +http://www.latex-project.org/lppl.txt + +This work is "maintained" (as per LPPL maintenance status) by +Alex Pacini. + +This work consists of the file cesenaexam.dtx +and the derived files cesenaexam.ins, + cesenaexam.pdf and + cesenaexam.cls. + +\endpostamble +\usedir{tex/latex/cesenaexam} +\generate{ + \file{\jobname.cls}{\from{\jobname.dtx}{class,classpackage}} +} +\generate{ + \file{\jobname.sty}{\from{\jobname.dtx}{package,classpackage}} +} +%</install> +%<install>\endbatchfile +%<*internal> +\usedir{source/latex/cesenaexam} +\generate{ + \file{\jobname.ins}{\from{\jobname.dtx}{install}} +} +\nopreamble\nopostamble +\usedir{doc/latex/cesenaexam} +\generate{ + \file{README.md}{\from{\jobname.dtx}{readme}} +} +\ifx\fmtname\nameofplainTeX + \expandafter\endbatchfile +\else + \expandafter\endgroup +\fi +%</internal> +%<*class> +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{cesenaexam}[2017/08/03 - v0.2 Cesena Exam] +\def\cesenaexamversion{0.2} +%</class> +%<*package> +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{cesenaexam}[2017/08/03 - v0.2 Cesena Exam] +\def\cesenaexamversion{0.2} +%</package> +%<*driver> +\documentclass{ltxdoc} + +\makeatletter% Do not index foreign macros: tex.stackexchange.com/questions/46085 +\def\SpecialMainIndex#1{% +\@bsphack +\immediate\write\@auxout{% +\global\noexpand\expandafter\let\noexpand\csname MAIN:\noexpand\string\string#1\endcsname\noexpand\@empty}% +\SpecialIndex@{#1}{\encapchar main}\@esphack} +\def\SpecialIndex#1{% +\@bsphack + \expandafter\ifx\csname MAIN:\string#1\endcsname\@empty + \special@index{\expandafter\@gobble + \string#1\actualchar + \string\verb\quotechar*\verbatimchar\string#1\verbatimchar}% + \fi + \@esphack} +\makeatother + +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +%\usepackage{lmodern} +\usepackage[numbered]{hypdoc} +\usepackage{booktabs} +\usepackage{amsfonts, amssymb, amsmath, textcomp, gensymb, mathtools} +\interdisplaylinepenalty=2500 +\usepackage{array} +\usepackage{url} +\usepackage{microtype, datetime} +\usepackage{color, soul} +\let\oldsection\section +\let\oldmaketitle\maketitle +\usepackage{\jobname} +\let\section\oldsection +\let\maketitle\oldmaketitle +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{\jobname.dtx} +\end{document} +%</driver> +% \fi +% +% \def\fileversion{v0.2} +% \def\filedate{2017/08/03} +% +%\title{^^A +% \textsf{cesenaexam} --- class file to typeset exams\thanks{^^A +% This file describes version \fileversion, last revised \filedate.^^A +% }^^A +%} +%\author{^^A +% Alex Pacini\thanks{E-mail: alexpacini90@gmail.com}^^A +%} +%\date{Released \filedate} +% +%\maketitle +%\tableofcontents +% +%\changes{v0.2}{2017/08/03}{First public release} +% +% \section{How to make} +% This class is also provided with a Makefile and an example document. +% +% Just execute the Makefile with \verb|make| and the class file \verb|cesenaexam.cls|, the package file \verb|cesenaexam.sty|, this manual \verb|cesenaexam.pdf| and the example document \verb|cesenaexam_example.pdf| will be produced. +% +% \section{The cesenaexam document class} +% \verb|\documentclass[a4paper, 10pts]{cesenaexam}|\\ +% \newline +% The document class for the \texttt{cesenaexam}, which has few additional optional arguments listed in the following: +% \begin{itemize} +% \item \oarg{boxed}: Draws boxes around blocks. +% The red box is the tikz bounding box, the black one is the minipage bounding box. +% Useful for the layout of the page. +% \item \oarg{times}: Sets a times font. +% \item \oarg{noversion}: Hides the footer. +% \item \oarg{left=2cm, right=2cm, top=2.5cm, bottom=2.5cm}: Set the page margins using the geometry package, the defaults are indicated here in the options. +% \end{itemize} +% +%\section{The cesenaexam package} +% \verb|\usepackage{cesenaexam}|\\ +% \newline +% \noindent \textcolor{red}{\bfseries Not intended to be used with the class which already defines all the macros} +% +% All the macros are defined also without the class in a standalone package, which is used to make this manual. +% There could be other uses, but those are not guaranteed. +% +%\StopEventually{^^A +%\PrintChanges +%\PrintIndex +%} +% +% \iffalse +%<*classpackage> +% \fi +% +% \section[Class and package settings and definitions]{{\color{red}Class} and {\color{blue}package} settings and definitions} +% +% In both {\color{red}\verb|cesenaexam.cls|} and {\color{blue}\verb|cesenaexam.sty|}. +% \begin{macrocode} +%% Custom options +\RequirePackage{etoolbox} +%% I decided to use the etoolbox ifbool because the if else fi +%% has issues with docstrip and needs a dirty hack +%% tex.stackexchange.com/questions/162762 +%% No version option +\newbool{exam@version}\booltrue{exam@version} +%% Box the blocks option +\newbool{exam@boxed}\boolfalse{exam@boxed} +%% Times font option +\newbool{exam@times}\boolfalse{exam@times} +% \end{macrocode} +%\iffalse +%</classpackage> +%<*class> +%\fi +% \noindent +% Only in {\color{red}\verb|cesenaexam.cls|}. +% \begin{macrocode} +%% No version option +\DeclareOption{noversion}{\boolfalse{exam@version}} +%% Box the blocks option +\DeclareOption{boxed}{\booltrue{exam@boxed}} +%% Times font option +\DeclareOption{times}{\booltrue{exam@times}} +%% This class extends the article class +%% Read all the documentclass options; pass them to article, +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} +\ProcessOptions \relax +%% +\LoadClass{article} +%% +\RequirePackage{pgfkeys} +\RequirePackage{pgfopts} +%% +%% Options to pass to geometry using pgfopts +\pgfkeys{ + /myexamgeometry/.is family, /myexamgeometry, + left/.default = 2cm, + right/.default = 2cm, + top/.default = 2.5cm, + bottom/.default = 2.5cm, + left/.store in =\exam@geometryleft, + right/.store in =\exam@geometryright, + top/.store in =\exam@geometrytop, + bottom/.store in =\exam@geometrybottom, + left, right, bottom, top, +} +\ProcessPgfOptions{/myexamgeometry} +%% +%% Page layout, check if the boxed option is used to load +%% geometry with the showframe option +\ifbool{exam@boxed}{% +\RequirePackage[showframe,% +left=\exam@geometryleft, right=\exam@geometryright,% +top=\exam@geometrytop,bottom=\exam@geometrybottom]{geometry}% +}{% +\RequirePackage[left=\exam@geometryleft, right=\exam@geometryright,% +top=\exam@geometrytop, bottom=\exam@geometrybottom]{geometry}% +} +%% +%% Set the times font if the option is times +\ifbool{exam@times}{% +\RequirePackage{newtxtext,newtxmath}% +}{} +% \end{macrocode} +%\iffalse +%</class> +%<*classpackage> +%\fi +% In both {\color{red}\verb|cesenaexam.cls|} and {\color{blue}\verb|cesenaexam.sty|}. +% \begin{macrocode} +%% Loading graphicx before tikz removes a +%% strange issue with the \graphicspath +\RequirePackage[pdftex]{graphicx} +%% Tikz and circuitikz +\RequirePackage{tikz} +\RequirePackage[betterproportions]{circuitikz} +\usetikzlibrary{arrows.meta,arrows,intersections,% +positioning,fit,calc,through,babel} +\usetikzlibrary{decorations.pathmorphing,backgrounds} +%% Some settings for Tikz +\tikzset{switcharc/.style={draw, thick, >=stealth}, + every picture/.append style={tight background,% + baseline={([yshift=-1em] current bounding box.north)}}} +% \end{macrocode} +%\iffalse +%</classpackage> +%<*class> +%\fi +% Only in {\color{red}\verb|cesenaexam.cls|}. +% \begin{macrocode} +%% Set the Header +\RequirePackage{fancyhdr} +\renewcommand{\headrulewidth}{0pt} +\setlength{\headheight}{25pt} +\addtolength{\headheight}{\baselineskip} +\fancypagestyle{plain}{ +\fancyhead[C]{ +\ifbool{exam@boxed}{% +\tikzset{every picture/.style={framed, tight background},% +background rectangle/.style={draw=red}}% +}{} +\begin{tikzpicture} +\node (header) [align=center] at (0,0) {\@title}; +\end{tikzpicture}% +}% +\ifbool{exam@version}{% +\fancyfoot[L]{{\it Proudly made with} \LaTeX}% +\fancyfoot[R]{CesenaExam v\cesenaexamversion { }- {\it A. Pacini}}% +}{} +} +\pagestyle{plain} +% \end{macrocode} +%\iffalse +%</class> +%<*classpackage> +%\fi +% In both {\color{red}\verb|cesenaexam.cls|} and {\color{blue}\verb|cesenaexam.sty|}. +% \begin{macrocode} +%% Redefine the section to have bigger font and to be +%% delimited between two lines +\RequirePackage{titlesec} +\newcommand{\sectionfont}{\Large} +\renewcommand\thesection{\bfseries \arabic{section}} +\titleformat{\section} + {\titlerule + \vspace{0.5ex}% + \sectionfont} + {\thesection}{1em} + {\sectionfont \bfseries}[\titlerule] +%% Redefine the enumerate item to be bold +\renewcommand\labelenumi{\bfseries\theenumi.} +%% Options for the titlebox processed from the +%% maketitle optional arguments +\pgfkeys{ + /mytitlebox/.is family, /mytitlebox, + textboxheight/.default = 0.6cm, + whiteboxheight/.default = 1cm, + textboxheight/.store in = \minheighttext@title, + whiteboxheight/.store in = \minwhiteboxheight@title, + textboxone/.default = {\relax}, + textboxtwo/.default = {\relax}, + textboxthree/.default = {\relax}, + textboxfour/.default = {\relax}, + textboxone/.store in = \textboxone@title, + textboxtwo/.store in = \textboxtwo@title, + textboxthree/.store in = \textboxthree@title, + textboxfour/.store in = \textboxfour@title, + %% Executing them to assign the default value + %% (Tikz manual 82.3.2 or tex.stackexchange.com/questions/85754) + textboxheight, whiteboxheight, textboxone, + textboxtwo, textboxthree, textboxfour, +} +% \end{macrocode} +%\iffalse +%</classpackage> +%\fi + +%\iffalse +%<*internal> +\iffalse +%</internal> +%<*comment> +%% Just two example definition to be copied and pasted +% +%% Example definition of a macro with starred version, using describe macro: +% +%\DescribeMacro{\macroname} +% Usage: \verb|\macroname|\marg{mandatory 1}\marg{mandatory 2} \\ +% Description.\\ +% +%\DescribeMacro{\macroname*} +% Usage: \verb|\macroname*|\marg{mandatory 1}\marg{mandatory 2} \\ +% Description.\\ +% +% Definition of \cs{macroname} and \cs{macroname*}: +%\DoNotIndex{\def,\@ifstar} ^^A Not really needed with the modified index macro in the doc document (see above) +% \begin{macrocode} ^^A The four spaces are mandatory! +%% Comment +\def\macroname{\@ifstar\macro@name\macro@@name} +\def\macro@name#1#2{\relax} +\def\macro@@name#1#2{\relax} +% \end{macrocode} +% +%% Example definition of a macro: +% +%\begin{macro}{\macroname} +% Usage: \verb|\macroname|\marg{mandatory 1}\marg{mandatory 2} \\ +% Description.\\ +% +% Definition of \cs{macroname}: +%\DoNotIndex{\def} ^^A Not really needed with the modified index macro in the doc document (see above) +%^^A The four spaces are mandatory! +% \begin{macrocode} +%% Comment +\def\macroname#1#2{\relax} +% \end{macrocode} +%\end{macro} +%</comment> +%<*internal> +\fi +%</internal> +%\fi + +%\iffalse +%<*classpackage> +%\fi +% \section{Defined Macros} \indent +% +%\DescribeMacro{\examsection} +% Usage: \verb|\examsection|\marg{bold title}\marg{italic text} \\ +% Prints the title between two lines \textbf{with} numbering.\\ +% +%\DescribeMacro{\examsection*} +% Usage: \verb|\examsection*|\marg{bold title}\marg{italic text} \\ +% Prints the title between two lines \textbf{without} numbering.\\ +% +% Definition of \cs{examsection} and \cs{examsection*}: +%\DoNotIndex{\def,\@ifstar,\@examsection,\@@examsection,\textmd,\textit,\noindent,\section} +% \begin{macrocode} +%% Define examsection and examsection* +\def\examsection{\@ifstar\@examsection\@@examsection} +\def\@examsection#1#2{\section*{#1 \textmd{(\textit{#2})}}\noindent} +\def\@@examsection#1#2{\section{#1 \textmd{(\textit{#2})}}\noindent} +% \end{macrocode} +% +%\begin{macro}{\boxempty} +% Usage: \verb|\boxempty| $\to$ \boxempty \\ +% Prints an empty box. +% +% Definition of \verb|\boxempty|: +%\DoNotIndex{\newcommand,\square,\;} +% \begin{macrocode} +%% Definition of empty tick box +\newcommand{\boxempty}{$ \square \;$} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\boxcheck} +% Usage: \verb|\boxcheck| $\to$ \boxcheck \\ +% Prints a black or \textit{checked} box. +% +% Definition of \verb|\boxcheck|: +%\DoNotIndex{\newcommand,\square,\;} +% \begin{macrocode} +%% Definition of empty tick box +\newcommand{\boxcheck}{$ \blacksquare \;$} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\examparts} +% Usage: \verb|\examparts|\marg{} +%\begin{verbatim} +%\examparts{\bfseries Parts done: \hspace{1cm}% +% E1 \boxempty \hspace{1cm}% +% E2 \boxempty \hspace{1cm}% +% D \boxempty} +% \end{verbatim} +% Used to include the checkboxes in \cs{maketitle} by passing the code to the \cs{examparts\{\}} macro. +% It is internally assigned to the variable \cs{ex@parts}. +% +% Definition of \verb|\examparts{}|: +% \begin{macrocode} +%% Assigns to ex@parts what is passed to the function examparts{}. +%% Works similarly similarly to author{} +\def\examparts#1{\def\ex@parts{#1}} +% \end{macrocode} +%\end{macro} +% +%\DescribeMacro{\maketitle} +% Usage: \cs{maketitle}\oarg{opt. args}\marg{Surname}\marg{Name}\marg{Id}\marg{Signature}\marg{N} \\ +% Redefines the \cs{maketitle}.\\ +% The mandatory arguments label the text (or top) boxes, where the last one used to give the exam type using one char or number. +% It is also possible to give optional arguments: +% \begin{itemize} +% \item \oarg{textboxheight=0.6cm, whiteboxheight=1cm}: To set the height of the textboxes (\verb|textboxheight|) and of the whiteboxes (\verb|whiteboxheight|), the defaults are indicated here in the options; +% \item \oarg{textboxone={Guglielmo}, textboxtwo={Marconi}, textboxthree={000},%\\ textboxfour={Signature.pdf}}: To fill the whiteboxes, default are empty. +% \end{itemize} +% A usage example is: +%\begin{verbatim} +%\maketitle[textboxheight=0.6cm, whiteboxheight=1cm,% +% textboxone={Guglielmo}, textboxtwo={Marconi}, textboxthree={00000000},% +% textboxfour={\includegraphics[width=3cm]{Guglielmo_Marconi_Signature}}]% +% {Cognome}{Nome}{Matricola}{Firma}{1} +% \end{verbatim} +% +%\DescribeMacro{\maketitle*} +% Not implemented at the moment.\\ +% +% Definition of \cs{maketitle} and \cs{maketitle*}: +%\DoNotIndex{\def,\@ifstar} ^^A Not really needed with the modified index macro in the doc document (see above) +% \begin{macrocode} +%% Redefine maketitle +%% Just for a future starred version +\def\maketitle{\@ifstar\make@@title\make@title}% +%% Define the unstarred version maketitle (make@title) +\newcommand\make@title[6][]{% + \pgfkeys{/mytitlebox, #1}% + \make@@@title{#2}{#3}{#4}{#5}{#6}}% +%% Define the common command +\def\make@@@title#1#2#3#4#5{% +\ifbool{exam@boxed}{% +\tikzset{every picture/.append style={framed},% +background rectangle/.style={draw=red}}}{}% +\begin{center}% +\begin{tikzpicture}% +\pgfmathsetmacro{\boxlen}{(\textwidth-1.6cm)/4}% +\pgfmathsetmacro{\lastboxlen}{\textwidth - 4*\boxlen - 1mm}% +\node (surname) [draw, align=center, minimum width=\boxlen,% +minimum height = \minheighttext@title] at (0,0) {\bf #1};% +\node (surname box) [draw, anchor=north, minimum width=\boxlen,% +minimum height = \minwhiteboxheight@title] at% +($(surname.south)+(0,\pgflinewidth)$) {\textboxone@title};% +\node (name) [draw, align=center, right=0 and -\pgflinewidth of surname,% +minimum width=\boxlen, minimum height = \minheighttext@title] {\bf #2};% +\node (name box) [draw, anchor=north, minimum width=\boxlen,% +minimum height = \minwhiteboxheight@title] at% +($(name.south)+(0,\pgflinewidth)$) {\textboxtwo@title};% +\node (id) [draw, align=center, right=0 and -\pgflinewidth of name,% +minimum width=\boxlen, minimum height = \minheighttext@title] {\bf #3};% +\node (id box) [draw, anchor=north, minimum width=\boxlen,% +minimum height = \minwhiteboxheight@title] at% +($(id.south)+(0,\pgflinewidth)$) {\textboxthree@title};% +\node (signature) [draw, align=center, right=0 and -\pgflinewidth of id,% +minimum width=\boxlen, minimum height = \minheighttext@title] {\bf #4};% +\node (signature box) [draw, anchor=north, minimum width=\boxlen,% +minimum height = \minwhiteboxheight@title] at% +($(signature.south)+(0,\pgflinewidth)$) {\textboxfour@title};% +%% +\pgfmathsetmacro{\minheighttypebox}{\minheighttext@title +% +\minwhiteboxheight@title}% +\node (examtype) [draw, align=center, anchor=north west,% +minimum width=\lastboxlen, minimum height = \minheighttypebox] at% +($(signature.north east)+(-\pgflinewidth,0)$) {\Huge \bfseries #5};% +\node (checkboxes) [align=left, anchor=north west] at% +(surname box.south west) {\ex@parts};% +\end{tikzpicture}% +\end{center}% +} +% \end{macrocode} +% +%\begin{macro}{\examtwoblocks} +% Usage: \verb|\examtwoblocks|\marg{B1 length}\marg{B2 length}\marg{B1}\marg{B2} \\ +% Defines the macro \cs{examtwoblocks}.\\ +% The mandatory arguments are the lenght of the first block and of the second block, and their content, respectively. +% They two boxes are vertically aligned to their centre. +% +% Definition of \cs{examtwoblocks}: +%\DoNotIndex{\def} ^^A Not really needed with the modified index macro in the doc document (see above) +% \begin{macrocode} +%% Macro for two blocks centre aligned +\def\examtwoblocks#1#2#3#4{% +\noindent% +\begin{minipage}[c]{#1}\flushleft#3\end{minipage}% +\hfill% +\begin{minipage}[c]{#2}#4\end{minipage} +\par\vspace{5mm}\noindent% +} +\def\examtwoblocks@box#1#2#3#4{% +\noindent% +\tikzset{every picture/.append style={framed}, + background rectangle/.style={draw=red}}% +\let\bak@fboxsep\fboxsep% +\def\fboxsep{0pt}% +\fbox{\begin{minipage}[c]{#1}\flushleft#3\end{minipage}}% +\hfill% +\fbox{\begin{minipage}[c]{#2}#4\end{minipage}}% +\let\fboxsep\bak@fboxsep% +\par\vspace{5mm}\noindent% +} +\ifbool{exam@boxed}{% +\renewcommand{\examtwoblocks}{\examtwoblocks@box}}{} +% \end{macrocode} +%\end{macro} +% +% +%\begin{macro}{\examtwoblockstop} +% Usage: \verb|\examtwoblockstop|\marg{B1 length}\marg{B2 length}\marg{B1}\marg{B2} \\ +% Defines the macro \cs{examtwoblockstop}.\\ +% The mandatory arguments are the lenght of the first block and of the second block, and their content, respectively. +% They two boxes are vertically aligned to their top, which is useful if used inside an itemize or an enumerate environment. +% +% Definition of \cs{examtwoblockstop}: +%\DoNotIndex{\def} ^^A Not really needed with the modified index macro in the doc document (see above) +% \begin{macrocode} +%% Macro for two blocks top aligned +\def\examtwoblockstop#1#2#3#4{% +\noindent% +\begin{minipage}[t]{#1}\flushleft#3\end{minipage}% +\hfill% +\begin{minipage}[t]{#2}\flushright#4\end{minipage}% +} +\def\examtwoblockstop@box#1#2#3#4{% +\noindent% +\tikzset{every picture/.append style={framed}, + background rectangle/.style={draw=red}}% +\let\bak@fboxsep\fboxsep% +\def\fboxsep{0pt}% +\fbox{\begin{minipage}[t]{#1}\flushleft#3\end{minipage}}% +\hfill% +\fbox{\begin{minipage}[t]{#2}\flushright#4\end{minipage}}% +\let\fboxsep\bak@fboxsep% +} +\ifbool{exam@boxed}{% +\renewcommand{\examtwoblockstop}{\examtwoblockstop@box}}{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\examoneblocktop} +% Usage: \verb|\examoneblocktop|\marg{B length}\marg{B} \\ +% Defines the macro \cs{examoneblock}.\\ +% The mandatory arguments are the lenght of the block and its content. +% They box is vertically aligned to its top, which is useful if used inside an itemize or an enumerate environment. +% +% Definition of \cs{examoneblock}: +%\DoNotIndex{\def} ^^A Not really needed with the modified index macro in the doc document (see above) +% \begin{macrocode} +%% Macro for one block top aligned +\def\examoneblocktop#1#2{% +\noindent% +\begin{minipage}[t]{#1}\flushleft#2\end{minipage}}% +\def\examoneblocktop@box#1#2{% +\noindent% +\tikzset{every picture/.append style={framed}, + background rectangle/.style={draw=red}}% +\let\bak@fboxsep\fboxsep% +\def\fboxsep{0pt}% +\fbox{\begin{minipage}[t]{#1}\flushleft#2\end{minipage}}% +\let\fboxsep\bak@fboxsep% +} +\ifbool{exam@boxed}{% +\renewcommand{\examoneblocktop}{\examoneblocktop@box}}{} +% \end{macrocode} +%\end{macro} +% +%\iffalse +%</classpackage> +%\fi + +%\Finale diff --git a/Master/texmf-dist/source/latex/cesenaexam/cesenaexam.ins b/Master/texmf-dist/source/latex/cesenaexam/cesenaexam.ins new file mode 100644 index 00000000000..19404aced5b --- /dev/null +++ b/Master/texmf-dist/source/latex/cesenaexam/cesenaexam.ins @@ -0,0 +1,87 @@ +%% +%% This is file `cesenaexam.ins', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cesenaexam.dtx (with options: `install') +%% ---------------------------------------------------------------- +%% cesenaexam --- class file to typeset exams +%% E-mail: alexpacini90@gmail.com +%% Released under the LaTeX Project Public License v1.3c or later +%% See http://www.latex-project.org/lppl.txt +%% Contributions to this repository as pull requests are welcome! +%% ---------------------------------------------------------------- +%% +%% This LaTeX document class has been designed to typeset exams. +%% To make the .cls from the .dtx one, just run +%% ```make```. +%% +\input docstrip.tex +\keepsilent +\askforoverwritefalse +\preamble +---------------------------------------------------------------- +cesenaexam --- class file to typeset exams +E-mail: alexpacini90@gmail.com +Released under the LaTeX Project Public License v1.3c or later +See http://www.latex-project.org/lppl.txt +Contributions to this repository as pull requests are welcome! +---------------------------------------------------------------- + +This LaTeX document class has been designed to typeset exams. +To make the .cls from the .dtx one, just run +```make```. + +\endpreamble +\postamble + +Copyright (C) 2017 by Alex Pacini <alexpacini90@gmail.com> + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License (LPPL), either +version 1.3c of this license or (at your option) any later +version. The latest version of this license is in the file: + +http://www.latex-project.org/lppl.txt + +This work is "maintained" (as per LPPL maintenance status) by +Alex Pacini. + +This work consists of the file cesenaexam.dtx +and the derived files cesenaexam.ins, + cesenaexam.pdf and + cesenaexam.cls. + +\endpostamble +\usedir{tex/latex/cesenaexam} +\generate{ + \file{\jobname.cls}{\from{\jobname.dtx}{class,classpackage}} +} +\generate{ + \file{\jobname.sty}{\from{\jobname.dtx}{package,classpackage}} +} +\endbatchfile + + + +%% +%% Copyright (C) 2017 by Alex Pacini <alexpacini90@gmail.com> +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License (LPPL), either +%% version 1.3c of this license or (at your option) any later +%% version. The latest version of this license is in the file: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% This work is "maintained" (as per LPPL maintenance status) by +%% Alex Pacini. +%% +%% This work consists of the file cesenaexam.dtx +%% and the derived files cesenaexam.ins, +%% cesenaexam.pdf and +%% cesenaexam.cls. +%% +%% +%% End of file `cesenaexam.ins'. diff --git a/Master/texmf-dist/tex/latex/cesenaexam/cesenaexam.cls b/Master/texmf-dist/tex/latex/cesenaexam/cesenaexam.cls new file mode 100644 index 00000000000..721ce1ec448 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cesenaexam/cesenaexam.cls @@ -0,0 +1,285 @@ +%% +%% This is file `cesenaexam.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cesenaexam.dtx (with options: `class,classpackage') +%% ---------------------------------------------------------------- +%% cesenaexam --- class file to typeset exams +%% E-mail: alexpacini90@gmail.com +%% Released under the LaTeX Project Public License v1.3c or later +%% See http://www.latex-project.org/lppl.txt +%% Contributions to this repository as pull requests are welcome! +%% ---------------------------------------------------------------- +%% +%% This LaTeX document class has been designed to typeset exams. +%% To make the .cls from the .dtx one, just run +%% ```make```. +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{cesenaexam}[2017/08/03 - v0.2 Cesena Exam] +\def\cesenaexamversion{0.2} +%% Custom options +\RequirePackage{etoolbox} +%% I decided to use the etoolbox ifbool because the if else fi +%% has issues with docstrip and needs a dirty hack +%% tex.stackexchange.com/questions/162762 +%% No version option +\newbool{exam@version}\booltrue{exam@version} +%% Box the blocks option +\newbool{exam@boxed}\boolfalse{exam@boxed} +%% Times font option +\newbool{exam@times}\boolfalse{exam@times} +%% No version option +\DeclareOption{noversion}{\boolfalse{exam@version}} +%% Box the blocks option +\DeclareOption{boxed}{\booltrue{exam@boxed}} +%% Times font option +\DeclareOption{times}{\booltrue{exam@times}} +%% This class extends the article class +%% Read all the documentclass options; pass them to article, +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} +\ProcessOptions \relax +%% +\LoadClass{article} +%% +\RequirePackage{pgfkeys} +\RequirePackage{pgfopts} +%% +%% Options to pass to geometry using pgfopts +\pgfkeys{ + /myexamgeometry/.is family, /myexamgeometry, + left/.default = 2cm, + right/.default = 2cm, + top/.default = 2.5cm, + bottom/.default = 2.5cm, + left/.store in =\exam@geometryleft, + right/.store in =\exam@geometryright, + top/.store in =\exam@geometrytop, + bottom/.store in =\exam@geometrybottom, + left, right, bottom, top, +} +\ProcessPgfOptions{/myexamgeometry} +%% +%% Page layout, check if the boxed option is used to load +%% geometry with the showframe option +\ifbool{exam@boxed}{% +\RequirePackage[showframe,% +left=\exam@geometryleft, right=\exam@geometryright,% +top=\exam@geometrytop,bottom=\exam@geometrybottom]{geometry}% +}{% +\RequirePackage[left=\exam@geometryleft, right=\exam@geometryright,% +top=\exam@geometrytop, bottom=\exam@geometrybottom]{geometry}% +} +%% +%% Set the times font if the option is times +\ifbool{exam@times}{% +\RequirePackage{newtxtext,newtxmath}% +}{} +%% Loading graphicx before tikz removes a +%% strange issue with the \graphicspath +\RequirePackage[pdftex]{graphicx} +%% Tikz and circuitikz +\RequirePackage{tikz} +\RequirePackage[betterproportions]{circuitikz} +\usetikzlibrary{arrows.meta,arrows,intersections,% +positioning,fit,calc,through,babel} +\usetikzlibrary{decorations.pathmorphing,backgrounds} +%% Some settings for Tikz +\tikzset{switcharc/.style={draw, thick, >=stealth}, + every picture/.append style={tight background,% + baseline={([yshift=-1em] current bounding box.north)}}} +%% Set the Header +\RequirePackage{fancyhdr} +\renewcommand{\headrulewidth}{0pt} +\setlength{\headheight}{25pt} +\addtolength{\headheight}{\baselineskip} +\fancypagestyle{plain}{ +\fancyhead[C]{ +\ifbool{exam@boxed}{% +\tikzset{every picture/.style={framed, tight background},% +background rectangle/.style={draw=red}}% +}{} +\begin{tikzpicture} +\node (header) [align=center] at (0,0) {\@title}; +\end{tikzpicture}% +}% +\ifbool{exam@version}{% +\fancyfoot[L]{{\it Proudly made with} \LaTeX}% +\fancyfoot[R]{CesenaExam v\cesenaexamversion { }- {\it A. Pacini}}% +}{} +} +\pagestyle{plain} +%% Redefine the section to have bigger font and to be +%% delimited between two lines +\RequirePackage{titlesec} +\newcommand{\sectionfont}{\Large} +\renewcommand\thesection{\bfseries \arabic{section}} +\titleformat{\section} + {\titlerule + \vspace{0.5ex}% + \sectionfont} + {\thesection}{1em} + {\sectionfont \bfseries}[\titlerule] +%% Redefine the enumerate item to be bold +\renewcommand\labelenumi{\bfseries\theenumi.} +%% Options for the titlebox processed from the +%% maketitle optional arguments +\pgfkeys{ + /mytitlebox/.is family, /mytitlebox, + textboxheight/.default = 0.6cm, + whiteboxheight/.default = 1cm, + textboxheight/.store in = \minheighttext@title, + whiteboxheight/.store in = \minwhiteboxheight@title, + textboxone/.default = {\relax}, + textboxtwo/.default = {\relax}, + textboxthree/.default = {\relax}, + textboxfour/.default = {\relax}, + textboxone/.store in = \textboxone@title, + textboxtwo/.store in = \textboxtwo@title, + textboxthree/.store in = \textboxthree@title, + textboxfour/.store in = \textboxfour@title, + %% Executing them to assign the default value + %% (Tikz manual 82.3.2 or tex.stackexchange.com/questions/85754) + textboxheight, whiteboxheight, textboxone, + textboxtwo, textboxthree, textboxfour, +} + + +%% Define examsection and examsection* +\def\examsection{\@ifstar\@examsection\@@examsection} +\def\@examsection#1#2{\section*{#1 \textmd{(\textit{#2})}}\noindent} +\def\@@examsection#1#2{\section{#1 \textmd{(\textit{#2})}}\noindent} +%% Definition of empty tick box +\newcommand{\boxempty}{$ \square \;$} +%% Definition of empty tick box +\newcommand{\boxcheck}{$ \blacksquare \;$} +%% Assigns to ex@parts what is passed to the function examparts{}. +%% Works similarly similarly to author{} +\def\examparts#1{\def\ex@parts{#1}} +%% Redefine maketitle +%% Just for a future starred version +\def\maketitle{\@ifstar\make@@title\make@title}% +%% Define the unstarred version maketitle (make@title) +\newcommand\make@title[6][]{% + \pgfkeys{/mytitlebox, #1}% + \make@@@title{#2}{#3}{#4}{#5}{#6}}% +%% Define the common command +\def\make@@@title#1#2#3#4#5{% +\ifbool{exam@boxed}{% +\tikzset{every picture/.append style={framed},% +background rectangle/.style={draw=red}}}{}% +\begin{center}% +\begin{tikzpicture}% +\pgfmathsetmacro{\boxlen}{(\textwidth-1.6cm)/4}% +\pgfmathsetmacro{\lastboxlen}{\textwidth - 4*\boxlen - 1mm}% +\node (surname) [draw, align=center, minimum width=\boxlen,% +minimum height = \minheighttext@title] at (0,0) {\bf #1};% +\node (surname box) [draw, anchor=north, minimum width=\boxlen,% +minimum height = \minwhiteboxheight@title] at% +($(surname.south)+(0,\pgflinewidth)$) {\textboxone@title};% +\node (name) [draw, align=center, right=0 and -\pgflinewidth of surname,% +minimum width=\boxlen, minimum height = \minheighttext@title] {\bf #2};% +\node (name box) [draw, anchor=north, minimum width=\boxlen,% +minimum height = \minwhiteboxheight@title] at% +($(name.south)+(0,\pgflinewidth)$) {\textboxtwo@title};% +\node (id) [draw, align=center, right=0 and -\pgflinewidth of name,% +minimum width=\boxlen, minimum height = \minheighttext@title] {\bf #3};% +\node (id box) [draw, anchor=north, minimum width=\boxlen,% +minimum height = \minwhiteboxheight@title] at% +($(id.south)+(0,\pgflinewidth)$) {\textboxthree@title};% +\node (signature) [draw, align=center, right=0 and -\pgflinewidth of id,% +minimum width=\boxlen, minimum height = \minheighttext@title] {\bf #4};% +\node (signature box) [draw, anchor=north, minimum width=\boxlen,% +minimum height = \minwhiteboxheight@title] at% +($(signature.south)+(0,\pgflinewidth)$) {\textboxfour@title};% +%% +\pgfmathsetmacro{\minheighttypebox}{\minheighttext@title +% +\minwhiteboxheight@title}% +\node (examtype) [draw, align=center, anchor=north west,% +minimum width=\lastboxlen, minimum height = \minheighttypebox] at% +($(signature.north east)+(-\pgflinewidth,0)$) {\Huge \bfseries #5};% +\node (checkboxes) [align=left, anchor=north west] at% +(surname box.south west) {\ex@parts};% +\end{tikzpicture}% +\end{center}% +} +%% Macro for two blocks centre aligned +\def\examtwoblocks#1#2#3#4{% +\noindent% +\begin{minipage}[c]{#1}\flushleft#3\end{minipage}% +\hfill% +\begin{minipage}[c]{#2}#4\end{minipage} +\par\vspace{5mm}\noindent% +} +\def\examtwoblocks@box#1#2#3#4{% +\noindent% +\tikzset{every picture/.append style={framed}, + background rectangle/.style={draw=red}}% +\let\bak@fboxsep\fboxsep% +\def\fboxsep{0pt}% +\fbox{\begin{minipage}[c]{#1}\flushleft#3\end{minipage}}% +\hfill% +\fbox{\begin{minipage}[c]{#2}#4\end{minipage}}% +\let\fboxsep\bak@fboxsep% +\par\vspace{5mm}\noindent% +} +\ifbool{exam@boxed}{% +\renewcommand{\examtwoblocks}{\examtwoblocks@box}}{} +%% Macro for two blocks top aligned +\def\examtwoblockstop#1#2#3#4{% +\noindent% +\begin{minipage}[t]{#1}\flushleft#3\end{minipage}% +\hfill% +\begin{minipage}[t]{#2}\flushright#4\end{minipage}% +} +\def\examtwoblockstop@box#1#2#3#4{% +\noindent% +\tikzset{every picture/.append style={framed}, + background rectangle/.style={draw=red}}% +\let\bak@fboxsep\fboxsep% +\def\fboxsep{0pt}% +\fbox{\begin{minipage}[t]{#1}\flushleft#3\end{minipage}}% +\hfill% +\fbox{\begin{minipage}[t]{#2}\flushright#4\end{minipage}}% +\let\fboxsep\bak@fboxsep% +} +\ifbool{exam@boxed}{% +\renewcommand{\examtwoblockstop}{\examtwoblockstop@box}}{} +%% Macro for one block top aligned +\def\examoneblocktop#1#2{% +\noindent% +\begin{minipage}[t]{#1}\flushleft#2\end{minipage}}% +\def\examoneblocktop@box#1#2{% +\noindent% +\tikzset{every picture/.append style={framed}, + background rectangle/.style={draw=red}}% +\let\bak@fboxsep\fboxsep% +\def\fboxsep{0pt}% +\fbox{\begin{minipage}[t]{#1}\flushleft#2\end{minipage}}% +\let\fboxsep\bak@fboxsep% +} +\ifbool{exam@boxed}{% +\renewcommand{\examoneblocktop}{\examoneblocktop@box}}{} + +%% +%% Copyright (C) 2017 by Alex Pacini <alexpacini90@gmail.com> +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License (LPPL), either +%% version 1.3c of this license or (at your option) any later +%% version. The latest version of this license is in the file: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% This work is "maintained" (as per LPPL maintenance status) by +%% Alex Pacini. +%% +%% This work consists of the file cesenaexam.dtx +%% and the derived files cesenaexam.ins, +%% cesenaexam.pdf and +%% cesenaexam.cls. +%% +%% +%% End of file `cesenaexam.cls'. diff --git a/Master/texmf-dist/tex/latex/cesenaexam/cesenaexam.sty b/Master/texmf-dist/tex/latex/cesenaexam/cesenaexam.sty new file mode 100644 index 00000000000..1fb4dcee548 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cesenaexam/cesenaexam.sty @@ -0,0 +1,218 @@ +%% +%% This is file `cesenaexam.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cesenaexam.dtx (with options: `package,classpackage') +%% ---------------------------------------------------------------- +%% cesenaexam --- class file to typeset exams +%% E-mail: alexpacini90@gmail.com +%% Released under the LaTeX Project Public License v1.3c or later +%% See http://www.latex-project.org/lppl.txt +%% Contributions to this repository as pull requests are welcome! +%% ---------------------------------------------------------------- +%% +%% This LaTeX document class has been designed to typeset exams. +%% To make the .cls from the .dtx one, just run +%% ```make```. +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{cesenaexam}[2017/08/03 - v0.2 Cesena Exam] +\def\cesenaexamversion{0.2} +%% Custom options +\RequirePackage{etoolbox} +%% I decided to use the etoolbox ifbool because the if else fi +%% has issues with docstrip and needs a dirty hack +%% tex.stackexchange.com/questions/162762 +%% No version option +\newbool{exam@version}\booltrue{exam@version} +%% Box the blocks option +\newbool{exam@boxed}\boolfalse{exam@boxed} +%% Times font option +\newbool{exam@times}\boolfalse{exam@times} +%% Loading graphicx before tikz removes a +%% strange issue with the \graphicspath +\RequirePackage[pdftex]{graphicx} +%% Tikz and circuitikz +\RequirePackage{tikz} +\RequirePackage[betterproportions]{circuitikz} +\usetikzlibrary{arrows.meta,arrows,intersections,% +positioning,fit,calc,through,babel} +\usetikzlibrary{decorations.pathmorphing,backgrounds} +%% Some settings for Tikz +\tikzset{switcharc/.style={draw, thick, >=stealth}, + every picture/.append style={tight background,% + baseline={([yshift=-1em] current bounding box.north)}}} +%% Redefine the section to have bigger font and to be +%% delimited between two lines +\RequirePackage{titlesec} +\newcommand{\sectionfont}{\Large} +\renewcommand\thesection{\bfseries \arabic{section}} +\titleformat{\section} + {\titlerule + \vspace{0.5ex}% + \sectionfont} + {\thesection}{1em} + {\sectionfont \bfseries}[\titlerule] +%% Redefine the enumerate item to be bold +\renewcommand\labelenumi{\bfseries\theenumi.} +%% Options for the titlebox processed from the +%% maketitle optional arguments +\pgfkeys{ + /mytitlebox/.is family, /mytitlebox, + textboxheight/.default = 0.6cm, + whiteboxheight/.default = 1cm, + textboxheight/.store in = \minheighttext@title, + whiteboxheight/.store in = \minwhiteboxheight@title, + textboxone/.default = {\relax}, + textboxtwo/.default = {\relax}, + textboxthree/.default = {\relax}, + textboxfour/.default = {\relax}, + textboxone/.store in = \textboxone@title, + textboxtwo/.store in = \textboxtwo@title, + textboxthree/.store in = \textboxthree@title, + textboxfour/.store in = \textboxfour@title, + %% Executing them to assign the default value + %% (Tikz manual 82.3.2 or tex.stackexchange.com/questions/85754) + textboxheight, whiteboxheight, textboxone, + textboxtwo, textboxthree, textboxfour, +} + + +%% Define examsection and examsection* +\def\examsection{\@ifstar\@examsection\@@examsection} +\def\@examsection#1#2{\section*{#1 \textmd{(\textit{#2})}}\noindent} +\def\@@examsection#1#2{\section{#1 \textmd{(\textit{#2})}}\noindent} +%% Definition of empty tick box +\newcommand{\boxempty}{$ \square \;$} +%% Definition of empty tick box +\newcommand{\boxcheck}{$ \blacksquare \;$} +%% Assigns to ex@parts what is passed to the function examparts{}. +%% Works similarly similarly to author{} +\def\examparts#1{\def\ex@parts{#1}} +%% Redefine maketitle +%% Just for a future starred version +\def\maketitle{\@ifstar\make@@title\make@title}% +%% Define the unstarred version maketitle (make@title) +\newcommand\make@title[6][]{% + \pgfkeys{/mytitlebox, #1}% + \make@@@title{#2}{#3}{#4}{#5}{#6}}% +%% Define the common command +\def\make@@@title#1#2#3#4#5{% +\ifbool{exam@boxed}{% +\tikzset{every picture/.append style={framed},% +background rectangle/.style={draw=red}}}{}% +\begin{center}% +\begin{tikzpicture}% +\pgfmathsetmacro{\boxlen}{(\textwidth-1.6cm)/4}% +\pgfmathsetmacro{\lastboxlen}{\textwidth - 4*\boxlen - 1mm}% +\node (surname) [draw, align=center, minimum width=\boxlen,% +minimum height = \minheighttext@title] at (0,0) {\bf #1};% +\node (surname box) [draw, anchor=north, minimum width=\boxlen,% +minimum height = \minwhiteboxheight@title] at% +($(surname.south)+(0,\pgflinewidth)$) {\textboxone@title};% +\node (name) [draw, align=center, right=0 and -\pgflinewidth of surname,% +minimum width=\boxlen, minimum height = \minheighttext@title] {\bf #2};% +\node (name box) [draw, anchor=north, minimum width=\boxlen,% +minimum height = \minwhiteboxheight@title] at% +($(name.south)+(0,\pgflinewidth)$) {\textboxtwo@title};% +\node (id) [draw, align=center, right=0 and -\pgflinewidth of name,% +minimum width=\boxlen, minimum height = \minheighttext@title] {\bf #3};% +\node (id box) [draw, anchor=north, minimum width=\boxlen,% +minimum height = \minwhiteboxheight@title] at% +($(id.south)+(0,\pgflinewidth)$) {\textboxthree@title};% +\node (signature) [draw, align=center, right=0 and -\pgflinewidth of id,% +minimum width=\boxlen, minimum height = \minheighttext@title] {\bf #4};% +\node (signature box) [draw, anchor=north, minimum width=\boxlen,% +minimum height = \minwhiteboxheight@title] at% +($(signature.south)+(0,\pgflinewidth)$) {\textboxfour@title};% +%% +\pgfmathsetmacro{\minheighttypebox}{\minheighttext@title +% +\minwhiteboxheight@title}% +\node (examtype) [draw, align=center, anchor=north west,% +minimum width=\lastboxlen, minimum height = \minheighttypebox] at% +($(signature.north east)+(-\pgflinewidth,0)$) {\Huge \bfseries #5};% +\node (checkboxes) [align=left, anchor=north west] at% +(surname box.south west) {\ex@parts};% +\end{tikzpicture}% +\end{center}% +} +%% Macro for two blocks centre aligned +\def\examtwoblocks#1#2#3#4{% +\noindent% +\begin{minipage}[c]{#1}\flushleft#3\end{minipage}% +\hfill% +\begin{minipage}[c]{#2}#4\end{minipage} +\par\vspace{5mm}\noindent% +} +\def\examtwoblocks@box#1#2#3#4{% +\noindent% +\tikzset{every picture/.append style={framed}, + background rectangle/.style={draw=red}}% +\let\bak@fboxsep\fboxsep% +\def\fboxsep{0pt}% +\fbox{\begin{minipage}[c]{#1}\flushleft#3\end{minipage}}% +\hfill% +\fbox{\begin{minipage}[c]{#2}#4\end{minipage}}% +\let\fboxsep\bak@fboxsep% +\par\vspace{5mm}\noindent% +} +\ifbool{exam@boxed}{% +\renewcommand{\examtwoblocks}{\examtwoblocks@box}}{} +%% Macro for two blocks top aligned +\def\examtwoblockstop#1#2#3#4{% +\noindent% +\begin{minipage}[t]{#1}\flushleft#3\end{minipage}% +\hfill% +\begin{minipage}[t]{#2}\flushright#4\end{minipage}% +} +\def\examtwoblockstop@box#1#2#3#4{% +\noindent% +\tikzset{every picture/.append style={framed}, + background rectangle/.style={draw=red}}% +\let\bak@fboxsep\fboxsep% +\def\fboxsep{0pt}% +\fbox{\begin{minipage}[t]{#1}\flushleft#3\end{minipage}}% +\hfill% +\fbox{\begin{minipage}[t]{#2}\flushright#4\end{minipage}}% +\let\fboxsep\bak@fboxsep% +} +\ifbool{exam@boxed}{% +\renewcommand{\examtwoblockstop}{\examtwoblockstop@box}}{} +%% Macro for one block top aligned +\def\examoneblocktop#1#2{% +\noindent% +\begin{minipage}[t]{#1}\flushleft#2\end{minipage}}% +\def\examoneblocktop@box#1#2{% +\noindent% +\tikzset{every picture/.append style={framed}, + background rectangle/.style={draw=red}}% +\let\bak@fboxsep\fboxsep% +\def\fboxsep{0pt}% +\fbox{\begin{minipage}[t]{#1}\flushleft#2\end{minipage}}% +\let\fboxsep\bak@fboxsep% +} +\ifbool{exam@boxed}{% +\renewcommand{\examoneblocktop}{\examoneblocktop@box}}{} + +%% +%% Copyright (C) 2017 by Alex Pacini <alexpacini90@gmail.com> +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License (LPPL), either +%% version 1.3c of this license or (at your option) any later +%% version. The latest version of this license is in the file: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% This work is "maintained" (as per LPPL maintenance status) by +%% Alex Pacini. +%% +%% This work consists of the file cesenaexam.dtx +%% and the derived files cesenaexam.ins, +%% cesenaexam.pdf and +%% cesenaexam.cls. +%% +%% +%% End of file `cesenaexam.sty'. |