texlive[49825] Master/texmf-dist: mcmthesis (26jan19)

commits+karl at tug.org commits+karl at tug.org
Sat Jan 26 23:57:28 CET 2019


Revision: 49825
          http://tug.org/svn/texlive?view=revision&revision=49825
Author:   karl
Date:     2019-01-26 23:57:28 +0100 (Sat, 26 Jan 2019)
Log Message:
-----------
mcmthesis (26jan19)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/mcmthesis/figures/mcmthesis-aaa.eps
    trunk/Master/texmf-dist/doc/latex/mcmthesis/mcmthesis-demo.pdf
    trunk/Master/texmf-dist/doc/latex/mcmthesis/mcmthesis-demo.tex
    trunk/Master/texmf-dist/doc/latex/mcmthesis/mcmthesis.pdf
    trunk/Master/texmf-dist/source/latex/mcmthesis/mcmthesis.dtx
    trunk/Master/texmf-dist/tex/latex/mcmthesis/mcmthesis.cls

Modified: trunk/Master/texmf-dist/doc/latex/mcmthesis/figures/mcmthesis-aaa.eps
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/mcmthesis/mcmthesis-demo.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/mcmthesis/mcmthesis-demo.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/mcmthesis/mcmthesis-demo.tex	2019-01-26 22:57:13 UTC (rev 49824)
+++ trunk/Master/texmf-dist/doc/latex/mcmthesis/mcmthesis-demo.tex	2019-01-26 22:57:28 UTC (rev 49825)
@@ -45,6 +45,20 @@
 \end{keywords}
 \end{abstract}
 \maketitle
+%% 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]

Modified: trunk/Master/texmf-dist/doc/latex/mcmthesis/mcmthesis.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/mcmthesis/mcmthesis.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/mcmthesis/mcmthesis.dtx	2019-01-26 22:57:13 UTC (rev 49824)
+++ trunk/Master/texmf-dist/source/latex/mcmthesis/mcmthesis.dtx	2019-01-26 22:57:28 UTC (rev 49825)
@@ -102,7 +102,7 @@
 %</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 @@
 %</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 @@
 % \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 @@
 % \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 @@
 % 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 @@
 %<*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 @@
   \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 at memoto{\relax}
+\newcommand{\memoto}[1]{\gdef\MCM at memoto{#1}}
+\def\MCM at memofrom{\relax}
+\newcommand{\memofrom}[1]{\gdef\MCM at memofrom{#1}}
+\def\MCM at memosubject{\relax}
+\newcommand{\memosubject}[1]{\gdef\MCM at memosubject{#1}}
+\def\MCM at memodate{\relax}
+\newcommand{\memodate}[1]{\gdef\MCM at memodate{#1}}
+\def\MCM at memologo{\relax}
+\newcommand{\memologo}[1]{\gdef\MCM at 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 at memologo}{\relax}}{%
+    % without logo specified.
+  }{%
+    % with logo specified
+    \begin{minipage}[t]{\columnwidth}%
+      \begin{flushright}
+        \vspace{-0.6in}
+        \MCM at memologo
+        \vspace{0.5in}
+      \par\end{flushright}%
+    \end{minipage}%
+  }
+  \begin{center}
+    \LARGE\bfseries\scshape
+    #1
+  \end{center}
+  \begin{description}
+    \ifthenelse{\equal{\MCM at memoto}{\relax}}{}{\item [{To:}] \MCM at memoto}
+    \ifthenelse{\equal{\MCM at memofrom}{\relax}}{}{\item [{From:}] \MCM at memofrom}
+    \ifthenelse{\equal{\MCM at memosubject}{\relax}}{}{\item [{Subject:}] \MCM at memosubject}
+    \ifthenelse{\equal{\MCM at memodate}{\relax}}{}{\item [{Date:}] \MCM at 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 @@
 \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]

Modified: trunk/Master/texmf-dist/tex/latex/mcmthesis/mcmthesis.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/mcmthesis/mcmthesis.cls	2019-01-26 22:57:13 UTC (rev 49824)
+++ trunk/Master/texmf-dist/tex/latex/mcmthesis/mcmthesis.cls	2019-01-26 22:57:28 UTC (rev 49825)
@@ -28,9 +28,9 @@
 %% 
 \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}
 \RequirePackage{xkeyval}
 \RequirePackage{etoolbox}
 \define at boolkey{MCM}[MCM at opt@]{CTeX}[false]{}
@@ -245,6 +245,49 @@
     \make at keywords
   \fi%
 }
+\def\MCM at memoto{\relax}
+\newcommand{\memoto}[1]{\gdef\MCM at memoto{#1}}
+\def\MCM at memofrom{\relax}
+\newcommand{\memofrom}[1]{\gdef\MCM at memofrom{#1}}
+\def\MCM at memosubject{\relax}
+\newcommand{\memosubject}[1]{\gdef\MCM at memosubject{#1}}
+\def\MCM at memodate{\relax}
+\newcommand{\memodate}[1]{\gdef\MCM at memodate{#1}}
+\def\MCM at memologo{\relax}
+\newcommand{\memologo}[1]{\gdef\MCM at memologo{\protect #1}}
+\def\@letterheadaddress{\relax}
+\newcommand{\lhaddress}[1]{\gdef\@letterheadaddress{#1}}
+\newenvironment{memo}[1][Memorandum]{%
+  \pagestyle{plain}%
+  \ifthenelse{\equal{\MCM at memologo}{\relax}}{%
+    % without logo specified.
+  }{%
+    % with logo specified
+    \begin{minipage}[t]{\columnwidth}%
+      \begin{flushright}
+        \vspace{-0.6in}
+        \MCM at memologo
+        \vspace{0.5in}
+      \par\end{flushright}%
+    \end{minipage}%
+  }
+  \begin{center}
+    \LARGE\bfseries\scshape
+    #1
+  \end{center}
+  \begin{description}
+    \ifthenelse{\equal{\MCM at memoto}{\relax}}{}{\item [{To:}] \MCM at memoto}
+    \ifthenelse{\equal{\MCM at memofrom}{\relax}}{}{\item [{From:}] \MCM at memofrom}
+    \ifthenelse{\equal{\MCM at memosubject}{\relax}}{}{\item [{Subject:}] \MCM at memosubject}
+    \ifthenelse{\equal{\MCM at memodate}{\relax}}{}{\item [{Date:}] \MCM at memodate}
+  \end{description}
+  \par\noindent
+  \rule[0.5ex]{\linewidth}{0.1pt}\par
+  \bigskip{}
+}{%
+  \clearpage
+  \pagestyle{fancy}%
+}
 \newtheorem{Theorem}{Theorem}[section]
 \newtheorem{Lemma}[Theorem]{Lemma}
 \newtheorem{Corollary}[Theorem]{Corollary}



More information about the tex-live-commits mailing list