%latex2e declaration \NeedsTeXFormat{LaTeX2e} \ProvidesClass{iitcsw}[2002/01/29 homework class] \newif\ifiitcsweightbit \iitcsweightbitfalse \newif\ifiitcswfancy \iitcswfancyfalse \newif\ifiitcswdraft \iitcswdraftfalse \newif\ifiitcswremarks \iitcswremarksfalse \newif\ifiitcswanswers \iitcswanswersfalse % wide margins \newif\ifiitcswwide \iitcswwidetrue \newif\ifiitcswrecpt \iitcswrecpttrue \newif\ifiitcswpairs \iitcswpairstrue \newif\ifiitcsw@fontload % Whether or not we need to load hebfont \iitcsw@fontloadfalse \newcommand{\iitcsw@quesPageBreak}{} \newcommand{\iitcsw@articledraft}{} \DeclareOption{enccp862}{\providecommand{\iitcsw@inputenc}{cp862}}% \DeclareOption{enc8859-8}{\providecommand{\iitcsw@inputenc}{8859-8}}% \DeclareOption{enccp1255}{\providecommand{\iitcsw@inputenc}{cp1255}}% \DeclareOption{encsi960}{\providecommand{\iitcsw@inputenc}{si960}}% \DeclareOption{eightbit}{\iitcsweightbittrue} \DeclareOption{fancy}{\iitcswfancytrue} \DeclareOption{nofancy}{\iitcswfancyfalse} \DeclareOption{wide}{\iitcswwidetrue} \DeclareOption{nowide}{\iitcswwidefalse} \DeclareOption{draft}{% \iitcswdrafttrue% \renewcommand{\iitcsw@articledraft}{draft}% } \DeclareOption{final}{\iitcswdraftfalse} \DeclareOption{remarks}{\iitcswremarkstrue} \DeclareOption{noremarks}{\iitcswremarksfalse} % Should I leave both "answers" and "remarks"? \DeclareOption{answers}{\iitcswanswerstrue} \DeclareOption{noanswers}{\iitcswanswersfalse} \DeclareOption{recpt}{\iitcswrecptstrue} \DeclareOption{norecpt}{\iitcswrecptfalse} \DeclareOption{pairs}{\iitcswpairsstrue} \DeclareOption{nopairs}{\iitcswpairsfalse} \DeclareOption{pagebreak}{\renewcommand{\iitcsw@quesPageBreak}{\pagebreak}} \DeclareOption{nopagebreak}{\renewcommand{\iitcsw@quesPageBreak}{}} \ProcessOptions % set the option "answers" if LatexMake set it \ifx\LatexMakeAnswerSwitch\@undefined\else\iitcswanswerstrue\fi \LoadClass[11pt,\iitcsw@articledraft]{article} % I don't feel like leaaving wide margins. I would use wider margins for what % I submit, though. 'wide' is currently on by default. (Tzafrir) \ifiitcswwide% \RequirePackage{a4wide}% has to come before 'onehalfspacing, if that one is % used %\RequirePackage[top=3cm,bottom=4cm,left=3cm,right=3cm]{geometry}% \fi \ifiitcswanswers% % If this form is typeset with answers \iitcsw@fontloadtrue% \fi \ifiitcsweightbit% \newcommand{\HeblatexEightBitFont}{}% \else% the current 7bit fonts need more spacing \RequirePackage{setspace} \onehalfspacing \fi \ifx\iitcsw@inputenc\@undefined\else% % Do the following if an input encoding option was given \RequirePackage[\iitcsw@inputenc]{inputenc}% \fi \ifiitcswfancy% \RequirePackage{amssymb}% \RequirePackage{fancybox}% \newcommand{\iitcsw@goodluckbox}[1]{% {\LARGE $\looparrowright$ \shadowbox{#1} $\looparrowleft$}% }% \else \newcommand{\iitcsw@goodluckbox}[1]{\LAARGE #1} \fi \newcommand{\draftremarkname}{drxz hiehd} %7bit for "הערת טיוטה" % define \remark: \ifiitcswremarks% \newcommand{\remark}[2][\draftremarkname]{\footnote{\R{#1: #2}}}% \else% \newcommand{\remark}[2][]{}% \fi %\newcommand{\answer}[1]{\remark[\hebhe\hebtav\hebshin\hebvav\hebbet\hebhe]{#1}} \newcommand{\answer}[1]{\remark[dzyead]{#1}} \RequirePackage[english,hebrew]{babel} %\RequirePackage{amsfonts} \RequirePackage{amssymb} %\usepackage{hebfont} \RequirePackage{hebcal} \RequirePackage{fancyhdr} %\RequirePackage{amsmath} %\RequirePackage{amssymbpatch} %\RequirePackage{dsfont} %\RequirePackage{usefull1} % If any option requires hebfont load it \ifiitcsw@fontload% \RequirePackage{hebfont} \fi \pagestyle{fancy} % The fllowing have to be explicitly defined: % \providecommand\CourseName{תכן לוגי} % \providecommand\CourseFullName{\CourseName \ \L{234262}} %or simply \CourseName % \providecommand\Semester{חורף תשס"ב} % \providecommand\AssignmentSubject{מעבד ה-\L{MIPS}} % \providecommand\HWNum{2} % \providecommand{\SubmitionTime}{יום ח' \L{35.5.2005} בשעה \L{12:30} \providecommand{\FinalText}{% \vfill \center{\iitcsw@goodluckbox{\goodluckname!}} \vfill \vfill } \lhead{\R{\CourseName}} \chead{\R{\Semester}} \rhead{\R{\homeworkname \HWNum}} \cfoot{\L{\arabic{page}}} \newcommand{\ExtraInstructions}{} \def\submittersname{\hebhe\hebmem\hebgimel\hebyod\hebshin\hebyod\hebfinalmem} \def\addressname{\hebkaf\hebtav\hebvav\hebbet\hebtav} \def\semestername{\hebsamekh\hebmem\hebsamekh\hebtet\hebresh} \def\homeworkname{\hebtav\hebresh\hebgimel\hebyod\heblamed \hebbet\hebyod\hebtav} \def\withanswersname{\hebayin\hebfinalmem \hebtav\hebshin\hebvav\hebbet\hebvav\hebtav} \def\answersprintedname{\hebhe\hebtav\hebshin\hebvav\hebbet\hebvav\hebtav \hebmem\hebvav\hebdalet\hebpe\hebsamekh\hebvav\hebtav !!!} \def\tainchargename{\hebmem\hebtav\hebresh\hebgimel\heblamed \hebalef\hebhet\hebresh\hebalef\hebyod} \def\rechoursname{\hebshin\hebayin\hebvav\hebtav \hebqof\hebbet\heblamed\hebhe} \def\subdatename{\hebtav\hebalef\hebresh\hebyod\hebfinalkaf \hebhe\hebgimel\hebshin\hebhe} \def\subinpairsname{\hebhe\hebhe\hebgimel\hebshin\hebhe \hebbet\hebzayin\hebvav\hebgimel\hebvav\hebtav \hebbet\heblamed\hebbet\hebdalet!} \def\namename{\hebshin\hebfinalmem} \def\studnumname{\hebmem.\hebsamekh.} \def\gradename{\hebtsadi\hebyod\hebvav\hebfinalnun} \def\retboxname{\hebtav\hebalef \heblamed\hebhe\hebhet\hebzayin\hebresh\hebhe} \def\questionname{\hebshin\hebalef\heblamed\hebhe} \def\AnswerExplainname{\hebhe\hebsamekh\hebbet\hebresh: } \def\goodluckname{\hebbet\hebhe\hebtsadi\heblamed\hebhet\hebhe} \renewcommand{\maketitle}{ \noindent \FacultyName\ \hfill \semestername{} \Semester \\ \CourseFullName\ \hfill \today \vskip 3em \begin{center} {\LARGE \homeworkname{} \HWNum} \par {\large \AssignmentSubject} \ifiitcswanswers \\ {\large )\withanswersname(} \fi \end{center} %\vskip 1em \thispagestyle{empty} \zeroparskip \remark{\LARGE \answersprintedname} \noindent{\bf \tainchargename}: \TaInCharge \L{(\TaInChargeEmail)} \ifiitcswrecpt% \noindent{\bf \rechoursname}: \RecHours \fi \noindent{\bf \subdatename}: \SubmitionTime \ifiitcswpairs \vskip 1ex \noindent{\bf \subinpairsname} \fi \vskip 1ex \Instructions \restoreparskip \vfill \begin{center} \Large {\normalsize \submittersname:} \namename: \underline{\makebox[7em]{}} \quad \studnumname: \underline{\makebox[7em]{}} \bigskip %\Large \namename: \underline{\makebox[7em]{}} \quad \studnumname: \underline{\makebox[7em]{}} \bigskip %\Large \addressname: \underline{{\makebox[13em]{}}@\makebox[8em]{}} \medskip \vfill \gradename: \underline{\makebox[2em]{}} \hfill \retboxname: \underline{\makebox[2em]{}} \end{center} \vfill %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \setcounter{page}{0} % we start at page 1 \pagebreak } %% %% \Answer{} Print text in "answer" font if answers are to be printed %% \newcommand{\Answer}[1]{\ifiitcswanswers\textshscr{#1}\fi} %% %% \AnswerLines: produce 5 horisental lines, for filling in the answer %% \NaswerPlace: Porduces some underlined space %% %% The non-optional (though possibly empty) argument of them is the %% answer, that wil be typeset if the option 'answers' is used %% \newcounter{iitcsw@ansline} %\setcounter{\iitcsw@ansline}{5} \newcommand\AnswerLines[2][5]{% \ifiitcswanswers% \Answer{#2}% This is non-optimal: doing this if twice... \else% % \begin{tabular*}{0.95\textwidth}{c}% without factor of 0.95 I get a latex % % warning about the width % \\ \hline \\ \hline \\\hline \\ \hline \\ \hline % % \end{tabular*}% \setcounter{iitcsw@ansline}{#1} \whiledo{\value{iitcsw@ansline} > 0}{ \noindent \rule{0em}{1ex} \hrulefill \\ % \addtocounter{iitcsw@ansline}{-1}% } \fi } \newlength{\AnswerPlacelen} \setlength{\AnswerPlacelen}{3em} % \AnswerPlace[width]: create an underlined space of the specified width. % \AnswerPlace (with no parameter): The width is \AnswerPlacelen (3em, by % default) \newcommand\AnswerPlace[2][\AnswerPlacelen]{ \underline{\makebox[#1]{\Answer{#2}}} } % explanations are answers that are given as footnotes, for further % clarification \newcommand{\AnswerExplain}[1]{% \ifiitcswanswers% \footnote{\Answer{\AnswerExplainname #1}} \fi% } \newlength{\saveparskip} % don't use two \zeroparskip without a \restoreparskip in the middle! \newcommand\zeroparskip{\setlength{\saveparskip}{\parskip}\setlength{\parskip}{0em}} \newcommand\restoreparskip{\setlength{\parskip}{\saveparskip}} %%% %%% Some helper macros: %%% \providecommand{\BeforeQuestion}{} %\setlength{\parindent}{0pt} %\renewcommand{\thesection}{\hebshin\hebalef\heblamed\hebhe \arabic{section}} \renewcommand\section{\BeforeQuestion % \@startsection {section}{1}{\z@}% {-3.5ex \@plus -1ex \@minus -.2ex}{2.3ex \@plus.2ex}% {% \normalfont\Large\bfseries\centering% \questionname\ % }% } \def\thesubsection{\gim{subsection}} %\def\thesubsection{\alph{subsection}} % \newcommand\question[1]{% % \begin{center}% % \section{\hebshin\hebalef\heblamed\hebhe \hebmem\hebsamekh' \arabic{section} - #1}% % \end{center}% % } % % \newcommand{\ques}[1][]{\section{#1}} \providecommand{\question}[1]{\iitcsw@quesPageBreak \section{#1}} \providecommand{\courseSlogan}[1]{ {\footnotesize \noindent \begin{flushleft} \hfill #1 \end{flushleft} } } \endinput