buglettre_observatoire - Bugs: bug #428, Définition non uniforme de \par

 
 
Show feedback again

You are not allowed to post comments on this tracker with your current authentification level.

bug #428: Définition non uniforme de \par

Submitted by:  Vincent Belaïche <vincentb1>
Submitted on:  Sat Jun 29 21:52:12 2019  
 
Category: NonePriority: 5 - Normal
Severity: 5 - NormalStatus: Fixed
Privacy: PublicAssigned to: Vincent Belaïche <vincentb1>
Open/Closed: Closed

Sun Jun 30 04:51:29 2019, comment #2:

Le problème est corrigé par la révision 244.
J'ai opté pour une solution conservative, c'est à dire en plus de remplacer les deux « \def\par{…} » par des « \@setpar{…} », j'ai défini un synonyme « \lettre@par » de « \@par », et après le second \def\lettre@startbreaks je fais

\let\@par\lettre@par

Ceci rétablit donc \@par à sa valeur d'origine, comme si les deux « \def\par{…} » n'avaient pas été remplacé par des « \@setpar{…} ».

En partique, « \par » prend la valeur définie dans le cœur LaTeX après le premier ps.

Vincent Belaïche <vincentb1>
Project AdministratorIn charge of this item.
Sat Jun 29 21:57:09 2019, comment #1:

À noter, si on remplace ces deux « \def\par{…} » par un « \@setpar{…} », ça ne fait plus tout à fait la même chose qu'avant. En effet les commande de « ps » sont en fait en sous-main définies pas un \begin{list}\item[]#1\end{list}, ce qui fait que dans la classe lettre non corrigée, après le premier « ps » en fait on rebascule sur le \par par défaut du cœur LaTeX, et donc on ne reste pas en mode « start breaks ».

Donc une correction changeant uniquement les deux « \def\par{…} » en « \@setpar{…} » modifie légèrement l'espacement vertical des « ps » - d'ailleurs je ne sais pas exactement pourquoi, on dirait que jouer sur les pénalités a aussi un effet sur l'espacement vertical élastique qui suit (???).

Vincent Belaïche <vincentb1>
Project AdministratorIn charge of this item.
Sat Jun 29 21:52:12 2019, original submission:

Le fichier lettre.cls comprend deux commandes
\lettre@stopbreaks et \lettre@startbreaks ainsi définies :

\def\lettre@stopbreaks{\interlinepenalty \@M
\def\par{\@@par\nobreak}\let\\=\@nobreakcr
\let\vspace\@nobreakvspace}%

\def\lettre@startbreaks{\let\\=\@normalcr
\interlinepenalty 200\relax\def\par{\@@par\penalty -100\relax}}%

En clair il y a deux modes pour le saut de page :

• le mode « start breaks » où par rapport au comportement par défaut de LaTeX on préfère faire les sauts entre les paragraphes qu'au sein de ceux-ci

• le mode « stop break » où on veut éviter à toute force les sauts de page.

L'idée c'est que depuis la formule d'ouverture \opening (typiquement « Madame, Monsieur ») jusqu'au début de la formule de clôture \closing (typiquement « Je vous prie d'agréer mes salutations distinguées ») on est en « start breaks », puis entre le début la formule de clôture et la fin des signature on est en « stop breaks », et puis on repasse en « start breaks » pour tout ce qui suit (PS, liste des pièces jointes, etc., que globalement je désigne ici par « ps » ).

Bon, voilà le souci : il faut remplacer dans ces deux commandes les « \def\par{…} » par des « \@setpar{…} » parce que un « \def\par{…} » a un effet temporaire qui est annulé dès qu'on a un environnement de type list ou eqnarray dans le corps de la lettre.

Vincent Belaïche <vincentb1>
Project AdministratorIn charge of this item.

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by vincentb1 (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    3 latest changes follow.

    Date Changed By Updated Field Previous Value => Replaced By
    Sun Jun 30 04:51:29 2019vincentb1Open/ClosedOpen=>Closed
      StatusNone=>Fixed
      Assigned toNone=>vincentb1
    Show feedback again

    Back to the top


    Powered by Savane 3.1-cleanup+gray