Ich erstelle ein Poker-bezogenes Dokument und verwende die folgenden Befehle, um Karten anzuzeigen:
% 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}
Das funktioniert wie vorgesehen und ich bin mit den Ergebnissen zufrieden. Wenn jedoch Karten in eine neue Zeile umgebrochen werden, stelle ich manchmal fest, dassRänge werden von ihren Anzügen getrennt.
Gibt es eine Möglichkeit, Elemente so zu „gruppieren“, dass sie gemeinsam in neue Zeilen umbrochen werden?
Antwort1
Ich schlage vor, für die Farben vorhandene Symbole statt Bilder zu verwenden. Dann können Sie einfach ein geschütztes Leerzeichen verwenden ~
(EDIT: oder noch besser ein dünnes Leerzeichen, \,
das ebenfalls geschützt ist, wie von @Qrrbrbirlbel vorgeschlagen), um Zeilenumbrüche zwischen Rang und Farbe zu vermeiden.
\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}