Ambiente per esempi basato sul pacchetto framed

  • Creatore
    Topic
  • #42763
    Up
    0
    Down
    ::


    Ciao a tutti.

    Finalmente dopo tanto tempo mi sono deciso a creare un ambiente
    che stacchi visivamente il suo contenuto dal resto del testo.

    Ho preso spunto principalmente da questo topic e dalla
    striminzita documentazione del pacchetto framed.

    In pratica ho cercato di copiare Andrea cercando però di snellire il codice
    eliminando con l’accetta le cose che non capivo (cioè praticamente quasi tutto) 🙂

    Il risultato ottenuto funziona ma ho un unico vero problema e cioè che tra
    il titoletto Example 1.1 e il resto del testo può avvenire un’interruzione di pagina.
    Ho provato a mettere nobreak ovunque ma niente 🙁

    Nell’altro topic si definisce un ambiente eseframed che viene poi richiamato
    dentro un altro ambiente, l’ambiente esempio. È quello l’unico modo per non
    interrompere la pagina dopo la hbox con il titoletto?

    Esempio che mostra il problema:
    `\documentclass[a4paper,11pt]{article}

    \usepackage{framed}
    \usepackage{lipsum}
    \usepackage{color}

    \definecolor{titlecolor}{rgb}{1,1,1}
    \definecolor{bordercolor}{rgb}{0,0,0}
    \definecolor{backgroundcolor}{rgb}{0.9,0.9,0.9}
    \newcounter{example}[section]
    \renewcommand{\theexample}{\thesection.\arabic{example}}

    \newenvironment{example}{%
    \par\nointerlineskip\vspace{1.2\topsep}\refstepcounter{example}
    \hbox{\colorbox{bordercolor}{\sffamily\bfseries\textcolor{titlecolor}{Example \theexample}}}%
    \nointerlineskip\vspace{-\topsep}%
    \def\FrameCommand{\fboxsep=\FrameSep \textcolor{bordercolor}{\vrule width 2pt}\colorbox{backgroundcolor}}%
    \MakeFramed {\advance\hsize-\width \FrameRestore}\noindent\ignorespaces%
    }%
    {\endMakeFramed}

    \begin{document}

    \section{Prova}

    \lipsum[1-4]

    \begin{example}
    Ecco un bellissimo esempio
    \begin{equation}
    x_{1,2}=a\pm b=-(a\mp b)
    \end{equation}
    \lipsum
    \end{example}

    \end{document}`

    Ovviamente, a parte il problema principale, ogni consiglio, critica e
    semplificazione/ottimizzazione del codice è ben accetta!

    Grazie a tutti.
    Ciao ciao.
    Fra

  • Devi essere connesso per rispondere a questo topic.

Go to top