% \iffalse
% 
% file: layaureo.dtx
% Copyright 2003 Gruppo Utilizzatori Italiani di TeX
% GuIT: http://www.guit.sssup.it
% 
% This program is provided under the terms of the
% LaTeX Project Public License distributed from CTAN
% archives in directory macros/latex/base/lppl.txt.
% 
% Author: Fabiano Busdraghi
%         at fabusdr@yahoo.it
%
% Version: 0.2
% 
% This work has the LPPL maintenance status "author-maintained".
% 
%<*driver>
\documentclass[11pt, a4paper]{ltxdoc}
\usepackage[english,italian]{babel}
\usepackage[latin1]{inputenc}
\EnableCrossrefs
\CodelineIndex
\RecordChanges
\begin{document}
  \DocInput{layaureo.dtx}
\end{document}
%</driver>
% 
% \fi
% 
% \CheckSum{337}
% 
% \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         \~}
% 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
% 
% \def\fileversion{0.2}
% \def\filedate{2004/09/16}
%
% \newcommand*{\pacchetto}[1]{\textsf{#1}}%
% \newcommand*{\codice}[1]{\texttt{#1}}
% \newcommand{\layaureo}{\pacchetto{LayAureo}}
% \newcommand{\riga}{\vspace{\baselineskip}}
%
% \title{Documentazione del pacchetto \pacchetto{LayAureo}\thanks{Il 
% numero di versione di questo file � \fileversion; l'ultima revisione � avvenuta
% in data \filedate. Questo pacchetto � stato scritto per il Gruppo Utilizzatori
% italiani di \TeX\ il cui sito � raggiungibile all'indirizzo 
% \texttt{http://www.guit.sssup.it}}}
% \author{Fabiano Busdraghi\\(\texttt{fabusdr@yahoo.it})}
% \date{\filedate}
% 
% \maketitle
%
% \begin{abstract}\footnotesize
% Pacchetto che modifica il layout di pagina di \LaTeX\ al fine di ottenere
% una maggiore copertura della pagina in formato A4. \layaureo\ fornisce un
% metodo semplice per aggiungere lo spazio richiesto per la rilegatura e un
% opzione per forzare al massimo il riempimento della pagina.
% \end{abstract}
%
% \begin{otherlanguage}{english}
% \begin{abstract}\footnotesize
% This package produces a wide page layout for documents that use A4 paper
% size. Moreover, \layaureo\ provides both a simple hook for leaving an
% empty space which is required if pages are bundled by a press binding (use
% option |binding=length|), and an option called |big| which it forces
% typearea to become maximum. There's no full English documentation yet.
% \end{abstract}
% \end{otherlanguage}
%
% \tableofcontents
%
% \section{Introduzione}
% In questo documento si illustra l'uso del pacchetto \layaureo\ nato
% dall'esigenza di avere il corpo del testo che meglio si adatta alle pagine
% in formato A4 e un metodo semplice per inserire lo spazio necessario alla
% rilegatura.
%
% L'uso del pacchetto � spiegato nella prima sezione, mentre in seguito si
% discute in dettaglio il problema del layout in \LaTeX\ e secondo quali
% criteri � stato costruito il pacchetto.
%
% Dal momento che \layaureo\ modifica un'impostazione cos� importante com'�
% il layout e che il pacchetto non � configurabile, si consiglia all'utente
% di leggere le discussioni suddette almeno per sapere se concorda o meno
% con quanto detto e quindi se desidera o meno usare il pacchetto.
%
% \subsection{Ringraziamenti}
% L'autore desidera ringraziare infinitamente Emanuele Vicentini, per
% l'impagabile aiuto fornito, le spiegazioni dettagliate, la pazienza e la
% precisione nei suggerimenti, le soluzioni fornite, la competenza e la
% simpatia. Grazie mille Emanuele.
%
% Grazie mille anche a tutti quelli che mi hanno consigliato e che hanno
% discusso con me la questione del layout sul forum del Gruppo Utilizzatori 
% italiani di \TeX\, in modo particolare Lapo F. Mori.
%
% \section{Uso del pacchetto}
%
% \subsection{Installazione}
% L'installazione di \layaureo\ non presenta particolari
% difficolt�. Lanciando \LaTeX\ sul file |layaureo.ins| si ottiene il
% file |layaureo.sty| che va spostato in una directory cercata da
% \LaTeX. In seguito al \emph{refresh} del database l'installazione �
% completata. 
%
% Per ottenere la presente documentazione � sufficiente compilare due
% volte il file |layaureo.dtx| con \LaTeX\ o pdf\LaTeX.
% 
% \subsection{Utilizzo}
% Il pacchetto si carica semplicemente con |\usepackage{layaureo}| che
% imposta automaticamente il layout allargando il corpo del testo e
% adattando i margini in base alle impostazioni\footnote{Ovvero le opzioni
% impostate esplicitamente dall'utente oppure quelle utilizzate di default
% dalla classe in uso.} ereditate dalla classe correntemente in uso.
%
% In particolare il documento sar� |oneside| o |twoside| e la larghezza
% della riga sar� ottimizzata per la dimensione del carattere usato. Nel
% caso la carta non sia A4 viene restituito un errore, cos� come se � stata
% impostata l'opzione |landscape| o |twocolumn|, dal momento che tali
% opzioni sono incompatibili con l'esigenza che ha dato vita al pacchetto.
% Analogamente non sono permesse le note a margine.
%
% Il pacchetto ha anche due possibili opzioni:
% \begin{description}
%     \item[big] Aumenta ulteriormente la dimensione del corpo del testo e
%     riduce al minimo i margini laterali e verticali;
%     \item[binding=dim] Lascia una spazio uguale a |dim| (dove |dim| �
%     una lunghezza\footnote{Sono permesse tutte le unit� di misura di \LaTeX.}) per la
%     rilegatura del documento\footnote{Esiste una terza opzione
%     |rilegatura| che si comporta esattamente come |binding| e che �
%     conservata solo per retrocompatibilit�. Il suo uso � pertanto
%     deprecato, e l'opzione non sar� pi� disponibile nelle versioni
%     future del pacchetto.}.
% \end{description}
%
% \subsection{Esempi}
% Per esempio:
% \begin{verbatim}
%     \documentclass[a4paper]{article}
%     \usepackage{layaureo}
% \end{verbatim}
% produce un layout espanso con i margini destro e sinistro uguali, mentre:
% \begin{verbatim}
%     \documentclass[a4paper,12pt,twoside]{article}
%     \usepackage[big,binding=.6cm]{layaureo}
% \end{verbatim}
% produce un layout che riempe totalmente la pagina di testo, lascia un
% bordo di 6mm che verra utilizzato per la rilegatura e, una volta che il
% documento sar� rilegato\footnote{Ovvero una volta che i 6mm per la
% rilegatura saranno stati visivamente eliminati.}, i margini laterali
% risulteranno in rapporto aureo.
%
% \section{Il tormentone del layout}
% Utilizzando una delle classi standard di \LaTeX\ --- senza pacchetti
% particolari che modificano il layout o ridefinizioni dell'autore delle
% impostazioni di pagina --- la maggior parte degli utilizzatori europei che
% stampano su carta in formato A4, trovano che i margini utilizzati da
% \LaTeX\ sono ``troppo stretti'' e che in generale il foglio non �
% ``sufficientemente ben riempito''.
%
% \LaTeX\ inoltre non prevede un modo semplice per lasciare dello spazio
% riservato alla rilegatura del documento stampato. Il risultato � che,
% utilizzando per esempio la classe la classe \pacchetto{book}, con
% l'opzione |twoside|, questa lasci in bianco un grande margine a destra
% delle pagine dispari mentre il gi� piccolo margine sinistro venga quasi
% interamente consumato dalla rilegatura.
%
% Dal momento che la stragrande maggioranza degli utilizzatori del vecchio
% continente stampa in A4 e ha a disposizione solo metodi casalinghi di
% stampa e rilegatura, molto spesso gli utilizzatori di \LaTeX\ restano
% insoddisfatti del layout standard e lo modificano a mano, ottenendo
% pessimi risultati tipografici.
%
% Sono nati quindi svariati pacchetti per ovviare al problema, alcuni, come
% \pacchetto{a4wide}, il cui uso � sempre pi� spesso deprecato vista
% l'incompatibilit� delle varie versioni disponibili e il discutibile
% risultato grafico. Altri invece sono ottimi pacchetti che mettono a
% disposizione dell'utente numerosi e flessibili comandi per modificare a
% proprio piacimento il layout del documento. Si ricorda a tal fine
% soprattutto \pacchetto{geometry}, ma anche \pacchetto{vmargin} o le classi
% della collezione \pacchetto{KOMA-script} e la bellissima e versatile
% classe \pacchetto{memoir}.
%
% Tutti questi pacchetti e classi svolgono egregiamente il loro lavoro, e
% l'utente che desidera creare autonomamente e originalmente il proprio
% layout dovrebbe indirizzarsi al loro utilizzo piuttosto che modificare a
% mano le lunghezze usate da \LaTeX\ per la costruzione del layout, come
% |\oddsidemargin|, |\textwidth|, \textit{etc}.
%
% L'unico lato negativo dell'utilizzo di tali pacchetti � che definire in
% maniera corretta e funzionale il layout di una pubblicazione non �
% semplice e molto facilmente si incorre in errori e imperfezioni.
%
% Uno dei pi� grandi vantaggi di \LaTeX\ � che consente di disinteressarsi
% completamente alle questioni puramente tipografiche, per dar modo
% all'autore di concentrarsi \emph{unicamente} sulla struttura e sui
% contenuti del proprio documento.
%
% Questo punto dovrebbe sempre essere tenuto presente: utilizzando una
% classe scritta da altri l'utente accetta per buone tutte le impostazioni
% tipografiche scelte per lui dall'autore della classe, non � pi� tenuto a
% studiare tipografia per mettere a punto lo stile delle proprie
% pubblicazioni, pu� concentrarsi su altro. Questo � quello che succede
% quando si usano le classi standard, modificarne il layout significa andare
% contro a questa filosofia e, accidentalmente, essere obbligati a studiare
% un po' di tipografia per non ottenere risultati vergognosi.
%
% Tutti i pacchetti citati precedentemente funzionano ottimamente, ma
% costringono l'utente ad interessarsi della forma oltre che della
% struttura.
%
% Il pacchetto \layaureo\ � nato per mettere a disposizione dell'utente un
% layout pronto all'uso, che soddisfi un certo numero di esigenze:
% \begin{itemize}
%     \item Avere una maggior copertura della pagina in formato A4 a differenza di quanto
%     accade con le classi standard;
%     \item Fornire un modo semplice per impostare lo spazio destinato alla
%     rilegatura.
% \end{itemize}
%
% Il layout ottenuto con \layaureo\ non � quindi configurabile o
% personalizzabile\footnote{L'unica eccezione � lo spazio riservato alla
% rilegatura.}. Il layout � qualcosa di molto personale e relativo, quindi
% se l'utente � soddisfatto da quello messo a disposizione dal pacchetto e
% trova allettante l'idea di disinteressarsi al problema della definizione
% del layout, allora potr� utilizzare con soddisfazione \layaureo;
% altrimenti, se un autore ha esigenze diverse o non � soddisfatto dalla
% resa grafica del pacchetto allora pu� provare a rivolgersi agli altri
% pacchetti o classi precedentemente citati e costruirsi da solo il layout
% che corrisponde alle proprie aspettative.
%
% \section{Il layout di LayAureo}
% In questa sezione viene descritto come � stato costruito il layout del
% pacchetto, con l'intento di giustificare le scelte fatte.
%
% Si parte dall'assunzione che l'utente usi un foglio A4 e dalla
% constatazione che il corpo del testo, usando le classi standard, riempe a
% mala pena la pagina. Il punto di partenza sar� quindi scegliere le
% dimensioni del corpo del testo, in maniera che ricopra sufficientemente la
% pagina.
%
% \subsection{Bringhurst e la lunghezza della riga}
% Le impostazioni di \LaTeX\ non sono dovute al caso, anzi cercano sempre di
% mettere a disposizione dell'utente il risultato migliore dal punto di
% vista tipografico.
%
% Per quanto riguarda la larghezza della riga questa � impostata in maniera
% che la leggibilit� sia massima, che il lettore non abbia difficolt� a
% seguirla con lo sguardo e a trovare la successiva quando ne � arrivato al
% termine.
%
% La lunghezza della riga � stata decisa utilizzando un metodo empirico
% inventato da Bringhurst. Per quanto riguarda le dimensioni del testo nelle
% classi standard si trova che le dimensioni ottimali sono quelle riportate
% in tabella \ref{dimriga}, dove sono stati anche riportati i valori
% utilizzati dalle classi standard di \LaTeX:
%
% \begin{table}[!ht]\centering
% \begin{tabular}{l c c c}
%     \hline
%     Dimensione carattere: & 10pt & 11pt & 12pt\\
%     Larghezza ottimale: & 22--26pc & 24--28pc & 26--30pc\\
%     Larghezza \LaTeX\ standard: & $\sim$28,7pc & 30pc & $\sim$32,5pc\\
%     \hline
% \end{tabular}
%     \caption[Lunghezza riga]{\small In funzione della dimensione del carattere
%     utilizzato sono riportati i valori ottimali della larghezza della riga
%     determinati secondo il metodo di Bringhurst e i valori utilizzati
%     dalle classi standard di \LaTeX\ per impostare la larghezza del corpo del testo.}
%     \label{dimriga}
% \end{table}
%
% Come si vede \LaTeX\ gi� utilizza delle righe un po' troppo lunghe
% rispetto a quanto determinato da Bringhurst. Si pu� quindi dedurre a
% ragione che il layout di \LaTeX\ gi� fornisce delle righe molto lunghe e
% che � sconsigliabile allungarle ulteriormente.
%
% Questo ragionamento � corretto, e va tenuto presente. Se con le pagine A4
% il testo sembra troppo stretto e i margini esagerati, allora sarebbe
% meglio stampare su fogli pi� piccoli, in maniera da avere dei margini pi�
% ridotti, lasciando per� la lunghezza della riga invariata. Solo in questo
% modo si pu� conciliare l'esigenza di avere una pagina ``piena'' con quella
% di avere una riga dalla lunghezza ottimale per la lettura.
%
% Se si parte dall'assunto che si stampa in formato A4 e si aumenta la
% larghezza della riga rispetto a quanto fatto da \LaTeX\ standard, bisogna
% tenere presente che si diminuisce la leggibilit� del documento. Perch�
% allora creare un pacchetto che diminuisce la leggibilit� di un documento?
% Il pacchetto \layaureo\ infrange la regola di Bringhurst perch� in
% ambiente universitario o casalingo la norma (o a volte l'obbligo) �
% stampare su fogli A4 e spesso sorge l'esigenza concreta di avere un
% riempimento maggiore della pagina (numero massimo di pagine della tesi,
% relatore dai pessimi gusti\ldots)
%
% Nonostante questo bisogna sempre tenere presente che \layaureo\
% \textbf{aumenta l'ampiezza della riga portandola al di sopra del valore
% ottimale} e il risultato pu� essere meno leggibile dell'originale.\riga
%
% Detto ci� vediamo come \layaureo\ modifica la dimensione della riga: dal
% momento che le battute per riga devono essere comprese fra 60 e 70 si
% ottiene con la regola di Bringhurst che la larghezza della riga ottimale �
% definita a meno di 4pc.
%
% Si pu� interpretare questo valore come l'incertezza della lunghezza della
% riga ottimale. \layaureo\ aumenta la larghezza della riga di questo
% valore\footnote{Nel caso venga specificata l'opzione |big| la riga viene
% incrementata di ancora 3pc.} di incertezza, ma la scelta � puramente
% arbitraria.
%
% \subsection{Proporzioni: la sezione aurea}
%
% Come si � visto nella sezione precedente il punto di partenza di
% \layaureo\ � la larghezza della riga. Una volta stabilita questa restano
% da costruire tutti gli elementi che compongono il layout. Il criterio
% adottato � quello di ottenere un layout dove i vari oggetti hanno fra di
% loro proporzioni armoniose.
%
% Gia i greci scoprirono che se si divide una linea retta di lunghezza $l$
% in due parti di lunghezza rispettiva $a$ e $b$, il massimo risultato
% estetico in termini di armonia e bellezza si ottiene quando il rapporto
% fra $a$ e $b$ � dato dalla sezione aurea $\phi$, armonia che si ottiene
% quando il rapporto della lunghezza maggiore sulla minore � uguale al
% rapporto fra l'intera linea e la lunghezza maggiore. In formule, se $b>a$:
% \[\phi= \frac{b}{a}=\frac{a+b}{b}= (1+\sqrt{5})/2\]
%
% La sezione aurea ricorre frequentemente in matematica, in fisica, in arte,
% in tipografia e in natura ed � sempre associata a propriet� di equilibrio
% ed armonia. Per questo motivo \layaureo\ imposta l'altezza del testo in
% maniera che sia in rapporto aureo con la larghezza, da cui il nome del
% pacchetto.
%
% Nel caso di formato A4 la proporzione fra i lati della pagina non � $\phi$
% ma $\sqrt{2}$. La scelta di una proporzione diversa riduce l'effetto di un
% rettangolo (il corpo del testo) infilato in un altro rettangolo uguale (la
% pagina). Inoltre in questo modo il layout assomiglia di pi� a quello di
% \LaTeX\ standard (che usa un rapporto fra l'altezza e la larghezza del
% testo addirittura maggiore di $\phi$).
%
% Infine si ricorda che, rilegando il documento stampato, la pagina risulta
% visivamente pi� piccola, vedendo il lato minore diminuito della quantit�
% necessaria alla rilegatura.
%
% \subsection{Margini e note a margine}
%
% I margini sono costruiti di conseguenza, per quanto riguarda quelli
% laterali sono uguali in caso di documento |oneside| e in proporzione aurea
% per |twoside| con il margine minore a sinistra delle pagine dispari.
%
% I margini verticali invece non sono in rapporto aureo ma piuttosto
% $\sqrt{2}$, perch� altrimenti l'inferiore appare troppo grande,
% soprattutto considerando che le intestazioni si trovano pi� frequentemente
% nella parte alta della pagina che in quella bassa, riducendo visivamente
% il bordo superiore.
%
% Infine non � stato lasciato lo spazio per le note a margine, dato che
% diminuendo i bordi stessi rispetto a quelli di \LaTeX\ standard non rimane
% pi� spazio per le note. Se l'utente ha necessit� di utilizzare le note a
% margine allora � meglio che si indirizzi sulle classi standard che
% prevedono lo spazio adeguato.
% 
% \StopEventually{}
% 
% \section{Il Codice}
% 
% Annuncio del pacchetto e richiesta dei package necessari a \layaureo.
%   \begin{macrocode}
%<*style>
\ProvidesPackage{layaureo}[2004/09/16 v0.2]
\RequirePackage{geometry}   
\RequirePackage{calc}
\RequirePackage{keyval}
%    \end{macrocode}
%
% Dichiarazione delle lunghezze interne e inizializzazione
% a 0 della larghezza del corpo del testo.
%    \begin{macrocode}
\newlength{\LA@MargineRilegatura}
\newlength{\LA@LarghezzaTesto}
\newlength{\LA@AltezzaTesto}
\newlength{\LA@MargineSinistro}
\newlength{\LA@MargineSuperiore}
\setlength{\LA@LarghezzaTesto}{0pt}
%    \end{macrocode}
%
% \begin{macro}{\LayAureo@ErrPagina}
% Semplice macro che restituisce un messaggio d'errore nel caso 
% l'utente cerchi di usare \layaureo\
% con una dimensione del foglio diversa da A4.
%    \begin{macrocode}
\def\LayAureo@ErrPagina{
    \PackageError{LayAureo}%
        {The paper dimension is not A4}%
        {You must choose the "a4paper" class option}}
%    \end{macrocode}
% \end{macro}
%
% Se il foglio non � A4 � inutile continuare.
%    \begin{macrocode}
\ifdim\paperwidth=210mm
    \ifdim\paperheight=297mm
        \relax
    \else
        \LayAureo@ErrPagina
    \fi
\else
    \LayAureo@ErrPagina
\fi
%    \end{macrocode}
%
% Analogamente non si pu� usare \layaureo\ quando si vuole un documento |twocolumn|.
%    \begin{macrocode}
\if@twocolumn
    \PackageError{LayAureo}%
        {LayAureo doesn't work with the twocolumn option}%
        {You must choose the "onecolumn" class option}
\fi
%    \end{macrocode}
%
% Definizione delle opzioni |binding| e |big|.
%    \begin{macrocode}
\define@key{LayAureo}{binding}[0pt]%
    {\setlength{\LA@MargineRilegatura}{#1}}
\newif\if@LA@big
\define@key{LayAureo}{big}[true]{\@nameuse{@LA@big#1}}
%    \end{macrocode}
%
% Definizione dell'opzione |rilegatura| utilizzata solo per
% retrocompatibilit� il cui uso � deprecato.
%    \begin{macrocode}
\define@key{LayAureo}{rilegatura}[0pt]%
     {\PackageWarningNoLine{LayAureo}%
         {Option "rilegatura" is obsolete, use binding instead}%
     \setlength{\LA@MargineRilegatura}{#1}}
%    \end{macrocode}
%
% \begin{macro}{\ProcessOptionsWithKV}
% Definizione della macro che permette di processare le opzioni con  il 
% pacchetto \pacchetto{keyval}. Questa macro �
% necessaria per poter specificare come opzione di \layaureo\ un valore da assegnare
% al margine lasciato per la rilegatura, utilizzando la sintassi 
% |\usepackage[binding=dim]{layaureo}| dove |dim| � una lunghezza.
%    \begin{macrocode}
\def\ProcessOptionsWithKV#1{%
    \let\@tempa\@empty
    \@for\CurrentOption:=\@classoptionslist\do{%
        \@ifundefined{KV@#1@\CurrentOption}%
            {}{\edef\@tempa{\@tempa,\CurrentOption,}}}%
    \edef\@tempa{%
        \noexpand\setkeys{#1}%
            {\@tempa\@ptionlist{\@currname.\@currext}}}%
    \@tempa
    \AtEndOfPackage{\let\@unprocessedoptions\relax}}
%    \end{macrocode}
% \end{macro}
%
% Qui si processano le opzioni e, nel
% caso sia stata specificata l'opzione |big| si aumenta la larghezza
% del testo di ancora 3pc.
%   \begin{macrocode}
\ProcessOptionsWithKV{LayAureo}
\if@LA@big
  \addtolength{\LA@LarghezzaTesto}{3pc}%
\fi
%    \end{macrocode}
%
% Si effettua il controllo sul contenuto di |\@ptsize| in modo da sapere se il documento 
% sta usando una dimensione del font di 10, 11 o 12pt. A seconda dei casi si imposta
% la larghezza del testo in modo che superi di 4-5pc la larghezza ottimale della riga
% determinata con la legge empirica di Bringhurst. Se per caso il contenuto di |\@ptsize| 
% � diverso da 0, 1 o 2 si usa un'impostazione uguale al caso 11pt, ma il pacchetto 
% restituisce un warning.
%    \begin{macrocode}
\long\def\temp@a{0}%
\ifx\@ptsize\temp@a
    \addtolength{\LA@LarghezzaTesto}{31pc}%
\else
    \long\def\temp@a{1}%
    \ifx\@ptsize\temp@a
        \addtolength{\LA@LarghezzaTesto}{33pc}%
    \else
        \long\def\temp@a{2}%
        \if\@ptsize\temp@a
            \addtolength{\LA@LarghezzaTesto}{35pc}%
        \else
            \addtolength{\LA@LarghezzaTesto}{33pc}%
            \PackageWarningNoLine{LayAureo}%
                {Textwidth as whith the "11pt" class option}%
        \fi
    \fi
\fi
%    \end{macrocode}
%
% L'altezza del testo viene assegnata in maniera che sia in rapporto aureo 
% con la larghezza. Il margine superiore viene assegnato in maniera che
% quello inferiore sia $\sqrt{2}$ volte il margine superiore.
%    \begin{macrocode}
\setlength{\LA@AltezzaTesto}
    {1.61803\LA@LarghezzaTesto}
\setlength{\LA@MargineSuperiore}
    {.41421\paperheight-.41421\LA@AltezzaTesto}
%    \end{macrocode}
%
% Se il documento � in |twoside| i margini laterali vengono messi in rapporto
% aureo, altrimenti sono uguali.
%    \begin{macrocode}
\if@twoside
    \setlength{\LA@MargineSinistro}
        {0.38197 \paperwidth-0.38197\LA@LarghezzaTesto}
\else
    \setlength{\LA@MargineSinistro}
        {(\paperwidth-\LA@LarghezzaTesto)/2}
\fi
%    \end{macrocode}
%
% Finalmente si passano tutte le impostazioni a \pacchetto{geometry}
% e si lascia che questo pacchetto faccia il suo lavoro al posto nostro.
%    \begin{macrocode}
\geometry{
        a4paper,
        ignoremp,
        bindingoffset=\LA@MargineRilegatura,
        textwidth=\LA@LarghezzaTesto,
        textheight=\LA@AltezzaTesto,
        lmargin=\LA@MargineSinistro,
        tmargin=\LA@MargineSuperiore}
%</style>
%    \end{macrocode}
%
% 
\endinput