%% to be compiled with pdflatex

\documentclass{amsart}

\usepackage{tikz}
\usetikzlibrary{calc,arrows.meta}

\DeclareFixedFont{\TMfontA}{OMS}{cmsy}{m}{n}{10.95}
\DeclareFixedFont{\TMfontB}{OMS}{cmsy}{m}{n}{12}
\DeclareFixedFont{\TMfontC}{OMS}{cmsy}{m}{n}{14.4}

\newlength{\TypewriterEnskip}

\begin{document}

\thispagestyle{empty}

\long\def\extrabox#1 | #2|#3|#4{

  \setbox0\hbox{#4}

  \setbox0\hbox{#2%
    \vbox to 0pt{#3
      \ht0=0pt
      \box0
      \vss
    }%
  }

  \ifdim\hsize<\wd0 \hsize=\wd0 \fi

  \vskip-\baselineskip
  \unhbox0

}

\def\TTthick{semithick}

\def\overharpoon#1{%
  \vbox{
    \setbox0\hbox{#1}
    \hbox{%
      \begin{tikzpicture} [trim left,trim right=0]
        \draw[\TTthick,arrows={-Straight Barb[harpoon]}]
        (0,0) -- (\wd0,0) ;
      \end{tikzpicture}%
    }
    \nointerlineskip
    \vskip1.2pt
    \box0
  }%
}

\def\TTto{%
  \hbox to 3\tten{%
    \hss
    \begin{tikzpicture} [baseline=-55/18pt+0.2pt]
      \draw[\TTthick,-Straight Barb] (0,0) -- (2\tten,0) ;
    \end{tikzpicture}%
    \hss
  }%
}

\def\TTsubscript#1{$\scriptspace=0pt _{\hbox{#1}}$}

\def\dottedbox{%
  \begin{tikzpicture} [trim left,baseline=-55/18pt]
    \fill[x=45/16pt,y=45/16pt,radius=0.5pt]
    foreach \x in {0,28} { foreach \y in {-4,...,4} { (\x,\y) circle[] }}
    foreach \y in {-4,4} { foreach \x in {1,...,27} { (\x,\y) circle[] }}
    ;
  \end{tikzpicture}%
}

