
Есть ли в 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
. И если x=0
то atan(y/x)
не определено, в то время как atan2(y,x)=pi/2
для y>0
или -pi/2
для y<0
. Это определение atan2
(или эквивалентно arctan2
) одинаково как для математики, так и для распространенных языков программирования, включая C, FORTRAN и Matlab.
решение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)$