- Questo topic ha 8 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 16 anni fa da
springbok.
-
CreatoreTopic
-
24 Agosto 2010 alle 10:12 #48740
-
CreatoreTopic
-
AutoreRisposte
-
-
24 Agosto 2010 alle 11:06 #48741::
Ciao a tutti,
volevo sapere come posso riuscire a far continuare la numerazione di elenchi puntati e numerati su diversi frame usando il pacchetto `\enumitem`
In particolare vorrei riuscire a riprendere la numerazione quando cambio frame.Grazie
`\documentclass{beamer}
\usepackage{enumitem}
\setenumerate[1]{label=\arabic*.}
\newcounter{ResumeEnumerate}\begin{document}
\begin{frame}
\begin{enumerate}
\item primo;
\item secondo;
\end{enumerate}
\setcounter{ResumeEnumerate}{\value{enumi}}
\end{frame}\begin{frame}
\begin{enumerate}[start=\numexpr\value{ResumeEnumerate}+1]
\item terzo;
\item quarto.
\end{enumerate}
\end{frame}\end{document}`
Ciao,
Lorenzo
-
24 Agosto 2010 alle 12:48 #48742::
Sembra che abbia un problema col package enumitem: quando lo inserisco (comando \usepackage) alla prima riga dove uso il tag “\begin{enumerate}” mi da quest’errore:`
! TeX capacity exceeded, sorry [grouping levels=255].
\labelenumii ->{
\labelenumii }
l.28 \end{frame}! ==> Fatal error occurred, no output PDF file produced!
`Qualche idea?
-
24 Agosto 2010 alle 13:00 #48743::
Sembra che abbia un problema col package enumitem: quando lo inserisco (comando \usepackage) alla prima riga dove uso il tag “\begin{enumerate}” mi da quest’errore:
`
! TeX capacity exceeded, sorry [grouping levels=255].
\labelenumii ->{
\labelenumii }
l.28 \end{frame}! ==> Fatal error occurred, no output PDF file produced!
`Qualche idea?
Per rispondere anche a questo tuo messaggio, nell’esempio che ti ho riportato ho risolto il problema definendo il formato dell’elenco nel preambolo
`\setenumerate[1]{label=\arabic*.}`
L’esempio minimo che ho scritto per te non funziona?
-
24 Agosto 2010 alle 13:15 #48744::
Si funziona perfettamente. Però con questa modifica:`
\documentclass{beamer}\usepackage{enumitem}
\setenumerate[1]{label=\arabic*.}
\newcounter{ResumeEnumerate}\begin{document}
\begin{frame}
\begin{enumerate}
\item primo;
\item secondo;
\end{enumerate}
\setcounter{ResumeEnumerate}{\value{enumi}}
\end{frame}\begin{frame}
\begin{enumerate}[start=\numexpr\value{ResumeEnumerate}+1]
\item terzo;
\begin{enumerate}
\item terzo.a
\item terzo.b
\end{enumerate}
\item quarto.
\end{enumerate}
\end{frame}\end{document}
`
L’errore è il solito:
`
LaTeX Font Warning: Font shape `OT1/cmss/m/n' in size <4> not available
(Font) size <5> substituted on input line 15.[1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}]
! TeX capacity exceeded, sorry [grouping levels=255].
\labelenumii ->{
\labelenumii }
l.26 \end{frame}! ==> Fatal error occurred, no output PDF file produced!
Transcript written on prova1.log.
`Sembra che non vi sia abbastanza memoria per gestire gli elenchi puntati e numerati annidati, il che è assurdo.
Anche a voi da lo stesso problema? Come si potrebbe risolvere?
-
24 Agosto 2010 alle 20:19 #48745::
Si funziona perfettamente. A questo punto il problema è del mio file! Questo è il preambolo:
`
\documentclass{beamer}\usepackage{enumitem}
\setenumerate[1]{label=\arabic*.}
\newcounter{ResumeEnumerate}\usepackage[italian]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath, amssymb, booktabs, graphicx}\newenvironment{bulletLetters}{\begin{enumerate}[a)]}{\end{enumerate}}
\usetheme{JuanLesPins}
\usecolortheme[rgb={0,.603921569,.388235294}]{structure}
\useoutertheme{sidebar}
\setbeamercovered{dynamic}\theoremstyle{definition}
\newtheorem{definizione}{Definizione}
`C’è qualcosa che non va o con cui va in conflitto?
[modifica]
Penso che il problema però non riguardi il preambolo ma piuttosto che dopo quando uso elenchi puntati annidati vi sia un problema di memoria durante la compilazione che genera quest’errore. Infatti il problema è “Tex Capacity Exceeded”
Non c’è modo di aumentarla?Usando il pacchetto enumitem si deve definire il formato degli elenchi con un comando come
`\begin{enumerate}[label=\alph*)]`
invece di definire un nuovo ambiente con
`\newenvironment{bulletLetters}{\begin{enumerate}[a)]}{\end{enumerate}} `
Se hai l’esigenza di usare diversi formati di elenchi potresti fare così
`\documentclass{beamer}\usepackage{enumitem}
\setenumerate[1]{label=\arabic*.}
\newcounter{ResumeEnumerate}\begin{document}
\begin{frame}
\begin{enumerate}
\item primo;
\item secondo;
\end{enumerate}
\setcounter{ResumeEnumerate}{\value{enumi}}
\end{frame}\begin{frame}
\begin{enumerate}[start=\numexpr\value{ResumeEnumerate}+1]
\item terzo;
\item quarto.
\end{enumerate}
\end{frame}\begin{frame}
\begin{enumerate}[label=\alph*)]
\item uno;
\item due.
\end{enumerate}
\end{frame}\end{document}`
P.S. La classe beamer carica già il pacchetto graphicx, non caricarlo due volte. 😉
-
24 Agosto 2010 alle 20:52 #48746::
Ok ora compila.
Però i numeri e le lettere non sono più tipici del tema (JuanLesPins nel mio caso) quindi per esempio sono senza il cerchio colorato (nel caso dei numeri) oppure senza il colore (nel caso delle lettere).
Inoltre gli elenchi puntati sembrano essere scomparsi 😥
Come posso ovviare a questi problemi? Non posso ricominciare la numerazione senza usare il package “enumitem” che mi sta creando così tanti problemi?
-
24 Agosto 2010 alle 21:09 #48747::
[…] Non posso ricominciare la numerazione senza usare il package “enumitem” che mi sta creando così tanti problemi?
Si può: http://www.guit.sssup.it/phpbb/viewtopic.php?t=4117&highlight=beamer+elenco.
Ciao
Antonio
-
28 Agosto 2010 alle 10:35 #48748::
Posto la soluzione definitiva al problema che ho adottato:`
\documentclass{beamer}\newcounter{ResumeEnumerate0}
\newcounter{ResumeEnumerate1}\begin{document}
\begin{frame}
\begin{enumerate}
\item primo;
\pause
\item secondo;
\end{enumerate}
\setcounter{ResumeEnumerate0}{\numexpr\value{enumi}}
\end{frame}\begin{frame}
\begin{enumerate}\setcounter{enumi}{\value{ResumeEnumerate0}}
\item terzo;
\begin{enumerate}[a)]
\pause
\item terzo.a
\pause
\item terzo.b
\end{enumerate}
\pause
\item quarto;
\end{enumerate}
\setcounter{ResumeEnumerate1}{\value{enumi}}
\end{frame}\begin{frame}
\begin{enumerate}\setcounter{enumi}{\value{ResumeEnumerate1}}
\item quinto;
\pause
\item sesto.
\end{enumerate}
\end{frame}\end{document}
`
Come vedete ho dovuto utilizzare due contatori, ResumeEnumerate0 e ResumeEnumerate1. Questo perchè, usando lo stesso contatore, se nel secondo frame vengono inseriti comandi \pause i numeri degli elenchi numerati partono dal valore di enumi alla fine del frame in quanto il contatore ResumeEnumerate ha già assunto quel valore. Per evitare ciò è necessario usare due (e non più di due anche in caso di N frame) contatori.
Ovviamente se avete una soluzione ancora più elegante fatemela sapere… 😀
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.