Modification environnement exercice — Les-mathematiques.net The most powerful custom community solution in the world

Modification environnement exercice

Bonjour. J'ai trouvé le code suivant sur le web, qui me permet d'avoir un certain environnement des exercices.
[/\documentclass[11pt,oneside]{book}
%%%%%%%%%%%%% Geometry
\usepackage[a4paper,left=2.5cm,right=2.5cm, bottom=2.5cm,top=2.5cm]{geometry}

%%%%%%%%%%%%%%% Les paquets
\usepackage[tikz]{bclogo}
\usepackage[french]{babel}
\usepackage[palette=munch]{nexus}
%%%%%%%%%%%%%%%% hyperref
\usepackage{lipsum}
\usepackage[verbose]{hyperref}
\hypersetup{ 
    hidelinks
}
\setlength{\XeTeXLinkMargin}{-1pt}
%%%%%%%%%%%%%%%%%%%
\newcounter{mtex}
\newcommand{\mtexlabel}{\cadrexo{\themtex}}
\newcommand{\cadrexo}[1]{%\tikz\node[rectangle,minimum size=6mm,rounded corners=1mm,fill=ocre,inner sep=0pt,text width=0.8cm,align=center]{\large\bfseries\textcolor{white}{#1}};}
\definecolor{ocre}{RGB}{196,106,106}
\newcommand{\mtexlabelpos}[1]{%
	\makebox[0pt][r]{\raisebox{#1\baselineskip}[0pt][0pt]{\mtexlabel\quad}}}
\newenvironment{exercice}[1][\empty]{%
	\refstepcounter{mtex}%
	\trivlist\item\relax%  
	\ifx#1\empty\mtexlabelpos{-.8}\else\mtexlabelpos{-.5}%
	\hfill\textbf{#1}\hfill\mbox{}\par\fi%
}{\endtrivlist}
	\setlength{\columnsep}{1.5cm}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}
\begin{exercice}[Riemann]
	\lipsum[1]
\end{exercice}
\end{document}]
Je veux modifier le code afin d'avoir dans la boite du numéro, le numéro de la section puis celui de l'exercice.

Par exemple, le deuxième exercice de la section 3 serait 3.2. Puis, je veux également avoir devant le numéro un lien vers les indications et un autres vers le corrigé qui se trouvent directement après les énoncés et non à la fin du manuel (puisqu'il y a plusieurs chapitre dans mes notes de cours) . Ainsi, par exemple : dans l'énoncé de l'exercice 2 de la section 3, on aurait

3.2 Indication Corrigé

Et au niveau des indications ou du corrigé, on aurait

3.2 Indication Énoncé

3.2 Corrigé Énoncé

De telle façon que je puisse cliquer directement sur indication ou corrigé pour me rendre où je veux, et inversement au niveau des indications et corrigé je peux cliquer sur énoncé pour revenir à mon exercice.

J'espère que c'est assez clair. Juste pour vous informer que mon niveau en Latex est assez médiocre, et donc je comprends mieux lorsque j'ai un exemple de code qui est donné.
Je vous remercie à l'avance pour vos commentaires.
zenon
«1

Réponses

  • Je n'ai pas trop le temps de fignoler, mais l'essentiel doit être là. Ne pas oublier de compiler plusieurs fois à cause des labels (comme d'habitude : lire les messages de LaTeX).
    \documentclass[french]{article}
    \usepackage{lmodern}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{babel}
    \usepackage{tikz}
    \usepackage{etoolbox}
    \usepackage{refcount}
    \usepackage{lipsum}             % pour le texte bidon
    \usepackage{hyperref}
    \hypersetup{colorlinks=true,linkcolor=blue}
    
    \definecolor{ocre}{RGB}{196,106,106}
    
    \newcounter{mtex}[section]
    \renewcommand{\themtex}{\thesection.\arabic{mtex}}
    
    \newcommand{\mtexlabel}{\cadrexo{\themtex}}
    
    \newcommand*{\cadrexo}[1]{%
      \begin{tikzpicture}
       \node[rectangle, minimum size=6mm, rounded corners=1mm, fill=ocre,
             inner sep=0pt, text width=0.8cm, align=center, font=\large\bfseries,
             text=white] {#1};
      \end{tikzpicture}%
    }
    
    \newcommand*{\mtexlabelpos}[1]{%
      \hypertarget{exo-\arabic{section}-\arabic{mtex}}{%
        \makebox[0pt][r]{\raisebox{#1\baselineskip}[0pt][0pt]{\mtexlabel\quad}}%
      }%
    }
    
    \newif\ifajouteespace
    
    \newenvironment{exercice}[1][]{%
      \trivlist\item\relax
      \leavevmode\refstepcounter{mtex}%
      \ifstrempty{#1}{%
        \mtexlabelpos{-.8}%
      }{%
        \mtexlabelpos{-.5}\hfill\textbf{#1}\hfill\mbox{}\par\nopagebreak
        \ajouteespacefalse
        \IfRefUndefinedBabel{indication-\arabic{section}-\arabic{mtex}}
          {}
          {\noindent\hyperlink{indication-\arabic{section}-\arabic{mtex}}{Indication}%
           \ajouteespacetrue}%
        \IfRefUndefinedBabel{corrige-\arabic{section}-\arabic{mtex}}
          {}
          {\noindent\ifajouteespace~\else\fi
           \hyperlink{corrige-\arabic{section}-\arabic{mtex}}{Corrigé}}%
        \par
      }%
    }{\endtrivlist}
    
    \newenvironment{indication}{%
      \par\vspace{1ex}\noindent
      \label{indication-\arabic{section}-\arabic{mtex}}%
      \hypertarget{indication-\arabic{section}-\arabic{mtex}}{\textsl{Indication}}~%
      (\hyperlink{exo-\arabic{section}-\arabic{mtex}}{énoncé})%
      \par\nopagebreak\vspace{0.6ex}%
    }{\par\ignorespacesafterend}
    
    \newenvironment{corrige}{%
      \par\vspace{1ex}\noindent
      \label{corrige-\arabic{section}-\arabic{mtex}}%
      \hypertarget{corrige-\arabic{section}-\arabic{mtex}}{\textsl{Corrigé}}~%
      (\hyperlink{exo-\arabic{section}-\arabic{mtex}}{énoncé})%
      \par\nopagebreak\vspace{0.6ex}%
    }{\par\ignorespacesafterend}
    
    \begin{document}
    
    \section{Pouet}
    
    \begin{exercice}[Riemann]
      \lipsum[1]
      \begin{indication}
        Une indication.
      \end{indication}
      \begin{corrige}
        Un corrigé. \lipsum[1][1-5]
      \end{corrige}
    \end{exercice}
    
    \begin{exercice}
      \lipsum[2]
    \end{exercice}
    
    \section{Foo}
    
    \begin{exercice}[Lebesgue]
      \lipsum[2-3]
      \begin{corrige}
        Corrigé de l'exo sur Lebesgue. \lipsum[1][1-2]
      \end{corrige}
    \end{exercice}
    
    \end{document}
    
    Edit : petites améliorations (notamment, j'avais oublié d'enlever le \empty après avoir rendu le test plus fiable). Si tu veux ajouter d'autres liens conditionnels à l'endroit de l'indication ou du corrigé, tu peux utiliser le \IfRefUndefinedBabel{label}{vrai}{faux} comme dans l'environnement 'exercice'. Il faut gérer les espaces séparateurs (on pourrait utiliser une l3seq puis seq_use:Nn...). Autre méthode : ajouter l'espace systématiquement après chaque lien. En effet, en fin de paragraphe il y a un \unskip implicite donc le dernier espace « après » sera supprimé dans tous les cas.112860
  • Voici une version un peu améliorée avec tous les liens :
    \documentclass[french]{article}
    \usepackage{lmodern}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}  % non nécessaire depuis environ 2 ans (par défaut)
    \usepackage{babel}
    \usepackage{tikz}
    \usetikzlibrary{babel}
    \usepackage{xparse}          % non nécessaire à partir de LaTeX 2020-10-01
    \usepackage{refcount}        % pour \IfRefUndefinedBabel
    \usepackage{lipsum}          % pour le texte bidon
    \usepackage{hyperref}
    \hypersetup{colorlinks=true, linkcolor=blue}
    
    \definecolor{ocre}{RGB}{196,106,106}
    
    \makeatletter
    \newcounter{mtex}[section]
    \renewcommand{\themtex}{\thesection.\arabic{mtex}}
    
    \newcommand{\mtexlabel}{\cadrexo{\themtex}}
    
    \newcommand*{\cadrexo}[1]{%
      \begin{tikzpicture}
       \node[rectangle, minimum size=6mm, rounded corners=1mm, fill=ocre,
             inner sep=0pt, text width=0.8cm, align=center, font=\large\bfseries,
             text=white] {#1};
      \end{tikzpicture}%
    }
    
    \newcommand{\zenon@raised@hypertarget}[2][]{%
      % Voir <https://tex.stackexchange.com/q/17057/73317>
      \Hy@raisedlink{\hypertarget{#2}{#1}}%
    }
    
    \newcommand*{\mtexlabelpos}[1]{%
      \leavevmode
      \label{exo-\arabic{section}-\arabic{mtex}}%
      \zenon@raised@hypertarget{exo-\arabic{section}-\arabic{mtex}}%
      \makebox[0pt][r]{\raisebox{#1\baselineskip}[0pt][0pt]{\mtexlabel\quad}}%
    }
    \makeatother
    
    \ExplSyntaxOn
    \seq_new:N \l__zenon_liens_seq
    
    \cs_new_protected:Nn \__zenon_ajoute_lien:nnn
      {
        \cs_set:Nn \__zenon_tmp_format_link:n {#3}
        \IfRefUndefinedBabel {#1}
          { }
          {
            \seq_put_right:No \l__zenon_liens_seq
              { \__zenon_tmp_format_link:n { \hyperlink {#1} {#2} } }
          }
      }
    
    \NewDocumentEnvironment { exercice } { o }
      {
        \trivlist \item \relax
        \mode_leave_vertical: \refstepcounter { mtex }
        \IfNoValueTF {#1}
          { \mtexlabelpos { -.8 } }
          {
            \mtexlabelpos { -.5 } \hspace { \fill } \textbf{#1} \hspace* { \fill }
            \seq_clear:N \l__zenon_liens_seq
            \__zenon_ajoute_lien:nnn { indication-\arabic{section}-\arabic{mtex} }
              { indication }
              {##1}
            \__zenon_ajoute_lien:nnn { corrige-\arabic{section}-\arabic{mtex} }
              { corrigé }
              {##1}
            \seq_if_empty:NF \l__zenon_liens_seq
              { \makebox[0pt][r] { [ \seq_use:Nn \l__zenon_liens_seq { ,~ } ] } }
            \par \nopagebreak
          }
      }
      { \endtrivlist }
    
    \NewDocumentEnvironment { indication } { }
      {
        \par \vspace{1ex} \noindent
        \label { indication-\arabic{section}-\arabic{mtex} }
        \use:c { zenon@raised@hypertarget }
          { indication-\arabic{section}-\arabic{mtex} }
        \textsl { Indication }
    
        \seq_clear:N \l__zenon_liens_seq
        \__zenon_ajoute_lien:nnn { exo-\arabic{section}-\arabic{mtex} }
          { énoncé } {##1}
        \__zenon_ajoute_lien:nnn { corrige-\arabic{section}-\arabic{mtex} }
          { corrigé } {##1}
        \seq_if_empty:NF \l__zenon_liens_seq
          {
            \hspace { \fill } [ \seq_use:Nn \l__zenon_liens_seq { ,~ } ]
          }
    
        \par \nopagebreak \vspace { 0.6ex }
      }
      { \par \ignorespacesafterend }
    
    \NewDocumentEnvironment { corrige } { }
      {
        \par \vspace {1ex} \noindent
        \label { corrige-\arabic{section}-\arabic{mtex} }
        \use:c { zenon@raised@hypertarget }
          { corrige-\arabic{section}-\arabic{mtex} }
        \textsl { Corrigé }
    
        \seq_clear:N \l__zenon_liens_seq
        \__zenon_ajoute_lien:nnn { exo-\arabic{section}-\arabic{mtex} }
          { énoncé } {##1}
        \__zenon_ajoute_lien:nnn { indication-\arabic{section}-\arabic{mtex} }
          { indication } {##1}
        \seq_if_empty:NF \l__zenon_liens_seq
          {
            \hspace { \fill } [ \seq_use:Nn \l__zenon_liens_seq { ,~ } ]
          }
    
        \par \nopagebreak \vspace { 0.6ex }
      }
      { \par \ignorespacesafterend }
    
    \ExplSyntaxOff
    
    \begin{document}
    
    \section{Une section}
    
    \begin{exercice}[Riemann]
      \lipsum[1]
      \begin{indication}
        Une indication.
      \end{indication}
      \begin{corrige}
        Un corrigé. \lipsum[1][1-5]
      \end{corrige}
    \end{exercice}
    
    \begin{exercice}
      \lipsum[2]
    \end{exercice}
    
    \section{Une autre section}
    
    \begin{exercice}[Lebesgue]
      \lipsum[2-3]
      \begin{corrige}
        Corrigé de l'exo sur Lebesgue. \lipsum[1][1-2]
      \end{corrige}
    \end{exercice}
    
    \end{document}
    
    Edit : meilleur positionnement vertical de la cible des hyperliens (puis mise à jour de la capture d'écran car j'ai changé les noms des sections).112868
  • Merci beaucoup beaucoup Brian pour ta réponse!

    Cependant, je veux que les indications ainsi que le corrigé des exercices apparaissent sur d'autres pages. Ainsi, l'étudiant s'il a besoin d'aide il peut utiliser le lien vers les indications et la réponse. Sinon, il peut y aller directement vers le corrigé détaillé. Cependant les indications et corrigés doivent être à la fin de la section ou du chapitre, et non pas à la fin du livre.

    Si tu penses Brian que c'est délicat de le faire d'une façon globale, alors même une solution un peu manuelle serait la bienvenue, puisque j'ai terminée d'écrire les énoncés et le corrigé détaillé, j'ai alors du temps de faire cela au temps des fêtes.

    Merci encore une fois pour tes réponses.
  • Ah oui, je n'avais pas bien compris. Je crois que ce qui suit devrait à peu près te convenir (fichier attaché 'version1.tex'). À mon avis, le centrage des titres optionnels des exercices n'est pas joli. J'attache une légère variante (version2.tex) qui enlève ça et te montre comment changer deux autres choses :
    • mettre un alinéa en début d'exercice ;
    • insérer un petit espace vertical (0.6ex) après un titre d'exercice.
    Pour les alinéas, c'est à toi de voir en fonction du reste de ta mise en page. Je te montre juste où ça se passe, car ça n'est pas forcément évident (il te suffit maintenant de comparer les deux variantes).112888
    112890
  • Formidable Brian! C'est ce que je voulais. Merci encore une fois pour le temps que tu as pris pour me répondre.


    zenon
  • Ravi de l'entendre. ;-)
  • Bonjour Brian. Je ne sais pas pourquoi le site ne permet pas de télécharger le fichier. Est-ce qu'il y a une autre façon pour avoir le fichier? Par exemple me l'envoyer à ma boite personnelle.

    Merci d'avance
  • C'est bizarre, ça fonctionne bien pour moi. Je t'ai envoyé un MP avec les deux variantes en ligne (balise 'code').
  • Merci encore Brian pour tes réponses, puisque tu as résolu mon dernier problème concernant la version numérique des mes notes de cours. Cependant, je voudrais savoir si c'est possible pour une version papier de mes notes de cours d'avoir à la place de «indication» et «corrigé», d'avoir «indication page !» et «corrigé page !» Par exemple, «Indication page 3» et «Corrigé page 4».

    Merci à l'avance pour vos commentaires et vraiment désolé pour toutes ces questions.
    zenon
  • Remplacer \toggletrue{VersionPapier} par \togglefalse{VersionPapier} dans ce qui suit pour avoir la version écran. Si la ligne est commentée, c'est la version écran qui est produite (car les booléens sont initialement faux).

    Un truc important : ne pas utiliser de caractères exotiques dans les labels d'exercices, comme 'exo-Lebesgue' ici :
    \begin{exercice}[Lebesgue]{exo-Lebesgue}
      \lipsum[2-3]
    \end{exercice}
    
    Les lettres a-z, A-Z, les chiffres décimaux (0-9), le point '.' et le trait d'union '-' ne posent pas de problème. En revanche, pas de caractères actifs tels que (avec pdfTeX et babel-french) les caractères accentués, ':', ';', '!', '?'. Comme ces labels ne sont que des étiquettes invisibles, ce n'est pas grave, mais il faut respecter cette petite contrainte sous peine de casser les hyperliens.
    \documentclass[french]{article}
    \usepackage{lmodern}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}  % non nécessaire depuis environ 2 ans (par défaut)
    \usepackage{babel}
    \usepackage{tikz}
    \usetikzlibrary{babel}
    \usepackage{etoolbox}        % pour \newtoggle, \toggletrue...
    \usepackage{xparse}          % non nécessaire à partir de LaTeX 2020-10-01
    \usepackage{refcount}        % pour \IfRefUndefinedBabel
    \usepackage{lipsum}          % pour le texte bidon
    \usepackage{hyperref}
    \hypersetup{colorlinks=true}
    
    \newtoggle{VersionPapier}
    % \toggletrue{VersionPapier}
    
    \iftoggle{VersionPapier}
      {\hypersetup{linkcolor=black}}
      {\hypersetup{linkcolor=blue}}
    
    \definecolor{UnRouge}{RGB}{196,106,106}
    \definecolor{UnJaune}{HTML}{D6C514}
    \definecolor{UnVert}{HTML}{90F090}
    % Couleurs « sémantiques » : 'exercice', 'indication', 'corrige'.
    \colorlet{exercice}{UnRouge}
    \colorlet{indication}{UnJaune}
    \colorlet{corrige}{UnVert}
    
    \makeatletter
    \newcounter{mtex}[section]
    \renewcommand{\themtex}{\thesection.\arabic{mtex}}
    
    \newcommand*{\cadrexo}[2][orange]{%
      \begin{tikzpicture}
       \node[rectangle, minimum size=6mm, rounded corners=1mm, fill={#1},
             inner sep=0pt, text width=0.8cm, align=center, font=\large\bfseries,
             text=white] {#2};
      \end{tikzpicture}%
    }
    
    \newcommand{\zenon@raised@hypertarget}[2][]{%
      % Voir <https://tex.stackexchange.com/q/17057/73317>
      \Hy@raisedlink{\hypertarget{#2}{#1}}%
    }
    \makeatother
    
    \ExplSyntaxOn
    \seq_new:N \l__zenon_liens_seq
    \tl_new:N \l_zenon_label_exercice_tl
    
    % Facteur, texte à afficher, couleur
    \cs_new_protected:Nn \zenon_mtexlabel:nnn
      {
        \makebox[0pt][r]
          {
            \raisebox { #1\baselineskip } [0pt] [0pt] { \cadrexo [#3] {#2} \quad }
          }
      }
    
    \cs_new_protected:Nn \__zenon_mtexlabelpos:nn
      {
        \mode_leave_vertical:
        \label {#2}
        \use:c { zenon@raised@hypertarget } {#2}
        \zenon_mtexlabel:nnn {#1} { \themtex } { exercice }
      }
    
    \cs_generate_variant:Nn \__zenon_mtexlabelpos:nn { nV }
    
    \cs_new_protected:Nn \__zenon_format_link:nn
      {
        \hyperlink {#1}
          {
            \iftoggle { VersionPapier }
              { #2~p.\nobreakspace \pageref*{#1} }
              {#2}
          }
      }
    
    \cs_new_protected:Nn \__zenon_ajoute_lien:nnn
      {
        \cs_set:Nn \__zenon_tmp_format_link:n {#3}
        \IfRefUndefinedBabel {#1}
          { }
          {
            \seq_put_right:No \l__zenon_liens_seq
              { \__zenon_tmp_format_link:n { \__zenon_format_link:nn {#1} {#2} } }
          }
      }
    
    \cs_generate_variant:Nn \__zenon_ajoute_lien:nnn { V }
    
    % #1: titre de l'exercice (optionnel)
    % #2: label associé à l'exercice (identifiant unique)
    \NewDocumentEnvironment { exercice } { o m }
      {
        \begin{trivlist} \item \relax
        \mode_leave_vertical:
        \refstepcounter { mtex }
        \tl_set:Nn \l_zenon_label_exercice_tl {#2}
    
        \IfValueTF {#1}
          {
            \__zenon_mtexlabelpos:nV { -.5 } \l_zenon_label_exercice_tl
            \textbf {#1}
          }
          { \__zenon_mtexlabelpos:nV { -.8 } \l_zenon_label_exercice_tl \indent }
    
        \seq_clear:N \l__zenon_liens_seq
        \__zenon_ajoute_lien:nnn { indication-#2 } { indication } {##1}
        \__zenon_ajoute_lien:nnn { corrige-#2 }    { corrigé }    {##1}
        \seq_if_empty:NF \l__zenon_liens_seq
          {
            \hspace { \fill } [ \seq_use:Nn \l__zenon_liens_seq { ,~ } ]
            \par \nopagebreak \vspace { 0.6ex }
          }
    
        \ignorespaces
      }
      { \end{trivlist} }
    
    \NewDocumentEnvironment { complements-exo } { m }
      {
        \tl_set:Nn \l_zenon_label_exercice_tl {#1}
        % Activation des environnements 'indication' et 'corrige'
        \cs_set_eq:NN \indication \__zenon_indication_real:
        \cs_set_eq:NN \corrige \__zenon_corrige_real:
      }
      { }
    
    % #1: 'corrige' ou 'indication' (ce que l'on traite ici)
    % #2: 'Corrigé' ou 'Indication' (ce que l'on traite ici)
    % #3: 'corrige' ou 'indication' (référence externe)
    % #4: 'corrigé' ou 'indication' (référence externe)
    % #5: couleur du numéro d'exercice
    \cs_new_protected:Nn \__zenon_complement_exo:nnnnn
      {
        \par \noindent
        % Écrit le numéro de l'exercice référencé par \l_zenon_label_exercice_tl
        \zenon_mtexlabel:nnn
          { -0.5 }
          { \ref* { \l_zenon_label_exercice_tl } }
          {#5}
        \label { #1-\l_zenon_label_exercice_tl }
        % On définit une cible pour hyperref
        \use:c { zenon@raised@hypertarget } { #1-\l_zenon_label_exercice_tl }
        \textsl {#2}
    
        \seq_clear:N \l__zenon_liens_seq
        \__zenon_ajoute_lien:Vnn \l_zenon_label_exercice_tl { énoncé } {##1}
        \__zenon_ajoute_lien:nnn { #3-\l_zenon_label_exercice_tl } {#4} {##1}
        \seq_if_empty:NF \l__zenon_liens_seq
          {
            \hspace { \fill } [ \seq_use:Nn \l__zenon_liens_seq { ,~ } ]
          }
    
        \begin{trivlist}
        \item \relax
      }
    
    \NewDocumentEnvironment { indication } { }
      {
        \__zenon_complement_exo:nnnnn { indication } { Indication }
          { corrige } { corrigé } { indication }
      }
      { \end{trivlist} }
    
    \NewDocumentEnvironment { corrige } { }
      {
        \__zenon_complement_exo:nnnnn { corrige } { Corrigé }
          { indication } { indication } { corrige }
      }
      { \end{trivlist} }
    
    % Les environnements 'indication' et 'corrige' ne seront définis qu'à
    % l'intérieur de l'environnement 'complements-exo'.
    \cs_new_eq:NN \__zenon_indication_real: \indication
    \cs_new_eq:NN \__zenon_corrige_real:    \corrige
    \cs_undefine:N \indication
    \cs_undefine:N \corrige
    
    \ExplSyntaxOff
    
    \begin{document}
    
    \section{Une section}
    
    \begin{exercice}[Riemann]{exo-Riemann}
      \lipsum[1][1-5]
    \end{exercice}
    
    \begin{exercice}{exo-sans-nom}
      \lipsum[2][1-5]
    \end{exercice}
    
    \begin{exercice}{autre-exo-sans-nom}
      \lipsum[4][1-3]
    \end{exercice}
    
    \begin{exercice}[Borel]{exo-Borel}
      \lipsum[2][1-4]
    \end{exercice}
    
    \subsection*{Indications et corrigés}
    
    \begin{complements-exo}{exo-Riemann}
      \begin{indication}
        Une indication (exercice Riemann).
      \end{indication}
    
      \begin{corrige}
        Un corrigé (exercice Riemann). \lipsum[1][1-5]
      \end{corrige}
    \end{complements-exo}
    
    \begin{complements-exo}{autre-exo-sans-nom}
      \begin{corrige}
        Corrigé de l'exercice~\texttt{autre-exo-sans-nom}.
      \end{corrige}
    \end{complements-exo}
    
    \begin{complements-exo}{exo-Borel}
      \begin{indication}
        Une ch'tite indication pour l'exercice d'Émile.
      \end{indication}
    \end{complements-exo}
    
    \section{Une autre section}
    
    \begin{exercice}[Lebesgue]{exo-Lebesgue}
      \lipsum[2-3]
    \end{exercice}
    
    \subsection*{Indications et corrigés}
    
    \begin{complements-exo}{exo-Lebesgue}
      \begin{corrige}
        Corrigé de l'exo sur Lebesgue. \lipsum[1][1-2]
      \end{corrige}
    \end{complements-exo}
    
    \end{document}
    
    Capture d'écran : version papier.112900
  • Merci infiniment Brian et bonne fin de semaine.


    zenon
  • Bonjour Brian. J’ai mis le titre de la section des exercices ainsi que ceux des indications et corrigés dans des boites dont Leurs codes sont donnés ci-dessous.
    Je veux que ces sections (Titres) ne soient pas numérotées dans le texte (comme des titres de paragraphes se trouvant dans la boite) ni dans la table des matières. Par exemple :
    Table des matières
    Chapitre 1
    1.1 Limite projective
    1.2 Catégorie des groupes abélien
    Exercices
    Indications
    Corrigés

    Merci à l'avance pour tes réponses.

    Voici le code des trois boites.
    %boite pour les exercices
    \setlength{\logowidth}{20pt}.
    \begin{bclogo}[margeG=6, margeD=7 , couleur=blue!30, arrondi =0.2 ,  logo =\bcpanchant]{Exercices}%
    \end{bclogo}
    %boite pour les exercices
    \setlength{\logowidth}{20pt}.
    \begin{bclogo}[margeG=6, margeD=7 , couleur=blue!30, arrondi =0.2 ,  logo =\bcpanchant]{Exercices}%
    \end{bclogo}
    
    %boite pour les indications
    \setlength{\logowidth}{28pt}.
    \begin{bclogo}[margeG=6, margeD=6.5 , couleur=blue!30, arrondi =0.2 ,  logo =\bclampe]{Indications}%
    \end{bclogo}
    
    %boite pour les corrigés
    
    \setlength{\logowidth}{28pt}.
    \begin{bclogo}[margeG=6, margeD=6.5 , couleur=blue!30, arrondi =0.2 ,  logo =\bccrayon]{Corrigés}%
    \end{bclogo}
    
  • Bonjour zenon,

    Dans ton premier message, tu disais vouloir « le numéro de la section puis celui de l'exercice », donc $x.y$ avec $x$ le numéro de section et $y$ celui de l'exercice au sein de la section. Si je comprends bien, tu veux remplacer section par chapitre, maintenant ? Auquel cas, il doit être suffisant d'adapter ces deux lignes de ma réponse précédente :
    \newcounter{mtex}[section]
    \renewcommand{\themtex}{\thesection.\arabic{mtex}}
    
    Autre chose : tu as l'air de vouloir les indications pour un exercice donné à un autre endroit que le corrigé. Je m'étais posé la question et avais pris une décision pour gagner du temps dans le cas où ils seraient regroupés. Mauvais choix, apparemment... D'après ce que je vois de ta façon de faire, l'environnement 'complements-exo' ne serait pas souhaitable. Je peux adapter les environnements 'indication' et 'corrige' pour qu'ils puissent être utilisés directement dans le corps du document (notamment, hors de 'complements-exo'). Ils prendront alors chacun en argument le label de l'exercice correspondant. Peux-tu confirmer que c'est bien ce que tu souhaites ?

    Pour les boîtes, je conseillerais de regarder du côté de tcolorbox, mais cela a l'air d'être indépendant de l'objet de ce fil.
  • Il faudrait aussi préciser si les titres Exercices, Indications, Corrigés doivent apparaître en en-tête, et si c'est au même niveau qu'une section (donc au niveau en-dessous de celui des chapitres). Classe book ?
  • Bonjour Brian. Je pense que je me suis mal exprimé. La solution que tu m'as proposée est parfaite. Juste je voulais que dans la page des exercices que le titre de la section soit mis dans une boite et qu'elle ne soit pas numérotée (c'est le titre de la section des exercices qui n'est pas numérotée). Je vais essayer de t'expliquer comment j'ai disposé chaque chapitre et comment je veux qu'ils apparaissent dans la table de matière (si c'est possible).

    Chapitre 1
    section 1.1
    section 1.2
    section 1.3
    Exercices (des trois sections sans)
    Indications
    Corrigé
    Chapitre 2
    section 2.1
    .....

    Dans la page des exercices je veux avoir l'une des deux formes suivantes (la première c'est celle qui me plait le plus).
    Première forme
    Exercice de la section 1
    .....
    Exercice de la section 2

    Deuxième forme

    Exercices
    1.1 soit ....
    1.2. Considérons ....
    ....
    2.1. Supposons que ...
    2.2. On donne la structure .....
    .....

    Je ne sais pas si c'est possible, je pose juste la question si Latex permet cela.

    Merci encore Brian pour tes réponses et bonne journée.

    zenon
  • Je ne vois pas très bien en quoi ce que j'ai dit avant ne correspond pas... ou bien peut-être que tu te fiches des en-têtes (classe article par exemple).

    1) Je te propose de poster un document complet minimal contenant un exemple de la structure que tu souhaites, en précisant en commentaires dans le code là où tu voudrais qu'il n'y ait pas de numéro, qu'il y ait une boîte, etc.

    2) Aura-t-on au final quelque chose comme i1 i2 i3 i4 suivi de c1 c2 c3 c4, plutôt que i1 c1 i2 c2 i3 c3 i4 c4 (i = indication, c = corrigé) ? Mon code précédent était dans l'optique du second choix, bien sûr.
  • Bonjour Brian. Je m'excuse énormément d'avoir mal compris ton message. Effectivement, je veux adapter les environnements 'indication' et 'corrige' pour qu'ils puissent être utilisés directement dans le corps du document (notamment, hors de 'complements-exo'). Et donc ils prendront alors chacun en argument le label de l'exercice correspondant. C'est comme dans les manuels où le corrigé est mis à la fin du volume, tandis que moi je voudrai les mettre à la fin de chaque chapitre, et ce pour les énoncés, les indications et le corrigé, mais sur des pages différentes. Voir le fichier pdf.

    Cependant, il est clair que les numéros des exercices que j'ai mis 1.1, 1.2, etc. doivent être au format que tu m'a donné la dernière fois (les beaux carrés). De plus, dans la table de matière je veux que Exercices, Indications et Corrigé apparaissent sans numérotation au même niveau que les section.
    C'est-à-dire, sous cette forme

    1.1. Généralités

    1.2 Limite

    1.3 Continuité

    Exercices

    Indications

    Corrigé

    En voici un ECM qui m'a permis de produire le fichier pdf selon ce que je veux approximativement car j'ai écrit à la main les détails que je voulais.
    \documentclass[11pt,oneside]{book}
    
    %%%%%%%%%%%%% Geometry
    \usepackage[a4paper,left=2.5cm,right=2.5cm, bottom=2.5cm,top=2.5cm]{geometry}
    
    %%%%%%%%%%%%%%% Les paquets
    \usepackage[tikz]{bclogo}
    \usepackage[french]{babel}
    \usepackage[palette=munch]{nexus}
    
    %%%%%%%%%%%%%%%% hyperref
    \usepackage{lipsum}
    \setlength{\XeTeXLinkMargin}{-1pt}
    %%%%%%%%%%%%%%%%%%%
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%
    
    
    \begin{document}
    
    \include{titlepage}
    
    \tableofcontents
    
    \chapter{Limite et continuité des fonctions à plusieurs variables}
    \section{Généralités}\label{sec1}
    	Blbla bla
    	\newpage 
    \section{Limite}\label{sec2} 
    Blalbla
    \section{Continuité}\label{sec3} 
    \newpage
    \section*{Exercices}
    \subsection*{section \ref{sec1}}
    1.1. Donner les fonctions partielles de  la fonction $f(x,y,z)=x\sin (y^2+z^2)$ au point $(1,2)$.
    
    1.2. 
    
    1.3. 
    \subsection*{section \ref{sec2}}
    2.1. Calculer la limite suivante $\lim_{(x,y,z)\to (1,1,0)}z \sin \left( \dfrac{x}{y-1}\right) $
    
    2.2.  
    
    2.3. 
    \subsection*{section \ref{sec3}}
    2.1. Étudier la continuité de la fonction  $f(x,y)=\left\{\begin{array}{ll}
    \dfrac{\sin (xy)}{xy}	&  xy\neq 0\\
    1	& xy=0
    \end{array}
    \right.$
    
    
    2.2. 
    
    2.3. 
    \newpage
    \section*{Indications}
    \subsection*{section \ref{sec1}}
    1.1. Considérer $x=1$ pour la fonction partielle en $y$ et .....
    
    1.2.
    
    1.3.
    \subsection*{section \ref{sec2}}
    2.1. Utiliser le théorème d'étaut vu à la page ....
    
    2.2.
    
    2.3.
    \subsection*{section \ref{sec3}}
    2.1. Effectuer le changement de varaible $t=xy$ et vérifier que celui-ci est continu. Appliquer alors le théorème  ...de la page ....
    
    2.2.
    
    2.3.
    \newpage
    \section*{Corrigé}
    \subsection*{section \ref{sec1}}
    1.1. On a .....
    
    1.2.
    
    1.3.
    \subsection*{section \ref{sec2}}
    2.1.   On a ....
    
    2.2.
    
    2.3.
    \subsection*{section \ref{sec3}}
    
    3.1.   On a ....
    
    3.2.
    
    3.3.
    
    \end{document}
    

    Merci Brian pour tes réponses et je m'excuse de ne pas avoir bine lu ton avant dernier message.

    Bonne fin de journée.
    test.pdf 182.4K
  • C'est un peu plus compliqué... je propose ceci. Envoie-moi un message privé si tu n'arrives pas à télécharger les attachements (pourquoi ? Que se passe-t-il précisément quand tu essaies ?).112986
    112988
    112990
    112992
    112994
    112996
    112998
  • Merci beaucoup Brian pour ta réponse. Tu as réglé effectivement mon dernier problème. Cependant, je n'arrive pas à télécharger les fichiers.

    Lorsque j'essaie de le faire le message suivant s'affiche:

    «Permission denied: links to files in the forum are only allowed from the forum itself.»

    Et pourtant je me suis connecté au Forum. C'est vraiment bizarre!

    Merci encore de ta précieuse aide.

    zenon
  • En effet, c'est bizarre. Je t'ai envoyé un MP.
  • Je signale que j'ai pu télécharger les fichiers sans aucune difficulté (je suis sous firefox).
  • Bonjour Brian. Je m'excuse pour toutes mes questions. Je viens de terminer mes trois premiers chapitres et je me rends compte que lorsque je fais référence dans le texte à un exercice, il me donne une référence par chapitre et non par section. Par exemple l'exercice 1.3 du chapitre lorsque je me réfère à lui, l'étiquette ne correspond pas, puisque j'ai 2.1.3.

    À cet effet, puisqu'on ne peut pas faire autrement, peut-on changer l'étiquetage des exercices pour qu'il devient en chapitre et non en section. J'ai rencontré certains problèmes sur la table de matière également, mais résoudre un problème à la fois.

    Vraiment désolé de revenir au point de départ.

    zenon
  • Bonjour,

    La commande \refcourteexercice produisait une référence à un exercice non préfixée du numéro de chapitre... Bon. Voici une adaptation du code dans laquelle chaque numéro d'exercice est systématiquement préfixé par le numéro de chapitre. Je l'envoie en aussi MP.113186
  • Merci beaucoup Brian. J'ai également deux problèmes sur la numérotation des chapitres et de la table de matière. Je ne sais pas si c'est permis de continuer sur le même fil. Je tenterai le coup, sinon j'ouvrirai un nouveau sujet. En fait, j'obtiens un décalage dans la numérotation des chapitres (je joins ci-dessous le pdf) et les sous sections ne sont pas numérotées dans la table de matière. J'ai utilisé le préambule minimal suivant:
    \documentclass[11pt,oneside]{book}
    %%%%%%%%%%%%% Geometry
    \usepackage[a4paper,left=2.5cm,right=2.5cm, bottom=2.5cm,top=2.5cm]{geometry}
    
    %%%%%%%%%%%%%%% Les paquets
    \usepackage{lmodern}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}  % non nécessaire depuis environ 2 ans (par défaut)
    %\usepackage[french]{minitoc}
    \usepackage{babel}
    \usepackage[tikz]{bclogo}
    \usetikzlibrary{babel}
    \usepackage{etoolbox}        % pour \newtoggle, \toggletrue...
    \usepackage{xparse}          % non nécessaire à partir de LaTeX 2020-10-01
    \usepackage{refcount}        % pour \IfRefUndefinedBabel
    \usepackage[xparse]{tcolorbox}
    \usepackage{lipsum}          % pour le texte bidon
    \usepackage[user]{zref}
    % 'expand' est nécessaire pour utiliser \GetTitleStringDisableCommands
    \usepackage[expand]{gettitlestring}
    \usepackage[version=4]{mhchem}
    \usepackage[palette=munch]{nexus}
    \usepackage{hyperref}
    \hypersetup{colorlinks=true}
    
    \begin{document}
    
    \tableofcontents
    \include{Chapitres/NYB_Chapitre4_Techniques-Integration}
    \end{document}
    

    J'ai fouillé dans le fichier nexus.sty et je n'ai pas pu comprendre grand chose pour que je puisse voir où est le problème. De plus, je veux que les sous sections soient numérotées dans la table de matière. Je vous remercie à l'avance pour toute suggestion et encore pour la énième fois je te remercie Brian pour tes contributions.

    zenon
  • Pour la numérotation des sous-sections dans la table des matières, il faut probablement mettre quelque chose du genre :
    \setcounter{secnumdepth}{2}
    
    (ou une valeur supérieure) avant \begin{document}, par exemple. Pour le reste, je ne vois pas de décalage dans le fichier PDF joint, mais pour y comprendre quelque chose, il faudrait préparer un exemple complet minimal permettant de reproduire le problème.
  • Merci Brian pour ta réponse. Le décalage est visible au pied de page. Par exemple, à la page 2, on est au chapitre 1, alors qu'au niveau du bas de la page c'est le chapitre A qui est activé. C'est comme on est au chapitre A qui est sensé représenter l'annexe et non un chapitre principal. J'ai mis en fichier attaché, le fichier style nexus où est situé la gestion des chapitres et de la table de matière. Pour la profondeur de la table de matière, j'ai ajouté au préambule avant begin document la commande
    setcounter{secnumdepth}{3}
    


    et aucun changement ne s'est opéré. Ce problème m'inquiète car il me reste à mettre des mini-sommaires dans chaque chapitre et je m'attends à avoir des difficultés à ce niveau.

    Merci encore Brian pour tes interventions éclairantes et bonne fin de journée.
  • Désolé, mais il n'y a pas d'exemple complet minimal ici, donc rien de débuggable pour moi. Dans l'exemple que j'ai posté ci-dessus, en décommentant simplement la ligne
    \usepackage[palette=munch]{nexus}
    
    pour activer nexus.sty, les gros numéros de chapitres mis par ce dernier dans des rectangles colorés sont bien numérotés 1, 2... et non A, B... (cf. première capture d'écran ci-dessous). Tu peux donc partir de mon code et ajouter progressivement ton texte en recompilant à chaque fois que tu ajoutes quelque chose, de façon à ne pas perdre le bon comportement en cours de route.

    Concernant la numérotation dans la table des matières, si elle n'apparaît pas avec ce que j'ai dit, c'est parce que nexus.sty écrase la configuration normale avec son usage du package titletoc. Cela peut être corrigé en repassant derrière comme suit (adaptation à la va-vite du code utilisé par nexus.sty pour les sections ; résultat dans la deuxième capture d'écran ci-dessous) :
    \documentclass{book}
    \usepackage[palette=munch]{nexus}
    \usepackage{hyperref}
    
    \titlecontents{subsection}[1pc]% indentation à gauche
      {\addvspace{5pt}}%
      {\contentslabel[\thecontentslabel]{2pc}\color{black}}%
      {}%
      {\hfill\small\thecontentspage\color{black}}%
      [\addvspace{3pt}]
    
    % Si décommenté, sous-sections non numérotées dans la TOC
    % \setcounter{secnumdepth}{1}
    
    \begin{document}
    
    \tableofcontents
    \chapter{Chap}
    \section{Sec}
    \subsection{Sub}
    \subsection{Other}
    \subsection{Yet another one}
    
    \end{document}
    
    En décommentant la ligne
    \setcounter{secnumdepth}{1}
    
    tu peux vérifier que 'secnumdepth' fonctionne bien comme j'ai dit plus haut.113210
    113212
  • Merci infiniment Brian. Je viens de tester le code selon l'arborescence et depuis le fichier maître et ceci marche parfaitement. Je suis en train de mettre des mini sommaires dans chaque chapitre et je rencontre certains problèmes, mais j'essaierai de les résoudre, sinon j'utiliserai un autre file portant le titre adéquat. Merci encore pour ton aide très précieuse et je te souhaite une bonne fin de semaine, ainsi qu'à tous les utilisateurs du forum.

    zenon
  • Bonjour à tous et je profite de l'occasion pour remercier et saluer Brian qui m'a beaucoup soutenu et aidé pour régler mon problème. Cependant, je remonte ce fil, car j'ai essayé de changer le modèle de livre que je voulais utiliser pour les besoins d'impression. Malheureusement, en changeant le modèle, j'ai certains problèmes qui sont les suivants:

    1. Le numéro de la section des exercices n'apparait pas (apparait sous forme d'un carré noir).
    2. Les accents ne sont pas reconnus seulement au niveau des titres des sections.
    3. Il y a un énorme décalage vertical entre le titre de la table de matière et les éléments de la tables (chapitres et sections).

    Pour Brian, je veux juste anticiper ta question, concernant la raison de changer de modèle. En fait, la plus part de mes étudiants m'ont demandé une version imprimable. Or, j'ai découvert que le modèle nexus n'est pas adapté au recto verso. D'ailleurs lorsque j'ai demandé au créateur de ce modèle, il m'a répondu que ce n'était pas l'objectif pour lequel il a crée ce style!
    \documentclass{Test}
    %\usepackage{babelfr}
    \begin{document}
    
    %\include{titlepage}
    \dominitoc
    \tableofcontents
    
    %\tsbook
    %       {Author Name}
    %       {Cover Designer}
    %       {2017}
    %       {xxxxx}{xxx--xx--xxxx--xx--x}{0.0}
    %       {Publisher}
    %       {City}
    
    %---------------------------------------------------------------------------
    % Chapters
    %---------------------------------------------------------------------------
    
    %---------------------------------------------------------------------------
    
    %---------------------------------------------------------------------------
    \chapter{Limite et continuité (...)}%
    \label{chap-limites-et-continuite}
    
    \section{Généralités}\labelSectionCours{sec1}
    Bla bla.............
    \section{Limite}\labelSectionCours{sec2}
    Bla bla.............
    \section{Continuité}\labelSectionCours{sec3}
    Bla bla.............
    \exercices
    
    \subsection*{Section \ref{sec1}}
    
    \begin{relatif-a-section-cours}{sec1}
      \begin{exercice}[Généralités foo]{exo-generalites-1}
        \lipsum[1][1-5]
      \end{exercice}
    
      \begin{exercice}{exo-generalites-2}
        \lipsum[2][1-2]
      \end{exercice}
    
      \begin{exercice}{exo-generalites-3}
        \lipsum[3][1-3]
      \end{exercice}
    \end{relatif-a-section-cours}
    
    \subsection*{Section \ref{sec2}}
    
    \begin{relatif-a-section-cours}{sec2}
      \begin{exercice}[Limites bar]{exo-limites-a}
        \lipsum[2][1-4]
      \end{exercice}
    
      \begin{exercice}[Limites baz]{exo-limites-b}
        \lipsum[3][1-2]
      \end{exercice}
    
      \begin{exercice}{exo-limites-c}
        \lipsum[3][1-2]
      \end{exercice}
    \end{relatif-a-section-cours}
    
    \subsection*{Section \ref{sec3}}
    
    \begin{relatif-a-section-cours}{sec3}
      \begin{exercice}[Continuité foo]{exo-continuite-foo}
        \lipsum[4][1-2]
      \end{exercice}
    
      \begin{exercice}{exo-continuite-bar}
        \lipsum[6][1-3]
      \end{exercice}
    
      \begin{exercice}[Continuité quux]{exo-continuite-quux}
        \lipsum[5][1-2]
      \end{exercice}
    
      \begin{exercice}{exo-tout-nu}
        \lipsum[12][1-5]
      \end{exercice}
    \end{relatif-a-section-cours}
    
    \indications
    
    \subsection*{Section \ref{sec1}}
    
    \begin{indication}{exo-generalites-1}
      Indications pour l'exercice \texttt{exo-generalites-1}.
    \end{indication}
    
    \begin{indication}{exo-generalites-2}
      Indications pour l'exercice \texttt{exo-generalites-2}.
    \end{indication}
    
    \begin{indication}{exo-generalites-3}
      Indications pour l'exercice \texttt{exo-generalites-3}.
    \end{indication}
    
    \subsection*{Section \ref{sec2}}
    
    \begin{indication}{exo-limites-a}
      Indications pour l'exercice \texttt{exo-limites-a}.
    \end{indication}
    
    \begin{indication}{exo-limites-c}
      Indications pour l'exercice \texttt{exo-limites-c}.
    \end{indication}
    
    \subsection*{Section \ref{sec3}}
    
    \begin{indication}{exo-continuite-bar}
      Indications pour l'exercice \texttt{exo-continuite-bar}.
    \end{indication}
    
    \begin{indication}{exo-continuite-quux}
      Indications pour l'exercice \texttt{exo-continuite-quux}.
    \end{indication}
    
    \corriges
    
    \subsection*{Section \ref{sec1}}
    
    \begin{corrige}{exo-generalites-1}
      Corrigé de l'exercice \texttt{exo-generalites-1}.
    \end{corrige}
    
    \begin{corrige}{exo-generalites-2}
      Corrigé de l'exercice \texttt{exo-generalites-2}.
    \end{corrige}
    
    \begin{corrige}{exo-generalites-3}
      Corrigé de l'exercice \texttt{exo-generalites-3}.
    \end{corrige}
    
    \subsection*{Section \ref{sec2}}
    
    \begin{corrige}{exo-limites-b}
      Corrigé de l'exercice \texttt{exo-limites-b}.
    \end{corrige}
    
    \begin{corrige}{exo-limites-c}
      Corrigé de l'exercice \texttt{exo-limites-c}.
    \end{corrige}
    
    \subsection*{Section \ref{sec3}}
    
    \begin{corrige}{exo-continuite-foo}
      Corrigé de l'exercice \texttt{exo-continuite-foo}.
    \end{corrige}
    
    \begin{corrige}{exo-continuite-quux}
      Corrigé de l'exercice \texttt{exo-continuite-quux}.
    \end{corrige}
    
    Référence à un exercice du chapitre~\ref{chap-autre} :
    exercice~\ref{exo-Lebesgue}.
    
    \chapter{Autre chapitre}%
    \label{chap-autre}
    
    \section{Une section}\labelSectionCours{autre-section}
    \lipsum[1-2]
    
    \exercices
    
    \begin{relatif-a-section-cours}{autre-section}
      \begin{exercice}[Lebesgue]{exo-Lebesgue}
        \lipsum[2]
      \end{exercice}
    \end{relatif-a-section-cours}
    
    \corriges
    
    \begin{corrige}{exo-Lebesgue}
      Corrigé de l'exo sur Lebesgue.
    \end{corrige}
    
    Références à des exercices du chapitre~\ref{chap-limites-et-continuite} :
    exercices~\ref{exo-generalites-2} et~\ref{exo-continuite-quux}.
    



    Le message a été modifié et le fichier classe n'est pas attaché. Merci à Brian qui m'alerté sur la bavure concernant le non respect du copyright.
  • Bonsoir,

    C'est aimablement présenté, mais il faut être sérieux :
    • 733 lignes rien que pour le fichier Test.cls ;
    • ce fichier annonce « Copyright 2016 Typesetters.se » et contient au moins 240 lignes de code non trivial de moi alors qu'on ne m'a jamais demandé de transférer mon copyright. :-X
    J'aurais très volontiers accordé une licence LPPL 1.3+ pour l'utilisation de mon code (ce qui ne nécessite pas de transférer le copyright), mais là, publier tout ça avec la mention « Copyright 2016 Typesetters.se », c'est... tout à fait incorrect. Que feriez-vous si je publiais vos livres en remplaçant votre nom par le mien ?
  • Bonsoir Brian. Je pense qu'il y a un malentendu dans ma présentation ou je n'ai pas compris ton commentaire. Premièrement je suis entrain de tester la classe. En ce qui concerne le copyright, l'utilisation est sous licence libre. J'ai fait des modifications sur le style des sections et sous sections et certaines modifications concernant l'environnement des sommaires de chaque chapitre, et je vais le préciser en commentaire dans la classe et dans l'introduction de mon livre lorsque je réglerai les problèmes rencontrés et finirai l'édition. Pour ton code, dans ma première version du style nexus (qui est presque achevée) j'ai mis en commentaire (devant le code de l'environnement des exercices) ton nom et l'adresse du site dans le fichier classe et des remerciements dans l'introduction en spécifiant ta contribution à cet environnement.

    J'espère que j'ai pu répondre à ta question (si j'ai bien compris ton commentaire).

    Merci pour ta réponse Brian et bonne fin de soirée.

    zenon
  • Je crois volontiers à ta bonne foi, mais ce que tu as publié ci-dessus n'est simplement pas acceptable. Je vais le dire clairement : il y a violation de copyright. Depuis sa publication, quiconque tombe sur ce message et voit l'en-tête du fichier peut légitimement croire qu'il a le droit de le republier tel quel. Cependant, il commettra lui aussi une violation de copyright.

    Cela fait 20 ans que je travaille avec des logiciels libres. J'ai contribué à certains, j'en ai écrit d'autres à partir de zéro, je sais un peu comment ça fonctionne. « Logiciel libre » ne veut pas dire « on peut faire n'importe quoi avec ». « Logiciel libre » ne veut pas non plus dire « domaine public » ni « libre de droits », n'en déplaise aux mauvais journalistes qui se vautrent parfois là-dedans. Tu as publié du code qui commence comme ça :
    %% Copyright 2016 Typesetters.se
    %
    % This work may be distributed and/or modified under the
    % conditions of the LaTeX Project Public License, either version 1.3
    % of this license or (at your option) any later version.
    % The latest version of this license is in
    %   http://www.latex-project.org/lppl.txt
    % and version 1.3 or later is part of all distributions of LaTeX
    % version 2005/12/01 or later.
    
    Il y a là une adresse où tout le monde peut lire le texte de la licence. Si tu ne respectes pas les clauses de cette licence, tu n'as pas le droit de distribuer le code que tu as obtenu sous cette licence (je ne parle même pas du mien vu qu'on ne m'a rien demandé !). Je vais être sympa : tu peux lire le même texte avec un formatage plus agréable ici. Et comme la copyright notice reproduite ci-dessus te donne le droit à “either version 1.3 of this license or (at your option) any later version,” tu peux choisir de te conformer aux termes de la LPPL 1.3c plutôt que ceux de la LPPL 1.3.

    Si tu as le temps et les capacités intellectuelles pour écrire un livre de maths, tu les as pour comprendre ce genre de licence. C'est chiant, je te l'accorde, mais quand on incorpore et/ou modifie du code fourni gratuitement par quelqu'un d'autre, la moindre des choses est de respecter les conditions fixées. Et puis c'est la loi.

    Une fois que tu auras mis fin à la violation de copyright, je pourrais éventuellement t'aider, mais à condition que ce soit “fair.” Pour moi, cela veut dire que tu dois choisir un problème et le ramener à un exemple complet minimal. J'ai des contraintes dans ma vie que tu ignores a priori totalement. Si je dois régulièrement passer $x$ heures sur des bouts de code énormes pour dépanner les gens qui accumulent du code sans le comprendre ne serait-ce que superficiellement — j'espère que ce n'est pas ton cas —, alors :
    1. personne sur le forum n'en bénéficiera à part le demandeur ;
    2. je ne pourrai pas tenir la cadence (eh oui, j'ai mes problèmes à moi dans la vie), donc plutôt que de me sentir régulièrement mal à l'aise à laisser des fils sans réponse, fils où je suis peut-être nommé voire remercié, je devrai me résoudre à ne plus venir du tout.
    Ce n'est pas le but recherché, n'est-ce pas ?
  • Bonjour Brian et merci pour tes explications. C'est vrai que je n'ai pas fait attention que quelqu'un qui est sur le Forum peut le réutiliser sans prendre en considération les sources (en supposant qu'il est d bonne foi). De plus, je comprend que lire et répondre sur le Forum prend beaucoup d'énergie et de temps. J'en ai vécu vis moi-même à une période où j'ai aidé pas mal de doctorants et certains collègues chercheurs pour régler certaines difficultés et des fois je veillais tard pendant plusieurs jours. Je ne vais pas raconter ma vie, mais je comprend très bien que j'ai fais une bavure en laissant le copyright tel qu'il est (absorbé par mes difficulté à résoudre le problème). Pour la longueur du fichier classe, je l'ai laissé tel qu'il était puisque je ne savais pas quelle ligne de code pose problème. Donc je vais essayer d'enlever des lignes de code dont je vois qu'elle ne pose aucun problème lors de la compilation.

    Enfin, je t'accorderai bien qu'au niveau de Latex, j'ai des difficulté à saisir ce que je ne dois pas modifier dans la licence. Par exemple, peut-on modifier le style des sections sans contrevenir aux conditions de l'utilisation de la licence?

    Merci beaucoup Brian et je pense que la majorité sur le forum apprécient énormément ton travail méticuleux et titanesque et comprend que ceci demande une très grande charge de travail.

    Zenon
  • 1) La violation de copyright (pas de licence) dont j'ai parlé, c'est le fait de distribuer ci-dessus ~240 lignes de mon code avec en haut du fichier seulement “Copyright 2016 Typesetters.se”. Je n'ai pas transféré mon copyright à cette entité, donc ceci n'est pas permis. Les deux manières les plus simples de résoudre ça sont :

    (a) Éditer ton message ci-dessus pour supprimer l'attachement Test.tex.

    (b) Éditer ton message ci-dessus pour ajouter une ligne de copyright à l'attachement Test.tex :
    Copyright (C) 2016 Typesetters.se
    Copyright (C) 2020 brian from forum http ://www.les-mathematiques.net/phorum/index.php
    
    (il y a l'adresse complète ; c'est le logiciel du forum qui a transformé ça en lien...)

    La possibilité (b) n'est permise que parce que maintenant, je déclare que le code que j'ai posté dans ce fil est utilisable sous les termes de la licence LPPL 1.3 ou une quelconque version ultérieure de cette licence, au choix de l'utilisateur (il faudrait vérifier que le code en question provient bien de ce fil, mais je suis d'accord pour faire de même avec les autres fils que tu as initiés jusqu'ici dans ce sous-forum LaTeX et où j'ai contribué du code).

    Dans le cas (b), vu que je n'ai pas écrit la totalité du fichier, loin s'en faut, il faudrait aussi mettre des commentaires pour indiquer où commence mon code et où il se termine (s'il y a quelques lignes isolées loin du bloc de ~240 lignes, je m'en tape).

    Ça, c'est pour le respect de mon copyright dans l'état actuel de ce que j'ai vu. Le reste du code n'étant pas de moi, je ne peux pas me prononcer sur ce qu'il convient de faire.

    Si l'intégralité du reste du code est bien “Copyright 2016 Typesetters.se” et distribué sous licence LPPL 1.3+ (le + est une abréviation de la partie “or (at your option) any later version” de la copyright notice = avis de droit d'auteur = le bloc de commentaires en haut de Test.tex), ce n'est pas très compliqué : il suffit de se conformer aux termes de la licence dont j'ai posté l'adresse dans mon message précédent.

    2) Parlons donc un peu de la LPPL 1.3c (je choisis la dernière version puisque tu as le choix « 1.3 ou ultérieur »). Je ne vais pas la traduire mais essayer de pointer/résumer les choses essentielles qui me semblent correspondre à tes interrogations.

    Il faut que tu lises les parties DEFINITIONS et CONDITIONS ON DISTRIBUTION AND MODIFICATION de la licence. Le Base Interpreter sera LaTeX pour ces fichiers-là ; le reste des définitions doit être assez clair (à part peut-être Compiled Work, mais je doute que tu viennes à distribuer un Compiled Work). S'il y a une clause que tu ne comprends pas, tu peux demander. Tous les numéros de clauses dont je parle ici sont à comprendre dans la partie CONDITIONS ON DISTRIBUTION AND MODIFICATION.

    a) Tant que tu gardes les fichiers pour toi, tu en fais ce que tu veux pourvu que tu ne violes pas les lois locales (pays, région...). Voir notamment les clauses 1 et 5.

    b) C'est si tu distribues(*) une œuvre dérivée (Derived Work, que je vais abréger ŒD ici) qu'il faut faire attention. Il faut lire la clause 6 avec ses quatre sous-clauses. En gros :
    1. Si l'ŒD peut remplacer l'œuvre d'origine de manière directe, il ne faut pas, dans ses interactions avec l'utilisateur, qu'elle puisse laisser croire qu'il s'agit de l'œuvre d'origine.
    2. Chaque composant de l'ŒD doit comporter des mentions bien visibles (prominent notices) détaillant la nature des changements apportés à l'œuvre d'origine (pour ce qui est de mon travail, je ne vais pas être emmerdant : une phrase me suffit).
    3. Il ne faut pas que l'ŒD laisse croire aux utilisateurs/récipiendaires qu'ils pourront obtenir du support de ma part (idem évidemment pour les autres auteurs originels de code sous LPPL 1.3 dans le fichier).
    4. Il faut soit distribuer l'œuvre d'origine telle quelle avec l'ŒD, soit fournir un lien vers cette dernière (en simplifiant).
    Tu vois que ces conditions ne modifient en aucune façon ta liberté de changer les styles de section ou que sais-je (sinon, on ne dirait pas que la LPPL est une licence de logiciel libre). Ces conditions se placent sur un autre plan : ne pas créer de confusion entre l'œuvre d'origine et l'ŒD, permettre aux récipiendaires de savoir quelle est l'œuvre d'origine, d'y accéder aisément ainsi qu'à un descriptif de la nature des changements qui y ont été apportés (pour ce qui est de mon code dans le Test.tex ci-dessus, je ne serai pas regardant sur ce dernier point ; s'il a été modifié, je veux que ce soit clair pour celui qui le lit, c'est tout).

    Bonne soirée.

    (*) Ceci inclut le fait de la poster sur un forum, la passer à des collègues, etc.
  • Merci beaucoup pour tes explications Brian. Je voudrai juste préciser que les lignes de code de l'environnement "exercice" c'est entièrement le tien et je n'ai pas modifié quoi que se soit (c'est très loin de mes compétences). De toute façon, comme tu vois le titre de mon fichier est "test", ce qui signifie que je suis entrain de tester différents types de modèles de manuels. Et mon problème et que dès le premier essai, je rencontre un problème au niveau de la numérotation des sections des exercices. Par conséquent, je posterai selon tes recommandations un ECM dans ce fil, lorsque je choisirai définitivement le style qui me convient.

    Merci énormémenet pour tes commentaires éclairés et bonne fin de semaine.

    fin de semaine.

    Zenon
  • Bonjour Brian. J'ai oublié de te demander s'il y avait une possibilité de supprimer mon message où j'ai commis l'erreur de publier le code d'une manière non appropriée. Si c'est le cas, comment puis-je le faire.

    Merci à l'avance pour ta réponse.

    Zenon
  • Bonjour zenon,

    Pas besoin de supprimer tout le message. En bas de ton message, tu dois voir un lien « Modifier le message ». Tu cliques dessus. Au-dessus de la zone de texte, il doit y avoir un bouton pour supprimer l'attachement Test.tex. Tu cliques dessus, puis en-dessous de la zone de texte, tu valides la modification de ton message (après éventuellement avoir ajouté une petite phrase si tu veux expliquer pourquoi il n'y a plus d'attachement) et ça doit être bon.
  • Merci infiniment Brian. Je viens de modifier le message en supprimant le fichier de classe.

    Bonne journée.
  • Bonjour Brian. Je viens de régler le problème. Il me reste un problème que j'ai remarqué dans l'environnement "exercice".
    Dans cet environnement, les choses se présentent comme suit: dans les trois premiers exercices on a:

    Exercice 1.1.1 [Indication, Corrigé]

    Exercice 1.1.2 [Indication, Corrigé]

    Exercice 1.1.3 [Indication, Corrigé]

    Par contre, pour les exercices suivants, on aura seulement la forme suivante:

    Exercice 1.1.4 [Indication] % pas de lien au corrigé

    Exercice 1.1.5 [Corrigé] % pas de lien à l'indication

    Cette constatation est faite chez moi à partir du quatrième exercice ou lorsque je change de section (exercices d'une section qui suit). Mais dans le pdf que tu as réalisé (l'avant dernier pdf), ce problème se voit seulement lorsqu'on arrive à la section 1.2, puisque tu as testé seulement pour trois exercices. Ceci est vrai pour la version numérique ou en papier. Je sais que ce problème t'a pris beaucoup de temps, et donc je n'attend pas une réponse rapide et je comprend très bien.

    Enfin je te remercie infiniment pour la énième fois pour ton soutien pour tous les intervenants de ce forum, ainsi que les autres membres actifs sur celui-ci.

    Merci et bonne journée.
  • Bonjour,

    Merci d'avoir supprimé l'attachement Test.tex plus haut. Je ne peux pas corriger le problème rapporté car je ne peux tout simplement pas le reproduire. J'ai pourtant essayé d'appliquer comme j'ai pu ta recette :
    • je suis parti du dernier exemple complet minimal de ce fil relatif aux environnements 'exercice', 'indication' et 'corrige', exemple que j'ai donné ici ;
    • je lui ai appliqué la modification suivante tout à fait triviale, qui ajoute simplement deux exercices avec corrigé et indication pour chacun, à l'endroit supposé problématique.
    --- avant.tex	2021-06-03 17:00:25.540076354 +0200
    +++ après.tex	2021-06-03 17:03:56.282928965 +0200
    @@ -299,6 +299,14 @@
       \begin{exercice}{exo-generalites-3}
         \lipsum[3][1-3]
       \end{exercice}
    +
    +  \begin{exercice}{exo-generalites-4}
    +    \lipsum[4][1-3]
    +  \end{exercice}
    +
    +  \begin{exercice}{exo-generalites-5}
    +    \lipsum[5][1-3]
    +  \end{exercice}
     \end{relatif-a-section-cours}
     
     \subsection*{Section \ref{sec2}}
    @@ -353,6 +361,14 @@
       Indications pour l'exercice \texttt{exo-generalites-3}.
     \end{indication}
     
    +\begin{indication}{exo-generalites-4}
    +  Indications pour l'exercice \texttt{exo-generalites-4}.
    +\end{indication}
    +
    +\begin{indication}{exo-generalites-5}
    +  Indications pour l'exercice \texttt{exo-generalites-5}.
    +\end{indication}
    +
     \subsection*{Section \ref{sec2}}
     
     \begin{indication}{exo-limites-a}
    @@ -389,6 +405,14 @@
       Corrigé de l'exercice \texttt{exo-generalites-3}.
     \end{corrige}
     
    +\begin{corrige}{exo-generalites-4}
    +  Corrigé de l'exercice \texttt{exo-generalites-4}.
    +\end{corrige}
    +
    +\begin{corrige}{exo-generalites-5}
    +  Corrigé de l'exercice \texttt{exo-generalites-5}.
    +\end{corrige}
    +
     \subsection*{Section \ref{sec2}}
     
     \begin{corrige}{exo-limites-b}
    
    Dans le PDF résultant, les hyperliens relatifs aux exercices ajoutés semblent également corrects. J'attache le fichier .tex complet, ce qui te permettra de vérifier tout cela facilement. Il est dommage que ce soit moi qui doive à chaque fois préparer un exemple complet minimal.

    Concernant la fin de ton message, le fait que l'exercice « Limites baz » étiqueté 'exo-limites-b' à la section 1.2 n'ait qu'un corrigé et pas d'indication est tout ce qu'il y a de plus normal, puisqu'aucun environnement 'indication' n'a été écrit pour cet exercice ! C'est une fonctionnalité de mon code que de permettre d'avoir éventuellement certains exercices sans corrigé ou sans indication, et de ne pas produire d'hyperliens pointant vers rien du tout le cas échéant. Il suffit évidemment d'ajouter ceci :
    \begin{indication}{exo-limites-b}
      Indications pour l'exercice \texttt{exo-limites-b}.
    \end{indication}
    
    et de compiler deux fois pour voir apparaître l'indication relative à cet exercice (cf. deuxième capture d'écran). C'était précisément afin de tester les différents cas possibles que je n'avais pas mis dans mon ECM ci-dessus d'indication pour l'exercice étiqueté 'exo-limites-b'.123324
    123326
  • Peut-être fallait-il simplement compiler une fois de plus en raison des références croisées ?
  • Merci infiniment Brian. Je viens de le tester et ceci marche à merveille. Je m'excuse de ne pas voir mis un EDM. En fait je me suis dit que dans ton précédent code, il y avait déjà un EDM. Une dernière chose Brian, je voulais savoir quel est le paramètre, dans ton code, qui contrôle le décalage de la boite des numéros, de la boite de l'image pour les exercices, indications et corrigé. Parce que, j'ai remarqué en utilisant d'autres classes, que l'alignement change en fonction de la classe book ou memoire.

    Enfin, je te souhaite une belle fin de journée.

    zenon
  • Bonsoir,

    On parle bien de position horizontale ?

    La boîte comportant le numéro d'un exercice est produite par \zenon_mtexlabel:nnn :
    \cs_new_protected:Nn \zenon_mtexlabel:nnn
      {
        \makebox[0pt][r]
          {
            \raisebox { #1\baselineskip } [0pt] [0pt] { \cadrexo [#3] {#2} \quad }
          }
      }
    
    Il y a donc un \quad (espace de largeur 1em) entre le bord droit de ladite boîte et la marge gauche. Tu peux remplacer \quad par une commande \hspace de ton choix.

    Quant à la boîte contenant l'image affichée au début d'une section « spéciale »... ben, il suffit de suivre le code des macros. On part de là :
    \NewDocumentCommand \exercices { }
      { \sectionSpeciale [bc-aux-301] [colback=yellow!75!orange] { Exercices } }
    
    \NewDocumentCommand \indications { }
      { \sectionSpeciale [bc-lampe] { Indications } }
    
    \NewDocumentCommand \corriges { }
      { \sectionSpeciale [bc-crayon] { Corrigés } }
    
    'bc-aux-301', 'bc-lampe' et 'bc-crayon' sont les noms d'images fournies par bclogo, telles que livrées dans les distributions TeX actuelles. Il faut donc aller voir \sectionSpeciale :
    \NewDocumentCommand \sectionSpeciale { o O{} m }
      {
        \maybeNewpage
        \section* { \IfValueT {#1} { \__zenon_insere_icone:nn  {#2} {#1} } #3 }
        (...)
      }
    
    Il s'ensuit que si un nom d'image est passé en argument optionnel #1, \sectionSpeciale insère \__zenon_insere_icone:nn {#2} {#1} au début du titre de la \section*. On va donc voir \__zenon_insere_icone:nn :
    \cs_new_protected:Npn \__zenon_insere_icone:nn #1#2
      {
        \makebox[0pt][r]
          {
            \raisebox { -0.9ex }
              {
                \boiteSectionSpeciale[#1] { \includegraphics [height=3ex] {#2} }
              }
            \skip_horizontal:n { 0.6em }
          }
      }
    
    C'est à peu près comme tout à l'heure dans \zenon_mtexlabel:nnn, juste structuré un peu différemment. Le bord droit de la boîte produite par \boiteSectionSpeciale est séparé par un \skip_horizontal:n { 0.6em } de l'endroit où débute le titre de la \section*. \skip_horizontal:n, c'est l'équivalent expl3 du \hskip de TeX. Le \hspace dont j'ai parlé au-dessus est aussi un \hskip avec quelques broutilles en plus (gestion du cas \hspace* et petit truc pour permettre au package calc de fonctionner sans avoir à redéfinir plein de commandes LaTeX).
  • Merci encore beaucoup beaucoup Brian. La seule chose que je puisse faire pour toi, malheureusement, est de te remercier.

    Bonne fin de soirée.

    zenon
  • Bonjour Brian. Encore moi avec les questions sur l'environnement exercices. J'ai voulu créer un environnement de problèmes récapitulatifs et d'approfondissement à la fin de chaque chapire, en suivant ton brillant code que tu m'a proposé dans ce fil. Hélas, je me suis rendu compte que ce n'est pas aussi facile pour un néophyte comme moi, puisque les problèmes seront numérotés et ils font référence à toutes les sections, ce qui pose un pépin au niveau du renvoi aux numéros des problèmes. Peut être que la solution est facile, cependant pour mon niveau assez médiocre en Latex, je ne vois comment procéder.

    Plus préciséement, je veux avoir à la fin de chaque chapitre, après celui des exercices une section non numérotée dédiée aux problèmes récapitulatifs qui se présente comme suit: chaque problème est numéroté par l'ordre numérique :1, 2,..... et mis dans des boites comme pour celui des exercices. Par ailleurs, les environnements indications et corrigé peuvent être gérés comme ceux de l'environnement exercices.

    En gros, l'environnement se présénte comme suit:
    Exercices

    Problèmes récapitulatifs

    1. % contenu du problème 1

    2. % contenu du problème 1


    Indications sur les exerices

    1. % indication pour le problème 1

    2. % indication pour le problème 2

    Corrigés

    1. % corrigé du problème 1

    2. % corrigé du problème 2

    Merci à l'avance pour tes réponses Brian et bonne fin de journée à tous.
  • Bonjour,

    Je ne comprends pas bien si les indications (resp. les corrigés) relatives aux problèmes récapitulatifs doivent être fusionnées avec celles relatives aux exercices. Dans le dernier code complet, donné ici, on avait la table des matières ci-dessous. Que deviendrait-elle après les changements souhaités ?124844
    TDM.png 50.9K
  • Bonjour Brian et merci beaucoup pour ta réponse. Effectivement, je veux que les indications et corrigés des problèmes récapitulatifs soient fusionnés avec ceux des exercices dans la table de matière. Par contre, si possible, les exercices et les problèmes récapitulatifs seront séparés dans la table de matière . C'est-à-dire, quelque chose comme suit:

    Chapitre 1

    1.1 Section 1
    1.2 Section 2
    1.3 Section 3
    Exercices
    Problèmes récapitulatifs
    Indications % pour les exercices et les problèmes récapitulatifs
    Corrigés % Idem

    Par ailleurs, je ne sais pas si c'est lié à ce que je demande ici, je suis entrain d'entreprendre de faire des projets intégrateurs pour les étudiants pour la session d'hiver (à partir de février) et je veux les intégrer (les énoncées de projets) à des emplacements (après celui des exercices et problèmes récapitulatifs) dans certains chapitres. Ce qui donnerait pour certains chapitres la forme suivantes dans la table de matières comme suit:


    Chapitre 2

    2.1 Section 1
    2.2 Section 2
    Exercices
    Problèmes récapitulatifs
    Indications % pour les exercices et les problèmes récapitulatifs
    Corrigés % Idem
    Projets intégrateurs
    Indications méthodologiques % pour les projets intégrateurs
    Esquisse de solution % Idem



    Si ce dernier élément te demande de changer beaucoup de chose, tu peux l'oublier et actuellement j'ai besoin seulement que de l'environnement des problèmes récapitulatifs tels que spécifié plus haut. Merci encore à l'avance Brian pour tes réponses et bonne fin de journée.

    zenon
  • Je ne considère que la première question pour l'instant, car il y a encore des zones d'ombres. Prenons par exemple les exercices de la section 2 du chapitre 1. Ces exercices sont numérotés 1.2.1, 1.2.2, 1.2.3, etc. ; ce sont ces numéros qui figurent dans la marge dans les sections dédiées aux indications et aux corrigés et permettent de savoir à quel exercice se rapporte telle indication ou tel corrigé.

    Comment les problèmes récapitulatifs de la section 2 du chapitre 1 doivent-ils être numérotés ? Si l'on reprend la numérotation 1.2.1, 1.2.2, 1.2.3, ..., cela risque fort de semer la confusion, d'autant plus que tu souhaites fusionner exercices et problèmes récapitulatifs dans les sections dédiées aux indications et aux corrigés.

    Il y a au moins deux possibilités : un préfixe particulier pour les problèmes récapitulatifs (P1.2.1, P1.2.2, P1.2.3) ou des lettres (1.2.A, 1.2.B, 1.2.C, voire 1.2.$\alpha$, 1.2.$\beta$, etc. ;-))
  • Merci Brian pour ta réponse rapide. En fait, les problèmes récapitulatifs touchent le contenu du chapitre tout entier, et ne se rapportent pas nécessairement à une section donnée. C'est pour cette raison que je cherche, si possible, que la numérotation se rapporte seulement au chapitre, selon l'idée que tu viens de proposer dans ce dernier message, à savoir pour le chapitre 1 par exemple P.1.1, P1.2, etc. Plus préciséement l'environnement des problèmes récapitulatifs se présente comme suit, par exemple pour le chapitre 2:

    Problèmes récapitulatifs % du chapitre 2

    P2.1 % Problème 1 du chapitre 2
    P2.2 % Problème 2 du chapitre 2
    P2.3 % Problème 3 du chapitre 2

    Désolé encore une fois, si je n'éttais pas clair dans mes deux derniers messages ou dans celui-ci.

    Merci Brian et bonne fin de soirée.

    zenon
  • Ah oui, je comprends mieux (le mot « récapitulatif » n'est pas là que pour faire joli ;-)). Je vais regarder ça demain ou après-demain, a priori. Bonne nuit !
Connectez-vous ou Inscrivez-vous pour répondre.
Success message!