<!entity % sectpar " %par; | figure | tabular | table | %mathpar; | %thrm; | %litprog; "> <!entity % par " %list; | comment | lq | quote | tscreen " > <!entity % litprog " code | verb " >
Ciascuno dei tag qui descritti forma un paragrafo.
Per ovvie ragioni, un paragrafo normalmente
Qui si spiega il comportamento delle eccezioniinizia e finisce con una riga vuota.figure
etabular
.
In quale altro modo si potrebbe sapere che è un paragrafo?
Ci sono alcuni tag che formano sempre un paragrafo, e un modo per formare implicitamente un paragrafo. Ci sono vari tipi di paragrafi, perchè non tutti i tipi di paragrafo possono apparire in ogni classe di documento, in ogni posto.
I diversi tipi di paragrafi sono spiegati nelle prossime sezioni. Per maggiori
dettagli su %litprog;
si veda
Programmazione istruita.
Un paragrafo normale può essere creato in due modi:
Il tag <p>
inizia un nuovo paragrafo.
Questo tag è obbligatorio se si vuole terminare un'intestazione
di sezione senza chiudere esplicitamente il tag sect
.
In questo caso il tag <p>
chiude automanticamente il tag
<sect>
.
Una riga vuota tra due paragrafi inizia implicitamente un nuovo
paragrafo.
Si faccia attenzione con gli elenchi descrittivi
. In questo caso un tag
<tag>
vuoto non diventerà un paragrafo usando una riga vuota.
<!entity % list " list | itemize | enum | descrip " >
<!element item o o ((%inline; | %sectpar;)*, p*) >
<!element list - - (item+)>
Il tag list verrà mappato come un elenco spoglio senza punti, numeri o altre cose.
Per vederlo, ecco un piccolo esempio:
<list> <item>Un punto <item>Un altro <item>L'ultimo </list>
Si vedrà (a seconda della mappatura) qualcosa come:
<!element itemize - - (item+)>
Il tag itemize verrà mappato come un elenco puntato, che viene solitamente usato per elenchi nei quali l'ordine delle voci non è importante.
Un piccolo esempio:
<itemize> <item>Un punto <item>Un altro <item>L'ultimo </itemize>
Si vedrà (a seconda della mappatura) qualcosa come:
<!element enum - - (item+)>
Il tag enum verrà mappato come una lista numerata.
Un piccolo esempio:
<enum> <item>Un punto <item>Un altro <item>L'ultimo </enum>
Si vedrà (a seconda della mappatura) qualcosa come:
<!element descrip - - (tag?, p+)+ >
Il tag descrip verrà mappato come un elenco descrittivo. Il concetto in questo caso è leggermente diverso rispetto agli altri tipi di elenchi citati prima.
Qui si posiziona un tag (questa volta il nome del tag è
letteralmente tag
), che è descritto più avanti.
Un piccolo esempio:
<descrip> <tag/sgml/structured general markup language. <tag/html - hypertext markup language/ Una implementazione di sgml. Contiene alcuni concetti su come collegare informazioni in modo molto conveniente. È questo che lo ha reso tanto importante, nonchè lo standard per i documenti pubblicati tramite internet. <tag/internet/Una internet connessa globalmente (internet intesa come termine tecnico) </descrip>
Si vedrà (a seconda della mappatura) qualcosa come:
structured general markup language.
Una implementazione di sgml. Contiene alcuni concetti su come collegare informazioni in un modo molto conveniente. È questo che lo ha reso tanto importante, nonchè lo standard per i documenti pubblicati tramite internet.
Una internet connessa globalmente (internet intesa come termine tecnico)
I tag <figure>
e <table>
creano paragrafi molto speciali.
Non sempre sono inseriti nel normale flusso di testo.
Entrambi i tag possono contenere un attributo loc
(location) che indica
come manipolare il flusso di questo paragrafo particolare.
Il valore dell'attributo loc
è una stringa di quattro lettere al
massimo, in cui ogni lettera dichiara una posizione nella quale l'illustrazione o
la tabella può apparire, come descritto nella tabella
Posizioni della tabella.
h | here | Nella stessa posizione del file SGML |
t | top | All'inizio di una pagina |
b | bottom | Alla fine di una pagina |
p | page | In una pagina separata con sole illustrazioni e tabelle |
Il valore predefinito dell'attributo loc è top
.
<!element table - - (tabular, caption?) >
Come si può vedere, una tabella consiste nello stesso tag
<table>
, che include un tag <tabular>
e opzionalmente un tag
<caption>
.
Il tag <tabular>
può anche essere posizionato senza un
tag <table>
, come descritto in dettaglio nella sua sezione (si veda
Il tag Tabular).
Il tag caption si usa anche per posizionare la voce per l' elenco delle tabelle, se ne è stato dichiarato uno (si veda Il tag lista di tabelle).
Un breve esempio mostrerà come lavorano insieme.
<table loc="ht"> <tabular ca="lcr"> Guarda|questa|tabella@ Non|è|carina@ 1.234|colonne|miste </tabular> <caption>Una tabella di esempio </table>
Guarda | questa | tabella |
Non | è | carina |
1.234 | colonne | miste |
Il caption "Una tabella di esempio" sarebbe il nome nella lista delle tabelle.
<!element figure - - ((eps | ph ), img*, caption?)>
<figure>
è equivalente a quello del
tag <table>
.
Invece del tag <tabular>
si può utilizzare o il tag
<eps>
o il tag <ph>
.
<!attlist eps file cdata #required height cdata "5cm" angle cdata "0">
<eps>
serve a includere un file esterno in formato
encapsulated postscript(TM) nel documento.
Gli attributi del tag <eps>
sono:
L'attributo file
richiede il nome di un file encapsulated
postscript(TM) che termini con il suffisso .ps
. Il suffisso obbligatorio
.ps
non deve essere scritto.
L'altezza dello spazio che il file andrà ad occupare. Se non lo si
specifica, il valore predefinito sarà 5 cm. Si faccia attenzione a non
inserire spazi tra il numero e l'unità di misura (i
,
cm
).
L'angolo viene indicato in gradi sessagesimali (0-360) e all'aumento del numero il file viene ruotato in senso orario.
Un esempio:
<figure loc="here"> <eps file="logo" height="4cm" angle="15"> <img src="logo.gif"> <caption>Inclusione di un encapsulated postscript(TM) </figure>
Il tag img verrà ignorato dalla mappatura LaTeX e sarà utile per l'html, poichè molti browser non riconoscono l'eps.
Il tag caption andrà nella lista delle illustrazioni come descritto nella sezione Il tag lista di immagini.
<!attlist ph vspace cdata #required>
vspace
assegna lo spazio lasciato libero.
Caveat: L'argomento numerico dell'attributo vspace
necessita
di un'unità di misura direttamente dietro al numero. Non si lasci
uno spazio (come detto per l'attributo height
in
Il tag Encapsulated Postscript(TM).
<figure loc="ht"> <ph vspace="5cm"> <caption>Uno spazio vuoto. </figure>
Restituisce:
A questo punto potrebbe essere il caso di cercare forbici e colla.
<!element tabular - - (hline?, %tabrow, (rowsep, hline?, %tabrow)*, caption?) >
<tabular>
viene interpretato come un paragrafo a se
stante, se viene scritto da solo.
Insieme al tag <table>
diventa parte del paragrafo del tag
<table>
(vedere
Il tag Table).
All'interno del tag tabular
possono esserci righe e colonne che separano il
testo.
Devono esserci almeno una colonna e una riga.
Altrimenti non risulterebbe molto utile.
Il tag <tabular>
ha un attributo ca
obbligatorio per
l'allineamento di colonna.
L'allineamento di colonna contiene un solo carattere per ogni colonna nel loro
ordine da sinistra a destra.
I caratteri che si possono posizionare per colonna sono descritti nella tabella
Allineamento di colonna
carattere | allineamento |
l | left (sinistra) |
c | centered (centrato) |
r | right (destra) |
In teoria si dovrebbe poter posizionare un | nell'attributo
ca
per disegnare una linea orizzontale di separazione per due colonne.
Il problema: non funziona.
L'analizzatore lo accetta bene, solo che l'output in LaTeX mapperà
|
come {$|$}
, che naturalmente è l'impostazione di quattro colonne
erroneamente allineate per tutte e quattro le colonne.
Proverò a capire come risolverlo.
Le colonne all'interno del tag <tabular>
sono separate da un
separatore di colonna, il tag <colsep>
. Il carattere
|
viene tradotto come <colsep>
, così lo si può usare al
suo posto.
Meno battitura, più divertimento.
Ciò che vale per le colonne vale anche per le righe. Si separano le righe
con un separatore di riga, il tag <rowsep>
.
Il carattere @
viene tradotto con <rowsep>
.
Opzionalmente si può posizionare una linea orizzontale con
il tag <hline>
.
Si faccia attenzione a questo tag:
gli strumenti SGML lo trasformeranno correttamente sia posizionandolo davanti alla riga che si
vuole sotto la linea, che dietro la fine della riga che si vuole al di sopra. Ma
l'unico modo per scriverlo senza provocare un "errore" dell'analizzatore
è scriverlo direttamente e senza spazi o riga vuota dietro il separatore di
riga.
<tabular ca="lcr"> Guarda|questa|tabella@<hline> Non|è|gradevole@ 1.234|colonne|miste@ </tabular>
I risultati sono visibili nella tabella Esempio di tabella per il tag Tabular
Guarda | questa | tabella |
Non | è | gradevole |
1.234 | colonne | miste |
nella mappatura per LaTeX tutto funziona bene se si posiziona un tag tabular senza un tag table; solo nelle altre mappature (per esempio html) verrà disordinato.
<!entity % mathpar " dm | eq " >
Un paragrafo matematico consiste o di una formula visualizzata tramite un
tag <dm>
,
No, scusate, non per il marco tedesco! ;-)o di una equazione tramite il tag
<eq>
.
Lavorano entrambi allo stesso modo.
Entrambi i tag contengono una formula matematica. Vedere Formule matematiche per i tag validi.
Poichè nè Netscape nè Microsoft hanno ritenuto necessario aggiungere la mappatura matematica ai loro browser (come richiesto e definito da w3c), non c'è in html un modo piacevole di mappare, o almeno di mostrare a video, i simboli matematici. Quindi, guardando la versione online, ci si può liberamente meravigliare di questo controsenso. Forse si vorrà dare uno sguardo alla versione postscript.
Questo tag mostra una formula matematica come un paragrafo. La formula viene mappata al centro come linea singola.
Non ci sono garanzie per questo. Si sa, la mappatura è una questione di gusti.
<dm>(a+b)<sup/2/=a<sup/2/+2ab+b<sup/2/</dm>Viene mappato come:
<dm>(a+b)<sup/2/=a<sup/2/+2ab+b<sup/2/</dm>Viene mappato come:
<!entity % thrm " def | prop | lemma | coroll | proof | theorem " > <!element def - - (thtag?, p+) > <!element prop - - (thtag?, p+) > <!element lemma - - (thtag?, p+) > <!element coroll - - (thtag?, p+) > <!element proof - - (p+) > <!element theorem - - (thtag?, p+) >
thtag
.
Per tutte le altre versioni il thtag
fornisce il tag del paragrafo
teorema.
Si provi a utilizzare solo questo, che è adatto al significato di ciò che si sta digitando.
<thrm> <thtag>Alexander's thrm</thtag> Sia <f><fi/G/</f> un insieme di obiettivi secondari ottenibili non banali, e μ un ordinamento su <f><fi/G/</f>. μ \ astrattamente indicativo se e solo se è una linearizzazione di <f><lim><op>μ</op><ll><fi/G/</ll><ul>*</ul></lim></f>. </theorema>
thrm
viene rimpiazzato dal tag adeguato.
Forse qualcuno esperto di matematica rimarrà scioccato dal mio abuso dei tipi, ma sono pigro e ho semplicemente copiato gli esempi:
Definizione ( Sia def
):
*
Proposizione ( Sia prop
):
*
Lemma ( Sia lemma
):
*
Corollario ( Sia coroll
):
*
Sia *
La riprova è questa, senza thtag
:
Sia *
Sono entrambi tag di un paragrafo e con un comportamento molto simile. All'interno di questi tag molti caratteri speciali non necessitano della forma nominata come nella sezione Simboli speciali. Le eccezioni sono:
fine del
tag aperto
A differenza della normale mappatura di un paragrafo, gli spazi vuoti e gli a capo verranno mappati letteralmente (come saranno scritti nel sorgente).
Inoltre (con riferimento al layout manuale), il tipo di carattere per la mappatura sarà non-proporzionale.
Si veda la differenza tra IIWW e
IIWW
.
Ripeto, non sono un oratore nato e nemmeno amo molto la matematica. Così ho solo scritto alcuni controsensi, che possono provocare il mal di testa e far venire i capelli grigi alle persone che vogliono utilizzare questo documento per imparare a formulare teorie matematiche o fisiche.
Ci si senta liberi di inviare esempi migliori.
<!element code - - rcdata>
Si utilizzi il tag code per scrivere un esempio di codice sorgente all'interno del testo.
Un esempio di codice
<code>
#include <stdio.h> int main() { printf("Ciao mondo"); return 1; }
<!element verb - - rcdata>
Si utilizzi il tag verbatim per qualunque cosa che non sia codice sorgente (si utilizzi Il tag code per questo) che necessita la buona vecchia spaziatura, tipo la stampata del terminale, la grafica ASCII ecc.
Un esempio di verbatim:
<verb>
///////// | * * | | | | | <---> | \_____/</verb>