Я использую tcolorbox для создания нескольких полей, содержащих различные слова, чтобы иметь своего рода систему черт, как это делают вАон(см. изображение ниже).
Ящики создаются следующим образом:
\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}
Желательной и востребованной особенностью здесь является то, что рамки подгоняются под ширину текста.
Однако я также хотел бы, чтобы поля были выровнены по горизонтали, как в списке inline. Кроме того, я хочу использовать цикл 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}
Однако это дало тот же результат, что и раньше:
Есть ли у кого-нибудь решение этой проблемы?