Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ntheorem - \theoremstyle{break}

86 views
Skip to first unread message

david....@gmail.com

unread,
Jun 26, 2007, 10:58:38 AM6/26/07
to
Bonjour, j'utilise à la fois les packages "ntheorem" (uniquement pour
avoir des théorèmes encadrés) et amsmath et j'ai le souci suivant.
Lorsque j'écris la ligne suivante dans le fichier tex:

\begin{ex}
$\dfrac{1}{3}+\dfrac{2}{5}=\dfrac{11}{15}\in\mathbb{Q}$
\end{ex}

la deuxième ligne (celle avec les fractions) empiète sur la première.
S'agit-il d'un conflit entre les deux packages mentionnés ci-dessus?

Voici ce que j'ai en préambule:

\usepackage{framed}
\usepackage[amsmath,framed]{ntheorem}
\theoremstyle{break}
\newframedtheorem{thm}{Théorème}
\newframedtheorem{thmdefn}{Théorème - Définition}
\newframedtheorem{defn}{Définition}
\theorembodyfont{\upshape}
\newtheorem{rem}{Remarque}
\newtheorem{ex}{Exemple}
\newtheorem{exs}{Exemples}
\newtheorem{exo}{Exercice}

Jean-Côme Charpentier

unread,
Jun 26, 2007, 11:33:54 AM6/26/07
to
david....@gmail.com a écrit :

> Bonjour, j'utilise à la fois les packages "ntheorem"

Pas moi. J'aime pas.

> (uniquement pour
> avoir des théorèmes encadrés) et amsmath et j'ai le souci suivant.

Perso, j'ai un soucis avec la syntaxe

\usepackage[amsmath,framed]{ntheorem}

J'ai dû écrire

\usepackage{amsmath,amssymb}
\usepackage[framed]{ntheorem}

pour arrêter d'avoir une tonne d'erreurs.

> Lorsque j'écris la ligne suivante dans le fichier tex:
>
> \begin{ex}
> $\dfrac{1}{3}+\dfrac{2}{5}=\dfrac{11}{15}\in\mathbb{Q}$
> \end{ex}
>
> la deuxième ligne (celle avec les fractions) empiète sur la première.
> S'agit-il d'un conflit entre les deux packages mentionnés ci-dessus?

Àmha il s'agit d'une mauvaise conception de ntheorem mais je ne peux
pas en dire vraiment plus puisque je ne connais pas trop et que je ne
cherche pas à connaître. On peut résoudre (salement) le problème avec un

\newtheorem{ex}{Exemple\vrule width0pt depth12pt\relax}

le 12pt étant a régler plus finement et, sans doute, à mettre plutôt
dans un théorème exwithdescendent !
Si les utilisateurs de ntheorem ont une solution propre, jetez
celle-ci aux orties :-)

Jean-Côme Charpentier

--
<Joss> Le TikZ nouveau est arrivé !
<Thomas vO> hé, m'sieur, il est nul ton troll !
-+- in fr.comp.text.tex -+-

mpg

unread,
Jun 26, 2007, 1:29:36 PM6/26/07
to
Le Tue, 26 Jun 2007 17:33:54 +0200, Jean-Côme Charpentier a écrit:

> david....@gmail.com a écrit :
>> Bonjour, j'utilise à la fois les packages "ntheorem"
>
> Pas moi. J'aime pas.
>

Je connais pourtant un bon bouquin (que je ne nommerai pas) qui donne
plutôt l'impression de le conseiller... Que lui reproches-tu ?
Qu'utilises-tu à la place ? Il me semble quand même bien plus puissant
qu'asmthm...

Manuel.

david....@gmail.com

unread,
Jun 26, 2007, 4:00:52 PM6/26/07
to
On 26 juin, 07:29, mpg <manuel...@free.Fr> wrote:
> Le Tue, 26 Jun 2007 17:33:54 +0200, Jean-Côme Charpentier a écrit:
>
> > david.cais...@gmail.com a écrit :

> >> Bonjour, j'utilise à la fois les packages "ntheorem"
>
> > Pas moi. J'aime pas.
>
> Je connais pourtant un bon bouquin (que je ne nommerai pas) qui donne
> plutôt l'impression de le conseiller... Que lui reproches-tu ?
> Qu'utilises-tu à la place ? Il me semble quand même bien plus puissant
> qu'asmthm...
>
> Manuel.

Auriez-vous alors une autre façon d'encadrer des théorèmes?

Jean-Côme Charpentier

unread,
Jun 26, 2007, 8:36:13 PM6/26/07
to
mpg a écrit :

