% \iffalse % % guit.dtx % Copyright 2003, 2004, 2005 Gruppo Utilizzatori Italiani di TeX % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either % version 1.3a of this license or (at your option) any % later version. % The latest version of the license is in % http://www.latex-project.org/lppl.txt % % Author: Emanuele Vicentini % (emanuelevicentini at yahoo dot it) % % This work has the LPPL maintenance status "author-maintained". % % This work consists of the files: README, guit.dtx, guit.ins and the % derived files guit.sty, guit.cfg and guittext.tex % %<*driver> \documentclass[10pt, a4paper, draft]{ltxdoc} \usepackage[italian]{babel} \usepackage{guit} \EnableCrossrefs \CodelineIndex \RecordChanges \OnlyDescription \begin{document} \DocInput{guit.dtx} \end{document} % % %<*test> \documentclass[12pt, a4paper]{article} \usepackage[margin=1in, noheadfoot]{geometry} \usepackage{booktabs, guit, rotating} \pagestyle{empty} \begin{document} \section*{Piccolo test per \guit} Vediamo un po' come si comporta in una footnote\footnote{\guit~\guit\ldots direi che \`e passabile, no?}. Diamoci\footnote{Un'altra nota: \fontfamily{pzc}\fontseries{mb}\fontshape{it}\selectfont\guittext} dentro con qualche cosa\footnote{Un ultima nota: Copyright 2003, 2004, 2005 \guittext} di ``strambo'': \begin{center} \itshape\guit~agus \TeX~go br\'ach!\\ $==$\\ \rmfamily\bfseries\guit~and \TeX~forever! \end{center} Una piccola ``spirale'' colorata e divertente: \swapGuITcommands \GuITcolor[rgb]{1, 0, 0} \newcount\wang \newsavebox{\wangtext} \newdimen\wangspace \def\wheel#1{\savebox{\wangtext}{#1}% \wangspace\wd\wangtext \advance\wangspace by 1cm% \centerline{% \rule{0pt}{\wangspace}% \rule[-\wangspace]{0pt}{\wangspace}% \wang=-180 \loop \ifnum\wang<180 \rlap{\begin{rotate}{\the\wang}% \rule{0.75cm}{0pt}#1 \end{rotate}}% \advance\wang by 20 \space \guitcolor*{coloredelGuIT!90!green}% \repeat}} \wheel{\guit} \swapGuITcommands Ed ora una tabella riepilogativa parziale dei font supportati dalla versione attuale. \begin{center} \begin{tabular}{lc} \toprule Font & Logo \\ \midrule Computer Modern Roman & \guit \\ Times New Roman & \guit[ptm] \\ Palatino & \guit[ppl] \\ NewCentury Schoolbook & \guit[pnc] \\ Charter & \guit[bch] \\ Bookman & \guit[pbk] \\ \bottomrule \end{tabular} \end{center} Per finire, un sfilza di \guit: \begingroup \let\pippo\par \makeatletter \@tfor\famiglia:={cmr}{ptm}{ppl}{pnc}{bch}{pbk}\do{% \noindent \@tfor\dimensione:=\tiny\scriptsize\footnotesize\small\normalsize \large\Large\LARGE\huge\do{% \dimensione\guit[\famiglia]~}% \Huge\guit[\famiglia]\pippo}% \endgroup \begin{center} \Huge Venite tutti al prossimo \guitmeeting* \end{center} \end{document} % % \fi % % % % \CheckSum{286} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z % Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z % Digits \0\1\2\3\4\5\6\7\8\9 % Exclamation \! Double quote \" Hash (number) \# % Dollar \$ Percent \% Ampersand \& % Acute accent \' Left paren \( Right paren \) % Asterisk \* Plus \+ Comma \, % Minus \- Point \. Solidus \/ % Colon \: Semicolon \; Less than \< % Equals \= Greater than \> Question mark \? % Commercial at \@ Left bracket \[ Backslash \\ % Right bracket \] Circumflex \^ Underscore \_ % Grave accent \` Left brace \{ Vertical bar \| % Right brace \} Tilde \~} % % % % \GetFileInfo{guit.sty} % % % % \newcommand*{\pacchetto}[1]{\textsf{#1}} % \newcommand*{\altro}[1]{\texttt{#1}} % % % % \changes{v0.1}{2003/02/15}{Prima release pubblica del pacchetto} % \changes{v0.2}{2003/02/21}{Arricchito il file di test del pacchetto} % \changes{v0.5}{2003/09/04}{Aggiunta tutta la gestione del colore nel logo} % \changes{v0.6}{2003/09/16}{Effettuate un paio di modifiche al file di % test} % \changes{v0.7}{2003/10/10}{Rimossi dal file di test gli usi del font % Utopia} % \changes{v0.7}{2003/10/13}{Integrato il pacchetto \pacchetto{hyperref} su % richiesta di Fabiano Busdraghi} % \changes{v0.7.2}{2004/09/16}{Aggiornata la documentazione riferentesi a % \pacchetto{xcolor}} % \changes{v0.7.2}{2004/09/16}{Personalizzati indice e change history} % \changes{v0.7.3}{2004/10/11}{Alcune piccole modifiche al file di test} % \changes{v0.8}{2004/10/28}{Riallineato il file di test all'ultima modifica % della sintassi di \cs{GuIT}} % \changes{v0.8.2}{2005/04/08}{Aggiunto il file di configurazione esterno} % % % % \title{Documentazione del pacchetto \pacchetto{guit}\thanks{Il numero di % versione di questo file \`e \fileversion; l'ultima revisione \`e avvenuta % in data \filedate.}} % \author{Emanuele Vicentini\\(\texttt{emanuelevicentini at yahoo dot it})} % \date{\filedate} % % % % \maketitle % \begin{abstract} % Questo piccolissimo pacchetto permette di riprodurre il logo del % \emph{\guittext} in maniera sufficientemente indipendente dal font % utilizzato, cercando di mantenerne l'aspetto originale. % \end{abstract} % \tableofcontents % \clearpage % % % % \section{Introduzione} % Questa documentazione \`e stata scritta seguendo le convenzioni % dell'applicazione \LaTeX~\textsc{docstrip} che permette l'estrazione % automatica del codice \LaTeX~dal file di documentazione~\cite{GOOSSENS94}. % % % % \section{Il logo del Gruppo} % Per riprodurre il pi\`u fedelmente possibile il logo del \guit~ho deciso % che la soluzione migliore per ottenere gli effetti desiderati fosse quella % di utilizzare solo font con Caps \& Small Caps, quindi, per evitare % spiacevoli effetti dovuti a combinazioni dei parametri \emph{NFSS2} % indicanti font inesistenti nella famiglia Computer Modern originale % (esempio: OT1/cmr/bx/sc non esiste e viene sostituito automaticamente con % OT1/cmr/bx/n) il logo viene sempre composto con \meta{enc}/\meta{fam}/m/sc % dove \meta{enc}, con un'unica eccezione, pu\`o assumere qualunque valore % mentre \meta{fam} pu\`o variare a scelta tra: % % \begin{enumerate} % \item Computer Modern Roman; % \item Times; % \item Palatino; % \item NewCentury Schoolbook; % \item Utopia\footnote{Il font Utopia non \`e presente in tutte le % distribuzioni di \TeX/\LaTeX~per motivi legali e non \`e pi\`u % considerato un componente fondamentale, quindi nel file di esempio % che accompagna questo pacchetto il font Utopia non \`e stato % utilizzato.}; % \item Charter; % \item Bookman. % \end{enumerate} % % Ho volutamente tralasciato i font Sans Serif perch\'e credo abbiano una % resa qualitativamente inferiore per il nostro progetto. % % Se a qualcuno venisse in mente di tirare in ballo l'encoding T1 perch\'e % esiste il font T1/cmr/bx/sc, mi permetto di dissentire preventivamente: % \`e vero che tutti i font della lista precedente si possono utilizzare % anche con quell'encoding, ma considerate che per usare la famiglia % Computer Modern in formato Type1 (necessario per i \textsc{pdf} di \guit, % altrimenti si hanno i notissimi problemi di visualizzazione con l'Acrobat % Reader) con l'encoding T1 \`e necessario scaricare ed utilizzare la % collezioni \altro{cm-super} oppure \altro{lmodern}, che non sono ancora % componenti standard delle pi\`u comuni distribuzioni di \LaTeX~e sono di % dimensioni ragguardevoli, oppure ricorrere a pacchetti come % \pacchetto{ae}, tanto per citarne solo uno. % % % % \section{Il logo del convegno} % Per cercare di alleviare parte del lavoro degli organizzatori, ho cercato % di riprodurre, per quanto mi \`e possibile, il logo del convegno periodico % del \guittext\ usato a partire dal secondo meeting svoltosi a Pisa il 10 % ottobre 2004. % % Il logo producibile da questo pacchetto, esemplificato in figura % \ref{fig:guitmeeting}, \`e il risultato di un gran numero di tentativi di % riprodurre correttamente quello originariamente utilizzato per il % poster-programma della seconda edizione del meeting. Per questa ragione, % il logo viene sempre composto usando la famiglia Computer Modern, % indipendentemente dalla famiglia principale usata dall'utente. % % Come molti processi automatici, anche questo non \`e perfetto. Si % accettano molto volentieri suggerimenti per migliorarlo (possibilmente in % forma di codice gi\`a funzionante o patch per l'ultima versione di questo % pacchetto). % % \begin{figure}[!t] % \centering % \Huge\guitmeeting % \caption{Logo del convegno periodico} % \label{fig:guitmeeting} % \end{figure} % % % % \section{Comandi} % % % % \subsection{Il logo} % \changes{v0.8}{2004/10/28}{Ristrutturata l'implementazione di \cs{GuIT} % per l'aggiunta dell'argomento opzionale per indicare la famiglia di font % da utilizzare} % \DescribeMacro{\GuIT}\oarg{famiglia}\newline % \DescribeMacro{\GuIT*}\oarg{famiglia}\newline % \DescribeMacro{\guit}\oarg{famiglia}\newline % \DescribeMacro{\guit*}\oarg{famiglia}\newline % Per riprodurre il logo di \guit~l'utente ha a disposizione il comando % \cs{GuIT} che si prende cura di controllare la famiglia di font utilizzata % e cerca di produrre il risultato migliore. Anche se \`e tecnicamente % errato, per comodit\`a l'utente pu\`o usare anche l'equivalente forma % \cs{guit}. Entrambi i comandi dispongono di una versione ``stellata'' che % riproduce il logo con uno schema di colori simile a quello usato nel sito % di \guit~(\guiturl). % % Desidero richiamare l'attenzione sul fatto che in molti casi non \`e % possibile giungere al risultato \emph{perfetto} in quanto le grazie della % G e della U non sono necessariamente sovrapponibili senza % ``sbavature''. Questi difetti non sono eliminabili, ma \`e stato fatto il % possibile per minimizzarli. % % Il font utilizzato di default \`e il font attivo nel punto di invocazione % del comando (se presente nella lista di quelli supportati dal pacchetto), % ma \`e possibile indicarne uno diverso utilizzando l'argomento opzionale e % scegliendo come \meta{famiglia} una di quelle supportate. % % \DescribeMacro{\swapGuITcommands} % \`E possibile scambiare il significato attribuito a \cs{GuIT} e \cs{GuIT*} % in qualunque momento, in modo da ottenere sempre il logo di \guit~a colori % pur continuando ad utilizzare semplicemente il comando \cs{GuIT}, oppure % ritornare al comportamento originale\footnote{A causa della modifica alla % semantica dell'opzione \altro{color}, questo comando \`e decisamente % superfluo e verr\`a probabilmente rimosso in futuro.}. Ci\`o pu\`o % rivelarsi utile durante la preparazione delle bozze di un qualunque % documento, per le quali l'uso del colore fin dalle prime fasi potrebbe % essere considerato uno spreco: utilizzando \cs{swapGuITcommands} non \`e % pi\`u necessario trasformare tutte le occorrenze di \cs{GuIT} in % \cs{GuIT*}. Tenete presente che gli effetti del comando si applicano a % livello globale. % % % % \subsection{Selezione del colore} % \noindent\DescribeMacro{\GuITcolor}\oarg{modello}\marg{dichiarazione}\newline % \noindent\DescribeMacro{\guitcolor}\oarg{modello}\marg{dichiarazione}\newline % Il colore utilizzato da \cs{GuIT*} e da \cs{guit*} pu\`o essere modificato % con questo comando. Se l'argomento opzionale viene omesso si assume l'uso % del modello \emph{cmyk}. Il colore definito in questo modo \`e accessibile % con il nome \texttt{coloredelGuIT}. % % \noindent\DescribeMacro{\GuITcolor*}\oarg{modello}\marg{espressione xcolor}\newline % \noindent\DescribeMacro{\guitcolor*}\oarg{modello}\marg{espressione xcolor}\newline % Se il sistema dell'utente dispone del pacchetto % \pacchetto{xcolor}~\cite{Kern05}, il comando \cs{GuITcolor*} permette di % operare sul colore utilizzato da \cs{GuIT*} utilizzando le espressioni % supportate dal comando \cs{colorlet}; per una discussione pi\`u ampia e % dettagliata si rimanda alla documentazione del pacchetto in questione. Se % \pacchetto{xcolor} non \`e disponibile allora \cs{GuITcolor*} non sortisce % alcun effetto. \cs{GuITcolor*} agisce implicitamente su % \texttt{coloredelGuIT}, quindi \`e essenzialmente equivalente a % \begin{quote} % |\colorlet{coloredelGuIT}|\marg{espressione xcolor} % \end{quote} % L'argomento opzionale specifica il modello di colore in cui % \meta{espressione xcolor} deve essere trasformata prima dell'applicazione % a \texttt{coloredelGuIT}. % % In entrambi i casi, si sconsiglia l'uso del modello \emph{named}. Come per % il comando \cs{GuIT} anche in questo caso si possono usare le equivalenti % forme \cs{guitcolor} e \cs{guitcolor*}. % % % % \subsection{Dicitura completa del Gruppo} % \DescribeMacro{\GuITtext} % \DescribeMacro{\guittext} % \changes{v0.2}{2003/02/17}{Aggiunti due nuovi comandi per indicare la % denominazione completa del \guittext} % Per evitare errori nel riportare la denominazione ufficiale e completa del % Gruppo (\guittext) l'utente pu\`o utilizzare il comando \cs{GuITtext} che % fornisce l'espansione corretta dell'acronimo \guit: \guittext. Notate che % il comando non effettua alcuna modifica al font ed al colore attualmente % in uso e non assume l'uso di alcun font particolare. Come per il comando % \cs{GuIT} anche in questo caso si pu\`o usare l'equivalente forma % \cs{guittext}. % % % % \subsection{Indirizzo del sito internet e del forum pubblico} % \DescribeMacro{\GuITurl} % \DescribeMacro{\guiturl} % Per evitare errori nel riportare l'indirizzo completo del sito internet % del Gruppo (\guiturl) l'utente pu\`o utilizzare il comando \cs{GuITurl} % che scrive l'indirizzo corretto sfruttando il pacchetto \pacchetto{url} % presente nella dotazione standard di qualunque distribuzione di % \TeX\,/\LaTeX. Come per il comando \cs{GuIT} anche in questo caso si pu\`o % utilizzare l'equivalente forma \cs{guiturl}. % % \DescribeMacro{\GuITforum} % \DescribeMacro{\guitforum} % Questo comando permette l'inserimento dell'indirizzo completo del forum % pubblico (\guitforum), sfruttando nuovamente il pacchetto \pacchetto{url}. % Come per il comando \cs{GuIT} anche in questo caso si pu\`o utilizzare % l'equivalente forma \cs{guitforum}. % % % % \subsection{Il logo del convegno} % \DescribeMacro{\GuITmeeting} % \DescribeMacro{\GuITmeeting*} % \DescribeMacro{\guitmeeting} % \DescribeMacro{\guitmeeting*} % Per riprodurre il logo del periodico convegno l'utente ha a disposizione % il comando \cs{GuITmeeting}; trattandosi di un'entit\`a grafica % particolare, non \`e possibile alcuna personalizzazione del risultato ad % eccezione dello schema di colori. Come per gli altri comandi, anche in % questo caso si pu\`o utilizzare l'equivalente forma \cs{guitmeeting}. % Entrambi i comandi dispongono di una versione ``stellata'' che % riproduce il logo a colori con uno schema di colori simile a quello usato % nel sito di \guit~(\guiturl). % % % % \subsection{Creare nuove realizzazioni del logo} % \noindent\DescribeMacro{\DeclareGuITLogoCommand}\marg{famiglia}\marg{u-h}\marg{u-v}\marg{i-h}\marg{t-h}\newline % Il numero di font supportati da questa versione del pacchetto non \`e % molto alto; per gli utenti desiderosi di usare font non previsti % dall'autore, \`e disponibile il comando \cs{DeclareGuITLogoCommand}, % utilizzabile solo nel preambolo del documento o nel file di configurazione % \altro{guit.cfg}. % % I cinque parametri rappresentano: % % \begin{enumerate} % \item il nome della famiglia di font\footnote{In questa sede ci si % riferisce all'accezione del termine \meta{famiglia} tipica del % sistema \emph{NFSS2}.}; % \item lo scartamento orizzontale della \emph{u}; % \item lo scartamento verticale della \emph{u}; % \item lo scartamento orizzontale della \emph{i}; % \item lo scartamento orizzontale della \emph{t}. % \end{enumerate} % % Valori negativi degli ultimi quattro parametri indicano spostamenti verso % sinistra o, dove applicabile, verso l'alto; valori positivi indicano, % ovviamente, spostamenti nelle direzioni opposte. Usando % \cs{DeclareGuITLogoCommand} \`e possibile ridefinire le realizzazioni del % logo fornite dalla versione attuale del pacchetto, con l'unica eccezione % del logo composto con la famiglia Computer Modern. % % % % \section{Configurazione} % Il pacchetto \`e corredato di un piccolo file di configurazione chiamato % \altro{guit.cfg} nel quale l'utente pu\`o impostare un colore di default % per il logo diverso dall'originale, definire nuove realizzazioni del logo % o ridefinire quelle esistente. % % % % \section{Opzioni} % Il pacchetto ha tre opzioni: % % \begin{description} % \item[color] forza la colorazione di tutte le occorrenze del logo, % indipendentemente dalla forma del comando usata e dall'uso di % \cs{swapGuITcommands}; \emph{prestate bene attenzione al fatto che % il significato di quest'opzione \`e radicalmente cambiato rispetto % alle versioni precedenti alla 0.7}; % \item[nocolor] disattiva il supporto del colore; quando viene specificata % quest'opzione \cs{GuIT*} e \cs{guit*} producono gli stessi risultati % di \cs{GuIT}, cio\`e il colore del logo non viene alterato in alcun % modo; % \item[link] abilita l'uso di \pacchetto{hyperref} per trasformare ogni % occorrenza del logo del Gruppo e dell'espansione della dicitura % completa in un link al sito di \guit; prestate attenzione al fatto % che l'aspetto del logo \emph{non muta} minimamente e che se volete % utilizzare \pacchetto{hyperref} con opzioni particolari dovete % caricarlo prima di \pacchetto{guit}; inoltre, come effetto % collaterale dell'uso di \pacchetto{hyperref}, \cs{GuITurl} diventa % automaticamente un link al sito internet di \guit. % \end{description} % % % % \StopEventually{% % \bibliographystyle{alpha} % \begin{thebibliography}{GMS94} % \addcontentsline{toc}{section}{\refname} % \bibitem[GMS94]{GOOSSENS94} Michel Goossens, Frank Mittelbach e Alexander % Samarin. \emph{The \LaTeX\ Companion}. Addison-Wesley Company, 1994. % \bibitem[Ker05]{Kern05} Dr.~Uwe Kern, \emph{Extending \LaTeX's color % facilities: the \pacchetto{xcolor} package}, v2.02, 2005/03/24 % (disponibile presso \textsc{ctan} in % \url{macros/latex/contrib/xcolor}). % \bibitem[Knu86]{CMT} Donal E. Knuth. \emph{Computer Modern Typefaces}, % volume E di \emph{Computer \& Typesetting}. Addison-Wesley % Publishing, 1986. % \end{thebibliography}} % % % % \section{Il codice} % % % \subsection{Il pacchetto} % \changes{v0.2}{2003/02/17}{Corretti un paio di errori nel codice} % Richiediamo espressamente l'uso di \LaTeXe~e ci annunciamo al mondo. % \begin{macrocode} %<*style> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{guit}[2005/04/08 v0.8.2 Logo del GuIT] \RequirePackage{url} % \end{macrocode} % % \changes{v0.7}{2003/10/17}{Modificata la semantica di \texttt{color}: ora % forza la colorazione di tutte le occorrenze del logo} % Dichiariamo le uniche tre opzioni supportate dal pacchetto, usate per % forzare la colorazione di tutte le occorrenze del logo, per escludere % completamente il supporto per il colore e per abilitare l'integrazione con % il pacchetto \pacchetto{hyperref}. % \begin{macrocode} \newif\if@guit@colorized \@guit@colorizedtrue \newif\if@guit@always@colorized \newif\if@guit@xcolorized \newif\if@guit@link \DeclareOption{color}{% \@guit@colorizedtrue \@guit@always@colorizedtrue} \DeclareOption{nocolor}{% \@guit@colorizedfalse \@guit@always@colorizedfalse} \DeclareOption{link}{\@guit@linktrue} \ProcessOptions\relax % \end{macrocode} % % \begin{macro}{\GuITcolor} % \changes{v0.6}{2003/09/16}{Esteso con una versione ``stellata'' che % beneficia delle funzionalit\`a di \pacchetto{xcolor}} % \changes{v0.7}{2003/09/26}{Trasformato in un comando \emph{robusto} (mea % culpa)} % \changes{v0.8.2}{2005/04/08}{Modificata la dichiarazione del colore di % default} % Condizionatamente alle impostazioni attivate, procediamo alla definizione % di un nuovo comando per alterare il colore utilizzato da \cs{GuIT*} e % \cs{guit*}. Definiamo anche il colore utilizzato di default. % \begin{macrocode} \DeclareRobustCommand*{\GuITcolor}{% \@ifstar\x@guit@color@imp\@guit@color@imp} \if@guit@colorized \IfFileExists{xcolor.sty}% {\RequirePackage{xcolor}\@guit@xcolorizedtrue}% {\RequirePackage{color}\@guit@xcolorizedfalse} % \end{macrocode} % Teniamo conto della presenza o meno delle estensioni fornite dal pacchetto % \pacchetto{xcolor} e realizziamo due diverse implementazioni dei comandi % utilizzati da \cs{GuITcolor}\footnote{In realt\`a \cs{@guit@color@imp} % potrebbe essere definito una sola volta se la versione di % \pacchetto{xcolor} fosse la 2.00 o superiore; per ora lasciamo le cose % come stanno.}. % \begin{macrocode} \if@guit@xcolorized \newcommand*{\@guit@color@imp}[2][cmyk]{% \xdefinecolor{coloredelGuIT}{#1}{#2}} \newcommand*{\x@guit@color@imp}[2][\@empty]{% \ifx\@empty#1% \colorlet{coloredelGuIT}{#2}% \else \colorlet{coloredelGuIT}[#1]{#2}% \fi} \else \newcommand*{\@guit@color@imp}[2][cmyk]{% \definecolor{coloredelGuIT}{#1}{#2}} \newcommand*{\x@guit@color@imp}[2][]{\relax} \fi \GuITcolor{1, 0, 1, 0.6} % \end{macrocode} % Se l'utente ha escluso volontariamente l'uso del colore, il tutto si % risolve con due \cs{relax}. % \begin{macrocode} \else \newcommand*{\@guit@color@imp}[2][]{\relax} \newcommand*{\x@guit@color@imp}[2][]{\relax} \fi \let\guitcolor\GuITcolor % \end{macrocode} % \end{macro} % % \begin{macro}{\@guit@url} % Definiamo in un unico punto ed una volta per tutte l'indirizzo del sito % internet di \guit~in modo da evitare ripetizioni prone all'errore. % \begin{macrocode} \def\@guit@url{http://www.guit.sssup.it} % \end{macrocode} % \end{macro} % % \begin{macro}{\@guitimp} % \changes{v0.8}{2004/10/28}{Aggiunto un argomento} % Questa macro fornisce un primo livello di astrazione dalla vera % implementazione del logo, permettendo di attivare opzionalmente il % meccanismo che trasforma ogni logo in un link al sito di \guit. Volendo % evitare intromissioni di \pacchetto{hyperref} nell'aspetto del logo si \`e % disabilitata la colorazione dei link (anche se \pacchetto{hyperref} % venisse caricato con l'opzione |colorlinks=true|) e la creazione del box % che \altro{Acrobat Reader} e qualche altro previewer visualizzano attorno % ai link. % \begin{macrocode} \if@guit@link \RequirePackage{hyperref} \def\@guitimp#1{% \begingroup \Hy@colorlinksfalse \def\@pdfborder{0 0 0}% \href{\@guit@url}{\@@guitimp{#1}}% \endgroup} \else \def\@guitimp#1{\@@guitimp{#1}} \fi % \end{macrocode} % \end{macro} % % Iniziamo ora a preparare i comandi da utilizzarsi in combinazione con i % font attualmente supportati. Il codice poteva probabilmente essere scritto % in maniera diversa e maggiormente compatta, ma ho preferito adottare un % approccio modulare e pi\`u semplice. % % \begin{macro}{\DeclareGuITLogoCommand} % \changes{v0.8.2}{2005/04/08}{Nuovo comando per l'utente finale per creare % nuove realizzazioni del logo} % Il lavoro necessario alla creazione delle diverse realizzazioni del logo % viene interamente demandato ad una macro interna. Per mantenere un minimo % di coerenza, quanto meno all'interno del singolo documento, permettiamo % l'uso di questo comando solo nel preambolo e, di conseguenza, anche nel % file di configurazione esterno. % \begin{macrocode} \DeclareRobustCommand*{\DeclareGuITLogoCommand}{% \@gen@guit@fntcmd} \@onlypreamble\DeclareGuITLogoCommand % \end{macrocode} % \end{macro} % % \begin{macro}{\@gen@guit@fntcmd} % \changes{v0.7.1}{2004/02/28}{Aggiunta questa macro per generare le macro % interne per i vari font; semplificate le macro dei font (con l'eccezione % di quella per il Computer Modern Roman)} % \changes{v0.8}{2004/10/28}{Alterata la selezione del font da usare} % Nell'ottica di voler semplificare il codice del pacchetto viene fatto % largo uso di questa macro per generare ``automaticamente'' le macro % interne che si occupano di comporre il logo in maniera corretta a seconda % del font in uso. I cinque parametri rappresentano: % % \begin{enumerate} % \item il nome della famiglia di font; % \item lo scartamento orizzontale della \emph{u}; % \item lo scartamento verticale della \emph{u}; % \item lo scartamento orizzontale della \emph{i}; % \item lo scartamento orizzontale della \emph{t}. % \end{enumerate} % \begin{macrocode} \def\@gen@guit@fntcmd#1#2#3#4#5{% \@namedef{@guit#1}{% \fontfamily{#1}\mdseries\scshape \@colorize@guit g\kern #2\lower #3\hbox{u}% \@decolorize@guit\kern #4 I\@colorize@guit\kern #5 t}} % \end{macrocode} % \end{macro} % % \begin{macro}{\@guitcmr} % \changes{v0.3}{2003/06/12}{Aggiunta l'indicazione esplicita della famiglia % \textsf{cmr}; in precedenza si usava la famiglia di font con grazie % predefinita, qualunque essa fosse} % \changes{v0.7.3}{2004/10/11}{Un minimo aggiustamento al coefficiente di % traslazione orizzontale della ``u''} % Se il logo deve essere scritto utilizzando il Computer Modern Roman % richiediamo espressamente l'uso del font originale di Knuth impostando per % l'encoding il valore OT1: questo ci permette di produrre documenti in % formato \textsc{pdf} utilizzando font PostScript\texttrademark~anche senza % dover usare la collezione \altro{cm-super}. Questo comando viene usanto % anche quando il font principale usato dall'utente non \`e tra quelli % supportati dal pacchetto. \emph{Non \`e possibile creare questa macro con % \cs{@gen@guit@fntcmd}}. % \begin{macrocode} \def\@guitcmr{% \fontencoding{OT1}\fontfamily{cmr}\mdseries\scshape \@colorize@guit g\kern -0.26em\lower 0.714ex\hbox{u}% \@decolorize@guit\kern -0.125em I\@colorize@guit\kern -0.125em t} % \end{macrocode} % \end{macro} % % \begin{macro}{\@guitptm} % \changes{v0.7.3}{2004/10/11}{Un minimo aggiustamento al coefficiente di % traslazione orizzontale della ``u''} % Questa macro viene utilizzata se l'utente usa il font Times. % \begin{macrocode} \@gen@guit@fntcmd{ptm}{-0.27em}{0.5475ex}{-0.125em}{-0.125em} % \end{macrocode} % \end{macro} % % \begin{macro}{\@guitppl} % \changes{v0.7.3}{2004/10/11}{Minimi aggiustamenti ai coefficienti di % traslazione orizzontale e verticale della ``u''} % Se viene usato Palatino \cs{GuIT} user\`a questo comando. % \begin{macrocode} \@gen@guit@fntcmd{ppl}{-0.276em}{0.717ex}{-0.125em}{-0.125em} % \end{macrocode} % \end{macro} % % \begin{macro}{\@guitpnc} % \changes{v0.7.3}{2004/10/11}{Minimi aggiustamenti ai coefficienti di % traslazione orizzontale e verticale della ``u''} % Se il font attualmente in uso \`e il NewCentury Schoolbook verr\`a usata % questa macro. % \begin{macrocode} \@gen@guit@fntcmd{pnc}{-0.322em}{0.678ex}{-0.125em}{-0.125em} % \end{macrocode} % \end{macro} % % \begin{macro}{\@guitput} % Per il font Utopia si usano i valori di questo comando. % \begin{macrocode} \@gen@guit@fntcmd{put}{-0.285em}{0.61ex}{-0.125em}{-0.125em} % \end{macrocode} % \end{macro} % % \begin{macro}{\@guitbch} % Nel caso si usi il font Charter questa \`e la macro utilizzata. % \begin{macrocode} \@gen@guit@fntcmd{bch}{-0.28em}{0.58ex}{-0.125em}{-0.125em} % \end{macrocode} % \end{macro} % % \begin{macro}{\@guitpbk} % L'ultimo comando ``interno'' viene usato per il font Bookman. % \begin{macrocode} \@gen@guit@fntcmd{pbk}{-0.3em}{0.59ex}{-0.125em}{-0.125em} % \end{macrocode} % \end{macro} % % \begin{macro}{\@@guitimp} % \changes{v0.8}{2004/10/28}{Enormemente semplificata grazie ai preziosi % suggerimenti del Prof.\ Enrico Gregorio; aggiunto un argomento} % L'implementazione del comando a disposizione dell'utente \`e molto % semplice: se non esiste la macro interna associata alla famiglia di font % selezionata si ricade sull'onnipresente Computer Modern Roman, altrimenti % si utilizza la macro appropriata. % \begin{macrocode} \def\@@guitimp#1{% \begingroup \@ifundefined{@guit#1}{\@guitcmr}{\@nameuse{@guit#1}}% \endgroup} % \end{macrocode} % \end{macro} % % \begin{macro}{\@guit@color@on} % \changes{v0.7}{2003/10/17}{Estratto il controllo sul valore di % \cs{@guit@colorized} in modo da effettuare l'operazione una volta sola} % \changes{v0.8}{2004/10/28}{Aggiunto un argomento opzionale} % La porzione dell'implementazione di \cs{GuIT} che attiva la colorazione % del logo, condizionatamente alle impostazioni generali stabilite con le % opzioni del pacchetto. Per scrivere la lettera ``non colorata'' del logo % viene riattivato il colore di default rappresentato da \cs{normalcolor}. % \begin{macrocode} \if@guit@colorized \newcommand*{\@guit@color@on}[1][\f@family]{% \def\@colorize@guit{\color{coloredelGuIT}}% \def\@decolorize@guit{\normalcolor}% \@guitimp{#1}\ignorespaces} \else \newcommand*{\@guit@color@on}[1][\f@family]{% \def\@colorize@guit{\normalcolor}% \def\@decolorize@guit{\normalcolor}% \@guitimp{#1}\ignorespaces} \fi % \end{macrocode} % \end{macro} % % \begin{macro}{\@guit@color@off} % \changes{v0.8}{2004/10/28}{Aggiunto un argomento opzionale} % La porzione dell'implementazione di \cs{GuIT} che disattiva la colorazione % del logo. Se \`e stata precedentemente specificata l'opzione |color| il % tutto si riduce ad eguagliare questo comando al precedente. % \begin{macrocode} \if@guit@always@colorized \let\@guit@color@off\@guit@color@on \else \newcommand*{\@guit@color@off}[1][\f@family]{% \def\@colorize@guit{\normalcolor}% \def\@decolorize@guit{\normalcolor}% \@guitimp{#1}\ignorespaces} \fi % \end{macrocode} % \end{macro} % % \begin{macro}{\GuIT} % Alla fine, ecco il comando a disposizione dell'utente finale per scrivere % il logo del \GuIT. L'implementazione gestisce unicamente la presenza % dell'asterisco, demandando il controllo dell'eventuale argomento opzionale % allo strato sottostante. % \begin{macrocode} \DeclareRobustCommand*{\GuIT}{% \@ifstar\@guit@color@on\@guit@color@off} % \end{macrocode} % \end{macro} % % \begin{macro}{\guit} % Per semplificarci (o, piuttosto, semplificarmi) la vita ecco la versione % del comando precedente con il nome completamente in lettere minuscole. % \begin{macrocode} \let\guit\GuIT % \end{macrocode} % \end{macro} % % \begin{macro}{\swapGuITcommands} % \changes{v0.6}{2003/09/16}{Aggiunto questo comando per scambiare \cs{GuIT} % con \cs{GuIT*}} % \changes{v0.7}{2003/09/26}{Trasformato in un comando \emph{robusto} (mea % culpa)} % Scambiare il significato di \cs{GuIT*} e \cs{GuIT} si riduce a scambiare % tra loro le implementazioni di \cs{guit@color@on} e \cs{guit@color@off}, % ma se il colore \`e stato intenzionalmente escluso, questa macro non % esegue alcuna operazione. Per evitare grattacapi, l'utente viene avvertito % dello scambio appena effettuato. % \begin{macrocode} \if@guit@colorized \DeclareRobustCommand*{\swapGuITcommands}{% \begingroup \let\reserved@a\@guit@color@on \global\let\@guit@color@on\@guit@color@off \global\let\@guit@color@off\reserved@a \endgroup \PackageWarning{guit}{Swapping \string\GuIT* and \string\GuIT}} \else \let\swapGuITcommands\relax \fi % \end{macrocode} % \end{macro} % % \begin{macro}{\GuITtext} % \changes{v0.4}{2003/07/15}{Modificato il testo prodotto da questo comando % per aderire perfettamente alla dizione ufficiale del Gruppo} % \changes{v0.7}{2003/10/15}{Sdoppiata la definizione per tenere conto % dell'uso di \pacchetto{hyperref}} % Il comando per indicare la denominazione completa e corretta del Gruppo % ha una doppia implementazione, a seconda che sia stata specificata o meno % l'opzione |link|. % \begin{macrocode} \if@guit@link \DeclareRobustCommand*{\GuITtext}{% \href{\@guit@url}{Gruppo Utilizzatori Italiani di \TeX}} \else \DeclareRobustCommand*{\GuITtext}{% Gruppo Utilizzatori Italiani di \TeX} \fi % \end{macrocode} % \end{macro} % % \begin{macro}{\guittext} % Come per \cs{GuIT} forniamo la versione con il nome completamente in % lettere minuscole. % \begin{macrocode} \let\guittext\GuITtext % \end{macrocode} % \end{macro} % % \begin{macro}{\GuITurl} % \changes{v0.7}{2003/10/15}{Aggiunto questo comando per scrivere % l'indirizzo del sito internet di \guit~senza troppi errori} % Il comando per scrivere automaticamente l'indirizzo del sito internet di % \guit~ha, implicitamente, una definizione dal duplice comportamento: se % l'opzione |link| non \`e stata specificata (e \pacchetto{hyperref} non \`e % stato caricato per altri motivi) \cs{GuITurl} si limita a scrivere % l'indirizzo del sito; se \pacchetto{hyperref} \`e stato caricato (come % effetto dell'opzione |link| o per altri motivi), il comando scrive % l'indirizzo del sito come collegamento al sito stesso a causa della % ridefinizione di \cs{url} operata da \pacchetto{hyperref}. % \begin{macrocode} \DeclareRobustCommand*{\GuITurl}{% \expandafter\url\expandafter{\@guit@url}} % \end{macrocode} % \end{macro} % % \begin{macro}{\guiturl} % Come per \cs{GuIT} forniamo la versione con il nome completamente in % lettere minuscole. % \begin{macrocode} \let\guiturl\GuITurl % \end{macrocode} % \end{macro} % % \begin{macro}{\GuITforum} % \changes{v0.7.2}{2004/09/16}{Aggiunto questo comando per scrivere % l'indirizzo del forum di \guit~senza troppi errori} % Quanto detto per \cs{GuITurl} vale anche per questo comando. % \begin{macrocode} \DeclareRobustCommand*{\GuITforum}{% \expandafter\url\expandafter{\@guit@url /phpbb}} % \end{macrocode} % \end{macro} % % \begin{macro}{\guitforum} % Come per \cs{GuIT} forniamo la versione con il nome completamente in % lettere minuscole. % \begin{macrocode} \let\guitforum\GuITforum % \end{macrocode} % \end{macro} % % \begin{macro}{\GuITmeeting} % \changes{v0.7.3}{2004/10/11}{Aggiunto questo comando ed alcune macro % accessorie per realizzare il logo del convegno periodico} % \begin{macro}{\@guit@meeting@color@on} % \changes{v0.7.4}{2004/10/15}{Corretta una svista clamorosa nella selezione % del font da usare} % \changes{v0.7.5}{2004/10/17}{Ri-corretta questa macro (si spera per % l'ultima volta)} % \changes{v0.8.1}{2004/11/15}{Aggiunta l'indicazione dell'encoding da % usare} % \begin{macro}{\@guit@meeting@color@off} % \changes{v0.7.4}{2004/10/15}{Corretta una svista clamorosa nella selezione % del font da usare} % \changes{v0.7.5}{2004/10/17}{Ri-corretta questa macro (si spera per % l'ultima volta)} % \changes{v0.8.1}{2004/11/15}{Aggiunta l'indicazione dell'encoding da % usare} % \begin{macro}{\@guit@meeting@part} % L'implementazione del logo del convegno \`e stata partizionata per % realizzare una versione a colori duplicando poco codice. La parte % ``\textit{meeting}'' del logo viene traslata usando per entrambe le % direzioni, come unit\`a di misura, \emph{ex} per cercare di limitare al % minimo le deformazioni dello spazio dovute alla definizione di \emph{em} % (che nella famiglia Computer Modern varia in maniera non proporzionale % alla dimensione nominale del font~\cite{CMT}). % \begin{macrocode} \DeclareRobustCommand*{\GuITmeeting}{% \@ifstar\@guit@meeting@color@on\@guit@meeting@color@off} \def\@guit@meeting@color@on{% \begingroup \fontencoding{OT1}\fontfamily{cmr}\fontseries{m}\selectfont \guit*\@guit@meeting@part \endgroup \ignorespaces} \def\@guit@meeting@color@off{% \begingroup \fontencoding{OT1}\fontfamily{cmr}\fontseries{m}\selectfont \guit\@guit@meeting@part \endgroup \ignorespaces} \def\@guit@meeting@part{% \kern -2.02ex\lower 1.25ex\hbox{\textit{meeting}}} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\guitmeeting} % Come per \cs{GuIT} forniamo la versione con il nome completamente in % lettere minuscole. % \begin{macrocode} \let\guitmeeting\GuITmeeting % \end{macrocode} % \end{macro} % % Terminiamo leggendo il file di configurazione. Nel caso non si riuscisse a % trovarlo, ci limitiamo ad avvertire l'utente. % \begin{macrocode} \InputIfFileExists{guit.cfg}% {\relax}% {\PackageWarning{guit}{Configuration file not found}} % % \end{macrocode} % % % % \subsection{Il file di configurazione} % Il file di configurazione \`e, in realt\`a, vuoto e fornisce solo qualche % esempio. La definizione delle realizzazioni del logo e del colore % predefinito del logo non \`e inserita nel file di configurazione per % diminuire il rischio che l'utente le modifichi o le rimuova % accidentalmente. % \begin{macrocode} %<*cfg> \ProvidesFile{guit.cfg}[2005/04/08 v0.8.2 File di configurazione di guit.sty] %% Esempi: %% \GuITcolor{1, 0, 1, 0.6} %% \DeclareGuITLogoCommand{ptm}{-0.27em}{0.5475ex}{-0.125em}{-0.125em} %% \DeclareGuITLogoCommand{ppl}{-0.276em}{0.717ex}{-0.125em}{-0.125em} %% \DeclareGuITLogoCommand{pnc}{-0.322em}{0.678ex}{-0.125em}{-0.125em} %% \DeclareGuITLogoCommand{put}{-0.285em}{0.61ex}{-0.125em}{-0.125em} %% \DeclareGuITLogoCommand{bch}{-0.28em}{0.58ex}{-0.125em}{-0.125em} %% \DeclareGuITLogoCommand{pbk}{-0.3em}{0.59ex}{-0.125em}{-0.125em} % % \end{macrocode} % % % % \makeatletter % \c@IndexColumns=2 % \c@GlossaryColumns=2 % \def\index@prologue{\section*{Indice}% % \markboth{Indice}{Indice}% % I numeri scritti in corsivo si riferiscono alla pagina in cui la voce % corrispondente viene descritta; i numeri sottolineati si riferiscono % alla % \ifcodeline@index % linea di codice della % \fi % definizione; i numeri in carattere tondo si riferiscono alle % \ifcodeline@index % linee di codice % \else % pagine % \fi % in cui la voce viene usata.}% % \def\glossary@prologue{\section*{{Storico dei cambiamenti}}% % \markboth{{Storico dei cambiamenti}}{{Storico dei cambiamenti}}}% % \makeatother % \clearpage % \Finale % \clearpage % \PrintIndex % \clearpage % \PrintChanges % % % \endinput