add first 3 sections
This commit is contained in:
@@ -0,0 +1,618 @@
|
|||||||
|
% Revision: 07-25-2007
|
||||||
|
% Revision History
|
||||||
|
% 07-10-2008 : Corrected Alignment of signature boxes on Masters/PhD Approval page
|
||||||
|
% 07-25-2007 : Corrected some spelling errors
|
||||||
|
% 05-16-2006 : Added etd option and moved most packages from class file to template
|
||||||
|
% 05-15-2006 : Initial version.
|
||||||
|
%
|
||||||
|
% Known bugs
|
||||||
|
% Having a tiny bit of the abstract spill to second page defeats page number removal.
|
||||||
|
% Workaround: make the abstract a little longer or a little shorter.
|
||||||
|
%
|
||||||
|
% The BYUPhys class is for producing theses and dissertations
|
||||||
|
% in the BYU department of physics and astronomy. You can supply
|
||||||
|
% the following optional arguments in the square brackets to
|
||||||
|
% specify the thesis type:
|
||||||
|
%
|
||||||
|
% senior : Produces the senior thesis preliminary pages (default)
|
||||||
|
% honors : Produces the honors thesis preliminary pages
|
||||||
|
% masters : Produces the masters thesis preliminary pages
|
||||||
|
% phd : Produces the PhD dissertation preliminary pages
|
||||||
|
%
|
||||||
|
% The default format is appropriate for printing, with blank pages
|
||||||
|
% inserted after the preliminary pages in twoside mode so you can
|
||||||
|
% send it directly to a two-sided printer. However, for ETD
|
||||||
|
% submission the blank pages need to be removed from the final output.
|
||||||
|
% The following option does this:
|
||||||
|
%
|
||||||
|
% etd : Produces an electronic copy with no blank pages in the preliminary section
|
||||||
|
%
|
||||||
|
% The rest of the class options are the same as the regular book class.
|
||||||
|
% A few to remember:
|
||||||
|
%
|
||||||
|
% oneside : Produces single sided print layout (recommended for theses less than 50 pages)
|
||||||
|
% twoside : Produces single sided print layout (the default if you remove oneside)
|
||||||
|
%
|
||||||
|
% The BYUPhys class provides the following macros:
|
||||||
|
%
|
||||||
|
% \makepreliminarypages : Makes the preliminary pages
|
||||||
|
% \clearemptydoublepage : same as \cleardoublepage but doesn't put page numbers
|
||||||
|
% on blank intervening pages
|
||||||
|
% \singlespace : switch to single spaced lines
|
||||||
|
% \doublespace : switch to double spaced lines
|
||||||
|
%
|
||||||
|
% ------------------------------------------------------------------------------------------------------
|
||||||
|
%
|
||||||
|
\NeedsTeXFormat{LaTeX2e} \ProvidesClass{BYUPhysForDegree}
|
||||||
|
|
||||||
|
% ---------------------------- declarations -------------------------
|
||||||
|
%
|
||||||
|
% These macros are used to declare arguments needed for the
|
||||||
|
% construction of the preliminary pages
|
||||||
|
|
||||||
|
% The year and month the degree is awarded
|
||||||
|
\newcommand{\University}[1]{\gdef\@University{#1}}
|
||||||
|
\newcommand{\Faculty}[1]{\gdef\@Faculty{#1}}
|
||||||
|
\newcommand{\Chair}[1]{\gdef\@Chair{#1}}
|
||||||
|
\newcommand{\Lab}[1]{\gdef\@Lab{#1}}
|
||||||
|
|
||||||
|
\newcommand{\GrText}[1]{\gdef\@GrText{#1}}
|
||||||
|
\newcommand{\AcadGroup}[1]{\gdef\@AcadGroup{#1}}
|
||||||
|
\newcommand{\AdvisorText}[1]{\gdef\@AdvisorText{#1}}
|
||||||
|
\newcommand{\ConsultantText}[1]{\gdef\@ConsultantText{#1}}
|
||||||
|
|
||||||
|
\newcommand{\ApprovalText}[1]{\gdef\@ApprovalText{#1}}
|
||||||
|
\newcommand{\ApprovalAText}[1]{\gdef\@ApprovalAText{#1}}
|
||||||
|
\newcommand{\ApprovalBText}[1]{\gdef\@ApprovalBText{#1}}
|
||||||
|
|
||||||
|
\newcommand{\DateText}[1]{\gdef\@DateText{#1}}
|
||||||
|
|
||||||
|
\newcommand{\Year}[1]{\gdef\@Year{#1}}
|
||||||
|
\newcommand{\Month}[1]{\gdef\@Month{#1}}
|
||||||
|
\newcommand{\City}[1]{\gdef\@City{#1}}
|
||||||
|
|
||||||
|
% The full name of the degree
|
||||||
|
\newcommand{\degree}[1]{\gdef\@degree{#1}}
|
||||||
|
% The name of this document (thesis/dissertation)
|
||||||
|
\newcommand{\docname}[1]{\gdef\@docname{#1}}
|
||||||
|
|
||||||
|
% First line of title
|
||||||
|
%\newcommand{\TitleTop}[1]{\gdef\@TitleTop{\mbox{\uppercase{#1}}}}
|
||||||
|
\newcommand{\TitleTop}[1]{\gdef\@TitleTop{\mbox{#1}}}
|
||||||
|
\newcommand{\TitleTopEng}[1]{\gdef\@TitleTopEng{\mbox{#1}}}
|
||||||
|
|
||||||
|
% Second line of title
|
||||||
|
\newcommand{\TitleBottom}[1]{\gdef\@TitleBottom{\mbox{#1}}}
|
||||||
|
\newcommand{\TitleBottomEng}[1]{\gdef\@TitleBottomEng{\mbox{#1}}}
|
||||||
|
|
||||||
|
% Abstract text
|
||||||
|
\newcommand{\Abstract}[1]{\gdef\@Abstract{#1}}
|
||||||
|
\newcommand{\AbstractEng}[1]{\gdef\@AbstractEng{#1}}
|
||||||
|
\newcommand{\AbstractText}[1]{\gdef\@AbstractText{#1}}
|
||||||
|
|
||||||
|
% Acknowledgments text
|
||||||
|
%\newcommand{\Acknowledgments}[1]{\gdef\@Acknowledgments{#1}}
|
||||||
|
%\newcommand{\AcknowledgmentsText}[1]{\gdef\@AcknowledgmentsText{#1}}
|
||||||
|
|
||||||
|
% The author's name
|
||||||
|
\newcommand{\AuthorText}[1]{\gdef\@AuthorText{#1}}
|
||||||
|
\newcommand{\Author}[1]{\gdef\@Author{#1}}
|
||||||
|
\newcommand{\AuthorEng}[1]{\gdef\@AuthorEng{#1}}
|
||||||
|
\newcommand{\AuthorGenitiveCase}[1]{\gdef\@AuthorGenitiveCase{#1}}
|
||||||
|
|
||||||
|
% The name of the advisor
|
||||||
|
\newcommand{\Advisor}[1]{\gdef\@Advisor{#1}}
|
||||||
|
\newcommand{\AdvisorDegree}[1]{\gdef\@AdvisorDegree{#1}}
|
||||||
|
% The name of the consultant
|
||||||
|
\newcommand{\Consultant}[1]{\gdef\@Consultant{#1}}
|
||||||
|
\newcommand{\ConsultantDegree}[1]{\gdef\@ConsultantDegree{#1}}
|
||||||
|
|
||||||
|
% The name of the committee member 2
|
||||||
|
\newcommand{\MemberA}[1]{\gdef\@MemberA{#1}}
|
||||||
|
|
||||||
|
% The name of the committee member 3
|
||||||
|
\newcommand{\MemberB}[1]{\gdef\@MemberB{#1}}
|
||||||
|
|
||||||
|
% The name of the committee member 4
|
||||||
|
\newcommand{\MemberC}[1]{\gdef\@MemberC{#1}}
|
||||||
|
|
||||||
|
% The name of the committee member 5
|
||||||
|
\newcommand{\MemberD}[1]{\gdef\@MemberD{#1}}
|
||||||
|
|
||||||
|
% The name of the department chair
|
||||||
|
\newcommand{\DepRep}[1]{\gdef\@DepRep{#1}}
|
||||||
|
|
||||||
|
% The title of the department chair (allow for associate chair, etc.)
|
||||||
|
\newcommand{\DepRepTitle}[1]{\gdef\@DepRepTitle{#1}}
|
||||||
|
|
||||||
|
% The name of the department undergraduate coordinator
|
||||||
|
\newcommand{\UgradCoord}[1]{\gdef\@UgradCoord{#1}}
|
||||||
|
|
||||||
|
% The name of the dean
|
||||||
|
\newcommand{\Dean}[1]{\gdef\@Dean{#1}}
|
||||||
|
|
||||||
|
% The title of the dean
|
||||||
|
\newcommand{\DeanTitle}[1]{\gdef\@DeanTitle{#1}}
|
||||||
|
|
||||||
|
% The name of the honors dean
|
||||||
|
\newcommand{\HonorsDean}[1]{\gdef\@HonorsDean{#1}}
|
||||||
|
|
||||||
|
% Set default values for fields
|
||||||
|
\University{2010}
|
||||||
|
\Year{2010}
|
||||||
|
\Month{Month}
|
||||||
|
\Author{Author}
|
||||||
|
\TitleTop{Title}
|
||||||
|
\TitleBottom{ } % default is empty
|
||||||
|
\Abstract{Abstract text goes here.}
|
||||||
|
% \Acknowledgments{Acknowledgment text goes here.}
|
||||||
|
% \degree{Bachelor of Science}
|
||||||
|
\docname{Master Thesis}
|
||||||
|
\Advisor{Advisor}
|
||||||
|
\Consultant{}
|
||||||
|
\ConsultantDegree{}
|
||||||
|
\ConsultantText{}
|
||||||
|
\MemberA{Committee Member A}
|
||||||
|
\MemberB{Committee Member B}
|
||||||
|
\MemberC{Committee Member C}
|
||||||
|
\MemberD{Committee Member D}
|
||||||
|
\DepRep{Department Chair Name}
|
||||||
|
\DepRepTitle{Chair}
|
||||||
|
\Dean{Dean Name}
|
||||||
|
\DeanTitle{Associate Dean}
|
||||||
|
\HonorsDean{Honors Dean Name}
|
||||||
|
\UgradCoord{Department Ugrad Coordinator }
|
||||||
|
|
||||||
|
% ---------------------------- options ------------------------------
|
||||||
|
|
||||||
|
% A command to switch to single spaced lines
|
||||||
|
\newcommand{\singlespace}{\renewcommand{\baselinestretch}{1}\small\normalsize}
|
||||||
|
|
||||||
|
\newcommand{\oneandhalfspace}{\renewcommand{\baselinestretch}{1.33}\small\normalsize}
|
||||||
|
|
||||||
|
% A command to switch to double spaced lines
|
||||||
|
\newcommand{\doublespace}{\renewcommand{\baselinestretch}{1.66}\small\normalsize}
|
||||||
|
|
||||||
|
% A command pirated from chngpage.sty
|
||||||
|
\DeclareRobustCommand{\ch@ngetext}{%
|
||||||
|
\setlength{\@colht}{\textheight}\setlength{\@colroom}{\textheight}%
|
||||||
|
\setlength{\vsize}{\textheight}\setlength{\columnwidth}{\textwidth}%
|
||||||
|
\if@twocolumn%
|
||||||
|
\advance\columnwidth-\columnsep \divide\columnwidth\tw@%
|
||||||
|
\@firstcolumntrue%
|
||||||
|
\fi%
|
||||||
|
\setlength{\hsize}{\columnwidth}%
|
||||||
|
\setlength{\linewidth}{\hsize}%
|
||||||
|
}
|
||||||
|
|
||||||
|
% A command to make margins right for the initial single sided business.
|
||||||
|
\newcommand{\preliminarymargins}{%
|
||||||
|
\addtolength{\textwidth}{-0.5in}%
|
||||||
|
\addtolength{\evensidemargin}{0.5in}%
|
||||||
|
\ch@ngetext%
|
||||||
|
}
|
||||||
|
|
||||||
|
% A command to fix the margins after the initial single sided business.
|
||||||
|
\newcommand{\fixmargins}{%
|
||||||
|
\addtolength{\textwidth}{0.5in}
|
||||||
|
\addtolength{\evensidemargin}{-0.5in}
|
||||||
|
\ch@ngetext%
|
||||||
|
}
|
||||||
|
|
||||||
|
% Define the preliminary section for a senior thesis.
|
||||||
|
% The senior option is essentially ignored since it is the default
|
||||||
|
\newcommand{\makepreliminarypages}{
|
||||||
|
\preliminarymargins
|
||||||
|
\titlepage
|
||||||
|
% \copyrightpage
|
||||||
|
% \seniorapprovalpage
|
||||||
|
\abstractpage
|
||||||
|
% \acknowledgmentspage
|
||||||
|
\fixmargins
|
||||||
|
\renewcommand{\clearemptydoublepage}{\cle@remptydoublep@ge}
|
||||||
|
}
|
||||||
|
|
||||||
|
% Define the honors thesis preliminary section if the 'honors' option is specified
|
||||||
|
\DeclareOption{honors}{
|
||||||
|
\renewcommand{\makepreliminarypages}{
|
||||||
|
\preliminarymargins
|
||||||
|
\honorstitlepage
|
||||||
|
\copyrightpage
|
||||||
|
\seniorapprovalpage
|
||||||
|
\abstractpage
|
||||||
|
% \acknowledgmentspage
|
||||||
|
\fixmargins
|
||||||
|
\renewcommand{\clearemptydoublepage}{\cle@remptydoublep@ge}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
% Changes to masters thesis preliminary section if the 'masters' option is specified
|
||||||
|
\DeclareOption{masters}{
|
||||||
|
\degree{Master of Science}
|
||||||
|
\docname{thesis}
|
||||||
|
\renewcommand{\makepreliminarypages}{
|
||||||
|
\preliminarymargins
|
||||||
|
\titlepage
|
||||||
|
\copyrightpage
|
||||||
|
\masterapprovalpage
|
||||||
|
\acceptancepage
|
||||||
|
\abstractpage
|
||||||
|
% \acknowledgmentspage
|
||||||
|
\fixmargins
|
||||||
|
\renewcommand{\clearemptydoublepage}{\cle@remptydoublep@ge}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
% Changes to PhD preliminary section if the 'phd' option is specified
|
||||||
|
\DeclareOption{phd}{
|
||||||
|
\degree{Doctor of Philosophy}
|
||||||
|
\docname{dissertation}
|
||||||
|
\renewcommand{\makepreliminarypages}{
|
||||||
|
\preliminarymargins
|
||||||
|
\titlepage
|
||||||
|
\copyrightpage
|
||||||
|
\phdapprovalpage
|
||||||
|
\acceptancepage
|
||||||
|
\abstractpage
|
||||||
|
% \acknowledgmentspage
|
||||||
|
\fixmargins
|
||||||
|
\renewcommand{\clearemptydoublepage}{\cle@remptydoublep@ge}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
% --------------------- Some commands to handle the single sided preliminary pages ------------------
|
||||||
|
|
||||||
|
% Define the '\clearemptydoublepage' command to clear pages but not number any blank pages inserted.
|
||||||
|
% This is taken from the BYUThesis.cls file
|
||||||
|
\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}
|
||||||
|
|
||||||
|
|
||||||
|
% Create an abstract environment which is single sided, even in a double sided book.
|
||||||
|
% again, this was taken from BYUThesis.cls
|
||||||
|
\def\skip@bstr@ctp@ges{\relax}
|
||||||
|
\def\@@skip@bstr@ctp@ges{%
|
||||||
|
\if@twoside
|
||||||
|
\ifodd\c@page\else
|
||||||
|
\vbox{\vbox to \vsize{}}
|
||||||
|
\clearpage\fi
|
||||||
|
\else
|
||||||
|
\fi
|
||||||
|
\afterpage{\skip@bstr@ctp@ges}
|
||||||
|
}
|
||||||
|
\newenvironment{abstractenv}{
|
||||||
|
\def\skip@bstr@ctp@ges{\@@skip@bstr@ctp@ges}
|
||||||
|
\afterpage{\skip@bstr@ctp@ges \thispagestyle{empty}}
|
||||||
|
\pagestyle{empty}
|
||||||
|
}
|
||||||
|
|
||||||
|
% Redefine above commands if etd option is specified. The blank pages make printing nice,
|
||||||
|
% but they don't want them in the submitted PDF
|
||||||
|
\DeclareOption{etd}{
|
||||||
|
\renewcommand{\clearemptydoublepage}{ \clearpage }
|
||||||
|
\renewenvironment{abstractenv}{\afterpage{\thispagestyle{empty}}\pagestyle{empty}}{}
|
||||||
|
}
|
||||||
|
|
||||||
|
% ------------------------ Load the class and needed packages ---------------------------------
|
||||||
|
|
||||||
|
% Load the book class
|
||||||
|
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
|
||||||
|
\ProcessOptions\relax
|
||||||
|
\LoadClass[a4,12pt]{article}
|
||||||
|
|
||||||
|
% The afterpage package is required to make single sided formal pages
|
||||||
|
% in a double sided environment
|
||||||
|
\RequirePackage{afterpage}
|
||||||
|
|
||||||
|
% Note: the hyperref package is required to make an appropriate ETD.
|
||||||
|
% However, we don't require it here since it is supposed to be the last
|
||||||
|
% package loaded and students may want to load other packages in the
|
||||||
|
% main tex file. So that this class file doesn't crash if the student
|
||||||
|
% forgets to load hyperref, we have used the following commands below:
|
||||||
|
%
|
||||||
|
% \providecommand\phantomsection{}
|
||||||
|
% \providecommand\pdfbookmark[3][]{}
|
||||||
|
%
|
||||||
|
% These commands provide dummy versions of the macros, but won't
|
||||||
|
% bother the real versions if the hyperref package is loaded in the
|
||||||
|
% tex file.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
% ---------------------------- main code ----------------------------
|
||||||
|
|
||||||
|
% Set the margins to BYU specifications for the single sided preliminary
|
||||||
|
% pages. At the end of the \makepreliminarypages command we fix the margins
|
||||||
|
% to be appropriate alternating values for double sided printing (if selected).
|
||||||
|
% If the \makepreliminarypages macro is not run, this never gets fixed.
|
||||||
|
\setlength{\marginparwidth}{0pt}
|
||||||
|
\setlength{\marginparsep}{0pt}
|
||||||
|
\setlength{\oddsidemargin}{0.3in}
|
||||||
|
\setlength{\evensidemargin}{0in}
|
||||||
|
\setlength{\textwidth}{6in}
|
||||||
|
\setlength{\topmargin}{0in}
|
||||||
|
\setlength{\headheight}{0.125in}
|
||||||
|
\setlength{\headsep}{0.25in}
|
||||||
|
\setlength{\textheight}{8.625in}
|
||||||
|
\setlength{\footskip}{0.25in}
|
||||||
|
\raggedbottom
|
||||||
|
|
||||||
|
% Redefine the Table of Contents to deal with some blank page
|
||||||
|
% and bookmarking issues relating to ETD submission
|
||||||
|
%\let\TEMPtableofcontents\tableofcontents
|
||||||
|
%\renewcommand{\tableofcontents}{
|
||||||
|
% \clearemptydoublepage
|
||||||
|
%\providecommand\phantomsection{} \phantomsection
|
||||||
|
%\addcontentsline{toc}{chapter}{Оглавление}
|
||||||
|
%\TEMPtableofcontents
|
||||||
|
%}
|
||||||
|
|
||||||
|
% 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}{
|
||||||
|
\providecommand\phantomsection{} \phantomsection
|
||||||
|
%\addcontentsline{toc}{chapter}{Литература}
|
||||||
|
\TEMPbibliography
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%---------------------------- The Preliminary Page Definitions --------------------------
|
||||||
|
|
||||||
|
% ============================== Title Page ===============================
|
||||||
|
\renewcommand{\titlepage}{
|
||||||
|
\thispagestyle{empty}
|
||||||
|
\begin{center}
|
||||||
|
\providecommand\pdfbookmark[3][]{} \pdfbookmark[1]{Title Page}{bm:Title}
|
||||||
|
\includegraphics[height=4cm,keepaspectratio]{./gzlogo.png}\\[0.1cm]
|
||||||
|
%\vspace*{0.375in}
|
||||||
|
{\large \@University\\}
|
||||||
|
\@Faculty\\
|
||||||
|
{\footnotesize \@Chair\\}
|
||||||
|
{\scriptsize \@Lab\\[\baselineskip]}
|
||||||
|
\vfill
|
||||||
|
{\Large \@Author \\[\baselineskip]}
|
||||||
|
{%\HRule \\[0.4cm]
|
||||||
|
\Large \textbf{\@TitleTop}\\
|
||||||
|
\textbf{\@TitleBottom}\\[\baselineskip]
|
||||||
|
\large \@docname \\[\baselineskip] }
|
||||||
|
%\HRule \\[1.5cm]
|
||||||
|
\normalsize
|
||||||
|
\vfill
|
||||||
|
\begin{flushright}
|
||||||
|
% \emph{\@AuthorText:\\}
|
||||||
|
% {\small \@GrText~\@AcadGroup\\}
|
||||||
|
|
||||||
|
\textbf{\@AdvisorText:\\}
|
||||||
|
{~ \@AdvisorDegree~ \\ \@Advisor\\}
|
||||||
|
|
||||||
|
|
||||||
|
\emph{\@ConsultantText:\\}
|
||||||
|
{~ \@ConsultantDegree~ \@Consultant\\}
|
||||||
|
\end{flushright}
|
||||||
|
\vfill
|
||||||
|
|
||||||
|
%\vskip0.667in
|
||||||
|
%\@degree \\
|
||||||
|
\vfill
|
||||||
|
|
||||||
|
\@City, \@Year \\[\baselineskip]
|
||||||
|
\end{center}
|
||||||
|
\clearemptydoublepage
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
% ============================== Honors Title Page ========================
|
||||||
|
\newcommand{\honorstitlepage}{
|
||||||
|
\thispagestyle{empty}
|
||||||
|
\begin{center}
|
||||||
|
%\providecommand\pdfbookmark[3][]{} \pdfbookmark[0]{Title Page}{bm:Title}
|
||||||
|
\vspace*{0.375in}
|
||||||
|
\@TitleTop\\[\baselineskip]
|
||||||
|
\@TitleBottom\\
|
||||||
|
\vfill
|
||||||
|
\@Author,
|
||||||
|
\vfill
|
||||||
|
%Submitted to Brigham Young University in partial fulfillment\\[\baselineskip]
|
||||||
|
%of graduation requirements for University Honors\\[2\baselineskip]
|
||||||
|
%Department of Physics and Astronomy\\[\baselineskip]
|
||||||
|
%\@Month~\@Year
|
||||||
|
\@City,~\@Year
|
||||||
|
\vfill
|
||||||
|
\end{center}
|
||||||
|
\parbox[t]{2.75in}{
|
||||||
|
Advisor: \@Advisor \\[.5\baselineskip]
|
||||||
|
Signature: \hrulefill}
|
||||||
|
\hfill
|
||||||
|
\parbox[t]{2.75in}{
|
||||||
|
Honors Dean: \@HonorsDean \\[.5\baselineskip]
|
||||||
|
Signature: \hrulefill}
|
||||||
|
\clearemptydoublepage
|
||||||
|
}
|
||||||
|
|
||||||
|
% ======================== Copyright page ===============================
|
||||||
|
\newcommand{\copyrightpage}{
|
||||||
|
\thispagestyle{empty}
|
||||||
|
\providecommand\pdfbookmark[3][]{} \pdfbookmark[0]{Copyright}{bm:Copyright}
|
||||||
|
\vspace*{\fill}
|
||||||
|
\begin{center}
|
||||||
|
Copyright \copyright\ \@Year~\@Author\\[\baselineskip]
|
||||||
|
All Rights Reserved\\[5\baselineskip]
|
||||||
|
\end{center}
|
||||||
|
\vspace{1in}
|
||||||
|
\vfill
|
||||||
|
\clearemptydoublepage
|
||||||
|
}
|
||||||
|
|
||||||
|
% =============================== Approval page =======================
|
||||||
|
\newcommand{\datebox}{
|
||||||
|
\parbox[t]{1.5in}{
|
||||||
|
\ \\[2\baselineskip]
|
||||||
|
\rule{1.5in}{0.4pt}\\
|
||||||
|
\@DateText
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\signaturebox}[1]{
|
||||||
|
\parbox[t]{3.6in}{
|
||||||
|
\ \\[2\baselineskip]
|
||||||
|
\rule{3.6in}{0.4pt}\\
|
||||||
|
#1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\phdapprovalpage}{
|
||||||
|
\thispagestyle{empty}
|
||||||
|
\begin{center}
|
||||||
|
\providecommand\pdfbookmark[3][]{} \pdfbookmark[0]{Graduate Committee Approval}{bm:ComAp}
|
||||||
|
\vspace*{0.375in}
|
||||||
|
BRIGHAM YOUNG UNIVERSITY\\[3\baselineskip]
|
||||||
|
GRADUATE COMMITTEE APPROVAL\\[5\baselineskip]
|
||||||
|
of a \@docname~submitted by\\[\baselineskip]
|
||||||
|
\@Author\\[2\baselineskip]
|
||||||
|
\end{center}
|
||||||
|
\noindent
|
||||||
|
This dissertation has been read by each member of the following graduate committee
|
||||||
|
and by majority vote has been found to be satisfactory.\\[\baselineskip]
|
||||||
|
\datebox\hfill\signaturebox{\@Advisor, Chair}\\
|
||||||
|
\datebox\hfill\signaturebox{\@MemberA}\\
|
||||||
|
\datebox\hfill\signaturebox{\@MemberB}\\
|
||||||
|
\datebox\hfill\signaturebox{\@MemberC}\\
|
||||||
|
\datebox\hfill\signaturebox{\@MemberD}
|
||||||
|
\vfill
|
||||||
|
\clearemptydoublepage
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\masterapprovalpage}{
|
||||||
|
\thispagestyle{empty}
|
||||||
|
\begin{center}
|
||||||
|
\providecommand\pdfbookmark[3][]{} \pdfbookmark[0]{Graduate Committee Approval}{bm:ComAp}
|
||||||
|
\vspace*{0.375in}
|
||||||
|
BRIGHAM YOUNG UNIVERSITY\\[3\baselineskip]
|
||||||
|
GRADUATE COMMITTEE APPROVAL\\[5\baselineskip]
|
||||||
|
of a \@docname~submitted by\\[\baselineskip]
|
||||||
|
\@Author\\[2\baselineskip]
|
||||||
|
\end{center}
|
||||||
|
\noindent
|
||||||
|
This thesis has been read by each member of the following graduate committee
|
||||||
|
and by majority vote has been found to be satisfactory.\\[\baselineskip]
|
||||||
|
\datebox\hfill\signaturebox{\@Advisor, Chair}\\
|
||||||
|
\datebox\hfill\signaturebox{\@MemberA}\\
|
||||||
|
\datebox\hfill\signaturebox{\@MemberB}\\
|
||||||
|
\vfill
|
||||||
|
\clearemptydoublepage
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\seniorapprovalpage}{
|
||||||
|
\thispagestyle{empty}
|
||||||
|
\begin{center}
|
||||||
|
\providecommand\pdfbookmark[3][]{} \pdfbookmark[0]{Department Approval}{bm:DepAp}
|
||||||
|
\vspace*{0.375in}
|
||||||
|
\@University\\[3\baselineskip]
|
||||||
|
{\bf \@ApprovalText}\\[5\baselineskip]
|
||||||
|
\@docname~\@ApprovalAText\\[\baselineskip]
|
||||||
|
{\em \@AuthorGenitiveCase}\\[2\baselineskip]
|
||||||
|
\@ApprovalBText
|
||||||
|
\\[\baselineskip]
|
||||||
|
\end{center}
|
||||||
|
\datebox\hfill\signaturebox{\@Advisor, \@AdvisorText}\\
|
||||||
|
%\datebox\hfill\signaturebox{\@UgradCoord, Research Coordinator}\\
|
||||||
|
%\datebox\hfill\signaturebox{\@DepRep, \@DepRepTitle}\\
|
||||||
|
\vfill
|
||||||
|
\clearemptydoublepage
|
||||||
|
}
|
||||||
|
|
||||||
|
% ======================= Acceptance Page ============================
|
||||||
|
\newcommand{\acceptancepage}{
|
||||||
|
\thispagestyle{empty}%
|
||||||
|
\begin{center}
|
||||||
|
\providecommand\pdfbookmark[3][]{} \pdfbookmark[0]{Acceptance Page}{bm:Accept}
|
||||||
|
\vspace*{0.375in}
|
||||||
|
BRIGHAM YOUNG UNIVERSITY\\[3\baselineskip]
|
||||||
|
\end{center}%
|
||||||
|
\noindent%
|
||||||
|
As chair of the candidate's graduate committee, I have read the
|
||||||
|
\@docname\ of \@Author \ in its final form and have found
|
||||||
|
that (1) its format, citations, and bibliographical style are
|
||||||
|
consistent and acceptable and fulfill university and department
|
||||||
|
style requirements; (2) its illustrative materials including
|
||||||
|
figures, tables, and charts are in place; and (3) the final
|
||||||
|
manuscript is satisfactory to the graduate committee
|
||||||
|
and is ready for submission to the university library.\\[2\baselineskip]
|
||||||
|
\datebox\hfill\signaturebox{\@Advisor\\Chair, Graduate Committee}
|
||||||
|
\vskip 0pt plus 2fill
|
||||||
|
\noindent Accepted for the Department\par\hfill%
|
||||||
|
\signaturebox{\@DepRep, \@DepRepTitle\\Department of Physics and
|
||||||
|
Astronomy }{} \vfill \noindent Accepted for the College\par\hfill
|
||||||
|
\signaturebox{\@Dean, \@DeanTitle \\
|
||||||
|
College of Physical and Mathematical Sciences}
|
||||||
|
\clearemptydoublepage
|
||||||
|
}
|
||||||
|
|
||||||
|
% ========================= Abstract ===================================
|
||||||
|
|
||||||
|
\newcommand{\abstractpage}{
|
||||||
|
|
||||||
|
\thispagestyle{empty}
|
||||||
|
\begin{abstractenv}
|
||||||
|
\begin{center}
|
||||||
|
\providecommand\pdfbookmark[3][]{} \pdfbookmark[1]{Abstract}{bm:Abstract}
|
||||||
|
\vspace*{0.375in}
|
||||||
|
{\bf \@AbstractText}\\[1\baselineskip]
|
||||||
|
{\large \@TitleTop\\
|
||||||
|
\@TitleBottom}\\[1\baselineskip]
|
||||||
|
{\em \@Author}\\[\baselineskip]
|
||||||
|
\end{center}
|
||||||
|
\renewcommand{\baselinestretch}{1.33}\small\normalsize
|
||||||
|
\@Abstract
|
||||||
|
\vfill
|
||||||
|
|
||||||
|
% \begin{center}
|
||||||
|
% %\providecommand\pdfbookmark[3][]{} \pdfbookmark[0]{Abstract}{bm:Abstract}
|
||||||
|
% \vspace*{0.375in}
|
||||||
|
% {\bf Abstract}\\[1\baselineskip]
|
||||||
|
% {\large \@TitleTopEng\\
|
||||||
|
% \@TitleBottomEng}\\[1\baselineskip]
|
||||||
|
% {\em \@AuthorEng}\\[\baselineskip]
|
||||||
|
% \end{center}
|
||||||
|
% \renewcommand{\baselinestretch}{1.33}\small\normalsize
|
||||||
|
% \@AbstractEng
|
||||||
|
|
||||||
|
\end{abstractenv}
|
||||||
|
\clearemptydoublepage
|
||||||
|
}
|
||||||
|
|
||||||
|
% ========================= Acknowledgments ==============================
|
||||||
|
%\newcommand{\acknowledgmentspage}{
|
||||||
|
% \renewcommand{\baselinestretch}{1}\small\normalsize
|
||||||
|
% \thispagestyle{empty}
|
||||||
|
% \begin{center}
|
||||||
|
% \providecommand\pdfbookmark[3][]{}
|
||||||
|
% \pdfbookmark[0]{Acknowledgments}{bm:Acknowledge}
|
||||||
|
% \vspace*{0.375in}
|
||||||
|
% {\Large \@AcknowledgmentsText}\\[3\baselineskip]
|
||||||
|
% \end{center}
|
||||||
|
%
|
||||||
|
% \renewcommand{\baselinestretch}{1.66} \small\normalsize%
|
||||||
|
% \@Acknowledgments
|
||||||
|
% \clearemptydoublepage
|
||||||
|
% }
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
\section*{Введение}
|
||||||
|
\label{sec:Chapter0} \index{Chapter0}
|
||||||
|
|
||||||
|
% \todo[inline]{Тестовый текст}
|
||||||
|
|
||||||
|
В лабораторных практикумах на кафедре автоматизации систем вычислительных комплексов значительная часть заданий связана с подготовкой сетевых конфигураций на стенде из виртуальных машин, размещённых на ресурсах одного физического компьютера. Для выполнения таких работ требуется не только создать набор виртуальных машин, но и задать структуру их взаимодействия, сетевые интерфейсы, связи и параметры адресации.
|
||||||
|
|
||||||
|
Подготовка стенда включает клонирование базовых образов ВМ, подключение виртуальных сетевых адаптеров с контролем MAC-адресов, а также первичную настройку IP-адресов внутри гостевых операционных систем. Эти действия повторяются при выполнении лабораторных работ студентами и при демонстрации технологий на лекциях, поэтому их ручное выполнение занимает время и затрудняет воспроизводимость конфигураций.
|
||||||
|
|
||||||
|
Существующие средства построения диаграмм позволяют наглядно изобразить структуру сети, однако не всегда удобны для задания формализованного описания с атрибутами элементов и возможностью дальнейшей автоматической обработки. В связи с этим актуальна разработка средства описания конфигурации сети виртуальных машин на основе структурированной модели данных. Такое описание должно быть редактируемым, читаемым и воспроизводимым, а также пригодным для последующего формирования диаграмм топологии или экспорта в формат конфигурации.
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
\section{Постановка задачи}
|
||||||
|
\label{sec:Chapter1} \index{Chapter1}
|
||||||
|
% \todo[inline]{Здесь надо максимально формально описать суть задачи, которую потребуется решить, так, чтобы можно было потом понять, в какой степени полученное в результате работы решение ей соответствует. Текст главы должен быть написан в стиле технического задания, т.е. содержать как описание задачи, так и некоторый набор требований к решению}
|
||||||
|
|
||||||
|
|
||||||
|
В рамках курсовой работы требуется разработать инструмент планирования частично заданных сетевых конфигураций виртуальных машин, обеспечивающий удобное задание структуры сети и экспорт результата в формализованное описание.
|
||||||
|
|
||||||
|
Разрабатываемое решение должно обеспечивать:
|
||||||
|
\begin{itemize}
|
||||||
|
\item представление сетевой конфигурации в виде структурированных данных;
|
||||||
|
\item возможность задания известных параметров элементов сети и сохранения незаполненных полей для последующего уточнения;
|
||||||
|
\item табличный способ ввода и редактирования конфигурации;
|
||||||
|
\item проверяемость и воспроизводимость полученного описания;
|
||||||
|
\item экспорт табличного представления в формат описания сетевой конфигурации виртуальных машин.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
Для достижения поставленной цели необходимо решить следующие задачи:
|
||||||
|
\begin{itemize}
|
||||||
|
\item Проанализировать существующие подходы и практики описания и визуализации сетевых конфигураций и сформулировать требования к разрабатываемому инструменту.
|
||||||
|
\item Разработать модель представления конфигураций в виде структурированных данных, позволяющую задавать известные параметры и оставлять поля для последующего уточнения.
|
||||||
|
\item Реализовать табличный способ ввода и редактирования конфигурации, обеспечивающий проверяемость и воспроизводимость описания.
|
||||||
|
\item Разработать механизм экспорта табличного представления в формат описания сетевой конфигурации виртуальных машин.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
\section{Состав информации о конфигурации сети виртуальных машин}
|
||||||
|
\label{sec:Chapter1_1} \index{Chapter1_1}
|
||||||
|
|
||||||
|
Под конфигурацией сети виртуальных машин в данной работе понимается формализованное описание набора виртуальных машин и связей между ними, необходимое для воспроизведения сетевой топологии лабораторного стенда. Такое описание должно фиксировать не только внешний вид схемы, но и параметры элементов сети, пригодные для дальнейшей обработки программой.
|
||||||
|
|
||||||
|
В состав описания конфигурации входят основные сущности сетевой топологии: узлы, сетевые интерфейсы и связи между ними. Узел соответствует виртуальной машине или иному элементу стенда. Для него могут задаваться имя, тип или роль в топологии, а также связанные с ним интерфейсы. Сетевой интерфейс описывает точку подключения узла к сети и может содержать имя интерфейса, MAC-адрес, IP-адрес и другие параметры, необходимые для настройки. Связь определяет соединение между интерфейсами или принадлежность интерфейса к определённому сетевому сегменту.
|
||||||
|
|
||||||
|
Так как на этапе планирования часть параметров может быть неизвестна, описание конфигурации должно допускать частично заполненные данные. Это позволяет сначала зафиксировать структуру сети, а затем уточнять отдельные значения без изменения общей модели. Таким образом, конфигурация рассматривается как редактируемое структурированное описание, которое может быть представлено в табличном виде, использовано для построения диаграммы или экспортировано в формат YAML.
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
\section{Обзор существующих решений}
|
||||||
|
\label{sec:Chapter2} \index{Chapter2}
|
||||||
|
\todo[inline]{Здесь надо рассмотреть все существующие решения поставленной задачи, но не просто пересказать, в чем там дело, а оценить степень их соответствия тем ограничениям, которые были сформулированы в постановке задачи.}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
\section{Исследование и построение решения задачи}
|
||||||
|
\label{sec:Chapter3} \index{Chapter3}
|
||||||
|
\todo[inline]{Здесь надо декомпозировать большую задачу из постановки на подзадачи и продолжать этот процесс, пока подзадачи не станут достаточно простыми, чтобы их можно было бы решить напрямую (например, поставив какой-то эксперимент или доказав теорему) или найти готовое решение.}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
\section{Описание практической части}
|
||||||
|
\label{sec:Chapter4} \index{Chapter4}
|
||||||
|
\todo[inline]{Если в рамках работы писался какой-то код, здесь должно быть его описание: выбранный язык и библиотеки и мотивы выбора, архитектура, схема функционирования, теоретическая сложность алгоритма, характеристики функционирования (скорость/память).}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
\section*{Заключение}
|
||||||
|
\label{sec:Chapter5} \index{Chapter5}
|
||||||
|
\todo[inline]{Здесь надо перечислить все результаты, полученные в ходе работы. Из текста должно быть понятно, в какой мере решена поставленная задача.}
|
||||||
+1428
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,85 @@
|
|||||||
|
\documentclass[oneside,senior,etd]{BYUPhysForDegree}
|
||||||
|
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{rotating}
|
||||||
|
|
||||||
|
\usepackage[russian]{babel}
|
||||||
|
\usepackage{amsfonts} % Пакеты для математических символов и теорем
|
||||||
|
\usepackage{amstext}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{amsthm}
|
||||||
|
\usepackage{graphicx} % Пакеты для вставки графики
|
||||||
|
\usepackage{subfig}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage[unicode]{hyperref}
|
||||||
|
\usepackage[nottoc]{tocbibind} % Для того, чтобы список литературы отображался в оглавлении
|
||||||
|
\usepackage{algorithmic} % Для записи алгоритмов в псевдокоде
|
||||||
|
\usepackage{algorithm}
|
||||||
|
\usepackage{verbatim} % Для вставок заранее подготовленного текста в режиме as-is
|
||||||
|
\usepackage{listings}
|
||||||
|
|
||||||
|
\usepackage{commath}
|
||||||
|
\newcommand\Tau{\mathcal{T}}
|
||||||
|
\newcommand{\R}{\mathbb{R}}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage[colorinlistoftodos, prependcaption]{todonotes}
|
||||||
|
\usepackage{multirow}
|
||||||
|
\newcommand*{\MyIndent}{\hspace*{0.2cm}}%
|
||||||
|
|
||||||
|
\Chair{Кафедра автоматизации систем вычислительных комплексов}
|
||||||
|
\Lab{~}
|
||||||
|
\Year{2026}
|
||||||
|
\Month{Апрель}
|
||||||
|
\City{Москва}
|
||||||
|
\AuthorText{Автор}
|
||||||
|
\Author{Гудов Дмитрий Олегович}
|
||||||
|
\AuthorEng{}
|
||||||
|
\AcadGroup{321}
|
||||||
|
% Если вы не Пупкин Василий Иванович, то скопируйте себе этот проект через меню и уже потом правьте
|
||||||
|
\TitleTop{Разработка средства описания конфигурации сети}
|
||||||
|
%\TitleMiddle{}
|
||||||
|
\TitleBottom{виртуальных машин для лабораторных работ} % leave empty if you don't need it
|
||||||
|
\TitleTopEng{}
|
||||||
|
\TitleBottomEng{} % leave empty if you don't need it
|
||||||
|
\docname{Курсовая работа}
|
||||||
|
%\docname{Выпускная квалификационная работа}
|
||||||
|
%\docname{Магистерская диссертация}
|
||||||
|
\Advisor{Балашов Василий Викторович}
|
||||||
|
\AdvisorDegree{К.ф.-м.н. с.н.с.}
|
||||||
|
\Consultant{Курячий Георгий Владимирович}
|
||||||
|
\ConsultantDegree{}
|
||||||
|
|
||||||
|
\Abstract{В данной работе рассматривается задача разработки средства описания конфигурации сети виртуальных машин для лабораторных работ. Изучены существующие решения и выявлены их недостатки. Разработана и реализована модель данных для представления конфигурации сети. Разработаны и реализованы программные инструменты для редактирования, графического представления и вывода в формализованном формате конфигурации сети.}
|
||||||
|
|
||||||
|
|
||||||
|
%%%% DON'T change this. It is here because .sty does not support cyrillic cp properly %%%%
|
||||||
|
\University{Московский государственный университет имени М.В.Ломоносова}
|
||||||
|
\Faculty{Факультет вычислительной математики и кибернетики}
|
||||||
|
\GrText{гр.}
|
||||||
|
\AdvisorText{Научный руководитель}
|
||||||
|
\ConsultantText{Научный консультант}
|
||||||
|
\AbstractText{Аннотация}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\fixmargins
|
||||||
|
\makepreliminarypages
|
||||||
|
|
||||||
|
\oneandhalfspace
|
||||||
|
|
||||||
|
\tableofcontents
|
||||||
|
|
||||||
|
\include{Chapter0} % Введение
|
||||||
|
\include{Chapter1} % Постановка задачи
|
||||||
|
\include{Chapter1_1} % Состав информации о конфигурации сети виртуальных машин
|
||||||
|
\include{Chapter2} % Обзор существующих решений
|
||||||
|
\include{Chapter3} % Исследование и построение решения задачи
|
||||||
|
\include{Chapter4} % Описание Экспериментальной части
|
||||||
|
\include{Chapter5} % Заключение
|
||||||
|
|
||||||
|
\nocite{*}
|
||||||
|
\bibliographystyle{gost71u} % Для соответствия требованиям об оформлении списка литературы
|
||||||
|
\bibliography{references}
|
||||||
|
|
||||||
|
% \include{Appendix}
|
||||||
|
|
||||||
|
\end{document}
|
||||||
Reference in New Issue
Block a user