> Le Tue, 26 Jun 2007 17:33:54 +0200, Jean-Côme Charpentier a écrit:
>
>> david....@gmail.com a écrit :
>>> Bonjour, j'utilise à la fois les packages "ntheorem"
>> Pas moi. J'aime pas.
>>
> Je connais pourtant un bon bouquin (que je ne nommerai pas) qui donne
> plutôt l'impression de le conseiller...

C'est Denis qui le connait et qui le conseille. Je ne le connais pas
donc je vais avoir du mal à le conseiller mais je fais plutôt assez
confiance à Denis :-)

> Que lui reproches-tu ?

Ben, le semi-bogue énoncé dans ce fil par exemple mais il y en eu
d'autres. De façon plus générale, je lui reproche de ne pas réagir
correctement dans certains cas plus ou moins tordus. Normalement,
composer un théorème devrait être d'une grande simplicité. Pourquoi
ai-je le sentiment que c'est difficile lorsque je regarde ntheorem ?
Plus fondamentalement, pour quelque chose que je considère simple et,
surtout, trop personnel, j'ai du mal à tout confier à une macro miracle
faite par quelqu'un d'autre. On avait parler de \maketitle il y a
quelque temps, c'est très exactement le même problème : je n'aie pas
\maketitle.
Tout ceci est évidemment très subjectif, n'y voyez aucun prosélytisme.

> Qu'utilises-tu à la place ? Il me semble quand même bien plus puissant
> qu'asmthm...

J'utilise mes mimines à la place et je me concocte mes propres macros
ou environnements :-) Pour répondre à David sur ma façon d'encadrer les
théorèmes, j'encadre les théorèmes comme j'encadre n'importe quel autre
texte, c'est-à-dire en plus précis : cela dépend de ce que je veux faire !

Jean-Côme Charpentier

--
Quant au code que j'ai proposé, il ne faut pas vous sentir gêné le
moins du monde : je fais cela par plaisir. Plus c'est retord, plus
j'aime.
-+- Jean-Côme in fr.comp.text.tex -+-

Denis Bitouzé

unread,
Jun 27, 2007, 2:18:22 AM6/27/07
to
Le Wed, 27 Jun 2007 02:36:13 +0200
Jean-Côme Charpentier <Jean-Come....@wanadoo.fr> a écrit :

> C'est Denis qui le connait et qui le conseille. Je ne le connais pas
> donc je vais avoir du mal à le conseiller mais je fais plutôt assez
> confiance à Denis :-)

Ouh là là, quelle erreur !

En fait, je dois avouer que je n'ai pas testé ntheorem jusque dans ses
moindres recoins avant de le conseiller ; ceci explique probablement que
je n'y avais pas décelé de bogue. Si mon choix s'est porté sur lui,
c'est parce qu'il me paraissait le plus abouti mais pas parce que je le
garantissais exempt de défauts ou de bogues...

> > Que lui reproches-tu ?
>
> Ben, le semi-bogue énoncé dans ce fil par exemple mais il y en eu
> d'autres.

Le bogue dont il est question dans ce fil en est certes un mais je
pense que mettre des \dfrac dans un environnement mathématique en
ligne ($...$), c'est quand même chercher les ennuis.

> De façon plus générale, je lui reproche de ne pas réagir
> correctement dans certains cas plus ou moins tordus.

Ah non ! Il n'est pas possible de légitimement reprocher à ntheorem de
ne pas réagir correctement dans des cas « plus ou moins tordus » s'ils
sortent tout droit de l'imagination du JCC : on ne peut pas en vouloir
aux concepteurs de ntheorem d'être moins pervers que lui, quand même !

> Normalement,
> composer un théorème devrait être d'une grande simplicité. Pourquoi
> ai-je le sentiment que c'est difficile lorsque je regarde ntheorem ?

C'est quand même plus simple de composer un théorème avec cette
extension que de pondre des trucs à base de @ maudits comme tu le fais
si souvent...

> Plus fondamentalement, pour quelque chose que je considère simple
> et, surtout, trop personnel, j'ai du mal à tout confier à une macro
> miracle faite par quelqu'un d'autre. On avait parler de \maketitle il
> y a quelque temps, c'est très exactement le même problème : je n'aie
> pas \maketitle.

Disons que c'est quand même pratique dans un premier temps. Sinon,
autant revenir à Plain TeX... Hein, quoi ?! « Pourquoi pas ? », tu
dis ? Tu as de la veine que je n'ai pas mon dictionnaire de synonymes
sous la main pour y déverser ici tout ce qui se trouve à l'entrée «
pervers » !

> Tout ceci est évidemment très subjectif, n'y voyez aucun
> prosélytisme.

On dit ça, on dit ça...

