水平列出多個tcolorbox

水平列出多個tcolorbox

我正在使用 tcolorbox 來創建幾個包含各種單字的框,以擁有某種 Trait 系統,就像他們在奧諾(見下圖)。 AoNT 特徵

這些框的建立方式如下:

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

輸出: 光柵內聯

但是,對於柵格,必須使用列來定義寬度。如所觀察到的,該框不再適合單字的寬度。此外,具有「拋出 10 英尺」的特徵。該條目對於列寬而言太長,因此使其成為兩行。

跳出框框思考(呵呵抱歉),也許將 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 的內聯列表

有人能解決這個問題嗎?

相關內容