<html><head></head><body bgcolor="#FFFFFF"><div><br>Hi Steve,</div><div><br>On 25/08/2012, at 10:26, <a href="mailto:SteveBravy@aol.com">SteveBravy@aol.com</a> wrote:<br><br></div><div></div><blockquote type="cite"><div>

<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<meta name="GENERATOR" content="MSHTML 8.00.6001.19298">
<font id="role_document" color="#000000" size="2" face="Arial">
<div>
<div>Hi Ross:</div>
<div> </div>
<div>Thanks for your response, which gave me information I couldn't find 
elsewhere. By the way, is there an on-line source I could look up for 
answers rather than bother you/others in the future?</div>
<div> </div>
<div>I guess I'm about to look a gift horse in the mouth- I apologize. I'm 
enclosing some questions to help me apply the information you provided to some 
specific cases- what is being interpreted, what is (are) the \POS argument(s), 
and what does \POS do to/with these arguments.</div></div></font></div></blockquote><div><br></div><div>\POS does not have arguments, the way TeX macros normally do.</div><div>Instead it examines each character in turn to decide what to do next.</div><div>The whole parsing structure is described in the BNF diagrams in the Xy-pic Reference manual.</div><div><br></div><br><blockquote type="cite"><div><font id="role_document" color="#000000" size="2" face="Arial"><div>
<div> </div>
<div>
<table style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; MARGIN: auto auto auto 0.9pt; BORDER-COLLAPSE: collapse; BORDER-TOP: medium none; BORDER-RIGHT: medium none; mso-table-layout-alt: fixed; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt" class="MsoTableGrid" border="1" cellspacing="0" cellpadding="0" width="660">
  <tbody>
  <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes">
    <td style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 157.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt" valign="top" width="210">
      <p style="TEXT-ALIGN: center; LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class="MsoNormal" align="center"><font face="Calibri">Code<o:p></o:p></font></p></td>
    <td style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #ece9d8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 110.6pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="147">
      <p style="TEXT-ALIGN: center; LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class="MsoNormal" align="center"><font face="Calibri">Reference<o:p></o:p></font></p></td>
    <td style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #ece9d8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 111.95pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="149">
      <p style="TEXT-ALIGN: center; LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class="MsoNormal" align="center"><font face="Calibri">Comments<o:p></o:p></font></p></td>
    <td style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #ece9d8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 114.95pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="153">
      <p style="TEXT-ALIGN: center; LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class="MsoNormal" align="center"><font face="Calibri">Question(s)<o:p></o:p></font></p></td></tr>
  <tr style="mso-yfti-irow: 1">
    <td style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 157.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="210">
      <p style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class="MsoNormal"><span style="FONT-FAMILY: CMTT10; FONT-SIZE: 10pt; mso-bidi-font-family: CMTT10"><font face="Calibri">\def\ToPOS{\save\afterPOS{%<o:p></o:p></font></span></p>
      <p style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class="MsoNormal"><font face="Calibri"><span style="FONT-FAMILY: CMTT10; FONT-SIZE: 10pt; mso-bidi-font-family: CMTT10">\POS**{}?>*@2{>}**@{-}\restore};p,}</span><o:p></o:p></font></p></td>
    <td style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #ece9d8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 110.6pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="147">
      <p style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class="MsoNormal"><font face="Calibri">XY-pic reference, page 16<o:p></o:p></font></p></td>
    <td style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #ece9d8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 111.95pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="149">
      <p style="LINE-HEIGHT: normal; TEXT-INDENT: -0.2in; MARGIN: 0in 0in 0pt 0.2in; mso-add-space: auto; mso-list: l4 level1 lfo2" class="MsoListParagraphCxSpFirst"><span style="FONT-FAMILY: 'Century','serif'; mso-fareast-font-family: Century; mso-bidi-font-family: Century"><span style="mso-list: Ignore">─<span style="FONT: 7pt 'Times New Roman'">   
      </span></span></span><font face="Calibri">I think I understand the head and 
      shaft constructions<o:p></o:p></font></p>
      <p style="LINE-HEIGHT: normal; TEXT-INDENT: -0.2in; MARGIN: 0in 0in 0pt 0.2in; mso-add-space: auto; mso-list: l4 level1 lfo2" class="MsoListParagraphCxSpMiddle"><span style="FONT-FAMILY: 'Century','serif'; mso-fareast-font-family: Century; mso-bidi-font-family: Century"><span style="mso-list: Ignore">─<span style="FONT: 7pt 'Times New Roman'">   
      </span></span></span><font face="Calibri">I believe {} refers to the current 
      node (c)<o:p></o:p></font></p></td>
    <td style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #ece9d8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 114.95pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="153">
      <p style="LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 17.1pt; mso-add-space: auto; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><span style="mso-list: Ignore"><font face="Calibri">1.</font><span style="FONT: 7pt 'Times New Roman'">       
      </span></span></span><font face="Calibri">What is \POS interpreting 
      here?<o:p></o:p></font></p>
      <p style="LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 17.1pt; mso-add-space: auto; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><span style="mso-list: Ignore"><font face="Calibri">2.</font><span style="FONT: 7pt 'Times New Roman'">       
      </span></span></span><font face="Calibri">Is the current state 
      saved?<o:p></o:p></font></p>
      <p style="LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 17.1pt; mso-add-space: auto; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpLast"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><span style="mso-list: Ignore"><font face="Calibri">3.</font><span style="FONT: 7pt 'Times New Roman'">       
      </span></span></span><font face="Calibri">What does \restore;p do? Why the 
      terminating comma?<o:p></o:p></font></p></td></tr>
  <tr style="mso-yfti-irow: 2">
    <td style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 157.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="210">
      <p style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class="MsoNormal"><font face="Calibri"><span style="FONT-FAMILY: CMR10; FONT-SIZE: 10pt; mso-bidi-font-family: CMR10">…“\</span><span style="FONT-FAMILY: CMTT10; FONT-SIZE: 10pt; mso-bidi-font-family: CMTT10">POS 
      </span><span style="FONT-FAMILY: CMSY10; FONT-SIZE: 10pt; mso-hansi-font-family: CMR10; mso-bidi-font-family: CMSY10"><</span><span style="FONT-FAMILY: CMR10; FONT-SIZE: 10pt; mso-bidi-font-family: CMR10">stuff></span><span style="FONT-FAMILY: CMSY10; FONT-SIZE: 10pt; mso-hansi-font-family: CMR10; mso-bidi-font-family: CMSY10"> 
      </span><span style="FONT-FAMILY: CMTT10; FONT-SIZE: 10pt; mso-bidi-font-family: CMTT10">\relax</span><span style="FONT-FAMILY: CMR10; FONT-SIZE: 10pt; mso-bidi-font-family: CMR10">" 
      thus </span><span style="FONT-FAMILY: CMSY10; FONT-SIZE: 10pt; mso-hansi-font-family: CMR10; mso-bidi-font-family: CMSY10"><</span><span style="FONT-FAMILY: CMR10; FONT-SIZE: 10pt; mso-bidi-font-family: CMR10">stuff></span><span style="FONT-FAMILY: CMSY10; FONT-SIZE: 10pt; mso-hansi-font-family: CMR10; mso-bidi-font-family: CMSY10"> 
      </span><span style="FONT-FAMILY: CMR10; FONT-SIZE: 10pt; mso-bidi-font-family: CMR10">should 
      be of <o:p></o:p></span></font></p>
      <p style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class="MsoNormal"><font face="Calibri"><span style="FONT-FAMILY: CMR10; FONT-SIZE: 10pt; mso-bidi-font-family: CMR10">the 
      form </span><span style="FONT-FAMILY: CMSY10; FONT-SIZE: 10pt; mso-hansi-font-family: CMR10; mso-bidi-font-family: CMSY10"><</span><span style="FONT-FAMILY: CMR10; FONT-SIZE: 10pt; mso-bidi-font-family: CMR10">pos</span><span style="FONT-FAMILY: CMSY10; FONT-SIZE: 10pt; mso-hansi-font-family: CMR10; mso-bidi-font-family: CMSY10">> 
      <</span><span style="FONT-FAMILY: CMR10; FONT-SIZE: 10pt; mso-bidi-font-family: CMR10">décor</span><span style="FONT-FAMILY: CMSY10; FONT-SIZE: 10pt; mso-hansi-font-family: CMR10; mso-bidi-font-family: CMSY10">></span><span style="FONT-FAMILY: CMR10; FONT-SIZE: 10pt; mso-bidi-font-family: CMR10">.</span><o:p></o:p></font></p></td>
    <td style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #ece9d8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 110.6pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="147">
      <p style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class="MsoNormal"><font face="Calibri">XY-pic reference, page 38<o:p></o:p></font></p></td>
    <td style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #ece9d8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 111.95pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="149">
      <p style="LINE-HEIGHT: normal; TEXT-INDENT: -9pt; MARGIN: 0in 0in 0pt 9.9pt; mso-add-space: auto; mso-list: l3 level1 lfo3" class="MsoListParagraphCxSpFirst"><span style="FONT-FAMILY: 'Century','serif'; mso-fareast-font-family: Century; mso-bidi-font-family: Century"><span style="mso-list: Ignore">─<span style="FONT: 7pt 'Times New Roman'"> 
      </span></span></span><font face="Calibri">This seems to imply that \POS 
      takes both<o:p></o:p></font></p>
      <p style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt 9.9pt; mso-add-space: auto" class="MsoListParagraphCxSpMiddle"><font face="Calibri"><span style="FONT-FAMILY: CMSY10; FONT-SIZE: 10pt; mso-hansi-font-family: CMR10; mso-bidi-font-family: CMSY10"><</span><span style="FONT-FAMILY: CMR10; FONT-SIZE: 10pt; mso-bidi-font-family: CMR10">pos</span><span style="FONT-FAMILY: CMSY10; FONT-SIZE: 10pt; mso-hansi-font-family: CMR10; mso-bidi-font-family: CMSY10">> 
      <</span><span style="FONT-FAMILY: CMR10; FONT-SIZE: 10pt; mso-bidi-font-family: CMR10">décor</span><span style="FONT-FAMILY: CMSY10; FONT-SIZE: 10pt; mso-hansi-font-family: CMR10; mso-bidi-font-family: CMSY10">> 
      </span><span style="mso-fareast-font-family: CMSY10; mso-bidi-font-family: CMSY10">as 
      inputs.</span><o:p></o:p></font></p>
      <p style="LINE-HEIGHT: normal; TEXT-INDENT: -9pt; MARGIN: 0in 0in 0pt 9.9pt; mso-add-space: auto; mso-list: l3 level1 lfo3" class="MsoListParagraphCxSpLast"><span style="FONT-FAMILY: 'Century','serif'; mso-fareast-font-family: Century; mso-bidi-font-family: Century"><span style="mso-list: Ignore">─<span style="FONT: 7pt 'Times New Roman'"> 
      </span></span></span><o:p><font face="Calibri"> </font></o:p></p></td>
    <td style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #ece9d8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 114.95pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="153">
      <p style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class="MsoNormal"><font face="Calibri">What does \POS do with the two 
      arguments:<o:p></o:p></font></p>
      <p style="LINE-HEIGHT: normal; TEXT-INDENT: -12.6pt; MARGIN: 0in 0in 0pt 12.6pt; mso-add-space: auto; mso-list: l3 level1 lfo3" class="MsoListParagraphCxSpFirst"><span style="FONT-FAMILY: 'Century','serif'; mso-fareast-font-family: Century; mso-bidi-font-family: Century"><span style="mso-list: Ignore">─<span style="FONT: 7pt 'Times New Roman'">  
      </span></span></span><font face="Calibri">Only acts on 
      <pos>?<o:p></o:p></font></p>
      <p style="LINE-HEIGHT: normal; TEXT-INDENT: -12.6pt; MARGIN: 0in 0in 0pt 12.6pt; mso-add-space: auto; mso-list: l3 level1 lfo3" class="MsoListParagraphCxSpLast"><span style="FONT-FAMILY: 'Century','serif'; mso-fareast-font-family: Century; mso-bidi-font-family: Century"><span style="mso-list: Ignore">─<span style="FONT: 7pt 'Times New Roman'">  
      </span></span></span><font face="Calibri">interpret <pos> and then 
      apply <décor> there?<o:p></o:p></font></p></td></tr>
  <tr style="mso-yfti-irow: 3">
    <td style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 157.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="210">
      <p style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class="MsoNormal"><span style="FONT-FAMILY: CMTT10; FONT-SIZE: 10pt; mso-bidi-font-family: CMTT10"><font face="Calibri">\POS (0,10) *\cir<2pt>{} 
      ="a"<o:p></o:p></font></span></p>
      <p style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class="MsoNormal"><span style="FONT-FAMILY: CMTT10; FONT-SIZE: 10pt; mso-bidi-font-family: CMTT10"><font face="Calibri">, (20,-10)*\cir<2pt>{} 
