<?xml version="1.0" encoding="UTF-8"?>
<?latexml class="article"?>
<?latexml package="etoolbox"?>
<?latexml RelaxNGSchema="LaTeXML"?>
<document xmlns="http://dlmf.nist.gov/LaTeXML">
  <resource src="LaTeXML.css" type="text/css"/>
  <resource src="ltx-article.css" type="text/css"/>
  <para xml:id="p1">
    <p>hello.world.</p>
  </para>
  <section inlist="toc" xml:id="S1">
    <tags>
      <tag>1</tag>
      <tag role="refnum">1</tag>
      <tag role="typerefnum">§1</tag>
    </tags>
    <title><tag close=" ">1</tag>User commands</title>
    <para xml:id="S1.p1">
      <p><text font="italic">basic</text></p>
    </para>
    <para xml:id="S1.p2">
      <p>4</p>
    </para>
    <para xml:id="S1.p3">
      <p>72.27pt</p>
    </para>
    <para xml:id="S1.p4">
      <p>722.7pt</p>
    </para>
  </section>
  <section inlist="toc" xml:id="S2">
    <tags>
      <tag>2</tag>
      <tag role="refnum">2</tag>
      <tag role="typerefnum">§2</tag>
    </tags>
    <title><tag close=" ">2</tag>Hooks</title>
    <para xml:id="S2.p1">
      <p>Before Begin stuff(outside).At Begin stuff(inside).Begin stuff.
This is Stuff!
At End stuff(inside).End stuff.After End stuff(outside).</p>
    </para>
    <para xml:id="S2.p2">
      <p>Before Begin equation(outside).At Begin equation(inside).</p>
      <equation xml:id="S2.E1">
        <tags>
          <tag>(1)</tag>
          <tag role="refnum">1</tag>
        </tags>
        <Math mode="display" tex="a=b\textrm{ At End equation(inside).}" text="a = b * [ At End equation(inside).]" xml:id="S2.E1.m1">
          <XMath>
            <XMApp>
              <XMTok meaning="equals" role="RELOP">=</XMTok>
              <XMTok font="italic" role="UNKNOWN">a</XMTok>
              <XMApp>
                <XMTok meaning="times" role="MULOP">⁢</XMTok>
                <XMTok font="italic" role="UNKNOWN">b</XMTok>
                <XMText> At End equation(inside).</XMText>
              </XMApp>
            </XMApp>
          </XMath>
        </Math>
      </equation>
      <p>After End equation(outside).</p>
    </para>
    <para xml:id="S2.p3">
      <p>Before Begin verbatim(outside).Begin verbatim(inside):Some Code.</p>
      <verbatim font="typewriter">
\some \code
End verbatim(inside): Some Code.</verbatim>
    </para>
  </section>
  <section inlist="toc" xml:id="S3">
    <tags>
      <tag>3</tag>
      <tag role="refnum">3</tag>
      <tag role="typerefnum">§3</tag>
    </tags>
    <title><tag close=" ">3</tag>Author commands</title>
    <subsection inlist="toc" xml:id="S3.SS1">
      <tags>
        <tag>3.1</tag>
        <tag role="refnum">3.1</tag>
        <tag role="typerefnum">§3.1</tag>
      </tags>
      <title><tag close=" ">3.1</tag>Definitions</title>
      <subsubsection inlist="toc" xml:id="S3.SS1.SSS1">
        <tags>
          <tag>3.1.1</tag>
          <tag role="refnum">3.1.1</tag>
          <tag role="typerefnum">§3.1.1</tag>
        </tags>
        <title><tag close=" ">3.1.1</tag>Macro definitions</title>
        <para xml:id="S3.SS1.SSS1.p1">
          <p>path of PB</p>
        </para>
        <para xml:id="S3.SS1.SSS1.p2">
          <p>path of UF</p>
        </para>
        <para xml:id="S3.SS1.SSS1.p3">
          <p>path of UF</p>
        </para>
        <para xml:id="S3.SS1.SSS1.p4">
          <p>orange= orange= orange= orange</p>
        </para>
        <para xml:id="S3.SS1.SSS1.p5">
          <p>deftestone is defined . After undef, deftestone is undefined.</p>
        </para>
        <para xml:id="S3.SS1.SSS1.p6">
          <p>deftesttwo is defined . After csundef, 
