From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Mon, 2 Sep 2019 13:46:59 +0900
Subject: Initial commit

---
 macros/latex/contrib/unitn-bimrep/unitn-bimrep.cls | 228 +++++++++++++++++++++
 1 file changed, 228 insertions(+)
 create mode 100644 macros/latex/contrib/unitn-bimrep/unitn-bimrep.cls

(limited to 'macros/latex/contrib/unitn-bimrep/unitn-bimrep.cls')

diff --git a/macros/latex/contrib/unitn-bimrep/unitn-bimrep.cls b/macros/latex/contrib/unitn-bimrep/unitn-bimrep.cls
new file mode 100644
index 0000000000..7c12297081
--- /dev/null
+++ b/macros/latex/contrib/unitn-bimrep/unitn-bimrep.cls
@@ -0,0 +1,228 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{unitn-bimrep}[2017/09/18 University of Trento Bimonthly Report - Matteo Ragni]
+
+\newif\if@TNbiboption
+\@TNbiboptionfalse
+\DeclareOption{bib}{\@TNbiboptiontrue}
+\ProcessOptions\relax
+
+\LoadClass[a4paper,12pt]{report}
+
+\let\@author\@empty
+\let\@title\@empty
+\let\@cycle\@empty
+\let\@advisor\@empty
+
+\newcounter{TNenvflag}
+
+\RequirePackage[english]{babel}
+\RequirePackage[T1]{fontenc}
+\RequirePackage[a4paper,
+   top=1cm, 
+   bottom=1cm, 
+   left=1.4cm, 
+   right=1.4cm,
+   marginparwidth=0pt,
+   headheight=0pt,
+   footskip=0pt
+   ]{geometry}
+\RequirePackage{graphicx}
+\RequirePackage{array}
+\RequirePackage{libertine}
+\RequirePackage{framed}
+\if@TNbiboption
+  \RequirePackage[refsection=none,style=ieee,indexing=false]{biblatex}
+  \let\TNprintbibliography\printbibliography
+  \renewcommand{\printbibliography}{\TNprintbibliography[heading=none]}
+\fi
+
+% Page Numbering
+\pagenumbering{gobble}
+
+% Command Declarations
+\newcommand{\advisor}[1]{\def\@advisor{#1}}
+\newcommand{\cycle}[1]{\def\@cycle{#1}}
+\newcommand{\@TNhlinenew}{\noindent\makebox[\linewidth]{\rule{\linewidth}{0.4pt}}}
+% Variable Checker
+\newcommand{\@TNcheckvariables}{%
+\ifx\@author\@empty{
+  \ClassError{unitn-bimrep}{Report Author is undefined}{Use the \author{...} command to define it}
+}\fi
+\ifx\@title\@empty{
+  \ClassError{unitn-bimrep}{Student Thesis title is undefined}{Use the \title{...} command to define it}
+}\fi
+\ifx\@advisor\@empty{
+  \ClassError{unitn-bimrep}{Student Advisor is undefined}{Use the \advisor{...} command to define it}
+}\fi
+\ifx\@cycle\@empty{
+  \ClassError{unitn-bimrep}{Student Cycle is undefined}{Use the \cycle{...} command to define it}
+}\fi}
+\newcommand{\@TNcheckenvs}{%
+  \ifnum\value{TNenvflag}<1{
+    \ClassError{unitn-bimrep}{Missing Research activities Environment}
+      {Please define it in \begin{research} ... \end{research}}
+  }
+  \ifnum\value{TNenvflag}<2{
+    \ClassError{unitn-bimrep}{Missing School and Seminars attendance Environment}
+      {Please define it in \begin{attendance} ... \end{attendance}}
+  }
+  \ifnum\value{TNenvflag}<3{
+    \ClassError{unitn-bimrep}{Missing Production Environment}
+      {Please define it in \begin{production} ... \end{production}}
+  }
+}
+
+% Environment Checker
+% Title Declaration
+\renewcommand{\maketitle}{%
+\@TNcheckvariables
+\begin{centering}
+	\begin{tabular}{c}
+	\includegraphics[scale=0.5]{unitn-bimrep.jpg} \\
+	\textsc{{\bfseries Doctoral School in Materials,}} \\
+	\textsc{{\bfseries Mechatronics and Systems Engineering}} \vspace{0.3cm} \\
+	BIMONTHLY REPORT. \textit{Send to: {dii.phd@unitn.it}} \vspace{0.3cm} \\
+	\textsc{Deadlines}: 22.02, 22.04, 22.06, 22.08, 22.10, 20.12 (every year) \\
+	\hspace{\linewidth} \\
+	\end{tabular}
+\end{centering}
+\begin{framed}
+\noindent
+Student Name: \textbf{\@author} \hfill Cycle/Year: \textbf{\@cycle} \\
+Thesis: \textbf{\@title} \\
+Supervisor: \textbf{\@advisor} \hfill Date: \textbf{\today}
+\end{framed}%
+}
+
+% document environment last fixes
+\AtBeginDocument{%
+
+\maketitle
+\begin{framed}
+}
+\AtEndDocument{
+\ifnum\value{TNenvflag}=10\else{
+  \ClassError{unitn-bimrep}
+    {One of the required environment is missing.}
+    {Please remember that the correct order is 1) Research Activities, 2) School and Seminars, 3) Publications}
+}\fi
+\end{framed}}
+
+% May be empty itemize environment wrkaround (sorurce: https://tex.stackexchange.com/questions/86547)
+\let\@oldnoitemerr\@noitemerr
+\newcommand\noitemerroroff{\let\@noitemerr\relax}
+\newcommand\noitemerroron{\let\@noitemerr\@oldnoitemerr}
+\newenvironment{TN may be empty itemize}
+{\itemize\noitemerroroff}
+{\enditemize\noitemerroron}
+% Research - Bullet list environment
+\newenvironment{research}{%
+  \ifnum\value{TNenvflag}=0{
+    \setcounter{TNenvflag}{1}  
+  }\else{
+    \ClassError{unitn-bimrep}
+      {Reasearch activities already defined}
+      {The research environment has already been used. Please use it only once.} 
+  }\fi
+  {\noindent{\large\textbf{Summary of Research Activity}:}}
+  \begin{TN may be empty itemize}
+}
+{
+  \end{TN may be empty itemize}
+}
+% Research - Empty environment
+\newenvironment{research*}{%
+  \ifnum\value{TNenvflag}=0{
+    \setcounter{TNenvflag}{1}  
+  }\else{
+    \ClassError{unitn-bimrep}
+      {Reasearch activities already defined}
+      {The research environment has already been used. Please use it only once.} 
+  }\fi
+  {\noindent{\large\textbf{Summary of Research Activity}:}} \\
+}{}
+% School - Bullet list environment
+\newenvironment{school}{%
+  \ifnum\value{TNenvflag}=5{
+    \ClassError{unitn-bimrep}
+      {Schools and Seminars activities already defined}
+      {The attendance environment has already been used. Please use it only once.} 
+  }\else{
+    \ifnum\value{TNenvflag}=1{
+      \setcounter{TNenvflag}{5}
+    }\else{
+      \ClassError{unitn-bimrep}
+        {Schools and Seminars attendance defined before Research Activities}
+        {Please remember that the correct order is 1) Research Activities, 2) School and Seminars, 3) Publications}
+    }\fi
+  }\fi
+  \let\@TNitem\item
+  \renewcommand{\item}[3]{\@TNitem \emph{##1}, ##2 (##3)}
+  \@TNhlinenew \vspace{0.2cm} {\large \textbf{Attendance at Schools/Classes/Seminars}} (title, length (day/hours), credits):
+  \begin{TN may be empty itemize}
+}
+{
+  \end{TN may be empty itemize}
+}
+% School - Plain environment
+\newenvironment{school*}{%
+  \ifnum\value{TNenvflag}=5{
+    \ClassError{unitn-bimrep}
+      {Schools and Seminars activities already defined}
+      {The attendance environment has already been used. Please use it only once.} 
+  }\else{
+    \ifnum\value{TNenvflag}=1{
+      \setcounter{TNenvflag}{5}
+    }\else{
+      \ClassError{unitn-bimrep}
+        {Schools and Seminars attendance defined before Research Activities}
+        {Please remember that the correct order is 1) Research Activities, 2) School and Seminars, 3) Publications}
+    }\fi
+  }\fi
+  \@TNhlinenew \vspace{0.2cm} {\large \textbf{Attendance at Schools/Classes/Seminars}} (title, length (day/hours), credits): \\
+}{}
+% Production - Bullet list environment
+\newenvironment{production}{%
+\ifnum\value{TNenvflag}=10{
+    \ClassError{unitn-bimrep}
+     {List of new publications and congress participation already defined}
+     {The production environment has already been used. Please use it only once.} 
+  }\else{
+    \ifnum\value{TNenvflag}=5{
+      \setcounter{TNenvflag}{10}
+    }\else{
+      \ClassError{unitn-bimrep}
+        {Schools and Seminars attendance defined before Research Activities}
+        {Please remember that the correct order is 1) Research Activities, 2) School and Seminars, 3) Publications}
+    }\fi
+  }\fi
+  \let\@TNitem\item
+  \renewcommand{\item}[3]{\@TNitem {\small##1}:\\ \emph{##2}\\ {\small##3}}
+  \@TNhlinenew \vspace{0.2cm} {\large\textbf{Publications/Congress participation}:}
+  \begin{TN may be empty itemize}
+}
+{
+  \end{TN may be empty itemize}
+  \vspace{0.2cm}
+}
+% Production - Plain Environment
+\newenvironment{production*}{%
+\ifnum\value{TNenvflag}=10{
+    \ClassError{unitn-bimrep}
+     {List of new publications and congress participation already defined}
+     {The production environment has already been used. Please use it only once.} 
+  }\else{
+    \ifnum\value{TNenvflag}=5{
+      \setcounter{TNenvflag}{10}
+    }\else{
+      \ClassError{unitn-bimrep}
+        {Schools and Seminars attendance defined before Research Activities}
+        {Please remember that the correct order is 1) Research Activities, 2) School and Seminars, 3) Publications}
+    }\fi
+  }\fi
+  \@TNhlinenew \vspace{0.2cm} {\large\textbf{Publications/Congress participation}:} \\
+}
+{
+  \vspace{0.2cm}
+}
+
-- 
cgit v1.2.3

