私はtcolorboxを使って、さまざまな単語を含む複数のボックスを作成し、Traitシステムのようなものを作成しています。エーオン(下の画像を参照)。
ボックスは以下のように作成されます。
\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}
ここで望ましい、そして求められている機能は、ボックスがテキストの幅に合わせて調整されることです。
ただし、インライン リストのように、ボックスを水平に揃えることもできます。さらに、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}
これに対する解決策を持っている人はいますか?