asy -V test其中-V参数会自动打开一个PostScript浏览窗口,这样可以立即浏览生成的图形。
- 简单直线图形
- 曲线图形
- graph module
其实……我就是传说中的马哥
asy -V test其中-V参数会自动打开一个PostScript浏览窗口,这样可以立即浏览生成的图形。
fontforge -script subfonts.pe uming.ttf song Unicode.sfd这个命令执行的时间比较长。执行完之后,还在该目录执行下面命令生成map文件:
for i in *.tfm
do
cat >> song.map << EOF
${i%.tfm} ${i%.tfm} < ${i%.tfm}.pfb
EOF
done按照Edward Lee的方法,还需要生成fd文件。但是我们给字体起的名字song和CJK自带的c70song.fd文件冲突了,如果用Edward Lee的方法反倒会出问题。我们有个更简单的解决办法,直接把c70song.fd修改一下。CJK自带的c70song.fd文件在$HOME/texmf/tex/latex/CJK/texinput/UTF8/目录下,内容如下:% This is the file c70song.fd of the CJK package % for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e % % created by Werner Lemberg我们只要把其中的cyberb改作song就可以了。% % Version 4.7.0 (17-Oct-2006) \def\fileversion{4.7.0} \def\filedate{2006/10/17} \ProvidesFile{c70song.fd}[\filedate\space\fileversion] % character set: Unicode U+0080 - U+FFFD % font encoding: Unicode \DeclareFontFamily{C70}{song}{\hyphenchar \font\m@ne} \DeclareFontShape{C70}{song}{m}{n}{<-> CJK * cyberb}{} \DeclareFontShape{C70}{song}{bx}{n}{<-> CJKb * cyberb}{\CJKbold} \endinput
$HOME/texmf/fonts/map/dvips/CJK/song.map $HOME/texmf/fonts/tfm/CJK/song/*.tfm $HOME/texmf/fonts/type1/CJK/song/*.pfb如果目录不存在,自己建立一下。
texhash
updmap --enable Map song.map
\documentclass{article}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK}{UTF8}{song}
\LaTeX CJK 测试。
\end{CJK}
\end{document}
(%i1) a:2-3*%i$ (%i2) b:5+4*%i$ (%i3) a+b; (%o3) %i + 7 (%i4) a*b; (%o4) (2 - 3 %i) (4 %i + 5)上面%i1和%i2结尾用$而不是分号;表示不输出结果。 实部和虚部:
(%i5) expand(%); (%o5) 22 - 7 %i (%i6) realpart(%); (%o6) 22 (%i7) imagpart(%o5); (%o7) - 7绝对值和幅角:
(%i8) abs(%o5);
(%o8) sqrt(533)
(%i9) carg(%o5);
7
(%o9) - atan(--)
22
复数形式和直角形式:(%i10) polarform(%o5);
- %i atan(7/22)
(%o10) sqrt(533) %e
(%i11) rectform(%);
7 7
(%o11) sqrt(533) cos(atan(--)) - sqrt(533) %i sin(atan(--))
22 22
(%i12) %,numer;
(%o12) 22.0 - 7.0 %i
find_root(f(x), x, a, b);
mkisofs -dvd-video -o dvd.iso /media/dvd刻录DVD:
growisofs -dvd-compat -Z /dev/hdc=dvd.iso
gnuplot> set view map gnuplot> unset surface gnuplot> set style data pm3d gnuplot> set style function pm3d gnuplot> set pm3d at b gnuplot> set palette gray gnuplot> set size square gnuplot> splot "gaussian_profile"生成的图像:
ffmpeg -i video.flv -ab 128 -ar 44100 -b 200 -s 320x240 video.mpg上面命令中,-b表示视频比特率,-ab表示音频比特率,-ar表示音频取样率,-s表示视频画面大小(宽x高)。
z3=1/3[z1,z2]过z1和z2两点的直线上任意一点可以表示为:
whatever[z1,z2]点z1也可以用分量表示:(x1,y1)。下面是寻找两直线交点的例子:
| MetaPost代码 | 生成的图像 |
|---|---|
beginfig(7); z1=(-1.5cm,0); z2=(-3.2cm,-2cm); z3=(2cm,0); z4=(3cm,-2cm); z5=whatever[z1,z2]=whatever[z3,z4]; draw z2--z1--z5; draw z4--z3--z5; pickup pencircle scaled 4pt; draw z1; draw z2; draw z3; draw z4; draw z5; endfig; | ![]() |
beginfig(8);
a=.8in; b=.6in;
z0=(0,0);
z1=-z3=(a,0);
z2=-z4=(0,b);
draw z1..z2..z3..z4..cycle;
draw z1--z0--z2;
label.top("a", .5[z0,z1]);
label.lft("b", .5[z0,z2]);
dotlabel.bot("(0,0)", z0);
endfig; | ![]() |
beginfig(9);
numeric u;
u=1cm;
draw (0,2u)--(0,0)--(4u,0);
pickup pencircle scaled 1pt;
draw (0,0){up}
for i=1 upto 8: ..(i/2,sqrt(i/2))*u endfor;
label.lrt(btex $\sqrt x$ etex, (3,sqrt 3)*u);
label.bot(btex $x$ etex, (2u,0));
label.lft(btex $y$ etex, (0,u));
endfig; | ![]() |
set terminal mp set output "filename.mp"输出为MetaPost文件。
| MetaPost代码 | 生成的图像 |
|---|---|
beginfig(1); z0=(0,0); z1=(3cm,2cm); z2=(2cm,4.5cm); z3=(0.5cm,3.5cm); z4=(1.5cm,2.5cm); draw z0--z1--z2--z3--z4; endfig; | ![]() |
beginfig(2); u=1cm; z0=(0,0); z1=(3u,2u); z2=(2u,4.5u); z3=(0.5u,3.5u); z4=(1.5u,2.5u); draw z0..z1..z2..z3..z4; endfig; | ![]() |
beginfig(3); z0=(0,0); z1=(3cm,2cm); z2=(2cm,4.5cm); z3=(0.5cm,3.5cm); z4=(1.5cm,2.5cm); draw z0..z1..z2..z3--z4--cycle; endfig; | ![]() |
beginfig(4);
draw (
for i=0 upto 7:
80dir (135i)--
endfor
cycle);
endfig; | ![]() |
beginfig(5);
for a=0 upto 7:
draw (0,0){dir 45}..{dir 10a}(6cm,0);
endfor
endfig; | ![]() |
beginfig(6); u=1cm; draw (-u,0)--(u,0); draw (0,-u)--(0,u); pickup pencircle scaled 3; draw (-u,u)--(u,u)--(u,-u)--(-u,-u)--cycle; endfig; | ![]() |
pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf
pdftk A=one.pdf B=two.pdf cat A1-7 B1-5 A8 output combined.pdf
pdftk mydoc.pdf output mydoc.128.pdf owner_pw foo user_pw baz
pdftk mydoc.pdf output mydoc.128.pdf owner_pw foo user_pw baz allow printing
pdftk secured.pdf input_pw foopass output unsecured.pdf
(%i1) sin(2*x)/cos(x)+cos(2*x);
sin(2 x)
(%o1) -------- + cos(2 x)
cos(x)
(%i2) trigexpand(%o1);
2 2
(%o2) - sin (x) + 2 sin(x) + cos (x)
(%i3) trigreduce(%o1);
(%o3) sec(x) sin(2 x) + cos(2 x)
(%i4) trigsimp(%o1);
sin(2 x) + cos(x) cos(2 x)
(%o4) --------------------------
cos(x)
(%i5) trigrat(%);
(%o5) cos(2 x) + 2 sin(x)
(%i1) f: sqrt(x-1)*exp(2*x^2);
2
2 x
(%o1) sqrt(x - 1) %e
(%i2) diff(f, x);
2
2 2 x
2 x %e
(%o2) 4 sqrt(x - 1) x %e + -------------
2 sqrt(x - 1)
(%i3) diff(sin(x)*exp(x^2), x, 2);
2 2 2
2 x x x
(%o3) 4 x %e sin(x) + %e sin(x) + 4 x %e cos(x)
不定积分:(%i4) integrate(%o2, x);
2 log(x - 1)
2 x - ----------
2
(%o4) (x - 1) %e
定积分:
从这个例子可以看出,maxima是一个很聪明的代数系统,它不会像其他数学程序那样想当然的默认一个结果,而是主动问你必要的条件,然后给出正确的结果。(%i5) integrate(exp(-a*x^2), x, 0, inf);
Is a positive, negative, or zero?
positive;
sqrt(%pi)
(%o5) ---------
2 sqrt(a)
泰勒展开:
这个例子给出函数g的前三阶泰勒展开。(%i6) g: sin(2*x)*exp(a*x);
a x
(%o6) %e sin(2 x)
(%i7) taylor (g, x, 0, 4);
2 3 3 4
2 (3 a - 4) x (a - 4 a) x
(%o7)/T/ 2 x + 2 a x + ------------- + ------------- + . . .
3 3
maxima进入maxima环境后,会看到开始处有(%i1),这是行标。%i表示输入行,%o表示输出行,后面的数字表示第几个输入或输出。 退出:
quit();可以看出,maxima语法和C语言类似,语句结束需要加分号。maxima里面是要区分大小写的。
(%i1) 2/5+3/4;
23
(%o1) --
20
如果要输出小数,可以用numer命令:(%i2) %,numer; (%o2) 1.15百分号%代表最后一次输出的结果。另外,可以用bfloat输出任意精确度的小数,有效数字位数由变量fpprec控制,默认是16位。
(%i3) fpprec:100; (%o3) 100 (%i4) bfloat(%pi); (%o4) 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117068b0(%i3)中的冒号表示赋值。
(%i5) (x^2+2*x*y+3*y^2)^3;
2 2 3
(%o5) (3 y + 2 x y + x )
(%i6) expand(%);
6 5 2 4 3 3 4 2 5 6
(%o6) 27 y + 54 x y + 63 x y + 44 x y + 21 x y + 6 x y + x
等量代换:(%i7) %o6, x=2/z;
5 4 3 2
108 y 252 y 352 y 336 y 192 y 64 6
(%o7) ------ + ------ + ------ + ------ + ----- + -- + 27 y
z 2 3 4 5 6
z z z z z
提取公分母:(%i8) ratsimp(%);
6 6 5 5 4 4 3 3 2 2
27 y z + 108 y z + 252 y z + 352 y z + 336 y z + 192 y z + 64
(%o8) -----------------------------------------------------------------------
6
z
因式分解:(%i9) factor(%);
2 2 3
(3 y z + 4 y z + 4)
(%o9) ----------------------
6
z
解非线性方程组:(%i10) a+b+2*c=0;
(%o10) 2 c + b + a = 0
(%i11) 2*a-b=1;
(%o11) 2 a - b = 1
(%i12) a-2*b*c=5;
(%o12) a - 2 b c = 5
(%i13) solve([%o10,%o11,%o12],[a,b,c]);
sqrt(7) + 1 2 sqrt(7) - 1 sqrt(7) - 14
(%o13) [[a = -----------, b = -------------, c = -------------],
3 3 4 sqrt(7) - 2
sqrt(7) - 1 2 sqrt(7) + 1 sqrt(7) + 14
[a = - -----------, b = - -------------, c = -------------]]
3 3 4 sqrt(7) + 2
生日礼物耶!我不太舍得买,但是很仰慕这把琴(或者说比较仰慕Franz Chmel),经常念叨,结果老婆就作为生日礼物送给我,很惊喜啊。现在把玩了有一段时间了,谈谈感受吧。#!/bin/bash export LANG="zh_CN.UTF-8" export GDM_LANG="zh_CN.UTF-8" export QT_IM_MODULE=scim export XMODIFIERS=@im=SCIM export GTK_IM_MODULE=scim firefox &
% Sample of printing text /Times-Roman findfont % Get the basic font 20 scalefont % Scale the font to 20 points setfont % Make it the current font newpath % Start a new path 72 72 moveto % Lower left corner of text at (72, 72) (Hello, world!) show % Typeset "Hello, world!" showpage参考链接: First Guide to PostScript