如何抽取一副牌?

如何抽取一副牌?

如何使用 Latex 包(如 TikZ)从牌组中抽取卡片?在此处输入图片描述

答案1

这是一个使用的解决方案SVG-CardsinkscapePDFLaTEX/graphicx/TikZ

我提供一个Makefile

  • 下载并提取 SVG-Cards 档案(通过wgettar),

  • 从中提取每个 SVG 卡svg-cards.svg(通过inkscape

  • 将每张 SVG 卡转换为 PDF 卡(通过inkscape

  • 编译cards.tex(通过pdflatex

脚步:

  1. 复制Makefile(注意:行首的空格是制表符) 及cards.tex以下内容。

  2. 奔跑make去得到cards.pdf

笔记:如果你不能使用这个Makefile,我提供卡片.tgz. 此档案包含所有提取的 PDF 卡片(编译所需cards.tex)。

在此处输入图片描述

Makefile

JOKERS = black_joker red_joker
LEVELS = 1 2 3 4 5 6 7 8 9 10 jack queen king
CLUBS = ${LEVELS:%=%_club}
DIAMONDS = ${LEVELS:%=%_diamond}
HEARTS = ${LEVELS:%=%_heart}
SPADES = ${LEVELS:%=%_spade}
CARDS = ${CLUBS} ${DIAMONDS} ${HEARTS} ${SPADES} ${JOKERS}
CARDS_PDF = ${CARDS:%=card-%.pdf}

all: cards.pdf

cards.pdf: cards.tex $(CARDS_PDF)
    latexmk -pdf cards.tex

card-%.pdf: card-%.svg
    inkscape --export-pdf=$@ $<

card-%.svg: SVG-cards-2.0.1/svg-cards.svg
    inkscape --export-plain-svg=$@ --export-id=${@:card-%.svg=%} --export-id-only $<

SVG-cards-2.0.1/svg-cards.svg:
    wget http://sourceforge.net/projects/svg-cards/files/SVG-cards-2.0.1.tar.gz
    tar zxvf SVG-cards-2.0.1.tar.gz

文件cards.tex

\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
  \foreach \col[count=\c] in {spade,heart,diamond,club}{
    \begin{scope}[shift={(\c*90:1.5cm)}]
      \foreach \level[count=\val] in {1,...,10,jack,queen,king}{
        \node[inner sep=0,anchor=south,rotate={40-(\val*6)}]
        at ({140-(\val*6)}:1cm)
        {\includegraphics[height=1cm]{card-\level_\col}};
      }    
    \end{scope}
  }
  \node at (-2,0) {\includegraphics[height=1cm]{card-red_joker}};
  \node at (2,0)  {\includegraphics[height=1cm]{card-black_joker}};
\end{tikzpicture}
\end{document}

答案2

我发现最接近的解决方案是实验包裹poker由开发奥拉夫·恩克.此包基于技巧(所有并发症都发生在pdflatex)此外,这个包不是标准的,通常不包含在标准 TeX 发行版(MaCTeX、TeXLive 或 MiKTeX)而且必须是手动已安装。

我建议采取以下步骤:

代码示例

\documentclass{article}
\usepackage{poker}
\pagestyle{empty} %No number in pages
\begin{document}

\begin{cards}
\crdAs\crdKh
\end{cards}

\begin{cards}
\crdpair{\crdKs}{\crdtenh}%
\crdflop{\crdsevd}{\crdsevc}{\crdQd}%
\crdKc\crdKd%
\end{cards}

\end{document}

结果

在此处输入图片描述

答案3

取决于你想用它们做什么。如果你打算把它们输入到论文中来描述概率等,最好使用字体。从 Unicode 7.0 开始,卡片套件就有了代码点。使用 Symbola 免费字体乔治·杜罗斯

\documentclass{article}
\usepackage{fontspec}
\newfontfamily\symbola{Symbola.ttf}
\begin{document}
\Huge
\symbola
\char"1F0AB \char"1F0CF
\end{document}

使用 XeLaTeX 或 LuaLaTeX。

在此处输入图片描述

使用 unicode 字体,您只需输入“从抽牌堆中抽出的王牌花色是一张 ♣ 牌 (2♣)。”并轻松排版文本。

在此处输入图片描述

相关内容