**[Mise à jour]** Suite à des mises à jour de la classe *yathesis* cette réponse nécessite une modification.
En fait, il suffit d'ajouter
`\YAD@create@boolean{only@female@committeepresident}
\booltrue{YAD@only@female@committeepresident}`
Comme l'environnement *tabularx* est maintenant utilisé, j'ai mis à jour la définition de la commande `\YAD@committee@tabular`.
**ECM**
\documentclass{yathesis}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\makeatletter
\DTLnewrow{YAD@staffs}%
\DTLnewdbentry{YAD@staffs}{YAD@the@staff}{committeepresident}
\DTLnewdb{committeepresident}
\YAD@create@boolean{only@female@committeepresident}
\booltrue{YAD@only@female@committeepresident}
\expression{committeepresident}{Pr\'esident du jury}{Committee President}
\renewcommand*{\committeepresident}[3][]{%
\yadsetup{#1}%
\ifboolexpr{%
bool {YAD@female} or %
not bool {YAD@male}%
}{%
\YAD@error@firstlastnames@empty{de la presidente du jury}{#2}{#3}{\committeepresident}%
}{%
\YAD@error@firstlastnames@empty{du president du jury}{#2}{#3}{\committeepresident}%
}%
\YAD@staff[#1]{#2}{#3}{committeepresident}%
}%
\renewcommand*{\YAD@committee@tabular}{%
\small%
\begin{tabularx}{\textwidth}[t]{>{\itshape}ll>{\raggedright\arraybackslash}X}
\multicolumn{3}{@{}l}{\bfseries\YAD@translation{committeemembers}}%
\\[.25cm]
\DTLforeach*{YAD@staffs}{%
\YAD@the@staff=YAD@the@staff%
}{%
%
\DTLiflastrow{\YAD@display@staff{\YAD@the@staff}}{}%
}%
\DTLforeach*{YAD@staffs}{%
\YAD@the@staff=YAD@the@staff%
}{%
%
\DTLiflastrow{}{\YAD@display@staff{\YAD@the@staff}}%
}%
\end{tabularx}
}%
\makeatother
\begin{document}
\title{Titre thèse}
\author{my}{name}
\supervisor[professor,affiliation=ULCO]{Michel}{de Montaigne}
\cosupervisor[associateprofessor*,affiliation=ULCO]{Charles}{Baudelaire}
\comonitor[associateprofessor,affiliation=ULCO]{Étienne}{de la Boétie}
\referee[professor,affiliation=IHP]{René}{Descartes}
\referee[seniorresearcher,affiliation=CNRS]{Denis}{Diderot}
\committeepresident[professor,affiliation=ENS Lyon]{Victor}{Hugo}
\examiner[associateprofessor,affiliation=Université de Paris~13]{Sophie}{Germain}
\examiner[juniorresearcher,affiliation=INRIA]{Joseph}{Fourier}
\examiner[juniorresearcher*,affiliation=CNRS]{Paul}{Verlaine}
\guest{George}{Sand}
\maketitle
\end{document}
**Réponse de question 1** Les informations de la composition du jury sont affichées sous forme d'un tableau dont la troisième colonne est **5cm** de largeur. On peut imposer une valeur plus grande, par exemple **8cm**.
\renewcommand*{\YAD@committee@tabular}{%
\small%
\begin{tabular}[t]{>{\itshape}llp{8cm}l}
\multicolumn{4}{@{}l}{\bfseries\YAD@translation{committeemembers}}%
\\[.25cm]
\DTLforeach*{YAD@staffs}{%
\YAD@the@staff=YAD@the@staff%
}{%
%
\YAD@display@staff{\YAD@the@staff}%
}%
\end{tabular}
}%
Ou plus simplement, en utilisent l'extension **etoolbox**, déjà chargée par la classe :
\patchcmd\YAD@committee@tabular{p{5cm}}{p{8cm}}{}{}
**Réponse de question 2**
Il faut ajouter une ligne (président du jury) dans la base des données du jury (attention cette ligne sera la dernière).
\DTLnewrow{YAD@staffs}%
\DTLnewdbentry{YAD@staffs}{YAD@the@staff}{committeepresident}%
\DTLnewdb{committeepresident}%
Puis redéfinir la commande `\committeepresident` :
\renewcommand*{\committeepresident}[3][]{%
\yadsetup{#1}%
\ifboolexpr{%
bool {YAD@female} or %
not bool {YAD@male}%
}{%
\YAD@error@firstlastnames@empty{de la presidente du jury}{#2}{#3}{\committeepresident}%
}{%
\YAD@error@firstlastnames@empty{du president du jury}{#2}{#3}{\committeepresident}%
}%
\YAD@staff[#1]{#2}{#3}{committeepresident}%
}%
et `\expression{committeepresident}{Pr\'esident du jury}{Committee President}`.
et enfin redéfinir `\YAD@committee@tabular` pour que la dernière ligne (président du jury) s'affiche en premier :
\renewcommand*{\YAD@committee@tabular}{%
\small%
\begin{tabular}[t]{>{\itshape}llp{8cm}l}
\multicolumn{4}{@{}l}{\bfseries\YAD@translation{committeemembers}}%
\\[.25cm]
\DTLforeach*{YAD@staffs}{%
\YAD@the@staff=YAD@the@staff%
}{%
%
\DTLiflastrow{\YAD@display@staff{\YAD@the@staff}}{}%
}%
\DTLforeach*{YAD@staffs}{%
\YAD@the@staff=YAD@the@staff%
}{%
%
\DTLiflastrow{}{\YAD@display@staff{\YAD@the@staff}}%
}%
\end{tabular}
}%
**Remarque** J'en ai profité pour faire deux en un (largeur de colonne est changée en 8cm)
**Code complet**
\documentclass{yathesis}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\makeatletter
\DTLnewrow{YAD@staffs}%
\DTLnewdbentry{YAD@staffs}{YAD@the@staff}{committeepresident}%
\DTLnewdb{committeepresident}%
\expression{committeepresident}{Pr\'esident du jury}{Committee President}%
\renewcommand*{\committeepresident}[3][]{%
\yadsetup{#1}%
\ifboolexpr{%
bool {YAD@female} or %
not bool {YAD@male}%
}{%
\YAD@error@firstlastnames@empty{de la presidente du jury}{#2}{#3}{\committeepresident}%
}{%
\YAD@error@firstlastnames@empty{du president du jury}{#2}{#3}{\committeepresident}%
}%
\YAD@staff[#1]{#2}{#3}{committeepresident}%
}%
\renewcommand*{\YAD@committee@tabular}{%
\small%
\begin{tabular}[t]{>{\itshape}llp{8cm}l}
\multicolumn{4}{@{}l}{\bfseries\YAD@translation{committeemembers}}%
\\[.25cm]
\DTLforeach*{YAD@staffs}{%
\YAD@the@staff=YAD@the@staff%
}{%
%
\DTLiflastrow{\YAD@display@staff{\YAD@the@staff}}{}%
}%
\DTLforeach*{YAD@staffs}{%
\YAD@the@staff=YAD@the@staff%
}{%
%
\DTLiflastrow{}{\YAD@display@staff{\YAD@the@staff}}%
}%
\end{tabular}
}%
\makeatother
\begin{document}
\title{Titre thèse}
\author{my}{name}
\supervisor[professor, affiliation=Affiliation5]{Prenom5}{Nom5}
\committeepresident[professor, affiliation=Affiliation1]{Prenom1}{Nom1}
\referee[professor, affiliation=Affiliation2]{Prenom2}{Nom2}
\referee[professor, affiliation=Affiliation3]{Prenom3}{Nom3}
\examiner[seniorresearcher, affiliation=Affiliation4]{Prenom4}{Nom4}
\maketitle
\end{document}
![alt text][1]
[1]: http://texnique.fr:80/osqa/upfiles/2016-09-27_22_18_32-abc.pdf.png
8cm)