如何在 LaTeX 上绘制下图中的内容

如何在 LaTeX 上绘制下图中的内容

在此处输入图片描述 我尝试了多种线条绘制技术,但似乎都没有产生上述效果,一旦绘制完成,是否也可以将它们分组到一行中,以便可以一起移动。提前致谢。

答案1

我一直希望有一天这会再次变得现代化。;-)

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

在此处输入图片描述

使用 Ti 来实现这一点相当简单Z(我个人最喜欢的方案是第三个)。只需拨一些破折号图案即可。

\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}

在此处输入图片描述

或者,由于选择只有向上(+)和向下(-),我们可以使用parser模块。

\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}

在此处输入图片描述

那么您也可以取消破折号图案。

\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}

在此处输入图片描述

相关内容