Mehrere Farbboxen horizontal auflisten

Mehrere Farbboxen horizontal auflisten

Ich verwende tcolorbox, um mehrere Boxen mit verschiedenen Wörtern zu erstellen, um eine Art Trait-System zu haben, ähnlich wie beiAoN(siehe Bild unten). AoNTraisonné

Die Boxen werden wie folgt erstellt:

\usepackage[most]{tcolorbox}
\definecolor{light-gray}{gray}{0.90}

\newtcolorbox{TraitBox}{
    enhanced,
    size=tight,
    height=1.2em,
    leftrule=0.3mm,
    rightrule=0.3mm,
    left=0.5mm,
    right=0.5mm,
    top=0.3mm,
    bottom=0.3mm,
    coltext=white,
    halign=center,
    valign=center,
    colback=gray,
    colframe=light-gray,
    hbox}

\begin{TraitBox} Agile \end{TraitBox}
\begin{TraitBox} Finesse \end{TraitBox}
\begin{TraitBox} Thrown 10 Ft. \end{TraitBox}
\begin{TraitBox} Versatile S \end{TraitBox}
\begin{TraitBox} Invest \end{TraitBox}

Ausgaben: TraitBox als tcolorbox

Wünschenswert und erwünscht ist hierbei, dass die Boxen an die Breite des Textes angepasst werden.

Ich möchte jedoch auch, dass die Felder horizontal ausgerichtet sind, ähnlich wie bei einer Inline-Liste. Darüber hinaus möchte ich eine Foreach-Schleife verwenden, um einfach alle Merkmale aufzulisten.

Versuche, daraus eine Inline-Liste zu machen, die die Foreach-Schleife einschließt, haben zu einem Raster geführt:

\newcommand{\ListOfTraits}[1]{
    \begin{tcbraster}[ 
        raster before skip=0.5mm,
        raster after skip=0.5mm,
        % raster left skip=-0.5mm,
        raster columns=4, 
        % raster width=\textwidth -1pt,
        raster row skip = 0.5mm,
        raster equal height,
        enhanced,
        size=tight,
        leftrule=0.3mm,
        rightrule=0.3mm,
        % left=0.5mm,
        % right=0.5mm,
        top=0.3mm,
        bottom=0.3mm,% 
        coltext=white,
        halign=center,
        valign=center,
        colback=gray,
        colframe=light-gray,
        ]
        \hspace{-1mm}
        \foreach \traits in {#1}{
        \begin{tcolorbox}\traits\end{tcolorbox}}
    \end{tcbraster}
}

\ListOfTraits{Agile,Finesse,Thrown 10 Ft.,Versatile S,Invest}

Ausgabe: Raster inline

Bei einem Raster muss die Breite allerdings über Spalten definiert werden. Und wie man sieht, passt sich die Box dann nicht mehr der Breite der Wörter an. Zudem ist dieser Eintrag bei der Eigenschaft "Thrown 10 Ft." zu lang für die Spaltenbreite und wird somit zweizeilig.

Über den Tellerrand hinaus denken (hehe, tut mir leid), vielleicht die TraitBox in eine Liste einfügen und sich inspirieren lassen vonAufschlüsselung ohne Aufzählungszeichen, aber inline, wie von Tom im Artikel vorgestelltInline-Listen in LaTeX mit Paralist, wobei auf die foreach-Schleife vorerst verzichtet wird:

\begin{inparadesc}
    \item[] \begin{TraitBox} Agile \end{TraitBox}
    \item[] \begin{TraitBox} Finesse \end{TraitBox}
    \item[] \begin{TraitBox} Thrown 10 Ft. \end{TraitBox}
    \item[] \begin{TraitBox} Versatile S \end{TraitBox}
    \item[] \begin{TraitBox} Invest \end{TraitBox}
\end{inparadesc}

Dies führte jedoch zum selben Ergebnis wie zuvor: Inline-Liste mit TraitBox

Hat jemand eine Lösung dafür?

verwandte Informationen