<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:v = 
"urn:schemas-microsoft-com:vml" xmlns:o = 
"urn:schemas-microsoft-com:office:office" xmlns:w = 
"urn:schemas-microsoft-com:office:word"><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.6000.21184" name=GENERATOR>
<STYLE>@page Section1 {size: 612.0pt 792.0pt; margin: 72.0pt 77.95pt 72.0pt 77.95pt; }
P.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
LI.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: blue; TEXT-DECORATION: underline
}
P.MsoPlainText {
        FONT-SIZE: 10pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Courier New"
}
LI.MsoPlainText {
        FONT-SIZE: 10pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Courier New"
}
DIV.MsoPlainText {
        FONT-SIZE: 10pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Courier New"
}
PRE {
        FONT-SIZE: 10pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Courier New"
}
P.avgcert {
        FONT-SIZE: 12pt; MARGIN-LEFT: 0cm; MARGIN-RIGHT: 0cm; FONT-FAMILY: "Times New Roman"; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto
}
LI.avgcert {
        FONT-SIZE: 12pt; MARGIN-LEFT: 0cm; MARGIN-RIGHT: 0cm; FONT-FAMILY: "Times New Roman"; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto
}
DIV.avgcert {
        FONT-SIZE: 12pt; MARGIN-LEFT: 0cm; MARGIN-RIGHT: 0cm; FONT-FAMILY: "Times New Roman"; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto
}
SPAN.EmailStyle19 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle20 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
DIV.Section1 {
        page: Section1
}
</STYLE>
</HEAD>
<BODY lang=EN-US vLink=blue link=blue>
<DIV dir=ltr align=left><SPAN class=235045519-01122011><FONT face=Arial 
color=#0000ff size=2>Hi Bruce,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=235045519-01122011><FONT face=Arial 
color=#0000ff size=2>I've solved the problem - obvious really - I need to use 
p_station, not p_station_SKBB.  I'll send the example through later - I 
need to copy it off another computer.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=235045519-01122011><FONT face=Arial 
color=#0000ff size=2>Regards,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=235045519-01122011><FONT face=Arial 
color=#0000ff size=2>- Ben</FONT></SPAN></DIV><BR>
<BLOCKQUOTE dir=ltr 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
  <HR tabIndex=-1>
  <FONT face=Tahoma size=2><B>From:</B> therion-bounces@speleo.sk 
  [mailto:therion-bounces@speleo.sk] <B>On Behalf Of </B>Ben 
  Cooper<BR><B>Sent:</B> 30 November 2011 22:35<BR><B>To:</B> 'List for Therion 
  users'<BR><B>Subject:</B> Re: [Therion] symbol-show fixed points / point 
  text<BR></FONT><BR></DIV>
  <DIV></DIV>
  <DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
  color=#0000ff size=2>Hi Bruce,</FONT></SPAN></DIV>
  <DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
  color=#0000ff size=2>You beat me to it!  I've spent the last few days 
  learning metapost and rummaging around the bowels of the Therion's source code 
  and have more or less got to what you have summarised below.  I also 
  spotted the smartlabel, though haven't yet tried it in the re-definition of 
  p_continuation.  </FONT></SPAN></DIV>
  <DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
  color=#0000ff size=2></FONT></SPAN> </DIV>
  <DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
  color=#0000ff size=2>I surmise that stations with fixed co-ordinates are 
  not exported by Therion in any detectable way; while the th2 mark "fixed" 
  is exported as "mark", and the th2 flags are exported as "flags".  The 
  items that are exported are accessible in 
  metapost.  </FONT></SPAN><SPAN class=094593821-30112011><FONT 
  face=Arial color=#0000ff size=2>In the debug output data.mp file, I saw that 
  "attr code" is exported by Therion as ATTR_code, where "code" is whatever attr 
  has been declated in the th2 file.  Note that it only has one "_" whereas 
  ATTR__text has two "_".   So o<SPAN class=094593821-30112011><FONT 
  face=Arial color=#0000ff size=2>ne thing I tried that did work is to print the 
  value of my user define attr statements instead of the text, which is 
  potentially quite useful, as I can display a short code, and use 
  continuation.html for the longer description.  However, this still relies 
  on having the "continuation" flag set.  
