gratifiant > comp.* > comp.text.tex

Jean-Yves Baudais (20/09/2019, 12h32)
Bonjour,

Je me comprends pas pourquoi la modification de \if@titlepage n'est
pas prise en compte dans le \maketitle de l'ECM suivant.

\documentclass[titlepage]{article}
\title{Le titre}
\makeatletter
\@titlepagefalse
\makeatother
\begin{document}
\makeatletter
\if@titlepage {title page true} \else {title page false} \fi
\makeatother
\maketitle
\end{document}

Je suppose que le développement de \maketitle n'est fait qu'à son
appel et à ce moment là, @titlepage est bien fausse, donc \maketitle
devrait utiliser le formatage correspondant à l'option de classe
"notitlepage" ! Mais ce n'est pas le cas. Qu'est ce cloche dans mon
raisonnement ? ... Ah, ne se passerait-il pas des choses AtBeginDocument
ou au chargement de la classe ? Merci,

Jean-Yves
Ulrike Fischer (20/09/2019, 13h43)
Am Fri, 20 Sep 2019 12:32:47 +0200 schrieb Jean-Yves Baudais:

[..]
> "notitlepage" ! Mais ce n'est pas le cas. Qu'est ce cloche dans mon
> raisonnement ? ... Ah, ne se passerait-il pas des choses AtBeginDocument
> ou au chargement de la classe ? Merci,


Dans article.cls tu trouves

\if@titlepage
\newcommand\maketitle{...}
\else
\newcommand\maketitle{..}
\fi

changer envers titlepagefalse apres la classe est trop tard.
Jean-Yves Baudais (20/09/2019, 14h42)
Le 20/09/2019 à 13:43, Ulrike Fischer a écrit :
> changer envers titlepagefalse apres la classe est trop tard.


Ouais... Ça veut dire que le choix de la définition de \maketitle est
faite au début du chargement de la classe et pas au moment de l'appel.
Ok, c'est clair. Merci,

Jean-Yves
Discussions similaires