我如何制作一些这样的小图表?

我如何制作一些这样的小图表?

1

我偶然看到了这个,很喜欢它的外观。我不确定这是不是 Tikz?图表很小,很简单。我想在我正在写的一份简短的报告中添加一些这样的图表。有人知道这是什么包吗?

答案1

改编自我对“绘制树状符号”的回答. 修改长度\RSu来改变符号的大小。

在此处输入图片描述

\documentclass{article}
\usepackage{tikz}

\makeatletter
\newcommand\RSloop{\@ifnextchar\bgroup\RSloopa\RSloopb}
\makeatother
\newcommand\RSloopa[1]{\bgroup\RSloop#1\relax\egroup\RSloop}
\newcommand\RSloopb[1]{%
  \ifx\relax#1%
  \else
    \ifcsname RS:#1\endcsname
      \csname RS:#1\endcsname
    \else
      \GenericError{(RS)}{RS Error: operator #1 undefined}{}{}%
    \fi
  \expandafter\RSloop
  \fi
}
\newcommand\X{0}
\newcommand\RS[1]{%
  \begin{tikzpicture}
    [every node/.style=
      {circle,draw,fill,minimum size=1.5pt,inner sep=0pt,outer sep=0pt},
      line cap=round
    ]
    \node[label=below:\tiny$2$] (0) {};
    \node[label=below:\tiny$1$,xshift=-\RSu] (l) {};
    \node[label=below:\tiny$3$,xshift=\RSu] (r) {};
    \node[yshift=\RSu] (u) {};
    \RSloop{#1}\relax
  \end{tikzpicture}
}
\newcommand\RSdef[1]{\expandafter\def\csname RS:#1\endcsname}
\newlength\RSu
\RSu=1ex
\RSdef{l}{\draw (l) -- (u);}
\RSdef{|}{\draw (0) -- (u);}
\RSdef{r}{\draw (r) -- (u);}
\RSdef{-}{\draw (l) -- (0);}
\RSdef{+}{\draw (0) -- (r);}
\begin{document}

\section*{The operators}

\begin{tabular}{ll}
\texttt l = \RS l & \texttt r = \RS r \\
\texttt - = \RS - & \texttt + = \RS + \\
\multicolumn{1}{c}{ \texttt | = \RS |}
\end{tabular}  

\section*{Examples}

\RS{} \RS{l} \RS{|} \RS{l|} \RS{r} \RS{lr} \RS{|r} \RS{l|r}\\
\RS{-} \RS{l-} \RS{-|} \RS{-r} \RS{lr-} \RS{-|r}\\
\RS{-+} \RS{l-+} \RS{-|+} \RS{-+r} \RS{lr-+}

\end{document}

相关内容