MATH76108/24/2018
TeXmacs is an editor especially well suited for scientific work:
Even more so than Emacs, TeXmacs can be extensively customized. Much of the editor is written in Scheme (a LISP descendent). Several customizations of TeXmacs have been carried out in SciComp@UNC.
Mathematical text is easily written, in legible form, e.g. from the IBVP
(1) |
semidiscretization at nodes ,
The text can be exported to LaTeX, HTML, PDF formats.
Computations can be interspersed, such that one obtains a “living” document that contains the code used to produce results.
The public-domain Linux environment encourages compatibility among conforming applications, such that they can work together to solve complex tasks. This approach is in marked contrast to closed-form commercial operating systems (Windows, macOS) and applications. Even commercial programs (e.g., Mathematica) that conform to standard Linux practices can work in concert with other applications.
Within SciComp@UNC, TeXmacs has been configured to embed sessions of other applications:
A general purpose vector graphics language
Asymptote]
size(5cm);
for (int n = 3; n <= 7; ++n) {
draw(shift(2.2*n, 0) *
polygon(n));}
Asymptote]
![]() |
An environment for generation of geometrical figures
Eukleides]
box -1, -1, 7, 3
A B C isosceles
H = projection(C, line(A, B))
draw
(A.B.C)
C.H dashed
H
end
label
A 180:
B 0:
C 90:
B, H, C right
B, A, C double
C, B, A double
A.H
B.H
A.C double
C.B double
end
Eukleides]
GNUplot]
plot sin(cos(x))+cos(sin(x))
GNUplot]
;; Loading file /opt/TeXmacs/plugins/lisp/clisp/clisp-init.lisp … ;; Loading file lisp/tmlib.lisp … ;; Loaded file lisp/tmlib.lisp
CLisp>
(car '(a b c))
CLisp>
(cdr '(a b c))
CLisp>
In[1]:=
N[Pi,1000]
In[2]:=
100!
In[4]:=
D[Sin[Cos[x]]+Cos[Sin[x]],{x,10}]
In[5]:=
1 == 2
In[6]:=
1 == 1
In[7]:=
Eq = x==1
In[8]:=
Eq /. x->1
In[9]:=
ODE = y'[x] + x y[x] == Sin[x]
In[14]:=
sol = DSolve[ODE,y[x],x]
In[17]:=
z[x_] = y[x] /. sol[[1,1]]
In[15]:=
sol[[1,1]]
In[18]:=
z[1.]
In[19]:=
(%i1)
diff(sin(x),x);
(%i2)
octave>
A=rand(3)
octave>
inv(A)
octave>
from pylab import *
Python]
x=arange(0.,3.15,0.01); y=sin(x); plot(x,y);
Python]
show()
Python]
Python]
pwd
Shell]
ls
Shell]
courses Downloads fontconfig perl5 TeXmacs
Shell]