\NeedsTeXFormat{LaTeX2e} \ProvidesClass{ProjectReport}[2012/02/24 FAMT Project Report] % Allow the inclusion of graphics \ifx\pdfoutput\undefined % we are running LaTeX, not pdflatex \usepackage{graphicx} \else % we are running pdflatex, so convert .eps files to .pdf \usepackage[pdftex]{graphicx} \usepackage{epstopdf} \fi % Declare some variables to hold the text fields \newcommand{\Title}[1]{\gdef\FAMTField@Title{#1}} \newcommand{\Protitle}[1]{\gdef\FAMTField@Protitle{#1}} \newcommand{\deptname}[1]{\gdef\FAMTField@deptname{#1}} \newcommand{\dept}[1]{\gdef\FAMTField@dept{#1}} \newcommand{\degree}[1]{\gdef\FAMTField@degree{#1}} \newcommand{\university}[1]{\gdef\FAMTField@university{#1}} \newcommand{\MemberA}[1]{\gdef\FAMTField@MemberA{#1}} \newcommand{\MemberB}[1]{\gdef\FAMTField@MemberB{#1}} \newcommand{\MemberC}[1]{\gdef\FAMTField@MemberC{#1}} \newcommand{\MemberD}[1]{\gdef\FAMTField@MemberD{#1}} \newcommand{\RegA}[1]{\gdef\FAMTField@RegA{#1}} \newcommand{\RegB}[1]{\gdef\FAMTField@RegB{#1}} \newcommand{\RegC}[1]{\gdef\FAMTField@RegC{#1}} \newcommand{\RegD}[1]{\gdef\FAMTField@RegD{#1}} \newcommand{\Year}[1]{\gdef\FAMTField@Year{#1}} \newcommand{\Month}[1]{\gdef\FAMTField@Month{#1}} \newcommand{\Guidename}[1]{\gdef\FAMTField@Guidename{#1}} \newcommand{\Collegename}[1]{\gdef\FAMTField@Collegename{#1}} \newcommand{\Certificate}[1]{\gdef\FAMTField@Certificate{#1}} % Code for printing month \usepackage{ifthen} \newcommand{\monthnum}[1]% {% \ifthenelse{\equal{#1}{1}}{\Month{January}}{}% \ifthenelse{\equal{#1}{2}}{\Month{February}}{}% \ifthenelse{\equal{#1}{3}}{\Month{March}}{}% \ifthenelse{\equal{#1}{4}}{\Month{April}}{}% \ifthenelse{\equal{#1}{5}}{\Month{May}}{}% \ifthenelse{\equal{#1}{6}}{\Month{June}}{}% \ifthenelse{\equal{#1}{7}}{\Month{July}}{}% \ifthenelse{\equal{#1}{8}}{\Month{August}}{}% \ifthenelse{\equal{#1}{9}}{\Month{September}}{}% \ifthenelse{\equal{#1}{10}}{\Month{October}}{}% \ifthenelse{\equal{#1}{11}}{\Month{November}}{}% \ifthenelse{\equal{#1}{12}}{\Month{December}}{}% } % Initialize the variables to their default values \Title{A project report on} \Protitle{} \deptname{Information Technology} \dept{Department of Information Technology} \degree{Bachelor of Engineering} \MemberA{} \MemberB{} \MemberC{} \MemberD{} \RegA{} \RegB{} \RegC{} \RegD{} \Year{\number \year} \Guidename{} \Collegename{Finolex Academy of Management and Technology, Ratnagiri} \Certificate{CERTIFICATE} \university{Mumbai} \monthnum{4} % Define the preliminary page layouts using the variables % Defining title page \newcommand{\FAMTtitlepage}{ \thispagestyle{empty} { \centering \providecommand\pdfbookmark[3][]{} \pdfbookmark[0]{Title Page}{bm:Title} \parbox[t]{6in}{\centering \Large\FAMTField@Title} \\[\baselineskip] \LARGE{\textbf{\FAMTField@Protitle}} \\[\baselineskip] \normalsize \Large \vspace{0.2cm} \textit{submitted in partial fulfillment of the \\ requirements for the degree of}\\[\baselineskip] \vspace{0.2cm} \textbf{\FAMTField@degree} \linebreak \textit{in} \linebreak \textbf{ \FAMTField@deptname} \\[\baselineskip] \textit{by} \\[\baselineskip] \begin{table}[h] \centering \begin{tabular}{lr} \textbf{\Large{\FAMTField@MemberA}} & \textbf{\Large{\FAMTField@RegA}} \tabularnewline \textbf{\Large{\FAMTField@MemberB}} & \textbf{\Large{\FAMTField@RegB}} \tabularnewline \textbf{\Large{\FAMTField@MemberC}} & \textbf{\Large{\FAMTField@RegC}} \tabularnewline \textbf{\Large{\FAMTField@MemberD}} & \textbf{\Large{\FAMTField@RegD}} \tabularnewline \end{tabular} \end{table} \textit{under the guidance of} \linebreak \textbf{\textup{\FAMTField@Guidename}} \\[\baselineskip] \vspace{0.2cm} \includegraphics[width=0.25 \textwidth]{logo}\\[\baselineskip] \vspace{0.2cm} \FAMTField@dept \linebreak \FAMTField@Collegename \linebreak \mbox{\FAMTField@Month \hspace{0.1cm} \FAMTField@Year} \\[\baselineskip] } \clearemptydoublepage } % Defining certificate page \newcommand{\FAMTcertificatepage}{ \thispagestyle{empty} {\centering \providecommand\pdfbookmark[3][]{} \pdfbookmark[0]{CertificatePage}{bm:Certificate} \parbox[t]{6in}{\centering \Large{\underline{\FAMTField@Certificate}}\par}\\[\baselineskip] \normalsize \large The report titled \linebreak \LARGE{\textbf{\FAMTField@Protitle}} \\[\baselineskip] \normalsize \large \textit{duly completed by}\\[\baselineskip] \begin{table}[h] \centering \begin{tabular}{lr} \textbf{\Large{\FAMTField@MemberA}} & \textbf{\Large{\FAMTField@RegA}} \\ \textbf{\Large{\FAMTField@MemberB}} & \textbf{\Large{\FAMTField@RegB}} \\ \textbf{\Large{\FAMTField@MemberC}} & \textbf{\Large{\FAMTField@RegC}} \\ \textbf{\Large{\FAMTField@MemberD}} & \textbf{\Large{\FAMTField@RegD}} \\ \end{tabular} \end{table} \textit{as a partial fulfillment of the \\ requirements for the degree of}\\[\baselineskip] \textbf{\FAMTField@degree} \linebreak \textit{in} \linebreak \textbf{\FAMTField@deptname} \\[\baselineskip] \textit{from} \linebreak \textbf{The University of \FAMTField@university} \vfill \begin{table}[h] \centering \begin{tabular}{ccc} \tabularnewline \tabularnewline \tabularnewline \large{\FAMTField@Guidename} \\ \large{(Project Guide)} & \hspace*{1cm} \large{(Internal Examiner)} \hspace*{1cm} & \large{(External Examiner)} \tabularnewline \tabularnewline \tabularnewline \tabularnewline \tabularnewline \large{(H.O.D.)} & & \large{(Principal)} \tabularnewline \end{tabular} \end{table} \begin{flushleft} Date: \linebreak Place: \FAMTField@dept, \\ \hspace{1.2cm} \FAMTField@Collegename \end{flushleft} } \clearemptydoublepage } % Define the macro for making preliminary pages \newcommand{\makepreliminarypages}{ \singlespace \changepage{0.8in}{}{}{}{}{}{-0.2in}{-0.3in}{} \FAMTtitlepage \FAMTcertificatepage \renewcommand{\clearemptydoublepage}{\cle@remptydoublep@ge} \changepage{-0.5in}{}{}{}{}{}{0.2in}{0.3in}{} \doublespace } \usepackage{xifthen} % Default Argument is Empty % \newcommand{\optarg}[1]{\ifthenelse{\isempty{#1}}{}{#1}} % College name is other than Finolex Academy of Management and Technology \newcommand{\College}[1]{\ifthenelse{\isempty{#1}}{}{\Collegename{#1}}} % Department name is other than Information Technology \newcommand{\Department}[1]{\ifthenelse{\isempty{#1}}{}{\deptname{#1} \dept{#1}}} % Degree name is other than Bachelor of Engineering \newcommand{\Degree}[1]{\ifthenelse{\isempty{#1}}{}{\degree{#1}}} % University name is other than University of Mumbai \newcommand{\University}[1]{\ifthenelse{\isempty{#1}}{}{\university{#1}}} % A command to handle single sided preliminary pages in a double sided environment % Define the '\clearemptydoublepage' command to clear pages but not number any blank pages inserted. \let\cle@rdoublep@ge\cleardoublepage \newcommand{\cle@remptydoublep@ge}{ \clearpage \if@twoside \ifodd\c@page\else \fi\fi {\pagestyle{empty}\cle@rdoublep@ge}} \newcommand{\clearemptydoublepage}{\cle@remptydoublep@ge} % Load the class and needed packages \DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}} \ProcessOptions \relax \LoadClass[a4paper,12pt,oneside]{book} \RequirePackage{changepage} % A couple of useful macros for line spacing % The \singlespace macro switches to single spaced lines \newcommand{\singlespace}{\par\renewcommand{\baselinestretch}{1}\small\normalsize\par} % The \doublespace macro switches to double spaced lines \newcommand{\doublespace}{\par\renewcommand{\baselinestretch}{1.66}\small\normalsize\par} % This package allows you to specify the 4 margins without needing to remember the particular page dimensions commands \usepackage[top=1.4in, bottom=1.1in, left=1.3in, right=1.1in]{geometry} % Redefine the Table of Contents to deal with some blank page % and bookmarking issues relating to ETD submission \let\TEMPtableofcontents\tableofcontents \renewcommand{\tableofcontents}{ \clearemptydoublepage \singlespace \providecommand\phantomsection{} \phantomsection \addcontentsline{toc}{chapter}{Table of Contents} \TEMPtableofcontents \clearemptydoublepage \doublespace } % Redefine the List of Figures to deal with some blank page % and bookmarking issues \let\TEMPlistoffigures\listoffigures \renewcommand{\listoffigures}{ \providecommand\phantomsection{} \phantomsection \addcontentsline{toc}{chapter}{List of Figures} \TEMPlistoffigures } % Redefine the Bibliography to deal with a bookmarking issues \let\TEMPbibliography\bibliography \renewcommand{\bibliography}{\clearemptydoublepage \providecommand\phantomsection{} \phantomsection \addcontentsline{toc}{chapter}{Bibliography} \TEMPbibliography } % These packages typeset the thesis with Times Roman font \usepackage[T1]{fontenc} \usepackage{mathptmx} % The fancyhdr package allows to easily customize page header. % The settings below produce a nice, well separated header. \usepackage{fancyhdr} \fancyhead{} \fancyhead[RO,RE]{\slshape \rightmark} \fancyfoot{} \fancyfoot[CO,CE]{\thepage} \pagestyle{fancy} \renewcommand{\chaptermark}[1]{\markboth{\chaptername \ \thechapter \ \ #1}{}} \renewcommand{\sectionmark}[1]{\markright{\thesection \ \ #1}} % The caption package allows you to change the formatting of figure captions. % The commands here change to the suggested caption format: % single spaced and a bold tag \usepackage[margin=0.3in,labelfont=bf,labelsep=none]{caption} \DeclareCaptionFormat{suggested}{\singlespace#1#2 #3\par\doublespace} \captionsetup{format=suggested} % The hyperref package provides automatic linking and % bookmarking for the table of contents, index, equation % references, and figure references. It must be included for % the FAMT class to make a properly functioning % electronic thesis. It should be the last package loaded if % possible. % % To add a bookmark in the pdf you can use \pdfbookmark. % You can look up its usage in hyperref package documentation \usepackage[bookmarksnumbered,pdfpagelabels=true,plainpages=false,colorlinks=true,linkcolor=black,citecolor=black,urlcolor=blue]{hyperref} \urlstyle{rm} \doublespace