\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{tacmeetingclass}[2025/12/10 v1.3 TAC Meeting Report Form]

\LoadClass[9pt]{article}

\RequirePackage[sfdefault,light]{roboto}

\RequirePackage{amssymb}
%\RequirePackage[normalem]{ulem}
\RequirePackage{wasysym}
\RequirePackage[a4paper,portrait]{geometry}

\geometry{lmargin=72.0bp,rmargin=72.0bp,tmargin=72.0bp,bmargin=100.0bp}
\setlength{\headheight}{52pt}
\setlength{\footskip}{30bp}

\RequirePackage{xcolor}
%
\definecolor{MPGgreen}{HTML}{006c66}      % also an IMPRS base color
\definecolor{MPGgreendark}{HTML}{005555}  % also an IMPRS base color
\definecolor{MPGgrey}{HTML}{a7a7a8}
\definecolor{MPGgreylight}{HTML}{eeeeee}
\definecolor{MPGgreydark}{HTML}{777777}   % also an IMPRS base color
\definecolor{MPGgreenlight}{HTML}{c6d325} % also an IMPRS base color
\definecolor{MPGgreenverylight}{HTML}{f6f8d8}
\definecolor{MPGbluelight}{HTML}{00b1ea}  % also an IMPRS base color
\definecolor{MPGblueverylight}{HTML}{d6f5ff}
\definecolor{MPGbluedark}{HTML}{29485d}   % also an IMPRS base color
\definecolor{MPGorange}{HTML}{ef7c00}     % also an IMPRS base color
\definecolor{MPGorangelight}{HTML}{ef7c00}
\definecolor{MPGorangeverylight}{HTML}{ffe4c8}
%
\colorlet{bluesss}{MPGbluelight}
\colorlet{darkbluesss}{MPGbluedark}
\colorlet{faintgray}{MPGgreylight}
%\colorlet{faintblue}{MPGblueverylight}
%
%\definecolor{bluesss}{rgb}{0.,0.445,0.730}
%\definecolor{darkbluesss}{rgb}{0.,0.20,0.50}
%\definecolor{faintgray}{rgb}{0.9,0.9,0.9}
%\definecolor{faintblue}{rgb}{0.92,0.95,0.99}
\definecolor{faintblue}{HTML}{ecf6f9}

\RequirePackage{titlesec}
\RequirePackage{fancyhdr,lastpage}

\RequirePackage{graphicx}
\RequirePackage{pdfpages}

\RequirePackage{hyperref}
\hypersetup{
    colorlinks=true,
    linkcolor=blue,
    filecolor=magenta,      
    urlcolor=cyan,
    pdftitle={Thesis Advisory Committee Meeting PHD STATUS REPORT},
    }

%\RequirePackage{xstring}% Needed for \IfStrEqCase
\RequirePackage{calc}
\RequirePackage{pgf}% For math

\RequirePackage[ddmmyyyy]{datetime}
\RequirePackage{datenumber}% Date formatting
\RequirePackage{advdate}% Needed for \AdvanceDate

%\RequirePackage{lipsum}


\newcommand*{\@fillinfont}{\sffamily}
\newcommand*{\@formfont}{\sffamily}
%\newcommand*{\@unchecked}{\Square}
\newcommand*{\@unchecked}{\color{faintgray}\scalebox{0.8}{$\blacksquare$}\hspace*{-4.5mm}\color{gray}\Square}
\newcommand*{\@checked}{\color{gray}\XBox}


\titleformat{\section}
  {\normalfont\sffamily\normalsize\bfseries}
{\thesection}{1em}{}

\titleformat{\subsection}
  {\normalfont\sffamily\normalsize\bfseries}
{\thesubsection}{1em}{}

\titleformat{\subsubsection}
  {\normalfont\sffamily\normalsize\bfseries}
{\thesubsubsection}{1em}{}