="b"<o:p></o:p></font></span></p>
      <p style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class="MsoNormal"><span style="FONT-FAMILY: CMTT10; FONT-SIZE: 10pt; mso-bidi-font-family: CMTT10"><font face="Calibri">\POS"a" \ar @/^1ex/ "b"|\uparrow<o:p></o:p></font></span></p>
      <p style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class="MsoNormal"><font face="Calibri"><span style="FONT-FAMILY: CMTT10; FONT-SIZE: 10pt; mso-bidi-font-family: CMTT10">\POS"a" 
      \ar @/_1ex/ "b"|\downarrow</span><o:p></o:p></font></p></td>
    <td style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #ece9d8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 110.6pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="147">
      <p style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class="MsoNormal"><font face="Calibri">XY-pic reference, page 42<o:p></o:p></font></p></td>
    <td style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #ece9d8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 111.95pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="149">
      <p style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class="MsoNormal"><o:p><font face="Calibri"> </font></o:p></p></td>
    <td style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #ece9d8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 114.95pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="153">
      <p style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class="MsoNormal"><font face="Calibri">What does \POS do here?<o:p></o:p></font></p></td></tr>
  <tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes">
    <td style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 157.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="210">
      <p style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class="MsoNormal"><font face="Calibri"><span style="FONT-FAMILY: CMTT10; mso-bidi-font-family: CMTT10">\everyentry=</span><span style="FONT-FAMILY: CMSY10; mso-hansi-font-family: CMTT10; mso-bidi-font-family: CMSY10">{{</span><span style="FONT-FAMILY: CMTT10; mso-bidi-font-family: CMTT10">\the\Row,\the\Col</span><span style="FONT-FAMILY: CMSY10; mso-hansi-font-family: CMTT10; mso-bidi-font-family: CMSY10">}}<o:p></o:p></span></font></p>
      <p style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class="MsoNormal"><font face="Calibri"><span style="FONT-FAMILY: CMTT10; mso-bidi-font-family: CMTT10">\xymatrix 
      @*[F]@*[o] </span><span style="FONT-FAMILY: CMSY10; mso-hansi-font-family: CMTT10; mso-bidi-font-family: CMSY10">{<o:p></o:p></span></font></p>
      <p style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class="MsoNormal"><font face="Calibri"><span style="FONT-FAMILY: CMSY10; mso-hansi-font-family: CMTT10; mso-bidi-font-family: CMSY10">{} 
      </span><span style="FONT-FAMILY: CMTT10; mso-bidi-font-family: CMTT10">\POS[];[r]**\dir</span><span style="FONT-FAMILY: CMSY10; mso-hansi-font-family: CMTT10; mso-bidi-font-family: CMSY10">{</span><span style="FONT-FAMILY: CMTT10; mso-bidi-font-family: CMTT10">..</span><span style="FONT-FAMILY: CMSY10; mso-hansi-font-family: CMTT10; mso-bidi-font-family: CMSY10">} 
      </span><span style="FONT-FAMILY: CMTT10; mso-bidi-font-family: CMTT10">& 
      \\<o:p></o:p></span></font></p>
      <p style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class="MsoNormal"><font face="Calibri"><span style="FONT-FAMILY: CMSY10; mso-hansi-font-family: CMTT10; mso-bidi-font-family: CMSY10">{} 
      </span><span style="FONT-FAMILY: CMTT10; mso-bidi-font-family: CMTT10">\POS[];[ur]**\dir</span><span style="FONT-FAMILY: CMSY10; mso-hansi-font-family: CMTT10; mso-bidi-font-family: CMSY10">{</span><span style="FONT-FAMILY: CMTT10; mso-bidi-font-family: CMTT10">--</span><span style="FONT-FAMILY: CMSY10; mso-hansi-font-family: CMTT10; mso-bidi-font-family: CMSY10">} 
      }</span><o:p></o:p></font></p></td>
    <td style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #ece9d8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 110.6pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="147">
      <p style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class="MsoNormal"><font face="Calibri">XY-pic slides by Akagi, 1.20 page 11<o:p></o:p></font></p></td>
    <td style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #ece9d8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 111.95pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="149">
      <p style="LINE-HEIGHT: normal; TEXT-INDENT: -11.95pt; MARGIN: 0in 0in 0pt 11.95pt; mso-add-space: auto; mso-list: l2 level1 lfo4" class="MsoListParagraphCxSpFirst"><span style="FONT-FAMILY: 'Century','serif'; mso-fareast-font-family: Century; mso-bidi-font-family: Century"><span style="mso-list: Ignore">─<span style="FONT: 7pt 'Times New Roman'">  
      </span></span></span><font face="Calibri">Looks like [] represents the 
      current matrix entry<o:p></o:p></font></p>
      <p style="LINE-HEIGHT: normal; TEXT-INDENT: -11.95pt; MARGIN: 0in 0in 0pt 11.95pt; mso-add-space: auto; mso-list: l2 level1 lfo4" class="MsoListParagraphCxSpMiddle"><span style="FONT-FAMILY: 'Century','serif'; mso-fareast-font-family: Century; mso-bidi-font-family: Century"><span style="mso-list: Ignore">─<span style="FONT: 7pt 'Times New Roman'">  
      </span></span></span><font face="Calibri">Looks like {} because <span style="FONT-FAMILY: CMTT10; mso-bidi-font-family: CMTT10">@*[F]@*[o] and 
      </span>\everyentry provides the shape and contents <span style="mso-spacerun: yes"> </span><o:p></o:p></font></p></td>
    <td style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #ece9d8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 114.95pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="153">
      <p style="LINE-HEIGHT: normal; TEXT-INDENT: -12.5pt; MARGIN: 0in 0in 0pt 12.5pt; mso-add-space: auto; mso-list: l1 level1 lfo5" class="MsoListParagraphCxSpLast"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><span style="mso-list: Ignore"><font face="Calibri">1.</font><span style="FONT: 7pt 'Times New Roman'">   
      </span></span></span><font face="Calibri">Does \POS interpret [] and 
      [r]?<span style="mso-spacerun: yes">  </span>Why is \POS required 
      here?<o:p></o:p></font></p></td></tr></tbody></table></div></div>
