titolo con riga verticale

  • Creatore
    Topic
  • #25154
    Up
    0
    Down
    ::


    ciao a tutti!
    Ho un nuovo quesito da proporre ai super esperti di questo forum.
    Non credo si tratti di una cosa difficile ma dopo tanti tentativi mi arrendo e chiedo consiglio.
    Sto usando titlesec e il sequente codice per inserire i titoli delle section:`
    \titleformat{\section}[block]
    {\large\sffamily}
    {\thesection}{1.5em}{\LARGE\bfseries\parbox[t]{11.5cm}}`
    Specifico che trattandosi di un libro 17×24 sto usando geometry per impostare la dimensioni della pagina: la gabbia del testo è 13×19.
    Quello che vorrei ottenere è che ci fosse una linea verticale, lunga quanto la al’altezza del titolo (di solito il testo del titolo viene distrituito in 2, 3 righe) che separa il numero della section dal corpo del titolo. Una linea tra A1 | Titolo…
    Ho fatto varie prove. Da quel poco che so, dovrebbe bastare una \vrule lunga quanto l’altezza della \parbox. Ma facendo così non mi funziona. Ci sono altri sistemi?
    Usare una tabella e \hline?
    Grazie mille! 😉

Visualizzazione 4 filoni di risposte
  • Autore
    Risposte
    • #25155
      robitex
      Amministratore del forum
        Up
        0
        Down
        ::


        Secondo me potresti usare \rule per tracciare una linea di un certo spessore ed altezza misurata utilizzando il comando primitivo TeX \ht che fornisce l’altezza di un oggetto \savebox contenente il titolo precedentemente costruito.

        Consulta a pag. 49 la guida “Appunti di programmazione in LaTeX e TeX” di Enrico Gregorio (trovi il link nel topic Annunci del forum), per i comandi per ottenere le dimensioni di un box.

        Potresti usare anche la grandezza opzionale di \rule [raise] per abbassare un poco la linea verticale.
        Consulta anche a pag. 41 del libro “The LaTeX Companion”.

        Roberto.

      • #25156
        Up
        0
        Down
        ::

        Secondo me potresti usare \rule per tracciare una linea di un certo spessore ed altezza misurata utilizzando il comando primitivo TeX \ht che fornisce l’altezza di un oggetto \savebox contenente il titolo precedentemente costruito.

        Consulta a pag. 49 la guida “Appunti di programmazione in LaTeX e TeX” di Enrico Gregorio (trovi il link nel topic Annunci del forum), per i comandi per ottenere le dimensioni di un box.

        Potresti usare anche la grandezza opzionale di \rule [raise] per abbassare un poco la linea verticale.
        Consulta anche a pag. 41 del libro “The LaTeX Companion”.

        Occorre molto meno:
        `\titleformat{\section}[block]
        {\large\sffamily}
        {\thesection}{1.5em}{\LARGE\bfseries\vrule\quad\parbox[t]{11.5cm}}`
        Il trucco è che lo stile block mette il titolo in una box, quindi un comando \vrule disegna un filetto dell’altezza della box.

        Ciao
        Enrico

      • #25157
        Up
        0
        Down
        ::

        Occorre molto meno:
        `\titleformat{\section}[block]
        {\large\sffamily}
        {\thesection}{1.5em}{\LARGE\bfseries\vrule\quad\parbox[t]{11.5cm}}`
        Il trucco è che lo stile block mette il titolo in una box, quindi un comando \vrule disegna un filetto dell’altezza della box.

        Ciao
        Enrico

        Eh, sembra facile! E invece ogni volta è una sopresa! Così va benissimo. Grazie Enrico!
        Comunque, dato che ci sono, mi chiedevo se era possibile aggiungere anche una riga orizzontare sotto. Ho fatto varie prove, per metterla ci riesco, ma vorrei ottenere una cosa del tipo:`
        A.1 | Titolo titolo
        |__________
        `
        Ecco, più o meno. Insomma, che la linea fosse agganciata a quella verticale e lunga quanto la parbox del titolo.
        Qua mi sa che andiamo troppo nel complicato, però.. Se dite che è improponibile lascio perdere e mi accontento così. E’ che sto facendo varie bozze e prove..
        Grazie mille comunque!
        [/code]

      • #25158
        Up
        0
        Down
        ::

        Occorre molto meno:
        `\titleformat{\section}[block]
        {\large\sffamily}
        {\thesection}{1.5em}{\LARGE\bfseries\vrule\quad\parbox[t]{11.5cm}}`
        Il trucco è che lo stile block mette il titolo in una box, quindi un comando \vrule disegna un filetto dell’altezza della box.

        Ciao
        Enrico

        Eh, sembra facile! E invece ogni volta è una sopresa! Così va benissimo. Grazie Enrico!
        Comunque, dato che ci sono, mi chiedevo se era possibile aggiungere anche una riga orizzontare sotto. Ho fatto varie prove, per metterla ci riesco, ma vorrei ottenere una cosa del tipo:`
        A.1 | Titolo titolo
        |__________
        `
        Ecco, più o meno. Insomma, che la linea fosse agganciata a quella verticale e lunga quanto la parbox del titolo.
        Qua mi sa che andiamo troppo nel complicato, però.. Se dite che è improponibile lascio perdere e mi accontento così. E’ che sto facendo varie bozze e prove..
        Grazie mille comunque!
        [/code]

        `\newcommand{\sectitlebox}[1]{%
        \vtop{\vrule~\parbox[t]{11.5cm}{#1\par\kern3pt}\hrule}}

        \titleformat{\section}[block]
        {\large\sffamily}
        {\thesection}{1.5em}{\LARGE\bfseries\sectitlebox}`
        L’ultimo comando dell’ultimo argomento obbligatorio di \titleformat può essere un comando con un argomento. Et voilà.

        Però, detto sinceramente, non mi piace affatto.

        Ciao
        Enrico

      • #25159
        Up
        0
        Down
        ::

        `\newcommand{\sectitlebox}[1]{%
        \vtop{\vrule~\parbox[t]{11.5cm}{#1\par\kern3pt}\hrule}}

        \titleformat{\section}[block]
        {\large\sffamily}
        {\thesection}{1.5em}{\LARGE\bfseries\sectitlebox}`
        L’ultimo comando dell’ultimo argomento obbligatorio di \titleformat può essere un comando con un argomento. Et voilà.

        Però, detto sinceramente, non mi piace affatto.

        Ciao
        Enrico

        Grazie per la risposta rapidissima.
        Si, non è proprio sto granchè, ma sto facendo prove, poi ne dovrò discutere in equipe…
        Comuque ho aggiunto una piccola variante, per accorciare la linea orizzontale che usciva dai margini:
        `\newcommand{\sectitlebox}[1]{%
        \vtop{\vrule~\parbox[t]{11.5cm}{#1\par\kern3pt}\hrule width 12cm}}
        `
        Ora faccio qualche altra prova.. al limite vorrei provare con una framebox per mettere dentro il titolo completo.
        Grazie mille e alla prossima! 🙂

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

    Go to top