Konfigurieren der Anzahl der Mitglieder des Prüfungsausschusses auf dem Genehmigungsblatt

Konfigurieren der Anzahl der Mitglieder des Prüfungsausschusses auf dem Genehmigungsblatt

Ich weiß, dass es hier bereits mindestens eine Frage dazu gibt, wie man ein Genehmigungsblatt einrichtet. Die Frage, die ich Ihnen jetzt stelle, ist jedoch etwas anders, da sie sich darauf bezieht, wie man die Anzahl der Mitglieder des Prüfungsausschusses automatisiert. Je nach Studiengang, dem der Student angehört, kann der Ausschuss häufig aus drei, vier, fünf oder mehr Mitgliedern bestehen. Daher möchte ich einen Code erstellen, in dem ich in der Dokumentenpräambel die folgenden Informationen angeben kann: 1 – Angabe der Anzahl der Mitglieder des Prüfungsausschusses; 2 – Angabe des Namens des ersten Mitglieds; 3 – Angabe des Titels des ersten Mitglieds; 4 – Angabe der Institution des ersten Mitglieds und so weiter. Natürlich würden die Punkte 2, 3 und 4 wiederholt, da ich die Anzahl der im Ausschuss anwesenden Mitglieder angegeben habe. Wäre es möglich, einen solchen Code zu erstellen?

Nachfolgend stelle ich ein Minimalbeispiel vor.

\documentclass[12pt,a4paper]{memoir}
\parindent0pt

\setSpacing{1.5}

\abnormalparskip{0.2\baselineskip}%
\setlength{\parindent}{1.5cm}%
\renewcommand*{\footnoterule}{\kern -3pt \hrule width 50mm \kern 
2.6pt}%

\setlrmarginsandblock{30mm}{20mm}{*}%
\setulmarginsandblock{30mm}{20mm}{*}%
\setheadfoot{\baselineskip}{2\baselineskip}
\setheaderspaces{20.0mm}{*}{*}%
\setmarginnotes{2.0mm}{16mm}{5.0mm}%
\setcolsepandrule{3.5mm}{0.15mm}
\setfootins{\bigskipamount}{\bigskipamount}
\checkandfixthelayout[fixed]

