Web Analytics Made Easy - Statcounter


https://www.amazon.it/dp/B0CT9YL557

We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
a2 --- Sgmltexi: struttura

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [violazione licenza] [translators] [docinfo] [indice analitico] [volume] [parte]


Capitolo 313.   Sgmltexi: struttura

Sgmltexi impone uno schema preciso al documento, in base alle consuetudini dei documenti stampati. Questo capitolo descrive brevemente tale struttura.

313.1   Struttura generale per un sorgente Sgmltexi

Il sorgente Sgmltexi tipico inizia così:

<!DOCTYPE Sgmltexi PUBLIC "-//GNU//DTD Sgmltexi//EN">

Naturalmente, potrebbe essere conveniente la definizione iniziale di alcune entità generali, come si vede nell'esempio seguente:

<!DOCTYPE Sgmltexi PUBLIC "-//GNU//DTD Sgmltexi//EN">
[
<!ENTITY EDITION   "2000.05.20">
...
...
]>

Tutto il documento viene racchiuso all'interno dell'elemento sgmltexi, rispettando una certa struttura: deve esserci un elemento head, ci può essere un elemento intro, ci deve essere un elemento body, infine ci può essere un elemento appendix. Lo spazio successivo all'elemento appendix può essere occupato da alcuni indici analitici (cosa che viene descritta meglio in seguito).

<sgmltexi>
<head>
...
</head>
<intro>
...
</intro>
<body>
...
</body>
<appendix>
...
</appendix>
</sgmltexi>

L'elemento sgmltexi ha tre attributi: lang, charset, spacing. Attraverso l'attributo lang si definisce il linguaggio in cui è scritto il documento, richiamando implicitamente una configurazione particolare all'interno di Texinfo. Questo linguaggio si indica assegnando una sigla corrispondente allo standard ISO 639, come si vede nell'esempio seguente:

<sgmltexi lang="it">

L'attributo charset permette di indicare il valore da assegnare al comando @documentencoding di Texinfo. L'uso di questo attributo viene oscurato dall'opzione --input-encoding, se questa viene usata. Infatti, tale opzione implica un'elaborazione del sorgente per cui si genera un file Texinfo in formato ISO 646 (ASCII tradizionale), cosa che fa perdere di significato al comando @documentencoding.

