有使用LaTeX语法的计算器吗?

有使用LaTeX语法的计算器吗?,latex,math,calculator,Latex,Math,Calculator,当我用LaTeX编写数学时,我经常需要对LaTeX源代码中的数字执行简单的算术,比如515.1544+454=? 我通常将LaTeX代码复制粘贴到Google中以获得结果,但我仍然需要手动更改语法,例如 \frac{154,7}{25}-(289-\frac{1337}{42}) 必须改为 154,7/25-(289-1337/42) 对于最常用的操作,编写一个程序来实现这一点似乎很简单。 有理解这种语法的计算器吗 编辑: 我知道完美地做到这一点是不可能的(因为停顿问题)。为我需要的简单案例做这

当我用LaTeX编写数学时,我经常需要对LaTeX源代码中的数字执行简单的算术,比如
515.1544+454=?

我通常将LaTeX代码复制粘贴到Google中以获得结果,但我仍然需要手动更改语法,例如

\frac{154,7}{25}-(289-\frac{1337}{42})

必须改为

154,7/25-(289-1337/42)

对于最常用的操作,编写一个程序来实现这一点似乎很简单。 有理解这种语法的计算器吗

编辑:
我知道完美地做到这一点是不可能的(因为停顿问题)。为我需要的简单案例做这件事是微不足道的\frac、\cdot、\sqrt和其他一些标签就可以做到这一点。程序可能只是在不理解的情况下返回一个错误。

IIRC Mathematica可以做到。

考虑到LaTeX本身是一种图灵完整标记语言,我强烈怀疑您是否可以构建这样的东西,而不是直接构建到LaTeX中。此外,matkup本身几乎没有语义意义,它只描述视觉外观

这就是说,您可能可以拼凑一些东西,识别LaTeX数学标记的不可编程子集,并以相同的方式输出结果。如果你只对分数和整数的简单算术感兴趣(但要小心小数,因为它们在德语文本中可能显示为
3{,}141…
),这应该不会太难。但一旦你从积分、矩阵等开始,我担心LaTeX缺乏准确描述你意图的表达能力。毕竟,这是一个文件准备系统,因此不太适合作为计算机代数系统的输入

旁注:您可以切换到Word,它的当前版本中有一种数学标记语言,它非常类似于LaTeX(现在它甚至支持LaTeX标记),但对于更简单的术语,它仍然是Google友好的:

使用免费的Microsoft Math加载项,您甚至可以让Word计算表达式:


没有,因为这通常是不可能的

LaTeX数学模式标记是表示性标记,在某些情况下,它不能提供足够的信息来计算表达式

这就是创建MathML内容标记的原因之一,也是MathML在Mathematica中使用的原因之一。MathML实际上是一种两种语言合一的语言:

  • 表示标记
  • 内容标记
为了完成您的任务,您必须使用MathML以及comibned表示和内容标记(请参阅)

在我看来,最好的办法是使用MathML(即使它很冗长),并在必要时转换为LaTeX。也就是说,我最喜欢LaTeX语法,也许我们需要的是MathML的简洁语法(精神上与类似)。

允许您在源代码中进行一些计算,但只能在
\setcounter
\addtolength
等命令中进行计算。据我所知,这不是你想要的

如果你已经使用了,那么这个软件包是非常棒的(如果没有,那就太过分了)。它允许您从如下输入中获得格式良好的输出:

The square of
$\begin{pmatrix}
1 & 2 \\
3 & 4
\end{pmatrix}$
is \sage{matrix([[1, 2], [3,4]])^2}.

The prime factorization of the current page number is \sage{factor(\thepage)}
$\frac{154,7}{25} - (289 - \frac{1337}{42})$

$\frac{-37651}{150}$`

对于使用LaTeX的计算,可以使用CalcTeX包。 这个软件包理解LaTeX语言的元素,并进行计算,例如,您的问题是可以解决的 还是请你写下来

\诺登 计算时,请使用以下环境 $515.1544 + 454$ 或 \[\frac{154.7}{25}-(289-\frac{1337}{42.}) \] 或 \开始{等式} 154.7/25-(289-1337/42.) \结束{方程}
有关更多信息,请访问项目网站或联系此项目的作者。

您可以在一个文件上运行一个名为swave的R函数,该文件可以用TeX格式的结果替换R表达式


可以在这里找到一个教程:

LaTeXCalc项目就是为了做到这一点而设计的。它将读取一个TeX文件并进行计算。欲了解更多信息,请访问主页

,这里有一种方法可以做你想做的事,但不完全是你所描述的

您可以使用fp包(\usepackage[options]{fp}),浮点包可以做任何您想做的事情;解方程,加除法等等。不幸的是,它不会阅读LaTeX数学,相反,你必须做一些不同的事情,文档非常差,所以我在这里举个例子

例如,如果要执行(2x3)/5,请键入:

\FPmul\p{2}{3}           % \p is the assignment of the operation 2x3
\FPupn\p{\p{} 7 round}   % upn evaluates the assignment \p and rounds to 7dp
\FPdiv\q{\p}{5}          % divides the assigned value p by 5 names result q
\FPupn\q{\q{} 4 round}   % rounds the result to 4 decimal places and evaluates
$\frac{2\times3}{5}=\FPprint\q$  % This will print the result of the calculations in the math.

FP命令始终可见,只有FPprint打印与之相关联的结果,这样您的文档就不会凌乱,只要FP命令位于相关FPprint之前,FP命令就可以放置在您希望的任何位置(而不是动词)。

要在LaTeX本身中执行数学运算,您还可以查看pgfmath包,它比calc软件包更强大、更方便。您可以从TikZ和PGF软件包手册的第六部分中找到如何使用它,您可以在这里找到(当前版本为2.10):

WolframAlpha可以以TeX格式输入


我的计算器可以做到这一点。要获得格式化的输出,请双击结果公式并按ctrl+c复制它

它也可以做相当高级的事情(微分、简单积分(而不是那些简单的积分)

示例计算:


Emacs计算模式接受latex输入。我每天都用。按“d”,然后按“L”进入输入模式。按“'”打开一个提示,您可以在其中粘贴文本


任何说这不可能的人都是错的。

正如安迪所说,答案是是的有一个计算器可以理解大多数乳胶配方:Emacs

请尝试以下步骤(假设为香草emacs):

  • 开放式emacs
  • 打开.tex文件(或激活latex模式)
  • 将点定位在两个$$之间的某个位置,例如,在开始/结束环境内
    $\frac{154,7}{25} - (289 - \frac{1337}{42})$
    
    $\frac{-37651}{150}$
    
    $-251.006666667$