\newcommand{\committeemembernumber}[1]{#1}

\newcommand{\memberonename}[1]{\gdef\thememberonename{#1}}
\newcommand{\memberoneinstitute}[1]{\gdef\thememberoneinstitute{#1}}

\newcommand{\membertwoname}[1]{\gdef\themembertwoname{#1}}
\newcommand{\membertwoinstitute}[1]{\gdef\themembertwoinstitute{#1}}

\newcommand{\memberthreename}[1]{\gdef\thememberthreename{#1}}
\newcommand{\memberthreeinstitute}[1]{\gdef\thememberthreeinstitute{#1}}

\newcommand{\memberfourname}[1]{\gdef\thememberfourname{#1}}
\newcommand{\memberfourinstitute}[1]{\gdef\thememberfourinstitute{#1}}

\newcommand{\memberfivename}[1]{\gdef\thememberfivename{#1}}
\newcommand{\memberfiveinstitute}[1]{\gdef\thememberfiveinstitute{#1}}


\title{Approval sheet: an example for the LaTeX}
\author{Alexsandro Lucena Mota}
\date{2020}

%\committeemembernumber{3}

\memberonename{Prof.~MA. Sir Isaac Newton}
\memberoneinstitute{Trinity College -- University of Cambrigde}

\membertwoname{Prof.~PhD. Albert Einstein}
\membertwoinstitute{Institute for Advanced Study (IAS)}

\memberthreename{Prof. PhD. Paul Adrien Maurice Dirac}
\memberthreeinstitute{Florida State University}

\memberfourname{Prof. PhD. Richard Phillips Feynman}
\memberfourinstitute{California Institute of Technology -- Caltech}

\memberfivename{Prof. PhD. Murray Gell-Mann}
\memberfiveinstitute{California Institute of Technology -- Caltech}

\begin{document}
    \thispagestyle{empty}
    \begin{center}
        {\large \theauthor\par}
        
        \vspace{\baselineskip}
        
        {\Large
            \begin{OnehalfSpace}%
                \bfseries\thetitle\par%
            \end{OnehalfSpace}%
    }

    \vspace{0.0cm}
    
    \end{center}
    \begin{flushright}%
        \begin{minipage}{0.55\textwidth}%
            \begin{SingleSpacing}%     
                {\small Doctoral thesis presented at Postgraduate 
                Program in Physics of the Universidade Federal do 
                Maranhão as prerequisite to obtain the Doctoral 
                degree.}\par
            
                {\small {\bfseries Research line:} Topological 
                field theory with Lorentz symmetry breaking.}\par%
            \end{SingleSpacing}%
        \end{minipage}%
    \end{flushright}

    \vspace{\baselineskip}
    
    Approval in: \rule[0.0cm]{3cm}{0.04cm}~ 
    \rule[0.0cm]{1cm}{0.04cm},~\thedate.\par
    
    \vspace{\baselineskip}
    
    \begin{center}
        
        {\Large Examining  Committee}\par%
        
        \vspace{\baselineskip}  
        
        \begin{SingleSpacing}
                  
            \rule{12cm}{0.04cm}\par%
            \thememberonename\par%
            \thememberoneinstitute\par
                  
            \vspace{1.9\baselineskip}
            
            \rule{12cm}{0.04cm}\par
            \themembertwoname\par%
            \themembertwoinstitute\par
            
            \vspace{1.9\baselineskip}      
            
            \rule{12cm}{0.04cm}\par
            \thememberthreename\par
            \thememberthreeinstitute\par 
                 
            \vspace{1.9\baselineskip}  
            
            \rule{12cm}{0.04cm}\par
            \thememberfourname\par%
            \thememberfourinstitute\par   
                
            \vspace{1.9\baselineskip}      
              
            \rule{12cm}{0.04cm}\par
            \thememberfivename\par
            \thememberfiveinstitute\par
        \end{SingleSpacing}
    \end{center}
    
\end{document}

Dieser Code liefert das folgende PDF-Dokument:

Bildbeschreibung hier eingeben

Antwort1

Hier ist eine Möglichkeit, dies zu tun. Die Grundidee besteht darin, einen einzigen Befehl zu haben:

\member{<name>}{<institute>}

Dadurch wird die Mitgliedschaft im Komitee automatisch zugewiesen und die Anzahl der Mitglieder wird nachverfolgt. Dann wird jedem Komiteenamen/jeder Zugehörigkeit ein eindeutiger Name zugewiesen, wobei der Zähler verwendet wird, der die Mitglieder nachverfolgt. Dies geschieht mithilfe des \csgdefWrappers, der \csname ... \endcsnamevom etoolboxPaket bereitgestellt wird. Anschließend verwenden wir diesen Zähler und eine Schleife (unter Verwendung des pgfforPakets), um die richtige Anzahl von Mitgliedszeilen zu erstellen (natürlich begrenzt durch den Platz, der Ihnen auf der Seite zur Verfügung steht).

\documentclass[12pt,a4paper]{memoir}
\parindent0pt

\setSpacing{1.5}

\abnormalparskip{0.2\baselineskip}%
\setlength{\parindent}{1.5cm}%
\renewcommand*{\footnoterule}{\kern -3pt \hrule width 50mm \kern 
2.6pt}%

\setlrmarginsandblock{30mm}{20mm}{*}%
\setulmarginsandblock{30mm}{20mm}{*}%
\setheadfoot{\baselineskip}{2\baselineskip}
\setheaderspaces{20.0mm}{*}{*}%
\setmarginnotes{2.0mm}{16mm}{5.0mm}%
\setcolsepandrule{3.5mm}{0.15mm}
\setfootins{\bigskipamount}{\bigskipamount}
\checkandfixthelayout[fixed]

\usepackage{etoolbox}
\usepackage{pgffor}
\newcounter{committee}

\newcommand{\member}[2]{\stepcounter{committee}\csgdef{member\thecommittee}{#1}
\csgdef{institute\thecommittee}{#2}}


\title{Approval sheet: an example for the LaTeX}
\author{Alexsandro Lucena Mota}
\date{2020}


\member{Prof.~MA. Sir Isaac Newton}{Trinity College -- University of Cambridge}

\member{Prof.~PhD. Albert Einstein}{Institute for Advanced Study (IAS)}

\member{Prof. PhD. Paul Adrien Maurice Dirac}{Florida State University}

\member{Prof. PhD. Richard Phillips Feynman}{California Institute of Technology -- Caltech}

\member{Prof. PhD. Murray Gell-Mann}{California Institute of Technology -- Caltech}

\begin{document}
    \thispagestyle{empty}
    \begin{center}
        {\large \theauthor\par}
        
        \vspace{\baselineskip}
        
        {\Large
            \begin{OnehalfSpace}%
                \bfseries\thetitle\par%
            \end{OnehalfSpace}%
    }

    \vspace{0.0cm}
    
    \end{center}
    \begin{flushright}%
        \begin{minipage}{0.55\textwidth}%
            \begin{SingleSpacing}%     
                {\small Doctoral thesis presented at Postgraduate 
                Program in Physics of the Universidade Federal do 
                Maranhão as prerequisite to obtain the Doctoral 
                degree.}\par
            
                {\small {\bfseries Research line:} Topological 
                field theory with Lorentz symmetry breaking.}\par%
            \end{SingleSpacing}%
        \end{minipage}%
    \end{flushright}

    \vspace{\baselineskip}
    
    Approval in: \rule[0.0cm]{3cm}{0.04cm}~ 
    \rule[0.0cm]{1cm}{0.04cm},~\thedate.\par
    
    \vspace{\baselineskip}
    
    \begin{center}
        
        {\Large Examining  Committee}\par%
        
        \vspace{\baselineskip}  
        
        \begin{SingleSpacing}
            \foreach \x in {1,...,\value{committee}}{  
            \rule{12cm}{0.04cm}\par%
            \csuse{member\x}\par%
            \csuse{institute\x}\par
                  
            \vspace{1.9\baselineskip}
            }
        \end{SingleSpacing}
    \end{center}
    
\end{document}

verwandte Informationen