Hi, the second argument in zeta(m,s) is supposed to be a sign, e.g. a number where either is_positive() or is_negative() is true, or a list of such signs. For example zeta(5,1) = sum_{j=1}^infty 1/j^5 zeta(5,-1) = sum_{j=1}^\infty (-1)^j/j^5 On the other hand, smybol x("x"); zeta(5,x) does not make any sense, if you want sum_{j=1}^infty x^j/j^5 use Li(5,x). If a sign is negative, the latex output is a bar over the corresponding first index, e.g. zeta(5,-1) prints as \zeta(\overline{5}). I suppose this is one reason for having the alternating Euler sums, as the printout \zeta(\overline{5}) is shorter than \mathrm{Li}_{5}(-1). Now, zeta2_print_latex checks only if is_negative() is true or false and prints a bar or not. One possibility could be to throw an exception early on, if for a sign neither is_positive() nor is_negative() is true. However, I have a tendency to leave this responsibility with the user. In particular I would not add extra code to the print routines. The print routines print out the functions correctly for legitime input, adding extra print code to print out illegitime input seems the wrong thing to do to me. Best wishes, Stefan