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.