titling - titulo en latex
Nivel máximo de anidamiento de listas en látex. (5)
¿Hay alguna forma de aumentar el nivel máximo de anidamiento de las listas (enumerar, etc.) en Latex? Necesito cinco niveles para una clase, y Google no me encuentra nada ...
Solución usando el paquete enumitem
- Si no tiene instalada la versión 3 de enumitem.sty, entonces descargue enumitem.sty manualmente y colóquela en la carpeta de su proyecto.
- Para listas detalladas, agregue lo siguiente al preámbulo de su documento:
/usepackage{enumitem} /setlistdepth{9} /setlist[itemize,1]{label=$/bullet$} /setlist[itemize,2]{label=$/bullet$} /setlist[itemize,3]{label=$/bullet$} /setlist[itemize,4]{label=$/bullet$} /setlist[itemize,5]{label=$/bullet$} /setlist[itemize,6]{label=$/bullet$} /setlist[itemize,7]{label=$/bullet$} /setlist[itemize,8]{label=$/bullet$} /setlist[itemize,9]{label=$/bullet$} /renewlist{itemize}{itemize}{9}
Para los otros tipos de listas esto tiene que ser adaptado.
Ayuda para solucionar problemas
- si obtiene "! Secuencia de control no definida. / setlistdepth", la versión de
enumitem.sty
que utiliza LaTeX es más antigua que la versión 3. - Si aún recibe el error "Demasiado profundamente anidado", entonces falta el comando renewlist para el tipo de lista que usa.
- si obtiene "Paquete enumitem Error: Etiqueta no definida", la etiqueta de uno de los niveles no se definió con el comando
/setlist[itemize,$LEVEL] ...
IIRC, la limitación está en el número de contadores de enumeración proporcionados por defecto. Nunca tuve que hacer esto, pero es posible que desee consultar el Wikilibro LaTeX para obtener algunas sugerencias. La última vez que tuve que modificar seriamente las listas, terminé recurriendo a macros TeX directos basados en algunas cosas en TeX para el impaciente .
Puede utilizar el paquete enumitem. Después de lo que solo tienes que poner el nivel de profundidad que deseas:
/usepackage{enumitem}
...
/setlistdepth{9}
Y puedes tener hasta 9 niveles anidados para tus listas, fácil ;-)
Esta característica está disponible en el paquete desde la versión 3.0 (Ubuntu me instaló la versión 2.2, por ejemplo). En el caso de que tenga una versión antigua, sustitúyala por: http://ctan.mackichan.com/macros/latex/contrib/enumitem/enumitem.sty
¡Espero que ayude!
También puede utilizar un itemize-environment
dentro de un enumerate-environment
.
latex.ltx
copiar las definiciones de /enumerate
y /itemize
del archivo latex.ltx
y cambiar el código de
/ifnum /@itemdepth >/thr@@/@toodeep/else
a
/ifnum /@itemdepth >4/@toodeep/else
y también deberá definir los contadores enumv
, control sequence /labelitemv
y un montón de otras cosas para admitir la profundidad 5.
NB: Si desea hacer esto fuera de un archivo .sty, necesitará rodear sus nuevas definiciones
/makeatletter
....
/makeatother
En resumen, es una buena cantidad de trabajo detallado, pero si está acostumbrado a piratear LaTeX, es bastante sencillo. Si la tarea parece demasiado y no tienes tiempo para aprender, puedes intentar publicar una recompensa aquí o en otro lugar :-)