私はポーカー関連のドキュメントを作成しており、カードを表示するために次のコマンドを使用しています。
% 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}
これは意図したとおりに機能し、結果に満足しています。ただし、カードが新しい行に折り返されると、階級はスーツから分離される。
項目を「グループ化」して、新しい行にまとめて折り返す方法はありますか?
答え1
スートには画像ではなく既存のシンボルを使用することをお勧めします。そうすれば、ランクとスートの間で改行されないように、単純に非改行スペース~
(編集: または、\,
@Qrrbrbirlbel が提案したように、非改行の薄いスペースの方がさらに良い) を使用できます。
\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}