Delete / Löschen

Re: \hrule et compagnie

pluton
25.02.2011 - 20:02
merci. Oui c'est un peu une salade comme tout ce que je fais avec LateX. Bo=
n, c'est vrai que le hskip est mieux qu'un vrule et colorbox mieux que fcol=
orbox mais tout cela est le fruit de tentatives nombreuses et infructueuses=
.

J'avais essay9 la commande leaders mais sans succ8s parce que je ne sav=
ais pas trop quoi faire du probl8me de glue. Ah puis, le hskip, j'ai tend=
ance 0 l'oublier.

Je me demande si l'ajout des lignes horizontales ne peut pas Atre inclus =
dans la commande \theoremframecommand plut4t ? 7a semble indiqu9 je c=
rois.

GL
25.02.2011 - 20:37
Le 25/02/2011 20:02, pluton a écrit :
merci. Oui c'est un peu une salade comme tout ce que je fais avec LateX. Bon, c'est vrai que le hskip est mieux qu'un vrule et colorbox mieux que fcolorbox mais tout cela est le fruit de tentatives nombreuses et infructueuses.

J'avais essayé la commande leaders mais sans succès parce que je ne savais pas trop quoi faire du problème de glue. Ah puis, le hskip, j'ai tendance à l'oublier.

Je me demande si l'ajout des lignes horizontales ne peut pas être inclus dans la commande \theoremframecommand plutôt ? ça semble indiqué je crois.

non pas possible, car \theoremframecommand est exactement \FrameCommand
du package de Donald Arseneau (framed.sty).

Si vous voulez bien encadrer votre théorème sur chaque page, malgré
le saut page, effectivement un "simple" \fcolorbox suffit pour régler
la question.

Sinon, l'implémentation de framed (qui est très bonne techniquement,
c'est du D Arseneau ;-) et moyenne question interface : on ne peut
pas changer grand chose... et on manque de documentation ;-() ne permet
pas à ntheorem de fournir une interface pratique. Du coup, le
\newshadedtheorem, c'est une bidouille de Grands Chemins...

D'autant que l'option [framed] the ntheorem pourrait a minima charger
le package framed... c'est la moindre des choses.


Je crois que le plus propre serait cela :
on définit la \FrameCommand: \theoremframedcommand
on définit le travail préparatoire: \theoremprework
final : \theorempostwork
du coup plus besoin de l'option [framed] (qui n'est qu'une bidouille.)

(attention à remettre \theorempostwork et \theoremprework à {}
ou {\relax} après le \newtheorem, sinon tous les \newtheorem
suivants seront shaded)

\documentclass[fleqn,10pt]{book}
\usepackage{microtype}
\usepackage{kpfonts}
\usepackage{xcolor}
\usepackage[topcm,leftcm,rightcm,bottomcm,a4paper]{geometry}
\usepackage{lipsum}
\usepackage{framed}
\usepackage[amsmath]{ntheorem}

\makeatletter

% exemple
\topsep=0pt
\theorempreskipamount=0pt
\theorempostskipamount=0pt
\theorembodyfont{\small\color{gray}}%
\newcommand*\theoremframecommand[1]{%
\hskip5mm \vrule width 2pt
\fboxrule=0pt \fboxseppt
\colorbox{lightgray!20}{#1}%
\vrule width 2pt
\hskip5mm
}
\theoremprework{%
\let\FrameCommand \theoremframecommand
\noindent\hskip5mm
\leaders\hrule height2pt\hfill
\kern5mm
\unvbox\voidb@x \nointerlineskip
\framed
}
\theorempostwork{\endframed \nointerlineskip
\noindent\hskip5mm
\leaders\hrule height2pt\hfill
\kern5mm\par
}
\newtheorem{exemple}{Exemple}[chapter]

\makeatother

\begin{document}

\lipsum[4]
\lipsum[4]
\lipsum[4]
\lipsum[5]
\begin{exemple}[Latin]
some random text some random text some random text some random text some
random text some random text some random text some random text some
random text some random text some random text some random text some
random text some random text some
\begin{equation}
\cos x=-\pi
\end{equation}
random text some random
\end{exemple}
\lipsum[4]

\end{document}







Share/Bookmark