Singular Manual: texname

  | #### D.9.2.7 texname Procedure from library `latex.lib` (see latex_lib). Usage: texname(fname,s); fname,s strings Return: if `fname=""`: the transformed string s, for which the following rules apply:
            s' + "~"             -->  "\\tilde{"+ s' +"}"
           "_" + int             -->       "_{" + int +"}"
        "[" + s' + "]"           -->      "_{" + s' + "}"
         "A..Z" + int            --> "A..Z" + "^{" + int + "}"
         "a..z" + int            --> "a..z" + "_{" + int + "}"
      "(" + int + "," + s' + ")" --> "_{"+ int +"}" + "^{" + s'+"}"
Furthermore, strings which begin with a left brace are modified by deleting the first and the last character (which is then assumed to be a right brace). if `fname!=""`: append the transformed string s to the file `<fname>`, and return nothing. Note: preceding ">>" are deleted in `fname`, and suffix ".tex" (if not given) is added to `fname`. Example:
    LIB "latex.lib";
    ring r = 0,(x,y),lp;
    poly f = 3xy4 + 2xy2 + x5y3 + x + y6;
    texname("","{f(10)}");
    ==> f(10)
    texname("","f(10) =");
    ==> f_{10} =
    texname("","n1");
    ==> n_{1}
    texname("","T1_12");
    ==> T^{1}_{12}
    texname("","g'_11");
    ==> g'_{11}
    texname("","f23");
    ==> f_{23}
    texname("","M[2,3]");
    ==> M_{2,3}
    texname("","A(0,3);");
    ==> A_{0}^{3};
    texname("","E~(3)");
    ==> \tilde{E}_{3}

User manual for Singular version 4.4.1, 2025, generated by texi2html.