\newcommand*{\@name}{\rule{0pt}{\baselineskip}}
\newcommand*{\@name@first}{\rule{0pt}{\baselineskip}}
\newcommand*{\@name@last}{\rule{0pt}{\baselineskip}}
\newcommand*{\name}[2]{%
  \renewcommand*{\@name}{#1 #2}%
  \renewcommand*{\@name@first}{#1}%
  \renewcommand*{\@name@last}{#2}%
}

\newcommand*{\@university}{\rule{0pt}{\baselineskip}}
\newcommand*{\university}[1]{\renewcommand*{\@university}{#1}}

\renewcommand*{\@title}{\rule{0pt}{\baselineskip}}
\renewcommand*{\title}[1]{\renewcommand*{\@title}{#1}}

\newcommand*{\@abstract}{\rule{0pt}{1in}}
\renewcommand*{\abstract}[1]{\renewcommand*{\@abstract}{#1}
}


\newcommand*{\@TAConecomments}{\rule{0pt}{1in} 
\textcolor{darkbluesss}{\scriptsize\mbox{TAC members: Please provide comments by filling the 
\texttt{\textbackslash TAConecomments} command. Box size will expand as needed.}}}
\newcommand*{\TAConecomments}[1]{\renewcommand*{\@TAConecomments}{#1}}

\newcommand*{\@TACtwocomments}{\rule{0pt}{1in} 
\textcolor{darkbluesss}{\scriptsize\mbox{TAC members: Please provide comments by filling the 
\texttt{\textbackslash TACtwocomments} command. Box size will expand as needed.}}}
\newcommand*{\TACtwocomments}[1]{\renewcommand*{\@TACtwocomments}{#1}}

\newcommand*{\@TACthreecomments}{\rule{0pt}{1in} 
\textcolor{darkbluesss}{\scriptsize\mbox{TAC members: Please provide comments by filling the 
\texttt{\textbackslash TACthreecomments} command. Box size will expand as needed.}}}
\newcommand*{\TACthreecomments}[1]{\renewcommand*{\@TACthreecomments}{#1}}

\newcommand*{\@TACfourcomments}{\rule{0pt}{1in} 
\textcolor{darkbluesss}{\scriptsize\mbox{TAC members: Please provide comments by filling the 
\texttt{\textbackslash TACfourcomments} command. Box size will expand as needed.}}}
\newcommand*{\TACfourcomments}[1]{\renewcommand*{\@TACfourcomments}{#1}}


% fill tacmembers and tacmembersshort from \tacmember{}{}{}
\newcommand*{\@tacmembers}{}
\newcommand*{\@tacmembers@short}{}
\newcommand*{\tacmember}[3]{%
  \protected@edef\@tacmembers{\@tacmembers
    \protect{\bigskip\bigskip\bigskip\\
     $\overline{\hbox to 0.5\textwidth{}}$\\[-1ex]
     \textbf{\scriptsize #1 #2, #3 }}\\%
  }%
  \protected@edef\@tacmembers@short{\@tacmembers@short
    #2 \quad }%
}

%Project report
%
\newcommand{\projectreport@one}{}
\newcommand{\projectreport@two}{}
\newcommand{\projectreport@three}{}
\newcommand{\projectreport@four}{}
%
\newcommand*{\projectreport}[2]{
  \ifnum#1=1 \renewcommand{\projectreport@one}{%  
    \parbox{\textwidth}{%
      \textbf{Written report for TAC meeting 1} \textcolor{gray}{(May NOT be modified when preparing for TAC meeting 2 etc.)}
      \smallskip\\
      \noindent%
      \fcolorbox{gray}{faintgray}{%
        \@fillinfont\sffamily 
        \parbox{\textwidth}{%
          #2%\projectreport@one
        }
      }
    }
  } \fi
  \ifnum#1=2 \renewcommand{\projectreport@two}{%
    \parbox{\textwidth}{%
      \textbf{Written report for TAC meeting 2}
      \smallskip\\
      \noindent%
      \fcolorbox{gray}{faintgray}{%
        \@fillinfont\sffamily 
        \parbox{\textwidth}{%
          #2%\projectreport@two
        }
      }
    }
  } \fi
  \ifnum#1=3 \renewcommand{\projectreport@three}{%
    \parbox{\textwidth}{%
      \textbf{Written report for TAC meeting 3}
      \smallskip\\
      \noindent%
      \fcolorbox{gray}{faintgray}{%
        \@fillinfont\sffamily 
        \parbox{\textwidth}{%
          #2%\projectreport@three
        }
      }
    }
  } \fi
  \ifnum#1=4 \renewcommand{\projectreport@four}{%
    \parbox{\textwidth}{%
      \textbf{Written report for TAC meeting 4}
      \smallskip\\
      \noindent%
      \fcolorbox{gray}{faintgray}{%
        \@fillinfont\sffamily 
        \parbox{\textwidth}{%
          #2%\projectreport@four
        }
      }
    }
  } \fi
  \ifnum#1>4 \ClassError{tacmeetingclass}{Unknown parameter `#1'.%
    Parameter can be 1, 2, 3, 4}%
        {Parameter can be 1, 2, 3, 4} \fi
}

\newcommand*{\@projectreports}{}

\renewcommand*{\@projectreports}{
  \noindent
  \projectreport@one
  \par\medskip\medskip\noindent
  \projectreport@two
  \par\medskip\medskip\noindent
  \projectreport@three
  \par\medskip\medskip\noindent
  \projectreport@four
}
%

%TAC comments
%
\newcommand{\TACcomments@one}{}
\newcommand{\TACcomments@two}{}
\newcommand{\TACcomments@three}{}
\newcommand{\TACcomments@four}{}
%
\newcommand*{\TACcomments}[2]{
  \ifnum#1=1 \renewcommand{\TACcomments@one}{%  
    \parbox{\textwidth}{%
      \textbf{Comments by TAC members for TAC meeting 1}
      \smallskip\\
      \noindent%
      \fcolorbox{bluesss}{faintblue}{%
        \@fillinfont\sffamily 
        \parbox{\textwidth}{%
          #2%\TACcomments@one
        }
      }
    }
  } \fi
  \ifnum#1=2 \renewcommand{\TACcomments@two}{%
    \parbox{\textwidth}{%
      \textbf{Comments by TAC members for TAC meeting 2}
      \smallskip\\
      \noindent%
      \fcolorbox{bluesss}{faintblue}{%
        \@fillinfont\sffamily 
        \parbox{\textwidth}{%
          #2%\TACcomments@two
        }
      }
    }
  } \fi
  \ifnum#1=3 \renewcommand{\TACcomments@three}{%
    \parbox{\textwidth}{%
      \textbf{Comments by TAC members for  TAC meeting 3}
      \smallskip\\
      \noindent%
      \fcolorbox{bluesss}{faintblue}{%
        \@fillinfont\sffamily 
        \parbox{\textwidth}{%
          #2%\TACcomments@three
        }
      }
    }
  } \fi
  \ifnum#1=4 \renewcommand{\TACcomments@four}{%
    \parbox{\textwidth}{%
      \textbf{Comments by TAC members for TAC meeting 4}
      \smallskip\\
      \noindent%
      \fcolorbox{bluesss}{faintblue}{%
        \@fillinfont\sffamily 
        \parbox{\textwidth}{%
          #2%\TACcomments@four
        }
      }
    }
  } \fi
  \ifnum#1>4 \ClassError{tacmeetingclass}{Unknown parameter `#1'.%
    Parameter can be 1, 2, 3, 4}%
        {Parameter can be 1, 2, 3, 4} \fi
}

\newcommand*{\@TACcommentss}{}

\renewcommand*{\@TACcommentss}{
  \noindent
  \TACcomments@one
  \par\medskip\medskip\noindent
  \TACcomments@two
  \par\medskip\medskip\noindent
  \TACcomments@three
  \par\medskip\medskip\noindent
  \TACcomments@four
}
%


%TAC assessments
%
\newcommand{\TACassessments@one}{}
\newcommand{\TACassessments@two}{}
\newcommand{\TACassessments@three}{}
\newcommand{\TACassessments@four}{}

%default
\renewcommand{\TACassessments@one}{%  
    \fcolorbox{bluesss}{faintblue}{\makebox[0.2\textwidth][l]{\jj }}}
\renewcommand{\TACassessments@two}{%
    \fcolorbox{bluesss}{faintblue}{\makebox[0.2\textwidth][l]{\jj }}}
\renewcommand{\TACassessments@three}{%
    \fcolorbox{bluesss}{faintblue}{\makebox[0.2\textwidth][l]{\jj }}}
\renewcommand{\TACassessments@four}{%
    \fcolorbox{bluesss}{faintblue}{\makebox[0.2\textwidth][l]{\jj }}}

\newcommand*{\TACassessments}[2]{
%fill
  \ifnum#1=1 \renewcommand{\TACassessments@one}{%  
    \fcolorbox{bluesss}{faintblue}{\makebox[0.2\textwidth][l]{\jj #2}}
  } \fi
  \ifnum#1=2 \renewcommand{\TACassessments@two}{%
    \fcolorbox{bluesss}{faintblue}{\makebox[0.2\textwidth][l]{\jj #2}}
  } \fi
  \ifnum#1=3 \renewcommand{\TACassessments@three}{%
    \fcolorbox{bluesss}{faintblue}{\makebox[0.2\textwidth][l]{\jj #2}}
  } \fi
  \ifnum#1=4 \renewcommand{\TACassessments@four}{%
    \fcolorbox{bluesss}{faintblue}{\makebox[0.2\textwidth][l]{\jj #2}}
  } \fi
  \ifnum#1>4 \ClassError{tacmeetingclass}{Unknown parameter `#1'.%
    Parameter can be 1, 2, 3, 4}%
        {Parameter can be 1, 2, 3, 4} \fi
}

\newcommand*{\@TACassessmentss}{}

\renewcommand*{\@TACassessmentss}{
  \noindent
  \begin{tabular}{@{}l@{~\qquad}l@{~\qquad}l@{~\qquad}l@{}}
    \TACassessments@one
    &
    \TACassessments@two
    &
    \TACassessments@three
    &
    \TACassessments@four
    \\[-1ex]
     \textbf{\scriptsize TAC 1} 
    & \textbf{\scriptsize TAC 2} 
    & \textbf{\scriptsize TAC 3} 
    & \textbf{\scriptsize TAC 4}
    \\
  \end{tabular}
}
%


% review of progress on formalites
%%% imprstacagreementexists
\newcommand*{\reset@imprstacagreementexists}{%
  \def\imprstacagreementexists@yes{\@unchecked}%
  \def\imprstacagreementexists@no{\@unchecked}%
}
\reset@imprstacagreementexists
\newcommand*{\imprstacagreementexists}[1]{%
  \@ifundefined{imprstacagreementexists@#1}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  {%
    \reset@imprstacagreementexists
    \@namedef{imprstacagreementexists@#1}{\@checked}%
  }%
}
%%% unitacagreementexists
\newcommand*{\reset@unitacagreementexists}{%
  \def\unitacagreementexists@yes{\@unchecked}%
  \def\unitacagreementexists@no{\@unchecked}%
}
\reset@unitacagreementexists
\newcommand*{\unitacagreementexists}[1]{%
  \@ifundefined{unitacagreementexists@#1}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  {%
    \reset@unitacagreementexists
    \@namedef{unitacagreementexists@#1}{\@checked}%
  }%
}
%%% unienrolmentconfirmed
\newcommand*{\reset@unienrolmentconfirmed}{%
  \def\unienrolmentconfirmed@yes{\@unchecked}%
  \def\unienrolmentconfirmed@no{\@unchecked}%
}
\reset@unienrolmentconfirmed
\newcommand*{\unienrolmentconfirmed}[1]{%
  \@ifundefined{unienrolmentconfirmed@#1}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  {%
    \reset@unienrolmentconfirmed
    \@namedef{unienrolmentconfirmed@#1}{\@checked}%
  }%
}
%%% tacfolderisuptodate
\newcommand*{\reset@tacfolderisuptodate}{%
  \def\tacfolderisuptodate@yes{\@unchecked}%
  \def\tacfolderisuptodate@no{\@unchecked}%
}
\reset@tacfolderisuptodate
\newcommand*{\tacfolderisuptodate}[1]{%
  \@ifundefined{tacfolderisuptodate@#1}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  {%
    \reset@tacfolderisuptodate
    \@namedef{tacfolderisuptodate@#1}{\@checked}%
  }%
}
%%% examinationauthorisationsexist
\newcommand*{\reset@examinationauthorisationsexist}{%
  \def\examinationauthorisationsexist@yes{\@unchecked}%
  \def\examinationauthorisationsexist@no{\@unchecked}%
}
\reset@examinationauthorisationsexist
\newcommand*{\examinationauthorisationsexist}[1]{%
  \@ifundefined{examinationauthorisationsexist@#1}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  {%
    \reset@examinationauthorisationsexist
    \@namedef{examinationauthorisationsexist@#1}{\@checked}%
  }%
}
%%% requestedcumulativethesis
\newcommand*{\reset@requestedcumulativethesis}{%
  \def\requestedcumulativethesis@yes{\@unchecked}%
  \def\requestedcumulativethesis@no{\@unchecked}%
}
\reset@requestedcumulativethesis
\newcommand*{\requestedcumulativethesis}[1]{%
  \@ifundefined{requestedcumulativethesis@#1}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  {%
    \reset@requestedcumulativethesis
    \@namedef{requestedcumulativethesis@#1}{\@checked}%
  }%
}
%%% courseassessmentformuptodate
\newcommand*{\reset@courseassessmentformuptodate}{%
  \def\courseassessmentformuptodate@yes{\@unchecked}%
  \def\courseassessmentformuptodate@no{\@unchecked}%
}
\reset@courseassessmentformuptodate
\newcommand*{\courseassessmentformuptodate}[1]{%
  \@ifundefined{courseassessmentformuptodate@#1}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  {%
    \reset@courseassessmentformuptodate
    \@namedef{courseassessmentformuptodate@#1}{\@checked}%
  }%
}
%%% gaussteachingfulfilled
\newcommand*{\reset@gaussteachingfulfilled}{%
  \def\gaussteachingfulfilled@yes{\@unchecked}%
  \def\gaussteachingfulfilled@no{\@unchecked}%
}
\reset@gaussteachingfulfilled
\newcommand*{\gaussteachingfulfilled}[1]{%
  \@ifundefined{gaussteachingfulfilled@#1}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  {%
    \reset@gaussteachingfulfilled
    \@namedef{gaussteachingfulfilled@#1}{\@checked}%
  }%
}
%%% gausscoursesfulfilled
\newcommand*{\reset@gausscoursesfulfilled}{%
  \def\gausscoursesfulfilled@yes{\@unchecked}%
  \def\gausscoursesfulfilled@no{\@unchecked}%
}
\reset@gausscoursesfulfilled
\newcommand*{\gausscoursesfulfilled}[1]{%
  \@ifundefined{gausscoursesfulfilled@#1}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  {%
    \reset@gausscoursesfulfilled
    \@namedef{gausscoursesfulfilled@#1}{\@checked}%
  }%
}
%%% imprscoursesfulfilled
\newcommand*{\reset@imprscoursesfulfilled}{%
  \def\imprscoursesfulfilled@yes{\@unchecked}%
  \def\imprscoursesfulfilled@no{\@unchecked}%
}
\reset@imprscoursesfulfilled
\newcommand*{\imprscoursesfulfilled}[1]{%
  \@ifundefined{imprscoursesfulfilled@#1}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  {%
    \reset@imprscoursesfulfilled
    \@namedef{imprscoursesfulfilled@#1}{\@checked}%
  }%
}
%%%



\newdateformat{mydate}{\THEYEAR\,--\,\twodigit{\THEMONTH}\,--\,\twodigit{\THEDAY}}
\newdateformat{monthdate}{\THEYEAR\,--\,\monthname}

\SaveDate[\realtoday]
\newcommand*{\@realtoday}{\mydate\realtoday}


\newcommand*{\@datefundingstart}{\mydate\today}
\newcommand*{\@datenominalend}{}
\newcommand*{\@dateenrolment}{}
\newcommand*{\@dateseminartalkone}{}
\newcommand*{\@dateseminartalktwo}{}
\newcommand*{\@dateseminartalkthree}{}
\newcommand*{\@datethesissubmission}{}
\newcommand*{\@datethesisdefense}{}
\newcommand*{\@datefundingends}{}

\newcommand*{\@datetacmeetingone}{}
\newcommand*{\@datetacmeetingtwo}{}
\newcommand*{\@datetacmeetingthree}{}
\newcommand*{\@datetacmeetingfour}{}
\newcommand*{\@datecurrenttacmeeting}{}
\newcommand*{\@monthssincestartattacone}{\textcolor{white}{\textbf{6}}}
\newcommand*{\@monthssincestartattactwo}{\textcolor{white}{\textbf{18}}}
\newcommand*{\@monthssincestartattacthree}{\textcolor{white}{\textbf{30}}}
\newcommand*{\@monthssincestartattacfour}{\textcolor{white}{\textbf{}}}
\newcommand*{\@monthstofinishattacone}{}
\newcommand*{\@monthstofinishattactwo}{}
\newcommand*{\@monthstofinishattacthree}{}
\newcommand*{\@monthstofinishattacfour}{}
\newcommand*{\@monthsthesistotal}{}

\newcommand*{\datetacmeetingone}{}
\newcommand*{\datetacmeetingtwo}{}
\newcommand*{\datetacmeetingthree}{}
\newcommand*{\datetacmeetingfour}{}

\newcounter{datestart}%
\newcounter{dateone}%
\newcounter{datetwo}%
\newcounter{datethree}%
\newcounter{datefour}%
\newcounter{datetotal}%

%%% set start date, calculate time to TAC meetings and nominal end
\newcommand*{\datefundingstart}[3]{%
  \SetDate[#3/#2/#1]
  \SaveDate
  \renewcommand*{\@datefundingstart}{\mydate\today}
  \renewcommand*{\@datenominalend}{\mydate\DayAfter[1277]}
  \renewcommand*{\@datetacmeetingone}{\textcolor{MPGorange}{\textbf{\monthdate\DayAfter[122]}}}
  \renewcommand*{\@datetacmeetingtwo}{\textcolor{white}{\textbf{\monthdate\DayAfter[488]}}}
  \renewcommand*{\@datetacmeetingthree}{\textcolor{white}{\textbf{\monthdate\DayAfter[854]}}}
  \renewcommand*{\@datetacmeetingfour}{\textcolor{white}{\textbf{}}}
  \renewcommand*{\@monthssincestartattacone}{\textcolor{white}{\textbf{3\,--\,6}}}
  \renewcommand*{\@monthssincestartattactwo}{\textcolor{white}{\textbf{15\,--\,18}}}
  \renewcommand*{\@monthssincestartattacthree}{\textcolor{white}{\textbf{27\,--\,30}}}
  \renewcommand*{\@monthssincestartattacfour}{\textcolor{white}{\textbf{}}}
  \SetDate
  \setmydatenumber{datestart}{#1}{#2}{#3}
}

\renewcommand*{\datetacmeetingone}[3]{
  \setmydatenumber{dateone}{#1}{#2}{#3}
  \renewcommand*{\@datetacmeetingone}{#1\,--\,\twodigit{#2}\,--\,\twodigit{#3}}
  \renewcommand*{\@monthssincestartattacone}{
    \addtocounter{dateone}{-\thedatestart}%
    \the\numexpr(\thedateone)/30\relax\space}
  \renewcommand*{\@monthstofinishattacone}{
    \the\numexpr(36-(\thedateone)/30)\relax\space}
  \renewcommand*{\@datecurrenttacmeeting}{\@datetacmeetingone}
}
\renewcommand*{\datetacmeetingtwo}[3]{
  \setmydatenumber{datetwo}{#1}{#2}{#3}
  \renewcommand*{\@datetacmeetingtwo}{#1\,--\,\twodigit{#2}\,--\,\twodigit{#3}}
  \renewcommand*{\@monthssincestartattactwo}{
    \addtocounter{datetwo}{-\thedatestart}%
    \the\numexpr(\thedatetwo)/30\relax\space}
  \renewcommand*{\@monthstofinishattactwo}{
    \the\numexpr(36-(\thedatetwo)/30)\relax\space}
  \renewcommand*{\@datecurrenttacmeeting}{\@datetacmeetingtwo}
}
\renewcommand*{\datetacmeetingthree}[3]{
  \setmydatenumber{datethree}{#1}{#2}{#3}
  \renewcommand*{\@datetacmeetingthree}{#1\,--\,\twodigit{#2}\,--\,\twodigit{#3}}
  \renewcommand*{\@monthssincestartattacthree}{
    \addtocounter{datethree}{-\thedatestart}%
    \the\numexpr(\thedatethree)/30\relax\space}
  \renewcommand*{\@monthstofinishattacthree}{
    \the\numexpr(36-(\thedatethree)/30)\relax\space}
  \renewcommand*{\@datecurrenttacmeeting}{\@datetacmeetingthree}
}
\renewcommand*{\datetacmeetingfour}[3]{
  \setmydatenumber{datefour}{#1}{#2}{#3}
  \renewcommand*{\@datetacmeetingfour}{#1\,--\,\twodigit{#2}\,--\,\twodigit{#3}}
  \renewcommand*{\@monthssincestartattacfour}{
    \addtocounter{datefour}{-\thedatestart}%
    \the\numexpr(\thedatefour)/30\relax\space}
  \renewcommand*{\@monthstofinishattacfour}{
    \the\numexpr(36-(\thedatefour)/30)\relax\space}
  \renewcommand*{\@datecurrenttacmeeting}{\@datetacmeetingfour}
}

%%% dates without calculations
\newcommand*{\dateenrolment}[3]{%
  \renewcommand*{\@dateenrolment}{#1\,--\,\twodigit{#2}\,--\,\twodigit{#3}}
}
\newcommand*{\dateseminartalkone}[3]{%
  \renewcommand*{\@dateseminartalkone}{#1\,--\,\twodigit{#2}\,--\,\twodigit{#3}}
}
\newcommand*{\dateseminartalktwo}[3]{%
  \renewcommand*{\@dateseminartalktwo}{#1\,--\,\twodigit{#2}\,--\,\twodigit{#3}}
}
\newcommand*{\dateseminartalkthree}[3]{%
  \renewcommand*{\@dateseminartalkthree}{#1\,--\,\twodigit{#2}\,--\,\twodigit{#3}}
}
\newcommand*{\datethesissubmission}[3]{%
  \renewcommand*{\@datethesissubmission}{#1\,--\,\twodigit{#2}\,--\,\twodigit{#3}}
}
\newcommand*{\datefundingends}[3]{%
  \renewcommand*{\@datefundingends}{#1\,--\,\twodigit{#2}\,--\,\twodigit{#3}}
}

%%% set defense date, calculate total duration since start date
\newcommand*{\datethesisdefense}[3]{%
  \setmydatenumber{datetotal}{#1}{#2}{#3}
  \renewcommand*{\@datethesisdefense}{#1\,--\,\twodigit{#2}\,--\,\twodigit{#3}}
  \renewcommand*{\@monthsthesistotal}{
    \addtocounter{datetotal}{-\thedatestart}%
    \the\numexpr(\thedatetotal)/30\relax\space}
}


% report options
% report options: reportoptionseminarslides
\newcommand*{\reset@reportoptionseminarslides}[4]{%
  \def\reportoptionseminarslides@no{}%
  \def\reportoptionseminarslides@yes{}%
  \def\reportoptionseminarslidestacone@no{\@unchecked}%
  \def\reportoptionseminarslidestacone@yes{\@unchecked}%
  \def\reportoptionseminarslidestactwo@no{\@unchecked}%
  \def\reportoptionseminarslidestactwo@yes{\@unchecked}%
  \def\reportoptionseminarslidestacthr@no{\@unchecked}%
  \def\reportoptionseminarslidestacthr@yes{\@unchecked}%
  \def\reportoptionseminarslidestacfou@no{\@unchecked}%
  \def\reportoptionseminarslidestacfou@yes{\@unchecked}%
}

\reset@reportoptionseminarslides{}{}{}{}

\newcommand*{\reportoptionseminarslides}[4]{
  \@ifundefined{reportoptionseminarslides@#1}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@ifundefined{reportoptionseminarslides@#2}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@ifundefined{reportoptionseminarslides@#3}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@ifundefined{reportoptionseminarslides@#4}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@namedef{reportoptionseminarslidestacone@#1}{\@checked}
  \@namedef{reportoptionseminarslidestactwo@#2}{\@checked}
  \@namedef{reportoptionseminarslidestacthr@#3}{\@checked}
  \@namedef{reportoptionseminarslidestacfou@#4}{\@checked}
%
}
\newcommand*{\@allreportoptionseminarslides}{%
  &\LARGE\reportoptionseminarslidestacone@yes 
  &\LARGE\reportoptionseminarslidestactwo@yes 
  &\LARGE\reportoptionseminarslidestacthr@yes 
  &\LARGE\reportoptionseminarslidestacfou@yes 
  \\[-0.9ex]
}
% report options: reportoptiontacmeetingslides
\newcommand*{\reset@reportoptiontacmeetingslides}[4]{%
  \def\reportoptiontacmeetingslides@no{}%
  \def\reportoptiontacmeetingslides@yes{}%
  \def\reportoptiontacmeetingslidestacone@no{\@unchecked}%
  \def\reportoptiontacmeetingslidestacone@yes{\@unchecked}%
  \def\reportoptiontacmeetingslidestactwo@no{\@unchecked}%
  \def\reportoptiontacmeetingslidestactwo@yes{\@unchecked}%
  \def\reportoptiontacmeetingslidestacthr@no{\@unchecked}%
  \def\reportoptiontacmeetingslidestacthr@yes{\@unchecked}%
  \def\reportoptiontacmeetingslidestacfou@no{\@unchecked}%
  \def\reportoptiontacmeetingslidestacfou@yes{\@unchecked}%
}

\reset@reportoptiontacmeetingslides{}{}{}{}

\newcommand*{\reportoptiontacmeetingslides}[4]{
  \@ifundefined{reportoptiontacmeetingslides@#1}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@ifundefined{reportoptiontacmeetingslides@#2}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@ifundefined{reportoptiontacmeetingslides@#3}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@ifundefined{reportoptiontacmeetingslides@#4}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@namedef{reportoptiontacmeetingslidestacone@#1}{\@checked}
  \@namedef{reportoptiontacmeetingslidestactwo@#2}{\@checked}
  \@namedef{reportoptiontacmeetingslidestacthr@#3}{\@checked}
  \@namedef{reportoptiontacmeetingslidestacfou@#4}{\@checked}
%
}
\newcommand*{\@allreportoptiontacmeetingslides}{%
  &\LARGE\reportoptiontacmeetingslidestacone@yes 
  &\LARGE\reportoptiontacmeetingslidestactwo@yes 
  &\LARGE\reportoptiontacmeetingslidestacthr@yes 
  &\LARGE\reportoptiontacmeetingslidestacfou@yes 
  \\[-0.9ex]
}
% report options: reportoptionpublications
\newcommand*{\reset@reportoptionpublications}[4]{%
  \def\reportoptionpublications@no{}%
  \def\reportoptionpublications@yes{}%
  \def\reportoptionpublicationstacone@no{\@unchecked}%
  \def\reportoptionpublicationstacone@yes{\@unchecked}%
  \def\reportoptionpublicationstactwo@no{\@unchecked}%
  \def\reportoptionpublicationstactwo@yes{\@unchecked}%
  \def\reportoptionpublicationstacthr@no{\@unchecked}%
  \def\reportoptionpublicationstacthr@yes{\@unchecked}%
  \def\reportoptionpublicationstacfou@no{\@unchecked}%
  \def\reportoptionpublicationstacfou@yes{\@unchecked}%
}

\reset@reportoptionpublications{}{}{}{}

\newcommand*{\reportoptionpublications}[4]{
  \@ifundefined{reportoptionpublications@#1}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@ifundefined{reportoptionpublications@#2}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@ifundefined{reportoptionpublications@#3}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@ifundefined{reportoptionpublications@#4}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@namedef{reportoptionpublicationstacone@#1}{\@checked}
  \@namedef{reportoptionpublicationstactwo@#2}{\@checked}
  \@namedef{reportoptionpublicationstacthr@#3}{\@checked}
  \@namedef{reportoptionpublicationstacfou@#4}{\@checked}
%
}
\newcommand*{\@allreportoptionpublications}{%
  &\LARGE\reportoptionpublicationstacone@yes 
  &\LARGE\reportoptionpublicationstactwo@yes 
  &\LARGE\reportoptionpublicationstacthr@yes 
  &\LARGE\reportoptionpublicationstacfou@yes 
  \\[-0.9ex]
}
% report options: reportoptionthesisdraft
\newcommand*{\reset@reportoptionthesisdraft}[4]{%
  \def\reportoptionthesisdraft@no{}%
  \def\reportoptionthesisdraft@yes{}%
  \def\reportoptionthesisdrafttacone@no{\@unchecked}%
  \def\reportoptionthesisdrafttacone@yes{\@unchecked}%
  \def\reportoptionthesisdrafttactwo@no{\@unchecked}%
  \def\reportoptionthesisdrafttactwo@yes{\@unchecked}%
  \def\reportoptionthesisdrafttacthr@no{\@unchecked}%
  \def\reportoptionthesisdrafttacthr@yes{\@unchecked}%
  \def\reportoptionthesisdrafttacfou@no{\@unchecked}%
  \def\reportoptionthesisdrafttacfou@yes{\@unchecked}%
}

\reset@reportoptionthesisdraft{}{}{}{}

\newcommand*{\reportoptionthesisdraft}[4]{
  \@ifundefined{reportoptionthesisdraft@#1}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@ifundefined{reportoptionthesisdraft@#2}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@ifundefined{reportoptionthesisdraft@#3}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@ifundefined{reportoptionthesisdraft@#4}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@namedef{reportoptionthesisdrafttacone@#1}{\@checked}
  \@namedef{reportoptionthesisdrafttactwo@#2}{\@checked}
  \@namedef{reportoptionthesisdrafttacthr@#3}{\@checked}
  \@namedef{reportoptionthesisdrafttacfou@#4}{\@checked}
%
}
\newcommand*{\@allreportoptionthesisdraft}{%
  &\LARGE\reportoptionthesisdrafttacone@yes 
  &\LARGE\reportoptionthesisdrafttactwo@yes 
  &\LARGE\reportoptionthesisdrafttacthr@yes 
  &\LARGE\reportoptionthesisdrafttacfou@yes 
  \\[-0.9ex]
}
% report options: reportoptionwrittenreport
\newcommand*{\reset@reportoptionwrittenreport}[4]{%
  \def\reportoptionwrittenreport@no{}%
  \def\reportoptionwrittenreport@yes{}%
  \def\reportoptionwrittenreporttacone@no{\@unchecked}%
  \def\reportoptionwrittenreporttacone@yes{\@unchecked}%
  \def\reportoptionwrittenreporttactwo@no{\@unchecked}%
  \def\reportoptionwrittenreporttactwo@yes{\@unchecked}%
  \def\reportoptionwrittenreporttacthr@no{\@unchecked}%
  \def\reportoptionwrittenreporttacthr@yes{\@unchecked}%
  \def\reportoptionwrittenreporttacfou@no{\@unchecked}%
  \def\reportoptionwrittenreporttacfou@yes{\@unchecked}%
}

\reset@reportoptionwrittenreport{}{}{}{}

\newcommand*{\reportoptionwrittenreport}[4]{
  \@ifundefined{reportoptionwrittenreport@#1}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@ifundefined{reportoptionwrittenreport@#2}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@ifundefined{reportoptionwrittenreport@#3}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@ifundefined{reportoptionwrittenreport@#4}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@namedef{reportoptionwrittenreporttacone@#1}{\@checked}
  \@namedef{reportoptionwrittenreporttactwo@#2}{\@checked}
  \@namedef{reportoptionwrittenreporttacthr@#3}{\@checked}
  \@namedef{reportoptionwrittenreporttacfou@#4}{\@checked}
%
}
\newcommand*{\@allreportoptionwrittenreport}{%
  &\LARGE\reportoptionwrittenreporttacone@yes 
  &\LARGE\reportoptionwrittenreporttactwo@yes 
  &\LARGE\reportoptionwrittenreporttacthr@yes 
  &\LARGE\reportoptionwrittenreporttacfou@yes 
  \\[-0.9ex]
}
% report options: reportoptiondetailedreport
\newcommand*{\reset@reportoptiondetailedreport}[4]{%
  \def\reportoptiondetailedreport@no{}%
  \def\reportoptiondetailedreport@yes{}%
  \def\reportoptiondetailedreporttacone@no{\@unchecked}%
  \def\reportoptiondetailedreporttacone@yes{\@unchecked}%
  \def\reportoptiondetailedreporttactwo@no{\@unchecked}%
  \def\reportoptiondetailedreporttactwo@yes{\@unchecked}%
  \def\reportoptiondetailedreporttacthr@no{\@unchecked}%
  \def\reportoptiondetailedreporttacthr@yes{\@unchecked}%
  \def\reportoptiondetailedreporttacfou@no{\@unchecked}%
  \def\reportoptiondetailedreporttacfou@yes{\@unchecked}%
}

\reset@reportoptiondetailedreport{}{}{}{}

\newcommand*{\reportoptiondetailedreport}[4]{
  \@ifundefined{reportoptiondetailedreport@#1}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@ifundefined{reportoptiondetailedreport@#2}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@ifundefined{reportoptiondetailedreport@#3}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@ifundefined{reportoptiondetailedreport@#4}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@namedef{reportoptiondetailedreporttacone@#1}{\@checked}
  \@namedef{reportoptiondetailedreporttactwo@#2}{\@checked}
  \@namedef{reportoptiondetailedreporttacthr@#3}{\@checked}
  \@namedef{reportoptiondetailedreporttacfou@#4}{\@checked}
%
}
\newcommand*{\@allreportoptiondetailedreport}{%
  &\LARGE\reportoptiondetailedreporttacone@yes 
  &\LARGE\reportoptiondetailedreporttactwo@yes 
  &\LARGE\reportoptiondetailedreporttacthr@yes 
  &\LARGE\reportoptiondetailedreporttacfou@yes 
  \\
}

%TAC assessment
%TACtimewithoutmainadvisor
\newcommand*{\reset@TACtimewithoutmainadvisor}[4]{%
  \def\TACtimewithoutmainadvisor@no{}%
  \def\TACtimewithoutmainadvisor@yes{}%
  \def\TACtimewithoutmainadvisortacone@no{\@unchecked}%
  \def\TACtimewithoutmainadvisortacone@yes{\@unchecked}%
  \def\TACtimewithoutmainadvisortactwo@no{\@unchecked}%
  \def\TACtimewithoutmainadvisortactwo@yes{\@unchecked}%
  \def\TACtimewithoutmainadvisortacthr@no{\@unchecked}%
  \def\TACtimewithoutmainadvisortacthr@yes{\@unchecked}%
  \def\TACtimewithoutmainadvisortacfou@no{\@unchecked}%
  \def\TACtimewithoutmainadvisortacfou@yes{\@unchecked}%
}

\reset@TACtimewithoutmainadvisor{}{}{}{}

\newcommand*{\TACtimewithoutmainadvisor}[4]{
  \@ifundefined{TACtimewithoutmainadvisor@#1}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@ifundefined{TACtimewithoutmainadvisor@#2}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@ifundefined{TACtimewithoutmainadvisor@#3}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@ifundefined{TACtimewithoutmainadvisor@#4}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@namedef{TACtimewithoutmainadvisortacone@#1}{\@checked}
  \@namedef{TACtimewithoutmainadvisortactwo@#2}{\@checked}
  \@namedef{TACtimewithoutmainadvisortacthr@#3}{\@checked}
  \@namedef{TACtimewithoutmainadvisortacfou@#4}{\@checked}
%
}
\newcommand*{\@allTACtimewithoutmainadvisor}{%
  &\LARGE\TACtimewithoutmainadvisortacone@yes 
  &\LARGE\TACtimewithoutmainadvisortactwo@yes 
  &\LARGE\TACtimewithoutmainadvisortacthr@yes 
  &\LARGE\TACtimewithoutmainadvisortacfou@yes 
  \\[-0.9ex]
}
%TACtimewithoutstudent
\newcommand*{\reset@TACtimewithoutstudent}[4]{%
  \def\TACtimewithoutstudent@no{}%
  \def\TACtimewithoutstudent@yes{}%
  \def\TACtimewithoutstudenttacone@no{\@unchecked}%
  \def\TACtimewithoutstudenttacone@yes{\@unchecked}%
  \def\TACtimewithoutstudenttactwo@no{\@unchecked}%
  \def\TACtimewithoutstudenttactwo@yes{\@unchecked}%
  \def\TACtimewithoutstudenttacthr@no{\@unchecked}%
  \def\TACtimewithoutstudenttacthr@yes{\@unchecked}%
  \def\TACtimewithoutstudenttacfou@no{\@unchecked}%
  \def\TACtimewithoutstudenttacfou@yes{\@unchecked}%
}

\reset@TACtimewithoutstudent{}{}{}{}

\newcommand*{\TACtimewithoutstudent}[4]{
  \@ifundefined{TACtimewithoutstudent@#1}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@ifundefined{TACtimewithoutstudent@#2}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@ifundefined{TACtimewithoutstudent@#3}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@ifundefined{TACtimewithoutstudent@#4}%
  {%
    \ClassError{tacmeetingclass}{Unknown answer `#1'. Answer can be `yes' or `no'}%
     {Answer can either be `yes' or `no'}%
  }%
  \@namedef{TACtimewithoutstudenttacone@#1}{\@checked}
  \@namedef{TACtimewithoutstudenttactwo@#2}{\@checked}
  \@namedef{TACtimewithoutstudenttacthr@#3}{\@checked}
  \@namedef{TACtimewithoutstudenttacfou@#4}{\@checked}
%
}
\newcommand*{\@allTACtimewithoutstudent}{%
  &\LARGE\TACtimewithoutstudenttacone@yes 
  &\LARGE\TACtimewithoutstudenttactwo@yes 
  &\LARGE\TACtimewithoutstudenttacthr@yes 
  &\LARGE\TACtimewithoutstudenttacfou@yes 
  \\[-0.9ex]
}


% meeting frequency
\newcommand*{\meetingfrequencyrange}[1]{%
  \@ifundefined{meetingfrequencyrange@#1}%
  {%
    \def\@meetingfrequencyoptions{}%
    \def\@meetingfrequencyoptionssep{}%
    \@for\@meetingfrequencyrange:=\@validmeetingfrequencyranges\do{%
       \expandafter\get@meetingfrequencyrange\@meetingfrequencyrange
      \edef\@meetingfrequencyoptions{\@meetingfrequencyoptions\@meetingfrequencyoptionssep\@meetingfrequencyrange@label}%
      \def\@meetingfrequencyoptionssep{, }%
    }%
    \ClassError{simpleform}{Unknown meetingfrequency range `#1'}%
      {Available options: \@meetingfrequencyoptions}%
  }%
  {%
    \reset@meetingfrequencyranges
    \@namedef{meetingfrequencyrange@#1}{\@checked}%
  }%
}

\newcommand*{\@validmeetingfrequencyranges}{%
  {discuss}{\mbox{Discuss at TAC meeting ~}},%
  {yes}{Yes~\,},%
  {no}{No ~~~\,}%
}

\newcommand*{\get@meetingfrequencyrange}[2]{%
  \def\@meetingfrequencyrange@label{#1}%
  \def\@meetingfrequencyrange@textt{#2}%
}

\newcommand*{\reset@meetingfrequencyranges}{%
  \@for\@meetingfrequencyrange:=\@validmeetingfrequencyranges\do{%
    \expandafter\get@meetingfrequencyrange\@meetingfrequencyrange
    \@namedef{meetingfrequencyrange@\@meetingfrequencyrange@label}{\@unchecked}%
  }%
}

\reset@meetingfrequencyranges


\newlength\boxwidth
\setlength{\boxwidth}{\textwidth}
%
\newlength\underlinewidth

\newcommand{\projectreportexplanation}{%
  Dummy text which disappears as soon as you edit the tac\_meeting\_form.tex file instead of trying to edit this pdf.
  Edit and compile the zip file's \LaTeX\ contents from
  \textbf{\href{https://www.mps.mpg.de/phd/tac-report-zip}{https://www.mps.mpg.de/phd/tac-report-zip}}!
  It is possible to directly upload the zip file into CoCalc at \href{https://cocalc.gwdg.de}{https://cocalc.gwdg.de}
  (or sharelatex/overleaf).
  \section*{PhD project}
  The report in this box may be one-third to one full page long.  It
  cannot not exceed one page.  Normally, there should be no need for
  an additional detailed written report if talk slides, publications
  or an advanced thesis draft are available.
  \smallskip\par
  If the following has not been listed on any talk slides that
  otherwise contain the science, this space can then be used to
  briefly summarize the time line and action items, previous and
  planned publications (one per line), previous and planned
  conferences (one per line), as well as previous and planned
  curricular activities, if not sufficiently well documented in the
  Course Assessment Form.  Otherwise this space can be entirely
  omitted by removing the \textbackslash {\texttt projectreport}
  command corresponding to a meeting.
  \smallskip\par
  It is also possible, although probably not advisable, to include graphics.
    \includegraphics[width=0.27\textwidth]{IMPRS_Logo_V3_Word+IMG_2-lines_Label_blue_light.pdf}\\
\vspace*{-5mm}
  \section*{Publications}
  \section*{Conferences}
  \section*{Curriculum}
}
\newcommand{\TACcommentsexplanation}{%
  Dummy text\\
  Refer to suggested talking points provided on page~\pageref{talkingpoints}; overarching topics are
  \section*{Science}
  \section*{Curriculum}
  \section*{Graduation}
  \section*{Funding}
  \section*{Mentoring}
}



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



\newcommand{\makeform}{%
  \@formfont
  %Title page
  \label{report}
  \pagestyle{fancyplain}
  \renewcommand{\headrulewidth}{0pt}
  \renewcommand{\footrulewidth}{0.5pt}
  \rhead{\raisebox{0mm}{\includegraphics[height=25mm]{IMPRS_Logo_V1_Minerva_1-line_green.pdf}\hspace*{-8mm}}}
  \lfoot{\sffamily \@name@last, \@name@first}
  \rfoot{\sffamily Page \thepage/\pageref{LastPage}}
  \cfoot{\sffamily \@realtoday}
  \vspace*{2mm}
  %\begin{center}
    {\Large\bfseries%
    \noindent
    Thesis Advisory Committee Meeting\\ PHD STATUS REPORT}
  %\end{center}
  \\%\vspace*{3mm}
%  \vfill
  \noindent
  \renewcommand{\arraystretch}{1.5}%
  \settowidth{\underlinewidth}{Firstnames}%
  \addtolength{\underlinewidth}{-\linewidth}%
  \addtolength{\underlinewidth}{2\tabcolsep}%
  \setlength{\underlinewidth}{-\underlinewidth}%
  \newcommand{\jj}{\textcolor{faintgray}{,}\rule{0mm}{10pt}}
  \\\noindent \textbf{PhD project}
  \medskip\\
  \begin{tabular}{@{}p{0.5\textwidth}@{\qquad}p{0.5\textwidth}@{}}
    \fcolorbox{gray}{faintgray}{\makebox[0.455\textwidth][l]{\jj \@name@last, \@name@first}}
    &
    \fcolorbox{gray}{faintgray}{\makebox[0.455\textwidth][l]{\jj \@university}}
    \\[-5pt]
    \textbf{\scriptsize Doctoral candidate's name}&
    \textbf{\scriptsize University at which the doctoral candidate is enroled}\\[5pt]
    \fcolorbox{gray}{faintgray}{\makebox[\textwidth][l]{\jj \@title}}\\[-5pt]
    \textbf{\scriptsize Thesis title}\\[5pt]
    \fcolorbox{gray}{faintgray}{\makebox[\textwidth][l]{\jj \@tacmembers@short }}\\[-5pt]
    \textbf{\scriptsize TAC members}\\[5pt]
  \end{tabular}
%  \vfill
  \medskip\par\noindent
  \textbf{Timeline}
  \medskip\\
  \begin{tabular}{@{}l@{~\qquad}l@{~\qquad}l@{~\qquad}l@{}}
    \fcolorbox{gray}{faintgray}{\makebox[0.2\textwidth][l]{\jj \@datefundingstart}}&
    \fcolorbox{gray}{faintgray}{\makebox[0.2\textwidth][l]{\jj \@dateenrolment}}&
    &
    \fcolorbox{gray}{faintgray}{\makebox[0.2\textwidth][l]{\jj \@datenominalend}}\\[-5pt]
    \textbf{\scriptsize Start date}&
    \textbf{\scriptsize University enrolment date}&
    &
    \textbf{\scriptsize Nominal end date (3.5 years)}
    \\[4pt]
    %
    \fcolorbox{gray}{faintgray}{\makebox[0.2\textwidth][l]{\jj \@dateseminartalkone}}&
    \fcolorbox{gray}{faintgray}{\makebox[0.2\textwidth][l]{\jj \@datetacmeetingone}}&
    \fcolorbox{gray}{faintgray}{\makebox[0.2\textwidth][l]{\jj \@monthssincestartattacone}}&
    \fcolorbox{gray}{faintgray}{\makebox[0.2\textwidth][l]{\jj \@monthstofinishattacone}}\\[-5pt]
    \textbf{\scriptsize 1st S3 Seminar Talk}&
    \textbf{\scriptsize 1st TAC Meeting}&
    \textbf{\scriptsize Months since start ~\textcolor{white}{(3 -- 6)}}&
    \textbf{\scriptsize Months to finish}
    \\[4pt]
    %
    \fcolorbox{gray}{faintgray}{\makebox[0.2\textwidth][l]{\jj \@dateseminartalktwo}}&
    \fcolorbox{gray}{faintgray}{\makebox[0.2\textwidth][l]{\jj \@datetacmeetingtwo}}&
    \fcolorbox{gray}{faintgray}{\makebox[0.2\textwidth][l]{\jj \@monthssincestartattactwo}}&
    \fcolorbox{gray}{faintgray}{\makebox[0.2\textwidth][l]{\jj \@monthstofinishattactwo}}\\[-5pt]
    \textbf{\scriptsize 2nd S3 Seminar Talk}&
    \textbf{\scriptsize 2nd TAC Meeting}&
    \textbf{\scriptsize Months since start \textcolor{white}{(15--18)}}&
    \textbf{\scriptsize Months to finish}
    \\[4pt]
    %
    \fcolorbox{gray}{faintgray}{\makebox[0.2\textwidth][l]{\jj \@dateseminartalkthree}}&
    \fcolorbox{gray}{faintgray}{\makebox[0.2\textwidth][l]{\jj \@datetacmeetingthree}}&
    \fcolorbox{gray}{faintgray}{\makebox[0.2\textwidth][l]{\jj \@monthssincestartattacthree}}&
    \fcolorbox{gray}{faintgray}{\makebox[0.2\textwidth][l]{\jj \@monthstofinishattacthree}}\\[-5pt]
    \textbf{\scriptsize 3rd S3 Seminar Talk}&
    \textbf{\scriptsize 3rd TAC Meeting}&
    \textbf{\scriptsize Months since start \textcolor{white}{(27--30)}}&
    \textbf{\scriptsize Months to finish}
    \\[4pt]
    %
    &
    \fcolorbox{gray}{faintgray}{\makebox[0.2\textwidth][l]{\jj \@datetacmeetingfour}}&
    \fcolorbox{gray}{faintgray}{\makebox[0.2\textwidth][l]{\jj \@monthssincestartattacfour}}&
    \fcolorbox{gray}{faintgray}{\makebox[0.2\textwidth][l]{\jj \@monthstofinishattacfour}}\\[-5pt]
    &
    \textbf{\scriptsize 4th TAC Meeting -- if needed}&
    \textbf{\scriptsize Months since start}&
    \textbf{\scriptsize Months to finish}
    \\[4pt]
    \fcolorbox{gray}{faintgray}{\makebox[0.2\textwidth][l]{\jj \@datethesissubmission}}&
    \fcolorbox{gray}{faintgray}{\makebox[0.2\textwidth][l]{\jj \@datethesisdefense}}&
    \fcolorbox{gray}{faintgray}{\makebox[0.2\textwidth][l]{\jj \@monthsthesistotal}}&
    \fcolorbox{gray}{faintgray}{\makebox[0.2\textwidth][l]{\jj \@datefundingends}}\\[-5pt]
    \textbf{\scriptsize Thesis submission date}&
    \textbf{\scriptsize Thesis defense date}&
    \textbf{\scriptsize Total duration in months \textcolor{white}{(36)}}&
    \textbf{\scriptsize Date when funding ends}
    \\[4pt]
  \end{tabular}
  \medskip\medskip\par\noindent
  \parbox{\textwidth}{%
  \textbf{Project report: Documents requested by advisor}
  \medskip\\
  The advisor requests that the doctoral candidate provides the following 
  documents as project reports for the TAC's consideration in preparation 
  for the upcoming meeting:
  \\[-2ex]
  \newlength\tabwidth
  \setlength{\tabwidth}{7mm}
  \noindent
  \begin{tabular}{@{}lr@{\hspace*{\tabwidth}}r@{\hspace*{\tabwidth}}r@{\hspace*{\tabwidth}}r}
    & \textbf{\scriptsize TAC 1} 
    & \textbf{\scriptsize TAC 2} 
    & \textbf{\scriptsize TAC 3} 
    & \textbf{\scriptsize TAC 4} \\
  S3 seminar talk slides 
  \@allreportoptionseminarslides
  TAC meeting talk slides (if different from above or amended)
  \@allreportoptiontacmeetingslides
  Publications and/or publication drafts  
  \@allreportoptionpublications
  Thesis outline (table of contents) and/or thesis draft
  \@allreportoptionthesisdraft
  Written report overleaf (one-third to one page per TAC meeting) \qquad ~
  \@allreportoptionwrittenreport
  Separate detailed written report (length specified by advisor)
  \@allreportoptiondetailedreport
  \end{tabular}
  }
%  \vfill
  \medskip\medskip\par\noindent
  \parbox{\textwidth}{%
  \textbf{What to find where in this TAC meeting report}
  \medskip\\
  \noindent
  Status and project reports by doctoral candidate for all meetings so far  \dotfill pages~\pageref{report}--\pageref{reportlast}\\[0.5ex]
  Minutes of all meetings with comments of the TAC members \dotfill  pages~\pageref{minutes}--\pageref{minuteslast}\\[0.5ex]
  Instructions for TAC meeting preparation and documentation \dotfill  page~\pageref{preparationdocumentation}\\[0.5ex]
  TAC meeting procedure: list of talking points \dotfill  page~\pageref{talkingpoints}\\[0.5ex]
  Guidelines for mentoring at MPS in the appendix \dotfill pages~\pageref{mentoring}--\pageref{mentoringlast}\\[0.5ex]
  Guidelines for doctoral education in the Max Planck Society in the appendix \dotfill pages~\pageref{guidelines}--\pageref{LastPage}\\[-5ex]
  }
%Page 2
\clearpage
  \medskip\medskip\par\noindent
  \parbox{\textwidth}{%
  \textbf{Review of progress on various formalities} \textcolor{gray}{(GAUSS/Prophys centered; skips points if not applicable)}
  \medskip\\
  \noindent
  IMPRS TAC Agreement exists and has been submitted to the IMPRS coordinator.
  \hfill 
  {\LARGE\imprstacagreementexists@yes} Yes~
  {\LARGE\imprstacagreementexists@no} ~To do
  \\[0.5ex]
  University mentoring agreement (Betreuungsvereinbarung) submitted to university.
  \hfill 
  {\LARGE\unitacagreementexists@yes} Yes~
  {\LARGE\unitacagreementexists@no} ~To do
  \\[0.5ex]
  Doctoral candidate has received documents confirming formal university enrolment. 
  \hfill 
  {\LARGE\unienrolmentconfirmed@yes} Yes~
  {\LARGE\unienrolmentconfirmed@no} ~To do
  \\[0.5ex] 
  TAC folder in Stud.IP provides all documents above, and all previous TAC reports.
  \hfill 
  {\LARGE\tacfolderisuptodate@yes} Yes~
  {\LARGE\tacfolderisuptodate@no} ~To do
  \\[0.5ex]
  Proposed committee members have requested examination authorisation if necessary.
  \hfill   
  {\LARGE\examinationauthorisationsexist@yes} Yes~
  {\LARGE\examinationauthorisationsexist@no} ~To do
  \\[0.5ex]
  Request for authorisation to submit a cumulative thesis has been submitted if applicable.\
  \hfill 
  {\LARGE\requestedcumulativethesis@yes} Yes~
  {\LARGE\requestedcumulativethesis@no} ~To do
  \\
  }
  \medskip\medskip\par\noindent
  \parbox{\textwidth}{%
  \textbf{Review of progress on curricular activities}
  % \textcolor{gray}{(GAUSS/Prophys centered; skips points if not applicable)}
  \medskip\\
  \noindent
  TAC folder in Stud.IP provides a recent scan of Course Assessment Form
  \hfill 
  {\LARGE\courseassessmentformuptodate@yes} Yes~
  {\LARGE\courseassessmentformuptodate@no} ~To do
  \\[0.5ex]
  GAUSS/Prophys teaching requirements fulfilled and all signatures collected
  \hfill 
  {\LARGE\gaussteachingfulfilled@yes} Yes~
  {\LARGE\gaussteachingfulfilled@no} ~To do
  \\[0.5ex]
  GAUSS/Prophys course requirements fulfilled and all signatures collected
  \hfill 
  {\LARGE\gausscoursesfulfilled@yes} Yes~
  {\LARGE\gausscoursesfulfilled@no} ~To do
  \\[0.5ex]
  IMPRS course requirements fulfilled (without TAC, S3 seminars, retreats, publications)
  \hfill 
  {\LARGE\imprscoursesfulfilled@yes} Yes~
  {\LARGE\imprscoursesfulfilled@no} ~To do
  \\[0.5ex]
  }
  \medskip\medskip\par\noindent
  \parbox{\textwidth}{%
  \textbf{Doctoral candidate's view on frequency of meetings with the day-to-day supervisor}
  \medskip\\
  \noindent
  The doctoral candidate and advisor meet often enough
  \hfill \@for\@meetingfrequencyrange:=\@validmeetingfrequencyranges\do{%
    \expandafter\get@meetingfrequencyrange\@meetingfrequencyrange
    {\LARGE\@nameuse{meetingfrequencyrange@\@meetingfrequencyrange@label}} \@meetingfrequencyrange@textt\
    }%
  }
  \vfill
  \medskip\medskip\par\noindent
  \parbox{\textwidth}{%
  \textbf{Project abstract and work plan}~\textcolor{gray}{(May be updated for each TAC meeting.)}
  \medskip\\
  \noindent
  \fcolorbox{gray}{faintgray}{\parbox{\textwidth}{%
    \parbox{\textwidth}{%
        \@fillinfont\sffamily\@abstract
        }
    }
  }
  }
%\textbf{Project reports}
\medskip\medskip\\
\noindent
\@projectreports
\label{reportlast}
\clearpage
%  Pages for TAC comments
   \renewcommand*{\@unchecked}{\color{faintblue}\scalebox{0.8}{$\blacksquare$}\hspace*{-4.5mm}\color{darkbluesss}\Square}
   \renewcommand*{\@checked}{\color{darkbluesss}\XBox}
   \label{minutes}
  \lfoot{\sffamily TAC of \@name@last, \@name@first}
  \rfoot{\sffamily Page \thepage/\pageref{LastPage}}
  \cfoot{\sffamily \@datecurrenttacmeeting}
  %\vspace*{3mm}
  %  \begin{center}
        {\Large\bfseries
         \noindent Thesis Advisory Committee Meeting\\ TAC COMMENTS}
%  \end{center}
  \vspace*{8mm}\\
  \@TACcommentss
  \medskip\medskip\par\noindent
  \parbox{\textwidth}{%
    \textbf{Overall assessment of project progress}
    \\[2ex]
    \@TACassessmentss
  }
  \medskip\medskip\par\noindent
  \parbox{\textwidth}{%
  \textbf{Time without main advisor / without doctoral candidate}
  \\[-2ex]
  \setlength{\tabwidth}{9mm}
  \noindent
  \begin{tabular}{@{}lr@{\hspace*{\tabwidth}}r@{\hspace*{\tabwidth}}r@{\hspace*{\tabwidth}}r}
    & \textbf{\scriptsize TAC 1} 
    & \textbf{\scriptsize TAC 2} 
    & \textbf{\scriptsize TAC 3} 
    & \textbf{\scriptsize TAC 4} \\
    Yes, roughly five minutes spent discussing without main advisor \@allTACtimewithoutmainadvisor
    Yes, roughly five minutes spent discussing without doctoral candidate \@allTACtimewithoutstudent
  \end{tabular}
  }
  \vfill
  \medskip\par\noindent
  \parbox{\textwidth}{%
  \textbf{Signatures}
  \medskip\\
  \noindent
  \@tacmembers
  }
  \label{minuteslast}
  \vfill
  \clearpage
%  \pagebreak
  \label{preparationdocumentation}
  \parbox{\textwidth}{\small%
  \textbf{TAC meeting preparation and documentation}
  \noindent
  \begin{enumerate}
  \item The regulations as signed by all parties in the IMPRS TAC Agreement 
    form apply.\\
    The guidelines for mentoring at MPS apply (see apendix).\\
    The guidelines for doctoral education in the Max Planck Society apply (see apendix).
  \item TAC meetings should preferentially be scheduled immediately 
    following a doctoral candidate's S3 seminar talk. If this is not possible, 
    the doctoral candidate and advisors should agree on an alternative way of 
    reporting (see front page). This may in particular be necessary for the 
    first TAC meeting.    
  \item \textcolor{MPGorange}{\textbf{The doctoral candidate fills out pages~\pageref{report}--\pageref{reportlast} of the form 
    at hand, and submits the report to all TAC members cc the coordinator at least one 
    week prior to the TAC meeting}} The doctoral candidate is encouraged to discuss the 
    contents of the report with the day-to-day supervisor before submission.
    The submission includes a detailed report on the progress of the thesis 
    project in a suitable format.
  \item The doctoral candidate takes care to bring their TAC folder in Stud.IP up-to-date
    in time for the TAC meeting, using sufficiently self-explanatory file names 
    for documents and providing if applicable
    \begin{itemize}
    \item IMPRS TAC agreement
    \item university mentoring agreement (Betreuungsvereinbarung) or equivalent 
      document(s) from other university
    \item documents confirming formal enrolment at the university (Zulassung)
    \item additional documents such as coorperation agreements with other universities
    or third-party funding agencies
    \item numbered TAC meeting reports as pdfs (including submitted version for the next meeting)
    \item any additional reports or materials that the TAC members may have asked for in 
      connection with a particular meeting (see Project reports: Documents requested by advisor, page~1)
    \item talk slides: numbered S3 seminar slides, slides for TAC meeting if different or amended
    \item recent scan of the Course Assessment Form (should be used by all IMPRS doctoral candidates, 
      including those not enroled in G\"ottingen, and list all activities, not just 
      mandatory ones, including all publications and conferences)
    \item publications and/or publication drafts currently under preparation
    \item thesis outline (table of contents) and/or thesis draft
    \item thesis plagiarism report
    \item extension requests
    \end{itemize}
\vspace{-4ex}
\textcolor{darkbluesss}{%
  \item %
    \textbf{The TAC members take note of the report} submitted by the doctoral candidate and 
    attend the doctoral candidate's S3 seminar talk. They may additionally consult the 
    initial project outline and previous TAC meeting reports.
  \item 
    During the meeting: The following page lists various issues that 
    the participants should consider during TAC meetings. TAC members should 
    initially put emphasis on talking points that they currently deem most relevant 
    for the doctoral candidate's education and progress. The doctoral candidate should 
    subsequently be encouraged to seek advice on additional concerns
    that may not yet have been covered.
  \item 
    The TAC members provide written comments about the issues discussed during the 
    meeting. A TAC member or the doctoral candidate adds these to the report.
    The final version, agreed upon by all TAC members, will be uploaded 
    to the doctoral candidate's TAC folder.}
    The doctoral candidate adds any additional project report material.
  \item If it is the doctoral candidate who uploads the final version, the original signed 
    by all TAC members must be submitted to the coordinator.
  \item All TAC members are alerted to the upload via e-mail, and are 
    asked to double-check that they agree with the contents of the final 
    version within two weeks.
  \end{enumerate}
}
  \label{preparationdocumentationlast}
  \clearpage
  \label{talkingpoints}
\noindent{\small
\parbox{\textwidth}{%
  \textbf{TAC meeting talking points}
  \smallskip\\
}
\begin{itemize}
  \item \textbf{Science comments}
  \smallskip\\
  Review of latest report delivered,\\ review of work plan, time line\\
  and action items from last meeting:\\%linebreak
  Which goals have been achieved,\\ which goals have been missed?\\
  Suggestions for further work,\\ additional literature to read, \\
  new tools and methods to explore,\\ suggestions to solve any problems? \\
  \textbf{Action items for next 6 to 12 months},\\ including planned 
  publications\\ and journals recommended to publish them in?%
  \item \textbf{Curriculum comments}
  \smallskip\\
  Review of completed activities in Course Assessment Form\\ (Leistungsnachweisheft) \\
  and identification of those requirements yet to be fulfilled. \\
  Completion of signatures where applicable. \\
  Suggestions for the upcoming two semesters for teaching opportunities, \\ for attendance of elective lectures,\\
  and qualification courses?
  \item \textbf{Graduation comments}
  \smallskip\\
  Submission and defense dates?\\
  Monograph thesis or cumulative thesis?\\ Cumulative thesis: \# of papers published? \\
  Support of university advisor?\\ Request authorisation 3 months prior to 
  submission.\\ Thesis reviewers\\ (third reviewer for summa cum laude grade)?\\
  Committee members for defense? \\
  Request examination authorisation for committee members\\ who are not professors 
  or habilitated 6 months prior to submission.\\
  Plagiarism check performed and distributed?\\ Thesis approved for submission by TAC?
  \item \textbf{Funding comments}
  \smallskip\\
  Project funded for full three years?\\ 
  Extension needed? / Request funding \textbf{and} continued admission in GAUSS 3 months before end date! \\
  Visa, health insurance and guest access to institute
  issues clarified\\ in case of an interruption in funding? \\
  Wrap-up phase funding or Postdoc position secured? 
  \item \textbf{Mentoring comments}
  \smallskip\\
  If talk given: Feedback on content and on presentation skills.\\
  Review of attendance at research group meetings, seminars, journal club. \\
  Suggestions for useful workshops, summer/winter schools, conferences, \\
  external collaboration possibilities and networking opportunities? \\
  Encouragement to pursue proposals for observing time, computing time, or grants?\\
  Suggestions for career planning: well ahead of thesis submission date, strongly encourage candidate\\to apply for next job after PhD time at MPS (academic or non-academic)?\\
  Identify prizes or grants the doctoral candidate may be eligible to apply for / \\
  may be nominated for by TAC  or others?
\end{itemize}
  \label{talkingpointslast}
}
  \clearpage
%  \includepdf[pages={5,8,10-14}]{.pdf}
  \label{mentoring}
  \includepdf[pages={1-3}]{IMPRS_MPS_mentoring.pdf}
  \label{mentoringlast}
  \clearpage
  \label{guidelines}
  \includepdf[pages={1-4}]{MPG-Guidelines-Training_Doctoral-Students_MPG_en_2022.pdf}
  \label{guidelineslast}
  \clearpage
}
\endinput


%%%%%%%%%%%%%%%%%%%%%%%%%
