Agrupar itens na mesma linha para evitar quebras

Agrupar itens na mesma linha para evitar quebras

Estou escrevendo um documento relacionado ao pôquer e estou usando os seguintes comandos para exibir cartas:

% Suit image adjustments:
\newcommand{\suit}[1]{\includegraphics[width=8pt, height=8pt]{#1}}

% Commands to display suit only.
\newcommand{\heart}{\suit{../res/heart_26x26.png}}
\newcommand{\club}{\suit{../res/club_26x26.png}}
\newcommand{\spade}{\suit{../res/spade_26x26.png}}
\newcommand{\daimond}{\suit{../res/daimond_26x26.png}}

% Commands to display both rank and suit.
\newcommand{\ofheart}[1]{\textcolor{red}{#1} \heart}
\newcommand{\ofclub}[1]{\textcolor{black}{#1} \club}
\newcommand{\ofspade}[1]{\textcolor{black}{#1} \spade}
\newcommand{\ofdaimond}[1]{\textcolor{red}{#1} \daimond}

Isso funciona conforme o esperado e estou satisfeito com os resultados - no entanto, quando os cartões são agrupados em uma nova linha, às vezes descubro queas fileiras são separadas de seus naipes.

Existe alguma maneira de "agrupar" itens para que eles sejam agrupados em novas linhas?

Responder1

Sugiro usar símbolos existentes em vez de imagens para os naipes. Então você pode simplesmente usar um espaço inquebrável ~(EDIT: ou, melhor ainda, um espaço fino \,que também não se quebra, como sugerido por @Qrrbrbirlbel) para evitar quebra de linha entre classificação e naipe.

insira a descrição da imagem aqui

\documentclass{article}

\usepackage{xcolor}
\usepackage{arev}

\DeclareSymbolFont{extraup}{U}{zavm}{m}{n}
\DeclareMathSymbol{\varheart}{\mathalpha}{extraup}{86}
\DeclareMathSymbol{\vardiamond}{\mathalpha}{extraup}{87}

\newcommand\ofheart[1]{\textcolor{red}{#1\,$\varheart$}}
\newcommand\ofclub[1]{\textcolor{black}{#1\,$\clubsuit$}}
\newcommand\ofspade[1]{\textcolor{black}{#1\,$\spadesuit$}}
\newcommand\ofdiamond[1]{\textcolor{red}{#1\,$\vardiamond$}}

\begin{document}

\ofclub{3} \qquad \ofspade{K} \qquad \ofheart{Q} \qquad \ofdiamond{4}

\end{document}

informação relacionada