.PS
# Chips.m4
log_init
include(ics.m4)

  ifpostscript(,latexcommand({\sf))

Chips: [
  ic4017DIP
  {"\sf 4017" at last [].Chip.sw below ljust}
  move
# ic4510DIP
# {"\sf 4510" at last [].Chip.sw below ljust}
# move
  ic555DIP
  {"\sf 555" at last [].Chip.sw below ljust}
  move
  icVS1053DIP
  {"\sf VS1053" at last [].Chip.sw below ljust}

  DIP_chip_outline with .sw at last [].se+(0.5,0)
  { `"DIP\_chip\_outline"' at last [].s below }
  ]

DIPs: [
  DIP0: DIP
  DIP32: DIP(32,direct=R;bodywid=0.5*scale) with .sw at last [].se+(0.5,0)
  DIP16: DIP(16,type=Q;pinwid=1bp__) with .sw at DIP32.se+(1.5,0)

  thinlines_
  { `"\tt DIP"' at DIP0.s - (0,10bp__) }
  { arrow <- from DIP0.Pin1 up 0.2 ; `"\sl Pin1"' ljust at Here+(-0.05,0.1) }
  { arrow <- from DIP0.c up 0.7 right 0.25; `"\sl Body"' ljust }
  { arrow <- from DIP0.Pin8 up 0.25 right 0.2 ; `"\sl Pin8"' above ljust }

  { `"\tt DIP(32,direct=R;bodywid=0.5*scale)"' ljust \
      at DIP32.sw + (-10bp__,-10bp__) }
  { arrow <- right 0.2 from DIP32.Pin1; `"\sl Pin1"' ljust }
  { spline <- right 0.2 then right 0.1 up 0.1 from DIP32.Pin32
    `"\sl Pin32"' ljust }

  { `"\tt DIP(16,type=Q;pinwid=1bp\_\_)"' at DIP16.sw + (0,-10bp__) ljust }
  thicklines_

  ] with .nw at last [].sw+(0,-0.2)

  ifpostscript(,latexcommand(}%))

.PE
