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