From 9d9c04e14d0da9dd7829d0ec896aabfd50414fd8 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Fri, 4 Oct 2019 03:01:00 +0000 Subject: CTAN sync 201910040301 --- macros/latex/contrib/quiz2socrative/README.txt | 25 ++ .../contrib/quiz2socrative/quiz2socrative-IT.pdf | Bin 0 -> 185339 bytes .../contrib/quiz2socrative/quiz2socrative-IT.tex | 432 +++++++++++++++++++++ .../contrib/quiz2socrative/quiz2socrative.sty | 230 +++++++++++ .../sample-quiz2socrative-pdfQuiz.pdf | Bin 0 -> 34370 bytes .../sample-quiz2socrative-pdfQuiz.tex | 40 ++ ...ple-quiz2socrative-socrativeQuiz+standalone.pdf | Bin 0 -> 24183 bytes ...ple-quiz2socrative-socrativeQuiz+standalone.tex | 15 + 8 files changed, 742 insertions(+) create mode 100644 macros/latex/contrib/quiz2socrative/README.txt create mode 100644 macros/latex/contrib/quiz2socrative/quiz2socrative-IT.pdf create mode 100644 macros/latex/contrib/quiz2socrative/quiz2socrative-IT.tex create mode 100644 macros/latex/contrib/quiz2socrative/quiz2socrative.sty create mode 100644 macros/latex/contrib/quiz2socrative/sample-quiz2socrative-pdfQuiz.pdf create mode 100644 macros/latex/contrib/quiz2socrative/sample-quiz2socrative-pdfQuiz.tex create mode 100644 macros/latex/contrib/quiz2socrative/sample-quiz2socrative-socrativeQuiz+standalone.pdf create mode 100644 macros/latex/contrib/quiz2socrative/sample-quiz2socrative-socrativeQuiz+standalone.tex (limited to 'macros/latex/contrib/quiz2socrative') diff --git a/macros/latex/contrib/quiz2socrative/README.txt b/macros/latex/contrib/quiz2socrative/README.txt new file mode 100644 index 0000000000..f8dcd0c17f --- /dev/null +++ b/macros/latex/contrib/quiz2socrative/README.txt @@ -0,0 +1,25 @@ +This is the distribution directory for quiz2socrative, a LaTeX package for +preparing multiple choice, true/false and short answer questions. +The main purpouse is to offer a tool to easily insert rather complicated +mathematical stuff in socrative quizzes (see https://socrative.com). + +This is quiz2socrative version 1.0, October 2019. +quiz2socrative is distributed under the LaTeX Project Public License 1.3c. + + +*** Source files: + +quiz2socrative.sty The style file +quiz2socrative-IT.tex The documentation file +sample-quiz2socrative-socrativeQuiz+standalone.tex An example of a set of questions ready to prepare a socrative quiz. +sample-quiz2socrative-pdfQuiz.tex An example of a traditional pen and paper quiz. + + +*** Pdf files: + +quiz2socrative-IT.pdf The documentation (italian only) +sample-quiz2socrative-socrativeQuiz+standalone.pdf An example of a set of questions ready to prepare a socrative quiz. +sample-quiz2socrative-pdfQuiz.pdf An example of a traditional pen and paper quiz. + + +Paolo Lella (paolo.lella@polimi.it) \ No newline at end of file diff --git a/macros/latex/contrib/quiz2socrative/quiz2socrative-IT.pdf b/macros/latex/contrib/quiz2socrative/quiz2socrative-IT.pdf new file mode 100644 index 0000000000..d3ec168565 Binary files /dev/null and b/macros/latex/contrib/quiz2socrative/quiz2socrative-IT.pdf differ diff --git a/macros/latex/contrib/quiz2socrative/quiz2socrative-IT.tex b/macros/latex/contrib/quiz2socrative/quiz2socrative-IT.tex new file mode 100644 index 0000000000..a72201a86e --- /dev/null +++ b/macros/latex/contrib/quiz2socrative/quiz2socrative-IT.tex @@ -0,0 +1,432 @@ +\documentclass[12pt]{article} +\usepackage[top=2.5cm, bottom=2cm, left=2cm, right=2cm]{geometry} +\geometry{a4paper} +\usepackage{graphicx} +\usepackage{amssymb,amsmath,amsthm} +\usepackage[italian]{babel} + +\usepackage{tikz} +\usetikzlibrary{shadows} +\usepackage[colorlinks]{hyperref} +\usepackage{mathpazo,helvet,courier} +\usepackage{fancyvrb} +\usepackage{pdfpages} + +\usepackage{quiz2socrative} + + + +\renewcommand{\baselinestretch}{1.2} + +\renewcommand*{\thefootnote}{\fnsymbol{footnote}} + +\title{Il package \texttt{quiz2socrative}} +\author{Paolo Lella\footnote{Per segnalazioni di errori o malfunzionamenti e/o per suggerimenti di estensioni delle funzionalit\`a del pacchetto, scrivere a \href{mailto:paolo.lella@polimi.it}{\tt paolo.lella@polimi.it}}} +\date{\it \small Versione 1.0, Ottobre 2019} + +\begin{document} + +\maketitle + +\begin{abstract} +Il package \texttt{quiz2socrative.sty} fornisce alcuni comandi utili per la preparazione di domande a risposta multipla, quesiti vero/falso e domande con risposta breve. Queste tre tipologie di domande sono le tipologie disponibili nell'applicazione \textsf{Socrative} (\url{www.socrative.com}). Tale applicazione non offre la possibilit\`a di inserire codice latex direttamente nel corpo di una domanda, pertanto le formule matematiche possono essere inserite solo sotto forma di immagine. Gli strumenti del package \texttt{quiz2socrative.sty} agevolano la produzione di immagini contenenti domande di contenuto matematico e il formato delle immagini \`e pensato appositamente per la fruizione del quiz tramite lo schermo di uno smartphone. +\end{abstract} + +\tableofcontents + +\newpage + +\section{Comandi} +L'applicazione \textsf{Socrative} offre tre tipologie di domande: +\begin{itemize} +\item domande a risposta multipla; +\item quesiti vero/falso; +\item domande con risposta breve. +\end{itemize} + + +\subsection{Domande a risposta multipla} +Il comando principale per la produzione di una domanda a risposta multipla \`e +\begin{center}\tt +\textbackslash socrativeMC\{\textit{}\}\{\textit{}\} +\end{center} + dove le singole risposte nella {\tt \textit{}} devono essere separate dalla stringa \texttt{\textbackslash !\textbackslash !}. Ad esempio il comando + \begin{center} + \parbox{16cm}{\tt +\textbackslash socrativeMC\{Di che colore \`e il cavallo bianco di Napoleone?\}\\ +\phantom{\textbackslash socrativeMC}\{Nero. \textbackslash !\textbackslash ! Bianco. \textbackslash !\textbackslash ! Rosso.\}\hspace{4cm}} + \end{center} +produce la domanda rappresentata in Figura \ref{fig:MC1} (\textsc{n.b.} gli spazi che precedono e seguono la stringa \texttt{\textbackslash !\textbackslash !} vengono ignorati). + +\showBorder +\begin{figure}[!ht] +\begin{center} +\socrativeMC{Di che colore \`e il cavallo bianco di Napoleone?}{Nero. \!\! Bianco. \!\! Rosso.} +\caption{\label{fig:MC1} Esempio di utilizzo del comando \texttt{\textbackslash socrativeMC}.} +\end{center} +\end{figure} + \hideBorder + + \newpage + + Sono disponibili ulteriori comandi per i casi particolari di: + \begin{itemize} + \item due risposte + \begin{center} + \parbox{14cm}{\tt \textbackslash socrativeTwoMC\{\textit{}\}\{\textit{}\}\\ + \phantom{\textbackslash socrativeTwoMC\{\textit{}\}}\{\textit{}\} + } + \end{center} + \item tre risposte + \begin{center} + \parbox{14cm}{\tt \textbackslash socrativeThreeMC\{\textit{}\}\{\textit{}\}\\ + \phantom{\textbackslash socrativeThreeMC\{\textit{}\}}\{\textit{}\}\\ + \phantom{\textbackslash socrativeThreeMC\{\textit{}\}}\{\textit{}\} + } + \end{center} + \item quattro risposte + \begin{center} + \parbox{14cm}{\tt \textbackslash socrativeFourMC\{\textit{}\}\{\textit{}\}\\ + \phantom{\textbackslash socrativeFourMC\{\textit{}\}}\{\textit{}\}\\ + \phantom{\textbackslash socrativeFourMC\{\textit{}\}}\{\textit{}\}\\ + \phantom{\textbackslash socrativeFourMC\{\textit{}\}}\{\textit{}\} + } + \end{center} + \item cinque risposte + \begin{center} + \parbox{14cm}{\tt \textbackslash socrativeFiveMC\{\textit{}\}\{\textit{}\}\\ + \phantom{\textbackslash socrativeFiveMC\{\textit{}\}}\{\textit{}\}\\ + \phantom{\textbackslash socrativeFiveMC\{\textit{}\}}\{\textit{}\}\\ + \phantom{\textbackslash socrativeFiveMC\{\textit{}\}}\{\textit{}\}\\ + \phantom{\textbackslash socrativeFiveMC\{\textit{}\}}\{\textit{}\} + } + \end{center} + \end{itemize} +In questa serie di comandi, ogni risposta \`e inserita come un singolo argomento. + +\subsection{Quesiti vero/falso} + +Per la produzione di un'immagine di un quesito vero/falso, il comando \`e +\begin{center}\tt +\textbackslash socrativeTF\{\textit{}\} +\end{center} + Ad esempio il comando + \begin{center}\tt +\textbackslash socrativeTF\{Un chilo di ferro pesa pi\`u di un chilo di piume.\} +\end{center} +produce la domanda rappresentata in Figura \ref{fig:TF1}. + +\showBorder +\begin{figure}[!ht] +\begin{center} +\socrativeTF{Un chilo di ferro pesa pi\`u di un chilo di piume.} +\caption{\label{fig:TF1} Esempio di utilizzo del comando \texttt{\textbackslash socrativeTF}.} +\end{center} +\end{figure} +\hideBorder + +\subsection{Domande con risposta breve} +Per la produzione di un'immagine di domanda con risposta breve, il comando \`e +\begin{center}\tt +\textbackslash socrativeSA\{\textit{}\} +\end{center} + Ad esempio il comando + \begin{center}\tt +\textbackslash socrativeSA\{Quanto pesa un chilo di ferro?\} +\end{center} +produce la domanda rappresentata in Figura \ref{fig:SA1}. + +\showBorder +\begin{figure}[!ht] +\begin{center} +\socrativeSA{Quanto pesa un chilo di ferro?}\vspace*{-6pt} +\caption{\label{fig:SA1} Esempio di utilizzo del comando \texttt{\textbackslash socrativeSA}.} +\end{center} +\end{figure} +\hideBorder + +\vspace*{-18pt} +\section{Opzioni globali} +Nella chiamata del package \texttt{quiz2socrative}, \`e possibile impostare tre opzioni: +\begin{description} +\item[\texttt{socrativeQuiz} / \texttt{pdfQuiz}] Con l'opzione \texttt{socrativeQuiz}\footnotemark[2]\vspace*{-1pt} +\begin{center}\tt +\textbackslash usepackage[socrativeQuiz]\{quiz2socrative\} +\end{center}\vspace*{-1pt} +ogni domanda viene stampata per essere ritagliata e inserita come immagine in un test \textsf{Socrative}. Le domande contenute nelle Figure \ref{fig:MC1}, \ref{fig:TF1} e \ref{fig:SA1} sono esempi prodotti con questa opzione. + +L'opzione \texttt{pdfQuiz}\footnotemark[2]\vspace*{-1pt} +\begin{center}\tt +\textbackslash usepackage[pdfQuiz]\{quiz2socrative\} +\end{center}\vspace*{-1pt} + \`e pensata invece per la preparazione di test cartacei. L'output dei comandi per produrre domande a risposta multipla rimane invariato, mentre nel caso di quesiti vero/falso vengono aggiunti due riquadri \lq\lq VERO\rq\rq--\lq\lq FALSO\rq\rq~e nel caso di domande con risposta breve viene aggiunto un riquadro con lo spazio per la risposta (vedi Figura \ref{fig:pdfQuiz}). + + \begin{figure}[!ht] +\begin{center} \showBorder \showSolution +\socrativeTF{Un chilo di ferro pesa pi\`u di un chilo di piume.}[2] +\hfill +\socrativeSA{Quanto pesa un chilo di ferro?}[ ]\hideBorder\hideSolution +\caption{\label{fig:pdfQuiz} Il quesito vero/falso e la domanda con risposta breve descritti in figura sono prodotti dai comandi utilizzati nelle Figure \ref{fig:TF1} e \ref{fig:SA1}, ma con l'opzione \texttt{pdfQuiz}.} +\end{center} +\end{figure} + +\item[\texttt{letters} / \texttt{numbers}] Con l'opzione \texttt{letters}\footnotemark[2]\vspace*{-1pt} +\begin{center}\tt +\textbackslash usepackage[letters]\{quiz2socrative\} +\end{center}\vspace*{-1pt} +le risposte delle domande a risposta multipla vengono enumerate con lettere maiuscole, mentre con l'opzione \texttt{numbers}\footnotemark[2]\vspace*{-1pt} +\begin{center}\tt +\textbackslash usepackage[numbers]\{quiz2socrative\} +\end{center}\vspace*{-1pt} +vengono enumerate con numeri (vedi Figura \ref{fig:MC2}). + +\showBorder +\begin{figure}[!ht] +\begin{center} +\socrativeMC{Di che colore \`e il cavallo bianco di Napoleone?}{Nero. \!\! Bianco. \!\! Rosso.} +\hfill\useNumbers +\socrativeMC{Di che colore \`e il cavallo bianco di Napoleone?}{Nero. \!\! Bianco. \!\! Rosso.}\useLetters +\caption{\label{fig:MC2} Una domanda a risposta multipla con l'opzione \texttt{letters} a sinistra e \texttt{numbers} a destra.} +\end{center} +\end{figure} +\hideBorder + +\item[\texttt{italian} / \texttt{english}] Queste due opzioni producono delle differenze se abbinate all'opzione \texttt{pdfQuiz}. Con l'opzione \texttt{italian}\footnotemark[2] +\begin{center}\tt +\textbackslash usepackage[italian,pdfQuiz]\{quiz2socrative\} +\end{center} +nei due riquadri per la risposta ai quesiti vero/falso viene scritto \lq\lq VERO\rq\rq~e \lq\lq FALSO\rq\rq, mentre con l'opzione \texttt{english}\footnotemark[2] +\begin{center}\tt +\textbackslash usepackage[english,pdfQuiz]\{quiz2socrative\} +\end{center} +viene scritto \lq\lq TRUE\rq\rq~e \lq\lq FALSE\rq\rq~(vedi Figura \ref{fig:TF2}). + +\showBorder\showSolution +\begin{figure}[!ht] +\begin{center} +\socrativeTF{$$\frac{1}{2} > \frac{2}{3}$$}[2] +\hfill \useEnglish +\socrativeTF{$$\frac{1}{2} > \frac{2}{3}$$}[2] \useItalian\vspace*{-18pt} +\caption{\label{fig:TF2} Un quesito vero/falso con l'opzione \texttt{italian} a sinistra e \texttt{english} a destra.} +\end{center} +\end{figure} +\hideBorder\hideSolution +\end{description} + +\footnotetext[2]{Le opzioni di default sono \texttt{socrativeQuiz,letters,italian}.} + +\section{Opzioni avanzate} + +\subsection{Larghezza del riquadro} +Tutti i comandi per la produzione di domande hanno un argomento opzionale che consente di variare la larghezza del riquadro (vedi Figura \ref{fig:MC3}): +\begin{center} +\parbox{12cm}{\tt \textbackslash socrativeMC[\textit{}]\{$\cdots$\} \\ + \textbackslash socrativeTwoMC[\textit{}]\{$\cdots$\} \\ + \textbackslash socrativeThreeMC[\textit{}]\{$\cdots$\} \\ + \textbackslash socrativeFourMC[\textit{}]\{$\cdots$\} \\ + \textbackslash socrativeFiveMC[\textit{}]\{$\cdots$\} \\ + \textbackslash socrativeTF[\textit{}]\{$\cdots$\} \\ + \textbackslash socrativeSA[\textit{}]\{$\cdots$\} } +\end{center} +L'argomento \texttt{\textit{}} deve essere un numero con unit\`a di misura (ad esempio \texttt{cm} o \texttt{pt}). La larghezza di default \`e $8$ cm. + + +\showBorder +\begin{figure}[!ht] +\begin{center} +\socrativeThreeMC[15cm]{Di che colore \`e il cavallo bianco di Napoleone?}{Nero.}{Bianco.}{Rosso.} +\caption{\label{fig:MC3} La domanda prodotta dal comando {\tt \textbackslash socrativeThreeMC[15cm]\{Di che colore \`e il cavallo bianco di Napoleone?\}\{Nero.\}\{Bianco.\}\{Rosso.\}}.} +\end{center} +\end{figure} +\hideBorder + +\subsection{Bordo del riquadro} + +Il bordo del riquadro contenente le domande pu\`o non essere mostrato (vedi Figura \ref{fig:MC4}), e la scelta di mostrarlo/non mostrarlo pu\`o essere modificata in ogni punto del file sorgente (anche pi\`u volte) con i comandi +\begin{center} +{\tt \textbackslash hideBorder}\qquad e \qquad {\tt \textbackslash showBorder}. +\end{center} +Con l'opzione \texttt{socrativeQuiz} l'impostazione iniziale \`e senza i bordi ({\tt \textbackslash hideBorder}), mentre con l'opzione \texttt{pdfQuiz} l'impostazione iniziale \`e con i bordi ({\tt \textbackslash showBorder}). + +\begin{figure}[!ht] +\begin{center} +\socrativeThreeMC{Di che colore \`e il cavallo bianco di Napoleone?}{Nero.}{Bianco.}{Rosso.} +\caption{\label{fig:MC4} La domanda prodotta dal comando utilizzato in Figura \ref{fig:MC1}, preceduto dal comando {\texttt{\textbackslash hideBorder}}.} +\end{center} +\end{figure} + +\subsection{Soluzioni} + +Esclusivamente con l'opzione \texttt{pdfQuiz}, \`e possibile produrre le soluzioni di un quiz, cio\`e stampare domande e quesiti risolti. + +Per prima cosa, \`e necessario aggiungere nella definizione della domanda l'informazione relativa alla soluzione. Tutti i comandi per la produzione di domande/quesiti hanno un ultimo argomento opzionale che consente di inserire la soluzione/risposta: +\begin{center} +\parbox{12cm}{\tt \textbackslash socrativeMC\{$\cdots$\}[\textit{}] \\ + \textbackslash socrativeTwoMC\{$\cdots$\}[\textit{}] \\ + \textbackslash socrativeThreeMC\{$\cdots$\}[\textit{}] \\ + \textbackslash socrativeFourMC\{$\cdots$\}[\textit{}] \\ + \textbackslash socrativeFiveMC\{$\cdots$\}[\textit{}] \\ + \textbackslash socrativeTF\{$\cdots$\}[\textit{}] \\ + \textbackslash socrativeSA\{$\cdots$\}[\textit{}] } +\end{center} +Per le domande a risposta multipla (vedi Figura \ref{fig:MC5}), l'argomento opzionale della soluzione \`e dato dal numero della risposta corretta o dalla lista dei numeri delle risposte corrette separati da \lq\lq,\rq\rq~(virgola): +\begin{center} +\parbox{13cm}{{\tt[\textit{}]} \qquad oppure \\ {\tt [\textit{,,\ldots}]}. } +\end{center} + +\begin{figure}[!ht] +\begin{center}\showSolution\showBorder +\socrativeThreeMC{Di che colore \`e il cavallo bianco di Napoleone?}{Nero.}{Bianco.}{Rosso.}[2]\hideSolution\hideBorder +\caption{\label{fig:MC5} La domanda prodotta dal comando {\tt \textbackslash socrativeThreeMC\{Di che colore \`e il cavallo bianco di Napoleone?\}\{Nero.\}\{Bianco.\}\{Rosso.\}[2]}, preceduto dal comando {\texttt{\textbackslash showSolution}}.} +\end{center} +\end{figure} + +Per i quesiti vero/falso (vedi Figura \ref{fig:TF3}), se la soluzione \`e \lq\lq VERO\rq\rq~va aggiunto l'argomento opzionale \texttt{[1]}, mentre se la soluzione \`e \lq\lq FALSO\rq\rq~ l'argomento opzionale \`e \texttt{[0]}. + +\begin{figure}[!ht] +\begin{center}\showSolution\showBorder +\socrativeTF{Un chilo di ferro pesa pi\`u di un chilo di piume.}[0]\hideSolution\hideBorder +\caption{\label{fig:TF3} La domanda prodotta dal comando {\tt \textbackslash socrativeTF\{Un chilo di ferro pesa pi\`u di un chilo di piume.\}[0]}, preceduto dal comando {\texttt{\textbackslash showSolution}}.} +\end{center} +\end{figure} + +Per le domande con risposta breve (vedi Figura \ref{fig:SA2}), l'argomento opzionale della soluzione \`e una qualsiasi porzione di testo. + +\begin{figure}[!ht] +\begin{center}\showSolution\showBorder +\socrativeSA{Quanto pesa un chilo di ferro?}[1000 grammi.]\hideSolution\hideBorder +\caption{\label{fig:SA2} La domanda prodotta dal comando {\tt \textbackslash socrativeSA\{Quanto pesa un chilo di ferro?\}[1000 grammi.]}, preceduto dal comando {\texttt{\textbackslash showSolution}}.} +\end{center} +\end{figure} + +La scelta di mostrare/non mostrare la soluzione pu\`o essere modificata in ogni punto del file sorgente (anche pi\`u volte) con i comandi +\begin{center} +{\tt \textbackslash showSolution}\qquad e \qquad {\tt \textbackslash hideSolution}. +\end{center} + + + +\subsection{La document class \texttt{standalone}} + +Per la produzione di immagini da inserire in un quiz \textsf{Socrative}, si raccomanda l'uso della document class \texttt{standalone} con l'opzione \texttt{tikz} +\begin{center} +\tt \textbackslash documentclass[tikz]\{standalone\} +\end{center} +In questo modo, l'output sar\`a un documento pdf con una domanda/quesito per ogni pagina (con il formato fornito dal pacchetto \texttt{quiz2socrative}). A questo punto sar\`a necessaria solo l'estrazione e la conversione di ogni pagina in formato \texttt{png} o \texttt{jpeg}. + +\newpage + + +\section{Esempi} + +\subsection{\texttt{socrativeQuiz} $+$ \texttt{standalone}} + +Il file \texttt{sample-quiz2socrative-socrativeQuiz+standalone.tex} +\begin{Verbatim}[fontsize=\small,frame=single,numbers=left,numbersep=4pt] +\documentclass[tikz]{standalone} + +\usepackage[socrativeQuiz]{quiz2socrative} + +\begin{document} + +\socrativeMC{Di che colore \`e il cavallo bianco di Napoleone?} + {Nero. \!\! Bianco. \!\! Rosso.} + +\socrativeTF{Un chilo di piume pesa pi\`u di un chilo di ferro.} + +\socrativeSA{Quanto pesa un chilo di ferro?} + +\end{document} +\end{Verbatim} +produce un documento pdf con tre pagine descritte nella Figura \ref{fig:ex1}. + +\begin{figure}[!ht] +\begin{tikzpicture} +\useasboundingbox (0,0); +\node at (8.45cm,-2.84cm) [minimum width=8cm,minimum height=4.7cm,rectangle,,drop shadow={shadow xshift=.75ex, shadow yshift=-.75ex},fill=white]{}; + +\node at (8.45cm,-8.04cm) [minimum width=8cm,minimum height=0.925cm,rectangle,,drop shadow={shadow xshift=.75ex, shadow yshift=-.75ex},fill=white]{}; + +\node at (8.45cm,-6.375cm) [minimum width=8cm,minimum height=1.45cm,rectangle,,drop shadow={shadow xshift=.75ex, shadow yshift=-.75ex},fill=white]{}; + +\end{tikzpicture} + +\begin{center}\showBorder + +\socrativeMC{Di che colore \`e il cavallo bianco di Napoleone?}{Nero. \!\! Bianco. \!\! Rosso.} + +\bigskip + +\socrativeTF{Un chilo di piume pesa pi\`u di un chilo di ferro.} + +\bigskip + +\socrativeSA{Quanto pesa un chilo di ferro?} + +\caption{\label{fig:ex1} Le pagine prodotte dal file {\tt sample-quiz2socrative-socrativeQuiz+ standalone.tex}.} +\end{center} +\end{figure} + +\subsection{\texttt{pdfQuiz}} + +Il file \texttt{sample-quiz2socrative-pdfQuiz.tex} +\begin{Verbatim}[fontsize=\small,frame=single,numbers=left,numbersep=4pt] +\documentclass[12pt]{article} + +\usepackage[pdfQuiz]{quiz2socrative} +\usepackage[a4paper]{geometry} + +\begin{document} +\thispagestyle{empty} + +\begin{center} +{\bf \Large Sample quiz} + +\socrativeMC[10cm]{Di che colore \`e il cavallo bianco di Napoleone?} + {Nero. \!\! Bianco. \!\! Rosso.} + +\bigskip + +\socrativeTF[10cm]{Un chilo di piume pesa pi\`u di un chilo di ferro.} + +\bigskip + +\socrativeSA[10cm]{Quanto pesa un chilo di ferro?} + +\vspace*{\stretch{1}} + +\showSolution +{\bf \Large Sample quiz} {\it (soluzioni)} + +\socrativeMC[10cm]{Di che colore \`e il cavallo bianco di Napoleone?} + {Nero. \!\! Bianco. \!\! Rosso.}[2] + +\bigskip + +\socrativeTF[10cm]{Un chilo di piume pesa pi\`u di un chilo di ferro.}[0] + +\bigskip + +\socrativeSA[10cm]{Quanto pesa un chilo di ferro?}[1000 g] +\end{center} +\end{document} +\end{Verbatim} +produce un documento pdf con una pagina descritta nella Figura \ref{fig:ex2}. + +\begin{figure}[!ht] +\begin{center} +\begin{tikzpicture} +\useasboundingbox (0,0); +\node at (0,-11.9cm) [minimum width=16.75cm,minimum height=23.75cm,rectangle,draw,drop shadow={shadow xshift=.75ex, shadow yshift=-.75ex},fill=white]{}; +\end{tikzpicture} + +\includegraphics[scale=0.8]{sample-quiz2socrative-pdfQuiz.pdf} + + +\caption{\label{fig:ex2} La pagina prodotta dal file {\tt sample-quiz2socrative-pdfQuiz.tex}.} +\end{center} +\end{figure} + + +\end{document} + diff --git a/macros/latex/contrib/quiz2socrative/quiz2socrative.sty b/macros/latex/contrib/quiz2socrative/quiz2socrative.sty new file mode 100644 index 0000000000..f03b5d9dbd --- /dev/null +++ b/macros/latex/contrib/quiz2socrative/quiz2socrative.sty @@ -0,0 +1,230 @@ +% +% quiz2socrative.sty -- preparing questions for socrative quizzes +% by Paolo Lella +% +% quiz2socrative.sty is a LaTeX package for preparing +% multiple choice, true/false and short answer questions. +% The main purpouse is to offer a tool to easily insert rather complicated +% mathematical stuff in socrative quizzes (see https://socrative.com). +% +% This is quiz2socrative version 1.0, October 2019. +% quiz2socrative is distributed under the LaTeX Project Public License 1.3c. + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{quiz2socrative}[2019/10/01 version 1.0 (Paolo Lella)] + +\RequirePackage{calc} +\RequirePackage{tikz} +\RequirePackage{etoolbox} +\RequirePackage{pgfmath} +\RequirePackage{graphicx} +\RequirePackage{xcolor} +\RequirePackage{moresize} +\RequirePackage{listofitems} +\RequirePackage{xparse} +\RequirePackage{ifthen} + +\setsepchar{\!\!} + +\usetikzlibrary{positioning,shapes.misc,shapes.geometric,backgrounds,fit} + +\newcommand{\@showBorder}{0} +\newcommand{\showBorder}{\renewcommand{\@showBorder}{1}} +\newcommand{\hideBorder}{\renewcommand{\@showBorder}{0}} + +\newcommand{\@mode}{0} + +\DeclareOption{pdfQuiz}{ + \renewcommand{\@mode}{1} + \renewcommand{\@showBorder}{1} +} + +\DeclareOption{socrativeQuiz}{ + \renewcommand{\@mode}{0} + \renewcommand{\@showBorder}{0} +} + +\newcommand{\usePdf}{\renewcommand{\@mode}{1}} +\newcommand{\useSocrative}{\renewcommand{\@mode}{0}} + +\newcommand{\@enumType}{} + +\DeclareOption{numbers}{ + \renewcommand{\@enumType}{\arabic} +} + +\DeclareOption{letters}{ + \renewcommand{\@enumType}{\Alph} +} + +\newcommand{\useNumbers}{\renewcommand{\@enumType}{\arabic}} +\newcommand{\useLetters}{\renewcommand{\@enumType}{\Alph}} + +\newcommand{\@trueLabel}{} +\newcommand{\@falseLabel}{} + +\DeclareOption{italian}{ + \renewcommand{\@trueLabel}{VERO} + \renewcommand{\@falseLabel}{FALSO} +} + +\DeclareOption{english}{ + \renewcommand{\@trueLabel}{TRUE} + \renewcommand{\@falseLabel}{FALSE} +} + +\newcommand{\useItalian}{ + \renewcommand{\@trueLabel}{VERO} + \renewcommand{\@falseLabel}{FALSO} + } +\newcommand{\useEnglish}{ + \renewcommand{\@trueLabel}{TRUE} + \renewcommand{\@falseLabel}{FALSE} + } + +\ExecuteOptions{letters,italian,socrativeQuiz} +\ProcessOptions\relax + +\newcommand{\@showSolution}{0} +\newcommand{\showSolution}{\renewcommand{\@showSolution}{1} \renewcommand{\@mode}{1}} +\newcommand{\hideSolution}{\renewcommand{\@showSolution}{0}} + +\newcounter{rispostaCorrente} +\newcounter{rispostaGiusta} + + +\NewDocumentCommand{\socrativeTF}{O{8cm} m o}{ +\begin{tikzpicture}[node distance = 0mm] +\node (Q) at (0,0) [rectangle,minimum width=#1,inner ysep=0.25cm] {\parbox{#1-.5cm}{#2}}; +\ifnumcomp{\@mode}{=}{1}{ + \node (V) [below=of Q,xshift=-0.25*#1,minimum width=0.5*#1-0.5cm,minimum height=1cm,draw,rectangle,inner ysep=0.25cm] {\large\bf \@trueLabel}; + \node (F) [below=of Q,xshift=0.25*#1,minimum width=0.5*#1-0.5cm,minimum height=1cm,draw,rectangle,inner ysep=0.25cm] {\large\bf \@falseLabel}; + \ifnumcomp{\@showSolution}{=}{1}{ + \IfNoValueTF{#3}{ + \PackageError{quiz2socrative}{missing solution}{add [0] if the answer is FALSE and [1] if the answer is TRUE at the end of the command string} + }{ + \ifnumcomp{#3}{=}{1}{% + \node [below=of Q,xshift=-0.25*#1,minimum width=0.5*#1-0.5cm,minimum height=1cm,draw,cross out,thick] {}; + }{}% + \ifnumcomp{#3}{=}{0}{% + \node [below=of Q,xshift=0.25*#1,minimum width=0.5*#1-0.5cm,minimum height=1cm,draw,cross out,thick] {}; + }{}% + } + }{}% +}{} +\ifnumcomp{\@showBorder}{=}{1}{ + \ifnumcomp{\@mode}{=}{1}{ + \node (A) [below=of Q,minimum width=#1,minimum height=1.25cm,rectangle] {}; + \draw (Q.north east) -- (Q.north west) -- (A.south west) -- (A.south east) -- cycle; + }{ + \draw (Q.north east) -- (Q.north west) -- (Q.south west) -- (Q.south east) -- cycle; + } +}{} +\end{tikzpicture} +}% end \socrativeTF + +\NewDocumentCommand{\socrativeMC}{O{8cm} m m o}{ +\setsepchar{\!\!} +\readlist*\listaRisposte{#3} +\ifnumcomp{\@showSolution}{=}{1}{ + \IfNoValueTF{#4}{ + \PackageError{quiz2socrative}{missing solution}{add the list [ , ... , ] of the correct answers at the end of the command string} + }{ + \setsepchar{,} + \readlist*\listaRisposteCorrette{#4} + } +}{} +\setcounter{rispostaCorrente}{0} +\begin{tikzpicture}[node distance=0mm] +\node (0) at (0,0) [] {}; +\node (Q) [above=of 0,yshift=-0.3cm,rectangle,minimum width=#1,inner ysep=0.3cm] {\parbox[t]{#1-0.5cm}{#2}}; + +\foreach \i in {1,...,\listaRispostelen}{ +\addtocounter{rispostaCorrente}{1} +\node (0) [below=of 0,rectangle, minimum width=#1,minimum height=1cm,inner ysep=0.3cm] {\hspace*{0.75cm}\parbox[t]{#1-1.25cm}{\listaRisposte[\i]}}; +\node at (0.north west) [xshift=0.5cm,yshift=-0.5cm,rectangle,draw,minimum width=0.6cm,minimum height=0.6cm] {\bf\large \@enumType{rispostaCorrente}}; +\ifnumcomp{\@showSolution}{=}{1}{ + \setcounter{rispostaGiusta}{0} + \foreach \j in {1,...,\listaRisposteCorrettelen}{ + \ifnumcomp{\listaRisposteCorrette[\j]}{=}{\value{rispostaCorrente}}{\breakforeach}{\addtocounter{rispostaGiusta}{1}} + } + \ifnumcomp{\value{rispostaGiusta}}{<}{\listaRisposteCorrettelen}{ + \node at (0.north west) [xshift=0.5cm,yshift=-0.5cm,cross out,thick,draw,minimum width=0.5cm,minimum height=0.5cm] {\bf \phantom{\@enumType{rispostaCorrente}}}; + }{} +}{} +} + +\ifnumcomp{\@showBorder}{=}{1}{ + \draw (Q.north east) -- (Q.north west) -- (0.south west) -- (0.south east) -- cycle; +}{} +\end{tikzpicture} +}% end \socrativeMC + +\NewDocumentCommand{\socrativeTwoMC}{O{8cm} m m m o}{ +\IfNoValueTF{#5}{ + \socrativeMC[#1]{#2}{#3 \!\! #4} +}{ + \socrativeMC[#1]{#2}{#3 \!\! #4}[#5] +} +} + +\NewDocumentCommand{\socrativeThreeMC}{O{8cm} m m m m o}{ +\IfNoValueTF{#6}{ + \socrativeMC[#1]{#2}{#3 \!\! #4 \!\! #5} +}{ + \socrativeMC[#1]{#2}{#3 \!\! #4 \!\! #5}[#6] +} +} + +\NewDocumentCommand{\socrativeFourMC}{O{8cm} m m m m m o}{ +\IfNoValueTF{#7}{ + \socrativeMC[#1]{#2}{#3 \!\! #4 \!\! #5 \!\! #6} +}{ + \socrativeMC[#1]{#2}{#3 \!\! #4 \!\! #5 \!\! #6}[#7] +} +} + +\NewDocumentCommand{\socrativeFiveMC}{O{8cm} m m m m m m o}{ +\IfNoValueTF{#8}{ + \socrativeMC[#1]{#2}{#3 \!\! #4 \!\! #5 \!\! #6 \!\! #7} +}{ + \socrativeMC[#1]{#2}{#3 \!\! #4 \!\! #5 \!\! #6 \!\! #7}[#8] +} +} + +\NewDocumentCommand{\socrativeSA}{O{8cm} m o}{ +\begin{tikzpicture}[node distance = 0mm] +\node (Q) at (0,0) [rectangle,minimum width=#1,inner ysep=0.25cm] {\parbox{#1-.5cm}{#2}}; +\ifnumcomp{\@mode}{=}{1}{ + \IfNoValueTF{#3}{ + \ifnumcomp{\@showSolution}{=}{1}{ + \PackageError{quiz2socrative}{missing solution}{add the answer in square brackets at the end of the command string} + }{ + \node (A) [below=of Q,minimum width=#1-0.5cm,minimum height=1cm,rectangle,draw] {}; + } + }{ + \ifnumcomp{\@showSolution}{=}{1}{ + \node (A) [below=of Q,minimum width=#1-0.5cm,minimum height=1cm,rectangle,draw] {\parbox{#1-1cm}{#3}}; + }{ + \node (A) [below=of Q,minimum width=#1-0.5cm,minimum height=1cm,rectangle,draw,fill=white] {\parbox{#1-1cm}{\textcolor{white}{#3}}}; + } + } +}{} +\ifnumcomp{\@showBorder}{=}{1}{ + \ifnumcomp{\@mode}{=}{1}{ + \node (L) [below=of A,inner sep = 0pt,yshift=-0.15cm] {}; + \begin{pgfonlayer}{background} + \node [draw,rectangle,inner xsep=0,inner ysep=0.2pt,fit=(Q) (L)] {}; + \end{pgfonlayer} + }{ + \begin{pgfonlayer}{background} + \node [draw,rectangle,inner sep=0,fit=(Q)] {}; + \end{pgfonlayer} + } +}{} +\end{tikzpicture} +}% end \socrativeSA + + +\endinput + diff --git a/macros/latex/contrib/quiz2socrative/sample-quiz2socrative-pdfQuiz.pdf b/macros/latex/contrib/quiz2socrative/sample-quiz2socrative-pdfQuiz.pdf new file mode 100644 index 0000000000..7d2373fc95 Binary files /dev/null and b/macros/latex/contrib/quiz2socrative/sample-quiz2socrative-pdfQuiz.pdf differ diff --git a/macros/latex/contrib/quiz2socrative/sample-quiz2socrative-pdfQuiz.tex b/macros/latex/contrib/quiz2socrative/sample-quiz2socrative-pdfQuiz.tex new file mode 100644 index 0000000000..0fc1adf1db --- /dev/null +++ b/macros/latex/contrib/quiz2socrative/sample-quiz2socrative-pdfQuiz.tex @@ -0,0 +1,40 @@ +\documentclass[12pt]{article} + +\usepackage[pdfQuiz]{quiz2socrative} +\usepackage[a4paper]{geometry} + +\begin{document} +\thispagestyle{empty} + +\begin{center} +{\bf \Large Sample quiz} + +\socrativeMC[10cm]{Di che colore \`e il cavallo bianco di Napoleone?} + {Nero. \!\! Bianco. \!\! Rosso.} + +\bigskip + +\socrativeTF[10cm]{Un chilo di piume pesa pi\`u di un chilo di ferro.} + +\bigskip + +\socrativeSA[10cm]{Quanto pesa un chilo di ferro?} + +\vspace*{\stretch{1}} + +\showSolution +{\bf \Large Sample quiz} {\it (soluzioni)} + +\socrativeMC[10cm]{Di che colore \`e il cavallo bianco di Napoleone?} + {Nero. \!\! Bianco. \!\! Rosso.}[2] + +\bigskip + +\socrativeTF[10cm]{Un chilo di piume pesa pi\`u di un chilo di ferro.}[0] + +\bigskip + +\socrativeSA[10cm]{Quanto pesa un chilo di ferro?}[1000 g] +\end{center} +\end{document} + diff --git a/macros/latex/contrib/quiz2socrative/sample-quiz2socrative-socrativeQuiz+standalone.pdf b/macros/latex/contrib/quiz2socrative/sample-quiz2socrative-socrativeQuiz+standalone.pdf new file mode 100644 index 0000000000..b660223387 Binary files /dev/null and b/macros/latex/contrib/quiz2socrative/sample-quiz2socrative-socrativeQuiz+standalone.pdf differ diff --git a/macros/latex/contrib/quiz2socrative/sample-quiz2socrative-socrativeQuiz+standalone.tex b/macros/latex/contrib/quiz2socrative/sample-quiz2socrative-socrativeQuiz+standalone.tex new file mode 100644 index 0000000000..a6ea33418f --- /dev/null +++ b/macros/latex/contrib/quiz2socrative/sample-quiz2socrative-socrativeQuiz+standalone.tex @@ -0,0 +1,15 @@ +\documentclass[tikz]{standalone} + +\usepackage[socrativeQuiz]{quiz2socrative} + +\begin{document} + +\socrativeMC{Di che colore \`e il cavallo bianco di Napoleone?} + {Nero. \!\! Bianco. \!\! Rosso.} + +\socrativeTF{Un chilo di piume pesa pi\`u di un chilo di ferro.} + +\socrativeSA{Quanto pesa un chilo di ferro?} + +\end{document} + -- cgit v1.2.3