Re: Produrre linea sotto il titolo

#93603
robitex
Amministratore del forum
    Up
    0
    Down
    ::


    Ho giocato un po’ con il pacchetto xcoffins.
    Aggiungo che i comandi possono essere usati direttamente nel documento senza bisogno dell’ambiente di programmazione L3.
    Ecco un esempio sempre per sottolineare un titolo:
    `\documentclass{article}
    \usepackage{xcoffins}
    \begin{document}

    \NewCoffin\titletext
    \NewCoffin\titleline

    \SetHorizontalCoffin\titletext{\Large Titolo unico}
    \SetHorizontalCoffin\titleline{%
    \rule{\CoffinWidth\titletext}{0.2pt}%
    }
    \JoinCoffins
    \titletext\titleline

    \TypesetCoffin\titletext

    \end{document}`
    Diversamente da franen, il join prevede che ia il titolo ad essere il padre e la linea il figlio ($ texdoc xcoffins per leggere la documentazione L3).

    Per fare in modo che la linea tocchi sempre la base dei caratteri, basta aggiungere tra parentesi tonde al join una distanza:
    `\documentclass{article}
    \usepackage{xcoffins}
    \begin{document}

    \NewCoffin\titletext
    \NewCoffin\titleline

    \SetHorizontalCoffin\titletext{\Large Titolo game con discendenti}
    \SetHorizontalCoffin\titleline{%
    \rule{\CoffinWidth\titletext}{0.2pt}%
    }
    \JoinCoffins
    \titletext\titleline
    (0pt, -\CoffinDepth\titletext)
    \TypesetCoffin\titletext

    \end{document}`

    Con gli argomenti opzionali tra parentesi quadre del join invece, regoliamo i punti di unione.
    Per esempio per sovrapporre una linea nel centro del testo usiamo specificare le chiavi che corrispondono agli allineamenti:
    `\documentclass{article}
    \usepackage{xcoffins}
    \begin{document}

    \NewCoffin\titletext
    \NewCoffin\titleline

    \SetHorizontalCoffin\titletext{\Large Titolo game con discendenti}
    \SetHorizontalCoffin\titleline{%
    \rule{\CoffinWidth\titletext}{0.2pt}%
    }
    \JoinCoffins
    \titletext[vc,hc]\titleline[vc,hc]

    % una prima composizione
    \TypesetCoffin\titletext

    \end{document}`
    Possiamo anche fare il join più di una volta. Per comporre il titolo con due linee, una alla base ed una in sommità, basta scrivere:
    `\JoinCoffins
    \titletext[hc,H]\titleline[hc,vc]
    \JoinCoffins
    \titletext[hc,t]\titleline[hc,vc]`

    Cosa succede se ridefiniamo il coffin? Semplice, la ridefinizione è totale perciò si perde il join con la linea.
    `\documentclass{article}
    \usepackage{xcoffins}
    \begin{document}

    \NewCoffin\titletext
    \NewCoffin\titleline

    \SetHorizontalCoffin\titletext{\Large Titolo game con discendenti}
    \SetHorizontalCoffin\titleline{%
    \rule{\CoffinWidth\titletext}{0.2pt}%
    }
    \JoinCoffins
    \titletext\titleline
    (0pt, -\CoffinDepth\titletext)

    % una prima composizione
    \TypesetCoffin\titletext

    % una seconda ma non cambia niente
    \TypesetCoffin\titletext

    % ridefiniamo il primo coffin
    \SetHorizontalCoffin\titletext{\Large Game is over}

    % ricomponiamo
    \TypesetCoffin\titletext

    \end{document}`

    Interessante per risolvere semplicemente alcuni problemi…
    e come sempre L3 si dimostra assai potente…
    Alla prossima.
    R.

    Go to top