Aide sur une redéfinition de la commande chapter --> format du titre dans la toc

Bonjour,

Je travaille sur un ouvrage avec une feuille de style qui m’a été donnée.

Dans cette feuille de style la commande \chapter a été redéfinie.
Ainsi au lieu d’avoir
\chapter[titre dans la ToC]{Titre dans le document}

j’ai
\paper[titre courant]{titre dans le document et même apparence dans la ToC}

Le problème est que les titres des chapitres sont très longs, nécessitent de nombreux sauts de lignes manuels \ et ces sauts de ligne se retrouvent dans la ToC, du coup les lignes des titres dans la ToC sont très courtes.

Voici la redéfinition de la commande \chapter : comment faire pour arriver à la rigueur à réutiliser le “addcontentsline” à la main, puisque je n’ai pas la possibilité d’avoir une commande étoilée, ou bien pour ne pas avoir les sauts de ligne qui se répercutent dans la ToC?

%paper
%
\def@paper [ #1 ] #2#3 { \clearemptydoublepage
\title { #2 } \shortitle { #1 } \author { #3 } \maketitle
\addcontentsline {toc}{ Chapter } %
% {\protect{\mbox{\uppercase{#3}}\vskip1pt{#2}}}}
{ \protect { \mbox { \MakeTextUppercase { #3 }} \protect\ { #2 }}}}
\def@@paper#1#2 { \clearemptydoublepage
\title { #1 } \author { #2 } \maketitle
\addcontentsline {toc}{ Chapter } %
% {\protect{\protect\parbox{10cm}{\uppercase{#2}\ {#1}}}}
% {\protect{\vbox{\mbox{\uppercase{#2}}\vskip1pt\mbox{#1}}}}
{ \protect { \MakeTextUppercase { #2 } \protect\ { #1 }}}}
\def\paper { \main@ifnextchar [{ @paper }{ @@paper }}

\def\l@Chapter#1#2 { \addpenalty {- @highpenalty } %
\vskip 1em plus 1pt minus 1pt
@tempdima 0em
\begingroup
\parindent \z@ \rightskip @pnumwidth
\parfillskip - @pnumwidth
\leavevmode
\advance\leftskip@tempdima
\hskip - \leftskip
\parbox [b]{ \textwidth }{ #1 \nobreak\hfill \nobreak\hbox
to @pnumwidth { \hss #2 }} \par \penalty@highpenalty
\endgroup }
%

En vous remerciant par avance pour votre aide, bien cordialement

Sandrine Avril
Tél. masqué

Bonjour

Essayez ça (sinon, je ne vois pas l’intérêt de l’argument optionnel dans
la commande \paper) : \def@paper[#1]#2#3{\clearemptydoublepage

\title{#2}\shortitle{#1}\author{#3}\maketitle

\addcontentsline{toc}{Chapter}%

{\protect{\mbox{\MakeTextUppercase{#3}}\protect\{#1}}}}

François

Le 03/01/2023 à 16:23, Sandrine Avril a écrit :

Bonjour,

Je travaille sur un ouvrage avec une feuille de style qui m’a été donnée.

Dans cette feuille de style la commande \chapter a été redéfinie.
Ainsi au lieu d’avoir
\chapter[titre dans la ToC]{Titre dans le document}

j’ai
\paper[titre courant]{titre dans le document et même apparence dans la
ToC}

Le problème est que les titres des chapitres sont très longs,
nécessitent de nombreux sauts de lignes manuels \ et ces sauts de
ligne se retrouvent dans la ToC, du coup les lignes des titres dans la
ToC sont très courtes.

Voici la redéfinition de la commande \chapter : comment faire pour
arriver à la rigueur à réutiliser le “addcontentsline” à la main,
puisque je n’ai pas la possibilité d’avoir une commande étoilée, ou
bien pour ne pas avoir les sauts de ligne qui se répercutent dans la ToC?

%paper
%
\def@paper[#1]#2#3{\clearemptydoublepage
\title{#2}\shortitle{#1}\author{#3}\maketitle
\addcontentsline{toc}{Chapter}%
% {\protect{\mbox{\uppercase{#3}}\vskip1pt{#2}}}}
{\protect{\mbox{\MakeTextUppercase{#3}}\protect\{#2}}}}
\def@@paper#1#2{\clearemptydoublepage
\title{#1}\author{#2}\maketitle
\addcontentsline{toc}{Chapter}%
% {\protect{\protect\parbox{10cm}{\uppercase{#2}\ {#1}}}}
% {\protect{\vbox{\mbox{\uppercase{#2}}\vskip1pt\mbox{#1}}}}
{\protect{\MakeTextUppercase{#2}\protect\{#1}}}}
\def\paper{\main@ifnextchar[{@paper}{@@paper}}
\def\l@Chapter#1#2{\addpenalty{-@highpenalty}%
\vskip1emplus 1ptminus 1pt
@tempdima0em
\begingroup
\parindent\z@\rightskip@pnumwidth
\parfillskip-@pnumwidth
\leavevmode
\advance\leftskip@tempdima
\hskip-\leftskip
\parbox[b]{\textwidth}{#1\nobreak\hfill\nobreak\hbox
to@pnumwidth{\hss#2}}\par\penalty@highpenalty
\endgroup}
% En vous remerciant par avance pour votre aide, bien cordialement

Sandrine Avril
Tél. masqué

Le 03/01/2023 à 16:23, Sandrine Avril a écrit :
[…]

Dans cette feuille de style la commande \chapter a été redéfinie.
Ainsi au lieu d’avoir
\chapter[titre dans la ToC]{Titre dans le document}

j’ai
\paper[titre courant]{titre dans le document et même apparence dans la ToC}

En voyant le code fourni, je l’interprétais plus comme:

\paper[titre court]{titre}{auteurs}

Mais il y a effectivement un bug (à mon sens) dans la définition de @paper:

\def@paper[#1]#2#3{\clearemptydoublepage
\title{#2}\shortitle{#1}\author{#3}\maketitle
\addcontentsline{toc}{Chapter}%
% {\protect{\mbox{\uppercase{#3}}\vskip1pt{#2}}}}
{\protect{\mbox{\MakeTextUppercase{#3}}\protect\{#2}}}}
Il me semblerait plus pertinent d’utiliser le ‘shortitle’ (qui doit sans
doute déjà servir dans les entêtes) dans la TOC:

\def@paper[#1]#2#3{\clearemptydoublepage
\title{#2}\shortitle{#1}\author{#3}\maketitle
\addcontentsline{toc}{Chapter}%
% {\protect{\mbox{\uppercase{#3}}\vskip1pt{#2}}}}
{\protect{\mbox{\MakeTextUppercase{#3}}\protect\ {#1}}}}

(J’ai juste remplacé le dernier #2 par #1.)

Cordialement,

 Paul Gaborit

Bonjour,

Merci beaucoup à tous les deux, effectivement, ça marche: j’ai pu récupérer le titre de la ToC entre crochets.

\paper[titre dans la ToC]{titre du chapitre}

Mais le titre entre crochets était en fait le titre courant , comment je fais maintenant pour récupérer le \chaptermark{} qui me permettrait d’entre un titre courant légèrement différent du titre du chapitre?

Merci beaucoup vous êtes trop forts!

Bonne soirée

----- Le 3 Jan 23, à 16:35, Paul Gaborit xyz@xyz.tld a écrit :

Le 03/01/2023 à 16:23, Sandrine Avril a écrit :
[…]

Dans cette feuille de style la commande \chapter a été redéfinie.
Ainsi au lieu d’avoir
\chapter[titre dans la ToC]{Titre dans le document}

j’ai
\paper[titre courant]{titre dans le document et même apparence dans la ToC}

En voyant le code fourni, je l’interprétais plus comme:

\paper[titre court]{titre}{auteurs}

Mais il y a effectivement un bug (à mon sens) dans la définition de @paper:

\def@paper[#1]#2#3{\clearemptydoublepage
\title{#2}\shortitle{#1}\author{#3}\maketitle
\addcontentsline{toc}{Chapter}%
% {\protect{\mbox{\uppercase{#3}}\vskip1pt{#2}}}}
{\protect{\mbox{\MakeTextUppercase{#3}}\protect\{#2}}}}
Il me semblerait plus pertinent d’utiliser le ‘shortitle’ (qui doit sans
doute déjà servir dans les entêtes) dans la TOC:

\def@paper[#1]#2#3{\clearemptydoublepage
\title{#2}\shortitle{#1}\author{#3}\maketitle
\addcontentsline{toc}{Chapter}%
% {\protect{\mbox{\uppercase{#3}}\vskip1pt{#2}}}}
{\protect{\mbox{\MakeTextUppercase{#3}}\protect\ {#1}}}}

(J’ai juste remplacé le dernier #2 par #1.)

Cordialement,

Paul Gaborit

Sandrine Avril
Tél. masqué

Le 03/01/2023 à 16:42, Sandrine Avril a écrit :

Bonjour,

Merci beaucoup à tous les deux, effectivement, ça marche: j’ai pu
récupérer le titre de la ToC entre crochets.

\paper[titre dans la ToC]{titre du chapitre}

Mais le titre entre crochets était en fait le titre courant, comment
je fais maintenant pour récupérer le \chaptermark{} qui me permettrait
d’entre un titre courant légèrement différent du titre du chapitre?

Merci beaucoup vous êtes trop forts!

La commande est prévue pour définir 2 titres (‘titre court’ et ‘titre
long’).

La version initiale utilisait le ‘titre long’ comme titre du papier et
dans la toc et le ‘titre court’ dans les entêtes.

Notre version modifiée utilise le ‘titre long’ comme titre du papier et
le ‘titre court’ dans la toc et dans les entêtes.

Si j’ai bien compris, vous voudriez une commande permettant de définir
trois titres:

  • le titre à afficher
  • le titre à placer dans la TOC
  • le titre à placer dans les entêtes

C’est bien ça ?

Cordialement,

 Paul Gaborit

Voilà une solution pas optimisée mais qui a l’air de fonctionner;
moyennant quelques précautions :

\def@paper[#1][#2]#3#4{\cleardoublepage
\title{#3}\shorttitle{#1}\author{#4}\maketitle
\addcontentsline{toc}{Chapter}{\protect{\mbox{\MakeUppercase{#4}}\protect\
{#2}}}}

\paper[Titre courant1][Titre 1 dans toc]{Titre 1 très long\ avec des
sauts\ de ligne}{Auteur 1}

\paper[Titre courant2][Titre 2 dans toc]{Titre 2 très long\ avec des
sauts\ de ligne}{Auteur 2}

\paper{Titre 3 sans saut de ligne}{Auteur 3}

% \paper[Titre 4 courant]{Titre 4 sans saut de ligne}{Auteur 4}
occasionne une erreur
% à remplacer par :
\paper[Titre 4 courant][Titre 4 sans saut de ligne]{Titre 4 sans saut de
ligne}{Auteur 4}

% \paper[Titre 5 dnas toc]{Titre 5 sans saut de ligne}{Auteur 5}
occasionne une erreur
% à remplacer par :
\paper[Titre 5 sans saut de ligne][Titre 5 dans toc]{Titre 5 sans saut
de ligne}{Auteur 5}

Si vous mettez un paramètre optionnel, alors il faut en mettre deux,
quitte à répliquer du texte.

François

Le 03/01/2023 à 16:42, Sandrine Avril a écrit :

Bonjour,

Merci beaucoup à tous les deux, effectivement, ça marche: j’ai pu
récupérer le titre de la ToC entre crochets.

\paper[titre dans la ToC]{titre du chapitre}

Mais le titre entre crochets était en fait le titre courant, comment
je fais maintenant pour récupérer le \chaptermark{} qui me
permettrait d’entre un titre courant légèrement différent du titre du
chapitre?

Merci beaucoup vous êtes trop forts!

Bonne soirée

----- Le 3 Jan 23, à 16:35, Paul Gaborit xyz@xyz.tld a
écrit :

Le 03/01/2023 à 16:23, Sandrine Avril a écrit :
[...]
> Dans cette feuille de style la commande \chapter a été redéfinie.
> Ainsi au lieu d'avoir
> \chapter[titre dans la ToC]{Titre dans le document}
>
> j'ai
> \paper[titre courant]{titre dans le document et même apparence
dans la ToC}
>

En voyant le code fourni, je l’interprétais plus comme:

\paper[titre court]{titre}{auteurs}

Mais il y a effectivement un bug (à mon sens) dans la définition
de \@paper:

> \def\@paper[#1]#2#3{\clearemptydoublepage
> \title{#2}\shortitle{#1}\author{#3}\maketitle
> \addcontentsline{toc}{Chapter}%
> % {\protect{\mbox{\uppercase{#3}}\vskip1pt{#2}}}}
> {\protect{\mbox{\MakeTextUppercase{#3}}\protect\\{#2}}}}
Il me semblerait plus pertinent d'utiliser le 'shortitle' (qui
doit sans
doute déjà servir dans les entêtes) dans la TOC:

\def\@paper[#1]#2#3{\clearemptydoublepage
    \title{#2}\shortitle{#1}\author{#3}\maketitle
  \addcontentsline{toc}{Chapter}%
    %  {\protect{\mbox{\uppercase{#3}}\vskip1pt{#2}}}}
    {\protect{\mbox{\MakeTextUppercase{#3}}\protect\\ {#1}}}}

(J'ai juste remplacé le dernier #2 par #1.)


Cordialement,
-- 
     Paul Gaborit

Sandrine Avril
Tél. masqué

Bonjour,

Le 3 janv. 2023 à 16:54, Paul Gaborit xyz@xyz.tld a écrit :

Le 03/01/2023 à 16:42, Sandrine Avril a écrit :

Bonjour,
Merci beaucoup à tous les deux, effectivement, ça marche: j’ai pu récupérer le titre de la ToC entre crochets.
\paper[titre dans la ToC]{titre du chapitre}
Mais le titre entre crochets était en fait le titre courant, comment je fais maintenant pour récupérer le \chaptermark{} qui me permettrait d’entre un titre courant légèrement différent du titre du chapitre?
Merci beaucoup vous êtes trop forts!

La commande est prévue pour définir 2 titres (‘titre court’ et ‘titre long’).

La version initiale utilisait le ‘titre long’ comme titre du papier et dans la toc et le ‘titre court’ dans les entêtes.

Je me demande d’ailleurs si cette attente ne devrait pas être respectée : si je comprends bien on parle d’un article qui doit être publié dans une revue qui fournit une feuille de style. Les responsables de la revue doivent bien savoir ce qu’ils veulent et en général on ne modifie pas une feuille de style dans le corps de l’article : cela va contre tous les principes de la séparation fond-forme… Mais j’ai peut-être mal compris.

En tout cas on a aucun renseignement sur ce que font les commandes \title et \shorttitle…

Michel Bovani

oui c’est ça, j’ai vu que le titre courant peut être inclus par chaptermark?

-----Mail original-----

Le 03/01/2023 à 16:42, Sandrine Avril a écrit :

Bonjour,

Merci beaucoup à tous les deux, effectivement, ça marche: j’ai pu
récupérer le titre de la ToC entre crochets.

\paper[titre dans la ToC]{titre du chapitre}

Mais le titre entre crochets était en fait le titre courant, comment
je fais maintenant pour récupérer le \chaptermark{} qui me permettrait
d’entre un titre courant légèrement différent du titre du chapitre?

Merci beaucoup vous êtes trop forts!

La commande est prévue pour définir 2 titres (‘titre court’ et ‘titre
long’).

La version initiale utilisait le ‘titre long’ comme titre du papier et
dans la toc et le ‘titre court’ dans les entêtes.

Notre version modifiée utilise le ‘titre long’ comme titre du papier et
le ‘titre court’ dans la toc et dans les entêtes.

Si j’ai bien compris, vous voudriez une commande permettant de définir
trois titres:

  • le titre à afficher
  • le titre à placer dans la TOC
  • le titre à placer dans les entêtes

C’est bien ça ?

Cordialement,

Paul Gaborit

Sandrine Avril
Tél. masqué

Bonjour,

Merci beaucoup!

Chez moi ça ne marche pas. J’ai donc substitué la définition de \paper comme suit:

\def@paper [ #1 ][ #2 ] #3#4 { \cleardoublepage
\title { #3 } \shorttitle { #1 } \author { #4 } \maketitle
\addcontentsline {toc}{ Chapter }{ \protect { \mbox { \MakeUppercase { #4 }} \protect\ { #2 }}}}
\def@@paper#1#2 { \clearemptydoublepage
\title { #1 } \author { #2 } \maketitle
\addcontentsline {toc}{ Chapter } %
{ \protect { \MakeTextUppercase { #2 } \protect\ { #1 }}}}
\def\paper { \main@ifnextchar [{ @paper }{ @@paper }}

\def\l@Chapter#1#2 { \addpenalty {- @highpenalty } %
\vskip 1em plus 1pt minus 1pt
@tempdima 0em
\begingroup
\parindent \z@ \rightskip @pnumwidth
\parfillskip - @pnumwidth
\leavevmode
\advance\leftskip@tempdima
\hskip - \leftskip
\parbox [b]{ \textwidth }{ #1 \nobreak\hfill \nobreak\hbox
to @pnumwidth { \hss #2 }} \par \penalty@highpenalty
\endgroup }

L’erreur est la suivante:

]
! Undefined control sequence.
@paper … cleardoublepage \title { #3 } \shorttitle
{ #1 } \author { #4 } \maketitle…
l.20 … ourant ][Titre ToC ]{Titre chapitre}{auteur}
The control sequence at the end of the top line
of your error message was never \def’ed. If you have
misspelled it (e.g., \hobx' ), typeI’ and the correct
spelling (e.g., `I \hbox’ ). Otherwise just continue,
and I’ll forget about whatever was undefined.

Mais si ça peut marcher, ça serait super!

Merci beaucoup pour votre aide!

Sandrine
----- Le 3 Jan 23, à 17:35, Pétiard François xyz@xyz.tld a écrit :

Voilà une solution pas optimisée mais qui a l’air de fonctionner; moyennant
quelques précautions :

\def@paper[#1][#2]#3#4{\cleardoublepage
\title{#3}\shorttitle{#1}\author{#4}\maketitle
\addcontentsline{toc}{Chapter}{\protect{\mbox{\MakeUppercase{#4}}\protect\
{#2}}}}

\paper[Titre courant1][Titre 1 dans toc]{Titre 1 très long\ avec des sauts\ de
ligne}{Auteur 1}

\paper[Titre courant2][Titre 2 dans toc]{Titre 2 très long\ avec des sauts\ de
ligne}{Auteur 2}

\paper{Titre 3 sans saut de ligne}{Auteur 3}

% \paper[Titre 4 courant]{Titre 4 sans saut de ligne}{Auteur 4} occasionne une
erreur
% à remplacer par :
\paper[Titre 4 courant][Titre 4 sans saut de ligne]{Titre 4 sans saut de
ligne}{Auteur 4}

% \paper[Titre 5 dnas toc]{Titre 5 sans saut de ligne}{Auteur 5} occasionne une
erreur
% à remplacer par :
\paper[Titre 5 sans saut de ligne][Titre 5 dans toc]{Titre 5 sans saut de
ligne}{Auteur 5}

Si vous mettez un paramètre optionnel, alors il faut en mettre deux, quitte à
répliquer du texte.

François

Le 03/01/2023 à 16:42, Sandrine Avril a écrit :

Bonjour,

Merci beaucoup à tous les deux, effectivement, ça marche: j’ai pu récupérer le
titre de la ToC entre crochets.

\paper[titre dans la ToC]{titre du chapitre}

Mais le titre entre crochets était en fait le titre courant , comment je fais
maintenant pour récupérer le \chaptermark{} qui me permettrait d’entre un titre
courant légèrement différent du titre du chapitre?

Merci beaucoup vous êtes trop forts!

Bonne soirée

----- Le 3 Jan 23, à 16:35, Paul Gaborit [ mailto:xyz@xyz.tld |
xyz@xyz.tld ] a écrit :

Le 03/01/2023 à 16:23, Sandrine Avril a écrit :
[…]

Dans cette feuille de style la commande \chapter a été redéfinie.
Ainsi au lieu d’avoir
\chapter[titre dans la ToC]{Titre dans le document}

j’ai
\paper[titre courant]{titre dans le document et même apparence dans la ToC}

En voyant le code fourni, je l’interprétais plus comme:

\paper[titre court]{titre}{auteurs}

Mais il y a effectivement un bug (à mon sens) dans la définition de @paper:

\def@paper[#1]#2#3{\clearemptydoublepage
\title{#2}\shortitle{#1}\author{#3}\maketitle
\addcontentsline{toc}{Chapter}%
% {\protect{\mbox{\uppercase{#3}}\vskip1pt{#2}}}}
{\protect{\mbox{\MakeTextUppercase{#3}}\protect\{#2}}}}
Il me semblerait plus pertinent d’utiliser le ‘shortitle’ (qui doit sans
doute déjà servir dans les entêtes) dans la TOC:

\def@paper[#1]#2#3{\clearemptydoublepage
\title{#2}\shortitle{#1}\author{#3}\maketitle
\addcontentsline{toc}{Chapter}%
% {\protect{\mbox{\uppercase{#3}}\vskip1pt{#2}}}}
{\protect{\mbox{\MakeTextUppercase{#3}}\protect\ {#1}}}}

(J’ai juste remplacé le dernier #2 par #1.)

Cordialement,

Paul Gaborit

Sandrine Avril
Tél. masqué

Sandrine Avril
Tél. masqué

non c’est un ouvrage collectif, on a des spécifications de format mais on est assez libres

Bonjour,

Le 3 janv. 2023 à 16:54, Paul Gaborit xyz@xyz.tld a écrit :

Le 03/01/2023 à 16:42, Sandrine Avril a écrit :

Bonjour,
Merci beaucoup à tous les deux, effectivement, ça marche: j’ai pu récupérer le
titre de la ToC entre crochets.
\paper[titre dans la ToC]{titre du chapitre}
Mais le titre entre crochets était en fait le titre courant, comment je fais
maintenant pour récupérer le \chaptermark{} qui me permettrait d’entre un
titre courant légèrement différent du titre du chapitre?
Merci beaucoup vous êtes trop forts!

La commande est prévue pour définir 2 titres (‘titre court’ et ‘titre long’).

La version initiale utilisait le ‘titre long’ comme titre du papier et dans la
toc et le ‘titre court’ dans les entêtes.

Je me demande d’ailleurs si cette attente ne devrait pas être respectée : si je
comprends bien on parle d’un article qui doit être publié dans une revue qui
fournit une feuille de style. Les responsables de la revue doivent bien savoir
ce qu’ils veulent et en général on ne modifie pas une feuille de style dans le
corps de l’article : cela va contre tous les principes de la séparation
fond-forme… Mais j’ai peut-être mal compris.

En tout cas on a aucun renseignement sur ce que font les commandes \title et
\shorttitle…

Michel Bovani

Sandrine Avril
Tél. masqué

OK, c’est une erreur de ma part ; la commande est (curieusement)
\shortitle et non \shorttitle et j’avais modifié pour tester sur ma
machine. Voilà quelque chose qui devrait marcher.

\makeatletter
\def@paper[#1][#2]#3#4{\clearemptydoublepage
\title{#3}\shortitle{#1}\author{#4}\maketitle
\addcontentsline{toc}{Chapter}{\protect{\mbox{\MakeUppercase{#4}}\protect\
{#2}}}}

\def@@paper#1#2{\clearemptydoublepage
\title{#1}\author{#2}\maketitle
\addcontentsline{toc}{Chapter}{\protect{\MakeUppercase{#2}\protect\ {#1}}}}

\def\paper{\main@ifnextchar[{@paper}{@@paper}}
\makeatother

Le 04/01/2023 à 08:30, Sandrine Avril a écrit :

Bonjour,

Merci beaucoup!

Chez moi ça ne marche pas. J’ai donc substitué la définition de \paper
comme suit:

\def@paper[#1][#2]#3#4{\cleardoublepage
\title{#3}\shorttitle{#1}\author{#4}\maketitle
\addcontentsline{toc}{Chapter}{\protect{\mbox{\MakeUppercase{#4}}\protect\{#2}}}}
\def@@paper#1#2{\clearemptydoublepage
\title{#1}\author{#2}\maketitle
\addcontentsline{toc}{Chapter}%
{\protect{\MakeTextUppercase{#2}\protect\{#1}}}}
\def\paper{\main@ifnextchar[{@paper}{@@paper}}
\def\l@Chapter#1#2{\addpenalty{-@highpenalty}%
\vskip1emplus 1ptminus 1pt
@tempdima0em
\begingroup
\parindent\z@\rightskip@pnumwidth
\parfillskip-@pnumwidth
\leavevmode
\advance\leftskip@tempdima
\hskip-\leftskip
\parbox[b]{\textwidth}{#1\nobreak\hfill\nobreak\hbox
to@pnumwidth{\hss#2}}\par\penalty@highpenalty
\endgroup}

L’erreur est la suivante:

]
! Undefinedcontrolsequence.
@paper…cleardoublepage\title{#3}\shorttitle
{#1}\author{#4}\maketitle…
l.20 …ourant][Titre ToC]{Titre chapitre}{auteur}
Thecontrolsequence attheend ofthetop line
ofyourerror message wasnever\def’ed.If youhave
misspelledit(e.g., \hobx'), type I’ and thecorrect
spelling(e.g., `I\hbox’). Otherwisejustcontinue,
and I’llforgetabout whatever wasundefined.
Mais si ça peut marcher, ça serait super!

Merci beaucoup pour votre aide!

Sandrine

Génial, ça marche!

Un immense merci! Vous êtes formidable!

----- Le 4 Jan 23, à 8:36, Pétiard François xyz@xyz.tld a écrit :

OK, c’est une erreur de ma part ; la commande est (curieusement) \shortitle et
non \shorttitle et j’avais modifié pour tester sur ma machine. Voilà quelque
chose qui devrait marcher.

\makeatletter
\def@paper[#1][#2]#3#4{\clearemptydoublepage
\title{#3}\shortitle{#1}\author{#4}\maketitle
\addcontentsline{toc}{Chapter}{\protect{\mbox{\MakeUppercase{#4}}\protect\
{#2}}}}

\def@@paper#1#2{\clearemptydoublepage
\title{#1}\author{#2}\maketitle
\addcontentsline{toc}{Chapter}{\protect{\MakeUppercase{#2}\protect\ {#1}}}}

\def\paper{\main@ifnextchar[{@paper}{@@paper}}
\makeatother
Le 04/01/2023 à 08:30, Sandrine Avril a écrit :

Bonjour,

Merci beaucoup!

Chez moi ça ne marche pas. J’ai donc substitué la définition de \paper comme
suit:

\def@paper [ #1 ][ #2 ] #3#4 { \cleardoublepage
\title { #3 } \shorttitle { #1 } \author { #4 } \maketitle
\addcontentsline {toc}{ Chapter }{ \protect { \mbox { \MakeUppercase { #4 }}
\protect\ { #2 }}}}
\def@@paper#1#2 { \clearemptydoublepage
\title { #1 } \author { #2 } \maketitle
\addcontentsline {toc}{ Chapter } %
{ \protect { \MakeTextUppercase { #2 } \protect\ { #1 }}}}
\def\paper { \main@ifnextchar [{ @paper }{ @@paper }}
\def\l@Chapter#1#2 { \addpenalty {- @highpenalty } %
\vskip 1em plus 1pt minus 1pt
@tempdima 0em
\begingroup
\parindent \z@ \rightskip @pnumwidth
\parfillskip - @pnumwidth
\leavevmode
\advance\leftskip@tempdima
\hskip - \leftskip
\parbox [b]{ \textwidth }{ #1 \nobreak\hfill \nobreak\hbox
to @pnumwidth { \hss #2 }} \par \penalty@highpenalty
\endgroup }

L’erreur est la suivante:

]
! Undefined control sequence.
@paper … cleardoublepage \title { #3 } \shorttitle
{ #1 } \author { #4 } \maketitle…
l.20 … ourant ][Titre ToC ]{Titre chapitre}{auteur}
The control sequence at the end of the top line
of your error message was never \def’ed. If you have
misspelled it (e.g., \hobx' ), typeI’ and the correct
spelling (e.g., `I \hbox’ ). Otherwise just continue,
and I’ll forget about whatever was undefined.
Mais si ça peut marcher, ça serait super!

Merci beaucoup pour votre aide!

Sandrine

Sandrine Avril
Tél. masqué