addendum to the mail I sent earlier:
> I won't say that I like the outcome of this one:
>
> integrate((1+tan(x)^2)/tan(x),x);
>
> Please try it and comment on it!
The point is that Maxima answers sec(x)^2 as the derivative
of tan(x).
In symbolic integration, there is sometimes good reason to
prefer tan(x)^2 + 1 as the derivative of tan(x).
With that derivative, the first stage of the Maxima integration
algorithm would be able to answer log(tan(x)) as the integral
of the given problem.
Greetings, Boris