Lista horizontalmente vários tcolorbox

Lista horizontalmente vários tcolorbox

Estou usando o tcolorbox para criar várias caixas contendo várias palavras, para ter uma espécie de sistema de Trait, assim como fazem emAoN(veja imagem abaixo). AoNTraits

As caixas são criadas conforme abaixo:

\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}

Saídas: TraitBox como tcolorbox

O recurso desejável e desejado aqui é que as caixas sejam ajustadas à largura do texto.

No entanto, também gostaria que as caixas fossem alinhadas horizontalmente, como uma lista embutida. Além disso, quero usar um loop foreach para simplesmente listar todas as características.

As tentativas de torná-la uma lista inline, que inclui o loop foreach, têm feito um raster:

\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}

Saída: Raster embutido

Entretanto, com um raster a largura deve ser definida usando colunas. E como observado a caixa não se ajusta mais à largura das palavras. Além disso, com a característica "Arremessado 10 pés." esta entrada é muito longa para a largura da coluna e, como tal, tem duas linhas.

Pensando fora da caixa (hehe desculpe), talvez colocando o TraitBox em uma lista, inspirando-se emItemize sem marcadores, mas tornando-o inline conforme apresentado por Tom no artigoListas embutidas em LaTeX usando paralist, renunciando ao loop foreach por enquanto:

\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}

No entanto, isso rendeu o mesmo resultado de antes: lista embutida com TraitBox

Alguém que tenha uma solução para isso?

informação relacionada