\def\ARROW#1#2{\draw (#1) -- (#2) ; }
\def\ARROWX[#1]{\scoped [#1] \ARROW}
\def\ARROWB{\ARROWX[opacity=0.5]}

\def\BULLET#1{
  \fill (#1) circle[radius=1.4pt] ;
}

\def\TMCaptionClearA{1.095*8pt}
\def\TMCaptionClearB{1.2*8pt}
\def\TMCaptionClearC{1.44*8pt}

\def\showTMCaptionA{
  \node[below=\TMCaptionClearA,inner ysep=0pt] at (current bounding box.base)
       {\TMCaption\TMfontA2} ; }

\def\showTMCaptionB{
  \node[below=\TMCaptionClearB,inner ysep=0pt] at (current bounding box.base)
       {\TMCaption\TMfontB3} ; }

\def\showTMCaptionC#1{
  \node[below=\TMCaptionClearC,inner ysep=0pt] at (#1)
       {\TMCaption\TMfontC4} ; }

\def\TMCaption#1#2{
  \setbox0\hbox{#1 M}%
  \setbox1\hbox{$\copy0'$}%
  \wd1=\wd0 \ht1=\ht0 \box1\TTsubscript{#2}}

\tikzset{outer sep=0pt}

\tt

\parindent=0pt

\let\tten\TypewriterEnskip
\tten=5.25pt

\let\bs\baselineskip
\bs=10.97pt

\catcode`\?=\active
\let?=\ \relax

\vphantom{X}

\hsize=0pt

\extrabox top line | | | {%
  \hskip33.5\tten
  -?\S
  ?1?-%
  \hskip30.5\tten
  -?12?-%
}

\extrabox 1 | \hskip18.5\tten | \vskip5\bs \vskip-2.2pt | {%

  \overharpoon{A0}\TTsubscript{2}%

  ?:?%

  \rlap{?a(bc)\TTto(ab)c}%

  \dottedbox

}

\extrabox 2 | \hskip19.5\tten | \vskip8\bs \vskip3.4pt | {%
  \begin{tikzpicture} [trim left,baseline=(11)]

    \coordinate (11) at (0,0) ;
    \coordinate (20) at (16\tten,0) ;

    \ARROWB{11}{20} ;

    \BULLET{11} ;
    \BULLET{20} ;

    \showTMCaptionA

    \node[above] at (11) {11} ;
    \node[above] at (20) {20} ;

  \end{tikzpicture}%
}

\extrabox 3 | \hskip23.5\tten \hskip0.6pt | \vskip266pt | {%
  \begin{tikzpicture} [trim left,baseline=(210),x=1pt,y=1pt]

    \coordinate (201) at (0,110.2) ;
    \coordinate (300) at (-59.25,71.2) ;
    \coordinate (210) at (-37.25,0) ;
    \coordinate (111) at ([xscale=-1] 300) ;
    \coordinate (120) at ([xscale=-1] 210) ;

    \def\ListPentagon{201/300, 210/300, 120/210, 111/120, 111/201}

    \foreach \XXX/\YYY in \ListPentagon {
      \coordinate (\XXX-\YYY) at ($(\XXX)!1/2!(\YYY)$) ;
      \ARROWB\XXX\YYY ;
    }

    \filldraw[fill opacity=0.25]
    foreach \XXX/\YYY [count=\n] in \ListPentagon {
      \ifnum\n>1 -- \fi (\XXX-\YYY) } -- cycle ;

    \foreach \XXX/\YYY in \ListPentagon
    \BULLET{\XXX-\YYY} ;

    \showTMCaptionB

    \node[above] at (201) {201} ;
    \node[left] at (300) {300} ;
    \node[left] at (210) {210} ;
    \node[right] at (111) {111} ;
    \node[right] at (120) {120} ;

  \end{tikzpicture}%
}

\extrabox 4 | \hskip58\tten \hskip2pt | \vskip155pt | {%
  \begin{tikzpicture} [trim left,baseline=(1120),x=1pt,y=1pt]

    \coordinate (3010) at (0,114.1) ;
    \coordinate (1201) at (0,-87.9) ;

    \coordinate (4000) at (0,90.4) ;
    \coordinate (3001) at (-41.4,35.3) ;
    \coordinate (2101) at (0,-21.2) ;

    \coordinate (2020) at (-71.3,71.9) ;
    \coordinate (2011) at (-102.3,16.2) ;
    \coordinate (1120) at (-46.1,0) ;
    \coordinate (1111) at (-75.7,-51.3) ;

    \coordinate (3100) at ([xscale=-1] 3001) ;
    \coordinate (2110) at ([xscale=-1] 2020) ;
    \coordinate (2200) at ([xscale=-1] 2011) ;
    \coordinate (1210) at ([xscale=-1] 1120) ;
    \coordinate (1300) at ([xscale=-1] 1111) ;

    \begin{scope} [opacity=0.15,transparency group]

      \foreach \XXX/\YYY in {
        3010/4000,
        3001/4000, 3100/4000,
        2011/3001, 2200/3100,
        2101/3001, 2101/3100,
        1201/2101}
      \ARROW\XXX\YYY ;

      \foreach \XXX/\YYY in {
        1120/2020, 1210/2110,
        1120/1210,
        1111/1120, 1210/1300,
        2020/3010, 2110/3010,
        2011/2020, 2110/2200,
        1111/2011, 1300/2200,
        1111/1201, 1201/1300}
      \ARROW\XXX\YYY ;

      \foreach \XXX in {
        4000, 3001, 3100, 2101}
      \BULLET\XXX ;

      \foreach \XXX in {
        1120, 1210,
        3010,
        2020, 2011, 1111,
        2110, 2200, 1300,
        1201}
      \BULLET\XXX ;

    \end{scope}

    \coordinate (AL) at ($(3001)+(-2.35,30)$) ;
    \coordinate (BL) at ($(2020)!1/2!(1111)$) ;
    \coordinate (CL) at ($(1120)-(-2.35,30)$) ;

    \coordinate (AR) at ([xscale=-1] AL) ;
    \coordinate (BR) at ([xscale=-1] BL) ;
    \coordinate (CR) at ([xscale=-1] CL) ;

    \coordinate (D) at ($(AL)!1/2!(AR)-(0,12)$) ;
    \coordinate (E) at ($(3001)!1/2!(3100)$) ;
    \coordinate (F) at ($(CL)!1/2!(CR)-(0,10)$) ;

    \begin{scope} [opacity=0.5,transparency group]

      \foreach \XXX in {
        E%
      }{
        \BULLET\XXX ;
      }

      \foreach \XXX/\YYY in {
        E/AL, E/AR, E/CL, E/CR%
      }{
        \ARROWX[dashed]\XXX\YYY ;
      }

      \foreach \XXX/\YYY in {
        AL/CL, AR/CR%
      }{
        \ARROWX[densely dashdotted]\XXX\YYY ;
      }

      \foreach \XXX/\YYY in {
        CL/CR%
      }{
        \ARROWX[densely dashdotted,dash phase=-43.75pt-1.2pt]\XXX\YYY ;
      }

    \end{scope}

    \filldraw[fill opacity=0.25]
    (AL) -- (BL) -- (CL) -- (F) -- (CR) -- (BR) -- (AR) -- cycle ;

    \foreach \XXX/\YYY in {
      D/AL, D/AR, D/BL, D/BR, D/F,
      BL/F, BR/F%
    }{
      \ARROW\XXX\YYY ;
    }

    \foreach \XXX in {
      AL, AR, BL, BR, CL, CR, D, F%
    }{
      \BULLET\XXX ;
    }

    \showTMCaptionC{1201}

  \end{tikzpicture}%
}

\leavevmode

???1- ab

??11- a(bc)

??20- (ab)c

?111- a(b(cd))

?120- a((bc)d)

?201- (ab)(cd)

?210- (a(bc))d

?300- ((ab)c)d

1111-a(b(c(de)))

1120-a(b((cd)e))

1201-a((bc)(de))

2011-(ab)(c(de))

2020-(ab)((cd)e)

.?.?.?.?.?.?.?.

\vskip11\bs

\hskip36.5\tten
Fig.?1

\end{document}
