diff options
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/mcmthesis/mcmthesis.dtx | 111 |
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] |