% eksoppg.cls % % En LaTeX2e dokument klasse for eksamensoppgaver % Skrevet av Kåre Olaussen etter eksamen.sty av Per Arne Slotte \def\fileversion{1.0} \def\filedate{2000/12/12} \NeedsTeXFormat{LaTeX2e} \ProvidesClass{eksoppg}[\filedate\space Version \fileversion\space by Kåre Olaussen] \DeclareOption*{ \PassOptionsToClass{\CurrentOption}{article} } \ProcessOptions \LoadClass{article} \RequirePackage{ifthen,a4wide,no,amsmath,isolatin1,wrapfig} % ***************** % ** PAGE LAYOUT ** % ***************** \setlength{\parskip}{6pt plus 2pt minus 1pt} \setlength{\parindent}{0pt} \setlength{\headsep}{0.5cm} % **************** % ** MACROS ** % **************** % We name all internal registers and commands with the sequence \O@@... \newcommand\O@@eksamenlarge{\@setfontsize\ntnularge\@xivpt{16}} %\newcommand\O@@eksamensmall{\@setfontsize\ntnusmall\@ixpt{10}} \newcommand\O@@eksamensmall{\@setfontsize\ntnusmall\@xipt{11}} % Makroer for å sette/fjerne universitetsnavn, med default % \def\universitet#1{% \renewcommand{\O@@universitet}{#1}% \renewcommand{\O@@Duniversitet}{1}% } \def\nouniversitet{% \renewcommand{\O@@universitet}{}% \renewcommand{\O@@Duniversitet}{0}% } \newcommand{\O@@universitet}{Norges teknisk--naturvitenskapelige universitet\\NTNU} \newcommand{\O@@Duniversitet}{1} % Makroer for å sette fjerne logo, med default % \def\logo#1{% \renewcommand{\O@@logo}{#1}% \renewcommand{\O@@Dlogo}{1}% } \def\nologo{% \renewcommand{\O@@logo}{}% \renewcommand{\O@@Dlogo}{0}% } \newcommand{\O@@logo}{ekslogo} \newcommand{\O@@Dlogo}{1} % Makroer for å sette/fjerne fakultetsnavn, med default % \def\fakultet#1{% \renewcommand{\O@@fakultet}{#1}% \renewcommand{\O@@Dfakultet}{1}% } \def\nofakultet{% \renewcommand{\O@@fakultet}{}% \renewcommand{\O@@Dfakultet}{0}% } \newcommand{\O@@fakultet}{Fakultet for fysikk, informatikk\\og matematikk} \newcommand{\O@@Dfakultet}{1} % Makroer for å sette/fjerne institutt, med default % \def\institutt#1{% \renewcommand{\O@@institutt}{#1}% \renewcommand{\O@@Dinstitutt}{1}% } \def\noinstitutt{% \renewcommand{\O@@institutt}{}% \renewcommand{\O@@Dinstitutt}{0}% } \newcommand{\O@@institutt}{Institutt for fysikk} \newcommand{\O@@Dinstitutt}{1} % Makroer for å sette/fjerne fagnummer, med tom default % \def\fagnummer#1{% \renewcommand{\O@@fagnummer}{#1}% \renewcommand{\O@@Dfagnummer}{1}% } \def\nofagnummer{% \renewcommand{\O@@fagnummer}{}% \renewcommand{\O@@Dfagnummer}{0}% } \newcommand{\O@@fagnummer}{} \newcommand{\O@@Dfagnummer}{0} % Makroer for å sette/fjerne fagnavn, med tom default % \def\fagnavn#1{% \renewcommand{\O@@fagnavn}{#1}% \renewcommand{\O@@Dfagnavn}{1}% } \def\nofagnavn{% \renewcommand{\O@@fagnavn}{}% \renewcommand{\O@@Dfagnavn}{0}% } \newcommand{\O@@fagnavn}{} \newcommand{\O@@Dfagnavn}{0} % Makroer for å sette/fjerne kortversjon av fagnavn, med tom default % \def\kortfagnavn#1{% \renewcommand{\O@@kortfagnavn}{#1}% \renewcommand{\O@@Dkortfagnavn}{1}% } \def\nokortfagnavn{% \renewcommand{\O@@kortfagnavn}{}% \renewcommand{\O@@Dkortfagnavn}{0}% } \newcommand{\O@@kortfagnavn}{} \newcommand{\O@@Dkortfagnavn}{0} % Makroer for å sette/fjerne dato, med tom default % \def\dato#1{% \renewcommand{\O@@dato}{#1}% \renewcommand{\O@@Ddato}{1}% } \def\nodato{% \renewcommand{\O@@dato}{}% \renewcommand{\O@@Ddato}{0}% } \newcommand{\O@@dato}{} \newcommand{\O@@Ddato}{0} % Makroer for å sette/fjerne kortversjon av dato, med tom default % \def\kortdato#1{% \renewcommand{\O@@kortdato}{#1}% \renewcommand{\O@@Dkortdato}{1}% } \def\nokortdato{% \renewcommand{\O@@kortdato}{}% \renewcommand{\O@@Dkortdato}{0}% } \newcommand{\O@@kortdato}{} \newcommand{\O@@Dkortdato}{0} % Makroer for å sette/fjerne kontakt, med tom default % \def\kontakt#1{% \renewcommand{\O@@kontakt}{#1}% \renewcommand{\O@@Dkontakt}{1}% } \def\nokontakt{% \renewcommand{\O@@kontakt}{}% \renewcommand{\O@@Dkontakt}{0}% } \newcommand{\O@@kontakt}{} \newcommand{\O@@Dkontakt}{0} % Makroer for å sette/fjerne telefonnummer, med tom default % \def\telefon#1{% \renewcommand{\O@@telefon}{#1}% \renewcommand{\O@@Dtelefon}{1}% } \def\notelefon{% \renewcommand{\O@@telefon}{}% \renewcommand{\O@@Dtelefon}{0}% } \newcommand{\O@@telefon}{} \newcommand{\O@@Dtelefon}{0} % Makroer for å sette/fjerne eksamenstid, med tom default % \def\tid#1{% \renewcommand{\O@@tid}{#1}% \renewcommand{\O@@Dtid}{1}% } \def\notid{% \renewcommand{\O@@tid}{}% \renewcommand{\O@@Dtid}{0}% } \newcommand{\O@@tid}{} \newcommand{\O@@Dtid}{0} % Makroer for å sette/fjerne hjelpemiddelalternativ, med default % \def\hjelpemiddelalternativ#1{% \renewcommand{\O@@hjelpemiddelalternativ}{#1}% \renewcommand{\O@@Dhjelpemiddelalternativ}{1}% } \def\nohjelpemiddelalternativ{% \renewcommand{\O@@hjelpemiddelalternativ}{}% \renewcommand{\O@@Dhjelpemiddelalternativ}{0}% } \newcommand{\O@@hjelpemiddelalternativ}{B} \newcommand{\O@@Dhjelpemiddelalternativ}{1} % Makroer for å sette/fjerne hjelpemidler, med tom default % \def\hjelpemidler#1{% \renewcommand{\O@@hjelpemidler}{#1}% \renewcommand{\O@@Dhjelpemidler}{1}% } \def\nohjelpemidler{% \renewcommand{\O@@hjelpemidler}{}% \renewcommand{\O@@Dhjelpemidler}{0}% } \newcommand{\O@@hjelpemidler}{} \newcommand{\O@@Dhjelpemidler}{0} % Makroer for å sette/fjerne sensurdato, med tom default \def\sensur#1{% \renewcommand{\O@@sensur}{#1}% \renewcommand{\O@@Dsensur}{1}% } \def\nosensur{% \renewcommand{\O@@sensur}{}% \renewcommand{\O@@Dsensur}{0}% } \newcommand{\O@@sensur}{} \newcommand{\O@@Dsensur}{0} % Makroer for å sette/fjerne diverse-informasjon, med tom default \def\diverse#1{% \renewcommand{\O@@diverse}{#1}% \renewcommand{\O@@Ddiverse}{1}% } \def\nodiverse{% \renewcommand{\O@@diverse}{}% \renewcommand{\O@@Ddiverse}{0}% } \newcommand{\O@@diverse}{} \newcommand{\O@@Ddiverse}{0} \newcommand{\O@@harvedlegg}{0} \newif\ifpdf \ifx\pdfoutput\undefined \pdffalse \else \pdfoutput=1 \pdftrue \fi \ifpdf \usepackage[pdftex]{graphicx} \pdfcompresslevel=9 \else \usepackage{graphicx} \fi % % Babelisering % \RequirePackage[english,nynorsk,norsk]{babel} % Norsk bokmål % \addto\extrasnorsk{ \def\O@@oppgave{Oppgave} \def\O@@eksamenifag{Eksamen i \O@@fagnummer\space\O@@fagnavn} \def\O@@eksamenifagogtid{Eksamen i \O@@fagnummer\space\O@@kortfagnavn, \O@@kortdato} \def\O@@tillatt{Tillatte hjelpemidler} \def\O@@oppgaveside{Side {\thepage} av \pageref{pg:siste-oppgaveside}} \def\O@@vedleggside{Vedlegg, side {\thepage} av \pageref{pg:siste-vedleggside}} \def\O@@kontaktinfo{Faglig kontakt under eksamen:\\\O@@kontakt} \def\O@@telefoninfo{Telefon: \O@@telefon} \def\O@@antallsider{ \ifthenelse{\pageref{pg:siste-oppgaveside}=1}{en side}{\pageref{pg:siste-oppgaveside} sider}} \def\O@@plusvedlegg{% \ifthenelse{\pageref{pg:siste-vedleggside}=0}{.}{, pluss et vedlegg på \ifthenelse{\pageref{pg:siste-vedleggside}=1}{en side.}{\pageref{pg:siste-oppgaveside} sider.} } } \def\O@@sensurfall{Sensur:} \def\O@@oppgavesett{Dette oppgavesettet er på \O@@antallsider\O@@plusvedlegg} \def\O@@vedlegg{Vedlegg} } % Nynorsk % \addto\extrasnynorsk{ \def\O@@oppgave{Oppgåve} \def\O@@eksamenifag{Eksamen i \O@@fagnummer\space\O@@fagnavn} \def\O@@eksamenifagogtid{Eksamen i {\O@@fagnummer} {\O@@kortfagnavn}, {\O@@kortdato}} \def\O@@tillatt{Tilletne hjelpemiddel} \def\O@@oppgaveside{Side {\thepage} av \pageref{pg:siste-oppgaveside}} \def\O@@vedleggside{Vedlegg, side {\thepage} av \pageref{pg:siste-vedleggside}} \def\O@@kontaktinfo{Fagleg kontakt under eksamen:\\ \O@@kontakt} \def\O@@telefoninfo{Telefon: \O@@telefon} \def\O@@antallsider{ \ifthenelse{\pageref{pg:siste-oppgaveside}=1}{ein side}{\pageref{pg:siste-oppgaveside} sidar}} \def\O@@plusvedlegg{% \ifthenelse{\pageref{pg:siste-vedleggside}=0}{.}{, pluss eit vedlegg på \ifthenelse{\pageref{pg:siste-vedleggside}=1}{ein side.}{\pageref{pg:siste-oppgaveside} sidar.} } } \def\O@@oppgavesett{Dette oppgåvesettet er på \O@@antallsider\O@@plusvedlegg} \def\O@@sensurfall{Sensur:} \def\O@@vedlegg{Vedlegg} } % English % \addto\extrasenglish{ \def\O@@oppgave{Problem} \def\O@@eksamenifag{Exam in \O@@fagnummer\space\O@@fagnavn} \def\O@@eksamenifagogtid{Exam in {\O@@fagnummer} {\O@@kortfagnavn}, {\O@@kortdato}} \def\O@@tillatt{Allowed help} \def\O@@oppgaveside{Page {\thepage} of \pageref{pg:siste-oppgaveside}} \def\O@@vedleggside{Appendix, page {\thepage} of \pageref{pg:siste-vedleggside}} \def\O@@kontaktinfo{Contact during the exam:\\\O@@kontakt} \def\O@@telefoninfo{Telephone: \O@@telefon} \def\O@@antallsider{ \ifthenelse{\pageref{pg:siste-oppgaveside}=1}{one page}{\pageref{pg:siste-oppgaveside} pages}} \def\O@@plusvedlegg{% \ifthenelse{\pageref{pg:siste-vedleggside}=0}{.}{, plus an Appendix of \ifthenelse{\pageref{pg:siste-vedleggside}=1}{one page.}{\pageref{pg:siste-oppgaveside} pages.} } } \def\O@@oppgavesett{This problem set consists of \O@@antallsider\O@@plusvedlegg} \def\O@@sensurfall{Sensur:} \def\O@@vedlegg{Appendix} } % ***************** % ** PAGETYLES ** % ***************** \def\ps@eksamensideen{\let\@mkboth\@gobbletwo \def\@oddfoot{}\def\@oddhead{\hfil\O@@oppgaveside} \def\@evenfoot{}\let\@evenhead\@oddhead } \def\ps@eksamen{\let\@mkboth\@gobbletwo \def\@oddfoot{} \def\@oddhead{{\small\sc\O@@eksamenifagogtid}\hfil\O@@oppgaveside} \def\@evenfoot{}\let\@evenhead\@oddhead } \pagestyle{eksamen} \def\ps@vedlegg{\let\@mkboth\@gobbletwo \def\@oddfoot{} \def\@oddhead{{\small\sc\O@@eksamenifagogtid}\hfil\O@@vedleggside} \def\@evenfoot{}\let\@evenhead\@oddhead } % ****************** % ** ENVIRONMENTS ** % ****************** \newcommand{\O@@hode}{ \parbox[t]{0.59\linewidth}{ \ifthenelse{\O@@Duniversitet=0}{}{\O@@eksamenlarge\bf\raggedright\noindent\O@@universitet} } \hfill \parbox[t]{0.39\linewidth}{ \ifthenelse{\O@@Dinstitutt=0}{}{\raggedleft\O@@eksamenlarge\bf\O@@institutt \ifthenelse{\O@@Dfakultet=0}{\\[0.5cm]}{\\[0.1cm]\O@@eksamensmall\bf\O@@fakultet\\[0.5cm]} \ifthenelse{\O@@Dlogo=0}{}{% \ifpdf% \includegraphics[width=1.6cm]{\O@@logo.png}% \else% \includegraphics[width=1.6cm]{\O@@logo.eps}% \fi% }}}\par\vspace{0.0cm plus 0.3cm} \thispagestyle{eksamensideen} \ifthenelse{\O@@Dkontakt=0}{}{% \O@@kontaktinfo \ifthenelse{\O@@Dtelefon=0}{}{\\\O@@telefoninfo} } \par\vspace{0.0cm plus 0.2cm} \begin{center} {\large\bf \O@@eksamenifag}\\ \O@@dato\\ \O@@tid \end{center} \O@@tillatt: \ifthenelse{\O@@Dhjelpemiddelalternativ=0}{}{Alternativ \O@@hjelpemiddelalternativ}\\ \hspace*{\labelwidth}\hspace*{\itemindent} \parbox[t]{0.9\linewidth}{\raggedright \O@@hjelpemidler} \par\vspace{0.0cm plus 0.2cm} \ifthenelse{\O@@Dsensur=0}{}{\O@@sensurfall{} \O@@sensur\par\vspace{0.0cmplus 0.2cm}} \ifthenelse{\O@@Ddiverse=0}{}{\O@@diverse\par\vspace{0.0cmplus 0.2cm}} \O@@oppgavesett } \newenvironment{oppgaver}{ \O@@hode\setlength{\parskip}{0pt plus 1pt}} {\label{pg:siste-oppgaveside}\clearpage} \newcounter{oppgavenummer} \newcounter{suboppgavenummer} \def\thesuboppgavenummer{\alph{suboppgavenummer}} \newcommand{\oppgave}{ \addtocounter{oppgavenummer}{1} \par\vspace{0.5cm plus 0.2cm minus 0.2cm} \pagebreak[3]{\large\bf {\O@@oppgave} \theoppgavenummer\par} } \newenvironment{suboppgaver}{ \begin{list}{{\bf \thesuboppgavenummer)}}% {\usecounter{suboppgavenummer} \setlength{\topsep}{0pt}} } {\end{list}} \newenvironment{vedlegg}{ \pagestyle{vedlegg} \renewcommand{\O@@harvedlegg}{1} \setcounter{page}{1} } {\label{pg:siste-vedleggside}\clearpage} \AtEndDocument{ \ifthenelse{\equal{\O@@harvedlegg}{0}}{ \setcounter{page}{0} \label{pg:siste-vedleggside} }{} }