</FONT></SPAN></FONT></SPAN></DIV>
  <DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
  color=#0000ff size=2></FONT></SPAN> </DIV>
  <DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
  color=#0000ff size=2>I used the following re-definition of </FONT></SPAN><SPAN 
  class=094593821-30112011><FONT face=Arial color=#0000ff size=2>p_continuation 
  using ATTR_code instead of the example's ATTR__text, as 
  follows</FONT></SPAN></DIV>
  <DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
  color=#0000ff size=2></FONT></SPAN> </DIV>
  <DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
  color=#0000ff size=2>**THE FOLLOWING WORKS**</FONT></SPAN></DIV>
  <DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
  color=#0000ff size=2> code metapost<BR>  def 
  p_continuation(expr pos,theta,sc,al) =<BR>   % draw default 
  continuation 
  symbol<BR>   p_continuation_UIS(pos,theta,sc,al);</FONT></SPAN></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
  <DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
  color=#0000ff size=2>   % if attr code is 
  set<BR>   if known(ATTR_code):</FONT></SPAN></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
  <DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
  color=#0000ff size=2>    % set labeling color to light 
  orange<BR>    push_label_fill_color(1.0, 0.9, 
  0.8);<BR>    <BR>    % draw filled 
  label with text next to 
  ?<BR>    p_label.urt(ATTR_code,(.5u,-.25u) transformed 
  T,0.0,8);<BR>    <BR>    % restore 
  original labeling 
  color<BR>    pop_label_fill_color;<BR>   fi;<BR>  enddef;<BR> endcode  <BR></FONT></SPAN></DIV>
  <DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
  color=#0000ff size=2>Looking at p_station_SKBB, the problem you and I are 
  facing is that it's only for the "continuation" flags that ATTR__text has been 
  set.  I</FONT></SPAN><SPAN class=094593821-30112011><FONT face=Arial 
  color=#0000ff size=2>t occurred to me that if it was possible to refedine 
  p_station_SKBB in the thconfig file, then it would be possible to output 
  ATTR__text if an "attr code" has been declared in the th2 file.  
  </FONT></SPAN></DIV>
  <DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
  color=#0000ff size=2></FONT></SPAN> </DIV>
  <DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
  color=#0000ff size=2>For example, th2 file:-</FONT></SPAN></DIV>
  <DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
  color=#0000ff size=2>station 1 "Some text to output" entrance attr print 
  "true"</FONT></SPAN></DIV>
  <DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
  color=#0000ff size=2></FONT></SPAN> </DIV>
  <DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
  color=#0000ff size=2>My example p_station_SKBB is below.  
  </FONT></SPAN><FONT face=Arial color=#0000ff size=2><SPAN 
  class=094593821-30112011>Unfortunately, I've so far not managed to see it 
  being executed.  I can see it appear in the data.mp debug file, but the 
  changes I've made to it don't appear to work - the text is not yet being 
  output to my pdf file. Also, I don't understand yet the purpose of the 
  metapost "save" command, and the manual doesn't really shed much light on 
  it!  So it's possible that I've just not yet properly understood metapost 
  syntax.  </SPAN></FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
  class=094593821-30112011></SPAN></FONT> </DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN class=094593821-30112011>This 
  is the sort of thing I've got in mind </SPAN></FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
  class=094593821-30112011></SPAN></FONT> </DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN class=094593821-30112011>** 
  WARNING, THE FOLLOWING IS NOT YET WORKING **</SPAN></FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2>def p_station_SKBB(expr 
  pos,mark,txt)(text flags) =<BR>  T:=identity shifted pos;</FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
  <DIV><FONT face=Arial color=#0000ff size=2>  if mark=4: 
  p_station_fixed(pos)<BR>  elseif mark=3: p_station_natural(pos)<BR>  
  elseif mark=2: p_station_painted(pos)<BR>  elseif mark=1: 
  p_station_temporary(pos)<BR>  fi;<BR>  <BR>  path 
  path_cave;<BR>  path_cave = (-.3u,-.25u) -- (-.2u,-.25u){dir 135} .. (0, 
  .25u) .. {dir 225}(.2u,-.25u) -- (.3u,-.25u);<BR>  for 
  i=flags:<BR></FONT><FONT face=Arial color=#0000ff size=2><SPAN 
  class=094593821-30112011>      % ... etc.  No 
  change to contents of for-loop</SPAN></FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2>  endfor;<BR></DIV></FONT>
  <DIV><SPAN class=094593821-30112011><FONT face=Arial color=#0000ff 
  size=2>   % if the "print" attribute is set to true, display the 
  text</FONT></SPAN></DIV>
  <DIV><SPAN class=094593821-30112011><FONT face=Arial color=#0000ff 
  size=2>   if known (ATTR_print) and 
  ATTR_print="true":</FONT></SPAN></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2>      if 
  picture(txt):<BR>        picture 
  ATTR__text;<BR>        ATTR__text := 
  txt;<BR></FONT><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN 
  class=094593821-30112011>        % set 
  labeling color to light orange<BR>        
  push_label_fill_color(1.0, 0.9, 
  0.8);<BR>    <BR>        % draw 
  filled label with text next to ?<BR>        
  p_label.urt(ATTR__text,(.5u,-.25u) transformed 
  T,0.0,8);<BR>    <BR>       
   % restore original labeling 
  color<BR>       
   pop_label_fill_color;<BR></SPAN>    <SPAN 
  class=094593821-30112011> </SPAN>   save 
  ATTR__text;<BR>      fi;<BR>%  thdraw (0,0) 
  withpen PenX withcolor red;<BR>enddef;<BR></FONT></FONT></FONT></DIV>
  <DIV><FONT size=+0><FONT size=+0><SPAN class=094593821-30112011><FONT 
  face=Arial color=#0000ff size=2>You're welcome to try it to see if you can get 
  it to work!</FONT></SPAN></FONT></FONT></DIV>
  <DIV><FONT size=+0><FONT size=+0><SPAN class=094593821-30112011><FONT 
  face=Arial color=#0000ff size=2>Regards,</FONT></SPAN></FONT></FONT></DIV>
  <DIV><FONT size=+0><FONT size=+0><SPAN class=094593821-30112011><FONT 
  face=Arial color=#0000ff size=2>- Ben</FONT></SPAN></DIV></FONT></FONT>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
  class=094593821-30112011></SPAN></FONT> </DIV>
  <DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
  <DIV><FONT face=Arial color=#0000ff size=2></FONT><FONT face=Arial 
  color=#0000ff size=2></FONT><FONT face=Arial color=#0000ff 
  size=2></FONT><BR></DIV>
  <BLOCKQUOTE dir=ltr 
  style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
    <DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
    <HR tabIndex=-1>
    <FONT face=Tahoma size=2><B>From:</B> therion-bounces@speleo.sk 
    [mailto:therion-bounces@speleo.sk] <B>On Behalf Of </B>Bruce<BR><B>Sent:</B> 
    29 November 2011 18:20<BR><B>To:</B> 'List for Therion 
    users'<BR><B>Subject:</B> Re: [Therion] symbol-show fixed points / point 
    text<BR></FONT><BR></DIV>
    <DIV></DIV>
    <DIV class=Section1>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">Ben<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">I think the following (dumped below) from the 
    therion sources mpost\thPoint.mp holds the solution to what we are looking 
    for.  And I think the smartlabel is the wonderous self organising label 
    routine.  I have not had time to verify all this 
    however.<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">Stacho tried to point me to it <A 
    href="http://article.gmane.org/gmane.comp.gis.therion/2468/match=symbol+show+fixed+points+text">http://article.gmane.org/gmane.comp.gis.therion/2468/match=symbol+show+fixed+points+text</A> 
    but I did not follow up on it.<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt"><o:p> </o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">The first definition below is the code for drawing 
    the ? symbol of a continuation point. You just need to replace the thdraw 
    statements with the symbol you would like.  Don’t ask me how – my 
    approach is to trawl the rest of the therion code for a symbol I like and 
    perhaps tweak it a little.<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt"><o:p> </o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">The second shows how mark is used to decide what 
    station ‘x’ mark to use, and then how the flags control how the secondary 
    symbols are added. The %% comments are mine, so may not be correct.  It 
    shows that station comment text is only added if the station is flagged 
    entrance.<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt"><o:p> </o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">I think moving the smartlabel into all but the 
    station_temporary conditional statements might be what we are 
    after.<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt"><o:p> </o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">Bruce<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt"><o:p> </o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt"><o:p> </o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">def p_continuation_UIS(expr pos,theta,sc,al) 
    =<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">  U:=(.15u,.3u);<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">  T:=identity aligned al shifted 
    pos;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">  %% draw ? symbol<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">  pickup PenC;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">  thdraw 
    (-.1u,.2u){up}..{down}(.1u,.2u)..{down}(0,-.05u);<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">  pickup PenX;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">  thdraw (0,-.2u);<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">enddef;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt"><o:p> </o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">def p_station_SKBB(expr pos,mark,txt)(text flags) 
    =<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">  T:=identity shifted 
    pos;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt"><o:p> </o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">  if mark=4: 
    p_station_fixed(pos)<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">  elseif mark=3: 
    p_station_natural(pos)<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">  elseif mark=2: 
    p_station_painted(pos)<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">  elseif mark=1: 
    p_station_temporary(pos)<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">  fi;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">  <o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">  path path_cave;  %% = omega 
    symbol<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">  path_cave = (-.3u,-.25u) -- (-.2u,-.25u){dir 
    135} .. (0, .25u) .. {dir 225}(.2u,-.25u) -- 
    (.3u,-.25u);<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">  for i=flags:<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">    pickup 
    PenX;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">    if 
    i="entrance":<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">%      thfill fullcircle 
    scaled 1 cm withtransparentcolor tr_blue;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      thdraw 
    path_cave;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">%      
    p_label.urt(txt,pos+(0.4u,0),0,0);<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      %% move this if block 
    outside of for loop to label all stations, not just flagged 
    entrance<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">        if not numeric 
    txt:  <o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">        
    p_smartlabel(txt,pos);  %% This is the wonderous self organising label 
    i think<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      
    fi;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">        
    %%<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">    elseif 
    i="sink":<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      thdraw path_cave 
    cutbefore ((-u,0)--(u,0)) cutafter 
    ((-u,0)--(u,0));<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      pickup 
    PenA;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      thdraw (0,-.45u) -- 
    (0,.05u) withcolor blue;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      thdraw (-.15u,-.02u) 
    -- (0,.05u) -- (.15u,-.02u) withcolor blue;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">    elseif 
    i="spring":<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      thdraw path_cave 
    cutbefore ((-u,0)--(u,0)) cutafter 
    ((-u,0)--(u,0));<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      pickup 
    PenA;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      thdraw (0,-.45u) -- 
    (0,.05u) withcolor blue;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      thdraw (-.15u,-.38u) 
    -- (0,-.45u) -- (.15u,-.38u) withcolor blue;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">    elseif 
    i="doline":<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      thdraw 
    (-.5u,.05u){down}..(0,-0.6u)..{up}(.5u,.05u);<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">    elseif 
    i="dig":<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      thdraw (-.5u,.25u) -- 
    (-.35u,.25u)--(-.23u,-.25u)--(.23u,-.25u)--(.35u,.25u)--(.5u,.25u);<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">    elseif substring(0,11) of i = 
    "air-draught":<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      pickup 
    PenB;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      thdraw 
    ((0,.11u){dir-120} ..{dir-70}(0,0) .. 
    {dir-120}(0,-.11u));<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      thdraw 
    ((0,.11u){dir-120} ..{dir-70}(0,0) .. {dir-120}(0,-.11u)) shifted 
    (.11u,0);<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      thdraw 
    ((0,.11u){dir-120} ..{dir-70}(0,0) .. {dir-120}(0,-.11u)) shifted 
    (-.11u,0);<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">    elseif 
    i="continuation":<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      if 
    picture(txt):<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">        picture 
    ATTR__text;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">        
    ATTR__text := txt;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      
    fi;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      
    begingroup;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">        save T; 
    transform T;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">        
    p_continuation(pos+(0,.25u),0,1,(0,1));<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      
    endgroup;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      if 
    picture(txt):<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">        save 
    ATTR__text;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      
    fi;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">    elseif 
    i="arch":<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      thdraw 
    (-.5u,-.25u)--(-.5u,.25u)--(.5u,.25u)--(.5u,-.25u)..(0,.2u)..cycle;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      thfill 
    (-.5u,-.25u)--(-.5u,.25u)--(.5u,.25u)--(.5u,-.25u)..(0,.2u)..cycle;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">    elseif 
    i="overhang":<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">      thdraw 
    (.2u,-.25u)--(-.2u,-.25u){up}..{right}(.2u,.25u);<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">    fi;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">  endfor;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">%  thdraw (0,0) withpen PenX withcolor 
    red;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt">enddef;<o:p></o:p></SPAN></FONT></P>
    <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
    style="FONT-SIZE: 10pt"><o:p> </o:p></SPAN></FONT></P></DIV></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML>