LaTeX 中是否有 arctan2 / atan2 函数,它可以像其他三角函数一样打印出美观的结果\sin
\cos
……?
答案1
amsmath
提供\DeclareMathOperator{\foo}{foo}
定义类似于\sin
和的排版的新操作符名称\cos
,\ln
即直立字体和正确的间距。
\atantwo
这也可以与一起使用(2
但是,不允许作为宏名的一部分,因此)\atantwo
。
\documentclass{article}
\usepackage{amsmath}
\DeclareMathOperator{\atantwo}{atan2}
\DeclareMathOperator{\arctantwo}{arctan2}
\begin{document}
\[
\atantwo ( y, x)
\]
\[
\arctantwo ( y, x)
\]
\[
\sin (x y)
\]
\end{document}
注意:atan2(y,x)
函数确定极坐标中的角度,与函数相关但不同atan(y/x)
。两者不能互换。atan
函数的输出范围为(-pi/2,pi/2)
,而atan2
的输出范围为(-pi,pi]
。如果x>0
,则atan2(y,x)=atan(y/x)
。如果x<0
,则。atan2(y,x)=atan(y/x) +/- pi
如果未定义,而对于或对于。这个定义(或等效地)对于数学和包括C,FORTRAN和matlab在内的常见编程语言都是相同的。x=0
atan(y/x)
atan2(y,x)=pi/2
y>0
-pi/2
y<0
atan2
arctan2
答案2
如果你愿意,你可以让它们更智能一点,以便\atan2
能够\arctan2
\long\def\gobbleone#1{}
\protected\def\atan{\futurelet\tmptoken\doatan}
\protected\def\doatan{\operatorname{atan\ifx\tmptoken22\fi}%
\ifx\tmptoken2\expandafter\gobbleone\fi}
\protected\def\arctan{\futurelet\tmptoken\doarctan}
\protected\def\doarctan{\operatorname{arc\,tan\ifx\tmptoken22\fi}%
\ifx\tmptoken2\expandafter\gobbleone\fi}
$\atan2(y, x) \arctan2(y, x) \sin(x, y)$