summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/mcmthesis/mcmthesis.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/mcmthesis/mcmthesis.dtx')
-rw-r--r--Master/texmf-dist/source/latex/mcmthesis/mcmthesis.dtx111
1 files changed, 103 insertions, 8 deletions
diff --git a/Master/texmf-dist/source/latex/mcmthesis/mcmthesis.dtx b/Master/texmf-dist/source/latex/mcmthesis/mcmthesis.dtx
index c75f27153c2..46818c3671c 100644
--- a/Master/texmf-dist/source/latex/mcmthesis/mcmthesis.dtx
+++ b/Master/texmf-dist/source/latex/mcmthesis/mcmthesis.dtx
@@ -102,7 +102,7 @@ and the derived files \jobname.cls,
%</internal>
%<*driver>
\ProvidesFile{mcmthesis.dtx}
- [2019/01/24 v6.2.1 The Thesis Template Designed For MCM/ICM]
+ [2019/01/26 v6.2.2 The Thesis Template Designed For MCM/ICM]
\documentclass{ltxdoc}
\EnableCrossrefs
\CodelineIndex
@@ -144,7 +144,7 @@ and the derived files \jobname.cls,
%</driver>
% \fi
%
-% \CheckSum{429}
+% \CheckSum{526}
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -319,6 +319,21 @@ xelatex mcmthesis-demo.tex
% \LaTeX{} 标准的 \cs{title} 命令类似——在使用的时候,只是记录内容,而并不输出内容;
% 内容的实际输出要等到 \cs{maketitle} 命令。
%
+% \DescribeEnv{memo}
+% \pkg{mcmthesis} 定义有 \env{memo} 环境。它接受一个可选参数,作为其标题。
+% 设计该环境的初衷是我们发现近年的 MCM 竞赛常常要求学生生成一封信件或者备忘录,作为论文的一部分。
+%
+% \DescribeMacro{memoto}\DescribeMacro{memofrom}\DescribeMacro{memosubject}
+% \DescribeMacro{memodate}\DescribeMacro{memologo}
+% \env{memo} 环境有一些辅助命令:
+% \begin{description}
+% \item[\cs{memoto}] 表示这份备忘录是留给谁的。
+% \item[\cs{memofrom}] 表示这份备忘录是谁留下的。
+% \item[\cs{memosubject}] 表示这份备忘录的主题。
+% \item[\cs{memodate}] 表示留下这份备忘录的日期。
+% \item[\cs{memologo}] 其中包含的内容将在输出备忘录的 LOGO 时被调用。
+% \end{description}
+%
% \subsection{摘要页头部设置}
% \DescribeMacro{\headset}MCM/ICM 的主办方经常变动摘要页头部的年份及赛事名称说明的格式,可谓岁岁年年各不同。因此,模板很难保证这部分的格式与当年的要求完全一致,故而给出一个易于修改的接口。例如:
% \iffalse
@@ -394,7 +409,7 @@ xelatex mcmthesis-demo.tex
% \begin{abstract}
% This template is designed for MCM/ICM. The template configured fonts,
% header and footer and summary sheet style, accroding to the requirements
-% of COMAP. This document desicribes the template.
+% of COMAP. This document describes the template.
% \end{abstract}
%
% \section{Introduction}
@@ -549,6 +564,22 @@ xelatex mcmthesis-demo.tex
% to the PDF file when they are used but just record them; the output task
% belongs to \cs{maketitle}.
%
+% \DescribeEnv{memo}
+% \pkg{mcmthesis} defines the \env{memo} environment, which accepts one optional
+% argument as the title. This work is inspired by the fact that in recent years,
+% MCM requires students to provide a letter or memorandum as a part of the thesis.
+%
+% \DescribeMacro{memoto}\DescribeMacro{memofrom}\DescribeMacro{memosubject}
+% \DescribeMacro{memodate}\DescribeMacro{memologo}
+% The \env{memo} environment is defined with some helper macros listed below:
+% \begin{description}
+% \item[\cs{memoto}] describes the person you want to leave the memorandum to.
+% \item[\cs{memofrom}] describes who is the author of the memorandum.
+% \item[\cs{memosubject}] describes the subject of the memorandum.
+% \item[\cs{memodate}] describes the date of the memorandum.
+% \item[\cs{memologo}] the command that will be executed to print a logo for the memorandum.
+% \end{description}
+%
% \subsection{The headset of the Summary Sheet}
% \DescribeMacro{\headset}Due to the frequent change of the headset's style of the Summary Sheet from the host of MCM/ICM, it's difficult for me to keep in with. Hence, a easy-to-modified interfaced is designed. Let's see an succinct example:
% \iffalse
@@ -604,9 +635,9 @@ xelatex mcmthesis-demo.tex
%<*class>
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{mcmthesis}
- [2019/01/24 v6.2.1 The Thesis Template Designed For MCM/ICM]
+ [2019/01/26 v6.2.2 The Thesis Template Designed For MCM/ICM]
\typeout{The Thesis Template Designed For MCM/ICM}
-\def\MCMversion{v6.2.1}
+\def\MCMversion{v6.2.2}
% \end{macrocode}
% \subsection{Options}
%
@@ -922,6 +953,59 @@ xelatex mcmthesis-demo.tex
\fi%
}
% \end{macrocode}
+%
+% \changes{6.2.2}{2019/01/26}{新增 memo 环境}
+% \subsection{the memo environment}
+% Defining macros to store information here.
+% \begin{macrocode}
+\def\MCM@memoto{\relax}
+\newcommand{\memoto}[1]{\gdef\MCM@memoto{#1}}
+\def\MCM@memofrom{\relax}
+\newcommand{\memofrom}[1]{\gdef\MCM@memofrom{#1}}
+\def\MCM@memosubject{\relax}
+\newcommand{\memosubject}[1]{\gdef\MCM@memosubject{#1}}
+\def\MCM@memodate{\relax}
+\newcommand{\memodate}[1]{\gdef\MCM@memodate{#1}}
+\def\MCM@memologo{\relax}
+\newcommand{\memologo}[1]{\gdef\MCM@memologo{\protect #1}}
+\def\@letterheadaddress{\relax}
+\newcommand{\lhaddress}[1]{\gdef\@letterheadaddress{#1}}
+% \end{macrocode}
+%
+% Now, we could define the |memo| environment.
+% \begin{macrocode}
+\newenvironment{memo}[1][Memorandum]{%
+ \pagestyle{plain}%
+ \ifthenelse{\equal{\MCM@memologo}{\relax}}{%
+ % without logo specified.
+ }{%
+ % with logo specified
+ \begin{minipage}[t]{\columnwidth}%
+ \begin{flushright}
+ \vspace{-0.6in}
+ \MCM@memologo
+ \vspace{0.5in}
+ \par\end{flushright}%
+ \end{minipage}%
+ }
+ \begin{center}
+ \LARGE\bfseries\scshape
+ #1
+ \end{center}
+ \begin{description}
+ \ifthenelse{\equal{\MCM@memoto}{\relax}}{}{\item [{To:}] \MCM@memoto}
+ \ifthenelse{\equal{\MCM@memofrom}{\relax}}{}{\item [{From:}] \MCM@memofrom}
+ \ifthenelse{\equal{\MCM@memosubject}{\relax}}{}{\item [{Subject:}] \MCM@memosubject}
+ \ifthenelse{\equal{\MCM@memodate}{\relax}}{}{\item [{Date:}] \MCM@memodate}
+ \end{description}
+ \par\noindent
+ \rule[0.5ex]{\linewidth}{0.1pt}\par
+ \bigskip{}
+}{%
+ \clearpage
+ \pagestyle{fancy}%
+}
+% \end{macrocode}
% \subsection{Mathematics}
% Theorems.
% \begin{macrocode}
@@ -989,9 +1073,20 @@ keyword1; keyword2
\end{keywords}
\end{abstract}
\maketitle
-% Generate the Table of Contents, if it's needed.
-% \tableofcontents
-% \newpage
+%% Generate the Table of Contents, if it's needed.
+%% \tableofcontents
+%% \newpage
+%%
+%% Generate the Memorandum, if it's needed.
+%% \memoto{\LaTeX{}studio}
+%% \memofrom{Liam Huang}
+%% \memosubject{Happy \TeX{}ing!}
+%% \memodate{\today}
+%% \logo{\LARGE I'm pretending to be a LOGO!}
+%% \begin{memo}[Memorandum]
+%% \lipsum[1-3]
+%% \end{memo}
+%%
\section{Introduction}
\lipsum[2]