Fin de chapitre

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Fin de chapitre

Messagepar stef59 » Lundi 26 Août 2013, 14:48

Bonjour à tous,

la commande \AtEndDocument permet de placer un élément automatiquement à la fin du document.

Je cherche une commande du même style qui place l'argument souhaité en fin de chapitre. Visblement \AtEndChapter n'existe pas...

Quelqu'un sait si une telle commande existe ? Ou sinon, comment la réaliser ?


Merci beaucoup.
stef59
Utilisateur
 
Messages: 9
Inscription: Mercredi 03 Juillet 2013, 16:18
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: Fin de chapitre

Messagepar pg » Mardi 27 Août 2013, 14:24

Une telle commande n'est pas possible car seul le début de chapitre est marqué (par \chapter). On peut par contre mettre quelque chose au début du chapitre suivant. Il faut par contre marquer la fin du dernier chapitre à la main. L'exemple suivant rajoute $***$ à la fin de chaque chapitre.

Code: Tout sélectionner
\documentclass{book}

\usepackage{lipsum}% texte bidon

\newcommand{\EndChapter}{}
\newcommand{\AtEndChapter}[1]{%
  \renewcommand{\EndChapter}{#1}%
}

\makeatletter
\let\original@chapter\chapter
\def\@first@chapter{1}
\renewcommand{\chapter}{%
  \ifnum\@first@chapter=1 \gdef\@first@chapter{0}\else\EndChapter\fi
  \original@chapter}
\makeatother

\AtEndChapter{\centerline{$***$}}

\begin{document}

\chapter{Titre}

\lipsum

\chapter{Titre}

\lipsum

\chapter{Titre}

\lipsum

\chapter{Titre}

\lipsum

\EndChapter % obligatoire pour le dernier chapitre

\end{document}
pg
Modérateur
 
Messages: 2590
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Fin de chapitre

Messagepar stef59 » Mardi 27 Août 2013, 14:51

Merci beaucoup pour la réponse, je vais essayer cela :)
stef59
Utilisateur
 
Messages: 9
Inscription: Mercredi 03 Juillet 2013, 16:18
Statut actuel: Actif et salarié | Enseignant

Re: Fin de chapitre

Messagepar touhami » Jeudi 29 Août 2013, 00:22

Il y a le petit problème des flottants
Code: Tout sélectionner
\documentclass{book}

\usepackage{lipsum}% texte bidon

