Avec la classe yathesis, j'aimerais centrer « École doctorale » et « Unité de recherche » comme dans cet exemple.

Posée 09 Fév '16, 12:02

rdk77's gravatar image

rdk77
25922937
Taux d'acceptation : 100%

Modifiée 12 Fév '16, 00:05

denis's gravatar image

denis ♦♦
7.0k1510


Tu avais tous les éléments à ta disposition dans ton exemple. Il suffit de mettre entre \begin{center} et \end{center} les informations qui doivent être centrées :

Ouvrir dans l'éditeur
\documentclass{yathesis}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\makeatletter
\renewcommand{\maketitle}[1][]{%
  \booltrue{YAD@maketitle@used}%
  \yadsetup{#1}
  \setlength{\fboxsep}{10pt}%
  \setlength{\YAD@titleboxwidth}{\linewidth-2\fboxsep-2\fboxrule}%
  \renewcommand*{\do}[1]{%
%    \end{macrocode}
% Appel du style de page propre au(x) titre(s)
%    \begin{macrocode}
  \pagestyle{titles}%
%    \end{macrocode}
% On passe dans la langue choisie en option (en français si rien n'est
% spécifié).
%    \begin{macrocode}
\begingroup%
\expandafter\selectlanguage\expandafter{##1}%
% \YAD@ifemptyorundef{\YAD@frametitle@set}{%
%   \gdef\YAD@frametitle{\cmdKV@YAD@frametitle}%
% }{%
%   \gdef\YAD@frametitle{\YAD@frametitle@set}%
% }%
  \begin{lrbox}{\YAD@titlebox}
    \ifthenelse{\equal{\cmdKV@YAD@frametitle}{none}}{%
    }{%
      \tcbset{colback=white,boxsep=3pt,boxrule=0.4pt,arc=0mm}%
      \ifthenelse{\equal{\cmdKV@YAD@frametitle}{shadowbox}}{%
        \tcbset{enhanced,drop shadow southeast={black,opacity=1}}%
      }{%
        \ifthenelse{\equal{\cmdKV@YAD@frametitle}{ovalbox}}{%
          \tcbset{arc=3mm}%
        }{%
          \ifthenelse{\equal{\cmdKV@YAD@frametitle}{fbox}}{%
          }{%
            \tcbset{code={\expandafter\pgfkeysalsofrom{\cmdKV@YAD@frametitle}}}%
          }%
        }%
      }%
      \begin{tcolorbox}
    }%
    \noindent%
    \begin{minipage}{\linewidth-2\fboxsep-2\fboxrule}
      \onehalfspacing%
      \noindent%
      \ifthenelse{\equal{\cmdKV@YAD@frametitle}{none}}{%
      }{%
        \ifYAD@hdr
        \YAD@translation{thesistitle-hdr}%
        \else%
        \YAD@translation{thesistitle}%
        \fi
      }%
      \par%
      \centering%
      \Huge\bfseries%
      \YAD@ifemptyorundef{\printtitle}{%
        \YAD@generic@argument@translate{title}%
        \ifbool{YAD@notitle}{%
        }{%
          \YAD@ClassError[notitle]{%
            Titre de la these non specifie%
          }{%
            La commande \protect\title\space n'a pas ete utilisee\MessageBreak%
            (celle-ci est requise) ou son argument obligatoire est vide\MessageBreak%
            (celui-ci doit etre renseigne).%
          }%
        }%
      }{%
        \printtitle%
      }%
      \ifundef{\printsubtitle}{%
      }{%
        \ifdraft{}{\vspace*{\stretch{.15}}}%
        % \vspace*{\stretch{.15}}%
        \par%
        \centering%
        \Large\printsubtitle%
      }%
    \end{minipage}%
    \ifthenelse{\equal{\cmdKV@YAD@frametitle}{none}}{%
    }{%
    \end{tcolorbox}
  }%
  \end{lrbox}
  \settototalheight{\YAD@titleboxheight}{\YAD@titlebox}%
  \setlength{\YAD@otherboxheight}{0.3\paperheight-\YAD@titleboxheight}%
%    \end{macrocode}
% On met en page les divers éléments des titres.
%    \begin{macrocode}
  %\YAD@astuce@expressioncle%
  \noindent%
  \ifcsdef{printordernumber}{%
%    \end{macrocode}
% On n'affiche le numéro d'ordre de la thèse que sur la 1\iere{} page du
% document : 1\iere{} de couverture s'il y a, page de titre en langue
% principale sinon.
%    \begin{macrocode}
  \ifboolexpr{%
    bool {YAD@cover@page}%
    or (bool {YAD@nofrontcover} and test {\IfLanguageName{\YAD@mainlanguage}})%
  }{%
    \ifdraft{}{\vspace*{\stretch{1}}}%
    % \vspace*{\stretch{1}}%
    \raggedleft{%
      \itshape%
      \sffamily%
      \YAD@translation{ordernumber}%
      \IfLanguageName{french}{%
        \FBcolonspace%
      }{%
      }: \printordernumber%
    }%
  }{%
  }%
  \ifdraft{}{\vspace*{\stretch{.5}}}%
  % \vspace*{\stretch{.5}}%
  \par%
}{%
}%
    % \begin{minipage}[c][\YAD@otherboxheight][c]{\YAD@titleboxwidth}
    %   \ifdraft{}{\vspace*{\stretch{.25}}}%
    \begin{center}
      \YAD@ifemptyorundef{\printinstitute}{%
        \YAD@generic@argument@translate{institute}%
        \ifbool{YAD@noinstitute}{%
        }{%
          \YAD@ClassError[noinstitute]{%
            Institut de la these non specifie%
          }{%
            La commande \protect\institute\space n'a pas ete
            utilisee\MessageBreak%
            (celle-ci est requise) ou son argument obligatoire est
            vide\MessageBreak%
            (celui-ci doit etre renseigne).%
          }%
        }%
      }{%
        \YAD@translation{institute} \textbf{\textsc{\Large\printinstitute}}%
      }%
      \ifundef{\printcoinstitute}{%
      }{%
        \ifdraft{}{\vspace*{\stretch{.5}}}%
        % \vspace*{\stretch{.5}}%
        \par%
        \YAD@translation{coinstitute} \textbf{\textsc{\Large\printcoinstitute}}%
      }%
      \ifundef{\printcompany}{%
      }{%
        \ifdraft{}{\vspace*{\stretch{.5}}}%
        % \vspace*{\stretch{.5}}%
        \par%
        \YAD@translation{company} \textbf{\textsc{\Large\printcompany}}%
      }%
      \ifdraft{}{\vspace*{\stretch{1.5}}}%
      % \vspace*{\stretch{1.5}}%
      \ifdraft{}{\vspace*{\stretch{1.5}}}%
      % \vspace*{\stretch{1.5}}%
      \par%
      {\large%
        \ifYAD@hdr%
        \YAD@translation{thesisdefendedby-hdr} %
        \else%
        \YAD@translation{thesisdefendedby} %
        \fi%
        \YAD@ifemptyorundef{\printauthor}{%
          \YAD@generic@argument@translate{author}%
          \ifbool{YAD@noauthor}{%
          }{%
            \YAD@ClassError[noauthor]{%
              Auteur de la these non specifie%
            }{%
              La commande \protect\author\space n'a pas ete utilisee (celle-ci
              est requise)\MessageBreak%
              ou ses 2 premiers arguments obligatoires sont vides\MessageBreak%
              (ceux-ci doivent etre renseignes).%
            }%
          }%
        }{%
          \textbf{\printauthor}%
        }%
      \ifboolexpr{%
          bool {YAD@submitted@work}%
          or bool {YAD@submitted@work@star}%
        }{%
          % \ifdraft{}{\vspace*{\stretch{1}}}%
          % \par%
          % \YAD@translation{estimateddefensedate}
          % \YAD@ifemptyorundef{\printdate}{%
          %   \YAD@generic@argument@translate{date}%
          % }{%
          %   \textbf{\printdate}%
          % }%
        }{%
          \ifdraft{}{\vspace*{\stretch{1}}}%
          % \vspace*{\stretch{1}}%
          \par%
          \YAD@translation{defendedon}
          \YAD@ifemptyorundef{\printdate}{%
            \YAD@generic@argument@translate{date}%
          }{%
            \textbf{\printdate}%
          }%
        }%
      }%
      \ifYAD@hdr%
      \else%
      \ifdraft{}{\vspace*{\stretch{1}}}%
      % \vspace*{\stretch{1}}%
      \par%
      \YAD@translation{aim}%
      \ifundef{\printinstitute}{%
        \YAD@generic@argument@translate{institute}%
      }{%
        \printinstitute*%
      }%
      \ifundef{\printcoinstitute}{%
      }{%
        \YAD@translation{aimand}%
        \printcoinstitute*%
      }%
      \fi%
      \ifdraft{}{\vspace*{\stretch{1}}}%
      % \vspace*{\stretch{1}}%
      \par%
      \large%
      \YAD@translation{academicfield}
      %
      \YAD@ifemptyorundef{\printacademicfield}{%
        \YAD@generic@argument@translate{academicfield}%
        \ifbool{YAD@noacademicfield}{%
        }{%
          \YAD@ClassError[noacademicfield]{%
            Champ disciplinaire de la these non specifie%
          }{%
            La commande \protect\academicfield\space n'a pas ete utilisee
            (celle-ci est requise)\MessageBreak%
            ou son argument obligatoire est vide (celui-ci doit etre renseigne).%
          }%
        }%
      }{%
        \textbf{\printacademicfield}%
      }%
      \ifundef{\printspeciality}{%
      }{%
        \ifdraft{}{\vspace*{\stretch{.5}}}%
        % \vspace*{\stretch{.5}}%
        \par%
        \large%
        \YAD@translation{speciality} \textbf{\printspeciality}%
      }
    \end{center}
  % \end{minipage}%
  \vspace*{\stretch{1}}%
  \begin{center}
    \ifthenelse{\equal{\cmdKV@YAD@frametitle}{none}}{%
    }{%
      \ifdraft{}{\vspace*{\stretch{2}}}%
      % \vspace*{\stretch{2}}%
    }{%
      \ifdraft{}{\vspace*{\stretch{.25}}}%
      % \vspace*{\stretch{.25}}%
    }%
    \usebox{\YAD@titlebox}%
    % \ifdraft{}{\vspace*{\stretch{2}}}%
    \vspace*{\stretch{2}}%
  \end{center}
%    \end{macrocode}
% Affichage des directeurs de thèse et du jury
%    \begin{macrocode}
  \noindent%
  \begin{minipage}[c][\YAD@otherboxheight][c]{\YAD@titleboxwidth}
    \YAD@supervisors@tabular%
    \par%
    \ifboolexpr{%
      bool {YAD@submitted@work}%
      or bool {YAD@submitted@work@star}%
    }{%
      \vphantom{\YAD@committee@tabular}%
    }{%
      \YAD@committee@tabular%
    }%
    \ifdraft{}{\vspace*{\stretch{.1}}}%
    % \vspace*{\stretch{.1}}%
  \end{minipage}
  \ifthenelse{\equal{\cmdKV@YAD@frametitle}{none}}{%
  }{%
    % \ifdraft{}{\vspace*{\stretch{2}}}%
    \vspace*{\stretch{2}}%
  }{%
  }%
  \ifbool{YAD@supervisor@specified}{%
  }{%
    \ifbool{YAD@nosupervisor}{%
    }{%
      \YAD@ClassError*[nosupervisor]{%
        Directeur de these non specifie%
      }{%
        La commande \protect\supervisor\space n'a pas ete utilisee\MessageBreak%
        (celle-ci est requise) ou ses arguments obligatoires sont
        vides\MessageBreak%
        (ceux-ci doivent etre renseignes).%
      }%
    }%
  }%
  \begin{center}
      \par%
      \YAD@translation{doctoralschool}
      \YAD@ifemptyorundef{\printdoctoralschool}{%
        \YAD@generic@argument@translate{doctoralschool}%
        \ifbool{YAD@nodoctoralschool}{%
        }{%
          \YAD@ClassError[nodoctoralschool]{%
            Ecole doctorale de la these non specifiee%
          }{%
            la commande \protect\doctoralschool\space n'a pas ete
            utilisee\MessageBreak%
            (celle-ci est requise) ou son argument obligatoire est
            vide\MessageBreak%
            (celui-ci doit etre renseigne).%
          }%
        }%
      }{%
        \textbf{\printdoctoralschool}%
      }%
      \ifdraft{}{\vspace*{\stretch{.5}}}%
      % \vspace*{\stretch{.5}}%
      \par%
      \YAD@translation{universitydepartment}
      \ifdefstring{\YAD@main@laboratory@nonamelink}{true}{%
        \textbf{\printlaboratory{\YAD@main@laboratory@name}}%
      }{%
        \textbf{\printlaboratory[\YAD@main@laboratory@url]{\YAD@main@laboratory@name}}%
      }%
   \end{center}
%    \end{macrocode}
% On repasse à la langue par défaut
%    \begin{macrocode}
\endgroup%
%    \end{macrocode}
% Maintenant que la 1\iere{} page de titre (celle de 1\iere{} de couverture)
% a été créée, le booléen ×YAD@cover@page× est faux.
%    \begin{macrocode}
\boolfalse{YAD@cover@page}%
%    \end{macrocode}
% On génère une page de titre dans la langue principale puis dans la
% langue secondaire.
%    \begin{macrocode}
}%
\expandafter\docsvlist{\YAD@mainlanguage}%
\ifbool{YAD@two@titles}{%
  \booltrue{YAD@second@title}%
  \ifthenelse{\equal{\YAD@mainlanguage}{french}}{%
    \ifbool{YAD@nofrontcover}{%
      \docsvlist{english}%
    }{%
      \docsvlist{french,english}%
    }%
  }{%
    \ifbool{YAD@nofrontcover}{%
      \docsvlist{french}%
    }{%
      \docsvlist{english,french}%
    }%
  }%
}{%
}%
\ifthenelse{\equal{\cmdKV@YAD@frametitle}{shadowbox}}{%
  \let\tcb@shadow@prepare=\origtcb@shadow@prepare%
}{%
}%
\expandafter\selectlanguage\expandafter{\YAD@mainlanguage}%
\pagestyle{preliminary}%
}%
\makeatother
\begin{document}
\author{John}{Doe}
\supervisor{Jane}{Doe}
\maketitle
\end{document}
Lien permanent

Publiée 09 Fév '16, 12:48

jerome%20dequeker's gravatar image

jerome dequeker
836714
Taux d'acceptation : 65%

Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.