Como você desenha o que está na imagem abaixo em LaTeX

Como você desenha o que está na imagem abaixo em LaTeX

insira a descrição da imagem aqui Eu tentei várias técnicas de desenho de linha, mas nenhuma delas parece estar produzindo o que foi dito acima. Uma vez desenhadas, também é possível agrupá-las em uma única linha para que possam ser movidas completamente. Desde já, obrigado.

Responder1

Sempre esperei que isso se tornasse moderno novamente um dia. ;-)

\documentclass{article}
\begin{document}
\begin{verbatim}
              /\                                  /\
  /\         /  \/\               /\             /  \
 /  \     /\/      \             /  \       /\  /    \/\
/    \   /          \     /\/\/\/    \     /  \/        \/\
\end{verbatim}
\end{document}

insira a descrição da imagem aqui

É bastante simples fazer isso com TikZ (com minha proposta favorita sendo a terceira). Basta discar algum padrão de traço.

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[dash pattern=on 7.5pt off 3.5pt,shorten <=1.5pt,x=1ex,y=1em]
\draw[thick] (0,0) -- ++ (3,3) -- ++ (3,-3);
\draw[thick] (11,0) -- ++ (2,2) -- ++ (1,-1) -- ++ (3,3) -- ++ (2,-2)
 -- ++ (1,1) -- ++ (3,-3);
\draw[thick] (33,0) foreach \X in {1,2,3}{-- ++ (1,1) -- ++ (1,-1)} 
    -- ++ (3,3) -- ++ (3,-3); 
\draw[thick] (55,0) -- ++ (2,2) -- ++ (2,-2)
    -- ++ (4,4) -- ++ (3,-3) -- ++ (1,1) -- ++ (2,-2) -- ++ (1,1) -- ++ (1,-1);
\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

Ou, como as opções são apenas para cima ( +) e para baixo ( -), podemos usar o parsermódulo.

\documentclass{article}
\usepackage{tikz}
\usepgfmodule{parser}
\pgfparserdef{pft}{initial}{the character -}% 
{\tikzset{insert path={-- ++(1,-1)}}}%
\pgfparserdef{pft}{initial}{the character +}% 
{\tikzset{insert path={-- ++(1,1)}}}%
\pgfparserdef{pft}{initial}{the character ;}% 
{\pgfparserswitch{final}}%
\tikzset{hillside/.code={\pgfparserparse{pft}#1;%
}}


\begin{document}

\begin{tikzpicture}[dash pattern=on 7.5pt off 3.5pt,shorten <=1.5pt,x=1ex,y=1em,
    thick]
\draw (0,0)[hillside={+++---}];
\draw (11,0)  [hillside={++-+++--+---}]; 
 -- ++ (1,1) -- ++ (3,-3);
\draw[thick] (33,0) [hillside={+-+-+-+++---}];  
\draw[thick] (55,0) [hillside={++--++++---+--+-}];
\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

Você também pode acabar com o padrão de traço.

\documentclass{article}
\usepackage{tikz}
\usepgfmodule{parser}
\pgfparserdef{pft}{initial}{the character -}% 
{\tikzset{insert path={edge[shorten <=1.75pt,shorten >=1.75pt] ++(1,-1) ++(1,-1)}}}%
\pgfparserdef{pft}{initial}{the character +}% 
{\tikzset{insert path={edge[shorten <=1.75pt,shorten >=1.75pt] ++(1,1) ++(1,1)}}}%
\pgfparserdef{pft}{initial}{the character ;}% 
{\pgfparserswitch{final}}%
\tikzset{hillside/.code={\pgfparserparse{pft}#1;%
}}
\begin{document}

\begin{tikzpicture}[x=1ex,y=1em,thick]
\draw (0,0)[hillside={+++---}];
\draw (11,0)  [hillside={++-+++--+---}]; 
\draw (33,0) [hillside={+-+-+-+++---}];  
\draw (55,0) [hillside={++--++++---+--+-}];
\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

informação relacionada