- Questo topic ha 12 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 13 anni, 11 mesi fa da
egreg9.
-
CreatoreTopic
-
25 Settembre 2012 alle 11:15 #79128::
Salve,
nel documento su cui sto lavorando ci sono molte tabelle. Non indico alcun label per le tabelle che non desidero far comparire nell’elenco delle tabelle. Tuttavia la numerazione delle tabelle, nell’elenco delle tabelle, non “salta” le tabelle senza label. E’ possibile “surgelare” il contatore delle tabelle (ritengo che ne esista uno da qualche parte:-( ) per consentire la numerazione solo delle tabelle che hanno un label, e che pertanto “finiscono” nell’eleco delle tabelle?
Grazie,
Fabrizio
-
CreatoreTopic
-
AutoreRisposte
-
-
25 Settembre 2012 alle 11:32 #79129::
Se anche non le etichetti con \label, le numeri? Se le numeri devono andare anche nell’elenco delle tabelle.Se non le numeri, allora devi usare il pacchetto caption che definisce il comando \caption* (mi pare; oppure \captionof(table}{…} ) che si comporta come i comandi di sezionamento asteriscati; creano la didascalia ma non la numerano e non la mettono nemmeno nell’elenco delle tabelle.
In ogni caso è \caption che scrive el informazioni necessarie per inviare la didascalia col numero all’elenco delle tabelle, non è \label che serve solo pre gestire i riferimenti incrociati.
-
1 Ottobre 2012 alle 7:16 #79130::
OldClaudio” post=78250Se anche non le etichetti con \label, le numeri? Se le numeri devono andare anche nell’elenco delle tabelle.
Se non le numeri, allora devi usare il pacchetto caption che definisce il comando \caption* (mi pare; oppure \captionof(table}{…} ) che si comporta come i comandi di sezionamento asteriscati; creano la didascalia ma non la numerano e non la mettono nemmeno nell’elenco delle tabelle.
In ogni caso è \caption che scrive el informazioni necessarie per inviare la didascalia col numero all’elenco delle tabelle, non è \label che serve solo pre gestire i riferimenti incrociati.
Grazie, per la risposta.
In realtà però, le mie tabelle non hanno né “label” né “caption”. Sono delle “longtable” con una “intestazione” del tipo:
\multicolumn{13}{l}{\scriptsize\itshape\tablename~\thetable:
continua dalla pagina precedente} \\[0.05cm]
A questa intestazione, intuisco che sia collegata la numerazione che appare in cima ad ogni porzione di tabella che “sconfina” nella pagina successiva: Tabella 11.4: continua dalla pagina precedente
Tutttavia, nell’Elenco delle Tabelle, non appaiono le tabelle che desidero tenere “nascoste” (e questo va bene!), ma di esse se ne tiene conto nella numerazione, e pertanto le tabelle che includo nell’Elenco delle Tabelle hanno una numerazione con dei “salti”.
Grazie,
Fabrizio
-
1 Ottobre 2012 alle 7:29 #79131::
Fabrizio” post=78572
Se anche non le etichetti con \label, le numeri? Se le numeri devono andare anche nell’elenco delle tabelle.
Se non le numeri, allora devi usare il pacchetto caption che definisce il comando \caption* (mi pare; oppure \captionof(table}{…} ) che si comporta come i comandi di sezionamento asteriscati; creano la didascalia ma non la numerano e non la mettono nemmeno nell’elenco delle tabelle.
In ogni caso è \caption che scrive el informazioni necessarie per inviare la didascalia col numero all’elenco delle tabelle, non è \label che serve solo pre gestire i riferimenti incrociati.
Grazie, per la risposta.
In realtà però, le mie tabelle non hanno né “label” né “caption”. Sono delle “longtable” con una “intestazione” del tipo:
\multicolumn{13}{l}{\scriptsize\itshape\tablename~\thetable:
continua dalla pagina precedente} \\[0.05cm]
A questa intestazione, intuisco che sia collegata la numerazione che appare in cima ad ogni porzione di tabella che “sconfina” nella pagina successiva: Tabella 11.4: continua dalla pagina precedente
Tutttavia, nell’Elenco delle Tabelle, non appaiono le tabelle che desidero tenere “nascoste” (e questo va bene!), ma di esse se ne tiene conto nella numerazione, e pertanto le tabelle che includo nell’Elenco delle Tabelle hanno una numerazione con dei “salti”.
Grazie,
FabrizioPotresti fare un esempio di codice?
Ciao
Enrico
-
1 Ottobre 2012 alle 8:17 #79132::
Ci provo:\begin{longtable}{*{13}{c}}
…
\endfirsthead% intestazione normale
\multicolumn{13}{l}{\scriptsize\itshape\tablename~\thetable:
continua dalla pagina precedente} \\[0.05cm]
\midrule
\multicolumn{13}{c}{\textbf{PIPPO}} \\[0.05cm]
\endhead% piede normale
…
\endfoot% piede finale
…
\endlastfoot% INIZIO TABELLA
….
% FINE TABELLA
\end{longtable}
-
1 Ottobre 2012 alle 12:44 #79133::
No, il tuo non è un esempio compilabile, perché hai messo in puntini che non dicono che cosa c’è davvero; Ora siccome nelle pagine successive alla prima usi \thetable, questo numero da dove viene” viene dal comando \caption che è fra i puntini. Perciò l’intera longtable ha un numero che viene richiamato nelle intestazioni di colonna successive alla prima ma non viene incrementato nessun contatore e quindi, giustamente, le pagine della stessa tabella, le pagine successive alla prima sono continuazioni di un unica tabella e non nuove tabelle; perciò nella lista delle tabelle non è quella intestazione che produce un salto della numerazione.Se tu trovi dei salti di numerazione, allora hai fatto qualcos’altro, ma non sono queste longtable a produrlo.
-
1 Ottobre 2012 alle 19:42 #79134::
Penso di non essere riuscito a spiegarmi 🙁
La Tabella che ricopio in calce (questa volta senza omissioni) è una tabella che non compare nell’Elenco delle tabelle . Ciò è quello che voglio.
La tabella precedente e successiva desidero che siano presenti nell’Elenco delle tabelle e questo anche è un risultato che ottengo correttamente.
Tuttavia queste ultime non hanno una numerazione sequenziale, ad esempio Tabella 5 e Tabella 6, ma risultano Tabella 5 e Tabella 7, perchè la Tabella intermedia, pur non essendo visualizzata, viene “contata”.
Grazie, e spero di non aver complicato ulteriormente il ragionamento.
Fabrizio`\begin{longtable}{*{13}{c}}
% Ometto l'intestazione iniziale.
\endfirsthead% intestazione normale
\multicolumn{13}{l}{\scriptsize\itshape\tablename~\thetable:
continua dalla pagina precedente} \\[0.05cm]
\midrule
\multicolumn{13}{c}{\textbf{PIPPO}} \\[0.05cm]
\cmidrule(lr){1-13}
PIPPO & \multicolumn{3}{c}{\textbf{PIPPO}} & \multicolumn{3}{c}{\textbf{PIPPO}} & \multicolumn{3}{c}{\textbf{PIPPO}} & \multicolumn{3}{c}{\textbf{PIPPO}} \\[0.05cm]
\cmidrule(lr){2-4}
\cmidrule(lr){5-7}
\cmidrule(lr){8-10}
\cmidrule(lr){11-13}
\endhead% piede normale
\endfoot% piede finale
\endlastfoot\toprule
\multicolumn{13}{c}{\textbf{PIPPO}} \\[0.05cm]
\cmidrule(lr){1-13}
PIPPO & \multicolumn{3}{c}{\textbf{PIPPO}} & \multicolumn{3}{c}{\textbf{PIPPO}} & \multicolumn{3}{c}{\textbf{PIPPO}} & \multicolumn{3}{c}{\textbf{PIPPO}} \\[0.05cm]
\cmidrule(lr){2-4}
\cmidrule(lr){5-7}
\cmidrule(lr){8-10}
\cmidrule(lr){11-13}\textbf{PIPPO} & \textbf{PIPPO} & \textbf{PIPPO} & \textbf{PIPPO} & \textbf{PIPPO} & \textbf{PIPPO} & \textbf{PIPPO} & \textbf{PIPPO} & \textbf{PIPPO} & \textbf{PIPPO} & \textbf{PIPPO} & \textbf{PIPPO} & \textbf{PIPPO} \\[0.05cm]
\cmidrule(lr){2-4}
\cmidrule(lr){5-7}
\cmidrule(lr){8-10}
\cmidrule(lr){11-13}
1 & 2,13 & 183 & 6,29 & 2,13 & 59,5 & 4,94 & 1,62 & 133 & 7,58 & 1,62 & 49,3 & 6,71 \\
1 & 2,13 & 183 & 6,29 & 2,13 & 59,5 & 4,94 & 1,62 & 133 & 7,58 & 1,62 & 49,3 & 6,71 \\
1 & 2,13 & 183 & 6,29 & 2,13 & 59,5 & 4,94 & 1,62 & 133 & 7,58 & 1,62 & 49,3 & 6,71 \\
1 & 2,13 & 183 & 6,29 & 2,13 & 59,5 & 4,94 & 1,62 & 133 & 7,58 & 1,62 & 49,3 & 6,71 \\
…
1 & 2,13 & 183 & 6,29 & 2,13 & 59,5 & 4,94 & 1,62 & 133 & 7,58 & 1,62 & 49,3 & 6,71 \\
1 & 2,13 & 183 & 6,29 & 2,13 & 59,5 & 4,94 & 1,62 & 133 & 7,58 & 1,62 & 49,3 & 6,71 \\
1 & 2,13 & 183 & 6,29 & 2,13 & 59,5 & 4,94 & 1,62 & 133 & 7,58 & 1,62 & 49,3 & 6,71 \\
\bottomrule
\end{longtable}`
-
2 Ottobre 2012 alle 5:20 #79135
-
2 Ottobre 2012 alle 5:33 #79136::
@Fabrizio, mi hai fatto scoprire una cosa che non sapevo; la longtable incrementa il contatore delle tabelle anche se non usi caption.Per cui devi fare due cose:
1) cancellare “Tabella \thetable: dalla intestazione della longtable nelle pagine successiva alla prima (l’\head normale)
2) arretrare il contatore delle tabelle di una unità prima di aprire la longtable
`\addtocounter{table}{-1}
\begin{longtable}{*{13}{c}} `Vedrai che la numerazione delle tabelle nella \listoftables è corretta con i numeri sequenziali.
Ma, c’è un problema: se usi hyperref questo usa delle ancore e dei bersagli per i link ipertestuali che fanno riferimento ai numeri degli oggetti da collegare ipertestualmente. decrementando il contatore delle tabelle di una unità, avrai due oggetti numerati con lo stesso numero, la tabella che precede la longtable e la longtable stessa, anche se il numero non si vede. perciò non puoi collegare la longtable con un \label per poi farvi riferimento con un \ref o \pageref o simili; questo inconveniente ce l’hai solo se usi hyperref.
-
3 Ottobre 2012 alle 7:56 #79137::
Grazie mille per la risposta.
Procederò come dici.
Un ultimo chiarimento: posso cuntinuare ad usare i riferimenti ipertestuali per le tabelle che precedono e che seguono la longtable senza creare disastri?
Ho già creato molti collegamenti alle tabelle pre e post longtable, e vorrei mantenerli.
Ancora grazie,
Fabrizio
-
3 Ottobre 2012 alle 8:51 #79138::
Potrebbe essere utile avere a disposizione un ambiente [tt]longtable*[/tt] che non incrementi il contatore.
`\usepackage{etoolbox}
\makeatletter
\newenvironment{longtable*}
{\patchcmd{\LT@array}
{\refstepcounter{table}}{}
{}{\typeout{Sorry, couldn't make the trick}}%
\longtable}
{\endlongtable}
\makeatother`
Ora l’ambiente [tt]longtable*[/tt] ha tutte le funzioni di [tt]longtable[/tt], ma non modifica il contatore e, in particolare, non può interferire con hyperref. Esempio minimo:
`\documentclass{article}
\usepackage{longtable}\usepackage{etoolbox}
\makeatletter
\newenvironment{longtable*}
{\patchcmd{\LT@array}
{\refstepcounter{table}}{}
{}{\typeout{Sorry, couldn't make the trick}}%
\longtable}
{\endlongtable}
\makeatother\begin{document}
\begin{table}[ht]
\caption{A}
\end{table}\begin{longtable*}{c}
a
\end{longtable*}\begin{table}[ht]
\caption{B}
\end{table}
\end{document}`
Ciao
Enrico
-
3 Ottobre 2012 alle 14:45 #79139
-
3 Ottobre 2012 alle 15:31 #79140
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.