J'utilise le package answers et j'aimerais afficher dans le chapitre des corrigés le nom dudit chapitre.

La commande \thechapter permet de récupérer le bon numéro du chapitre ; mais comment récupérer son nom ? \leftmark renvoie le nom et numéro du chapitre contenant les corrigés...

Voici un exemple minimal :

Ouvrir dans l'éditeur
\documentclass[a4]{book}

\usepackage{answers}
\Newassociation{solution}{Solution}{ans}

\newcounter{exercice}[chapter]
\newenvironment{exercice}[1][]
{\refstepcounter{exercice}\textbf{Exercice \arabic{exercice}}}

\begin{document}
\tableofcontents

\chapter{Matrices}

\Opensolutionfile{ans}[ans-matrices]
\Writetofile{ans}{\protect\section{Corrections du chapitre \thechapter}}
\Writetofile{ans}{\protect\leftmark devrait etre "Matrices"}
\begin{exercice} 
  Calculer $A^3$
  \begin{solution}
     On trouve : $A^3=A$
  \end{solution}
\end{exercice}
\Closesolutionfile{ans}

\chapter{Th de Fermat}

\Opensolutionfile{ans}[ans-fermat]
\Writetofile{ans}{\protect\section{Corrections du chapitre \thechapter}}
\Writetofile{ans}{\protect\leftmark devrait etre "Th de Fermat"}

\begin{exercice}
  Donner une autre preuve que celle de Wiles
  \begin{solution}
    Pas la place ici...
  \end{solution}
\end{exercice}
\Closesolutionfile{ans}

\chapter{Corrections}

\include{ans-matrices}
\include{ans-fermat}

\end{document}

Posée 17 Fév '16, 00:32

rboulle's gravatar image

rboulle
1351611
Taux d'acceptation : 0%

Modifiée 17 Fév '16, 00:58

Pathe's gravatar image

Pathe ♦♦
7.5k42203251


Il suffit de recourir au package nameref et à sa commande éponyme dont l'argument est le label du chapitre dont le titre est à afficher.

Dans l'ECM suivant, j'ai supprimé l'option a4 en fait inutilisée (il est préférable de recourir au package geometry avec l'option a4paper) et ai proposé une solution plus simple et plus robuste pour les exercices, basée sur la commande \newtheorem (plus de détails à ce sujet par exemple ici, transparents 125 à 142).

Ouvrir dans l'éditeur
\documentclass{book}
\usepackage{nameref}

\usepackage{answers}
\Newassociation{solution}{Solution}{ans}

% \newcounter{exercice}[chapter]
% \newenvironment{exercice}[1][]
% {\refstepcounter{exercice}\textbf{Exercice \arabic{exercice}}}

\newtheorem{exercice}{Exercice}

\begin{document}
\tableofcontents

\chapter{Matrices}\label{matrices}

\Opensolutionfile{ans}[ans-matrices]
\Writetofile{ans}{\protect\section{Corrections du chapitre \thechapter{} (\nameref{matrices})}}
\begin{exercice}
  Calculer $A^3$
  \begin{solution}
     On trouve : $A^3=A$
  \end{solution}
\end{exercice}
\Closesolutionfile{ans}

\chapter{Th de Fermat}\label{fermat}

\Opensolutionfile{ans}[ans-fermat]
\Writetofile{ans}{\protect\section{Corrections du chapitre \thechapter{} (\nameref{fermat})}}

\begin{exercice}
  Donner une autre preuve que celle de Wiles
  \begin{solution}
    Pas la place ici...
  \end{solution}
\end{exercice}
\Closesolutionfile{ans}

\chapter{Corrections}

\include{ans-matrices}
\include{ans-fermat}

\end{document}
Lien permanent

Publiée 17 Fév '16, 13:04

denis's gravatar image

denis ♦♦
7.3k1510
Taux d'acceptation : 53%

Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.