</font></div></blockquote><div><br></div><div>In the first example, \POS  detects the * , then the ** .</div><div>With just a single * we would be detecting an object to drop into the diagram at the current position. But with ** we establish a connection between the current and previous point, using the object which follows to build a “line” or curve or whatever.</div><div><br></div><div>In the example, the object given by {} is the null object. Thus no ink is set, but all the calculations are done to parametrize points along the line, and establish what direction the line points.</div><div><br></div><div>Next,  ?> moves to the end of the line,  where  *  causes an object to be dropped.</div><div>The  @  ensures the object is chosen to match the current direction (as established by the earlier ** ).  The  2{>}  selects the object to be an arrowhead, appropriate for a double-shafted line.</div><div><br></div><div>Then comes  **{-}  which reestablishes the connection, this time drawing the line.</div><div>Since the previous position has not changed, the line is drawn from the boundary of whatever object was there.  Note that the current position has changed, from what it was before the  \save , having inherited size information from the dropped arrowhead. Thus the line is drawn to the boundary of the arrowhead, rather than to the exact position where it is dropped. Finally, the  \restore  resets to graphics state to what was \save'd. This allows Xy-pic to do further drawing, as if that arrow had never been drawn.</div><div><br></div><div>All the above actions are wrapped as the argument of \afterPOS , which is what happens when the \POS parsing gets to the end of valid input.</div><div>\afterPOS  stores it's argument, then calls \POS on the tokens which follow;</div><div> that is, use of </div><div>       \ToPOS ...more tokens...</div><div>results in</div><div>   \POS ;p, ...more tokens... ...afterPOS tokens ,</div><div>where  ...more tokens... is specifying where to draw the arrow to.</div><div><br></div><div>This means that the \save  is storing the graphics state as it will be at the end of  ...more tokens... and this state is \restore'd after the arrowhead has been drawn.</div><div><br></div><div>Answering your first set of questions.</div><div><br></div><div>     {}  is the null object, being used to do calculations without placing any ink.</div><div><br></div><div>    1. that depends upon which \POS  you actually mean.</div><div>         The one in the  ...afterPOS  tokens interprets what is needed to place the arrow.</div><div>         This happens after the implicit one that interprets user-supplied tokens to determine the target of the arrow, as described above.</div><div>          \save  also causes a \POS , but this immediately ceases with \afterPOS .</div><div>          \restore also causes a  \POS , so that further material can be added to the diagram.</div><div><br></div><div>    2.  The state is saved *after* the target of the arrow has been established.</div><div>          This is the position that needs to be returned to, so that further material can be added after the arrowhead and shaft have been placed.</div><div><br></div><div>    3.  the comma is frequently not vital. It is a kind of no-op that just ensures the \POS parsing macro code is really back at the top level of its hierarchical structure, ready for the user-supplied tokens which are to follow. </div><div><br></div><div><br></div><div>2nd set.</div><div>      The usual action for  \afterPOS  is to check whether any  <decor>  follows.</div><div>       This decor is not an argument to be read, it is just an extension to the parsing, for material that is presented a bit differently.</div><div><br></div><div>3rd set</div><div>     The 2nd and 3rd instances of \POS are actually unnecessary; a single ‘,’ would suffice.</div><div>     I think the best answer is for “clarity” in presenting the example.</div><div>     Certainly this is one way to ensure that the parsing of one part of the diagram is fully complete before continuing with some more. This could be necessary in some circumstances.</div><div><br></div><div>4th set</div><div>    \POS  or some other Xy-pic macro is needed, to turn on parsing within each cell.</div><div>   Otherwise the material is just normal TeX content, within a tabular alignment.</div><div>   Ultimately \xymatrix  must use TeX’s alignment primitives, which have no inbuilt concept of what Xy-pic does. So in each cell, parsing must be turned on, to interpret information about objects, such as arrows, that need to be drawn outside, or crossing over, the cell structure.</div><div>parsing cannot survive the cell boundaries; ie. the & symbols.</div><div><br></div><div><br></div><div><br></div><div><br></div><div>I hope you'll see from this that Xy-pic is very intricate, as it really needs to be.</div><div>To construct extended objects such as arrows and curves, taking into account the correct sizes and margins, etc. requires taking the user-supplied input, and merging it with internally-generated bits of input supplied though macros. </div><div>Everything has to work seamlessly, with much of if being transparent to the user.</div><div><br></div><div>The Xy-pic Reference manual is the definitive documentation, so far as describing the concepts and the language. Everything is in there, but it is packed more densely than most text books.</div><div>A fuller understanding may come from the xy***.doc  files themselves. These contain both the source coding, and the documentation, in a literate programming style.</div>These should be on your system under<span class="Apple-style-span" style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); ">        texmf/doc/generic/xypic      or similar path.</span><div><span class="Apple-style-span" style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.292969); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469);"><br></span><div><blockquote type="cite"><div><font id="role_document" color="#000000" size="2" face="Arial"><div> </div>
<div>
<div>Thanks and Cheers</div></div></font></div></blockquote><div><br></div><div>Hope this helps,</div><div><br></div><div>     Ross</div><div><br></div></div></div></body></html>