xypic bounding box
If you add \fbox{...}
around the \xymatrix
construction, you'll see that the bounding box is determined by the nodes “a, b, c, d, begin, end”.
(I made a few changes: first of all I added the cmtip
option to xy
that makes for decent arrow tips, then typed \txt{begin}
and \txt{end}
for the textual nodes.)
Curved arrows are never taken into consideration by Xy-pic for determining the bounding box. You can adjust it by hand with a rule:
\documentclass{article}
\usepackage{lipsum}
\usepackage[all,cmtip]{xy}
\begin{document}
\lipsum[1]
\begin{figure}[htp]
\[
\fboxsep=0pt
\fbox{%
\vrule height 7ex depth 24.5ex width 0pt
\xymatrix{
& a \ar@(ul,ur) \ar@/^/[rr] \ar@/^/[dd] \ar@/^/[ddrr] \ar@/^4pc/[rrrd]
&
& b \ar@(ul,ur) \ar@/^/[ll] \ar@/^/[dd] \ar@/^/[ddll] \ar[dr]
\\
\txt{begin} \ar[ur] \ar[dr] \ar@/^4pc/[urrr]\ar@/_4pc/[drrr]
&
&
&
& \txt{end}
\\
& c \ar@(dr,dl) \ar@/^/[rr] \ar@/^/[uu] \ar@/^/[uurr] \ar@/_4pc/[rrru]
&
& d \ar@(dr,dl) \ar@/^/[ll] \ar@/^/[uu] \ar@/^/[uull] \ar[ur]
}}
\]
\caption{Exemplo de uma cadeia de Markov\label{mkv1}}
\end{figure}
\lipsum[1]
\end{document}
Adjust the height and depth until satisfied and then remove the \fbox
part:
\documentclass{article}
\usepackage{lipsum}
\usepackage[all,cmtip]{xy}
\begin{document}
\lipsum[1]
\begin{figure}[htp]
\[
\vrule height 7ex depth 24.5ex width 0pt
\xymatrix{
& a \ar@(ul,ur) \ar@/^/[rr] \ar@/^/[dd] \ar@/^/[ddrr] \ar@/^4pc/[rrrd]
&
& b \ar@(ul,ur) \ar@/^/[ll] \ar@/^/[dd] \ar@/^/[ddll] \ar[dr]
\\
\txt{begin} \ar[ur] \ar[dr] \ar@/^4pc/[urrr]\ar@/_4pc/[drrr]
&
&
&
& \txt{end}
\\
& c \ar@(dr,dl) \ar@/^/[rr] \ar@/^/[uu] \ar@/^/[uurr] \ar@/_4pc/[rrru]
&
& d \ar@(dr,dl) \ar@/^/[ll] \ar@/^/[uu] \ar@/^/[uull] \ar[ur]
}
\]
\caption{Exemplo de uma cadeia de Markov\label{mkv1}}
\end{figure}
\lipsum[1]
\end{document}
Too long for a comment. Here is a version in tikz. This has the oposite problem, here the bounding box is actually too large.
\documentclass{standalone}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
{} & a\mathstrut
\arrow[loop above]
\ar[dd,bend left=10]
\ar[rr,bend left=10]
\ar[rrdd,bend left=10]
\ar[rrrd,out=45,in=95,looseness=1.5]
&
& b\mathstrut
\arrow[loop above]
\ar[dd,bend left=10]
\ar[ll,bend left=10]
\ar[lldd,bend left=10]
\ar[rd]
\\
begin\mathstrut
\ar[ru]
\ar[rd]
\arrow[rrru,out=85,in=135,looseness=1.5]
\ar[rrrd,out=-85,in=-135,looseness=1.5]
&
&
&
& end\mathstrut
\\
{} & c\mathstrut
\ar[uu,bend left=10]
\ar[rr,bend left=10]
\ar[uurr,bend left=10]
\arrow[loop below]
\ar[rrru,out=-45,in=-95,looseness=1.5]
&
& d\mathstrut
\ar[uu,bend left=10]
\ar[ll,bend left=10]
\ar[uull,bend left=10]
\arrow[loop below]
\ar[ru]
\\
\end{tikzcd}
\end{document}
You can easily play with the arrow heads
\usetikzlibrary{arrows,arrows.meta}
\tikzcdset{
arrow style=tikz,
diagrams={>=Latex[round]}
}
Credit: https://tex.stackexchange.com/a/361751/3929