如何在 LaTeX3 中使用 sin 函数

如何在 LaTeX3 中使用 sin 函数

我正在探索一些 LaTeX3 例程和语法。如何使用以下函数sin等函数。我在以下 sin 函数中遇到错误(请取消注释函数来查看错误):

\documentclass{article}
\usepackage{expl3}

\begin{document}

\ExplSyntaxOn
\newcommand*\sampleCalculation{%
  \fp_new:N  \mynumber
  \fp_set:Nn \mynumber{150}
  \fp_sub:Nn \mynumber{5}
  \fp_add:Nn \mynumber{-1}
  \fp_div:Nn \mynumber{12}
  \fp_mul:Nn \mynumber{0.0001}
  \fp_sub:Nn \mynumber{-38}
  \fp_abs:N  \mynumber
  \fp_neg:N  \mynumber
 %\fp_sin:N  \mynumber
  \fp_use:N  \mynumber 
 }

% aliases 
\let\real\fp_new:N
\let\realset\fp_set:Nn
\let\realadd\fp_add:Nn
\let\realsub\fp_sub:Nn
\let\realdiv\fp_div:Nn
\let\realmul\fp_mul:Nn



\newcommand\sampleCalculations{%
  \real    \Z
  \realset \Z{150}
  \realsub \Z{5}
  \realadd \Z{-1}
  \realdiv \Z{12}
  \realmul \Z{0.0001}
  \Z
}

\ExplSyntaxOff

\sampleCalculation

\sampleCalculations


\end{document}

答案1

LaTeX3 的 FPU 经历了一些重大变化。在 TeX Live 2012 DVD(2012 年 6 月中旬)中包含的版本之前,“旧”FPU 只能以一种方式工作。改进的 FPU 可从开发存储库获得,计划于 2012 年 6 月底发布到 CTAN,可扩展且具有多项改进。

更新的(可扩展)FPU 答案

大多数赋值应该使用\fp_set:Nn或 来完成\fp_gset:Nn。这些宏的第二个参数接受任意浮点表达式。

\fp_set:Nn \l_my_fp { sin ( 7.415e-1 + 2.4 ) }

原始(不可扩展)FPU 答案

目前,\fp_sin:Nn需要两个参数,存储结果的变量和角度(以弧度为单位):

\fp_sin:Nn \l_my_fp { 3.1415 }

fp 操作的最佳语法非常欢迎反馈。目前的想法是,使用单独的输入和输出参数来计算正弦比假设的更有意义

\fp_set:Nn \l_my_fp { 3.1415 }
\fp_sin:N \l_my_fp

这并不是一成不变的:fp 模块比其他模块更新得多expl3,因此需要好好解决。这个语法问题就是这样一个领域。另一个是使用度数还是弧度。内部计算以弧度为单位,所以也许 \fp_rad_to_deg:N可能\fp_deg_to_rad:N是一种有用的折衷方法。

我还要指出的是,目前没有弧函数:正弦和余弦函数有其他用途,所以我完成了这些。当有需求时,我会做弧函数。

相关内容