《Mathematica的科技文档处理功能》第1章 Notebook的文字处理功能重新审定稿14节.docx
《《Mathematica的科技文档处理功能》第1章 Notebook的文字处理功能重新审定稿14节.docx》由会员分享,可在线阅读,更多相关《《Mathematica的科技文档处理功能》第1章 Notebook的文字处理功能重新审定稿14节.docx(64页珍藏版)》请在冰豆网上搜索。
《Mathematica的科技文档处理功能》第1章Notebook的文字处理功能重新审定稿14节
序言
Mathematica是一个世界知名的主流数学软件。
Wolfram公司的调查显示,它的用户主要分布在工程、物理学、数学、计算机科学、医药化学、航空航天等领域.。
许多人都知道,它不仅能做高精度的数值计算,还有独树一帜的符号计算功能(在四大主流数学软件中,其余三家的符号计算功能都源出于Maple一家)。
能为各种数学表达式绘制数学图形,还有独特的帧帧动画基本功能。
是一个完美的科技工作平台。
但是,许多人也许还不了解,Mathematica的Notebook界面同时还是一个十分完善的科技文献写作环境。
它能方便地写出传统的2D数学表达式,具有足够的文本编辑排版功能,可以生成“多媒并茂”的科技文档(把文本、公式、图形、动画、声音集于一身)。
特别可爱的是,它能十分流畅的几乎是完美无缺的处理简体中文和繁体中文,无需经过“汉化”。
它甚至可以进行任何一种语言的文字处理,只要配上相应的录入手段。
Mathematica的Notebook还能把它所生成的文档转换格式,输送到其它软件环境中去使用。
仅就文字处理功能而言,它并不逊色于大名鼎鼎的Mord。
如果再注意到它主营业务的那些看家本事(数值计算、符号计算、绘制图形、制播动画),你该想象得出来,它可以生成多么美妙的科技文献。
你肯定知道,这样的科技文献会有多么大的使用范围:
讲课使用的演示课件;学术报告的讲演稿;展览会上的展播解说;呈交上司的项目总结;合作者之间交流学术见解的通信文书,……。
对于科技人员来说,与一般的通用文字处理软件相比,它的优点真是太多了。
由此有人给他送了一个外号:
“Math-Word”或“Sciense-Word”!
如果你对Mathematica已不陌生,用它做过计算或绘图,现在你可以通过本书掌握它的科技文档处理功能;如果你还没有熟悉它的计算绘图功能,也可以先读这本书掌握它的文字处理功能,这也并不妨碍你回头再去熟悉它的计算绘图功能。
本书内容是,作者多年跟踪使用Mathematica的心得总结,内容独特新鲜。
第1章Notebook的基本文字处理功能
1.概说
1-1.Mathematica的界面
高版本的Mathematica有三种可做人机交互的前端界面。
1-1-1.Notebook界面
Notebook最常用,所以被称为主界面。
它的调用命令是[开始|程序|Mathematica5|Mathematica5]或[C:
\ProgramFiles\WolframResearch\Mathematica\5.0\Mathmatica]。
软件安装之后,此界面在目录中的对应文件名和图标是。
执行此文件所调出的窗口界面如图1-1。
图1-1高版本Mathematica的前端界面(Notebook)
1-1-2.Textbased界面
这种界面的调用是命令:
[开始|程序|Mathematica5|Mathematica5Kernel]或[C:
\ProgramFiles\WolframResearch\Mathematica\5.0\MathKernel]。
在目录中的文件名和图标是:
。
所调出的窗口界面如图1-2。
图1-2Mathematica的Textbased界面
1-1-3.DOS界面
调用命令:
[C:
\ProgramFiles\WolframResearch\Mathematica\5.0\Math]。
在目录中的文件名和图标是:
。
窗口界面如图1-3。
图1-3Mathematica的DOS界面
三种界面之中,NB(即NoteBook)最新,也最便于使用,曾有“科学计算草纸”之美称。
它具有的完善的科技文档处理功能,又被称作“Math-Word”或“Sciense-Word”。
本书主要内容就是介绍这种Notebook界面的科技文档处理功能。
以后,如无特殊说明,一律使用这种NB(Notebook)。
1-2.NoteBook的结构和本质
从属性来说,NoteBook既是一个计算、绘图、编程的工作平台,又是一个完美的文档处理器,能制作出图文式并茂的科技文档,保存起来就是一个文件。
NoteBook将文字处理、数学计算、图形绘制、动画制作多种功能集于一个环境,显然它的任务相当复杂而繁重。
为使软件系统顺利辨识不同的任务,设计者采用的处理策略是使用一种叫做Cells的结构设计。
于是,Notebook就成了若干Cell的集合。
也就是说,NB文档的所有内容都分置于不同的Cell当中,而NB也就没有不属于任何Cell的内容。
在Notebook当中,每个Cell负有不同的使命,可分为性质迥然有别的两大类:
一类,是程序类的Cell,负责接受并执行计算、推演、绘图任务,而且要返回结果;
另一类,是文本类的Cells,负责处理文字(接受录入信息,并作编辑排版然后保存起来)。
文本类的Cell,还可以按着排版格式再加以细分,成为各种各样的文本类Cell。
这就涉及到后面要讲的“Cell的样式”(即CellStyle)。
CellStyle里面,含有两种信息:
:
(1)表明Cell的类属的信息(是属于文本类还是程序类);
(2)本Cell中使用了哪些排版命令。
从直观上说,Notebook就是文档,Cell就是段落。
但从本质上说,Notebook和Cell都是由命令生成的“窗口区域图形”,因而必有其相应的生成命令(语句表达式)。
有关Notebook表达式和Cell表达式的知识,一般的初级使用者可以不必深究。
高中级用户可以在本讲义的第2章中得到一些比较系统的知识。
2.对Cells的几种常用操作
本段所讲各种操作,对于各种各类的Cell大都适用。
在对Cell进行种种组合操作之前,要保证将要被操作的Cell处于“可手工组合”的状态。
保证这一状态的菜单命令是[Cell|CellGrouping|ManualGrouping]。
2-1.认识Cell的记号(标记符,Bracket)
在每个Cell右端,通常都会出现一条竖直的线段,上下两端带着不同形状的小钩。
它就是这个Cell的标记符(Bracket)。
Cell标记符的主要作用是:
1.标记本Cell的范围,2.在标记符上表示出Cell的类别。
在默认状态下,Cell标记符的形状显示为“后半个方括号(Bracket)”。
最常见也是使用最方便的形状是:
文本类Cell是一种统一标记符,上头是双横线;程序类Cell标记符的标准(Standard)形状,是上头有空心的三角形,像是一面小旗。
在非默认状态下,程序类Cell标记符会产生形状变化,但这变化是由相关属性设置产生的,无需人工干预。
图1-4
Cell的标记符Bracket
Cell标记符可显可隐,能由用户手工设置(使用OptionsInspector的[CellOptions|DisplayOptions|False->True/False])。
图1-5
Cell标记符被用户手工设置为不显示
2-2.Cells的选定、复制、剪切、粘贴、移动、删除
在Notebook中,对Cell的这6项操作与Word中对段落的对应操作基本一致。
只是在Word中经常使用的“压拖移动”或“压拖复制”在这里的默认状态下不能使用。
只能用上述6项中的“拷粘”或“剪粘”来做符合替代(也可以让Mathematica具有“压拖移动”功能,但是要改变Mathematica的编辑设置选项,此事在第3章中会有仔细说明)。
应该特殊说说的是,关于Cell的选定操作。
虽然Word当中没有与它直接相对应的操作,但也不是全新的内容,因为它和Windows目录当中的文件选定是十分相似的。
几项具体操作分别是:
选定一个Cell的操作——鼠标单击Cell右端的标记(Backet),标记出现反显即是被选定。
选定一组毗邻Cell的操作——单击选定组中一端Cell的标记,按下Shift键再单击组中另一端的Cell标记,全组Cell就都会成为反显。
选定几个不相邻Cell的操作——选定第一个Cell之后,按下Ctrl健再单击另外的Cell标记,两个Cell就被同时选定。
多次操作就可以选定多个Cell。
2-3.Cells的分割与合并
2-3-1分割
分割,是把一个Cell的内容分割到两个或三个Cell中去的操作。
操作步骤是:
在Cell当中,选定打算分割出去的若干行文本;
使用菜单命令[Cell|DivideCell],或组合键命令Ctrl+Shift+D。
笔者注记:
如果选定的是Cell当中前面或后面的连续数行,Cell被分割成两个Cell;如果选定的是Cell中间的若干行,Cell将被分割成为三个Cell。
2-3-2合并
合并,是把多个毗连Cell中的内容合并到一个Cell中去的操作。
操作步骤是:
选定打算合并的若干毗连Cell;
使用菜单命令[Cell|MergeCell]或组合键命令Ctrl+Shift+M。
2-4.Cells的组合与分解
2-4-1组合
组合是使若干毗连的Cell在保留各自完整属性的条件下联合成一个上级群组(Group)的操作。
组合之后的Cell群组,具有两重的标记符号(Bracket)。
图1-6组合之后的Cell群组,具有两重的标记符
操作步骤是:
选定若干毗连的Cell;
用菜单命令[Cell|CellGrouping=>GroupCells]或组合键命令Ctrl+Shift+G做组合。
可以对若干毗连的Cell群组再次组合,形成更高一级的群组。
2-4-1分解
分解,是组合的反操作。
能使一个由若干Cell联合起来的Cell群组解体,还原成原来的若干个体Cell。
也可对一个多层的Cell群组之某一层使用分解操作。
操作步骤是:
选定准备分解的Cell群组;
使用菜单命令[Cell|CellGrouping=>UngroupCells]或组合键命令Ctrl+Shift+U来实现分解。
如果把前例的Cell群组做两次分解,Cell标记符就会变成单层的。
图1-7做过两次分解之后的Cell群组
2-5.CellGroup的折叠与展开
这是一种专门针对两重或两重以上的Cell群组的操作。
折叠,是把群组着的各个Cell隐藏起来,只保留第一个Cell,象是一个“标题”。
折叠后的Cell群组的标记符号有变形,下端呈现为指向下方的单侧实心箭头形状。
图1-8不同层次折叠之后的Cell群组
展开,是折叠的反操作,是把一个已经折叠起来的Cell群组,复员到折叠前的状态,展露出群组的全部内容。
折叠与展开的操作有两种,一种是只管下一级的单层操作,另一种是展开或折叠以下各级的(直到最底层的)多层操作。
2-5-1只开关下一级群组的命令
使选定的CellGroup改变一次自身的折叠状态____由折叠变成展开,或反过来由展开变成折叠。
这是一种开关命令,执行一次改变一次状态。
下面三种命令方式是等效的:
鼠标命令:
双击CellGroup的Bracket;
组合键令:
将光标置入组中的第一个Cell,使用命令(Ctrl+”'”);
菜单命令:
将光标置入组中第一个Cell,使用命令[Cell|CellGrouping=>OpenorCloseGroup]。
2-5-2展开以下各级的命令
有两种等效的发令方式:
菜单命令:
[Cell|CellGrouping=>OpenAllSubgroups];
组合键命令:
Ctrl+”{”。
2-5-3折叠以下各级的命令
选定一个折叠Cell群组的标记符,然后使用以下两种等效的发令方式之一:
菜单命令[Cell|CellGrouping=>CloseAllSubgroups]或组合键命令Ctrl+”}”。
2-6.Cells的默认生成与复制插入
2-6-1默认生成
先把光标置于Cell之内,然后用命令[Input|StartNewCellBelow]或(Alt+Enter),可在原有Cell的后面自动生成一个相同类型的Cell,并带有相同的格式。
2-6-2复制插入InputCell
使用命令[Input|CopyInputFromAbove]或(Ctrl+L),可以复制上面几何距离最近的InputCell的内容。
具体可分两种情形:
第一种情形,鼠标指针不在任何Cell之内时,将在鼠标指针处生成一个新的InputCell,并复制全部内容。
图1-9复制插入InputCell的第一种情形
第二种情,,鼠标指针在某个Cell之内时,将把最近InputCell的内容作为一个“对象”插入到鼠标指针处。
此时可能出现文本排列变化,需作必要的编辑。
图1-10复制插入InputCell的第二种情形
2-6-3复制插入OutputCell
使用命令[Input|CopyOutputFromAbove]或(Ctrl+Shift+L),可以复制上面几何距离最近的OutputCell的内容。
这时也会和复制插入InputCell相似,出现两种情形。
图1-11复制插入OutputCell的两种情形
2-7.Cells的属性设置
每个Cell都可以设置多种不同的属性,实际上这些属性都是对部分文档具有保护作用的权限设置。
可取设置值是5种属性的某种组合(5种属性的名称见图中的级联菜单第一组):
图1-12Cells属性的设置命令
3.Cell内容的录入编辑技术(文本录入和程序录入)
3-1基本的键盘录入方法(适用于文、程两类Cell)
3-1-1拉丁字母的键入方法(如英文,汉语拼音)
按照各个按键的键面上标注的符号,“击键即上屏”。
因此,得俗称为“敲入”。
3-1-2汉字键入出现乱码的处理办法
安装得当的Mathematica的各个界面都能完全支持汉字。
可以像使用Word那样录入汉字。
但也有时会发现,所安装的Mathematica不能完全支持汉字:
这时汉字变成了不可认读的“方块伪汉字”!
此时可以采用如下的解决办法(原理见第4章):
调出一个集成在Mathematica之下的OptionInspector。
调出方法有二:
.[Edit|Preference]或[Format|OptionInspector](两个菜单命令作用相同)。
在OptionInspector的全局层次(Global)中,单击[FormattingOption|FontOptions|GhracterEncoding]这一行右端的方钮,引出一个级联菜单。
在其中选中"CP936"设置项,也就是把字符编码GhracterEncoding设置为"CP936"。
若想使用繁体汉字,就选设为“CP950”。
从所调出的OptionInspector窗口来看,它的标题栏及其两端的图标和命令钮,具有应用程序窗口的特征,不是结构简单的对话框窗口。
因此可以认为OptionInspector是一个集成在Mathematica之中的相对独立的软件。
图1-13在全局层次(Global)中寻找设置项GhracterEncoding
图1-14把GhracterEncoding设置值改为"CP936"
然后单击右上角的应用钮(Apply),Notebook当中即可正常显示简体汉字。
3-1-3一维数学表达式的普通键入方法
这里所用的方法与其它高级语言相似。
大体可以分成几种情形。
1.算术运算,依靠敲键盘
图1-15
算数运算,依靠敲键盘
2.乘方和开方,可依靠幂指数
图1-16乘方和开方,可依靠幂指数
3.初等超越运算,依靠函数名(求幂运算例外)
图1-17初等超越运算,主要依靠函数名
3-1-4希腊字母的键入方法
希腊字符也可像一维数学表达式一样,既可以进入文本类Cell,也可进入InputCell。
常用的录入希腊字母方法有两种:
1对应拉丁字母前后加ESC键
例如,把光标置入某个Cell中的插入位置,然后接连敲击键盘上的以下三个键子:
Esc键-字符键p-Esc键,就能立即显现出相应的希腊字母π(Pi)。
若将中间的字符键换成b或g,得到的就是β(Beta)或γ(Gamma)。
2捺杠方括号中写全名:
把光标置入某个Cell中的插入位置,然后在键盘上接连敲击:
\[Pi],\[Beta],\[Epsilon],\[Delta],就能得到对应的希腊字母。
若想知道某个希腊字母英文全名:
可以查看输入平台的BasicInput。
图1-18希腊字母的两种录入方法
3-1-5程序函数的键盘录入
要注意几点:
1.事先要确认,输入的Cell应当是InputCell(插入指示点确实在其中);
2.键盘录入中,切记注意区分字母的大小写;软件固有的函数名首字母必须大写;
3.为了准确和有把握,最好退掉汉语输入法;
4.在InputCell当中,可以写入若干说明文字,但是为了不影响程序命令的执行,说明文字要使用特殊符号做好标记,标记的格式是,(*……*)。
标记中,两端的4个字符必须是英文字符,中间省略号位置的文本,拉丁字母、希腊字母和汉字都可以。
5.检验录入内容是否准确无误,简便方法就是执行这个InputCell。
具体操作是,把光标置入该InputCell当中的任意一处,敲击组合键Shift+Enter或数字键区的Enter键。
如果录入无误,会出现执行的结果;如果录入有错误,就会出现报错信息,要细读信息内容并作相应的修正。
图1-19执行键盘录入的程序函数,观察返回信息
3-2录入平台的使用
为了录入数学表达式的方便,Mathematica5.0的Notebook提供有一组录入平台,名称是Palette。
使用比较简单,特别适于初学者。
3-2-1录入平台的调出和使用
从[File|Palettes]开始,针对任务选调相应的录入板,点击相应的文本钮,其内容当即插入到Notebook中光标所在处。
下面介绍最常用的几个录入板。
3-2-2录入特殊字母和符号
用命令[File|Palette|BasicTypesetting]调出的录入板的上部,就是包括全部希腊字母的特殊符号。
:
另外,在[File|Palettes]中的CompleteCharacters录入板里,列举有所有的特殊字符,并且当光标指向某个字符时,在再录入板的最下一行能显示出该字符的英文名称。
图1-20录入板BasicTypesetting(左)和CompleteCharacters(右)
3-2-3录入2D数学表达式
用命令[File|Palette|BasicInput或BasicCalculations]调出的录入板(用法类似Word的公式编辑器),可以用来录入数学运算符号、特殊字母以及数学函数名。
图1-21录入板BasicInput和BasicCalculations
3-2-4录入程序函数
用命令[File|Palette|AlgebraicManipulation]调出的录入板,可以录入常用的恒等变形函数。
图1-22录入板AlgebraicManipulation
3-3用户自制录入平台的建立
Mathematica软件允许有湖建立自己的录入平台。
比如,对于一个经常绘制图形和制作数学动画的用户来说,可以把绘图中常用的一些设置选项做成一个专门的录入板,使用起来就会很方便。
下面,以此为例介绍自定义录入板的制作方法。
操作步骤:
1在当前Notebook中建立一个表格:
以菜单命令[Input|CreateTable/Matrix/Palette]引出同名对话框。
图1-23CreateTable/Matrix/Palette对话框
于其中上部第3行选定MakePalette,在第2组中键入行列数(10行两列),单击OK钮,生成一个“原始录入板”表格:
图1-24生成"原始录入板"表格
2在表格的每个单元(占位穴)之中填写一份录入文本
通常是录入频率很高的某些文本,键入或拷入皆可,为了使用时容易寻找也可以编辑成不同的颜色:
图1-25在表格的每个占位穴中填写一份录入文本
3全选添好的表格,使用命令[File|GeneratePalettefromSelection],完成录入板的"雏形",生成一个无标题的对话框,表格的每个单元变成命令钮的形状:
图1-26录入板的"雏形"
4关闭录入板雏形(单击右上角的叉形钮),Mathematica将询问是否保存自制录入板,选答Save后,出现“另存为”话框,此时一定要给录入板雏形取定名称,存于目录Mathematica5.0\SystemFiles\FrontEnd\Palettes之下,才成为完整的自制录入板。
图1-27“另存为”话框
完成上述操作以后,再次启动Mathematica时这个自定义的录入板就会出现在目录[Files\Palettes]之中,与固有录入板并列。
用法也和固有录入板相同。
按此方法,也可对已经自定义的录入板进行修改。
3-4程序函数的智能补全(录入操作)
使用Mathematica的过程中,常常需要录入相当数量的软件固有函数名称。
有时可能会因为记忆不够准确而发生录入错误;即使记忆没错也难免键入时出现错误。
对那些英语或英文打字不很过硬的用户来说,出现错误的概率就会更大。
一旦出错,就不可能正常工作。
设计者们赋予Mathematica两项特殊功能,能很方便地防止错录。
3-4-1补全函数名的录入操作
例如,想要录入一个绘制参数曲线图形的命令函数,可以只输入该函数名的前面几个字母(比如两个字母“Pa”),然后使用菜单命令[Input|CompleteSelection]或组合键命令(Ctrl+K)。
图1-28输入函数名的前面几个字母
引出一个函数名称列表CommandCompletion,其中按字典顺序列有一批函数名。
图1-29出现一个函数名称列表
用鼠标对准打算录入的函数名称单击,就可完成函数名的录入。
图1-30完成函数名的录入
3-4-2补全必备参数的录入操作
Mathematica的每个命令函数都会有它相应的必备参数及其录入格式,这也是劳神记忆、容易出错的地方。
遇有这种情况可以求助于软件的另一功能。
例如,给ParametricPlot填写必备参数时,可以如下操作。
首先把插入指示光标放在函数名之后。
图1-31把插入指示光标放在函数名之后
调用菜单命令[Input|MakeTemplatetion]或组合键命令(Ctrl+Shift+K),软件就会自动填写出必备参数的标准格式。
图1-32软件自动给出必备参数的标准格式
做些必要的手工修改,就可以完成绘制参数曲线图形的命令的录入。
图1-33完成绘制参数曲线图形的命令录入
4.局部选定内容的菜单命令排版
这里所谈论的排版,是文字处理技术中的最基本的、也是最原始的排版技术操作。
排版的操作对象,是手工选定的字、词、句、段(即Cell)、章(即Notebook)。