76

I would like to include smileys in my LaTeX document. Is there any package with lots of different smileys?

In mnsymbol and wasysym, I found some general symbols:

\documentclass{article}
\usepackage{MnSymbol,wasysym}
\begin{document}
wasysym: \smiley{} \frownie{} \blacksmiley{}

MnSymbol: \(\smile{} \frown{}\)
\end{document}

output

But I do not like the output. Actually, I am looking for smileys which look like "default smiles" in Google Talk, MSN, ... ;) <- this one is my favourite. ;)

  • 1
    Since you have some responses below that seem to answer your question, please consider marking one of them as ‘Accepted’ by clicking on the tickmark below their vote count. This shows which answer helped you most, and it assigns reputation points to the author of the answer (and to you!). If you need more help, please specify your needs. – doncherry Jul 13 '11 at 22:10
  • 1
    Related Question: Something between \frownie and \smiley. – Peter Grill Jun 9 '12 at 0:25
  • What do you think about this new answer tex.stackexchange.com/a/375029/13173 ? I think it is great. – Léo Léopold Hertz 준영 Jun 18 '17 at 7:21
53

For the sake of completeness (see also https://tex.stackexchange.com/a/59125/83):

Unicode defines codepoints of the various emoticons/emojis: There is ☺ and ☹ at U+263A and U+2639, and there are many more from U+1F601 onward. So, all you need is a font that includes these characters (DejaVu Sans contains some of them, and there are other fonts with full emoji support), copy&paste your emojis, and use XeLaTeX or LuaLaTeX. E.g.,

% Compile with xelatex or lualatex and DejaVu Sans installed on your system.
\documentclass{article}
\usepackage{fontspec}
\newfontfamily\DejaSans{DejaVu Sans}

\begin{document}
Some emoticons from Unicode: 

{\DejaSans ☺😐☹😁😂😃😇😉😈😋😍😱} and even cats: {\DejaSans 😺}!
\end{document}

result

  • 6
    Any chance getting this to work with pdfLatex? – kexxcream Aug 3 '16 at 12:59
  • when i compile the above code i only get "????" instead of smileys, what am i doing wrong? :( – nerdess Dec 7 '16 at 20:24
  • @nerdess Did you compile with XeLaTeX or LuaLaTeX and is DejaVu Sans available (to TeX) on you system? – Caramdir Dec 9 '16 at 23:34
  • it does'nt work for me – mina May 28 at 21:43
48

Package tikzsymbols provides some symbols as well. As usual with tikz, you can apply scale and color changes.

lanSmiley

\documentclass{article}
\usepackage{tikzsymbols}
\usepackage{textcomp}
\usepackage{parskip}
\begin{document}
This is Max \Strichmaxerl and this is Jane \Strichmaxerl. The met
over a  \Coffeecup of nice and tasty coffee. Later they went for
a \Candle-light dinner. Their love for each other was burning
like \Fire and he asked Jane to \textmarried{} him. 

He was a bit \Sey[][green!60!white] on his wedding day  and had to \Chair
down. His best man told him to be \Cooley and that everything is
going to be just fine with the \Winkey of an eye.

All guests were waiting for the famous words of the \Innocey: You
may now kiss the bride. 

Everybody was very \dSmiley at the reception. Bride and groom were
very excited \Laughey[1.4] thinking about their honeymoon, which they
planned not only to be staying  in \Bed sleeping in ;-)
\end{document}
  • I was hoping for a light bulb smilie in tikzsymbols but no luck :( – aiag Jan 6 '18 at 22:47
  • 1
    @aiag The documentation says suggestions are welcome, just ask on the github page. – Johannes_B Jan 7 '18 at 7:52
27

bclogo offers these: smileys from bclogo (from the manual)

This, however, doesn't work with pdfTeX because the package uses pstricks.

Generally, I recommend you look for some smileys that you like on the web and then put them in your document via includegraphics{}.


Addition:

marvosym also offers two smileys:

\documentclass{article}
\usepackage{marvosym}
\begin{document}
\Smiley{} \Frowny{}
\end{document}

output

  • Unfortunately, marvosym collides with mathabx on what seems like dozens of symbols, otherwise this looks cute. – O. R. Mapper Jul 17 '16 at 22:20
17

A dingbats style font? How about James Stirling's smiley faces font:

  1. Sampler selection gratis for noncommercial use
  2. Standard rights commercial, full range for $5

alt text

  • 4
    Good answer, but...yuk! Those are just ghastly! – dmckee Oct 4 '10 at 0:21
14

Here are some more complicated emojis created in tikz (with the help of inkscape)-(I have used the answer for the sphaire from here and the full code is here):

First Part of longtable

the code is here:

\documentclass[10pt,a4paper]{article}
\usepackage{tikz}
\usepackage{xcolor}
\usepackage{longtable}
\usepackage{ctable}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
%TeXporter:DefineEmojiColors
\definecolor{c0a0808}{RGB}{10,8,8}
\definecolor{cff0000}{RGB}{255,0,0}
\definecolor{cff9700}{RGB}{255,151,0}
\definecolor{c1a0f00}{RGB}{26,15,0}
\definecolor{c782121}{RGB}{120,33,33}
\definecolor{cffffff}{RGB}{255,255,255}
\definecolor{cffefef}{RGB}{255,239,239}
\definecolor{c250303}{RGB}{37,3,3}
\definecolor{ce3dbdb}{RGB}{227,219,219}
\definecolor{cd45500}{RGB}{212,85,0}
\definecolor{cffd42a}{RGB}{255,212,42}
\definecolor{caa4400}{RGB}{170,68,0}
\definecolor{cff5555}{RGB}{255,85,85}
\definecolor{cffff00}{RGB}{255,255,0}
\definecolor{c5a5a5a}{RGB}{90,90,90}
\definecolor{ce9c900}{RGB}{233,201,0}
\definecolor{c2b0000}{RGB}{43,0,0}
\definecolor{c00ffff}{RGB}{0,255,255}
%TeXporter:EndDefineEmojiColors
%TeXporter:EmojiHappyFace
\def\CreateHappyFace{
\begin{tikzpicture}[scale=0.5]
\pgfdeclareradialshading{ballshading}{\pgfpoint{-10bp}{10bp}}
{color(0bp)=(yellow!40!white);
color(9bp)=(yellow!55!white);
color(18bp)=(yellow!60!orange);
color(25bp)=(yellow!50!orange);
color(50bp)=(black)}
\pgfpathcircle{\pgfpoint{0cm}{0cm}}{2cm}
\pgfshadepath{ballshading}{20}
\pgfusepath{}
\pgfdeclareradialshading{ballshading}{\pgfpoint{-10bp}{10bp}}
{color(0bp)=(yellow!40!white);
color(9bp)=(yellow!30!white);
color(18bp)=(yellow!60!orange);
color(25bp)=(yellow!50!orange);
color(50bp)=(orange)}
\pgfpathcircle{\pgfpoint{0cm}{0cm}}{1.85cm}
\pgfshadepath{ballshading}{20}
\pgfusepath{}
%Head hat
\path[yshift=138,xshift=-140,scale=0.012,yscale=-1, fill=white,opacity=0.234] (411.4196,246.6473) .. controls
(344.7661,246.6473) and (288.7870,289.5501) .. (273.0134,347.5848) .. controls
(311.3176,336.0898) and (355.6292,329.4911) .. (402.8571,329.4911) .. controls
(457.9662,329.4911) and (509.1043,338.4615) .. (551.3571,353.7411) .. controls
(537.9844,292.6125) and (480.4076,246.6473) .. (411.4196,246.6473) -- cycle;
%Left eye
\path[yshift=163,xshift=-68,scale=0.012,inner color=c782121!70!yellow,outer color=c782121!60!black,yscale=-1] (157.4105,420.0859) .. controls (145.5758,420.0859) and
(135.9730,441.1746) .. (135.9730,467.2109) .. controls (135.9730,472.5231) and
(136.3929,477.6340) .. (137.1293,482.3984) .. controls (139.9795,463.6457) and
(148.6651,449.9922) .. (158.9730,449.9922) .. controls (167.3672,449.9922) and
(174.7174,459.0360) .. (178.6918,472.5234) .. controls (178.7809,470.7772) and
(178.8168,469.0096) .. (178.8168,467.2109) .. controls (178.8168,441.1746) and
(169.2452,420.0859) .. (157.4105,420.0859) -- cycle;
%Right eye
\path[yshift=163,xshift=68,xscale=-1,scale=0.012,inner color=c782121!70!yellow,outer color=c782121!60!black,yscale=-1] (157.4105,420.0859) .. controls (145.5758,420.0859) and
(135.9730,441.1746) .. (135.9730,467.2109) .. controls (135.9730,472.5231) and
(136.3929,477.6340) .. (137.1293,482.3984) .. controls (139.9795,463.6457) and
(148.6651,449.9922) .. (158.9730,449.9922) .. controls (167.3672,449.9922) and
(174.7174,459.0360) .. (178.6918,472.5234) .. controls (178.7809,470.7772) and
(178.8168,469.0096) .. (178.8168,467.2109) .. controls (178.8168,441.1746) and
(169.2452,420.0859) .. (157.4105,420.0859) -- cycle;
%mouth
\path[yshift=203,xshift=-90,scale=0.024,yscale=-1,draw=black,inner color=c782121!70!yellow,outer color=c782121!60!black,miter limit=4.00,line width=0.820pt]
(83.2188,316.4062) .. controls (86.0968,339.8625) and (107.1942,358.0625) ..
(132.8438,358.0625) .. controls (158.3006,358.0625) and (179.3095,340.1386) ..
(182.4375,316.9375) .. controls (167.0177,319.5504) and (150.8782,320.9375) ..
(134.2812,320.9375) .. controls (116.6268,320.9375) and (99.5245,319.3512) ..
(83.2188,316.4062) -- cycle;
%teeth
\path[yshift=203,xshift=-90,scale=0.024,yscale=-1,inner color=white,outer color=ce3dbdb!80!black,draw=black,line width=0.6] (83.3970,316.4171) .. controls (84.1788,322.7888) and
(86.2941,328.7681) .. (89.4908,334.1046) .. controls (103.3990,334.8620) and
(119.1174,338.6714) .. (133.0437,338.3979) .. controls (148.5504,338.0933) and
(162.2806,333.5914) .. (177.7095,332.0108) .. controls (180.1799,327.3657) and
(181.8923,322.3146) .. (182.6157,316.9483) .. controls (167.1960,319.5612) and
(151.0564,320.9483) .. (134.4595,320.9483) .. controls (116.8050,320.9483) and
(99.7027,319.3620) .. (83.3970,316.4171) -- cycle;
%tangue
\path[yshift=203,xshift=-110,scale=0.024,yscale=-1,xscale=1.25,inner color=cff5555!80!black,outer color=c782121!60!black,opacity=0.9] (115.5196,352.1215) .. controls (111.3671,350.2285) and
(105.6834,345.8852) .. (102.8892,342.4698) -- (97.8089,336.2598) --
(102.2146,336.3376) .. controls (104.6377,336.3804) and (111.6672,337.1200) ..
(117.8358,337.9812) .. controls (124.3649,338.8926) and (133.4252,338.8866) ..
(139.5191,337.9667) .. controls (145.2764,337.0975) and (153.3516,335.9044) ..
(157.4639,335.3152) -- (164.9409,334.2440) -- (157.7177,342.3122) .. controls
(146.0180,355.3804) and (130.5538,358.9753) .. (115.5196,352.1216) -- cycle;
\end{tikzpicture}
}
%TeXporter:EndEmojiHappyFace


%TeXporter:EmojiSadFace
\def\CreateSadFace{
\begin{tikzpicture}[scale=0.5]
%Head
\pgfdeclareradialshading{ballshading}{\pgfpoint{-10bp}{10bp}}
{color(0bp)=(yellow!40!white);
color(9bp)=(orange!85!white);
color(18bp)=(orange!90!blue);
color(25bp)=(yellow!80!blue);
color(50bp)=(black)}
\pgfpathcircle{\pgfpoint{0cm}{0cm}}{2cm}
\pgfshadepath{ballshading}{20}
\pgfusepath{}
\pgfdeclareradialshading{ballshading}{\pgfpoint{-10bp}{10bp}}
{color(0bp)=(yellow!40!white);
color(9bp)=(yellow!30!white);
color(18bp)=(yellow!60!orange);
color(25bp)=(yellow!50!orange);
color(50bp)=(orange)}
\pgfpathcircle{\pgfpoint{0cm}{0cm}}{1.85cm}
\pgfshadepath{ballshading}{20}
\pgfusepath{}
%Head hat
\path[yshift=138,xshift=-140,scale=0.012,yscale=-1, fill=white,opacity=0.234] (411.4196,246.6473) .. controls
(344.7661,246.6473) and (288.7870,289.5501) .. (273.0134,347.5848) .. controls
(311.3176,336.0898) and (355.6292,329.4911) .. (402.8571,329.4911) .. controls
(457.9662,329.4911) and (509.1043,338.4615) .. (551.3571,353.7411) .. controls
(537.9844,292.6125) and (480.4076,246.6473) .. (411.4196,246.6473) -- cycle;

\draw[inner color=white ,outer color=c782121!20!white]
(-0.8,0.1) circle (0.35);
\fill[inner color=black ,outer color=black!20!white]
(-0.8,-0.05) circle (0.15);

\draw[inner color=white ,outer color=c782121!20!white]
(0.8,0.1) circle (0.35);
\fill[inner color=black ,outer color=black!20!white]
(0.8,-0.05) circle (0.14);

\path[xshift=-90,yshift=122,scale=0.06,yscale=-1,draw=brown!70!black,inner color=c782121!70!yellow,outer color=c782121!60!black]
(46.74375,50.94375) .. controls (44.20450,57.00941) and (38.54312,61.64973) ..
(31.56875,63.20938) .. controls (32.36042,63.35032) and (33.17901,63.42500) ..
(34.01562,63.42500) .. controls (41.06052,63.42500) and (46.77188,58.18907) ..
(46.77188,51.73125) .. controls (46.77188,51.46641) and (46.76266,51.20420) ..
(46.74375,50.94375) -- cycle;

\path[xshift=90,yshift=122,scale=0.06,yscale=-1,xscale=-1,draw=brown!70!black,inner color=c782121!70!yellow,outer color=c782121!60!black]
(46.74375,50.94375) .. controls (44.20450,57.00941) and (38.54312,61.64973) ..
(31.56875,63.20938) .. controls (32.36042,63.35032) and (33.17901,63.42500) ..
(34.01562,63.42500) .. controls (41.06052,63.42500) and (46.77188,58.18907) ..
(46.77188,51.73125) .. controls (46.77188,51.46641) and (46.76266,51.20420) ..
(46.74375,50.94375) -- cycle;

\path[xshift=55,yshift=-10,scale=0.0065,yscale=-0.8,xscale=-0.8,draw=black,inner color=cff5555!80!black,outer color=c782121!60!black]
(359.6464,67.3100) .. controls (278.1326,67.3100)
and (211.4129,129.5159) .. (205.8964,208.2475) .. controls (250.9411,190.8018)
and (304.2674,180.7163) .. (361.4277,180.7163) .. controls (417.0568,180.7163)
and (469.0358,190.2795) .. (513.3027,206.8725) .. controls (507.1094,128.7941)
and (440.6844,67.3100) .. (359.6464,67.3100) -- cycle;
\fill[xshift=55,yshift=-10,scale=0.0065,yscale=-0.8,xscale=-0.8,inner color=white,outer color=ce3dbdb!80!black,line width=0.2]
(359.6346,72.6265) .. controls (315.4332,72.6265)
and (275.6110,90.9215) .. (247.5096,120.2202) .. controls (283.3018,112.3912)
and (322.3429,108.0640) .. (363.1971,108.0640) .. controls (400.7202,108.0640)
and (436.6908,111.7186) .. (470.0408,118.3765) .. controls (442.0468,90.1452)
and (402.9104,72.6265) .. (359.6346,72.6265) -- cycle;


\fill[xshift=-63,yshift=5,scale=0.025,yscale=-1,inner color=blue!10!white,outer color=blue!80!white]
(37.38189,16.83071) -- (24.98031,58.99606) .. controls (24.04934,63.33741) and
(24.68778,67.99808) .. (26.75197,71.92913) .. controls (27.87220,74.06251) and
(29.41478,75.99641) .. (31.36401,77.41300) .. controls (33.31324,78.82959) and
(35.68099,79.70975) .. (38.09055,79.72441) .. controls (40.70723,79.74033) and
(43.28208,78.73161) .. (45.33407,77.10784) .. controls (47.38607,75.48408) and
(48.93151,73.27201) .. (49.96063,70.86614) .. controls (51.54908,67.15267) and
(51.92699,62.93268) .. (51.02362,58.99606) -- (37.38189,16.83071);

\fill[xshift=-55,yshift=-9,scale=0.017,yscale=-1,inner color=blue!5!white,outer color=blue!20!white,opacity=0.1]
(37.38189,16.83071) -- (24.98031,58.99606) .. controls (24.04934,63.33741) and
(24.68778,67.99808) .. (26.75197,71.92913) .. controls (27.87220,74.06251) and
(29.41478,75.99641) .. (31.36401,77.41300) .. controls (33.31324,78.82959) and
(35.68099,79.70975) .. (38.09055,79.72441) .. controls (40.70723,79.74033) and
(43.28208,78.73161) .. (45.33407,77.10784) .. controls (47.38607,75.48408) and
(48.93151,73.27201) .. (49.96063,70.86614) .. controls (51.54908,67.15267) and
(51.92699,62.93268) .. (51.02362,58.99606) -- (37.38189,16.83071);
\fill[xshift=-52,yshift=-17,scale=0.013,yscale=-1,fill=white,opacity=0.4]
(37.38189,16.83071) -- (24.98031,58.99606) .. controls (24.04934,63.33741) and
(24.68778,67.99808) .. (26.75197,71.92913) .. controls (27.87220,74.06251) and
(29.41478,75.99641) .. (31.36401,77.41300) .. controls (33.31324,78.82959) and
(35.68099,79.70975) .. (38.09055,79.72441) .. controls (40.70723,79.74033) and
(43.28208,78.73161) .. (45.33407,77.10784) .. controls (47.38607,75.48408) and
(48.93151,73.27201) .. (49.96063,70.86614) .. controls (51.54908,67.15267) and
(51.92699,62.93268) .. (51.02362,58.99606) -- (37.38189,16.83071);
\end{tikzpicture}
}
%TeXporter:EndEmojiSadFace


%TeXporter:EmojiAngryFace
\def\CreateAngryFace{
\begin{tikzpicture}[scale=0.5]
%Head
\pgfdeclareradialshading{ballshading}{\pgfpoint{-10bp}{10bp}}
{color(0bp)=(red!40!yellow);
color(9bp)=(red!65!yellow);
color(18bp)=(red!60!orange);
color(25bp)=(red!40!orange);
color(50bp)=(black)}
\pgfpathcircle{\pgfpoint{0cm}{0cm}}{2cm}
\pgfshadepath{ballshading}{20}
\pgfusepath{}
\pgfdeclareradialshading{ballshading}{\pgfpoint{-10bp}{10bp}}
{color(0bp)=(red!40!yellow);
color(9bp)=(red!30!yellow);
color(18bp)=(red!60!orange);
color(25bp)=(red!50!orange);
color(50bp)=(orange)}
\pgfpathcircle{\pgfpoint{0cm}{0cm}}{1.85cm}
\pgfshadepath{ballshading}{20}
\pgfusepath{}
%Head hat
\path[yshift=138,xshift=-140,scale=0.012,yscale=-1, fill=white,opacity=0.234] (411.4196,246.6473) .. controls
(344.7661,246.6473) and (288.7870,289.5501) .. (273.0134,347.5848) .. controls
(311.3176,336.0898) and (355.6292,329.4911) .. (402.8571,329.4911) .. controls
(457.9662,329.4911) and (509.1043,338.4615) .. (551.3571,353.7411) .. controls
(537.9844,292.6125) and (480.4076,246.6473) .. (411.4196,246.6473) -- cycle;

\path[xshift=-84,yshift=70,scale=0.05,yscale=-1,draw=black,inner color=white,outer color=white!80!red,line width=.260pt]
(48.45625,38.80000) .. controls (45.66765,38.80000) and (43.40625,41.77454) ..
(43.40625,45.44375) .. controls (43.40625,49.11296) and (45.66765,52.08750) ..
(48.45625,52.08750) .. controls (51.24485,52.08750) and (53.50312,49.11296) ..
(53.50312,45.44375) .. controls (53.50312,43.67448) and (52.97885,42.06561) ..
(52.12188,40.87500) .. controls (51.86458,40.74817) and (51.61751,40.60337) ..
(51.38125,40.44062) .. controls (50.81739,40.05221) and (50.32891,39.57631) ..
(49.87188,39.06562) .. controls (49.42207,38.89280) and (48.94849,38.80000) ..
(48.45625,38.80000) -- cycle;

\path[xshift=84,yshift=70,xscale=-1,scale=0.05,yscale=-1,draw=black,inner color=white,outer color=white!80!red,line width=.260pt]
(48.45625,38.80000) .. controls (45.66765,38.80000) and (43.40625,41.77454) ..
(43.40625,45.44375) .. controls (43.40625,49.11296) and (45.66765,52.08750) ..
(48.45625,52.08750) .. controls (51.24485,52.08750) and (53.50312,49.11296) ..
(53.50312,45.44375) .. controls (53.50312,43.67448) and (52.97885,42.06561) ..
(52.12188,40.87500) .. controls (51.86458,40.74817) and (51.61751,40.60337) ..
(51.38125,40.44062) .. controls (50.81739,40.05221) and (50.32891,39.57631) ..
(49.87188,39.06562) .. controls (49.42207,38.89280) and (48.94849,38.80000) ..
(48.45625,38.80000) -- cycle;

\path[xshift=-107,yshift=90,xscale=1,scale=0.065,yscale=-1,draw=black,inner color=red,outer color=red!80!blue,line width=.160pt]
(52.26378,46.50591)arc(-0.0018:180.018:2.0374)arc(-180.018:0.0018:2.0374) --
cycle;
\path[xshift=107,yshift=90,xscale=-1,scale=0.065,yscale=-1,draw=black,inner color=red,outer color=red!80!blue,line width=.160pt]
(52.26378,46.50591)arc(-0.0018:180.018:2.0374)arc(-180.018:0.0018:2.0374) --
cycle;

\path[xshift=-49.5,yshift=37,xscale=1,scale=0.025,yscale=-1,draw=black,fill=black]
(52.26378,46.50591)arc(-0.0018:180.018:2.0374)arc(-180.018:0.0018:2.0374) --
cycle;
\path[xshift=49.5,yshift=37,xscale=-1,scale=0.025,yscale=-1,draw=black,fill=black]
(52.26378,46.50591)arc(-0.0018:180.018:2.0374)arc(-180.018:0.0018:2.0374) --
cycle;

\path[xshift=-107,yshift=86,xscale=1,scale=0.065,yscale=-1,draw=c782121!60!black,inner color=c782121!70!yellow,outer color=c782121!60!black]
(41.38592,35.84990) .. controls (41.84318,35.28057) and (42.46384,34.84401) ..
(43.15422,34.60610) .. controls (43.84461,34.36819) and (44.60245,34.32972) ..
(45.31337,34.49649) .. controls (45.99367,34.65608) and (46.62202,34.99767) ..
(47.17522,35.42457) .. controls (47.72841,35.85148) and (48.21076,36.36295) ..
(48.66578,36.89326) .. controls (49.57581,37.95388) and (50.40612,39.11735) ..
(51.55702,39.91014) .. controls (52.36181,40.46451) and (53.30482,40.81656) ..
(54.27602,40.92520) -- (56.69291,39.91014) .. controls (55.94307,40.25443) and
(55.09158,40.37363) .. (54.27602,40.24849) .. controls (53.06451,40.06259) and
(51.97745,39.35199) .. (51.15420,38.44394) .. controls (50.26540,37.46360) and
(49.65913,36.26737) .. (48.97155,35.13676) .. controls (48.28397,34.00616) and
(47.47006,32.89605) .. (46.32041,32.24080) .. controls (45.59223,31.82577) and
(44.72278,31.61276) .. (43.90352,31.78967) .. controls (43.44795,31.88804) and
(43.02031,32.10413) .. (42.65993,32.39968) .. controls (42.29955,32.69523) and
(42.00586,33.06902) .. (41.78874,33.48143) .. controls (41.40938,34.20200) and
(41.26611,35.04444) .. (41.38592,35.84990);

\path[xshift=107,yshift=86,xscale=-1,scale=0.065,yscale=-1,draw=c782121!60!black,inner color=c782121!70!yellow,outer color=c782121!60!black]
(41.38592,35.84990) .. controls (41.84318,35.28057) and (42.46384,34.84401) ..
(43.15422,34.60610) .. controls (43.84461,34.36819) and (44.60245,34.32972) ..
(45.31337,34.49649) .. controls (45.99367,34.65608) and (46.62202,34.99767) ..
(47.17522,35.42457) .. controls (47.72841,35.85148) and (48.21076,36.36295) ..
(48.66578,36.89326) .. controls (49.57581,37.95388) and (50.40612,39.11735) ..
(51.55702,39.91014) .. controls (52.36181,40.46451) and (53.30482,40.81656) ..
(54.27602,40.92520) -- (56.69291,39.91014) .. controls (55.94307,40.25443) and
(55.09158,40.37363) .. (54.27602,40.24849) .. controls (53.06451,40.06259) and
(51.97745,39.35199) .. (51.15420,38.44394) .. controls (50.26540,37.46360) and
(49.65913,36.26737) .. (48.97155,35.13676) .. controls (48.28397,34.00616) and
(47.47006,32.89605) .. (46.32041,32.24080) .. controls (45.59223,31.82577) and
(44.72278,31.61276) .. (43.90352,31.78967) .. controls (43.44795,31.88804) and
(43.02031,32.10413) .. (42.65993,32.39968) .. controls (42.29955,32.69523) and
(42.00586,33.06902) .. (41.78874,33.48143) .. controls (41.40938,34.20200) and
(41.26611,35.04444) .. (41.38592,35.84990);

\path[xshift=54,yshift=30,xscale=-1,scale=0.05,yscale=-1,draw=black,inner color=c782121!70!yellow,outer color=c782121!60!black,miter limit=4.00,line width=0.420pt]
(47.77500,44.38293) .. controls (47.22576,44.30335) and (45.43196,43.81962) ..
(43.78878,43.30799) .. controls (40.86586,42.39788) and (40.75324,42.37761) ..
(38.58661,42.37181) .. controls (36.47900,42.36616) and (36.25654,42.40161) ..
(33.98031,43.10578) .. controls (30.76077,44.10178) and (30.04321,44.25052) ..
(28.48819,44.24428) .. controls (23.81734,44.22552) and (20.23712,40.53985) ..
(20.55630,36.07879) .. controls (20.77798,32.98058) and (23.12842,30.50658) ..
(26.07494,30.27006) .. controls (28.06283,30.11049) and (29.81184,30.71618) ..
(33.05100,32.68591) .. controls (37.76370,35.55169) and (39.70380,35.69705) ..
(43.37008,33.45907) .. controls (44.10089,33.01296) and (45.32514,32.26468) ..
(46.09065,31.79621) .. controls (48.23023,30.48687) and (49.20593,30.16461) ..
(51.07677,30.14941) .. controls (52.48024,30.13800) and (52.77966,30.19360) ..
(53.57615,30.61354) .. controls (56.15678,31.97416) and (57.48951,35.16505) ..
(56.76488,38.24815) .. controls (56.60938,38.90974) and (56.35235,39.70698) ..
(56.19370,40.01981) .. controls (54.63599,43.09123) and (51.18910,44.87764) ..
(47.77500,44.38293) -- cycle;
\path[xshift=54,yshift=30,xscale=-1,scale=0.05,yscale=-1,inner color=white,outer color=ce3dbdb!80!black,draw=black,line width=0.2]
(47.95217,44.20577) .. controls (47.40292,44.12618) and (45.60913,43.64245) ..
(43.96595,43.13082) .. controls (41.04302,42.22071) and (40.93040,42.20045) ..
(38.76378,42.19464) .. controls (36.65616,42.18899) and (36.43370,42.22444) ..
(34.15748,42.92861) .. controls (30.93794,43.92461) and (30.22037,44.07336) ..
(28.66535,44.06712) .. controls (27.09746,44.06082) and (25.48932,43.60752) ..
(24.28084,42.83120) .. controls (23.41263,42.27348) and (21.98529,40.92008) ..
(22.12175,40.78395) .. controls (22.25090,40.65510) and (27.53138,39.81848) ..
(30.25984,39.49458) .. controls (33.97559,39.05347) and (43.35251,39.04662) ..
(46.20472,39.48292) .. controls (50.08684,40.07678) and (55.14364,41.40963) ..
(55.01207,41.80433) .. controls (54.89954,42.14193) and (52.83323,43.45914) ..
(51.84570,43.82280) .. controls (50.67030,44.25564) and (49.25624,44.39473) ..
(47.95217,44.20577) -- cycle;
\path[xshift=54,yshift=30,xscale=-1,scale=0.05,yscale=-1,inner color=white,outer color=ce3dbdb!80!black,draw=black,line width=0.2]
(35.82316,38.72249) .. controls (31.64570,38.45251) and (27.93719,37.82766) ..
(23.88189,36.71052) .. controls (20.47566,35.77218) and (20.65951,35.88385) ..
(20.94721,34.92788) .. controls (21.71718,32.36946) and (23.76900,30.64655) ..
(26.28650,30.44447) .. controls (28.23668,30.28792) and (30.00870,30.90533) ..
(33.22817,32.86307) .. controls (37.94087,35.72885) and (39.88097,35.87421) ..
(43.54724,33.63623) .. controls (44.27805,33.19013) and (45.50231,32.44185) ..
(46.26782,31.97338) .. controls (48.44141,30.64322) and (49.38918,30.32938) ..
(51.25394,30.32230) .. controls (52.64813,30.31701) and (52.96210,30.37602) ..
(53.75331,30.79203) .. controls (54.93329,31.41243) and (56.19106,32.82750) ..
(56.64796,34.04868) .. controls (56.84808,34.58355) and (57.01181,35.09185) ..
(57.01181,35.17825) .. controls (57.01181,35.26465) and (56.19464,35.65262) ..
(55.19587,36.04042) .. controls (50.32228,37.93271) and (46.71398,38.66641) ..
(41.68701,38.78727) .. controls (39.73819,38.83412) and (37.09946,38.80497) ..
(35.82316,38.72249) -- (35.82316,38.72249) -- cycle;

\end{tikzpicture}
}
%TeXporter:EndEmojiAngryFace


%TeXporter:EmojiStressedFace
\def\CreateStressedFace{
\begin{tikzpicture}[scale=0.5]
%Head
\pgfdeclareradialshading{ballshading}{\pgfpoint{-10bp}{10bp}}
{color(0bp)=(yellow!40!white);
color(9bp)=(yellow!55!white);
color(18bp)=(yellow!60!orange);
color(25bp)=(yellow!50!orange);
color(50bp)=(black)}
\pgfpathcircle{\pgfpoint{0cm}{0cm}}{2cm}
\pgfshadepath{ballshading}{20}
\pgfusepath{}
\pgfdeclareradialshading{ballshading}{\pgfpoint{-10bp}{10bp}}
{color(0bp)=(yellow!40!white);
color(9bp)=(yellow!30!white);
color(18bp)=(yellow!60!orange);
color(25bp)=(yellow!50!orange);
color(50bp)=(orange)}
\pgfpathcircle{\pgfpoint{0cm}{0cm}}{1.85cm}
\pgfshadepath{ballshading}{20}
\pgfusepath{}
%Head hat
\path[yshift=138,xshift=-140,scale=0.012,yscale=-1, fill=white,opacity=0.234] (411.4196,246.6473) .. controls
(344.7661,246.6473) and (288.7870,289.5501) .. (273.0134,347.5848) .. controls
(311.3176,336.0898) and (355.6292,329.4911) .. (402.8571,329.4911) .. controls
(457.9662,329.4911) and (509.1043,338.4615) .. (551.3571,353.7411) .. controls
(537.9844,292.6125) and (480.4076,246.6473) .. (411.4196,246.6473) -- cycle;

\path[xshift=-165,yshift=190,scale=0.013,yscale=-1,draw=brown!70!black,inner color=c782121!70!yellow,outer color=c782121!60!black]
(412.2952,416.1696) .. controls (402.4957,434.4069) and (372.7147,447.8466) ..
(337.0714,448.6326) .. controls (345.7428,453.7104) and (357.9211,456.8754) ..
(371.4088,456.8754) .. controls (397.7352,456.8754) and (419.0639,444.8410) ..
(419.0639,429.9941) .. controls (419.0639,424.9402) and (416.5958,420.2082) ..
(412.2952,416.1696) -- cycle;

\path[xshift=165,yshift=190,scale=0.013,yscale=-1,xscale=-1,draw=brown!70!black,inner color=c782121!70!yellow,outer color=c782121!60!black]
(412.2952,416.1696) .. controls (402.4957,434.4069) and (372.7147,447.8466) ..
(337.0714,448.6326) .. controls (345.7428,453.7104) and (357.9211,456.8754) ..
(371.4088,456.8754) .. controls (397.7352,456.8754) and (419.0639,444.8410) ..
(419.0639,429.9941) .. controls (419.0639,424.9402) and (416.5958,420.2082) ..
(412.2952,416.1696) -- cycle;

\path[xshift=-51,yshift=28,scale=0.003,yscale=-1,xscale=1,draw=brown!70!black,inner color=c782121!70!yellow,outer color=c782121!60!black]
(240.9449,201.9685) .. controls (277.7444,163.7790) and (331.4846,142.5483) ..
(384.4488,145.2756) .. controls (416.1699,146.9090) and (447.4278,156.8390) ..
(474.2758,173.8119) .. controls (501.1239,190.7848) and (523.5012,214.7621) ..
(538.5827,242.7165) .. controls (491.0752,298.2483) and (428.6499,340.8953) ..
(359.6457,364.9606) .. controls (319.2364,379.0534) and (276.6393,386.8529) ..
(233.8583,387.9921) .. controls (271.0447,373.5979) and (305.8888,353.1720) ..
(336.6142,327.7559) .. controls (350.5885,316.1962) and (363.9856,303.2534) ..
(372.0472,287.0079) .. controls (380.5313,269.9111) and (382.4928,249.6748) ..
(377.4504,231.2669) .. controls (372.4079,212.8589) and (360.4075,196.4472) ..
(344.3949,186.0607) .. controls (328.3824,175.6743) and (308.5040,171.4077) ..
(289.6397,174.3085) .. controls (270.7753,177.2094) and (253.0971,187.2510) ..
(240.9449,201.9685);

\path[xshift=51,yshift=28,scale=0.003,yscale=-1,xscale=-1,draw=brown!70!black,inner color=c782121!70!yellow,outer color=c782121!60!black]
(240.9449,201.9685) .. controls (277.7444,163.7790) and (331.4846,142.5483) ..
(384.4488,145.2756) .. controls (416.1699,146.9090) and (447.4278,156.8390) ..
(474.2758,173.8119) .. controls (501.1239,190.7848) and (523.5012,214.7621) ..
(538.5827,242.7165) .. controls (491.0752,298.2483) and (428.6499,340.8953) ..
(359.6457,364.9606) .. controls (319.2364,379.0534) and (276.6393,386.8529) ..
(233.8583,387.9921) .. controls (271.0447,373.5979) and (305.8888,353.1720) ..
(336.6142,327.7559) .. controls (350.5885,316.1962) and (363.9856,303.2534) ..
(372.0472,287.0079) .. controls (380.5313,269.9111) and (382.4928,249.6748) ..
(377.4504,231.2669) .. controls (372.4079,212.8589) and (360.4075,196.4472) ..
(344.3949,186.0607) .. controls (328.3824,175.6743) and (308.5040,171.4077) ..
(289.6397,174.3085) .. controls (270.7753,177.2094) and (253.0971,187.2510) ..
(240.9449,201.9685);

\path[xshift=66,yshift=1,scale=0.0065,yscale=-1,xscale=-1,draw=black,inner color=cff5555!80!black,outer color=c782121!60!black]
(359.6464,67.3100) .. controls (278.1326,67.3100)
and (211.4129,129.5159) .. (205.8964,208.2475) .. controls (250.9411,190.8018)
and (304.2674,180.7163) .. (361.4277,180.7163) .. controls (417.0568,180.7163)
and (469.0358,190.2795) .. (513.3027,206.8725) .. controls (507.1094,128.7941)
and (440.6844,67.3100) .. (359.6464,67.3100) -- cycle;

\fill[xshift=66,yshift=1,scale=0.0065,yscale=-1,xscale=-1,inner color=white,outer color=ce3dbdb!80!black,line width=0.2]
(359.6346,72.6265) .. controls (315.4332,72.6265)
and (275.6110,90.9215) .. (247.5096,120.2202) .. controls (283.3018,112.3912)
and (322.3429,108.0640) .. (363.1971,108.0640) .. controls (400.7202,108.0640)
and (436.6908,111.7186) .. (470.0408,118.3765) .. controls (442.0468,90.1452)
and (402.9104,72.6265) .. (359.6346,72.6265) -- cycle;
\end{tikzpicture}
}
%TeXporter:EndEmojiStressedFace


\begin{document}
\begin{center}
\begin{longtable}{|c|C{3cm}|}
\caption{Available Emojis}\\
\hline
\textbf{Name} & \textbf{Emoji} \\
\hline
\endfirsthead
\multicolumn{2}{c}%
{\tablename\ \thetable\ -- \textit{Continued from previous page}} \\
\hline
\textbf{Name} & \textbf{Emoji} \\
\hline
\endhead
\hline \multicolumn{2}{r}{\textit{Continued on next page}} \\
\endfoot
\hline
\endlastfoot
HappyFace & \CreateHappyFace\\\hline
SadFace & \CreateSadFace\\\hline
AngryFace & \CreateAngryFace\\\hline
StressedFace & \CreateStressedFace\\
\end{longtable}
\end{center}
\end{document}
  • This looks very nice! - - So you took the sphere code. How did you get the emojis' codes? - - I have a related problem here where the ball is heart: tex.stackexchange.com/q/345303/13173 Can your method applied there? Do you need any other pieces of information there? – Léo Léopold Hertz 준영 Jun 18 '17 at 7:19
  • 1
    The emojis codes created with an extension of inkscape that gives tikz code... But I had to create every element (eye, mouth, teeth) separate and then to add it to my main code (rescale it, color it etc) [the extension of inkscape is not perfect yet... but gives the shape code]... I have seen the problem you say... but I think it needs 3D tikz and I have not the knowledge needed yet... Sorry... – koleygr Jun 18 '17 at 7:30
6

I slightly modified emoticons from TeXample.net (a work of Raoul Kessels; http://www.texample.net/tikz/examples/emoticons/) to a form I can use directly:

  • I added black circle (face) to all emoticons.
  • Pupils in look up and look down are slightly bigger.
  • I scaled the emoticons down to 50 %.
  • I created a simple sty file with TeX commands.
  • I manually modified and moved a tail in devilish.

This is the RKsmileys.sty file:

% !TeX root = striz-denik.tex

\RequirePackage{tikz}
\usetikzlibrary{positioning}

\tikzset{face/.style={shape=circle,minimum size=4ex,shading=radial,outer sep=0pt, inner color=white!50!yellow,outer color= yellow!70!orange}}

\newcommand{\emoticon}[2][]{%
\scalebox{.5}{\begin{tikzpicture}
\node[face,#1,draw,thick] (emoticon) {};
%% The eyes are fixed.
\draw[fill=white] (-1ex,0ex) ..controls (-0.5ex,0.2ex)and(0.5ex,0.2ex)..(1ex,0.0ex) ..controls ( 1.5ex,1.5ex)and( 0.2ex,1.7ex)..(0ex,0.4ex) ..controls (-0.2ex,1.7ex)and(-1.5ex,1.5ex)..(-1ex,0ex)--cycle;
#2%
\end{tikzpicture}}%
}

\newcommand{\pupils}{
%% standard pupils
\fill[shift={(0.5ex,0.5ex)},rotate=80] (0,0) ellipse (0.3ex and 0.15ex);
\fill[shift={(-0.5ex,0.5ex)},rotate=100] (0,0) ellipse (0.3ex and 0.15ex);}

%\def\zaklad#1{\scalebox{.5}{\begin{tikzpicture}#1\end{tikzpicture}}}

\def\RKsmallsmile{%
\emoticon{%
\pupils
%% mouth
\draw[thick] (-0.5ex,-1ex)..controls (-0.25ex,-1.25ex)and(0.25ex,-1.25ex)..(0.5ex,-1ex);
}%\emoticon
}

\def\RKsmile{%
\emoticon{%
\pupils
\draw[thick] (-1ex,-1ex)..controls (-0.5ex,-1.5ex)and(0.5ex,-1.5ex)..(1ex,-1ex);
}%\emoticon
}

\def\RKbigsmile{%
\emoticon{%
\pupils
%% mouth
\draw[thick] (-1.5ex,-0.5ex)..controls (-0.7ex,-1.7ex)and(0.7ex,-1.7ex)..(1.5ex,-0.5ex);
}%\emoticon
}

\def\RKsad{%
\emoticon{%
%% pupils
\fill[shift={( 0.5ex,0.5ex)},rotate=90] (0,0) ellipse (0.3ex and 0.15ex);
\fill[shift={(-0.5ex,0.5ex)},rotate=90] (0,0) ellipse (0.3ex and 0.15ex);
%% mouth
\draw[thick] (-1ex,-1ex)..controls(-0.5ex,-0.5ex)and(0.5ex,-0.5ex)..(1ex,-1ex);
}%\emoticon
}

\def\RKneutral{%
\emoticon{%
%% pupils
\fill[shift={( 0.5ex,0.5ex)},rotate=90] (0,0) ellipse (0.3ex and 0.15ex);
\fill[shift={(-0.5ex,0.5ex)},rotate=90] (0,0) ellipse (0.3ex and 0.15ex);
%% mouth
\draw[thick] (-0.5ex,-1ex)--(0.5ex,-1ex);
}%\emoticon
}

\def\RKconfused{%
\emoticon{%
\pupils
%% mouth
\draw[thick] (-1ex,-0.75ex)--(1ex,-1.25ex);
}%\emoticon
}

\def\RKsexy{%
\emoticon{%
\pupils
%% mouth
\draw[very thick,red,line cap=round] (-1ex,-1ex)..controls (-0.5ex,-1.5ex)and(0.5ex,-1.5ex)..(1ex,-1ex);
%% eyelashes
\draw (0.60ex,1.20ex)--(0.60ex,1.60ex)
  (0.85ex,1.25ex)--(0.95ex,1.45ex)
  (1.00ex,1.00ex)--(1.20ex,1.10ex)
  (0.35ex,1.15ex)--(0.25ex,1.35ex)
  (-0.60ex,1.20ex)--(-0.60ex,1.60ex)
  (-0.85ex,1.25ex)--(-0.95ex,1.45ex)
  (-1.00ex,1.00ex)--(-1.20ex,1.10ex)
  (-0.35ex,1.15ex)--(-0.25ex,1.35ex);
}%\emoticon
}

\def\RKangry{%
\emoticon{%
%% pupils
\fill[shift={( 0.5ex,0.5ex)},rotate=90] (0,0) ellipse (0.3ex and 0.15ex);
\fill[shift={(-0.5ex,0.5ex)},rotate=90] (0,0) ellipse (0.3ex and 0.15ex);
%% mouth
\draw[thick] (-1ex,-1ex)..controls(-0.5ex,-0.5ex)and(0.5ex,-0.5ex)..(1ex,-1ex);
%% eyebrows
\draw[thick] (0.2ex,1.15ex)--(0.5ex,1.6ex)(-0.2ex,1.15ex)--(-0.5ex,1.6ex);
}%\emoticon
}

\def\RKlookup{%
\emoticon{%
%% pupils
\fill[shift={( 0.5ex,1.05ex)},rotate= 80] (0,0) ellipse (0.2ex and 0.2ex);
\fill[shift={(-0.5ex,1.05ex)},rotate=100] (0,0) ellipse (0.2ex and 0.2ex);
%% mouth
\draw[thick] (-1ex,-1ex)..controls(-0.5ex,-1.5ex)and(0.5ex,-1.5ex)..(1ex,-1ex);
}%\emoticon
}

\def\RKlookdown{%
\emoticon{%
%% pupils
\fill[shift={( 0.5ex,0.3ex)},rotate= 80] (0,0) ellipse (0.2ex and 0.2ex);
\fill[shift={(-0.5ex,0.3ex)},rotate=100] (0,0) ellipse (0.2ex and 0.2ex);
%% mouth
\draw[thick] (-1ex,-1ex)..controls(-0.5ex,-1.5ex)and(0.5ex,-1.5ex)..(1ex,-1ex);
}%\emoticon
}

\def\RKlookleft{%
\emoticon{%
%% pupils
\fill[shift={( 0.25ex,0.5ex)},rotate=100] (0,0) ellipse (0.3ex and 0.15ex);
\fill[shift={(-0.95ex,0.5ex)},rotate=100] (0,0) ellipse (0.3ex and 0.15ex);
%% mouth
\draw[thick] (-1ex,-1ex)..controls(-0.5ex,-1.5ex)and(0.5ex,-1.5ex)..(1ex,-1ex);
}%\emoticon
}

\def\RKlookright{%
\emoticon{%
%% pupils
\fill[shift={( 0.95ex,0.5ex)},rotate=80] (0,0) ellipse (0.3ex and 0.15ex);
\fill[shift={(-0.25ex,0.5ex)},rotate=80] (0,0) ellipse (0.3ex and 0.15ex);
%% mouth
\draw[thick] (-1.0ex,-1ex)..controls(-0.5ex,-1.5ex)and(0.5ex,-1.5ex)..(1ex,-1ex);
}%\emoticon
}

\def\RKblush{%
\emoticon{%
\pupils
%% mouth
\draw[thick] (-0.5ex,-1ex)..controls (-0.25ex,-1.25ex)and(0.25ex,-1.25ex)..(0.5ex,-1ex);
%% blush
\shade[shading=radial,inner color=white!50!red,outer color= yellow!80!orange] ( 1ex,-0.5ex) circle (0.4ex);
\shade[shading=radial,inner color=white!50!red,outer color= yellow!80!orange] (-1ex,-0.5ex) circle (0.4ex);
}%\emoticon
}

\def\RKalmostcrying{%
\emoticon{%
%% pupils
\fill[shift={( 0.5ex,0.5ex)},rotate=105] (0,0) ellipse (0.3ex and 0.15ex);
\fill[shift={(-0.5ex,0.5ex)},rotate= 75] (0,0) ellipse (0.3ex and 0.15ex);
%% mouth
\draw[thick] (-1ex,-1ex)..controls
(-0.5ex,-0.8ex)and(0.5ex,-0.8ex)..(1ex,-1ex);
}%\emoticon
}

\def\RKmartian{%
\emoticon[inner color=white!50!green,outer color=green!70!red]{%
\pupils
%% mouth
\draw[thick] (-1ex,-1ex)..controls
(-0.5ex,-1.5ex)and(0.5ex,-1.5ex)..(1ex,-1ex);
}%\emoticon
}

\def\RKdevilish{%
\raisebox{-0.6ex}[0ex][0ex]{%
\emoticon[inner color=white!50!red,outer color= red!70!red!90!black]{%
\pupils
%% mouth
\draw[thick,line cap=round] (-1ex,-1ex)..controls (-0.5ex,-1.5ex)and(0.5ex,-1.5ex)..(1ex,-1ex);
%% tail
\draw[line width=0.45ex,-stealth,black] (emoticon.330)--++(330:0.01ex)..controls (3ex,-3ex)and(3.5ex,1ex)..(4.25ex,-3ex);
\draw[line width=0.27ex,-stealth,red!90!black] (emoticon.330)--++(330:0.01ex)..controls (3ex,-3ex)and(3.5ex,1ex)..(4.22ex,-2.8ex);
%% horns
\draw[fill] (emoticon.80)..controls ( 0.6ex,2.4ex)..( 1ex,2.5ex)..controls ( 0.8ex,2.3ex)..(emoticon.70);
\draw[fill] (emoticon.100)..controls (-0.6ex,2.4ex)..(-1ex,2.5ex)..controls (-0.8ex,2.3ex)..(emoticon.110); 
\draw[thick] (0,0) circle (2ex);
}%\emoticon
}%\raisebox
}

And this is a snippet with all emoticons (RKsmileys.tex):

%! lualatex
% http://www.texample.net/tikz/examples/emoticons/
\documentclass[a4paper]{article}
\usepackage{RKsmileys}
\pagestyle{empty}
\begin{document}
\RKsmallsmile\ \RKsmile\ \RKbigsmile\ 
\RKsad\ \RKneutral\ \RKconfused\ 
\RKsexy\ \RKangry\par 
\RKlookup\ \RKlookdown\ \RKlookleft\ \RKlookright\ 
\RKblush\ \RKalmostcrying\ 
\RKmartian\ \RKdevilish
\end{document}

An example

3

There's now a coloremoji package on CTAN. GitHub source: https://github.com/alecjacobson/coloremoji.sty

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.