使用Mathematica构建演示文稿和文档

41

我主要使用Mma解决相对较小的问题。

我想开始使用它来准备我的演示文稿和文件,但我很难从嵌入式帮助中学习如何做到这一点,我猜其他地方可能有一些好的资源可用。

你知道任何有用的指针(书籍,论文,视频等)吗?

你有什么“诀窍”在这里发布吗?

编辑

这个问题迄今为止收到了两个答案(@mzabsky和Mr.Wizard),虽然两者都有用,但也许我的担忧更加基本。因此,我在此发布一个示例,说明我无法做到的种类事情(或者理解别人如何区分它们)。

我从The Mathematica Journal中取得了以下示例(点击图像可查看完整大小的左侧笔记本电脑上的笔记本电脑):

输入图像描述

所以,为了了解我的问题:

1)我将文本复制到右侧的 .nb 上,使用相同的样式(文本)进行格式化,但外观不同,所以我猜样式定义是不同的。如何从一个 .nb 复制样式定义到另一个?

2)文本块下面的表没有附加的样式。它是如何格式化的?背景颜色在哪里定义?

我希望了解与这些问题有关的指针(或要查看的视频等)。我不希望你在这里写下一本有关Mathematica格式化的书!

答案中发布链接的摘要


这里有几个来自library.wolfram的链接:Mathematica幻灯片演示者的技巧如何-自动幻灯片演示创建讲座笔记本 - Simon
4个回答

21

我使用Mathematica在不出现任何主要问题的情况下实时记笔记(而自豪的TeX用户们则努力跟上:))。在过去两年半我的大学期间,我也用它完成了大部分与数学相关的作业/任务。

在开始之前,您可能想查看一些视频教程

此外,这里有几个建议:

  • 键盘快捷键是快速输入的关键。内联数学单元格的 Ctrl+9,上标的 Ctrl+6,等等。
  • 学习符号标识符的 "esc - 符号 - esc" 符号表示法。例如,“sum”表示求和,“es”表示空集......您可以在Mathematica文档中找到这些列表。我遇到了很少数目的没有esc符号名称的符号我想要输入(例如向左的双箭头或双右齿)。
  • 将所有与数学相关的内容输入内联数学单元格中。数学单元格将为您执行一些与数学相关的格式设置-放置空格,将所有变量和符号呈现为斜体等。
  • 使用“新”->“样式笔记本”中的预格式化模板。
  • 不要使用 ENTER 进行换行,每个段落应该单独进入文本单元格(Ctrl+Shift+D),这样Mathematica可以正确地将内容分成单独的页面/幻灯片。
  • 内置的Mathematica PDF导出很烂;我使用CutePDF打印机进行导出。

此外,经常保存和备份(Dropbox/Syncplicity是理想解决方案),一个误按键可能会将数百小时的工作价值转换成杂烩(相信我,我也有过这种经历):)

实时记录的课堂笔记示例(它是捷克语,但并不重要)。


@Simon 我觉得他轻松地打败了我的 Champollion 级手写笔记 :D - Dr. belisarius
1
我曾经在一门课上认识了一个学生,他会在讲座期间使用笔记本电脑直接输入Mathematica。他非常擅长使用键盘快捷键等操作,而且能够轻松跟上进度。而我们其他人则是老派的用笔和纸的学生。我从未理解他是如何做到的。即使我必须慢慢打字,因为键盘太小,我也觉得使用笔记本电脑很困难。 - Nasser
@jmlopez:转到菜单项“插入”>“自动编号”。这可用于各种编号,从方程、章节和章节/标题。您可以引用计数器的当前值或具有特定单元格标记的单元格-您可以使用上下文(右键单击)菜单添加/删除标记。 - Simon
@jmlopez:我尝试解决你的问题,但由于“ConversionRules”选项似乎无法获取单元格选项(因此没有单元格标记),所以无法正确地进行交叉引用。我可能应该发表评论,但我忘了……在你提供的帖子中,他们说Publicon使用按钮框来处理交叉引用-可能是为了避免上述限制。因此,可能没有简单的方法使Mma正确导出TeX交叉引用。 - Simon
@cqcn1991 我从未手写过代码。我使用了Mathematica提供的一个模板(我现在没有安装Mathematica,所以无法告诉您具体是哪个),然后我记得使用“拆分单元格”工具来克隆包含的标题和部分(是的,自从我上次使用该程序以来已经有一段时间了 :))。文件在这里:http://www.mediafire.com/view/4oh15c7ubbawiji/LA_II_-_poznamky.nb - Matěj Zábský
显示剩余4条评论

8

我同意mzabsky在他的回答中所说的一切。 以下是一些额外的事情:

我发现使用TextDisplayFormula单元格来进行陈述,然后手动将Mathematica检查/证明与该陈述分组,然后将其折叠起来,以便在需要时显示,这样非常有用。

Writing Assistant Palette中有很多有用的结构可以学习。

最后,我发现为自己制作样式表非常有用,原因如下: 1)内置的样式表有点丑;2)它真的可以帮助你理解笔记本的工作方式。

如果你想查看我制作的样式表示例(我不自诩完美 - 我没有费心在所有屏幕环境下使其工作),请查看ftp://ftp.physics.uwa.edu.au/pub/MATH2200/2010/中的一些文件。我在所有笔记中都使用类似的样式表 - 我有许多研究项目主要包含在Mma笔记本中,例如http://arxiv.org/abs/1102.3043

像Mr Wizard一样,我也推荐以David Park's notes为起点。此外,您应该通过转到格式菜单并单击“编辑样式表”来学习喜欢的样式表。别忘了按照样式表(版本6及以上)的层叠链接进行跟踪。

回答您编辑中的问题:一旦您查看笔记本的样式表,您可以保存它,编辑它,并在自己的文档中使用它。位于$UserBaseDirectory/SystemFiles/FrontEnd/StyleSheets中的样式表会自动显示在菜单中。然后,您可以通过从菜单中选择它来在任何笔记本中使用该样式表。
屏幕截图中的格式都包含在样式表中。这包括表格中的灰色背景。
补充说明:
当将笔记本分发给他人时,如果样式表与笔记本不在同一位置,则其他人将无法像您一样看到它。要将样式表包含到当前笔记本中,您需要像下面这样的代码
ss = StyleDefinitions /. Options[EvaluationNotebook[]]
fn = ToFileName[{$UserBaseDirectory, "SystemFiles", "FrontEnd",  "StyleSheets"}, ss]

If[FileExistsQ[fn],
     style=Get[fn];SetOptions[EvaluationNotebook[],StyleDefinitions->style];,
     Print["Can not find file"]]

假设文件存储在传统位置

这里有一个EmbedStylesheet.m,它是以上版本的改进版。


非常感谢。我想有足够的信息和示例可以让我开始了解。让我们看看我是否能够放弃我的丑陋的PowerPoint习惯! - Dr. belisarius
@belisarius - 注意,我并不一定推荐使用Mma来制作演示文稿。这取决于演示的内容。对于某些演示,beamerS5+instiki可能更好。 - Simon
已经记下了。我通常会呈现一些混合的数学和商业信息,这些信息不容易通过PowerPoint消化,所以我开始探索其他选择。基于LaTex的东西几乎被舍弃了,因为我的商业同事们会迷失其中。所以我想用Mma建立一个合理的演示文稿开发环境。虽然到管理我的团队还有很长的路要走,但我必须从某一天开始。确实感谢你的提醒。 - Dr. belisarius

4

关于嵌入式样式表的Mathgroup主题,特别是这里(John Browne)和这里(David Park和Selwyn Hollis),可能会引起兴趣。

我发现样式表有问题。特别是我不喜欢在将笔记本交给他人或在陌生的计算机上打印之前要记得嵌入样式表。然而,除了David Park的教程(由Mr Wizard在上面提到),我发现Bob Ueland的这个建议非常有用。


1
感谢!还可以查看@Simon的代码,链接在这里https://dev59.com/22445IYBdhLWcg3wDWGc#5061599,以嵌入样式表。 - Dr. belisarius

3
如果您浏览《Mathematica Journal》的往期问题,您会发现文章以笔记本格式提供。这可能是一个有用的参考。
编辑
我暂时想不起来一个好的格式化教程。您可以使用显示表达式(Win:Shift+Ctrl+E)查看块的代码表达式,例如您示例中的表格。虽然人们不能手动以相同的形式输入代码,但它可以给出所使用的选项或方法的指示。代码也可以根据需要进行过程性生成。
我会在找到或回忆起它们时添加链接。 David Park的样式表创建说明 Mathematica幻灯片展示者的技巧 这些都很简短,但仍然可能有用: 笔记本格式化 使用Mathematica进行演示

@Mr. 感谢您的指引。我已经了解了Journal,并且也查阅了其他人的一些文档,但我的问题是我无法理解格式化是如何完成的。 - Dr. belisarius
@mzabsky 是的,但那只是其中一种文档风格。可能不容易找到正在查看的帮助主题的 .nb 文件以查看或编辑(尽管我相信 belisarius 肯定能做到)。 - Mr.Wizard
@belisarius,既然可以查看.nb文件代码,你是指键盘快捷键、输入别名等吗? - Mr.Wizard
你编辑的第二个链接包含我正在寻找的那种信息。不错的发现! - Dr. belisarius

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接