複数のtcolorboxを水平にリストする

複数のtcolorboxを水平にリストする

私はtcolorboxを使って、さまざまな単語を含む複数のボックスを作成し、Traitシステムのようなものを作成しています。エーオン(下の画像を参照)。 AoNトレイト

ボックスは以下のように作成されます。

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

出力: TraitBox を tcolorbox として

ここで望ましい、そして求められている機能は、ボックスがテキストの幅に合わせて調整されることです。

ただし、インライン リストのように、ボックスを水平に揃えることもできます。さらに、foreach ループを使用して、すべての特性を単純にリスト化したいと考えています。

foreach ループを含むインライン リストにしようとすると、ラスターが作成されます。

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

出力: ラスターインライン

ただし、ラスターでは、列を使用して幅を定義する必要があります。また、ボックスは単語の幅に合わなくなっています。さらに、特性「Thrown 10 Ft.」では、このエントリは列の幅に対して長すぎるため、2 行になります。

枠にとらわれずに(すみません、笑)、TraitBoxをリストに配置するなど、箇条書きなしで箇条書きにする、しかし記事でトムが提示したようにインライン化するLaTeX の paralist を使用したインライン リスト今のところ foreach ループは省略します:

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

しかし、これは以前と同じ結果になりました。 TraitBox を使用したインライン リスト

これに対する解決策を持っている人はいますか?

関連情報