\newcommand{\EndChapter}{}
\newcommand{\AtEndChapter}[1]{%
  \renewcommand{\EndChapter}{#1}%
}

\makeatletter
\let\original@chapter\chapter
\def\@first@chapter{1}
\renewcommand{\chapter}{%
  \ifnum\@first@chapter=1 \gdef\@first@chapter{0}\else\EndChapter\fi
  \original@chapter}
\makeatother

\AtEndChapter{\centerline{$***$}}

\begin{document}

\chapter{Titre}

\lipsum
\begin{table}
\begin{tabular}{|c|c|c|c|}
\hline 1 & 2& 3 & 4 \\
\hline 5 & 6 &7 & 8 \\
\hline
\end{tabular}
\caption{test}
\end{table}

\chapter{Titre}

\lipsum

\chapter{Titre}

\lipsum

\chapter{Titre}

\lipsum

\EndChapter % obligatoire pour le dernier chapitre

\end{document}
touhami
Méga-utilisateur
 
Messages: 393
Inscription: Dimanche 11 Février 2007, 11:45
Statut actuel: Post-bac

Re: Fin de chapitre

Messagepar pg » Jeudi 29 Août 2013, 10:42

Quel problème exactement ? J'obtiens bien le tableau en haut de la page et les $***$ juste après le texte.
pg
Modérateur
 
Messages: 2590
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Fin de chapitre

Messagepar touhami » Jeudi 29 Août 2013, 12:53

Je m'excuse le problème se produit avec
Code: Tout sélectionner
\documentclass{book}

\usepackage{lipsum}% texte bidon

\newcommand{\EndChapter}{}
\newcommand{\AtEndChapter}[1]{%
  \renewcommand{\EndChapter}{#1}%
}

\makeatletter
\let\original@chapter\chapter
\def\@first@chapter{1}
\renewcommand{\chapter}{%
  \ifnum\@first@chapter=1 \gdef\@first@chapter{0}\else\EndChapter\fi
  \original@chapter}
\makeatother

\AtEndChapter{\centerline{$***$}}

\begin{document}

\chapter{Titre}

\lipsum[1]
\begin{table}
\begin{tabular}{|c|c|c|c|}
\hline 1 & 2& 3 & 4 \\
\hline 5 & 6 &7 & 8 \\
\hline
\end{tabular}
\caption{test}
\end{table}

\chapter{Titre}

\lipsum

\chapter{Titre}

\lipsum

\chapter{Titre}

\lipsum

\EndChapter % obligatoire pour le dernier chapitre

\end{document}

avec
\lipsum[1]
touhami
Méga-utilisateur
 
Messages: 393
Inscription: Dimanche 11 Février 2007, 11:45
Statut actuel: Post-bac

Re: Fin de chapitre

Messagepar pg » Jeudi 29 Août 2013, 13:13

Dans ce cas, le $***$ est juste après la fin du chapitre et le tableau est en bas. Je considérerai cela comme le comportement normal (les flottants ne font pas partie du texte), mais si on veut que la marque de fin de chapitre soit après les flottants, une possibilité est d'utiliser une \FloatBarrier du package placeins :

Code: Tout sélectionner
\documentclass{book}

\usepackage{lipsum}% texte bidon

\usepackage{placeins}

\newcommand{\EndChapter}{}
\newcommand{\AtEndChapter}[1]{%
  \renewcommand{\EndChapter}{\FloatBarrier#1}%
}

\makeatletter
\let\original@chapter\chapter
\def\@first@chapter{1}
\renewcommand{\chapter}{%
  \ifnum\@first@chapter=1 \gdef\@first@chapter{0}\else\EndChapter\fi
  \original@chapter}
\makeatother

\AtEndChapter{\centerline{$***$}}

\begin{document}

\chapter{Titre}

\lipsum[1]

\begin{table}\centering
\begin{tabular}{|c|c|c|c|}
\hline 1 & 2& 3 & 4 \\
\hline 5 & 6 &7 & 8 \\
\hline
\end{tabular}
\caption{test}
\end{table}

\chapter{Titre}

\lipsum

\chapter{Titre}

\lipsum

\chapter{Titre}

\lipsum

\EndChapter % obligatoire pour le dernier chapitre

\end{document}


Dans cet exemple, le $***$ se retrouve alors sur la page suivant le tableau flottant.
pg
Modérateur
 
Messages: 2590
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Fin de chapitre

Messagepar marco56 » Jeudi 29 Août 2013, 13:26

Ou plus simple mais cela ne conviendra sans doute pas aux puristes : ajouter un environnement tablehere pour fixer le tableau.
On peut faire la même chose avec figurehere.

Code: Tout sélectionner
    \documentclass{book}

    \usepackage{lipsum}% texte bidon


    \newcommand{\EndChapter}{}
    \newcommand{\AtEndChapter}[1]{%
      \renewcommand{\EndChapter}{#1}%
    }

    \makeatletter
   
    \newenvironment{tablehere}
    {\def\@captype{table}}
    {}

    \let\original@chapter\chapter
    \def\@first@chapter{1}
    \renewcommand{\chapter}{%
      \ifnum\@first@chapter=1 \gdef\@first@chapter{0}\else\EndChapter\fi
      \original@chapter}
    \makeatother

    \AtEndChapter{\centerline{$***$}}

    \begin{document}

    \chapter{Titre}

    \lipsum[1]
    \begin{tablehere}
    \begin{center}
    \begin{tabular}{|c|c|c|c|}
    \hline 1 & 2& 3 & 4 \\
    \hline 5 & 6 &7 & 8 \\
    \hline
    \end{tabular}
    \end{center}
    \caption{test}
    \end{tablehere}

    \chapter{Titre}

    \lipsum

    \chapter{Titre}

    \lipsum

    \chapter{Titre}

    \lipsum

    \EndChapter % obligatoire pour le dernier chapitre

    \end{document}
marco56
Giga-utilisateur
 
Messages: 718
Inscription: Jeudi 25 Novembre 2010, 22:10
Statut actuel: Actif et salarié | Enseignant

Re: Fin de chapitre

Messagepar pg » Jeudi 29 Août 2013, 13:39

Qu'y aurait-il de choquant ? Si on ne veut pas qu'un tableau flotte, il est normal de ne pas le faire flotter.
pg
Modérateur
 
Messages: 2590
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Fin de chapitre

Messagepar marco56 » Jeudi 29 Août 2013, 18:23

J'imaginais qu'on me dirait que les tableaux flottants, c'était l'esprit de LaTeX...
marco56
Giga-utilisateur
 
Messages: 718
Inscription: Jeudi 25 Novembre 2010, 22:10
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot], Google Adsense [Bot], Proximic [Spider] et 30 invités