Comportement erratique avec un nouvel environnement

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.

Comportement erratique avec un nouvel environnement

Messagepar Fabrice Couvreur » Vendredi 27 Juillet 2012, 18:57

Bonsoir,
L'idée de départ est de refaire mes cours de Seconde (pour commencer !) sous la forme d'un livre. J'ai créé un environnement où les définitions et les propriétés comportent un filet horizontal "en haut et en bas". Tout fonctionne, excepté pour la première définition : le filet horizontal est manquant et il n'y a pas le premier retour à la ligne. Cela est probablement lié à l'utilisation de itemize, mais je ne sais pas pourquoi.
Autres questions :
- Peut-on redéfinir la numérotation des sections, sous-sections... afin que celle-ci soit indépendante de la numérotation du chapitre ?
Par exemple, pour le fichier ci-dessous, je préférerais ceci :

1. Ensembles de nombres
2. Intervalles de R
2.1 Comprendre la notion d'intervalle
.......
Est-ce souhaitable ou plutôt déconseillé ?

- Quelle est la fonte libre la plus utilisée pour rédiger un livre scientifique (je sais, les goûts et les couleurs ...) ?

- Faut-il ajouter le titre du chapitre dans l'entête ? (Sachant que j'y ai déjà indiqué le numéro des pages.)
Code: Tout sélectionner
\documentclass[11pt,a4paper]{book}
\usepackage{etex}
\usepackage[margin=1.5cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{kpfonts}
\usepackage{amsfonts,amssymb,amsmath,amsthm,mathrsfs}
\usepackage{pstricks}
\usepackage{array}
\usepackage[frenchb]{babel}
\usepackage{quotchap}
\usepackage[tight]{minitoc}
\dominitoc
\doparttoc
\setlength{\mtcindent}{0pt}
\renewcommand{\mtcfont}{\small}
\renewcommand{\mtcSfont}{\small\bfseries}
\renewcommand{\mtcSSfont}{\small}
\renewcommand{\mtctitle}{Sommaire}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyfoot{}
\fancyhead[RO,LE]{\thepage}
\renewcommand*{\hrulefill}[1][0.3mm]{\leavevmode \leaders \hbox to 1pt{\rule{1pt}{#1}} \hfill \kern 0pt}
\newtheoremstyle{env}{}{}{\itshape}{}{\bfseries}{\enspace\hrulefill[0.5pt]}{\newline}{}
\theoremstyle{env}
\newtheorem{pro}{Propri\'et\'e}
\newtheorem{defi}{D\'efinition}
\newenvironment{presentation}[1]{\begin{#1}\def\closePres{#1}}{\expandafter\end\expandafter{\closePres}\noindent\rule{1.0\linewidth}{0.5pt}}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\newcommand{\intervalleff}[2]{[#1\,;#2]}
\newcommand{\intervalleof}[2]{\mathopen{]}#1\,;#2]}
\newcommand{\intervallefo}[2]{[#1\,;#2\mathclose{[}}
\newcommand{\intervalleoo}[2]{\mathopen{]}#1\,;#2\mathclose{[}}           
\begin{document}
\chapter{Généralités sur les fonctions}
\minitoc
\faketableofcontents
\thispagestyle{empty}
\section{Ensembles de nombres}
\begin{presentation}{defi}
\renewcommand{\labelitemi}{$\bullet$}
\begin{itemize}

\item L'ensemble des nombres entiers naturels est noté $\mathbb{N}$.

$\mathbb{N}=\left\{0\,; 1\,; 2\,; 3\,; 4 \ldots\right\}$.

\item L'ensemble des nombres entiers relatifs est noté $\mathbb{Z}$.

$\mathbb{Z}=\left\{\ldots -3\,; -2\,; -1\,; 0\,; 1\,; 2\,; 3 \ldots\right\}$.

\item L'ensemble des nombres décimaux est noté  $\mathbb{D}$.

$\mathbb{D}$ est l'ensemble des nombres qui peuvent s'écrire avec un nombre fini de chiffres après la virgule.
\item  L'ensemble des nombres rationnels est noté  $\mathbb{Q}$.


$\mathbb{Q}$ est l'ensemble des nombres qui peuvent s'écrire sous la forme d'un quotient  $\frac{a}{b}$ avec $a$ un entier et $b$ un entier non nul.

\item L'ensemble des nombres réels est noté  $\mathbb{R}$.

$\mathbb{R}$ est l'ensemble de tous les nombres que nous utiliserons.
\end{itemize}
\end{presentation}
\begin{presentation}{pro}
  Tous les éléments de $\mathbb{N}$ appartiennent à $\mathbb{Z}$ : on dit que $\mathbb{N}$ est inclus dans $\mathbb{Z}$. On note $\mathbb{N}\subset\mathbb{Z}$. On a donc aussi les inclusions suivantes :
\[\mathbb{N}\subset\mathbb{Z}\subset\mathbb{D}\subset\mathbb{Q}\subset\mathbb{R}.\] 
\end{presentation}
\section{Intervalles de $\mathbb{R}$}
\subsection{Comprendre la notion d'intervalle}
\footnote{D'après METHOD'S, mathématiques Seconde}Quand vous sortez d'une évaluation de Mathématiques (notée sur 20), que vous estimez avoir raté, vous vous dîtes : \og{} Alors là, impossible que j'ai la moyenne !\fg{}, cela signifie en fait qu'en terme {\bfseries d'intervalle}, votre note sera, selon vous, comprise dans {\bfseries l'intervalle} $\intervallefo{0}{10}$.

En revanche, lorsque vous sortez de l'interrogation confiant, en étant sûr d'avoir au moins quinze, cela signifie que votre note sera probablement dans {\bfseries l'intervalle} $\intervalleff{15}{20}$.
\begin{presentation}{defi}
 L'ensemble des nombres réels compris, au sens large, entre deux nombres a et b est noté $ \intervalleff{a}{b}$. C'est un {\bfseries intervalle} qui désigne ici tous les nombres réels x tels que  $a\leqslant x\leqslant b$.
\end{presentation}
\subsection{Intersection et réunion}
\begin{presentation}{defi}
L'\textbf{intersection} de deux ensembles A et B est l'ensemble des éléments qui appartiennent à A \textbf{et} à B. On note cette intersection $A\cap {B}$. 
\end{presentation}
\begin{presentation}{defi}
La \textbf{réunion} de deux ensembles A et B est l'ensemble des éléments qui appartiennent à A \textbf{ou} à B. On note cette réunion $A\cup {B}$. 
\end{presentation}
\section{Notion de fonction}
\subsection{Fonctions}
L'ensemble des nombres que nous utilisons est l'ensemble des nombres réels $\mathbb{R}$.
\begin{presentation}{defi}
$\mathscr{D}$ est une partie de l'ensemble des nombres réels  $\mathbb{R}$. Définir une fonction $f$ sur $\mathscr{D}$, c'est associer à tout nombre réel $x$ de $\mathscr{D}$ un unique nombre réel, noté $f(x)$.
\end{presentation}
\end{document}

Merci.
Dernière édition par Fabrice Couvreur le Mardi 31 Juillet 2012, 16:09, édité 3 fois.
Fabrice Couvreur
Giga-utilisateur
 
Messages: 594
Inscription: Samedi 18 Août 2007, 00:55

Publicité

Re: Comportement erratique avec un nouvel environnement

Messagepar rebouxo » Vendredi 27 Juillet 2012, 22:47

Voilà un travail important cet été !

Je ne suis pas allé voir la définition de ton environnement, pg trouvera certainement le problème. Pour tout te dire je ne comprends ce que doit faire \closePres, ni d'ailleurs pourquoi tu la définies avec un argument et que tu l'appelles sans argument.

Une chose est sûre. \newenvironment dans le deuxième argument, c'est ce qui se passe à la fin de ton environnment. Donc, lorsqu'il est fermé. Cela me semble moral que le premier environnement merdouille, puisque tu n'as pas encore fermé celui-ci. En mettant, le \noindent et le \rule dans ce qui doit être fait à l'ouverture (soit le premier argument), ça marche©. J'ai deux trais mais c'est peut-être voulu. Par contre si quelqu'un veut bien m'expliquer le mystère \closePres.

Pour la numérotation des sections et leurs customisation, va voir du côté de titlesec, bien qu'un renewcommand de \thesection fonctionnera (mais aura des effets de bords dans la table des matières, il me semble). La présentation, ben c'est un peu comme tu veux, puisque tu es le seul maître à bord. Je doute qu'il y ait des normes de présentation meilleure que d'autre, juste des habitudes.

Pour la question des fontes : I'have no fucking idea what is the fucking free font most used (désolé, je répète mon anglais pour les vacances). C'est pareil, enfin tu évites arial. Par contre, je pense que tu n'as pas assez laissé de marges et comme ton exemple n'est pas complet, on ne sait pas quelle taille de police tu prends. Une règle qui semble bien partagée est d'avoir entre 60 et 80 mots par ligne. Donc, il faut jouer avec les marges... De plus si c'est destiné aux élèves, peut-être que prendre des notes dessus est une bonne idée ? Des fois que tu es le petit Pierre de Beaumont-sur-Lomagnes dans ta classe :D . Il faut lui laisser de la place pour écrire ses démonstrations.

Pour l'en-tête, j'aurais tendance à dire oui. Je trouve que c'est bien pratique pour naviguer dans un livre.
Je serais toi, je ferais des macros pour les ensembles, comme cela tu pourras facilement changer de façon de noter. J'y ai vu des trucs qui moi me gènes : $a$ et $b$ sont des bornes d'intervalles, donc, $a$ et $b$ doivent toujours être en mode maths. Ça c'est très gênant, car ils n'ont pas la même graphie suivant le cas.

Je suis partagé sur l'utilité d'un tel chapitre. Tu en as parlé, OK. Qu'est-ce que les élèves en auront retenu ? Je pense pas grand chose. Si peut-être les $\N$ et $\Z$. Et encore. Bon, d'un autre côté que quoi a-t-on besoin ? Des rationnels ? En parle-t-on spécifiquement en seconde ? Moi, j'ai rien vu de tel. Alors, oui on a besoin de savoir ce qu'est un réel (et encore...). Mais tu serais surpris de ce que recouvre ta définition pour les élèves. Peut-être en parlant de développement infini (au minimum) et en donnant des exemples ($\pi$, $\sqrt{2}$... D'un autre côté Rome ne sait pas faite en un jour et il faut bien commencer quelque part. C'est un sujet compliqué et que l'on ne peut pas trop traiter vite fait. Il me semble qu'il vaudrait mieux laisser cela dans le flou de l'avant Cauchy. À charge, plus tard, de préciser que c'est qu'un nombre (si on en a besoin).
Bon, c'est mon point de vue (heu si tu es inspecté réfléchi aux réponses que tu ferais, hein ?) et c'est plus des interrogations que la vérité vraie et révélée (saint Cauchy prié pour moi pauvre pécheur). Pour les intervalles, je ne fais pas de cours, quand j'ai besoin de la notation (donc dans les intervalles d'études, les inéquations), j'en cause, mais je ne fais rien de spécifique dessus avant.

Olivier
A line is a point that went for a walk. Paul Klee
Par solidarité, pas de MP
rebouxo
Modérateur
 
Messages: 6803
Inscription: Mercredi 15 Février 2006, 13:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant

Re: Comportement erratique avec un nouvel environnement

Messagepar zorba » Samedi 28 Juillet 2012, 03:36

Juste une petite remarque sur
Code: Tout sélectionner
\newcommand{\intervalleff}[2]{[#1\,;#2]}
\newcommand{\intervalleof}[2]{\mathopen{]}#1\,;#2]}
\newcommand{\intervallefo}[2]{[#1\,;#2\mathclose{[}}
\newcommand{\intervalleoo}[2]{\mathopen{]}#1\,;#2\mathclose{[}} 

Il me semble utile de placer des \left et \right pour encadrer des bornes exprimées avec des fractions.
Bonne continuation, je suivrai les réponses à venir.
Pierre
On se lasse de tout, excepté d'apprendre. Virgile
zorba
Giga-utilisateur
 
Messages: 522
Inscription: Lundi 01 Juin 2009, 10:35
Statut actuel: Actif et salarié

Re: Comportement erratique avec un nouvel environnement

Messagepar pg » Samedi 28 Juillet 2012, 06:53

zorba a écrit:Il me semble utile de placer des \left et \right pour encadrer des bornes exprimées avec des fractions.

Seulement si ce doivent être des grandes fractions, ce qui est souvent une erreur dans un intervalle (des \tfrac suffisent). \left et \right sont loin d'être la panacée et dans de nombreux cas il vaut mieux choisir la taille à la main. Par exemple, dans la formule suivante :

$$\begin{gathered}   \forall x \in \left]-\frac{\pi}{2}\,;\frac{\pi}{2}\right[, \quad f(x) = \sum_{k=1}^{+\infty}{\frac{\sin(kx)}{k}}. \\   \forall x \in \mathopen{]}-\tfrac{\pi}{2}\,;\tfrac{\pi}{2}\mathclose{[}, \quad f(x) = \sum_{k=1}^{+\infty}{\frac{\sin(kx)}{k}}. \end{gathered}$$


la deuxième est plus lisible car les tailles des objets sont en concordance avec leur importance (l'intervalle, moins important, attire du coup moins l'attention que la partie principale de la formule qui est la somme, ce qui rend la formule plus rapide à déchiffrer).
pg
Modérateur
 
Messages: 2585
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Comportement erratique avec un nouvel environnement

Messagepar pg » Samedi 28 Juillet 2012, 08:58

Fabrice Couvreur a écrit:Bonsoir,
L'idée de départ est de refaire mes cours de Seconde (pour commencer !) sous la forme d'un livre. J'ai créé un environnement où les définitions et les propriétés comportent un filet horizontal "en haut et en bas". Tout fonctionne, excepté pour la première définition : le filet horizontal est manquant et il n'y a pas le premier retour à la ligne. Cela est probablement lié à l'utilisation de itemize, mais je ne sais pas pourquoi.

Parce que faire ce que tu as fait pour mettre des lignes avant et après un théorème n'est pas du tout la bonne méthode (trop d'espace, possibilité de coupure, ...). Je ne parle même pas du fait de devoir utiliser {presentation}{...} à chaque fois.

On peut rajouter du matériel à la fin de tous les théorèmes en modifiant \@endtheorem (attention, si on veut des remarques qui sont dans un style différent des propositions et définitions, il faudra faire autrement).

Code: Tout sélectionner
\documentclass[11pt,a4paper]{book}

\usepackage{etex}
\usepackage[margin=1.5cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{kpfonts}
\usepackage{amsfonts,amssymb,amsmath,amsthm,mathrsfs}
\usepackage{pstricks}
\usepackage{array}
\usepackage[frenchb]{babel}
\usepackage{quotchap}
\usepackage[tight]{minitoc}
\usepackage{enumitem}
\usepackage{etoolbox}


\frenchbsetup{StandardLists=true}
\setitemize[1]{label=$\bullet$,partopsep=\parskip,topsep=-\parskip,itemsep=0pt,parsep=0pt,before=\leavevmode}

\dominitoc
\doparttoc
\setlength{\mtcindent}{0pt}
\renewcommand{\mtcfont}{\small}
\renewcommand{\mtcSfont}{\small\bfseries}
\renewcommand{\mtcSSfont}{\small}
\renewcommand{\mtctitle}{Sommaire}

\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyfoot{}
\fancyhead[RO,LE]{\thepage}

\renewcommand*{\hrulefill}[1][0.3mm]{\leavevmode \leaders \hbox to 1pt{\rule{1pt}{#1}} \hfill \kern 0pt}

\newtheoremstyle{env}
  {\topsep}
  {\topsep}
  {\itshape}
  {}
  {\bfseries}
  {\enspace\hrulefill[0.5pt]}
  {\newline}
  {}
\theoremstyle{env}
\makeatletter %  on ajoute avec \preto (package etextools) la commande "\par\nobreak\kern3pt\hrule" à la fin de *tous* les théorèmes
\preto\@endtheorem{\par\nobreak\kern3pt\hrule}
\makeatother
\newtheorem{proposition}{Propri\'et\'e}
\newtheorem{definition}{D\'efinition}

\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\newcommand{\intervalleff}[2]{[#1\,;#2]}
\newcommand{\intervalleof}[2]{\mathopen{]}#1\,;#2]}
\newcommand{\intervallefo}[2]{[#1\,;#2\mathclose{[}}
\newcommand{\intervalleoo}[2]{\mathopen{]}#1\,;#2\mathclose{[}}           

\begin{document}

\chapter{Généralités sur les fonctions}
\minitoc
\faketableofcontents
\thispagestyle{empty}

\section{Ensembles de nombres}

\begin{definition}
\begin{itemize}\vspace*{-1em}
    \item L'ensemble des nombres entiers naturels est noté $\mathbb{N}$.

$\mathbb{N}$ est l'ensemble $\left\{0\,; 1\,; 2\,; 3\,; 4 \ldots\right\}$.
    \item L'ensemble des nombres entiers relatifs est noté $\mathbb{Z}$.

$\mathbb{Z}$ est l'ensemble $\left\{\ldots ; -3\,; -2\,; -1\,; 0\,; 1\,; 2\,; 3\,; \ldots\right\}$.
    \item L'ensemble des nombres décimaux est noté  $\mathbb{D}$.

$\mathbb{D}$ est l'ensemble des nombres qui peuvent s'écrire avec un nombre fini de chiffres après la virgule.
    \item  L'ensemble des nombres rationnels est noté  $\mathbb{Q}$.

$\mathbb{Q}$ est l'ensemble des nombres qui peuvent s'écrire sous la forme d'un quotient  $\frac{a}{b}$ avec $a$ un entier et $b$ un entier non nul.

    \item L'ensemble des nombres réels est noté  $\mathbb{R}$.

$\mathbb{R}$ est l'ensemble de tous les nombres que nous utiliserons.
\end{itemize}
\end{definition}

\begin{proposition}
  Tous les éléments de $\mathbb{N}$ appartiennent à $\mathbb{Z}$ : on dit que $\mathbb{N}$ est inclus dans $\mathbb{Z}$. On note $\mathbb{N}\subset\mathbb{Z}$. On a donc aussi les inclusions suivantes :
\[
  \mathbb{N}\subset\mathbb{Z}\subset\mathbb{D}\subset\mathbb{Q}\subset\mathbb{R}.
\]
\end{proposition}

\section{Intervalles de $\mathbb{R}$}

\subsection{Comprendre la notion d'intervalle}

\footnote{D'après METHOD'S, mathématiques Seconde}Quand vous sortez d'une évaluation de Mathématiques (notée sur 20), que vous estimez avoir raté, vous vous dîtes : \og{} Alors là, impossible que j'ai la moyenne !\fg{}, cela signifie en fait qu'en terme \textbf{d'intervalle}, votre note sera, selon vous, comprise dans \textbf{l'intervalle} $\intervallefo{0}{10}$.

En revanche, lorsque vous sortez de l'interrogation confiant, en étant sûr d'avoir au moins quinze, cela signifie que votre note sera probablement dans \textbf{l'intervalle} $\intervalleff{15}{20}$.

\begin{proposition}
L'ensemble des nombres réels compris, au sens large, entre deux nombres a et b est noté $ \intervalleff{a}{b}$. C'est un \textbf{intervalle} qui désigne ici tous les nombres réels x tels que  $a\leqslant x\leqslant b$.
\end{proposition}

\subsection{Intersection et réunion}

\begin{definition}
L'\textbf{intersection} de deux ensembles A et B est l'ensemble des éléments qui appartiennent à A \textbf{et} à B. On note cette intersection $A\cap {B}$.
\end{definition}

Bla bla bla

\begin{definition}
La \textbf{réunion} de deux ensembles A et B est l'ensemble des éléments qui appartiennent à A \textbf{ou} à B. On note cette réunion $A\cup {B}$.
\end{definition}

\section{Notion de fonction}

\subsection{Fonctions}

L'ensemble des nombres que nous utilisons est l'ensemble des nombres réels $\mathbb{R}$.

\begin{definition}
$\mathscr{D}$ est une partie de l'ensemble des nombres réels  $\mathbb{R}$. Définir une fonction $f$ sur $\mathscr{D}$, c'est associer à tout nombre réel $x$ de $\mathscr{D}$ un unique nombre réel, noté $f(x)$.
\end{definition}

\vspace*{13.09cm}

\begin{definition}
$\mathscr{D}$ est une partie de l'ensemble des nombres réels  $\mathbb{R}$. Définir une fonction $f$ sur $\mathscr{D}$, c'est associer à tout nombre réel $x$ de $\mathscr{D}$ un unique nombre réel, noté $f(x)$.
\end{definition}

\end{document}

Par ailleurs, c'est mieux d'aérer un peu le code source en laissant des lignes blanches entre les différents éléments. Et pourquoi utiliser {\bfseries ...} à la place de \textbf{...} ? Pour le gras, c'est pas trop grave, mais pour l'italique, ce serait une faute (perte de la correction d'italique).
pg
Modérateur
 
Messages: 2585
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Comportement erratique avec un nouvel environnement

Messagepar rebouxo » Samedi 28 Juillet 2012, 09:01

Ouais, ça se discute. Perso, je préfère la première, mais j'ai une lecture très linéaire des formules : de la gauche vers la droite. Pas d'aller retour. Mais bon, la différence est quand même assez faible, je trouve.

Tu peux expliquer ce que fait la fonction \closePres dans le code de Fabrice ? À part fermer le code, parce que ça j'ai compris, mais je ne vois pas comment cela fonctionne !
Olivier
A line is a point that went for a walk. Paul Klee
Par solidarité, pas de MP
rebouxo
Modérateur
 
Messages: 6803
Inscription: Mercredi 15 Février 2006, 13:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant

Re: Comportement erratique avec un nouvel environnement

Messagepar pg » Samedi 28 Juillet 2012, 09:28

Ce que Fabrice voulait faire c'est

Code: Tout sélectionner
\newenvironment{presentation}[1]
  {\begin{#1}}
  {\end{#1}\noindent\rule{1.0\linewidth}{0.5pt}}

ce qui ne fonctionne pas car #1 n'est pas accessible dans la fin de l'environnement. Il faut donc sauvegarder la valeur de #1 dans une macro pour pouvoir l'utiliser dans le \end{...}.
pg
Modérateur
 
Messages: 2585
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Comportement erratique avec un nouvel environnement

Messagepar rebouxo » Dimanche 29 Juillet 2012, 09:53

OK c'est ce que tu expliqué dans un autre fil. D'accord.
Olivier
A line is a point that went for a walk. Paul Klee
Par solidarité, pas de MP
rebouxo
Modérateur
 
Messages: 6803
Inscription: Mercredi 15 Février 2006, 13:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant

Re: Comportement erratique avec un nouvel environnement

Messagepar Fabrice Couvreur » Dimanche 29 Juillet 2012, 11:16

Bonjour,
L'environnement que j'ai essayé de créer avait déjà fait l'objet d'un fil http://forum.mathematex.net/latex-f6/creer-un-nouvel-environnement-t13295.html.
pg a écrit:Parce que faire ce que tu as fait pour mettre des lignes avant et après un théorème n'est pas du tout la bonne méthode (trop d'espace, possibilité de coupure, ...). Je ne parle même pas du fait de devoir utiliser {presentation}{...} à chaque fois.

J'ai essayé, mais je suis très loin de ton niveau de compétences !
Merci.
Fabrice Couvreur
Giga-utilisateur
 
Messages: 594
Inscription: Samedi 18 Août 2007, 00:55

Re: Comportement erratique avec un nouvel environnement

Messagepar Fabrice Couvreur » Mardi 31 Juillet 2012, 16:47

Bonjour,
L'idée est de commencer chaque chapitre par les sacro-saintes "Activités préparatoires". Pour cela, j'ai d'abord redéfini un nouvel environnement :

Code: Tout sélectionner
\newtheoremstyle{acti}
  {\topsep}
  {\topsep}
  {}
  {}
  {\bfseries}
  {}
  {\newline}
  {}
\theoremstyle{acti}
\newtheorem{activite}{Activité}


Premier soucis, vrai aussi avec l'environnement env (definition et theoreme), c'est que la numérotation ne fonctionne pas comme je le souhaiterais. En effet, dans le chapitre deux, les activités seront numérotées 4, 5 et 6 (en supposant que le premier chapitre en comporte 3). Or, il serait préférable que la numérotation redémarre à 0.
J'ai trouvé ceci :

Code: Tout sélectionner
\numberwithin{activité}{chapter}

C'est mieux, mais on a une numérotation qui dépend encore du chapitre (ce qui est d'ailleurs normal en utilisant cette instruction !)

Deuxième soucis : comment empêcher de tracer un filet horizontal à la fin ?
Code: Tout sélectionner
\makeatletter %  on ajoute avec \preto (package etextools) la commande "\par\nobreak\kern3pt\hrule" à la fin de *tous* les théorèmes
\preto\@endtheorem{\par\nobreak\kern3pt\hrule}
\makeatother


Troisième soucis : si j'utilise une note de bas de page dans mon nouvel environnement, la numérotation se fait avec des lettres.

Quatrième soucis : j'ai utilisé ceci :
Code: Tout sélectionner
\chapter{Généralités sur les fonctions}
\section{Activités préparatoires}
\section{Ensembles de nombres}
\section{Intervalles de R}
\subsection{Comprendre la notion d'intervalle}
...


On obtiens alors :

Code: Tout sélectionner
1.1 Activités préparatoires
1.2 Ensembles de nombres
1.3 intervalles de R
    1.3.1
    1.3.2
....


Est-ce possible d'avoir plutôt ceci :

Code: Tout sélectionner
 Activités préparatoires
1 Ensembles de nombres
2 intervalles de R
    2.1
    2.2

Merci.
Fabrice Couvreur
Giga-utilisateur
 
Messages: 594
Inscription: Samedi 18 Août 2007, 00:55

Re: Comportement erratique avec un nouvel environnement

Messagepar pg » Jeudi 02 Août 2012, 14:10

Pour que les activités préparatoires ne soient pas numérotées, utiliser \section*{} puis un \addcontentsline.

Pour que les sections n'héritent pas du numéro de chapitre, il suffit de redéfinir \thesection en \arabic{section}.
pg
Modérateur
 
Messages: 2585
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Comportement erratique avec un nouvel environnement

Messagepar Fabrice Couvreur » Jeudi 02 Août 2012, 18:00

Bonsoir pg,
Tout d'abord merci.
pg a écrit:Pour que les sections n'héritent pas du numéro de chapitre, il suffit de redéfinir \thesection en \arabic{section}.

Ça, c'est réglé.

pg a écrit:Pour que les activités préparatoires ne soient pas numérotées, utiliser \section*{} puis un \addcontentsline.

Cela fonctionne sans \addcontentsline, car sinon :
Code: Tout sélectionner
ERROR: Argument of \begin has an extra }.

--- TeX said ---
<inserted text>
                \par
l.4 L
     a courbe suivante décrit la masse, en kilogramme, d'un chat en fonctio...
--- HELP ---
From the .log file...

I've run across a `}' that doesn't seem to match anything.
For example, `\def\a#1{...}' and `\a}' would produce
this error. If you simply proceed now, the `\par' that
I've just inserted will cause me to report a runaway
argument that might be the root of the problem. But if
your `}' was spurious, just type `2' and it will go away.
Fabrice Couvreur
Giga-utilisateur
 
Messages: 594
Inscription: Samedi 18 Août 2007, 00:55

Re: Comportement erratique avec un nouvel environnement

Messagepar pg » Jeudi 02 Août 2012, 18:04

Probablement un problème de syntaxe. Il faut écrire

Code: Tout sélectionner
\section*{Activités préparatoires}
\addcontentsline{toc}{section}{Activités préparatoires}
pg
Modérateur
 
Messages: 2585
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Comportement erratique avec un nouvel environnement

Messagepar Fabrice Couvreur » Jeudi 02 Août 2012, 19:14

pg a écrit:Probablement un problème de syntaxe

Euh oui, j'avais oublié {toc} !

Je souhaiterais également que les définitions, théorèmes, .... n'héritent pas du numéro de la section, et soit simplement numérotés :
Définition 1, Définition 2, ..... pour chaque chapitre.

Il y a aussi le petit soucis du trait horizontal à la fin de chaque théorème que je ne voudrais plus avoir si je crée un nouveau théorème....
Merci.
Fabrice Couvreur
Giga-utilisateur
 
Messages: 594
Inscription: Samedi 18 Août 2007, 00:55

Re: Comportement erratique avec un nouvel environnement

Messagepar pg » Jeudi 02 Août 2012, 21:44

Fabrice Couvreur a écrit:Je souhaiterais également que les définitions, théorèmes, .... n'héritent pas du numéro de la section, et soit simplement numérotés :
Définition 1, Définition 2, ..... pour chaque chapitre.

Pareil : un \numberwithin et/ou on redéfinit \thedefinition si definition est le compteur utilisé par les {definition} (le nom exact dépend du code utilisé).

Fabrice Couvreur a écrit:Il y a aussi le petit soucis du trait horizontal à la fin de chaque théorème que je ne voudrais plus avoir si je crée un nouveau théorème....

Je n'ai pas compris. Merci de faire un exemple complet et minimal.
pg
Modérateur
 
Messages: 2585
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Comportement erratique avec un nouvel environnement

Messagepar Fabrice Couvreur » Jeudi 02 Août 2012, 22:25

pg a écrit:Pareil : un \numberwithin et/ou on redéfinit \thedefinition si definition est le compteur utilisé par les {definition} (le nom exact dépend du code utilisé).

C'est réglé !
pg a écrit:Je n'ai pas compris.

Dans ce post, tu as fait ceci :
Code: Tout sélectionner
\renewcommand*{\hrulefill}[1][0.3mm]{\leavevmode \leaders \hbox to 1pt{\rule{1pt}{#1}} \hfill \kern 0pt}

\newtheoremstyle{env}
  {\topsep}
  {\topsep}
  {\itshape}
  {}
  {\bfseries}
  {\enspace\hrulefill[0.5pt]}
  {\newline}
  {}
\theoremstyle{env}
\makeatletter %  on ajoute avec \preto (package etextools) la commande "\par\nobreak\kern3pt\hrule" à la fin de *tous* les théorèmes
\preto\@endtheorem{\par\nobreak\kern3pt\hrule}
\makeatother


Si je définis l'environnement suivant :

Code: Tout sélectionner
    \newtheoremstyle{acti}
      {\topsep}
      {\topsep}
      {}
      {}
      {\bfseries}
      {}
      {\newline}
      {}
    \theoremstyle{acti}
    \newtheorem{activite}{Activité}

un trait horizontal sera tracé alors que je n'en veux pas cette fois-ci.
Fabrice Couvreur
Giga-utilisateur
 
Messages: 594
Inscription: Samedi 18 Août 2007, 00:55

Re: Comportement erratique avec un nouvel environnement

Messagepar pg » Vendredi 03 Août 2012, 09:01

Il suffit de sauvegarder la valeur de \@endtheorem puis de la restituer avant les activités.

Code: Tout sélectionner
\renewcommand*{\hrulefill}[1][0.3mm]{\leavevmode \leaders \hbox to 1pt{\rule{1pt}{#1}} \hfill \kern 0pt}

\newtheoremstyle{env}
  {\topsep}
  {\topsep}
  {\itshape}
  {}
  {\bfseries}
  {\enspace\hrulefill[0.5pt]}
  {\newline}
  {}
\theoremstyle{env}
\makeatletter %  on ajoute avec \preto (package etextools) la commande "\par\nobreak\kern3pt\hrule" à la fin de *tous* les théorèmes
\let\old@endtheorem\@endtheorem
\preto\@endtheorem{\par\nobreak\kern3pt\hrule}
\makeatother
\newtheorem{proposition}{Propri\'et\'e}
\newtheorem{definition}{D\'efinition}

\newtheoremstyle{acti}
  {\topsep}
  {\topsep}
  {}
  {}
  {\bfseries}
  {}
  {\newline}
 {}
\theoremstyle{acti}
\makeatletter
\let\@endtheorem\old@endtheorem
\makeatother
\newtheorem{activite}{Activité}
pg
Modérateur
 
Messages: 2585
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Comportement erratique avec un nouvel environnement

Messagepar Fabrice Couvreur » Vendredi 03 Août 2012, 09:22

Bonjour pg,
Merci beaucoup !

PS: je ne ferme pas ce fil, car il y aura peut-être des petites modifications. :wink:
Fabrice Couvreur
Giga-utilisateur
 
Messages: 594
Inscription: Samedi 18 Août 2007, 00:55

Re: Comportement erratique avec un nouvel environnement

Messagepar Fabrice Couvreur » Mercredi 15 Août 2012, 11:34

Bonjour,
Je fais quelques rappels. :D
L'idée de départ était de faire un environnement personnalisé ressemblant à ceci :

Code: Tout sélectionner
\renewcommand*{\hrulefill}[1][0.3mm]{\leavevmode \leaders \hbox to 1pt{\rule{1pt}{#1}} \hfill \kern 0pt}

\newtheoremstyle{enva}
  {\topsep}
  {\topsep}
  {\itshape}
  {}
  {\bfseries}
  {\enspace\hrulefill[0.5pt]}
  {\newline}
  {}
\theoremstyle{enva}

\makeatletter %  on ajoute avec \preto (package etextools) la commande "\par\nobreak\kern3pt\hrule" à la fin de *tous* les théorèmes
\preto\@endtheorem{\par\nobreak\kern3pt\hrule}
\makeatother


\newtheorem{propriete}{Propri\'et\'e}
\newtheorem{definition}{D\'efinition}[chapter]


L'inconvénient, c'est que si je créais un nouvel environnement, il y avait toujours les deux filets en haut et en bas, ce que je ne voulais pas nécessairement pour ce nouvel environnement.
D'où la suggestion de pg :

Code: Tout sélectionner
\newtheoremstyle{envd}
  {\topsep}
  {\topsep}
  {}
  {}
  {\bfseries\itshape}
  {\enspace: }
  {\newline}
  {}
\theoremstyle{envd}

\makeatletter
\let\@endtheorem\old@endtheorem
\makeatother

\newtheorem*{remarque}{Remarque}

On en vient au problème en question. Si j'utilise un environnement itemize dans mon "théorème" remarque, le premier item commence sur la même ligne que le titre :

Remarque : - blabla
- blabla
Pourquoi ?
Merci.
Fabrice Couvreur
Giga-utilisateur
 
Messages: 594
Inscription: Samedi 18 Août 2007, 00:55

Re: Comportement erratique avec un nouvel environnement

Messagepar pg » Jeudi 16 Août 2012, 10:22

C'est le comportement normal : deux listes (les théorèmes sont des listes commençant par un item qui affiche le titre du théorème) ont leurs \item qui se superposent quand elles sont imbriquées. Un moyen simple de résoudre le problème est d'utiliser "before=\leavevmode" et "beginpenalty=10000" du package enumitem :

Code: Tout sélectionner
\documentclass{article}

\usepackage[frenchb]{babel}

\newtheorem{remarque}{Remarque}

\usepackage{enumitem}

\frenchbsetup{StandardLists=true}% désactive l'action de babel/francais
\setitemize[1]{label=--,
               partopsep=\parskip,
               topsep=-\parskip,
               itemsep=0pt,
               parsep=0pt,
               before=\leavevmode,
               beginpenalty=10000}

\begin{document}

\begin{remarque}
\begin{itemize}
    \item bla bla
    \item bla bla
\end{itemize}
\end{remarque}

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

Suivante

Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Ahrefs [Bot], DotBot [Crawler], Google Adsense [Bot], Grapeshot [Crawler] et 22 invités