> > Qu'utilises-tu à la place ? Il me semble quand même bien plus
> > puissant qu'asmthm...
>
> J'utilise mes mimines à la place et je me concocte mes propres
> macros ou environnements :-)

Quand je vous l'disais qu'il pouvait pas s'empêcher de mettre des @
partout !

;)
--
Denis

Etienne Marache

unread,
Jun 27, 2007, 2:26:06 AM6/27/07
to
david....@gmail.com writes:

> On 26 juin, 07:29, mpg <manuel...@free.Fr> wrote:
> > Le Tue, 26 Jun 2007 17:33:54 +0200, Jean-Côme Charpentier a écrit:
> >
> > > david.cais...@gmail.com a écrit :
> > >> Bonjour, j'utilise à la fois les packages "ntheorem"
> >
> > > Pas moi. J'aime pas.

moi non plus, plein de problèmes, surtout avec les espacements.

> >
> > Je connais pourtant un bon bouquin (que je ne nommerai pas) qui donne
> > plutôt l'impression de le conseiller... Que lui reproches-tu ?
> > Qu'utilises-tu à la place ? Il me semble quand même bien plus puissant
> > qu'asmthm...

peut être mais je n'ai jamais eu de mauvaise surprise avec asmthm.

> Auriez-vous alors une autre façon d'encadrer des théorèmes?

Si on ne souhaite pas de changement de page on peut bricoler avec des
minipages, sinon je sais pas.

Un bricolage avec psframe de pstricks mais on doit pouvoir employer
d'autres macros d'encadrement à la place.

\newsavebox{\mybox}
\newlength{\bas}
\newlength{\larg}
\newlength{\haut}
\newlength{\hauteur}
\newlengyh{\prof}
\newlength{\bord}
\setlength{\bord}{4pt}

\newenvironment{cadrec}[1]{%
\begin{lrbox}{\mybox}%
\begin{minipage}[t]{#1}
}
{\end{minipage}%
\end{lrbox}%
\settodepth{\bas}{\usebox\mybox}
\settowidth{\larg}{\usebox\mybox}
\settoheight{\haut}{\usebox\mybox}
\setlength{\hauteur}{\haut+\bord}
\setlength{\longueur}{\larg+\bord}
\setlength{\prof}{\bas+\bord}%
\psframe[linecolor=couleur](-\bord,-\prof)(\longueur,\hauteur)%
\usebox{\mybox}%
}

\newlength{\largeurtheo}
\setlength{\largeurtheo}{12cm}

\newenvironment{theoenc}[1][\largeurtheo]{%
\begin{theo}
\par\noindent%
\begin{cadrec}{#1}%
}
{\end{cadrec}%
\end{theo}%
}

Benoit RIVET

unread,
Jun 27, 2007, 4:30:00 AM6/27/07
to
Jean-Côme Charpentier <Jean-Come....@wanadoo.fr> wrote:

> Perso, j'ai un soucis avec la syntaxe
>
> \usepackage[amsmath,framed]{ntheorem}

L'option amsmath de ntheorem doit être utilisée lorsque l'on utilise _à
la fois_ amsmath et ntheorem. Evidemment, si l'on n'a pas chargé
amsmath, ntheorem va se plaindre (à raison) d'utiliser des commandes de
l'ams qui n'ont pas été définies.

> J'ai dû écrire
>
> \usepackage{amsmath,amssymb}
> \usepackage[framed]{ntheorem}

A corriger en

\usepackage{amsmath,amssymb}
\usepackage[amsmath, framed]{ntheorem}

sinon il y a conflit entre amsmath et ntheorem.

--
Benoît RIVET

Benoit RIVET

unread,
Jun 27, 2007, 4:30:00 AM6/27/07
to
<david....@gmail.com> wrote:

Tu aurais pu écrire un ECM qui reproduise ton problème. Ce n'est
nullement lié à amsmath ou à framed. C'est un bug de ntheorem :

\documentclass{article}
\usepackage{ntheorem}
\theoremstyle{break}
\newtheorem{ex}{Exemple}
\begin{document}

\begin{ex}
$ \displaystyle\frac{1}{3}+\frac{1}{6}=\frac{1}{2} $
\end{ex}

\end{document}

Une solution toute bête : définir ton propre environnement 'ex'. Par
exemple :

\documentclass{article}
\usepackage{ntheorem}
\newtheorem{exemple}{Exemple}
\newenvironment{ex}{\begin{exemple}\mbox{}\newline}{\end{exemple}}
\begin{document}

\begin{ex}
$ \displaystyle\frac{1}{3}+\frac{1}{6}=\frac{1}{2} $
\end{ex}

\end{document}

--
Benoît RIVET

0 new messages