Package Ar Manual


Il package nell'ambiente latex è un'insieme di macro che forniscono delle nuove funzionalità in aggiunta alle funzionalità presenti nel pacchetto latex standard. Ad esempio si può creare una una macro che effettui una formattazione smart di un sorgente c. Il package ArManual contiene tutta una serie di macro che sono legate alla struttura dei nostri dtd. Ad esmepio esiste un set di macro ad hoc per formattare un documento daf. Queste macro utilizzano a loro volta macro tex o latex standard e non dipendono dalla classe utilizzata. Nella nostra implementazione questa indipendenza tra la classe e il package non è stata verificata e possibilmente non è stata implementata correttamente1.

Questo package contiene tutte le macro latex che servono a costruire i manuali ar. Queste macro possono essere raggruppate in diversi gruppi:

  1. Nuovi comandi ar che sostituiscono comandi standard latex. Ad esempio ArP per creare un paragrafo. E' stato creato un comando per quasi tutti i markup previsti dal dtd body.
  2. Nuovi comandi AR per gestire i dtd tecnici: funzioni, files, classi ...
  3. Nuovi comandi per gestire le tabelle.
  4. Nuovi comandi per gestire le immaigni incluse.

La gestione delle tabelle è alquanto complessa. E' il frutto della colaborazione di tre componenti: il perl src.tex.Body2Tex.pm, la nostre macro latex, il package longtable.

  1. Il perl estrae dalla tabella sgml tutte le necessarie informazioni sulla geometria della tabella.
  2. Il perl posiziona una serie di comandi latex il cui scopo è di calcolare la larghezza delle stringhe del prototipo. Questi valori sono memorizzati in variabili latex.
  3. Formatta la long table stabilendo sem0licemente che la colonna è allineata a sinistra, senza fornire le dimensioni della colonna.
  4. Il testo viene piazzato in che ogni cella creando una mini-page che lo contiene. La larghezza del testo viene stabilita sulla base delle variabili calcolate dal prototipo. La mini-page realizza una formattazione multi-riga del testo della dimensione corretta.

La gestione delle immagini, si veda Dimensionamento dei files grafici, è stata realizzata tramite un'unica macro latex: ArImgFloat. Il perl src.tex.Body2Tex.pm, grazie ad un rapido esame del file eps, passa alla macro latex la dimensione dell'immagine. In base alla dimensione dell'immagine la macro effettua diverse operazioni:

  1. Allineamento a destra delle immagini.
  2. La rotazione delle immagini in landscape.
  3. Il ridimensionamento delle immagini troppo grandi.

In conclusione, nella maggior parte dei casi il perl src.tex.Body2Tex.pm invoca una macro latex effettuando una traduzione uno a uno dal markup sgml. Nel caso delle tabelle e delle immagini una parte dell'elaborazione viene effetuata in perl per poi fornire i dati nel modo più semplice possibile alle macro latex.



1 Purtroppo non siamo riusciti a diventare dei veri guru latex o TEX. Per cui molte scelte sono state limitate da una certa carenza di know-how.

dst.3t61mm9.01 • LastModified: 14-9-2007 • John Peter Arnold