Le 27/08/2013 16:53, Denis Bitouzᅵ a ᅵcrit :
> Bonjour,
>
> la compilation de l'ECM suivant donne :
> 1. le rᅵsultat escomptᅵ ;
> 2. un rᅵsultat pour le moins surprenant si est dᅵcommentᅵe la ligne :
> % \paragraph{...}
> car la variable \i est prᅵmaturᅵment incrᅵmentᅵe de 1 et la derniᅵre
> occurrence correspondante n'apparaᅵt pas. Si la ligne :
> % \subparagraph{...}
> est en outre dᅵcommentᅵe, l'anomalie se reporte sur elle, celle des
> ᅵ \paragraph ᅵ se comportant alors normalement.
>
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> \documentclass{report}
> \usepackage{fixltx2e}
> \usepackage{multido}
> \begin{document}
> \multido{\i=1+1}{4}{%
> \chapter{Je suis le chapitre \i}
> \section{Je suis une section du chapitre \i}
> \subsection{Je suis une sous-section du chapitre \i}
> \subsubsection{Je suis une sous-sous-section du chapitre \i}
> % \paragraph{Je suis un paragraphe du chapitre \i}
> % \subparagraph{Je suis un sous-paragraphe du chapitre \i}
> }
> \end{document}
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
>
> Nan mais je vous le demande un peu : ᅵ qui peut-on dᅵsormais se fier ?
>
Bonjour
Il y a un \everypar dans la dᅵfinition de \@xsect qui semble causer ce
souci.
Les redᅵfinitions de \@sect et de \@xsect ci-dessous semblent rᅵparer
ᅵa, mais causent peut-ᅵtre d'autres effets de bord non prᅵvus...
\documentclass{report}
\usepackage{fixltx2e}
\usepackage{multido,tikz}
\makeatletter
% dᅵfinition initiale %
%\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum#2>\c@secnumdepth\let\@svsec\@empty%
%\else%
%\refstepcounter{#1}\protected@edef\@svsec{\@seccntformat{#1}\relax}\fi%
%\@tempskipa#5\relax%
%\ifdim\@tempskipa>\z@\begingroup#6{\@hangfrom{\hskip#3\relax%
%\@svsec}\interlinepenalty\@M#8\@@par}\endgroup%
%\csname#1mark\endcsname{#7}%
%\addcontentsline{toc}{#1}{\ifnum#2>\c@secnumdepth\else%
%\protect\numberline{\csname the#1\endcsname}\fi%
%#7}\else\def\@svsechd{#6{\hskip#3\relax\@svsec#8}%
%\csname#1mark\endcsname{#7}%
%\addcontentsline{toc}{#1}{\ifnum#2>%
%\c@secnumdepth\else\protect\numberline{\csname the#1\endcsname}\fi%
%#7}}\fi\@xsect{#5}
%}
%%%%%%%%%%%%%%%%%%%%%%%
% nouvelle dᅵfinition %
\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum#2>\c@secnumdepth\let\@svsec\@empty%
\else%
\refstepcounter{#1}\protected@edef\@svsec{\@seccntformat{#1}\relax}\fi%
\@tempskipa#5\relax%
\ifdim\@tempskipa>\z@\begingroup#6{\@hangfrom{\hskip#3\relax%
\@svsec}\interlinepenalty\@M#8\@@par}\endgroup%
\csname#1mark\endcsname{#7}%
\addcontentsline{toc}{#1}{\ifnum#2>\c@secnumdepth\else%
\protect\numberline{\csname the#1\endcsname}\fi%
#7}\else\def\@svsechd{#6{\hskip#3\relax\@svsec#8}%
\csname#1mark\endcsname{#7}%
\addcontentsline{toc}{#1}{\ifnum#2>%
\c@secnumdepth\else\protect\numberline{\csname the#1\endcsname}\fi%
#7}}\fi\@xsect{#5}%
\everypar{}% <- ici on ajoute
}
%%%%%%%%%%%%%%%%%%%%%%%
% dᅵfinition initiale %
%\def\@xsect#1{\@tempskipa#1\relax\ifdim\@tempskipa>\z@\par\nobreak%
%\vskip\@tempskipa\@afterheading%
%\else\@nobreakfalse\global\@noskipsectrue%
%\everypar{\if@noskipsec\global\@noskipsecfalse%
%{\setbox\z@\lastbox}%
%\clubpenalty\@M%
%\begingroup\@svsechd\endgroup%
%\unskip\@tempskipa#1\relax%
%\hskip-\@tempskipa\else\clubpenalty\@clubpenalty\everypar{}\fi}%
%\fi\ignorespaces}
%%%%%%%%%%%%%%%%%%%%%%%
% nouvelle dᅵfinition %
\def\@xsect#1{\@tempskipa#1\relax\ifdim\@tempskipa>\z@\par\nobreak%
\vskip\@tempskipa\@afterheading%
\else\@nobreakfalse\global\@noskipsectrue%
\everypar{\if@noskipsec\global\@noskipsecfalse%
{\setbox\z@\lastbox}%
\clubpenalty\@M%
% on dᅵplace \begingroup\@svsechd\endgroup -----------------------
\unskip\@tempskipa#1\relax% |
\hskip-\@tempskipa\else\clubpenalty\@clubpenalty\everypar{}\fi}% |
\begingroup\@svsechd\endgroup% <- ici ----------------------------
\fi\ignorespaces}
%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\multido{\i=1+1}{4}{%
\chapter{Je suis le chapitre \i}
\section{Je suis une section du chapitre \i}
\subsection{Je suis une sous-section du chapitre \i}
\subsubsection{Je suis une sous-sous-section du chapitre \i}
\paragraph{Je suis un paragraphe du chapitre \i}
\subparagraph{Je suis un sous-paragraphe du chapitre \i}
}
\end{document}
Franᅵois
--
Si la plupart des utilisateurs s'en tirent bien en ignorant tout de la
bombe qu'ils manipulent, grand bien pour eux, jusqu'au jour oᅵ ᅵa leur
explose dans les mains.
-+- Joss in fr.comp.text.tex -+-