diff options
Diffstat (limited to 'language/hebrew/hebclass/iitcsw.cls')
-rw-r--r-- | language/hebrew/hebclass/iitcsw.cls | 329 |
1 files changed, 329 insertions, 0 deletions
diff --git a/language/hebrew/hebclass/iitcsw.cls b/language/hebrew/hebclass/iitcsw.cls new file mode 100644 index 0000000000..2296eff45d --- /dev/null +++ b/language/hebrew/hebclass/iitcsw.cls @@ -0,0 +1,329 @@ +%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 |