deftesttwo is undefined.</p>
        </para>
        <para xml:id="S3.SS1.SSS1.p7">
          <p>macro:-¿orange</p>
        </para>
      </subsubsection>
      <subsubsection inlist="toc" xml:id="S3.SS1.SSS2">
        <tags>
          <tag>3.1.2</tag>
          <tag role="refnum">3.1.2</tag>
          <tag role="typerefnum">§3.1.2</tag>
        </tags>
        <title><tag close=" ">3.1.2</tag>Arithmetic definitions</title>
        <para xml:id="S3.SS1.SSS2.p1">
          <p>2 + 4 * 8 = 34</p>
        </para>
        <para xml:id="S3.SS1.SSS2.p2">
          <p>3 + 5 * 7 = 38</p>
        </para>
        <para xml:id="S3.SS1.SSS2.p3">
          <p>4 + 6 * 8 = 52</p>
        </para>
        <para xml:id="S3.SS1.SSS2.p4">
          <p>1pt + 2em = 21.0pt</p>
        </para>
        <para xml:id="S3.SS1.SSS2.p5">
          <p>3pt + 1em = 13.0pt</p>
        </para>
        <para xml:id="S3.SS1.SSS2.p6">
          <p>4pt + 0.5em = 9.0pt</p>
        </para>
        <para xml:id="S3.SS1.SSS2.p7">
          <p>10pt plus 2pt minus 3pt = 10.0pt plus 2.0pt minus 3.0pt</p>
        </para>
        <para xml:id="S3.SS1.SSS2.p8">
          <p>4pt minus 1pt = 4.0pt minus 1.0pt</p>
        </para>
        <para xml:id="S3.SS1.SSS2.p9">
          <p>5mu = 5.0mu</p>
        </para>
      </subsubsection>
    </subsection>
    <subsection inlist="toc" xml:id="S3.SS2">
      <tags>
        <tag>3.2</tag>
        <tag role="refnum">3.2</tag>
        <tag role="typerefnum">§3.2</tag>
      </tags>
      <title><tag close=" ">3.2</tag>Expansion control</title>
      <para xml:id="S3.SS2.p1">
        <p>full expansion: macro:-¿first</p>
      </para>
      <para xml:id="S3.SS2.p2">
        <p>expand once: macro:-¿“lvltwo</p>
      </para>
      <para xml:id="S3.SS2.p3">
        <p>csexpandonce: macro:-¿“lvlone</p>
      </para>
    </subsection>
    <subsection inlist="toc" xml:id="S3.SS3">
      <tags>
        <tag>3.3</tag>
        <tag role="refnum">3.3</tag>
        <tag role="typerefnum">§3.3</tag>
      </tags>
      <title><tag close=" ">3.3</tag>Hook management</title>
      <para xml:id="S3.SS3.p1">
        <p>x;
