diff --git a/exam-answers.tex b/exam-answers.tex new file mode 100644 index 0000000000000000000000000000000000000000..e50f47e0cf4aa5f47ee2d51f912a6c7f60bf1ce6 --- /dev/null +++ b/exam-answers.tex @@ -0,0 +1,54 @@ +\documentclass[12pt]{article} +%\usepackage{verbatim} +\usepackage{fancyvrb} +\usepackage{tikz} +\usepackage{exam} +\usepackage{times} +\usepackage{stmaryrd} +\usepackage{mathpartir} +\usepackage{alltt} +\usepackage{enumerate} +\usepackage{xcomment} +\usepackage{algorithm,algorithmic} + +% Only needed for demonstration. +\usepackage{lipsum} + +\newenvironment{soltt}{\begin{xcomment}{document}}{\end{xcomment}} +\renewcommand{\familydefault}{\sfdefault} + +\begin{document} + +% When the paper has been written, the number of pages needs to be +% provided, instead of 11. (It should be possible to solve this +% properly with lastpage.) +\pagetot{CSxyz}{11} + +\vspace*{-0.3cm} + +\newcommand{\solflag}{1} %%% remove %%% from start of line to make answers +\ifx\solflag\undefined + \newcommand{\sol}[1]{} + \newcommand{\solonly}[1]{} +\else + \newcommand{\sol}[1]{\vspace*{-0.05in}\textit{#1}\vspace*{-0.2in}} + \newcommand{\solonly}[1]{#1} +\fi + +% --------------------------------------------------- +%%% Preamble information. +\class{CSxyz\quad Anti-Engineering Methods \\ SPECIMEN SOLUTION} +\vspace*{-0.2cm} + +\examdate{XX XXXX 2021} {XX:XX\,-\,XX:XX}{3 hours} + +\vspace*{-0.5cm} + +\preamble{Attempt THREE questions.} + + +\input{exam-questions} + +\sig{Prof. E.~X.~A.~M. Setter} + +\end{document} diff --git a/exam-paper.pdf b/exam-paper.pdf new file mode 100644 index 0000000000000000000000000000000000000000..20eaef6543393a4056cd1d2c2e4259ca3929c512 Binary files /dev/null and b/exam-paper.pdf differ diff --git a/exam-paper.tex b/exam-paper.tex new file mode 100644 index 0000000000000000000000000000000000000000..61904d6e1901e323941a4b6401749d53ed1dfa88 --- /dev/null +++ b/exam-paper.tex @@ -0,0 +1,63 @@ +\documentclass[12pt]{article} +\usepackage[usenames]{color} +\usepackage{fancyvrb} +\usepackage{colordvi} +\usepackage{epic, eepic} +\usepackage{tikz} +\usepackage{exam} +\usepackage{times} +\usepackage{alltt} +\usepackage{enumerate} +\usepackage{xcomment} +\usepackage{mathpartir} +\usepackage{setspace} +\usepackage{algorithm,algorithmic} + +% Only needed for demonstration. +\usepackage{lipsum} + +\newenvironment{soltt}{\begin{xcomment}{document}}{\end{xcomment}} +\renewcommand{\familydefault}{\sfdefault} + +\begin{document} + +% When the paper has been written, the number of pages needs to be +% provided, instead of 11. (It should be possible to solve this +% properly with lastpage.) +\pagetot{CSxyz}{11} + +\vspace*{-0.3cm} + +%%%\newcommand{\solflag}{1} %%% remove %%% from start of line to make answers +\ifx\solflag\undefined + \newcommand{\sol}[1]{} + \newcommand{\solonly}[1]{} +\else + \newcommand{\sol}[1]{\vspace*{-0.05in}\textit{#1}\vspace*{-0.2in}} + \newcommand{\solonly}[1]{#1} +\fi + +% --------------------------------------------------- +%%% Preamble information. + +\class{CSxyz\quad Anti-Engineeering Methods} +\vspace*{-0.2cm} + +\examdate{19th April 2021}{09:30\,-\,12:30}{3 hours} + +\vspace*{-0.5cm} + +\preamble{Attempt THREE questions.} + +% --------------------------------------------------- +%%% Set the line spacing. +\setstretch{1.5} + +% Some students require linespacing of 1.5 or 2.0. By default, +% the setstretch can be 1.0. + +\input{exam-questions} + +\sig{Prof. E.~X.~A.~M. Setter} + +\end{document} diff --git a/exam-questions.tex b/exam-questions.tex new file mode 100644 index 0000000000000000000000000000000000000000..769eb16265b4f3eed61fb5157f2a5fd72b72a9ab --- /dev/null +++ b/exam-questions.tex @@ -0,0 +1,60 @@ +%% Commands that others have found useful. +\newcommand{\true}{\mbox{TRUE}} +\newcommand{\zero}{\mbox{ZERO}} +\newcommand{\one}{\mbox{ONE}} +\newcommand{\two}{\mbox{TWO}} +\newcommand{\false}{\mbox{FALSE}} +\newcommand{\bred}{\;\beta\hspace*{-1.5mm} \rightarrow\;} +\newcommand{\ared}{\;\alpha\hspace*{-1.5mm} \rightarrow\;} +\newcommand{\zxz}{\; \leftarrow\;} +\newcommand{\Oh}{\mathcal{O}} +\newcommand{\lar}{$ \quad \leftarrow \quad $} +\newcommand\GETOUT[1]{} + +% --------------------------------------------------- +%%% Exam questions. + +\newcommand{\True}{\mathsf{T}} +\newcommand{\False}{\mathsf{F}} +\newcommand{\sem}[1]{\llbracket #1 \rrbracket} + +% Question 1 +\begin{examqu} + \begin{examsubq} + \item Questions are a burden to others. + + \mrks{6} + + \sol{LEARNING OUTCOMES: \\ Answers are a prison for oneself} + \ssplit + \item Question everything. + \begin{examsubsubq} + \item Why? + + \mrks{3} + + \sol{LEARNING OUTCOMES: \\ See (ii).} + \item Why not? + + \mrks{3} + + \sol{LEARNING OUTCOMES: \\ See (i).} + \end{examsubsubq} + \end{examsubq} +\end{examqu} + + +\ssplit + +% Question 2 +\begin{examqu} + \begin{examsubq} + \item \lipsum[3] + \mrks{5} + + \end{examsubq} +\end{examqu} + +%%% End of questions. +% --------------------------------------------------- +\endinput \ No newline at end of file diff --git a/exam.sty b/exam.sty new file mode 100644 index 0000000000000000000000000000000000000000..9b0b451553009f396ac170f867371e9f9afbd5f9 --- /dev/null +++ b/exam.sty @@ -0,0 +1,123 @@ +\usepackage{ifthen,graphicx} +\usepackage[cmex10]{amsmath} +\usepackage{amssymb} +\usepackage{babel} + +%-------------------------------- +% pagesize and layout +%-------------------------------- +\usepackage[a4paper,margin=12mm,top=40mm,bottom=40mm,headsep=10pt,headheight=123pt]{geometry} +\parskip=.55cm + +%-------------------------------- +% Font +%-------------------------------- +% helvet is similar to Arial and is part of TexLive. +\usepackage{helvet} +\renewcommand{\familydefault}{\sfdefault} + +%------------------------------------------- +% University Crest +%------------------------------------------- +\usepackage{fancyhdr} +\rhead{\includegraphics[width=37mm]{images/strath_main.jpg}} +\renewcommand{\headrulewidth}{0pt} +\pagestyle{fancy} + +%------------------------------------------------ +% Class name, exam date and preamble +%------------------------------------------------ +\newcommand{\class}[1]{\vspace*{-2mm}\begin{center} \textsf{\textbf{\large{#1}}} +\end{center}} +\newcommand{\examdate}[3]{\textsf{{\textbf{#1}\hfill \textbf{#2}}\\ +\mbox{\ }\hfill \textbf{Duration: #3}}} +\newcommand{\preamble}[1]{\begin{center} \textsf{\textbf{#1}} +\end{center}\vspace*{.2cm}} + +%----------------------------------------- +% End of Paper and Signature +%----------------------------------------- +\newcommand{\sig}[1]{\vfill\begin{center}\large \textsf{\textbf{END OF PAPER}} +\end{center} +\begin{center}\textsf{\textbf{({#1})}}\end{center}\vfill} + +%--------------------------------------------- +% Page numbering +%--------------------------------------------- +%%\newcommand{\pagetot}[2]{\renewcommand{\thepage}{\small{\textsf{\textbf{#1\hfill +%%Page \arabic{page} of\,\ {#2}}}}}} +\newcommand{\pagetot}[2]{\renewcommand{\thepage}{\small{\textsf{\textbf{#1\hfill\ {\ifthenelse{\equal{\value{page}}{#2}}{}{\textsf{\textbf{PLEASE TURN OVER}}}} + \hfill\ Page \arabic{page} of\,\ {#2}}}}}} + +%--------------------------------------------- +% Number of marks or one mark +%--------------------------------------------- +\newcommand{\mrks}[1]{\nopagebreak\vspace*{-3mm}\begin{flushright} +\textsf{\textbf{(#1 marks)}}\end{flushright}} +\newcommand{\onemark}{\nopagebreak\begin{flushright} \textsf{\textbf{(1 +mark)}}\end{flushright}} + +%-------------------------------------------- +% Exam Question Environment +%-------------------------------------------- +\newboolean{qu} +\newcounter{examquestion} +\newenvironment{examqu}{\setboolean{qu}{true} +\addtocounter{examquestion}{1} +\begin{tabbing}\setlength{\tabbingsep}{0pt} +10.\=x\= x\+ \kill +\textbf{\theexamquestion.}\'\>\begin{minipage}[t]{6.4in} } { +\end{minipage} +\end{tabbing}\setboolean{qu}{false}} + +%------------------------------------------- +% Exam Subquestion environment +%------------------------------------------- +\newboolean{sub} +\newcounter{exsubq} +\newenvironment{examsubq}{\setboolean{sub}{true} +\begin{list}{\textbf{(\alph{exsubq})}}{\usecounter{exsubq} +\setlength{\parsep}{0cm}\setlength{\itemindent}{0pt} +\setlength{\labelwidth}{6mm}\setlength{\itemsep}{1cm}\setlength{\labelsep}{2mm}\setlength{\leftmargin} +{\leftmarginiv} }} {\end{list}\setboolean{sub}{false}} + +%------------------------------------------- +% Exam Sub-subquestion environment +%------------------------------------------- +\newcounter{exsubsubq} +\newenvironment{examsubsubq}{ +\begin{list}{\textbf{(\roman{exsubsubq})}}{\usecounter{exsubsubq} +\setlength{\parsep}{0cm}\setlength{\itemindent}{0pt} +\setlength{\labelwidth}{6mm}\setlength{\itemsep}{1cm}\setlength{\labelsep}{2mm}\setlength{\leftmargin} +{\leftmarginiv}}} {\end{list}} + +%------------------------------------------- +% Please turn over +%------------------------------------------- +\newboolean{early} +\setboolean{early}{false} +\newcommand{\overleaf}{\nopagebreak\vspace*{-3mm}\vfill +\begin{center} +\ifthenelse{\boolean{early}}{ +\textsf{\textbf{Question\,\theexamquestion~CONTINUED ON NEXT SHEET}}} +{\addtocounter{examquestion}{1} +\ifthenelse{\isodd{\value{page}}}{ +\textsf{\textbf{Qu.\,\theexamquestion~ON NEXT SHEET}}}{\textsf{\textbf{Qu.\,\theexamquestion~ON NEXT SHEET}}}\addtocounter{examquestion}{-1}} +\end{center}\vfill} + +%-------------------------------------------- +% Split a page during or in between Exam questions +%-------------------------------------------- + +\newcounter{exq} +\newcommand{\ssplit}{\ifthenelse{\boolean{sub}}{\setcounter{exq}{\value{exsubq}} +\end{examsubq}\end{examqu}\setboolean{early}{true}\overleaf\addtocounter{examquestion}{-1}\setboolean{early}{false}\newpage +\begin{examqu}\begin{examsubq} \setcounter{exsubq}{\value{exq}}}{ +\ifthenelse{\boolean{qu}}{ +\end{examqu}\setboolean{early}{true}\overleaf\addtocounter{examquestion}{-1}\newpage\setboolean{early}{false}\begin{examqu}}{\overleaf\newpage}}} +\newcommand{\sssplit}{\ifthenelse{\boolean{sub}}{\setcounter{exq}{\value{exsubq}} +\end{examsubq}\end{examqu}\setboolean{early}{true}\overleaf\addtocounter{examquestion}{-1}\setboolean{early}{false}\newpage +\begin{examqu}\begin{examsubq} \setcounter{exsubq}{\value{exq}}}{ +\ifthenelse{\boolean{qu}}{ +\end{examqu}\setboolean{early}{true}\overleaf\addtocounter{examquestion}{-1}\newpage\setboolean{early}{false}\begin{examqu}}{\overleaf\newpage}}} + diff --git a/images/strath_main.jpg b/images/strath_main.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0992fb1c9195749975d2e44ab3c78190e24bba1b Binary files /dev/null and b/images/strath_main.jpg differ