Testo in box colorato

  • Creatore
    Topic
  • #15805
    Up
    0
    Down
    ::


    Ciao, all’interno di una figura generata in ambiente picture devo inserire dei box di testo del tipo:

    \put(138,65){\framebox(32,10){Testo}}

    Il box di dimensioni (32,10) unità dovrebbe avere lo sfondo colorato, ad esempio di grigio chiaro. Il problema è che con il comando

    \put(138,65){{\psframebox*[fillcolor=gray]{\framebox(32,10){Testo}}}}

    ovvero con l’utility di pstricks \psframebox* posta all’esterno del comando \framebox ottengo che il grigio deborda dal box, mentre con il comando

    \put(138,65){\framebox(32,10){\psframebox*[fillcolor=gray]{Testo}}}

    ovvero con \psframebox* posto all’interno del framebox ottengo il testo “evidenziato” in grigio e il resto del box bianco.

    Come posso fare per avere un riempimento “perfetto”?
    Grazie a tutti

    Ziocalepino

Visualizzazione 3 filoni di risposte
  • Autore
    Risposte
    • #15806
      DMW
        Up
        0
        Down
        ::

        Ciao, all’interno di una figura generata in ambiente picture devo inserire dei box di testo del tipo:

        \put(138,65){\framebox(32,10){Testo}}

        Il box di dimensioni (32,10) unità dovrebbe avere lo sfondo colorato, ad esempio di grigio chiaro. Il problema è che con il comando

        \put(138,65){{\psframebox*[fillcolor=gray]{\framebox(32,10){Testo}}}}

        ovvero con l’utility di pstricks \psframebox* posta all’esterno del comando \framebox ottengo che il grigio deborda dal box, mentre con il comando

        \put(138,65){\framebox(32,10){\psframebox*[fillcolor=gray]{Testo}}}

        ovvero con \psframebox* posto all’interno del framebox ottengo il testo “evidenziato” in grigio e il resto del box bianco.

        Come posso fare per avere un riempimento “perfetto”?
        Grazie a tutti

        Ziocalepino

        Puoi usare il pacchetto xcolor:
        `
        \fcolorbox{green}{red}{testo}`

        ciao

        Andrea

      • #15807
        Up
        0
        Down
        ::


        L’effetto è analogo a un esempio sopra, cioè il testo viene “evidenziato” ma il box (o meglio il framebox) rimane senza colore.
        Intanto grazie
        Ziocalepino

      • #15808
        DMW
          Up
          0
          Down
          ::

          L’effetto è analogo a un esempio sopra, cioè il testo viene “evidenziato” ma il box (o meglio il framebox) rimane senza colore.
          Intanto grazie
          Ziocalepino

          Non mi sembra.
          `
          \documentclass{article}
          \usepackage{amsmath,amssymb,amsthm}
          \usepackage{amsfonts,amsthm,xcolor}
          \begin{document}
          \fcolorbox{green}{red}{texte}
          \put(138,65){\fcolorbox{green}{red}{texte}}
          \end{document}`

          Crea una box con contorno verde e riempimento rosso. Non è il testo ad essere evidenziato.

          Ciao

          Andrea

        • #15809
          Up
          0
          Down
          ::


          E’ vero però ho bisogno di un \framebox(x,y) riempito completamente e perfettamente.

          Sul sito http://tug.org/PSTricks/main.cgi/ ho trovato un esempio che forse è la via giusta. Lo riporto pari pari:

          \documentclass{article}
          \usepackage{pstricks}
          \setlength{\parindent}{0cm}
          \pagestyle{empty}

          \makeatletter
          \def\MyBox{\pst@object{MyBox}}
          \def\MyBox@i#1#2#3{{%
          \use@par % Local parameters
          \if@star\solid@star\fi % Stared version
          \pssetlength{\pst@dimc}{-\psframesep}
          \psaddtolength{\pst@dimc}{-\psframesep}
          \psaddtolength{\pst@dimc}{-\pslinewidth}
          \psaddtolength{\pst@dimc}{-\pslinewidth}
          \pssetlength{\pst@dima}{#1}
          \psaddtolength{\pst@dima}{\pst@dimc}
          \pssetlength{\pst@dimb}{#2}
          \psaddtolength{\pst@dimb}{\pst@dimc}
          \setbox\z@\vbox to\pst@dimb{\hsize\pst@dima\sloppy\vfil#3\vfil}%
          \psframebox{\box\z@}%
          }}
          \makeatother

          \begin{document}

          \MyBox{5cm}{2cm}{Text to format in paragraph mode.}
          \hspace{1cm}
          \MyBox[framesep=0.3]{5}{2}{Text to format in paragraph mode.}

          \vspace{1cm}
          \MyBox[framesep=1,linewidth=0.2]{5}{4}{Text to format in paragraph mode.}
          \hspace{1cm}
          \MyBox[unit=0.5]{5}{4}{Text to format in paragraph mode.}

          \vspace{1cm}
          \MyBox*[linecolor=lightgray]{5}{2}{Text to format in paragraph mode.}
          \hspace{1cm}
          \MyBox[linecolor=red,fillstyle=solid,fillcolor=yellow]
          {5}{2}{\centering\itshape Text to format in paragraph mode.}

          \end{document}

          A dire il vero il MyBox così creato ha effettivamente le dimensioni dichiarate, però col comando \put bisogna tener conto di 1 – 2 mm di “extra margine” per posizionarlo correttamente nella figura.

          Mi sembra un po’ complicatina come soluzione, ma di fatto il grosso del lavoro, overo la definizione di \MyBox è bella e pronta.
          Spero serva anche ad altri.
          Ciao
          Ziocalepino

      Visualizzazione 3 filoni di risposte
      • Devi essere connesso per rispondere a questo topic.

      Go to top