全局条件

全局条件

我正在为我的学生写一套关于三角学的笔记。目前,他们还没有遇到明年才会遇到的弧度。我想为他们使用同一套笔记,但今年,给他们使用度数的笔记,明年使用弧度。目前,我正在使用(使用ifthen)包:

\newcommand{\hsc}[1]
{
\ifnum#1=0
$0^{\circ}\leq x\leq 90^{\circ}$
\else
$0\leq x\leq\frac{\pi}{2}$
\fi
}
\newcommand{\dom}[1]
{
\ifnum#1=0
$0^{\circ}\leq x\leq 360^{\circ}$
\else
$0\leq x\leq 2\pi$
\fi
}

这在我需要更改的每一行中都运行良好,但是有没有办法可以在序言中插入一个开关,以便全局进行这些更改?

答案1

不要在命令中使用可选参数,而要使用布尔声明:

\documentclass{article}
\newif\ifdegrees
\degreestrue
\def\hsc{\ifdegrees\ensuremath{0^{\circ}\leq x\leq 90^{\circ}}
         \else\ensuremath{0\leq x\leq\frac{\pi}{2}}\fi}
\def\dom{\ifdegrees\ensuremath{0^{\circ}\leq x\leq 360^{\circ}}
         \else\ensuremath{0\leq x\leq 2\pi}\fi}

\begin{document}
    \hsc, \dom

    \degreesfalse
    \hsc, \dom
\end{document}

度奥弧度

答案2

定义一个条件和一个\ANG带有两个参数的命令;第一个参数用于弧度,第二个参数用于角度;您还可以根据需要定义任意数量的缩写。

请注意,在“真实”文档中,您不会在\radianstrue或之间切换\radiansfalse。或者您可能想这样做;在这种情况下,可以设计一些技巧来允许“本地”选择。

\documentclass{article}
\newif\ifradians
%\radianstrue % uncomment if you want angles in radians

\DeclareRobustCommand{\ANG}[2]{\ifradians#1\else#2^{\circ}\fi}
\newcommand{\Aright}{\ANG{\pi/2}{90}}
\newcommand{\Aoctant}{\ANG{\pi/4}{45}}

\begin{document}

$\ANG{0}{0}\le\alpha\le\ANG{2\pi}{360}$

Half right angle is $\Aoctant$.

\radianstrue % just for showing the effect

$\ANG{0}{0}\le\alpha\le\ANG{2\pi}{360}$

Half right angle is $\Aoctant$.

\end{document}

在此处输入图片描述

答案3

我正在使用etoolbox一个使用更简单语法的包

\documentclass{book}

\usepackage{etoolbox}

%\usepackage{ifthen}


\newbool{UseRadians}
\setbool{UseRadians}{false}

\newcommand{\EnableUseRadians}{%
\setbool{UseRadians}{true}}%


\newcommand{\DisableUseRadians}{%
\setbool{UseRadians}{false}}%



\EnableUseRadians  % Enable Radians in preamble

\newcommand{\hsc}{
\ifboolexpr{not (bool{UseRadians})}{
$0^{\circ}\leq x\leq 90^{\circ}$
}{

$0\leq x\leq\frac{\pi}{2}$
}% End of use radians
}


\newcommand{\dom}{%

\ifboolexpr{not (bool{UseRadians})}{

$0^{\circ}\leq x\leq 360^{\circ}$
}{
$0\leq x\leq 2\pi$
} % End of use radians
}


\begin{document}


Now using Radians \par
\EnableUseRadians
\hsc
\dom

Now using degrees \par
\DisableUseRadians
\hsc

\dom


\end{document}

人们可能会反对命令内部的条件,导致每次调用命令时都要不断查询变量的状态\UseRadians,但进步在于能够随时切换到相关模式。

在此处输入图片描述

相关内容