154 lines
4.7 KiB
TeX
154 lines
4.7 KiB
TeX
%%
|
|
%% This is file `iidef.sty',
|
|
%% generated with the docstrip utility.
|
|
%%
|
|
%% The original source files were:
|
|
%%
|
|
%% thucoursework.dtx (with options: `sty')
|
|
%%
|
|
%% This is a generated file.
|
|
%%
|
|
%% Copyright (C) 2021 by zhaofeng-shu33 <616545598@qq.com>
|
|
%%
|
|
%% This work may be distributed and/or modified under the
|
|
%% conditions of the LaTeX Project Public License, either version 1.3
|
|
%% of this license or (at your option) any later version.
|
|
%% The latest version of this license is in
|
|
%% http://www.latex-project.org/lppl.txt
|
|
%% and version 1.3 or later is part of all distributions of LaTeX
|
|
%% version 2005/12/01 or later.
|
|
%%
|
|
%% To produce the documentation run the original source files ending with `.dtx'
|
|
%% through LaTeX.
|
|
%%
|
|
|
|
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
|
|
\ProvidesClass{iidef}
|
|
[2020/09/09 2.6 Tsinghua University Coursework Template]
|
|
%% configuration of nested enumerate env
|
|
\RequirePackage{enumitem}
|
|
%% set hwcount key-value option
|
|
\RequirePackage{kvoptions}
|
|
%% required by macro DeclareMathOperator
|
|
\RequirePackage{amsmath}
|
|
%% Set up page headers using with fancyhdr
|
|
\@ifundefined{lhead}{\RequirePackage{fancyhdr}}
|
|
{\def\@thulhead{thulhead}}
|
|
\RequirePackage{amsthm}
|
|
%% semester
|
|
\def\@term{term}
|
|
\newcommand{\theterm}[1]{\renewcommand\@term{#1}}
|
|
%% institute
|
|
\newcommand{\@courseinstitute}[1]{institute}
|
|
\newcommand{\thecourseinstitute}[1]{\renewcommand\@courseinstitute{#1}}
|
|
%% coursename
|
|
\newcommand{\@coursename}[1]{coursename}
|
|
\newcommand{\thecoursename}[1]{\renewcommand\@coursename{\textsc{#1}}}
|
|
%% user can rewrite homework name
|
|
\def\@hwname{Homework}
|
|
\def\hwname#1{\renewcommand\@hwname{#1}}
|
|
%% \iidef@thehwcnt = 1
|
|
\DeclareStringOption[1]{thehwcnt}
|
|
\ProcessKeyvalOptions*
|
|
\def\thehwcnt{\iidef@thehwcnt}
|
|
%% page header setup, distinguish between first page(plain style)
|
|
%% and second page on (runningpage style)
|
|
%%***************************************************************************
|
|
\newcommand{\courseheader}{
|
|
\thispagestyle{plain}%first page use native plain style to suppress header
|
|
\vspace*{-1in}
|
|
\begin{center}
|
|
\@courseinstitute\\
|
|
\@coursename\\
|
|
\@term
|
|
\vspace*{0.1in}
|
|
\hrule
|
|
\end{center}
|
|
\begin{center}
|
|
\underline{\bf \@hwname\;\thehwcnt} \\
|
|
\end{center}
|
|
}
|
|
\@ifundefined{@thulhead}{
|
|
\fancypagestyle{runningpage}
|
|
{
|
|
\fancyhead[L]{\small\@coursename}
|
|
\fancyhead[R]{\small\@courseinstitute}
|
|
}
|
|
%% use runningpage style from second page on
|
|
\pagestyle{runningpage}
|
|
}{}
|
|
%% *********************************************************************************************
|
|
%%name command macro
|
|
%%*************************
|
|
\newcommand{\name}[1]{
|
|
\begin{flushleft}
|
|
#1\hfill
|
|
\today
|
|
\end{flushleft}
|
|
\hrule
|
|
|
|
\vspace{2em}
|
|
|
|
\flushleft
|
|
}
|
|
%%*************************
|
|
%% enumitem related configuration
|
|
\setlist[enumerate,1]{label=\thehwcnt.\arabic*.}
|
|
\setlist[enumerate,2]{label=(\alph*)}
|
|
\setlist[enumerate,3]{label=\roman*.}
|
|
\setlist[enumerate,4]{label=\greek*}
|
|
%%******************************
|
|
\def\@slname{Solution}
|
|
\def\slname#1{\renewcommand\@slname{#1}}
|
|
|
|
\@ifundefined{solution}{
|
|
\newenvironment{solution}
|
|
{
|
|
\proof[\@slname]
|
|
}
|
|
{
|
|
%% no qed symbol in solution env
|
|
\renewcommand{\qedsymbol}{}
|
|
\endproof
|
|
}
|
|
}{}
|
|
%%******************************
|
|
%%common math symbols go here
|
|
%%*************************************************
|
|
\def\v#1{\underline{#1}}
|
|
\newcommand{\uc}{\underline{c}} % c, vec
|
|
\newcommand{\uv}{\underline{v}} % x, vec
|
|
\newcommand{\uw}{\underline{w}} % w, vec
|
|
\newcommand{\ux}{\underline{x}} % x, vec
|
|
\newcommand{\uy}{\underline{y}} % y, vec
|
|
\newcommand{\uz}{\underline{z}} % z, vec
|
|
\newcommand{\um}{\underline{m}} % m, vec
|
|
\newcommand{\rvx}{\mathsf{x}} % x, r.v.
|
|
\newcommand{\rvy}{\mathsf{y}} % y, r.v.
|
|
\newcommand{\rvz}{\mathsf{z}} % z, r.v.
|
|
\newcommand{\rvw}{\mathsf{w}} % w, r.v.
|
|
\newcommand{\rvH}{\mathsf{H}} % H, r.v.
|
|
\newcommand{\urvx}{\underline{\mathsf{x}}} % x, r.v. vec
|
|
\newcommand{\urvy}{\underline{\mathsf{y}}} % y, r.v. vec
|
|
\newcommand{\urvz}{\underline{\mathsf{z}}} % z, r.v. vec
|
|
\newcommand{\urvw}{\underline{\mathsf{w}}} % w, r.v. vec
|
|
|
|
\newcommand{\defas}{\triangleq} %\coloneqq
|
|
\newcommand{\reals}{\mathbb{R}}
|
|
\newcommand{\TT}{\mathrm{T}} % transpose
|
|
\DeclareMathOperator*{\argmax}{arg\,max}
|
|
\DeclareMathOperator*{\argmin}{arg\,min}
|
|
\DeclareMathOperator*{\argsup}{arg\,sup}
|
|
\DeclareMathOperator*{\arginf}{arg\,inf}
|
|
\DeclareMathOperator{\diag}{diag}
|
|
\DeclareMathOperator{\Var}{Var}
|
|
\DeclareMathOperator{\Cov}{Cov}
|
|
\DeclareMathOperator{\MSE}{MSE}
|
|
\DeclareMathOperator{\1}{\mathds{1}}
|
|
\DeclareMathOperator{\In}{\mathbb{I}}
|
|
\DeclareMathOperator{\E}{\mathbb{E}}
|
|
\DeclareMathOperator{\Prob}{\mathbb{P}}
|
|
\newcommand\independent{\protect\mathpalette{\protect\independenT}{\perp}}
|
|
\def\independenT#1#2{\mathrel{\rlap{$#1#2$}\mkern2mu{#1#2}}}
|
|
%%************************************************************************************
|