boites, encore des boites

Pour toute demande d'aide sur des exemples non finalisés, c'est ici.
Les exemples aboutis et intéressants seront ajoutés aux sous-forums qui suivent.

Règles du forum
Pour toute demande d'aide pour la conception (ou la confirmation d'un code) d'une figure Asymptote, c'est ici.

J'invite ceux qui ont régulièrement des questions à poser à aller dans leur panneau de l'utilisateur pour indiquer dans la signature de leurs messages :

  1. Nom du système d'exploitation (W7 ou Ubuntu 12.04 ou ...)
  2. Version d'Asymptote et éditeur utilisé pour les figures Asymptote
  3. Distribution LaTeX et éditeur utilisé pour les tex.


On va gagner du temps dans les réponses !
zariski
Messages : 141
Enregistré le : dim. 30 sept. 2012, 18:50

boites, encore des boites

Message non lu par zariski » mar. 16 avr. 2013, 18:19

Bonsoir !
Je me tourne vers vous (même si Asymptote n'est pas de prime abord concerné, quoique ..).
J'aimerais savoir s'il est possible de faire un environnement tel que celui présenté dans mon code (avec tikz) avec asymptote; c'est à dire une jolie boite en couleur surmonté d'un petit cadre.
Ultime difficulté: je souhaiterais que la boite se coupe automatiquement lors d'un changement de page.
Oui je sais, j'ai des exigences ! :oops:
merci !
Je précise que mon code n'est qu'un exemple.


Code : Tout sélectionner


\documentclass[12pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}

\usepackage[upright]{fourier}
\usepackage{amsmath,amsfonts,amssymb,amstext,pifont,amsthm}
\usepackage{longtable}
\usepackage{color}
\usepackage[table,x11names,dvipsnames,svgnames]{xcolor}
\usepackage{array}
\usepackage{graphicx}
\usepackage{multirow}
\usepackage{empheq}
\usepackage{fancybox}


\usepackage{enumitem}
\frenchbsetup{StandardLists=true}

%%%%%%% MISE EN PAGE  %%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\setlength{\voffset}{-1in}
\setlength{\topmargin}{0.0cm}
\setlength{\headheight}{0.0cm}
\setlength{\headsep}{0.5cm}
\setlength{\topskip}{0cm}
\setlength{\textheight}{28cm}
\setlength{\footskip}{0.6cm}


\setlength{\hoffset}{-1cm}
\setlength{\marginparwidth}{0pt}
\setlength{\oddsidemargin}{0pt}
\setlength{\evensidemargin}{0pt}
\setlength{\marginparsep}{0pt}
\setlength{\textwidth}{18.5cm}
%%%%%%% FIN MISE EN PAGE  %%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\definecolor{paille}{cmyk}{0,0,0.1,0}

\setlength{\parindent}{0pt}

\usepackage{titlesec}
\usepackage{tikz}
   \usetikzlibrary{decorations}
   \usetikzlibrary{decorations.pathmorphing}
   \usetikzlibrary{decorations.pathreplacing}
   \usetikzlibrary{decorations.shapes}
   \usetikzlibrary{decorations.text}
   \usetikzlibrary{decorations.markings}
   \usetikzlibrary{decorations.fractals}
   \usetikzlibrary{decorations.footprints}
   \usetikzlibrary{calc}
   \usetikzlibrary{arrows,fadings}


%%%%%%%%%%%%%%%  Code Définition %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%Utilisation : \begin{defi}{Définition \textbf{(Norme)}} ...\end{defi} %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\tikzset{
mybox/.style={draw=Green,
              fill=paille,
              very thick,
              rectangle,
              rounded corners,
              inner sep=5pt,
              inner ysep=10pt,
              text width= \linewidth-2*5pt-\pgflinewidth
             },
title/.style={draw=black,
              fill=blue!10,
              thick,
              rectangle,
              rounded corners,
              inner sep=1em,
              inner ysep=.5ex,
             },
}

\newenvironment{defi}[1]{%
                         \vspace{10pt}
                         \noindent%
                         \def\title{#1}%
                         \tikzpicture
                         \node[mybox,minimum width=15cm](box)
                         \bgroup\rule{0pt}{2pt}
                        }%
                        {\egroup;
                          \node[title, right=10pt] at (box.north west)
                          {\title};
                         \endtikzpicture
                        }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%  Fin Code Définition %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%





\begin{document}
\definecolor{gris}{rgb}{0.84,0.84,0.84}
  \begin{center}
   \fcolorbox{black}{gris}{\huge\textsc{ESPACE VECTORIEL NORME}}
  \end{center}
\textcolor[rgb]{0.00,0.00,1.00}{\tableofcontents}


\newpage


Dans ce chapitre, $\mathbb{K}$ désigne le corps $\mathbb{R}$ ou le corps $\mathbb{C}$, et $E$ un $K$-espace vectoriel de dimension finie ou non.

\section{Un peu de vocabulaire}
\subsection{Norme et distance}
\begin{defi}{Définition \textbf{(Norme)}}
On appelle \textbf{norme} sur le $K$-espace vectoriel $E$, toute application $N : E \longrightarrow [0;+\infty[ $ vérifiant : $\forall x, y \in E $ et $\forall \lambda \in K$ :
        \begin{itemize}
           \item $N(x)=0  \Longleftrightarrow x=0 $
                        \hspace{1.8cm}  \emph{ axiome de séparation};
           \item $N(\lambda x)=|\lambda |N(x)$
                        \hspace{2.2cm} \emph{ axiome d'homogénéité};
           \item $N(x+y)\leq N(x) + N(y)$
                        \hspace{1cm}\emph{ inégalité triangulaire}.
        \end{itemize}
On dit que $(E,N)$ est un \textbf{espace vectoriel normé}.


On appelle \textbf{norme} sur le $K$-espace vectoriel $E$, toute application $N : E \longrightarrow [0;+\infty[ $ vérifiant : $\forall x, y \in E $ et $\forall \lambda \in K$ :
        \begin{itemize}
           \item $N(x)=0  \Longleftrightarrow x=0 $
                        \hspace{1.8cm}  \emph{ axiome de séparation};
           \item $N(\lambda x)=|\lambda |N(x)$
                        \hspace{2.2cm} \emph{ axiome d'homogénéité};
           \item $N(x+y)\leq N(x) + N(y)$
                        \hspace{1cm}\emph{ inégalité triangulaire}.
        \end{itemize}
On dit que $(E,N)$ est un \textbf{espace vectoriel normé}.

On appelle \textbf{norme} sur le $K$-espace vectoriel $E$, toute application $N : E \longrightarrow [0;+\infty[ $ vérifiant : $\forall x, y \in E $ et $\forall \lambda \in K$ :
        \begin{itemize}
           \item $N(x)=0  \Longleftrightarrow x=0 $
                        \hspace{1.8cm}  \emph{ axiome de séparation};
           \item $N(\lambda x)=|\lambda |N(x)$
                        \hspace{2.2cm} \emph{ axiome d'homogénéité};
           \item $N(x+y)\leq N(x) + N(y)$
                        \hspace{1cm}\emph{ inégalité triangulaire}.
        \end{itemize}
On dit que $(E,N)$ est un \textbf{espace vectoriel normé}.


On appelle \textbf{norme} sur le $K$-espace vectoriel $E$, toute application $N : E \longrightarrow [0;+\infty[ $ vérifiant : $\forall x, y \in E $ et $\forall \lambda \in K$ :
        \begin{itemize}
           \item $N(x)=0  \Longleftrightarrow x=0 $
                        \hspace{1.8cm}  \emph{ axiome de séparation};
           \item $N(\lambda x)=|\lambda |N(x)$
                        \hspace{2.2cm} \emph{ axiome d'homogénéité};
           \item $N(x+y)\leq N(x) + N(y)$
                        \hspace{1cm}\emph{ inégalité triangulaire}.
        \end{itemize}
On dit que $(E,N)$ est un \textbf{espace vectoriel normé}.
\end{defi}


\end{document}
Windows 11- Ubuntu 20.10 - WinEdit - TexStudio - TeXMaker - TeXLive2022

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: boites, encore des boites

Message non lu par GM » mar. 16 avr. 2013, 23:30

Bonsoir,

zariski a écrit :J'aimerais savoir s'il est possible de faire un environnement tel que celui présenté dans mon code (avec tikz) avec asymptote

Je ne sais pas comment résoudre ton problème du saut de page... mais je sais par contre, que si j'avais ce genre de choses à réaliser... c'est bien avec tex et/ou tikz que je chercherais à le faire.
Je te déconseille Asymptote pour ce genre de chose.
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: boites, encore des boites

Message non lu par GM » mer. 17 avr. 2013, 00:21

J'ai fouillé dans ma partition Z (Z comme Zone... mon "Area 51" des expérimentations diverses et variées de ces dernières années :-) et j'ai retrouvé cela :

Code : Tout sélectionner

% !TEX TS-program = latexmk
% !TEX encoding = latin1
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}
\usepackage{lmodern}

\usepackage[a4paper,%
            hmargin={1cm,1cm},%
            vmargin={1cm,1cm},%
            noheadfoot]{geometry}

\usepackage{xspace}
\usepackage[cm]{fullpage}

\usepackage{xargs}
\usepackage{tikz}
\usepackage{xcolor}

\definecolor{myblue}{RGB}{30,30,255}
\definecolor{mygreen}{RGB}{0,100,0}

\usepackage{adjustbox}

\newsavebox{\mysavebox}
\newlength{\reste}
\newlength{\myrest}

\usetikzlibrary{shadows,calc,fadings}

\pgfdeclarelayer{background layer}
\pgfsetlayers{background layer,main}

\newcounter{enonce}[section]
\renewcommand{\theenonce}{\thesection.\arabic{enonce}}

\newenvironmentx{enonce}[3][3=]
  {
  \begin{trivlist}\item
   \refstepcounter{enonce}
  \noindent
   \begin{lrbox}{\mysavebox}%
   \begin{tikzpicture}
    \node[inner sep=4pt] (textbox) {\iffalse`}\fi
     \hspace{4pt}\begin{minipage}{\dimexpr\textwidth-4pt-4pt-4pt-0.4pt-0.4pt-0.4pt}
     \hspace{-4pt}\begin{tikzpicture}
     \node[inner sep=4pt] (titlebox) {%
       \begin{minipage}{\dimexpr\linewidth-4pt}
       \bfseries
       #1~\theenonce\ifcat$\detokenize{#3}$\else\space: \textit{\mdseries#3}\fi
       \end{minipage}\hspace{4pt}};
     \begin{pgfonlayer}{background layer}
     \fill[rounded corners, left color=#2!20, right color=#2!0,draw=white]
        (titlebox.south west) [rounded corners] --
        (titlebox.north west) --
        (titlebox.north east) [rounded corners] --
        (titlebox.south east) -- cycle;
     \end{pgfonlayer}
      \end{tikzpicture}
      }
  {\end{minipage}\egroup;
   \draw[gray!20] (textbox.south west) [rounded corners] --
         (textbox.north west) --
         (textbox.north east) [rounded corners=0pt] --
         (textbox.south east) -- cycle;
     \draw[gray!30,line width=2pt] ($(textbox.south west)+(-3pt,-3pt)$) [rounded corners=7pt] --
         ($(textbox.north west)+(-3pt,3pt)$) --
         ($(textbox.north east)+(3pt,3pt)$) [rounded corners=0pt] --
         ($(textbox.south east)+(3pt,-3pt)$) -- cycle;
   \end{tikzpicture}
            \end{lrbox}%
%
\setlength{\reste}{\dimexpr\pagegoal-\pagetotal-\baselineskip\relax} % mesure la hauteur restante dans la page
\ifdim\ht\mysavebox>\reste
    \setlength{\myrest}{\ht\mysavebox}%
    \loop\ifdim\myrest>\reste
         \clipbox{0 {\myrest-\reste} 0 {\ht\mysavebox-\myrest}}{\par\noindent\usebox{\mysavebox}}%
        \addtolength{\myrest}{-\reste}%
          \setlength{\reste}{\textheight}
    \repeat
    \newpage\par\noindent
    \clipbox{0 0 0 {\ht\mysavebox-\myrest}}{\usebox{\mysavebox}}%
\else
    \usebox{\mysavebox}
    %
\fi
\end{trivlist}
}

\newenvironment{definition}
  {\enonce{D\'efinition}{myblue}}
  {\endenonce}

\newenvironment{remarque}
  {\enonce{Remarque}{mygreen}}
  {\endenonce}

\newenvironment{exemple}
  {\enonce{Exemple}{gray}}
  {\endenonce}
 
\newcommand{\boxbreak}{\vfill \ \\}  %pour couper proprement les lignes entre deux pages dans une box

\usepackage{lipsum}

\begin{document}

%\setcounter{chapter}{4}
%\chapter{Titre du chapitre}

\setcounter{section}{2}
\section{Titre de la section}

\lipsum[1]

\begin{definition}[un titre]
\lipsum[1]
\end{definition}

\lipsum[1]

\begin{remarque}
\lipsum[1]
\end{remarque}

\lipsum[1]

\begin{exemple}
\lipsum[1-3]
\end{exemple}

\lipsum[1]
\end{document}


Il y a un problème de ligne à moitié sur une page et à moitié sur une autre...

... mais cela peut donner des idées... ou te permettre peut-être de compléter ta demande sur Mathematex : il y a quelques pointures en TeX qui seront davantage capables de t'aider qu'ici, me semble t-il.
Je dis cela mais un membre de ce forum va peut-être nous surprendre... et sortir une solution qui règle le problème. :-)
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

zariski
Messages : 141
Enregistré le : dim. 30 sept. 2012, 18:50

Re: boites, encore des boites

Message non lu par zariski » mer. 17 avr. 2013, 14:33

merci tout de même.
J'ai au moins un conseil positif: ne pas utiliser Asymptote pour cela ...
Sinon côté Mathematex, on me conseil le package mdframed .
Pffiou encore en l'anglais !
Windows 11- Ubuntu 20.10 - WinEdit - TexStudio - TeXMaker - TeXLive2022

zariski
Messages : 141
Enregistré le : dim. 30 sept. 2012, 18:50

Re: boites, encore des boites

Message non lu par zariski » mer. 17 avr. 2013, 14:43

euh je viens de me relire ! bravo : zéro en français !!!! :oops:
pinaise j'aime pas ça !
Windows 11- Ubuntu 20.10 - WinEdit - TexStudio - TeXMaker - TeXLive2022

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: boites, encore des boites

Message non lu par GM » mer. 17 avr. 2013, 14:48

zariski a écrit :euh je viens de me relire ! bravo : zéro en français !!!! :oops:

Je te rappelle que tu as un bouton "Editer" pour rectifier ! ;-)
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

maurice
Messages : 262
Enregistré le : jeu. 25 mars 2010, 13:00
Contact :

Re: boites, encore des boites

Message non lu par maurice » mer. 17 avr. 2013, 14:55

zariski a écrit :Sinon côté Mathematex, on me conseil le package mdframed .
Pffiou encore en l'anglais !


Salut, sinon, il y a la paquet bclogo qui utilise mdframed et qui doit gérer les coupures de pages (à vérifier).
Je ne sais pas si le rendu te plaira mais en tout cas la doc est en français !!!

Bruno
Doc 3D
Si ça ne marche pas, essayez la version pdf

Fedora 23 -- Asymptote 2.35 -- TeXlive 2013 -- emacs et/ou gedit

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: boites, encore des boites

Message non lu par GM » mer. 17 avr. 2013, 15:10

maurice a écrit :... bclogo qui utilise mdframed et qui doit gérer les coupures de pages (à vérifier).

Je ne pense pas que bclogo permette un démarrage de boite sur une page et la fin sur la suivante.
Ou alors, j'ai raté une mise à jour.
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

zariski
Messages : 141
Enregistré le : dim. 30 sept. 2012, 18:50

Re: boites, encore des boites

Message non lu par zariski » mer. 17 avr. 2013, 15:21

j'ai vu ça aussi !
cela semble sympa.
Merci
Windows 11- Ubuntu 20.10 - WinEdit - TexStudio - TeXMaker - TeXLive2022

maurice
Messages : 262
Enregistré le : jeu. 25 mars 2010, 13:00
Contact :

Re: boites, encore des boites

Message non lu par maurice » mer. 17 avr. 2013, 23:29

GM a écrit :
maurice a écrit :... bclogo qui utilise mdframed et qui doit gérer les coupures de pages (à vérifier).

Je ne pense pas que bclogo permette un démarrage de boite sur une page et la fin sur la suivante.
Ou alors, j'ai raté une mise à jour.


J'ai lu ça dans l'historique de bclogo :

Code : Tout sélectionner

bclogo v3.0 (15 octobre 2011): utilisation du paquet mdframed
    permettant les coupures de boîtes en fin de page.


dans le document source de bclogo.

Bruno
Doc 3D
Si ça ne marche pas, essayez la version pdf

Fedora 23 -- Asymptote 2.35 -- TeXlive 2013 -- emacs et/ou gedit

Répondre