# mfpic graphics show just blank boxex

I am really new to LaTeX and this might be a stupid question but I spent hours to figure out how to make the actual figure showing up in TeXnicCenter. Would you please help me?

Here is the code

\documentclass{article}
\usepackage[metapost,mplabels]{mfpic}
\opengraphsfile{mypics}
\begin{document}
Hyperbolic metric disks:

\begin{mfpic}[72]{-1}{1}{-1}{1}
\setmfpair{Z}{(dir 45)/3}
\setmfpair{W}{Moebius (Z)(.5*dir -45)}
\draw\gfill[gray(.94)]\circle{(0,0),1}
\draw\gfill[gray(.87)]\pshcircle{Z,4/5}
\gfill[gray(.80)]\pshcircle{Z,1/2}
\draw\gfill[gray(.73)]\pshcircle{W,1/2}
\draw\pshcircle{Z,1/2}
\tlpointsep{3bp}
\point{Z,W,(0,0)}
\tlabel[br]{Z}{$z$}
\tlabel[tl]{W}{$w$}
\tlabel[tr]{(0,0)}{$0$}
\end{mfpic}

Hyperbolic geodesics:

\begin{mfpic}[72]{-1}{1}{-1}{1}
\circle{(0,0),1}
\draw\gfill[gray(.88)]
\lclosed
\connect
\hypergeodesic{.999*dir 0, .999*dir 120}
\hypergeodesic{.999*dir 120, .999*dir 240}
\hypergeodesic{.999*dir 240, .999*dir 0}
\endconnect
\mfpfor{K=6,12,24,48}
\mfpfor{J=0 upto K-1}
\rotatepath{(0,0),J*(360/K)}\hypergeodesic{.999*dir 0, .999*dir (360/K)}
\endmfpfor
\endmfpfor
\end{mfpic}

\closegraphsfile
\end{document}


• Did you run Metapost on mypics.mp? – egreg Jun 26 '14 at 20:17
• Oh, and welcome to TeX.SX! – egreg Jun 26 '14 at 20:23
• Sorry would you please tell me how to run mypics.mp? – seung gutsch Jun 26 '14 at 20:41
• Open a command window (or how it's called in Windows) and type mpost mypics ensuring the current directory is where your LaTeX file resides. Maybe there are easier ways with TeXnicCenter, but I really know nothing about the program. – egreg Jun 26 '14 at 21:12

You have to run mpost on the mypics.mp file. How, precisely, depends on your OS and TeX distribution.

However, on a fairly recent TeX distribution, you can make TeX do it for you.

\documentclass{article}
\usepackage[metapost,mplabels]{mfpic}
\usepackage{etoolbox}

\makeatletter
\patchcmd{\mfp@closegraphsfile}
{\global}
{\immediate\write18{mpost \mfp@filename}\global}
{}{}
\makeatother

\opengraphsfile{mypics}
\begin{document}
Hyperbolic metric disks:

\begin{mfpic}[72]{-1}{1}{-1}{1}
\setmfpair{Z}{(dir 45)/3}
\setmfpair{W}{Moebius (Z)(.5*dir -45)}
\draw\gfill[gray(.94)]\circle{(0,0),1}
\draw\gfill[gray(.87)]\pshcircle{Z,4/5}
\gfill[gray(.80)]\pshcircle{Z,1/2}
\draw\gfill[gray(.73)]\pshcircle{W,1/2}
\draw\pshcircle{Z,1/2}
\tlpointsep{3bp}
\point{Z,W,(0,0)}
\tlabel[br]{Z}{$z$}
\tlabel[tl]{W}{$w$}
\tlabel[tr]{(0,0)}{$0$}
\end{mfpic}

Hyperbolic geodesics:

\begin{mfpic}[72]{-1}{1}{-1}{1}
\circle{(0,0),1}
\draw\gfill[gray(.88)]
\lclosed
\connect
\hypergeodesic{.999*dir 0, .999*dir 120}
\hypergeodesic{.999*dir 120, .999*dir 240}
\hypergeodesic{.999*dir 240, .999*dir 0}
\endconnect
\mfpfor{K=6,12,24,48}
\mfpfor{J=0 upto K-1}
\rotatepath{(0,0),J*(360/K)}\hypergeodesic{.999*dir 0, .999*dir (360/K)}
\endmfpfor
\endmfpfor
\end{mfpic}

\closegraphsfile
\end{document}


Thus the \closegraphsfile command will process the produced .mp file and the pictures will be loaded at the next run.