极简latex公式代码?
对于我自己来说,写latex的时候一直都有些强迫症,我希望用最短的代码实现同样的功能。当然这里的最短仅仅是指“去冗余”,而不是做变换。
比如$2^n$,标准代码可能是2^{n},但我会写成2^n。如果想要开发一个程序,希望能输入一个公式,得到其最简表达式,估计要怎么实现?
(可以去掉的东西,一般是不必要的花括号,以及不必要的空格。)
纯粹头脑风暴了~ $2^n$Latex也能识别,如果是$2^(n^2+3n+7)$不用{}就识别不了了。最不方便的是除法,要写成\frac{}{}的形式,没有直接()/()方便,我是希望所见即所得,代码里不要出现公式里没有出现的东西,比如\frac这几个字符比\复杂多了。 lsr314 发表于 2019-1-18 13:29
$2^n$Latex也能识别,如果是$2^(n^2+3n+7)$不用{}就识别不了了。最不方便的是除法,要写成\frac{}{}的形式 ...
很简单,在mathematica里面输入分子,然后按ctrl+/,然后输入分母,然后复制成LaTeX代码,我都用mathematica软件搞到LaTeX代码,我没兴趣慢慢整LaTeX代码 只有一些特殊情况可以简化。比如
`\frac xn`,$n^2/33$,`\overset{ab}x` 不知道是不是我没说清楚。我的意思不是怎么设计更好的latex,我的意思就是在目前的latex语法前提下去冗余。
这可以看成是一道编程题。
我知道2^{n}可以去掉而2^{2n}不行,就好比a b可以去掉空格变成ab,但是\theta a就不能去掉空格。
如果是直接从维基百科或者mathematica、mathtype转换过来的latex,还多数是{{ \frac {3} {2} }},有大量没意义的花括号和空格,这时候看起来很烦,编辑起来也很烦。
所以就想着如何设计这样的一个工具,能得到极简的latex表达式(而不是要重新设计一门数学公式语言啊)。
再强调一次,极简只是基于去冗余,而不是基于转写,转写那就更复杂了。
还有,latex语法我写了快10年了(十年前博客就用latex写公式),所以给我一个latex公式我也知道它哪些能化简哪些不能,所以重点不是给我举例哪些能化简,而是请大家想一下,真要设计这样的工具,可以怎么着手。
(比如就针对多余的空格和多余的花括号)
页:
[1]