
O que é necessário para “completar” as linhas usadas para \draw
completar as formas?
\documentclass{letter}
\usepackage{tikz}
\begin{document}
\tikzset{every picture/.style=thick}
\begin{tikzpicture}[scale=0.2]
\draw (11,-1) -- (13,-1) -- (13,1) -- (11,1) -- (13,0) -- (11,-1);
\draw(12,8) arc (-90:180:1);
\draw(12,8) -- (12,9) -- (11,9);
\end{tikzpicture}
\end{document}
Os cantos são recortados em alguns cantos ou “perfuram” a forma em outros cantos.
Responder1
As regras são as seguintes:
- Use caminhos completos e únicos ou, usando suas próprias palavras dos comentários abaixo: "desenhe de uma só vez". Ou seja, não use mais de um comando
\draw
ou\path
algo assim. Certifique-se também de que não haja lacunas. - Adicione
-- cycle
para fechar um caminho fechado. - Opcional: use uma junção de linha apropriada.
Aplicado à sua foto, isso produz
\documentclass[tikz, border=3mm]{standalone}
\begin{document}
\tikzset{every picture/.style=thick}
\begin{tikzpicture}[scale=0.2]
\begin{scope}
\draw (12,4) -- (12,3) arc (-90:180:1) -- cycle;
\draw (11,-1) -- (13,-1) -- (13,1) -- (11,1) -- (13,0) -- cycle;
\end{scope}
\begin{scope}[xshift=3.5cm,line join=round]
\draw (12,4) -- (12,3) arc (-90:180:1) -- cycle;
\draw (11,-1) -- (13,-1) -- (13,1) -- (11,1) -- (13,0) -- cycle;
\end{scope}
\begin{scope}[xshift=7cm,line join=bevel]
\draw (12,4) -- (12,3) arc (-90:180:1) -- cycle;
\draw (11,-1) -- (13,-1) -- (13,1) -- (11,1) -- (13,0) -- cycle;
\end{scope}
\begin{scope}[xshift=10.5cm,miter limit=1]
\draw (12,4) -- (12,3) arc (-90:180:1) -- cycle;
\draw (11,-1) -- (13,-1) -- (13,1) -- (11,1) -- (13,0) -- cycle;
\end{scope}
\end{tikzpicture}
\end{document}
Isso examina algumas opções diferentes de junção de linha, consulte a pág. 172 do pgfmanual v3.1.4 para obter mais informações.
É claro que, se você unir caminhos diferentes para obter boas junções de linhas, pode acontecer que você precise, ou pelo menos seja vantajoso, reverter a direção de alguns segmentos. Por exemplo, ao juntar os três segmentos do adendo da sua pergunta, reverti um arco para obter
\documentclass[tikz, border=3mm]{standalone}
\begin{document}
\tikzset{every picture/.style=thick}
\begin{tikzpicture}[scale=0.25]
\draw (5,7) -- (7,5) -- (5,5) -- (7,7)
arc (90:180:1) arc (0:90:1) -- cycle;
\end{tikzpicture}
\end{document}
O caminho pode ser encurtado para
\draw (7,5) -- (5,5) -- (7,7) arc (90:180:1) arc (0:90:1) -- cycle;