14

I would like to use a dice symbol such as those defined in Andrew Swann's answer, given to Dice symbols for digits up to 9, inside a math equation.

For instance, to model the set of results after a throw, I would like to write :

$$ \Omega = \{1, 2, 3, 4, 5, 6\} $$

Where each number is replaced by the corresponding dice symbol.

1
  • 5
    So why don't you do it then? \[ \Omega = \drawdie{0}, \drawdie{1}, \drawdie{3}... \]etc.
    – percusse
    May 15, 2018 at 14:29

1 Answer 1

26

(29 June 2021: Updated the answer to mention that two more packages -- ifsym and utfsym -- provide macros that let users draw dice.)

According to the current (May 2021) edition of the "Comprehensive LaTeX Symbol List", the epsdice, hhcount, stix, ifsym, and utfsym packages all contain macros for drawing dice.

For instance, here's an example that makes use of the epsdice package.

enter image description here

\documentclass{article}
\usepackage{epsdice}
\begin{document}
\[
\Omega=\{ \epsdice{1}, \epsdice{2}, \epsdice{3}, 
          \epsdice{4}, \epsdice{5}, \epsdice{6} \}
\]
\end{document}

Addendum to address the OP's follow-up query: To center the die symbols vertically, i.e., to align them on the math axis, you could encase them in \vcenter{\hbox{...}} "wrappers".

enter image description here

\documentclass{article}
\usepackage{epsdice}
\newcommand\vcdice[1]{\vcenter{\hbox{\epsdice{#1}}}}
\begin{document}
\[
\Omega=\{ \vcdice{1}, \vcdice{2}, \vcdice{3}, 
          \vcdice{4}, \vcdice{5}, \vcdice{6} 
       \}
\]
\end{document}

2nd addendum: If you're free to use LuaLaTeX, you could use a Lua for loop to generate all six die symbols programmatically. This functionality may not seem like a big deal if just six symbols need to be generated. Naturally, it's a lot more relevant for use cases that involve a dozen or more calls to the same macro.

% !TEX program = lualatex
\documentclass{article}
\usepackage{epsdice}
\newcommand\vcdice[1]{\vcenter{\hbox{\epsdice{#1}}}}
\begin{document}
\[
  \Omega = \{ 
     \directlua{ for i=1,6 do 
                    tex.sprint ( "\\vcdice{" .. i .. "}" ) 
                    if i<6 then tex.sprint "," end
                 end }
            \}
\]
\end{document}
0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.