Newsgroup: it.comp.software.tex
Titolo: tabelle lunghe con ConTeXt

Sto facendo un elenco telefonico aziendale, quindi una tabella molto
lunga (o una sequenza di tabelle che possono comunque estendersi su
più pagine).
La soluzione LaTeX con supertabular mi crea difficoltà per la gestione
dei colori e comunque mi piacerebbe iniziare ad usare ConTeXt.  
Non riesco però a trovare il modo di gestire una tabella lunga più di
una pagina e con opzioni come supertabular (tablehead, tablefirsthead,
etc.)
Qualche suggerimento?
-- 
grazie,
Marco De Benedetto

 dei colori e comunque mi piacerebbe iniziare ad usare ConTeXt.  
Mi ero intestardito con supertabular; mi pare che longtable+colortbl sia
la soluzione per LaTeX.
-- 
ciao,
debe

 etc.)
ConTeXt ha parecchi modi di fare tabelle. Ad occhio e croce direi che 
quello di cui hai bisogno tu è il seguente:
% format=en
\definetabletemplate[elenco][|l|l|c|l|][testa][coda]
\starttablehead[testa]
\HL
\VL \bf Nome\VL \bf Indirizzo\VL \bf Numero\VL \bf Note\VL\SR
\HL
\stoptablehead
\starttabletail[coda]
\HL
\VL \bf Nome\VL \bf Indirizzo\VL \bf Numero\VL \bf Note\VL\SR
\HL
\stoptabletail
\starttext
\def\pinco{%
\VL Pinco \VL Pallino \VL 000\VL Nix\VL\AR
}
\starttables[elenco]
\dorecurse{100}\pinco
\stoptables
\stoptext
O qualcosa del genere. Per i colori, cosa avevi in mente?
-- 
Giuseppe "Oblomov" Bilotta
"Da grande lotterò per la pace"
"A me me la compra il mio babbo"
(Altan)
("When I grow up, I will fight for peace"
 "I'll have my daddy buy it for me")

 Per i colori, cosa avevi in mente?
Semplicemente la prima riga di ogni tabella indica il reparto e vorrei
che avesse un colore di sfondo (con LaTeX uso colortbl).  Lo script perl
che sto preparando dovrà sostituire le funzioni di un attuale programma
Access per produrre e pubblicare automaticamente l'elenco aggiornato e
devo riprodurre il più possibile tutti i fronzoli di quel report.
L'elenco è così fatto (una tabella per ogni reparto):
+--------------------------------------+
| Reparto A                            |
+--------------------------------------+
|   Ufficio 1                          |
+-------------------------------+------+
| Nome Cognome                  | 1234 |
+-------------------------------+------+
| Nome Cognome                  | 1234 |
+-------------------------------+------+
| Nome Cognome                  | 1234 |
+-------------------------------+------+
|   Ufficio 2                          |
+-------------------------------+------+
| Nome Cognome                  | 1234 |
+-------------------------------+------+
| Nome Cognome                  | 1234 |
+--------------------------------------+
...
Volendo ottenere come risultato un "doppio" tablehead, per avere al
salto pagina la ripetizione sia del reparto che dell'ufficio non terminato
nella pagina precedente pensi sia possibile annidare due tabelle? o c'è
qualche altra soluzione?
Grazie di nuovo, è tanto che leggo di ConTeXt, è pochissimo che sto
tentando di usarlo e le prime impressioni sono ottime: complimenti a
tutti quelli che stanno lavorando per il suo sviluppo.
-- 
ciao,
debe

 Se ho ben capito sbagliavo ad usare starttable invece di starttables.
Sì, con starttable non spezza (documentato in core-tbl)

C'è qualche altra soluzione.
% format=en
\setupcolors[state=start]
\definetabletemplate[elenco][|l|r|][testa][coda]
\starttablehead[testa]
\rephead
\officehead
\stoptablehead
\starttabletail[coda]
\HL
\stoptabletail
\def\rephead{%
\HL
\CL[green]\SR
\VL\Use{2}[l]{\bf Reparto \nomereparto}\VL\SR
\HL
}
\def\officehead{%
\HL
\CL[blue]\SR
\VL\Use{2}[l]{\bf \hskip1em Ufficio
\nomeufficio}\VL\SR
\HL
}
\def\reparto#1{%
  \gdef\nomereparto{A}%
}
\def\ufficio#1{%
  \gdef\nomeufficio{#1}%
  \officehead
}
\starttext
\def\pinco{%
\VL Pinco T. C. S. Pallino \VL 1234\VL\AR
}
\reparto{A}
{\let\officehead\relax
\ufficio{1}
}
\starttables[elenco]
\dorecurse{20}\pinco
\ufficio{2}
\dorecurse{20}\pinco
\ufficio{3}
\dorecurse{5}\pinco
\stoptables
\stoptext


 [snip]
Grazie.
C'è solo un problema: se un ufficio, diverso dal primo, inizia proprio
su una pagina nuova viene scritto due volte, una perché nella
definizione di tablehead e una perché scritto come riga a se stante.
-- 
ciao,
debe


Me ne sono accorto. Sto cercando un modo per evitare che la tabella 
venga splittata proprio dopo un cambiamento di ufficio.