xAB;
xABYZ.</p>
      </para>
      <para xml:id="S3.SS3.p2">
        <p>ABxYZ.</p>
      </para>
      <para xml:id="S3.SS3.p3">
        <p>xZ.</p>
      </para>
      <para xml:id="S3.SS3.p4">
        <p>pre-x.</p>
      </para>
    </subsection>
    <subsection inlist="toc" xml:id="S3.SS4">
      <tags>
        <tag>3.4</tag>
        <tag role="refnum">3.4</tag>
        <tag role="typerefnum">§3.4</tag>
      </tags>
      <title><tag close=" ">3.4</tag>Patching</title>
      <para xml:id="S3.SS4.p1">
        <p>patching: ok</p>
      </para>
      <para xml:id="S3.SS4.p2">
        <p>example patched here</p>
      </para>
      <para xml:id="S3.SS4.p3">
        <p>relax is not patchable</p>
      </para>
      <para xml:id="S3.SS4.p4">
        <p>begin is  patchable</p>
      </para>
      <para xml:id="S3.SS4.p5">
        <p>first and second</p>
      </para>
      <para xml:id="S3.SS4.p6">
        <p>appending to paramacro: ok<break/>first and second. Post</p>
      </para>
      <para xml:id="S3.SS4.p7">
        <p>prepending to paramacro: ok<break/>Pre. first and second. Post</p>
      </para>
    </subsection>
    <subsection inlist="toc" xml:id="S3.SS5">
      <tags>
        <tag>3.5</tag>
        <tag role="refnum">3.5</tag>
        <tag role="typerefnum">§3.5</tag>
      </tags>
      <title><tag close=" ">3.5</tag>Boolean Flags</title>
      <para xml:id="S3.SS5.p1">
        <p>boolvar is false.</p>
      </para>
      <para xml:id="S3.SS5.p2">
        <p>set to true. boolvar is true.</p>
      </para>
      <para xml:id="S3.SS5.p3">
        <p>set to false. boolvar is false.</p>
      </para>
      <para xml:id="S3.SS5.p4">
        <p>set to true. boolvar is true.</p>
      </para>
      <para xml:id="S3.SS5.p5">
        <p>set to false. boolvar is false.</p>
      </para>
      <para xml:id="S3.SS5.p6">
        <p>ltxbool is false</p>
      </para>
      <para xml:id="S3.SS5.p7">
        <p>set to true. ltxbool is true</p>
      </para>
      <para xml:id="S3.SS5.p8">
        <p>set to false. ltxbool is false</p>
      </para>
      <para xml:id="S3.SS5.p9">
        <p>set to true. ltxbool is true</p>
      </para>
      <para xml:id="S3.SS5.p10">
        <p>set to false. ltxbool is false</p>
      </para>
    </subsection>
    <subsection inlist="toc" xml:id="S3.SS6">
      <tags>
        <tag>3.6</tag>
        <tag role="refnum">3.6</tag>
        <tag role="typerefnum">§3.6</tag>
      </tags>
      <title><tag close=" ">3.6</tag>Generic Tests</title>
      <para xml:id="S3.SS6.p1">
        <p>noise is not defined.</p>
      </para>
      <para xml:id="S3.SS6.p2">
        <p>begin is  defined.</p>
      </para>
      <para xml:id="S3.SS6.p3">
        <p>relax is  defined.</p>
      </para>
      <para xml:id="S3.SS6.p4">
        <p>relax is ifundef: true</p>
      </para>
      <para xml:id="S3.SS6.p5">
        <p>relax is ifcsundef: true</p>
      </para>
      <para xml:id="S3.SS6.p6">
        <p>nosuchmacro is not a macro</p>
      </para>
      <para xml:id="S3.SS6.p7">
        <p>relax is not a macro</p>
      </para>
      <para xml:id="S3.SS6.p8">
        <p>begin is a macro</p>
      </para>
      <para xml:id="S3.SS6.p9">
        <p>nobeginning is un defined.</p>
      </para>
      <para xml:id="S3.SS6.p10">
        <p>begin is  defined.</p>
      </para>
      <para xml:id="S3.SS6.p11">
        <p>relax is not defparam</p>
      </para>
      <para xml:id="S3.SS6.p12">
        <p>begin is  defparam</p>
      </para>
      <para xml:id="S3.SS6.p13">
        <p>apptocmd is  defprotected</p>
      </para>
      <para xml:id="S3.SS6.p14">
        <p>ifdefprotected is  defprotected</p>
      </para>
      <para xml:id="S3.SS6.p15">
        <p>relax is not defprotected</p>
      </para>
      <para xml:id="S3.SS6.p16">
        <p>begin is not defprotected</p>
      </para>
      <para xml:id="S3.SS6.p17">
        <p>prefix test begin: false</p>
      </para>
      <para xml:id="S3.SS6.p18">
        <p>prefix test noise: false</p>
      </para>
      <para xml:id="S3.SS6.p19">
        <p>prefix test newrobustcmd: false</p>
      </para>
      <para xml:id="S3.SS6.p20">
        <p>prefix test newrobustcmd: false</p>
      </para>
      <para xml:id="S3.SS6.p21">
        <p>ifcsltxprotect relax: false</p>
      </para>
      <para xml:id="S3.SS6.p22">
        <p>ifcsltxprotect myltxrobust: true</p>
      </para>
      <para xml:id="S3.SS6.p23">
        <p>ifdefempty myempty: true</p>
      </para>
      <para xml:id="S3.SS6.p24">
        <p>ifdefempty myrelax: false</p>
      </para>
      <para xml:id="S3.SS6.p25">
        <p>ifcsvoid myempty: true</p>
      </para>
      <para xml:id="S3.SS6.p26">
        <p>ifcsvoid myrelax: false</p>
      </para>
      <para xml:id="S3.SS6.p27">
        <p>ifcsvoid letrelax: true</p>
      </para>
      <para xml:id="S3.SS6.p28">
        <p>ifcsvoid begin: false</p>
      </para>
      <para xml:id="S3.SS6.p29">
        <p>ifdefequal myempty-myrelax: false</p>
      </para>
      <para xml:id="S3.SS6.p30">
        <p>ifdefequal letrelax-myrelax: false</p>
      </para>
      <para xml:id="S3.SS6.p31">
        <p>ifdefequal begin-begin: true</p>
      </para>
      <para xml:id="S3.SS6.p32">
        <p>ifdefequal myempty-myempty: true</p>
      </para>
      <para xml:id="S3.SS6.p33">
        <p>ifdefstring mymacro-ampersand: true</p>
      </para>
      <para xml:id="S3.SS6.p34">
        <p>ifdefstring myrelax-relax: true</p>
      </para>
      <para xml:id="S3.SS6.p35">
        <p>ifdefstring myempty-: true</p>
      </para>
      <para xml:id="S3.SS6.p36">
        <p>ifdefstring basic-basic: true</p>
      </para>
      <para xml:id="S3.SS6.p37">
        <p>ifcsstrequal basic-basic true</p>
      </para>
      <para xml:id="S3.SS6.p38">
        <p>ifcsstrequal relax-relax false</p>
      </para>
      <para xml:id="S3.SS6.p39">
        <p>ifcsstrequal myempty-relax false</p>
      </para>
      <para xml:id="S3.SS6.p40">
        <p>ifcsstrequal myempty-anotherempty true</p>
      </para>
      <para xml:id="S3.SS6.p41">
        <p>ifdefcounter relax: false</p>
      </para>
      <para xml:id="S3.SS6.p42">
        <p>ifdefcounter mycount: true</p>
      </para>
      <para xml:id="S3.SS6.p43">
        <p>ifdefcounter mycount, after set: true</p>
      </para>
      <para xml:id="S3.SS6.p44">
        <p>ifdefcounter latexcounter: false</p>
      </para>
      <para xml:id="S3.SS6.p45">
        <p>ifdefcounter latexcounter, after step: false</p>
      </para>
      <para xml:id="S3.SS6.p46">
        <p>ifdefcounter myskip: false</p>
      </para>
      <para xml:id="S3.SS6.p47">
        <p>ifdefcounter mylen: false</p>
      </para>
      <para xml:id="S3.SS6.p48">
        <p>ifdefcounter mydimen: false</p>
      </para>
      <para xml:id="S3.SS6.p49">
        <p>ifltxcounter relax: false</p>
      </para>
      <para xml:id="S3.SS6.p50">
        <p>ifltxcounter mycount: false</p>
      </para>
      <para xml:id="S3.SS6.p51">
        <p>ifltxcounter latexcounter: true</p>
      </para>
      <para xml:id="S3.SS6.p52">
        <p>ifdeflength relax: false</p>
      </para>
      <para xml:id="S3.SS6.p53">
        <p>ifdeflength mycount: false</p>
      </para>
      <para xml:id="S3.SS6.p54">
        <p>ifdeflength myskip: true</p>
      </para>
      <para xml:id="S3.SS6.p55">
        <p>ifdeflength mylen: true</p>
      </para>
      <para xml:id="S3.SS6.p56">
        <p>ifdeflength mydimen: false</p>
      </para>
      <para xml:id="S3.SS6.p57">
        <p>ifdefdimen relax: false</p>
      </para>
      <para xml:id="S3.SS6.p58">
        <p>ifdefdimen mycount: false</p>
      </para>
      <para xml:id="S3.SS6.p59">
        <p>ifdefdimen myskip: false</p>
      </para>
      <para xml:id="S3.SS6.p60">
        <p>ifdefdimen mylen: false</p>
      </para>
      <para xml:id="S3.SS6.p61">
        <p>ifdefdimen mydimen: true</p>
      </para>
      <para xml:id="S3.SS6.p62">
        <p>ifstrequal test 1 (false): false</p>
      </para>
      <para xml:id="S3.SS6.p63">
        <p>ifstrequal test 2 (true): true</p>
      </para>
      <para xml:id="S3.SS6.p64">
        <p>ifstrequal test 3 (true): true</p>
      </para>
      <para xml:id="S3.SS6.p65">
        <p>ifstrequal test 4 (true): true</p>
      </para>
      <para xml:id="S3.SS6.p66">
        <p>ifstrequal test 5 (false): false</p>
      </para>
      <para xml:id="S3.SS6.p67">
        <p>ifstrempty test 1 (true): true</p>
      </para>
      <para xml:id="S3.SS6.p68">
        <p>ifstrempty test 2 (false): false</p>
      </para>
      <para xml:id="S3.SS6.p69">
        <p>ifstrempty test 3 (false): false</p>
      </para>
      <para xml:id="S3.SS6.p70">
        <p>ifstrempty test 4 (false): false</p>
      </para>
      <para xml:id="S3.SS6.p71">
        <p>ifblank test 1 (true): true</p>
      </para>
      <para xml:id="S3.SS6.p72">
        <p>ifblank test 2 (false): false</p>
      </para>
      <para xml:id="S3.SS6.p73">
        <p>ifblank test 3 (false): false</p>
      </para>
      <para xml:id="S3.SS6.p74">
        <p>ifblank test 4 (true): true</p>
      </para>
      <para xml:id="S3.SS6.p75">
        <p>notblank test 1 (false): false</p>
      </para>
      <para xml:id="S3.SS6.p76">
        <p>notblank test 2 (true): true</p>
      </para>
      <para xml:id="S3.SS6.p77">
        <p>notblank test 3 (true): true</p>
      </para>
      <para xml:id="S3.SS6.p78">
        <p>notblank test 4 (false): false</p>
      </para>
      <para xml:id="S3.SS6.p79">
        <p>ifnumcomp (false): false</p>
      </para>
      <para xml:id="S3.SS6.p80">
        <p>ifnumcomp (true): true</p>
      </para>
      <para xml:id="S3.SS6.p81">
        <p>ifnumcomp (false): false</p>
      </para>
      <para xml:id="S3.SS6.p82">
        <p>ifnumcomp (true): true</p>
      </para>
      <para xml:id="S3.SS6.p83">
        <p>ifnumcomp (true): true</p>
      </para>
      <para xml:id="S3.SS6.p84">
        <p>ifboolexpr (false): false</p>
      </para>
      <para xml:id="S3.SS6.p85">
        <p>ifboolexpr (true): true</p>
      </para>
    </subsection>
    <subsection inlist="toc" xml:id="S3.SS7">
      <tags>
        <tag>3.7</tag>
        <tag role="refnum">3.7</tag>
        <tag role="typerefnum">§3.7</tag>
      </tags>
      <title><tag close=" ">3.7</tag>List Processing</title>
      <para class="ltx_noindent" xml:id="S3.SS7.p1">
        <p>Itemize list:</p>
        <itemize xml:id="S3.I1">
          <item xml:id="S3.I1.i1">
            <tags>
              <tag>•</tag>
              <tag role="typerefnum">1st item</tag>
            </tags>
            <para xml:id="S3.I1.i1.p1">
              <p>item1</p>
            </para>
          </item>
          <item xml:id="S3.I1.i2">
            <tags>
              <tag>•</tag>
              <tag role="typerefnum">2nd item</tag>
            </tags>
            <para xml:id="S3.I1.i2.p1">
              <p>item2</p>
            </para>
          </item>
          <item xml:id="S3.I1.i3">
            <tags>
              <tag>•</tag>
              <tag role="typerefnum">3rd item</tag>
            </tags>
            <para xml:id="S3.I1.i3.p1">
              <p>item3a, item3b</p>
            </para>
          </item>
          <item xml:id="S3.I1.i4">
            <tags>
              <tag>•</tag>
              <tag role="typerefnum">4th item</tag>
            </tags>
            <para xml:id="S3.I1.i4.p1">
              <p>item4</p>
            </para>
          </item>
        </itemize>
      </para>
      <para class="ltx_noindent" xml:id="S3.SS7.p2">
        <p>Poor man’s list:<break/>* item1<break/>* item2<break/>* item3a, item3b<break/>* item4<break/></p>
      </para>
      <para xml:id="S3.SS7.p3">
        <p>Dolistloop itemize:</p>
        <itemize xml:id="S3.I2">
          <item xml:id="S3.I2.i1">
            <tags>
              <tag>•</tag>
              <tag role="typerefnum">1st item</tag>
            </tags>
            <para xml:id="S3.I2.i1.p1">
              <p>itemA</p>
            </para>
          </item>
          <item xml:id="S3.I2.i2">
            <tags>
              <tag>•</tag>
              <tag role="typerefnum">2nd item</tag>
            </tags>
            <para xml:id="S3.I2.i2.p1">
              <p>itemB</p>
            </para>
          </item>
          <item xml:id="S3.I2.i3">
            <tags>
              <tag>•</tag>
              <tag role="typerefnum">3rd item</tag>
            </tags>
            <para xml:id="S3.I2.i3.p1">
              <p>itemC</p>
            </para>
          </item>
        </itemize>
      </para>
      <para xml:id="S3.SS7.p4">
        <p>Forlistloop itemize:</p>
        <itemize xml:id="S3.I3">
          <item xml:id="S3.I3.i1">
            <tags>
              <tag>•</tag>
              <tag role="typerefnum">1st item</tag>
            </tags>
            <para xml:id="S3.I3.i1.p1">
              <p>itemA</p>
            </para>
          </item>
          <item xml:id="S3.I3.i2">
            <tags>
              <tag>•</tag>
              <tag role="typerefnum">2nd item</tag>
            </tags>
            <para xml:id="S3.I3.i2.p1">
              <p>itemB</p>
            </para>
          </item>
          <item xml:id="S3.I3.i3">
            <tags>
              <tag>•</tag>
              <tag role="typerefnum">3rd item</tag>
            </tags>
            <para xml:id="S3.I3.i3.p1">
              <p>itemC</p>
            </para>
          </item>
          <item xml:id="S3.I3.i4">
            <tags>
              <tag>•</tag>
              <tag role="typerefnum">4th item</tag>
            </tags>
            <para xml:id="S3.I3.i4.p1">
              <p>Total: 3 items</p>
            </para>
          </item>
        </itemize>
      </para>
      <para xml:id="S3.SS7.p5">
        <p>dolistloop search: item found!</p>
      </para>
    </subsection>
    <subsection inlist="toc" xml:id="S3.SS8">
      <tags>
        <tag>3.8</tag>
        <tag role="refnum">3.8</tag>
        <tag role="typerefnum">§3.8</tag>
      </tags>
      <title><tag close=" ">3.8</tag>Miscellaneous Tools</title>
      <para xml:id="S3.SS8.p1">
        <p>1995 = 1995</p>
      </para>
      <para xml:id="S3.SS8.p2">
        <p>116 = 116</p>
      </para>
      <para xml:id="S3.SS8.p3">
        <p>ifnumless (true): true</p>
      </para>
    </subsection>
  </section>
</document>