制作tex高精度计算表,racket预处理tex

制作tex高精度计算表,使用racket预处理tex

tex自身的计算功能较弱,遂引入racket作预处理。

在tex编制表格后,在当中嵌入racket命令行,形成标记段落,之后可选用perl或其它语言提取标志的段落,此处我仍选用racket来完成。

提取完标记段落,再其中提出需要计算的表达式,并送往racket完成计算。接着再用racket把计算结果填写回源单元格内,格式保持原有格式。一次循环完成一个单元格的提出、计算、回写。

代码如下:

#lang racket
(define in-port (open-input-file "d:\\05.tex"))
 ; (define mzz (read-line in-port))
 
(for ([i 10])
 ;(printf "i=~a\n" i) ;测试点

(define (mzz[i]) (read-line in-port))
   ;(regexp-match #rx"/schb (.*) /sche" mzz)
  ; (define qzz (cdr (regexp-match #rx"/schb (.*) /sche" mzz)))
  ;(eval-string  (car (cdr (regexp-match #rx"/schb (.*) /sche" mzz)))) )
  (define resu (number->string
    (eval-string (car (cdr (regexp-match #rx"/schb (.*) /sche" mzz))))

  (regexp-replace #rx"/schb (.*) /sche" mzz resu)  
  (define cz (regexp-replace #rx"/schb (.*) /sche" mzz resu))
  
  (call-with-output-file  "d:\\som.txt"
    (lambda (out)
  ;(write cz1 out)))
  ;(write cz out)))
  (display cz out))
   )
)  

2020‎年‎6‎月‎2‎日‏‎18:04:31

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值