# styleitems — TikZ-based decorative list labels with independent auto-numbering **Version:** 1.0 **Date:** 2025-08-13 **Author:** Faris Hameed **Email:** classsec81@gmail.com **License:** LaTeX Project Public License (LPPL) v1.3c or later ## Description `styleitems` provides a fully self-contained, independent auto-numbering system with TikZ-drawn decorative list labels. Unlike packages such as `enumitem`, each list manages its own counter through an internal stack mechanism, ensuring that nested lists never interfere with each other. Available label shapes: - **Basic shapes:** Circle, Square, Rectangle, Diamond, Triangle, Pentagon, Hexagon, Octagon, Star (5-point), Star (12-point) - **Callouts:** Ellipse Callout (left/right), Cloud Callout (left/right) - **Arrows:** Right, Left, Up, Down Every shape comes in two flavours: - **Vertical** (`*List` environments, using `\MSAutoLine{}`) - **Inline** (`*Inline` environments, using `\MSAutoInline{}`) --- ## Requirements - `tikz` (with libraries: `shapes.geometric`, `shapes.misc`, `shapes.callouts`, `shapes.arrows`) - `xcolor` (options: `svgnames`, `dvipsnames`, `x11names`) - `xparse` - `etoolbox` - `bidicontour` (option: `outline`) - `graphicx` --- ### Manual installation Copy `styleitems.sty` into a directory searched by TeX, e.g.: TEXMFHOME/tex/latex/styleitems/ Then update the file database if needed (e.g. `texhash`). --- ## Quick start ```latex \usepackage{styleitems} % Vertical list \begin{AutoCircleList}[blue][arabic] \MSAutoLine{First item} \MSAutoLine{Second item} \end{AutoCircleList} % Nested lists — counters are fully independent \begin{AutoCircleList}[blue][arabic] \MSAutoLine{Outer item one} \begin{AutoStarList}[Gold][aralph] \MSAutoLine{Inner item one} \MSAutoLine{Inner item two} \end{AutoStarList} \MSAutoLine{Outer item two} % correctly shows 2, not 3 \end{AutoCircleList} % Inline list \begin{AutoHexInline}[ForestGreen][roman] \MSAutoInline{Alpha} \MSAutoInline{Beta} \MSAutoInline{Gamma} \end{AutoHexInline} ``` ### Environment signature Most environments accept four optional arguments: ``` \begin{AutoList}[color][style][rotate][scale] ``` Callout environments add a direction argument: ``` \begin{AutoEllipseCalloutList}[color][style][direction][rotate][scale] ``` ### Numbering styles | Key | Output example | |--------------|-------------------------------| | `arabic` | 1, 2, 3, … | | `indic` | ١, ٢, ٣, … (Indic) | | `alph` | a, b, c, … | | `Alph` | A, B, C, … | | `roman` | i, ii, iii, … | | `Roman` | I, II, III, … | | `aralph` | أ, ب, ت, … (Hijai order) | | `aralphabjad`| أ, ب, ج, … (Abjad order) | --- ## License This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in: https://www.latex-project.org/lppl.txt This work has the LPPL maintenance status "maintained". The Current Maintainer of this work is Faris Hameed. ## Repository If you find a bug or want to contribute, please contact the author via email.