Cornice testo tipo listings

  • Creatore
    Topic
  • #43084
    Up
    0
    Down
    ::


    Ho cercato in giro ma non riesco a trovare niente di adatto.
    Avevo pensato di usare l’ambiente listings per ottenere un cornice che racchiudesse alcune parti di testo. Il risultato che voglio ottenere è quello fornito dal seguente codice.
    `
    \documentclass[a4paper,11pt]{article}

    \usepackage{listings}
    \lstset{frameshape={RYR}{Y}{Y}{RYR}, linewidth=12.cm, breakatwhitespace=true}

    \begin{document}

    \begin{lstlisting}
    riga 1
    riga 2
    \end{lstlisting}

    \end{document}
    `

    Il problema è che il testo racchiuso è formattato tramite comandi, mentre l’ambiente listings stampa il testo così com’è.
    Come posso risolvere il problema mantenendo i vantaggi di listings, cioè avere la cornice a margini smussati e la possibilità di proseguire in una pagina successiva se il testo fosse troppo lungo? A proposito di quest’ultimo commento, infatti, non vorrei una soluzione che preveda un oggetto unico, che venga posizionato come “blocco rigido”.

    Grazie e buona serata a tutti,
    Daniele

Visualizzazione 22 filoni di risposte
  • Autore
    Risposte
    • #43085
      Up
      0
      Down
      ::


      Stai usando lo strumento sbagliato.
      Frova a dare un’occhiata ai pacchetti “framed” e “fancybox”.

      🙂
      LuCa

    • #43086
      Up
      0
      Down
      ::


      Più o meno quello che voglio è quanto fornisce framed, cioè voglio che il box posso distribuirsi su più pagine. Ci sono però due problemi che non riesco a risolvere:
      1) Non riesco a fare gli angoli smussati;
      2) Voglio che quando il box si interrompe per poi riprendere nella pagina seguente non venga tracciata la linea di chiusura in basso. In altri termini voglio che se il box si interrompe (causa fine pagina) vengano tracciate solo la linea superiore, quelle laterali e NON quella inferiore, proprio come fa listings.

      Se qualcuno fosse in grado di aiutarmi….

      Grazie e buona serata a tutti.

    • #43087
      Up
      0
      Down
      ::


      Ho trovato il pacchetto boites che mi permette di risolvere il problema 2) succitato. Questo pacchetto però da una scelta dello stile d’incorniciamento davvero molto limitato, per cui non ho ancora risolto il problema 1).

      Qualcuno ha qualche idea o qulche suggerimento relativo magari a pacchetti più evoluti o flessibili?

    • #43088
      Up
      0
      Down
      ::

      Ho trovato il pacchetto boites che mi permette di risolvere il problema 2) succitato. Questo pacchetto però da una scelta dello stile d’incorniciamento davvero molto limitato, per cui non ho ancora risolto il problema 1).

      Qualcuno ha qualche idea o qulche suggerimento relativo magari a pacchetti più evoluti o flessibili?

      Quardando messaggi tipo questi mi sambra di capire che sia un problema di non facile soluzione; se osservi sono intervenuti diversi TeX-wizards senza proporre soluzioni definitive.

      🙁
      LuCa

    • #43089
      Up
      0
      Down
      ::


      A questo punto allora credo proprio che mi accontenterò di boites, che, anche se non fa gli angoli come voglio io, risolve il problema che mi premeva maggiormente.

      Intanto ringrazio chi ha perso tempo per rispondermi o anche solo per cercare una risposta e saluto tutti.

    • #43090
      Up
      0
      Down
      ::

      A questo punto allora credo proprio che mi accontenterò di boites, che, anche se non fa gli angoli come voglio io, risolve il problema che mi premeva maggiormente.

      Intanto ringrazio chi ha perso tempo per rispondermi o anche solo per cercare una risposta e saluto tutti.

      `\documentclass[a4paper,11pt]{article}
      \usepackage{color}

      \usepackage{listings}
      \lstset{frameshape={RYR}{Y}{Y}{RYR}, linewidth=12.cm, breakatwhitespace=true,escapeinside=()}

      \begin{document}

      \begin{lstlisting}
      riga 1 (\bfseries Testo in neretto)
      riga 2
      riga 3 (\itshape\textcolor{red}{Testo in corsivo rosso})
      riga 4 (\itshape\textcolor{red}{che va su due righe})
      \end{lstlisting}

      \end{document}`

      L’unico problema è che devi comporre ogni riga singolarmente. Cioè il testo tra ( ) deve stare nella larghezza del box, altrimenti succede una cosa strana… Poco male, credo. L’esempio è alla riga 3 e 4.

      Ciao
      Ivan

    • #43091
      Up
      0
      Down
      ::


      Con questa soluzione si perde tutto ciò che c’è di bello in LaTeX. Non si hanno sillabazione e giustificazione, la spaziatura corretta tra le righe e tutto il resto. In cambio di bordi arrotondati mi sembra davvero un hack eccessivo…
      🙂

      Bisognerebbe mettere insieme il codice del pacchetto framed e quello del comando “\ovalbox” presente nel pacchetto fancybox.
      Sto dando un’occhiata ma è un lavoro ostico orientarsi in quei file…

      LuCa

    • #43092
      Up
      0
      Down
      ::

      Con questa soluzione si perde tutto ciò che c’è di bello in LaTeX. Non si hanno sillabazione e giustificazione, la spaziatura corretta tra le righe e tutto il resto. In cambio di bordi arrotondati mi sembra davvero un hack eccessivo…
      🙂

      Lo so, ma Daniele sembrava avere un estremo bisogno di una soluzione; ho immaginato che dovesse inserire del codice e ogni tanto cambiare lo stile. La cosa migliore sarebbe che Daniele ci spiegasse bene cosa deve fare e soprattutto perché. Se non c’è una soluzione elegante probabilmente non ha nemmeno tanto senso, come spesso accade con LaTeX :roll:; magari si trova un’alternativa migliore.

      Bisognerebbe mettere insieme il codice del pacchetto framed e quello del comando “\ovalbox” presente nel pacchetto fancybox.
      Sto dando un’occhiata ma è un lavoro ostico orientarsi in quei file…

      LuCa

      Buon lavoro! Te lo lascio volentieri 😉

      Ciao
      Ivan

    • #43093
      Up
      0
      Down
      ::


      A questo punto mi sento un pò in colpa per aver attivato il lavoro di così tanto gente… :oops:, anche perchè in effetti non si tratta proprio di un “estremo” bisogno. Più che altro si tratta di aver in mente un’idea che mi piacerebbe realizzare.
      Come chiesto cercherò di spiegare cosa voglio fare (cercando di non essere troppo prolisso). In una relazione vorrei indicare i passaggi con cui settare i parametri per una analisi con un programma FEM (elementi finiti). Enrico mi ha già gentilmente fornito un comando da lui definito per creare la formattazione che ho pensato. Se volete date un occhio al seguente topic (è molto breve):
      http://www.guit.sssup.it/phpbb/viewtopic.php?t=7696
      Ora, mi piacerebbe che tali indicazioni fossero evidenti e ben distinte dal resto del testo grazie a una cornice, che nello specifico vorrei appunto a bordi arrotondati e senza bordo inferiore nel caso di interruzione per passaggio di pagina (si vedano i punti da me menzionati nei commenti sopra). A proposito di quest’ultimo aspetto, credo che sia il requisito essenziale dato che assolutamente voglio che non si rischi di non capire se un blocco è continuo o meno (per questo temporaneamente ho optato per boites).
      Può essere che io stia affrontando il problema con un approccio sbagliato, però tutto sommato mi pare che la soluzione a cui stò pensando non sia poi così brutta,… almeno spero.

      Intanto grazie.
      PS Se avete altre domande e/o suggerimenti ditemi pure.

    • #43094
      Antonio Ledda
      Partecipante
        Up
        0
        Down
        ::

        […]
        2) Voglio che quando il box si interrompe per poi riprendere nella pagina seguente non venga tracciata la linea di chiusura in basso. In altri termini voglio che se il box si interrompe (causa fine pagina) vengano tracciate solo la linea superiore, quelle laterali e NON quella inferiore, proprio come fa listings.
        […]

        Il pacchetto mdframed prevede un ambiente con questa caratteristica. A breve, dovrebbe essere disponibile anche per l’auto-installazione nella TeX Live 2009.

        Ciao
        Antonio

      • #43095
        Up
        0
        Down
        ::


        Grazie per la segnalazione, pacchetto molto interessante!

        LuCa

      • #43096
        Up
        0
        Down
        ::

        Il pacchetto mdframed prevede un ambiente con questa caratteristica. A breve, dovrebbe essere disponibile anche per l’auto-installazione nella TeX Live 2009.

        Ciao
        Antonio

        L’autore del pacchetto mi segnala di essere al lavoro per un’integrazione con il pacchetto “fancybox”, per ottenere gli angoli arrotondati.

        LuCa

      • #43097
        Antonio Ledda
        Partecipante
          Up
          0
          Down
          ::

          Il pacchetto mdframed prevede un ambiente con questa caratteristica. A breve, dovrebbe essere disponibile anche per l’auto-installazione nella TeX Live 2009.

          Ciao
          Antonio

          L’autore del pacchetto mi segnala di essere al lavoro per un’integrazione con il pacchetto “fancybox”, per ottenere gli angoli arrotondati.

          LuCa

          LuCa,
          grazie per la segnalazione. Nel precedente messaggio mi son dimenticato di riportare questo avviso, contenuto del file .sty:

          Currently the pack[a]ge has a beta-Status

          Ciao
          Antonio

        • #43098
          Up
          0
          Down
          ::


          Segnalo che con l’ultima versione del pacchetto mdframed è possibile ottenere i bordi arrotondati e l’interruzione di pagina.

          Un sobrio esempio dalla documentazione (bisogna scaricare anche il file md-tikz-1.mdf):`\documentclass[a4paper]{book}
          \usepackage{lipsum}
          \usepackage[style=1,leftmargin=20pt,rightmargin=20pt]{mdframed}

          \begin{document}
          \begin{mdframed}[outerlinewidth=4pt,middlelinewidth=2pt,%
          innerlinewidth=1pt,outerlinecolor=blue,%
          middlelinecolor=yellow,innerlinecolor=red,%
          backgroundcolor=orange,roundcorner=20pt]
          \lipsum
          \end{mdframed}
          \end{document}`:)
          LuCa

        • #43099
          Up
          0
          Down
          ::


          Molto interessante,
          ho visto il manuale del pacchetto e devo dire che è proprio quello che cercavo. Ho però un problema. Io uso Miktex 2.8 costantemente aggiornato e, seppur nel Package Manager sia presente mdframed nell’elenco, non riesco a compilare l’esempio minimo postato. Ho però osservato che la voce “Installed on” è vuota. Sapete dirmi come mai? Se cerco gli aggiornamenti non trovo niente.

          Grazie e buona giornata.

        • #43100
          admin
          Amministratore del forum
            Up
            0
            Down
            ::

            Molto interessante,
            ho visto il manuale del pacchetto e devo dire che è proprio quello che cercavo. Ho però un problema. Io uso Miktex 2.8 costantemente aggiornato e, seppur nel Package Manager sia presente mdframed nell’elenco, non riesco a compilare l’esempio minimo postato. Ho però osservato che la voce “Installed on” è vuota. Sapete dirmi come mai? Se cerco gli aggiornamenti non trovo niente.

            Grazie e buona giornata.

            Non uso più MikTeX da qualche tempo, però ricordo che bisogna selezionare i pacchetti non installati e cliccare su un pulsante ” + “.

          • #43101
            Up
            0
            Down
            ::

            Molto interessante,
            ho visto il manuale del pacchetto e devo dire che è proprio quello che cercavo. Ho però un problema. Io uso Miktex 2.8 costantemente aggiornato e, seppur nel Package Manager sia presente mdframed nell’elenco, non riesco a compilare l’esempio minimo postato. Ho però osservato che la voce “Installed on” è vuota. Sapete dirmi come mai? Se cerco gli aggiornamenti non trovo niente.

            Grazie e buona giornata.

            Il pacchetto è appena stato caricato su CTAN. Miktex usa repository differenti che si aggiornano con un certo ritardo.
            Se vuoi provarlo scarica i file direttamente dal link che ho indicato nel mio messaggio.

            🙂
            LuCa

          • #43102
            Up
            0
            Down
            ::


            Ho fatto come indicato da ansys. Sembra che il pacchetto venga installato. Ho anche cliccato su update formats e su refresh FNDB, ma quado compilo mi da l’errore \ProcessKeyvalOptions*. Qualcuno sa dirmi come mai?
            Ho provato a scaricare manualmente i files indicati da LuCa e metterli nella cartella doce è presente il file che devo compilare. Così facendo funziona. Però non mi sembra la soluzione migliore. Vuolendo installare il pacchetto scaricando i files, dove vanno salvati? C’è una cartella in Miktex o se ne deve creare una?

            Grazie mille.

          • #43103
            Up
            0
            Down
            ::

            […]
            Vuolendo installare il pacchetto scaricando i files, dove vanno salvati? C’è una cartella in Miktex o se ne deve creare una?

            Guarda qui per l’installazione nell’albero locale o personale.

            🙂
            LuCa

          • #43104
            Up
            0
            Down
            ::


            Grazie, proverò a seguire quei passi. (Se qualcuno dei gestori del sito dovesse leggere questo messaggio faccio notare che c’è un’errore nel titolo in cima alla pagina. Manca una c in “pachetti” http://www.guit.sssup.it/installazione/pacchetti.php)

            Attendo notizie a proposito dell’errore che ho riportato nel precedente messaggio.

            Grazie a ciao a tutti.

          • #43105
            Up
            0
            Down
            ::

            […]
            Attendo notizie a proposito dell’errore che ho riportato nel precedente messaggio.

            Ovviamente quell’errore è dovuto al fatto che non hai ancora installato la versione aggiornata del pacchetto e stai cercando di usare un’opzione che non è definita nella versione vecchia…

            Se non vuoi o puoi installarlo a mano e ti serve urgentemente questo pacchetto tieni il file .sty nella stessa cartella del documento cui stai lavorando, altrimenti attendi pazientemente che l’aggiornamento si propaghi fino ai repository i MikTeX.

            🙂
            LuCa

          • #43106
            Up
            0
            Down
            ::


            Tempo fa avevo provato ad aggiornare mdframed manualmente sostituendo i files e seguendo quanto indicato nel link che mi ha girato Bistek, senza però aver successo.
            Ora ho appena aggiornato Miktek usando Update. Ho visto che è stato rilasciato anche l’aggiornamento di mdframed, eppure mi si presenta lo stesso problema segnalato in precedenza.
            Dite che ho causato qualche danno che si ripercuote anche sull’update?

            Grazie e buon fine settimana a tutti.

          • #43107
            Antonio Ledda
            Partecipante
              Up
              0
              Down
              ::


              Oltre a mdframed, per ottenere cornici di vario genere si può usare il recente pacchetto tcolorbox. La documentazione è scritta in tedesco, 🙁 ma ci sono alcuni esempi che aiutano a capire come scrivere il codice.

              Da una prima prova, pare che non sia possibile dividere una cornice su più pagine, contrariamente a quanto avviene col pacchetto mdframed.

              Ciao
              Antonio

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

          Go to top