Tengo el siguiente código generado por algún script. La primera y la última coordenada del camino son las mismas. No sé cómo decirle a TikZ que cierre el camino. Intenté agregar --cycle pero solo parece funcionar cuando la primera y la última coordinación son diferentes. Como solución alternativa, puedo desplazar ligeramente el último punto (luego --cycle cierra el camino) pero no es una solución elegante. ¿Cómo puedo cerrar el camino?
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}[x=1cm,y=1cm]%
\filldraw[fill=green!20!white,line width=0.5mm]
(-4.5:1)
arc (-4.5 : 4.5 : 1)
arc (94.5 : 115.5 : 5.3955171743191)
arc (205.5: 214.5 : 1)
arc (124.5: -4.5 : 0.47697553269816)
arc (265.5: 274.5 : 1)
arc (184.5: 85.5 : 0.85408068546347)
-- cycle;
\end{tikzpicture}
\end{document}
La sugerencia dada por el usuario3337813 no funciona, el defecto se ve mejor en este ejemplo:
\filldraw[fill=green!20!white] ( -4.5 :1)
arc ( -4.5 : 34.5 :1)
arc ( -55.5 : -64.5 : 12.706204736175 )
arc ( 205.5 : 214.5 :1)
arc ( 124.5 : -4.5 : 0.47697553269816 )
arc ( 265.5 : 274.5 :1)
arc ( 184.5 : 85.5 : 0.85408068546347 )
arc ( -4.5 : 34.5 :1)
-- cycle;
\end{tikzpicture}
Si elimino --cycle, el resultado se ve bien, pero técnicamente el camino está abierto.
Respuesta1
Puedes agregar el primer arco como último arco...
EDITAR. El OP considera que la aparición de un doble arco no es deseable. Por tanto, un enfoque alternativo es dividir el primer arco en dos arcos parciales, colocados al principio y al final del circuito:
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}[x=1cm,y=1cm]%
\filldraw[fill=green!20!white,line width=0.5mm]
(-4.5:1)
arc (-4.4 : 4.5 : 1)% PARTIAL ARC
arc (94.5 : 115.5 : 5.3955171743191)
arc (205.5: 214.5 : 1)
arc (124.5: -4.5 : 0.47697553269816)
arc (265.5: 274.5 : 1)
arc (184.5: 85.5 : 0.85408068546347)
arc (-4.5 : -4.4 : 1)% PARTIAL ARC (COMPLETED)
-- cycle;
\end{tikzpicture}
\end{document}
Este enfoque EDITADO resuelve el contracaso que se muestra en la pregunta editada del OP:
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}[x=1cm,y=1cm]%
\filldraw[fill=green!20!white] ( -4.5 :1)
arc ( 0 : 34.5 :1)
arc ( -55.5 : -64.5 : 12.706204736175 )
arc ( 205.5 : 214.5 :1)
arc ( 124.5 : -4.5 : 0.47697553269816 )
arc ( 265.5 : 274.5 :1)
arc ( 184.5 : 85.5 : 0.85408068546347 )
arc ( -4.5 : 0 :1)
-- cycle;
\end{tikzpicture}
\end{document}
Respuesta2
Por alguna razón, parece funcionar si lo reemplazas 85.5
por 85.6
. No sé si esto es aceptable para su aplicación. Quizás haya un problema con el ciclo si los puntos están demasiado cerca.
\documentclass[border=1mm,tikz]{standalone}
\begin{document}
\begin{tikzpicture}[x=1cm,y=1cm]%
\draw[fill=green!20!white,line width=0.5mm]
(-4.5:1)
arc (-4.5 : 4.5 : 1)
arc (94.5 : 115.5 : 5.3955171743191)
arc (205.5: 214.5 : 1)
arc (124.5: -4.5 : 0.47697553269816)
arc (265.5: 274.5 : 1)
arc (184.5: 85.6 : 0.85408068546347)
-- cycle;
\end{tikzpicture}
\end{document}