La composizione di un sorgente Texinfo dà risultati differenti a seconda dei casi, per cui alle volte può essere conveniente scrivere usando comandi come @`a («à»), mentre altre volte conviene scrivere usando una codifica ISO 8859-n, annotando questo nel comando @documentencoding. Probabilmente, è prevista la sistemazione di questo problema nelle prossime versioni di Texinfo; per ora l'ambivalenza di Sgmltexi può aiutare in tal senso.

L'attributo spacing dovrebbe essere superfluo, dal momento che serve a definire la spaziatura alla fine del punto fermo. Questo comportamento dovrebbe essere definito automaticamente in base alla scelta del linguaggio. Questo attributo consente quindi di forzare la situazione, imponendo una spaziatura non conforme allo standard. I valori che si possono assegnare sono: normal, french e uniform. Assegnando french, oppure uniform, si ottiene in pratica la stessa cosa che si otterrebbe con il comando @frenchspacing di Texinfo. L'esempio seguente rappresenta ciò che potrebbe essere conveniente in un testo italiano:

<sgmltexi lang="it" charset="ISO-8859-1" spacing="uniform">

Tabella 313.6. Elementi SGML che compongono la struttura generale.

Elemento o
attributo
Contenuto Descrizione
sgmltexi Contenitore del documento.
   lang Attributo Sigla ISO 639 del linguaggio.
   charset Attributo Codifica nella forma ISO-8859-n.
   spacing Attributo normal, french e uniform.
head Intestazione del documento.
   admin Informazioni amministrative.
      setfilename Vuoto Inserisce il comando @setfilename.
         content Attributo Il nome del primo file Info da generare.
      settitle Vuoto Inserisce il comando @settitle.
         content Attributo Titolo.
      setchapternewpage Vuoto Inserisce il comando @setchapternewpage.
         content Attributo Separazione dei capitoli: on, off, odd.
      footnotestyle Vuoto Inserisce il comando @footnotestyle.
         content Attributo Piè pagina: end, separate, empty.
      headings Vuoto Inserisce il comando @headings.
         content Attributo Intestazioni: on, off, single,
double, singleafter, doubleafter.
      defindex Vuoto Inserisce il comando @defindex.
         name Attributo Sigla di due lettere dell'indice analitico.
      defcodeindex Vuoto Inserisce il comando @defcodeindex.
         name Attributo Sigla di due lettere dell'indice analitico.
      synindex Vuoto Inserisce il comando @synindex.
         from Attributo L'indice di origine: una sigla di due lettere.
         to Attributo L'indice di destinazione: una sigla di due lettere.
      syncodeindex Inserisce il comando @syncodeindex.
         from Attributo L'indice di origine: una sigla di due lettere.
         to Attributo Destinazione in cui deve apparire in dattilografico.
      infodir Vuoto Comando @direntry in modo automatico.
      infodir #PCDATA Comando @direntry con un contenuto letterale.
   titlepage Informazioni delle prime pagine.
      title %inline; Inserisce il comando @title.
      subtitle %inline; Inserisce il comando @subtitle.
      abstract %block; Descrizione del contenuto del documento.
      author %inline; Inserisce il comando @author.
      frontcovertext %block; Testo da inserire in copertina.
      tpextra %block; Testo aggiuntivo nelle prime pagine.
      legal Informazioni legali alla base della seconda pagina.
         copyright %inline; Una riga di copyright.
         publishnote %block; Note da mostrare prima della licenza.
         license %block; Condizioni con cui è rilasciato il documento.
         coverart %block; Note sulla copertina, da mostrare dopo la licenza.
      dedications %block; Pagina delle dediche.
   contents Vuoto Indice generale standard.
   shortcontents Vuoto Indice generale ridotto.
   summarycontents Vuoto Indice generale ridotto.
   menu Vuoto Inserisce un menù Info automatico.
   topnode Vuoto Specifica il nodo iniziale.
      next Attributo Riferimento al nodo successivo.
      prev Attributo Riferimento al nodo precedente.
      up Attributo Riferimento al nodo superiore.
   menu Inserisce un menù Info manuale.
      detailmenu #PCDATA Dettaglio nel menù Info.
intro Delimita i capitoli che compongono l'introduzione.
   h1 Titolo di un capitolo introduttivo.
   h2 Titolo di una sezione introduttiva.
   h3 Titolo di una sottosezione introduttiva.
   h4 Titolo di una sotto-sottosezione introduttiva.
body Delimita il corpo del documento.
   tomeheading Titolo di un tomo.
   partheading Titolo di una parte.
   h1 Titolo di un capitolo.
   h2 Titolo di una sezione.
   h3 Titolo di una sottosezione.
   h4 Titolo di una sotto-sottosezione.
appendix Delimita i capitoli che compongono l'appendice.
   h1 Titolo di un'appendice.
   h2 Titolo di una sezione di appendice.
   h3 Titolo di una sottosezione di appendice.
   h4 Titolo di una sotto-sottosezione di appendice.
indexheading Titolo di un indice analitico.
   printindex Vuoto Inserisce un indice analitico particolare.
      name Attributo Sigla dell'indice analitico da inserire.
   titolo_generico I titoli hanno degli attributi in comune.
      id Attributo Ancora per i riferimenti ipertestuali.
      node Attributo Definizione manuale del nodo.
      menu Attributo Titolo che appare nel menù.
      next Attributo Definizione manuale del prossimo nodo.
      prev Attributo Definizione manuale del nodo precedente.
      up Attributo Definizione manuale del nodo superiore.
   titolo_h Dal capitolo in giù c'è un attributo aggiuntivo.
      type Attributo Numerato, non numerato o intestazione semplice: numbered, unnumbered, heading.

313.1.1   Intestazione

L'elemento head è il più complicato. È necessario per definire molte informazioni che riguardano il documento. Segue un esempio abbastanza completo, che si riferisce alla documentazione ipotetica dello stesso Sgmltexi.

<head>
    <admin>
        <setfilename content="sgmltexi.info">
        <settitle content="Sgmltexi">
        <setchapternewpage content="odd">
        <defindex name="sg">
        <syncodeindex from="sg" to="cp">
        <infodir cat="Texinfo documentation system">
    </admin>
    <titlepage>
        <title>Sgmltexi</title>
        <subtitle>An alternative way to write Texinfo
        documentation</subtitle>
        <subtitle>This edition is for Sgmltexi
        &EDITION; (alpha) for Texinfo 4.0</subtitle>
        <abstract>
            <p>Sgmltexi is an SGML system (DTD and tools) to
            make Texinfo documentation using SGML...</p>
            ...
        </abstract>
        <author>Daniele Giacomini &lt;daniele@swlibero.org&gt;</author>
        <legal>
            <copyright>Copyright &copy; 2000 ...</copyright>
            <publishnote>
                <p>Published by...</p>
            </publishnote>
            <license>
                <p>Permission is granted to make and distribute
                verbatim copies of this manual...</p>
                ...
            </license>
            <coverart>
                <p>Cover art by ...</p>
            </coverart>
        </legal>
    </titlepage>
    <shortcontents>
    <contents>
</head>

Guardando l'esempio, si possono riconoscere alcuni elementi importanti: admin, usato per alcune informazioni amministrative, e titlepage.

313.1.2   Informazioni amministrative

L'elemento admin viene usato per indicare al suo interno alcune informazioni che vanno prevalentemente nell'intestazione del documento Texinfo finale, oppure subito dopo. I componenti di questo ambiente non hanno un ordine preciso, nel sorgente SGML, in quanto poi vengono riordinati prima della composizione in Texinfo.

Nel seguito vengono elencati e descritti gli elementi che possono apparire all'interno di admin.

  • setfilename

    Si tratta di un elemento vuoto, utilizzato per definire il nome del file Info finale, attraverso il comando @setfilename di Texinfo. Si usa con l'attributo content a cui si assegna il nome di questo file.

    <setfilename content="sgmltexi.info">
    

    L'esempio mostra il caso in cui si definisce il nome sgmltexi.info. Si può vedere che non serve il marcatore di chiusura.

  • settitle

    Si tratta di un elemento vuoto, utilizzato per definire il titolo per la composizione in formato Info, attraverso il comando @settitle di Texinfo. Si usa con l'attributo content a cui si assegna questo titolo.

    <settitle content="Sgmltexi">
    

    L'esempio mostra il caso in cui si definisce il nome Sgmltexi. Si può vedere che non serve il marcatore di chiusura.

  • setchapternewpage

    Si tratta di un elemento vuoto, non essenziale, utilizzato per definire il comando corrispondente di Texinfo: @setchapternewpage. Si assegna una parola chiave all'attributo content, tra on, off e odd.

    <setchapternewpage content="on">
    

    L'esempio mostra la richiesta esplicita di iniziare ogni capitolo in una pagina nuova.

    Il programma frontale di Sgmltexi, sgmltexi, accetta un'opzione con lo stesso nome (--setchapternewpage={on|off|odd}) che prevale su quanto stabilito nel sorgente SGML in questo modo.

  • footnotestyle

    Si tratta di un elemento vuoto, non essenziale, utilizzato per definire il comando corrispondente di Texinfo: @footnotestyle. Si assegna una parola chiave all'attributo content, che può essere end o separate.

    <footnotestyle content="end">
    

    L'esempio mostra la richiesta esplicita di inserire i piè pagina alla fine della pagina a cui si riferiscono.

    Il programma frontale di Sgmltexi accetta un'opzione con lo stesso nome (--footnotestyle={end|separate}) che prevale su quanto stabilito nel sorgente SGML in questo modo.

  • headings

    Si tratta di un elemento vuoto, non essenziale, utilizzato per definire il comando corrispondente di Texinfo: @headings. Si assegna una parola chiave all'attributo content, che può essere: on, off, single, double, singleafter, doubleafter.

    <headings content="on">
    

    L'esempio mostra la richiesta esplicita di mostrare le intestazioni.

    Il programma frontale di Sgmltexi accetta un'opzione con lo stesso nome, a cui si assegnano le stesse parole chiave (--headings=impostazione), che prevale su quanto stabilito nel sorgente SGML in questo modo.

  • defindex, defcodeindex

    Si tratta di elementi vuoti, non essenziali, utilizzati per definire i comandi corrispondenti di Texinfo: @defindex e @defcodeindex. Si assegna un nome composto da due lettere all'attributo name, per definire un indice analitico aggiuntivo; in particolare, utilizzando l'elemento defcodeindex si ottiene la creazione di un indice analitico composto da voci riprodotte in dattilografico.

    <defindex name="sg">
    

    L'esempio mostra la definizione dell'indice analitico normale, identificato dalla sigla sg.

    Naturalmente, si possono inserire più elementi defindex e defcodeindex, quanti sono gli indici specifici che si vogliono dichiarare.

  • synindex, syncodeindex

    Questi due elementi vuoti, vengono usati per copiare le voci di un indice analitico all'interno di un altro, come fanno i comandi corrispondenti di Texinfo: @synindex e @syncodeindex. Questi due elementi richiedono l'indicazione di due attributi, from e to, a cui si assegna rispettivamente la sigla dell'indice analitico di partenza e quella dell'indice di destinazione. Si osservi l'esempio:

    <syncodeindex from="fn" to="cp">
    

    In questo caso, si trasferiscono tutte le voci dell'indice fn (quello delle funzioni) nell'indice cp (l'indice analitico standard). In particolare, dal momento che si tratta di syncodeindex, le voci che vengono trasferite sono poi rese in modo dattilografico (con il comando @code).

  • infodir

    Questo elemento viene usato per definire una voce da inserire nell'elenco principale Info, quando il file relativo viene installato con il comando install-info. L'elemento contiene l'attributo cat a cui si assegna la categoria, come si fa con il comando @dircategory di Texinfo.

    <infodir cat="Texinfo documentation system">
    

    L'elemento infodir può essere vuoto, come appena mostrato nell'esempio, ottenendo così l'inserimento di una sola riga nel corpo del comando @direntry di Texinfo, utilizzando le informazioni già conosciute: il nome del file Info e il titolo del documento. Se si vuole fare a mano, è possibile inserire queste informazioni all'interno dell'elemento, come nell'esempio seguente:

    <infodir cat="Sistema di documentazione Sgmltexi">
    * Sgmltexi: (sgmltexi).              Il mio bel manuale di Sgmltexi
    * Introduzione: (sgmltexi)Intro 1.   Introduzione al sistema Sgmltexi
    </infodir>
    

313.1.3   Pagine iniziali

L'elemento titlepage viene utilizzato per circoscrivere le informazioni che appaiono nelle primissime pagine del documento. L'ordine degli elementi contenuti è importante e gli errori vengono segnalati dal sistema di analisi SGML.

  • title

    L'elemento title serve a contenere il titolo del documento nella sua forma stampata. Si traduce in Texinfo nel comando @title. Il suo utilizzo è molto semplice, come si vede dall'esempio seguente:

    <title>Sgmltexi</title>
    
  • subtitle

    Questo elemento permette l'indicazione di un sottotitolo. Non è obbligatorio e può essere usato più volte per indicare più sottotitoli successivi.

    <subtitle>An alternate way to write Texinfo documentation</subtitle>
    
  • abstract

    L'elemento abstract è facoltativo e si può usare una volta sola. Serve a racchiudere dei blocchi di testo, per esempio elementi p, che descrivono in breve il contenuto del documento. Il contenuto di questo elemento viene utilizzato nella composizione Info, inserendolo nella parte iniziale del nodo top.

    <abstract>
        <p>Sgmltexi is an SGML system (DTD and tools) to
        make Texinfo documentation using SGML...</p>
        ...
        <p>...</p>
    </abstract>
    
  • author

    Questo elemento, che deve essere indicato almeno una volta e può ripetersi a piacere, serve a contenere il nominativo di uno degli autori del documento. In Texinfo si traduce nel comando @author.

    <author>Tizio Tizi &lt;tizio@dinkel.brot.dg&gt;</author>
    <author>Caio Cai &lt;caio@dinkel.brot.dg&gt;</author>
    

    L'esempio mostra anche l'inclusione dell'indirizzo di posta elettronica, che comunque non sarebbe necessario.

  • frontcovertext

    Questo elemento facoltativo, permette di inserire dei blocchi di testo all'interno della copertina.

  • tpextra

    Questo elemento facoltativo, può essere usato in diverse situazioni all'interno delle pagine iniziali. Il suo scopo è quello di delimitare dei blocchi di testo che non hanno trovato una classificazione specifica.

    Per la precisione, questo elemento può apparire subito prima e subito dopo dell'elemento legal, inoltre, se viene usato l'elemento dedications, può essere aggiunto subito dopo di questo.

  • legal

    L'elemento legal si articola a sua volta in altri elementi più dettagliati, allo scopo di descrivere tutto ciò che rappresenta gli aspetti legali del documento: il copyright, la nota sui diritti (concessi o esclusi), oltre ad altre informazioni amministrative legate all'edizione.

    • copyright

      Questo elemento serve a contenere l'indicazione relativa ai diritti di autore. Se nel tempo si sono succeduti diversi proprietari, l'elemento copyright può essere indicato più volte, in base alla necessità (in base a quanto concordato). Si osservi l'esempio seguente:

      <copyright>Copyright &copy; 1987-1999 Tizio Tizi</copyright>
      <copyright>Copyright &copy; 2000 Caio Cai</copyright>
      
    • publishnote

      L'elemento publishnote, facoltativo, permette l'inclusione di blocchi di testo il cui scopo è quello di inserire informazioni relative alla pubblicazione. Si può usare in modo simile a quanto si vede nell'esempio seguente:

      <publishnote>
          <p>Published by...</p>
          <p>...</p>
      </publishnote>
      
    • license

      L'elemento license è fatto per contenere blocchi di testo che descrivono le condizioni con le quali è rilasciato il documento, che solitamente si rifanno a una licenza allegata da qualche parte (eventualmente in un'appendice).

      <license>
          <p>Permission is granted to copy, distribute and/or
          modify this document under the terms of the GNU Free
          Documentation License, Version 1.1 or any later version
          published by the Free Software Foundation; with no
          Invariant Sections, with no Front-Cover Texts, and with
          no Back-Cover Texts. A copy of the license is included
          in the section entitled "GNU Free Documentation
          License".</p>
      </license>
      
    • coverart

      L'elemento coverart, facoltativo, consente di scrivere una nota su chi sia l'ideatore della copertina. In generale, se si usa Sgmltexi non ha senso preoccuparsi di una cosa del genere, dal momento che tutto viene guidato dallo schema SGML del DTD. Tuttavia, esiste la possibilità di fare questa annotazione ugualmente.

      <coverart>
          <p>Cover art by ...</p>
      </coverart>
      

    L'elemento legal può essere usato anche in modo più semplice, se la struttura prevista non soddisfa le esigenze reali. In pratica, al posto degli elementi appena descritti, può contenere dei semplici blocchi di testo, come nell'esempio seguente:

    <legal>
        <p>Copyright &copy; 2000 ...</p>
    
        <p>Published by...</p>
    
        <p>Permission is granted to make and distribute
        verbatim copies of this manual...</p>
    
        <p>Cover art by ...</p>
    </legal>
    
  • dedications

    Dopo l'elemento legal, l'elemento dedications consente di elencare le dediche del documento. Queste appaiono esclusivamente nella composizione stampata, in una pagina apposita. L'elemento dedications è predisposto per l'inserimento di blocchi di testo di qualunque genere.

    <dedications>
        <flushright>Ad Anna,<br>la mia amata.</flushright>
    </dedications>
    

313.1.4   Indice generale

Dopo l'elemento titlepage è possibile collocare uno o più indici generali, più o meno dettagliati.

  • contents

    L'elemento content, vuoto, richiede l'inserimento di un indice generale dettagliato. Si traduce in pratica nel comando @content di Texinfo.

  • shortcontents, summarycontents

    Questi due elementi, vuoti, servono a includere rispettivamente i comandi @shortcontent e @summarycontent di Texinfo. Lo scopo è quello di ottenere un tipo di indice generale ridotto. Se si usa questo tipo di indice, si include solo uno dei due elementi in questione.

313.1.5   Nodi e menù Info iniziale

In mancanza di indicazioni, Sgmltexi gestisce da solo i collegamenti riferiti al nodo Top, oltre a un menù unico per Info, collocato nello stesso nodo iniziale.

Volendo è possibile dichiarare espressamente il nodo Top, attraverso l'elemento topnode, che si usa vuoto con tre eventuali attributi: next, prev e up. L'elemento topnode si colloca, eventualmente, subito dopo gli indici generali.

<topnode next="intro" prev="Top" up="(dir)">

Dopo l'elemento topnode, è possibile specificare il menù iniziale in modo dettagliato, attraverso l'elemento menu. L'esempio seguente mostra un caso abbastanza articolato, benché abbreviato, in cui si vede anche l'inclusione dell'elemento detailmenu:

<menu>
* Copying::                     Your rights.
* Overview::                    Texinfo in brief.
...
* Structuring::                 How to create chapters, sections, subsections,
                                  appendices, and other parts.
* Nodes::                       How to write nodes.
...

<detailmenu>

 --- The Detailed Node Listing ---

Overview of Texinfo

* Reporting Bugs::              Submitting effective bug reports.
* Using Texinfo::               Create printed or online output.
* Info Files::                  What is an Info file?
...
</detailmenu>
</menu>

Naturalmente, non si tratta di elementi indispensabili, ma solo utili se si desidera avere il controllo della gestione dei nodi del documento che si ottiene.

313.1.6   Introduzione

Dopo l'elemento head ci può essere l'elemento intro, il cui scopo è quello di definire uno spazio in cui i capitoli assumono il ruolo di sezioni introduttive, non numerate. Nell'ambito di questo spazio, i «capitoli» sono delimitati nello stesso modo utilizzato nel corpo del documento (l'elemento body) e nelle appendici (l'elemento appendix).

<intro>
<h1>Introduction to Sgmltexi</h1>

<p>Sgmltexi is a DTD with tools to get Texinfo...</p>

<p>Sgmltexi manage Texinfo nodes automatically,...</p>

</intro>

313.1.7   Corpo

Il corpo del documento è contenuto nell'elemento body, che si colloca dopo l'elemento head e dopo l'elemento intro eventuale.

Il corpo può essere suddiviso in capitoli, oppure in parti, o anche in tomi, a seconda della dimensione del progetto di documentazione che si intende avviare. Lo spazio del tomo, della parte, del capitolo, o di una classificazione inferiore, non è delimitato esplicitamente, in quanto appare soltanto la dichiarazione del titolo, all'interno di un elemento che cambia a seconda del livello gerarchico. In pratica, il titolo di un tomo è racchiuso nell'elemento tomeheading, mentre quello di una parte è inserito nell'elemento partheading.

I capitoli e le classificazioni inferiori hanno titoli delimitati da elementi analoghi a quelli dell'HTML: h1, h2, h3 e h4. Questa classificazione, a partire da h1 in giù, riguarda nello stesso modo l'introduzione e l'appendice.

<body>
<partheader>Networking</partheader>

<h1>IP protocol history</h1>

<p>Bla bla bla...</p>

<p>Bla bla bla...</p>

<h2>ISO-OSI model</h2>

<p>Bla bla bla...</p>

<p>Bla bla bla...</p>

<h1>IPv4 and IPv6</h1>

<p>Bla bla bla...</p>

<p>...</p>

</body>

Ogni elemento che racchiude un titolo consente l'inserimento dell'attributo id, il cui scopo è quello di definire una stringa di identificazione, da usare come obiettivo per i riferimenti incrociati.

<h1 id="ip history">IP protocol history</h1>

È importante rammentare che, a causa di una limitazione progettuale di Texinfo, queste etichette per i riferimenti ipertestuali non possono contenere la virgola.

Ogni elemento che racchiude un titolo consente l'inserimento degli attributi node e menu, con i quali è possibile stabilire il nome del nodo relativo e la descrizione che deve apparire nel menù (purché questo sia generato automaticamente). In mancanza di queste indicazioni, vengono generati dei nomi in modo automatico, mentre si usa il titolo come descrizione del nodo.

<h1 node="IPv4" menu="La storia del protocollo IP">Storia di IPv4</h1>

Ogni elemento che racchiude un titolo consente l'inserimento dell'attributo numbered, a cui si possono assegnare esclusivamente le parole chiave on oppure off. In condizioni normali, l'attributo contiene la parola chiave on, che implica la numerazione dei titoli, salvo il caso dell'introduzione. Assegnando esplicitamente la parola chiave off si ottiene un titolo non numerato in un contesto che non lo prevederebbe.

<h1 numbered="off">Riconoscimenti</h1>

Ogni elemento che racchiude un titolo consente l'inserimento degli attributi next, prev e up. Con questi si può alterare la catena di scorrimento dei nodi, specificandoli manualmente. In generale dovrebbe essere preferibile lasciare fare a Sgmltexi.

313.1.8   Appendice

Dopo il corpo del documento, delimitato dall'elemento body, può apparire l'appendice, contenuta nell'elemento appendix. Al suo interno si possono inserire dei «capitoli», introdotti da un titolo contenuto in un elemento h1, che vengono trattati correttamente come appendici. Dopo i titoli delimitati da h1, sono ammissibili naturalmente anche segmenti di livello inferiore.

<appendix>
<h1>GNU Free Documentation License</h1>

<p indent="off"><strong>GNU Free Documentation License</strong></p>

<p indent="off">Version 1.1, March 2000</p>

<format>
Copyright &copy; 2000  Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
</format>
...
...
</appendix>

313.1.9   Indici analitici

Dopo il corpo e dopo il blocco delle appendici, è possibile inserire uno o più indici analitici. Questi si dichiarano con un titolo, attraverso l'elemento indexheading e con il riferimento al tipo di indice che si vuole esattamente, con l'elemento vuoto printindex. Si osservi l'esempio seguente in cui si inseriscono due indici: quello delle funzioni (la sigla fn) e quello standard (la sigla cp).

<indexheading>Index of functions</indexheading>
<printindex name="fn">
<indexheading>Concept index</indexheading>
<printindex name="cp">

Come si vede dall'esempio, l'elemento printindex ha l'attributo name, a cui si assegna la sigla corrispondente all'indice che si vuole inserire.

313.2   Scomposizione del documento, nodi e menù Info

Per scrivere della documentazione di qualità, secondo i canoni di Texinfo, è necessario gestire direttamente i nodi e i menù. Con Sgmltexi si possono dimenticare i nodi e i menù, ma il risultato in formato Info potrebbe soffrirne. Tuttavia, come in parte è già stato mostrato, è possibile scegliere diversi livelli di automatismo in questa gestione.

Gli elementi usati per delimitare le intestazioni, da h1 a h4, possono incorporare gli attributi node e menu. Ciò prende il sopravvento sulla determinazione automatica relativa. Si osservi l'esempio:

<h1 id="ip history" node="history" menu="History of IP protocol">
IP protocol history</h1>

In questo caso, si ottiene l'inserimento della riga seguente nel menù relativo:

* history::         History of IP protocol

I due attributi, node e menu, possono essere usati in modo indipendente: l'attributo che non viene usato, viene sostituito in modo automatico.

Avendo accesso ai nodi, è possibile farvi riferimento per dei riferimenti incrociati, senza bisogno di usare l'attributo id.

Come già descritto in precedenza, Sgmltexi crea automaticamente il nodo Top iniziale. Il menù relativo può essere definito esplicitamente e in tal caso tutti i nodi e tutte le descrizioni relative devono essere inseriti manualmente.

Inserendo l'elemento menu alla fine del testo di un capitolo, o di una sezione inferiore, si ottiene l'aggiunta di un menù Info in corrispondenza di quel punto. Si osservi l'esempio:

<h1>IP protocol history</h1>

<p>Bla bla bla...</p>

<p>Bla bla bla...</p>

<menu>

<h2>ISO-OSI model</h2>

<p>Bla bla bla...</p>

<p>Bla bla bla...</p>

<h2>More information</h2>

<p>Bla bla bla...</p>

<p>...</p>

In questo caso, si ottiene l'inserzione di un menù, gestito automaticamente, prima delle sezioni di livello h2. Volendo, si può indicare il menù in modo preciso, come si vede di seguito:

<menu>
* IP layer::        IP ISO-OSI layer model
* more on IP::      More details on IP
</menu>

Quando un menù viene descritto in questo modo, i nomi dei nodi devono essere identici a quelli dichiarati negli elementi delle intestazioni. In pratica, scrivendo un menù in modo manuale, anche i nodi devono essere dichiarati esattamente, come si vede qui:

<h1>IP protocol history</h1>

<p>Bla bla bla...</p>

<p>Bla bla bla...</p>

<menu>
* IP layer::        IP ISO-OSI layer model
* more on IP::      More details on IP
</menu>

<h2 node="IP layer">ISO-OSI model</h2>

<p>Bla bla bla...</p>

<p>Bla bla bla...</p>

<h2 node="more on IP">More information</h2>

<p>Bla bla bla...</p>

<p>...</p>

È evidente, in questa situazione, che l'attributo menu, il cui scopo sarebbe quello di controllare la descrizione del nodo nel menù, non può essere preso in considerazione in questo caso.

313.2.1   Numerazione o meno dei titoli

Texinfo consente di inserire dei titoli riferiti a capitoli o sezioni inferiori, con o senza numerazione. Inoltre, consente anche di dichiarare dei titoli che non devono apparire nell'indice generale. Per controllare questa possibilità con Sgmltexi, si può utilizzare l'attributo type che riguarda tutti gli elementi hn:

<hn type="{numbered|unnumbered|heading}">titolo</hn>

In mancanza dell'indicazione dell'attributo, è come se gli fosse stata assegnata la parola chiave numbered, con la quale i titoli del corpo e delle appendici sono numerati (con numeri o lettere rispettivamente). Utilizzando la parola chiave numbered si ottiene l'inserimento di un titolo non numerato (nel caso dell'introduzione è sempre senza numerazione); con la parola chiave heading si ottiene un titolo non numerato e anche non segnalato nell'indice generale (in questo senso può essere utile anche nell'introduzione).

313.3   Codifica

Sgmltexi ha una gestione incompleta per le codifiche ISO 8859-n. È incompleta perché Texinfo non è in grado di riprodurre tutti i caratteri. Ci sono due modi per definire l'uso di una codifica particolare con Sgmltexi: l'opzione --input-encoding e l'attributo charset all'interno dell'elemento sgmltexi.

La scelta genera risultati differenti. L'opzione --input-encoding genera una trasformazione dei caratteri in entità SGML, che successivamente sono tradotte in codice Texinfo. In questo modo, il codice Texinfo che si ottiene è sicuramente in ASCII puro (ISO 646), dove le entità che non hanno alcuna corrispondenza in Texinfo. vengono mostrate come [ETH   ], tanto per fare un esempio. L'uso dell'attributo charset si traduce semplicemente nel comando @documentencoding; in certe situazioni, il risultato della composizione può essere buono o meno. A seconda del risultato migliore che si riesce a ottenere, si può scegliere un modo invece dell'altro.

Una buona strategia può essere l'uso dell'attributo charset in ogni caso, aggiungendo l'opzione --input-encoding quando Texinfo non genera una composizione piacevole (di solito quando si genera un formato per la stampa).

313.3.1   Entità standard e non standard

Il DTD di Sgmltexi include tutte le entità standard ISO 8879. Tuttavia, non tutte le entità sono gestibili da Texinfo; pertanto, quando si usa un'entità non gestibile, viene mostrata nella composizione finale come racchiusa tra parentesi quadre, per esempio come [ETH   ].

Sgmltexi mette a disposizione qualche entità non standard, necessaria per mantenere la compatibilità con Texinfo. Queste entità speciali sono elencate nella tabella 313.41.

Tabella 313.41. Entità non standard.

Macro SGML Comando Texinfo Descrizione
&dots;
@dots{}
Tre puntini.
&enddots;
@enddots{}
Quattro puntini.
&TeX;
@TeX{}
Il nome «TeX»
&result;
@result{}
&expansion;
@expansion{}
&print;
@print{}
&error;
@error{}
&point;
@point{}
&today;
@today{}
&esexcl;
@!
Punto esclamativo alla fine di una frase.
&esperiod;
@.
Punto fermo alla fine di una frase.
&nes;
@:
Frase che non si conclude.
&esquest;
@?
Punto interrogativo alla fine di una frase.

Appunti di informatica libera 2006.01.01 --- Copyright © 2000-2006 Daniele Giacomini -- <daniele (ad) swlibero·org>, <daniele·giacomini (ad) poste·it>


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome sgmltexi_struttura.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [violazione licenza] [translators] [docinfo] [indice analitico]

Valid ISO-HTML!

CSS validator!

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Sub-domains

CDRoms - Magnatune - Librivox - Liber Liber - Encyclopaedia Britannica - Project Gutenberg - Wikipedia 2008 - Wikipedia 2007 - Wikipedia 2006 -

Other Domains

https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformtivo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com