Aiuto per \fcolorbox senza segmenti verticali

  • Creatore
    Topic
  • #12393
    Up
    0
    Down
    ::


    Ciao a tutti,
    eccomi qua con un nuovo quesito tipografico. Prendendo spunto dal testo di questa pagina web http://www.regular-expressions.info/charclass.html ho provato a realizzare la stessa cosa in un documento simile in fase di elaborazione ma volendo usare solo \fcolorbox per disegnare rettangoli colorati intorno ad alcune parole del testo, non ho trovato nessuna soluzione per limitare il rendering delle sole linee orizzontali del box.

    È possibile farlo con \fcolorbox o dovrei passare a qualche altro pacchetto (forse pstricks)?

    Grazie,
    Giuseppe

Visualizzazione 6 filoni di risposte
  • Autore
    Risposte
    • #12394
      Up
      0
      Down
      ::

      Ciao a tutti,
      eccomi qua con un nuovo quesito tipografico. Prendendo spunto dal testo di questa pagina web http://www.regular-expressions.info/charclass.html ho provato a realizzare la stessa cosa in un documento simile in fase di elaborazione ma volendo usare solo \fcolorbox per disegnare rettangoli colorati intorno ad alcune parole del testo, non ho trovato nessuna soluzione per limitare il rendering delle sole linee orizzontali del box.

      È possibile farlo con \fcolorbox o dovrei passare a qualche altro pacchetto (forse pstricks)?

      Io modificherei \fcolorbox:
      `\makeatletter
      \def\Fcolorbox#1#{\color@Fbox{#1}}
      \def\color@Fbox#1#2#3{%
      \color@b@x{\fboxsep\z@\color#1{#2}\Fbox}{\color#1{#3}}}
      \long\def\Fbox#1{%
      \leavevmode
      \setbox\@tempboxa\hbox{%
      \color@begingroup
      \kern\fboxsep{#1}\kern\fboxsep
      \color@endgroup}%
      \@Frameb@x\relax}
      \def\@Frameb@x#1{%
      \@tempdima\fboxrule
      \advance\@tempdima\fboxsep
      \advance\@tempdima\dp\@tempboxa
      \hbox{%
      \lower\@tempdima\hbox{%
      \vbox{%
      \hrule\@height\fboxrule
      \hbox{%
      #1%
      \vbox{%
      \vskip\fboxsep
      \box\@tempboxa
      \vskip\fboxsep}%
      #1}%
      \hrule\@height\fboxrule}%
      }%
      }%
      }
      \makeatother`
      usando poi \Fcolorbox come useresti \fcolorbox.

      Ciao
      Enrico

    • #12395
      Up
      0
      Down
      ::


      egreg9, che posso dire… perfetto!! Come al solito osservo come non sarei mai potuto arrivarci da solo.

      mille grazie,
      giuseppe

    • #12396
      Up
      0
      Down
      ::


      Mi rivolgo ancora a te, egreg9, per un piccolo tuning: sarebbe possibile avere una distanza (altezza) costante tra i due segmenti orizzontali? in modo da non avere differenze se evidenzio mmmmm oppure AAAAAA.

      Grazie,
      Giuseppe

    • #12397
      Up
      0
      Down
      ::

      Mi rivolgo ancora a te, egreg9, per un piccolo tuning: sarebbe possibile avere una distanza (altezza) costante tra i due segmenti orizzontali? in modo da non avere differenze se evidenzio mmmmm oppure AAAAAA.

      Inserisci \strut dove vuoi che le distanze siano costanti:
      `\Fcolorbox{black}{red}{\strut mm} \Fcolorbox{black}{green}{\strut AA}`
      Se il risultato non è ottimale, hai sempre \vphantom{…} che inserisce una copia invisibile dell’argomento, tenendo conto solo delle sue dimensioni verticali.
      `\Fcolorbox{black}{red}{\vphantom{A}mm} \Fcolorbox{black}{green}{AA}`

      Ciao
      Enrico

    • #12398
      DMW
        Up
        0
        Down
        ::


        Enrico,

        Ti chiedo se è possibile avere solo le linee verticali e non orizzontali, cioè l’inverso.

        E’ solo una curiosità.

        Ciao

        Andrea

      • #12399
        Up
        0
        Down
        ::


        Grazie Enrico per la tua rapidità nel rispondere; ho provato entrambe le soluzioni e \vphantom mi sembra dia risultati migliori. Volendo usare \vphantom di default ( in particolare \vphantom {Ag} ) dove nel codice della tua prima risposta andrebbe messo?

        Grazie,
        Giuseppe

      • #12400
        Up
        0
        Down
        ::

        Grazie Enrico per la tua rapidità nel rispondere; ho provato entrambe le soluzioni e \vphantom mi sembra dia risultati migliori. Volendo usare \vphantom di default ( in particolare \vphantom {Ag} ) dove nel codice della tua prima risposta andrebbe messo?

        Ti suggerirei di definirti un comando privato:
        `\newcommand{\myFcolorbox}[3]{\Fcolorbox{#1}{#2}{\vphantom{Ag}#3}}`
        Meglio lasciare il comando generico inalterato.

        Ciao
        Enrico

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

    Go to top