How to draw the cards from a deck using a Latex package, as TikZ?
3 Answers
The closest solution I found is the experimental package poker developed by Olaf Encke. This package is based on PSTricks (with all complications to run in pdflatex) further that this package is not standard and generally is not included in the Standard TeX Distributions (MaCTeX, TeXLive or MiKTeX) and it must be manually installed.
I recommend these steps:
Download and extract the package from MIT webpage.
Depending of your distribution Install manually the package. (For MiKTeX you must Create a local texmf tree, if you use a system as Linux read How do I install an individual package on a Linux system?, and read here for MaCTeX).
Run using the path
latex->dvips->ps2pdf.If you need the figures to include in others files
.pdf(withpdflatex,xelatexorlualatex) then clip usingpdfcrop --hires <file> <file.pdf>
Code Example
\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}
Result

-
Now we have the
pst-pokerpackage which is included in TeX Live. Its document says "pst-pokeris based on the packagepokerfrom Olaf Encke (http://web.mit.edu/ foley/games/Arcadia/sr/poker/pokersty)." – L. F. Mar 29 '19 at 14:10
Depends what you want to do with them. If you going to enter them in a paper to describe probabilities etc, better to use a font. As of Unicode 7.0 there are codepoints for card suite. Use the Symbola free font of George Douros.
\documentclass{article}
\usepackage{fontspec}
\newfontfamily\symbola{Symbola.ttf}
\begin{document}
\Huge
\symbola
\char"1F0AB \char"1F0CF
\end{document}
Use XeLaTeX or LuaLaTeX.

With a unicode font you can just type "The drawn trump suit from the draw deck is a ♣ card (2♣)." and typeset the text easily.

- 117,160
-
In addition to your answer: Here are all possible cards of the unicode, here you get closer information on each code, and here, you may check which fonts on your system support that symbol. – LaRiFaRi Oct 21 '14 at 08:27
-
1@LaRiFaRi Thanks for the links. I am aware of some of the other fonts, they are hard to come by (if you see in your link) there only about three other fonts you can use. The
Quivirais a particularly good one as well, so are theNo Tofufrom Google. The last one is very lightweight and has an advantage if you don't mix it with other text. – yannisl Oct 21 '14 at 13:48
Here is a solution using SVG-Cards, inkscape and PDFLaTEX/graphicx/TikZ.
I provide a Makefile :
to download and to extract the SVG-Cards archive (via
wgetandtar),to extract each SVG card from
svg-cards.svg(viainkscape)to convert each SVG card into a PDF card (via
inkscape)to compile
cards.tex(viapdflatex)
Steps:
Copy the
Makefile(note: the white spaces at beginning of lines are tabulations) and thecards.texbelow.Run
maketo getcards.pdf
Note: if you can't use this Makefile, I provide cards.tgz. This archive contains all extracted PDF cards (needed to compile cards.tex).

The 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
The cards.tex file:
\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}
- 70,770
- 10
- 176
- 283
-
Do you know how to do this in Windows without
cygwin? That's my work platform. – skpblack Oct 21 '14 at 01:39 -
@skpblack pdflatex, latexmk and inkscape exist for Windows. You may download manually the SVG-Cards archive then try GnuWin (a gnumake for windows)... – Paul Gaborit Oct 21 '14 at 05:19
-
@skpblack : I added a note with a link to an archive with all PDF cards – Paul Gaborit Oct 21 '14 at 08:11
-
This is such a great contribution. I used it to illustrate a Venn diagram intersection. FYI http://docdro.id/KaJUDjw – PatrickT Oct 09 '17 at 21:30
-
The export-latex function has a bug preventing you to export just one object with a certain ID. It produces and empty page. The trick by just exporting de ID to a plain SVG file and then do the Latex export works around this limitation. Very good, thanks! – Johannes Linkels Feb 09 '21 at 13:37
tikz,pstricksetc, especially the cards showing images like King, Queen, Joker, Jake are too complex to draw it with tikz. – Oct 19 '14 at 10:09\includegraphics{}. Lol – skpblack Oct 21 '14 at 10:55