TeXmacs可以作很多种数学软件的前端,比如maxima,octave,R等。甚至还可以作mathematica的前端。TeXmacs的mathematica 插件比较老,默认条件下无法运行mathematica 10。以下假设TeXmacs与mathematica已正确安装在64位linux下的/usr/local目录中,需对以下文件作修改(修改部分见注释):

1. /usr/local/libexec/TeXmacs/bin/tm_mathematica

#!/bin/sh

error() {
#echo -e "\002latex:\\red $1\005"
echo -e "$1"
exit
} #########################
####添加以下两行##########
########################
export MATHLINK_PLATFORM=Linux-x86-
export LD_LIBRARY_PATH=/usr/local/Wolfram/Mathematica/10.0/SystemFiles/Links/MathLink/DeveloperKit/Linux-x86-/CompilerAdditions:$LD_LIBRARY_PATH if [ ! -x "$TEXMACS_HOME_PATH/bin/tm_mathematica.bin" ]
then
MATH0=`which math`
if [ $? -ne ]
then error "Mathematica seems not to be installed"
fi
MATH1=`realpath "$MATH0"`
if [ $? -ne ]
then
MATH1=`realpath.py "$MATH0"`
if [ $? -ne ]
then error "realpath seems not to be installed"
fi
fi
#########################
####修改以下一行##########
########################
MATH2=`echo "$MATH1" | sed -e 's=Executables/math$=SystemFiles/Links/MathLink/DeveloperKit='`
PLATFORM=`(cd "$MATH2"; echo *)`
NUM_PLATFORMS=`echo "$PLATFORM" | wc -w`
if [ "$NUM_PLATFORMS" -eq ]
then MATH3="$MATH2/$PLATFORM"
#......................以下省略......................

2. /usr/local/share/TeXmacs/plugins/mathematica/Makefile.lazy

###################
#####修改以下两行##
###################
$(TEXMACS_HOME_PATH)/bin/tm_mathematica.bin: src.lazy/tm_mathematica.c
gcc -o $(TEXMACS_HOME_PATH)/bin/tm_mathematica.bin src.lazy/tm_mathematica.c -I $(MATHLINK_PATH) -L $(MATHLINK_PATH) -lML64i3 -lm -lpthread -lrt -luuid

(注:如有必要需安装uuid。ubuntu 下用命令 apt-get install uuid-dev)

3. 如果要在TeXmacs 中用mathematica 作图的话,每次启动mathematica插件时,先运行命令:
Get["Version5/Graphics.m"]

效果图如下:

linux 下 TeXmacs 作 Mathematica 10 的前端的更多相关文章

  1. linux 下 TeXmacs 作 Maple 18 的前端

    TeXmacs的maple 插件比较老,默认条件下无法运行maple 18.且默认情况下maple18不在系统的搜索目录中,导致TeXmacs中不显示 maple 的session.以下假设TeXma ...

  2. 扔掉360:Linux下无线网卡作WiFi路由器(转薄荷开源网)

    这个话题很多人感兴趣,毕竟现在是无线互联时代.手机一族到外面去,首先关心的就是有没有 WiFi.Windows 7 用户可以安装 360 的软件,把笔记本电脑配置成路由器,供手机或其他电脑上网. 在 ...

  3. Linux下最常用的10个文件压缩工具

    作者简介 李先生(Lemon),高级运维工程师(自称),SRE专家(目标),梦想在35岁买一辆保时捷.喜欢钻研底层技术,认为底层基础才是王道.一切新技术都离不开操作系统(CPU.内存.磁盘).网络等. ...

  4. Linux下安装redis-4.0.10

    1.下载redis-4.0.10 在redis官网(https://redis.io/download)下载redis-4.0.10 2.将安装包上传至Linux服务器 在Linux服务器根目录下创建 ...

  5. 2017-7-18-每日博客-关于Linux下的鲜为人知的10条命令.doc

    这篇文章的目的是介绍一些少有人知的Linux命令,它们一定会高效地帮你管理你的桌面/服务器. 1. sudo !!命令 没有特定输入sudo命令而运行,将给出没有权限的错误.那么,你不需要重写整个命令 ...

  6. linux下编译安装MariaDB 10.4.7,解决错误:cannot access ‘/auth_pam_tool_dir’: No such file or directory

    编译安装MariaDB 10.4.7,前面的步骤我就不复述了,一切正常没什么问题. 当执行到:scripts/mysql_install_db --basedir=/usr/local/mysql - ...

  7. Linux下汇编语言学习笔记10 ---

    这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...

  8. linux下的tcp连接超时

    最近需要写一个linux下的通信程序, 通信模块用的是Qt的QTcpSocket. 最后程序需要增加一个断网检测, 在windows下调试没问题, 拔网线, 断网口都能马上检测到, 但到了部署到lin ...

  9. 在GNU/Linux下制作Windows 10安装U盘

    今年春节回家期间,我需要将家里的一台安装了Debian Stretch的ZaReason笔记本电脑更换为Windows 10系统,好让爸妈从老台式机上的XP系统升级到新的平台上来.回家前,小仙女已在微 ...

随机推荐

  1. REPEATABLE-READ下批量更新数据的问题

    1. 当前mysql的隔离级别 REPEATABLE-READ 2. 用户读取的时候或者更改的时候(通过事务)   会对 更改的数据加行锁 和 gap锁 , 最终更改完毕后 去掉锁. (行锁表示这条数 ...

  2. 真机测试-Please enter a different string错误解决

    错误原因是这个bundle ID已经被占用了,这是想到的是要重置测试证书,那么则需要去修改Bundle identifier,因为测试证书是以Bundle identifier为基准的,修改后运行,重 ...

  3. Comparable和Comparator实现对象比较

    由文生义: 继承Comparable ,表示该类的实例是可以相互比较的; 继承Comparator,表示该类是一个比较器,里面设置了按什么属性比较,list需要按这个比较器里的规则来比较; 使用方法如 ...

  4. HTML meta 头部的一些内容

    <meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable= ...

  5. 解决错误: Failed to load class "org.slf4j.impl.StaticLoggerBinder"

    当报这个错时,就很难看到我们自己输出的日志,系统运行情况后台无法得到输出.解决方案是加入以下依赖: <dependency> <groupId>org.slf4j</gr ...

  6. oracle 导库建立测试库

    由于客户要定制的关系,需要对产品的数据进行相关的修改,所以需要复制原来的库出来,然后在此基础上再进行修改.步骤如下: 在PL/SQL下操作: /*分为四步 *//*第1步:创建临时表空间  */cre ...

  7. javascript基础部分

    javascript基础部分 1  数据类型: 基础数据类型(通过typeof来检测):Number,string,undefined,null,boolean,function typeof只能检测 ...

  8. R语言-实用数据对象处理函数

    length(object) 显示对象中元素/成分的数量 dim(object) 显示某个对象的维度 str(object) 显示某个对象的结构 class(object) 显示某个对象的类或类型 m ...

  9. 拥抱高效、拥抱 Bugtags 之来自用户的声音(三)

    小编按:这是一篇 Bugtags 用户来稿,主要是介绍了使用 Bugtags 前后对测试及解决 Bug 所带来的变化,感谢山西农业大学 - 高正炎同学对 Bugtags 的信赖和支持.小编在这里诚邀各 ...

  10. Python mysql 操作小类,供大家用用

    import binascii import os import linecache import time #add pyDes path #sys.path.append("/data1 ...