思维导图

一款免费的替代 iMindmap 的思维导图和知识管理的软件 Freeplane(含计算功能)2024年10月30日更新

日期:06-28 作者:花匠- 小 + 大

                        一款免费的思维导图和知识管理软件 Freeplane
    基于Java平台的、具有巴赞风格的思维导图软件,可以替代 iMindmap 的全免费软件。Freeplane思维导图软件中文版是由经典思维导图软件FreeMind的主创人员设计的另外一款同类型工具,Freeplane中文版已由官方汉化,功能比较齐全。Freeplane中文版主要适用于企业管理、团队协作与个人,界面简洁明晰、操作方便快捷,设计的非常人性化。

    Freeplane 是一款免费的开源软件应用程序,支持在工作、学校和家庭中思考、共享信息和完成任务。该软件可用于思维导图和分析思维导图中包含的信息。Freeplane 可以在任何安装了当前 Java 版本的操作系统上运行。它可以在本地运行,也可以从可移动存储(如 USB 驱动器)中便携式运行。

    Freeplane 用于创建思维导图和电子大纲。以Java语言编写,支持Windows、Mac OS X和Linux,并根据GNU通用公共许可证版本“2 或更高版本”获得许可。 2007年,Freeplane从 FreeMind 项目中分叉出来。


立即下载 Freeplane-Setup-with-Java-1.12.6 (95.5 MB,含Java) 正式版点这里下载! 

Freeplane1.12.7 最新测试版(2024年10月20日,含Java)点这里下载!其它各类版本

安装时为全英文(安装语言选英文),但运行会自动进入简体中文状态!

注意:该软件必须在Java环境下才能运行!

Java下载(Java SE Runtime Environment  官方版):点这里!



功能:
Freeplane 通过以下功能支持上述应用领域:
使用可自由定位的、未连接的节点(如便利贴)记录笔记;
将想法(节点)排序为由线(边)连接的层次结构;
使用元数据(属性)和样式类型(系统样式、用户定义样式、级别样式)对节点进行分类;
使用视觉容器(云)和荣誉(摘要节点)对节点进行分组;
用动态链接、自由线(连接器)和标签连接节点;
根据层次级别和内容(条件样式、自动边缘颜色、级别样式)自动设置节点样式(带有气泡、颜色、边缘类型等);
根据内容(文本、科学公式、计算、图标、图像和超链接)和展示区域(核心、细节、注释、属性、图像和工具提示)构建节点;
通过隐藏内容(折叠分支、过滤、汇总细节和隐藏工具提示中的扩展)、查找、滚动和导航来更改视图;
处理日历和提醒;
使用DES加密对整个地图和单个节点进行密码保护;
易于使用内联和对话框编辑器、面向对象的主菜单、上下文菜单、多语言支持、拼写检查器、属性面板、拖放功能、热键、批处理执行选项、发布、共享和可选首选项;
近似搜索(相似性搜索)允许在文本中查找搜索词,即使没有完全匹配(例如“setup”=“setup”或“flie”=“file”)。
支持节点下/节点中的LaTeX 公式
使用附加组件和自制脚本轻松扩展功能;
与Docear学术文献套件集成;
通过 Wiki 和论坛提供广泛的支持;以及思维导图形式的教程和文档。
名为Freeplane 函数的地图说明了Freeplane的主要功能。此外,它还提供了一个带有指向教程的超链接的索引,您可以在其中阅读更多文档。链接一开始是隐藏的,但如果将光标悬停在函数(节点)上,链接就会变得可见并且可以单击。这是 Freeplane 强大功能的另一个例子。(要体验这些功能,请在 Freeplane 程序中打开“帮助”>“入门”并选择“索引”)。

该思维导图工具的演示模式比较难使用,现整理、翻译了一下,看下图:


关于公式

关于公式
公式与 Excel 或 OpenOffice Calc 等电子表格处理器中的公式非常相似:
 = 2  +  3
由前导“=”标识的公式是为显示而计算的表达式。那就是显示他们的结果而不是公式文本。在=2 + 3的情况下,这将是5。公式本身 ( =2 + 3 ) 仅在编辑器中可见。

概述
公式可以定义在:
节点文本
属性值
笔记

公式被评估为 Groovy 脚本。这个事实定义了公式的基本语法。但是尽管 Groovy 是一门成熟的编程语言,但在 Groovy 中却非常简单,如下所示:
  =  3  *  2
给出6 ,
  = (3 * 2) + " times"
给了6次。请注意,“=”后面的空格是可选的。

现在更复杂的事情:
  = children.sum(""){ it.text }
给出所有子节点文本的串联. 通过使用 sum("") 而不是sum,我们将起始值设置为 "",并确保如果节点根本没有子节点,该公式也适用。
  = children.sum(0){ it.to.num }
对子节点的数值求和。

以下语句对所有子项的属性项的数值求和。如果一个孩子没有该属性,或者如果它不能转换为数字num0(或getNum0()),则使用 0 代替 [自 1.2.1_17 起]。
  = children.sum(0){ it['item'].num0 }

公式可以访问Scripting API的只读变体,即公式可能不会更改地图中的任何内容。Groovy 语言对公式进行了一些小的扩展,以提高易用性,例如更简单的数据类型转换。有关最新 API, 请参阅脚本 API 的预览版。

请注意,公式节点(如children或 text)的属性和方法可直接用于公式,即前导“节点”。可以省略。

参考
公式可以通过以下方式访问地图中的所有节点

例如通过=node.children, =node.parent or =node.map.root 定位层次结构
通过find搜索地图,例如=node.find{ it.text == 'sum'}。
通过 ID 直接引用特定节点,例如ID_172581364.to.num。要输入节点的 ID,请在打开公式编辑器时双击该节点,或使用节点上下文菜单中的“复制节点 ID ”功能。
请注意,就像在 Excel 中一样,如果节点引用自身(直接或间接),您可以轻松创建循环引用。
  = parent.children.sum{ it.to.text }
循环引用显然是由于在层次结构中来回导航。现在您可能会想到一个示例(将下一行粘贴到地图中):
  = "count nodes above 10: " + node.find { it.to.num > 10 }.size()
  = 10
  = 11
结果应该是超过 10:1 的计数节点,但 find 会尝试评估自身,因为it.to涉及公式评估。这会导致此错误:

循环引用:节点 '= count nodes....' 中的公式引用自身。
为防止这种情况发生,您应该避免在参数中进行公式评估,以便像这样查找:

  = "count nodes matching '11': " + node.find { it.text == '11' }.size()
为了分析复杂的情况,您必须查找日志文件。搜索这样的消息:

警告:检测到循环参考!Traceback(最里面的最后一个):
  * ID_1323597872 = "计数 10 以上的节点:" ... -> "计数 10 以上的节点:" + node.find { it.to.num > 10 }....
  -> * ID_1323597872 = "10 以上的节点数:" ... -> "10 以上的节点数:" + node.find { it.to.num > 10 }....
导致循环引用的节点以星号突出显示。我们看到循环是直接循环,即节点直接引用自身。但它不需要那么简单,当你碰巧看到这种错误时,可能涉及更多的节点。

请注意,循环引用的许多问题都是由使用 find引起的。所以这里有一个建议:如果你不需要它,就 避免find 。

另请注意,同一节点的文本、注释和属性之间的引用不会导致“循环引用”警告。另一方面,另一个节点引用哪个属性、文本或注释并不重要:循环仅在(粗略)节点级别上检测到。

当公式变得太大时:构建自己的实用程序类
从 Freeplane 1.3.2 开始,脚本类路径目录中的所有 .groovy 文件都会在 Freeplane 启动时自动编译。请参阅脚本:您自己的实用程序库。

节点的加号运算符
给定以下地图:

= children.sum() 1 2
   1 
   2
这将导致“3”,因为节点的加号运算符定义为 Node.to.num0 + Node.to.num0。虽然在大多数情况下这很简单而且很好,但您必须记住“+”只是数字,永远不会连接字符串。

当地图改变...
必要时会立即更新公式。(否则,这是您应该报告的错误。)

与在正常操作期间发生的许多其他事情相比,公式评估的成本要高得多。为了减少公式评估的开销,Freeplane 实现了一个依赖跟踪机制,该机制只负责更新那些引用更改节点的公式。

但这种机制理论上可能会被复杂的 Groovy 表达式所迷惑。我目前不能给你一个例子,但绝对有可能。

因此,以防万一公式处理器以某种方式感到困惑,有一个功能工具>公式>评估所有重新评估整个地图的功能。


缓存公式评估结果
对于连续节点可视化,节点属性的查询频率要比更改频率高得多。为了避免在这种情况下重新计算,所有评估结果都在内部存储/缓存。此缓存最初在打开地图时填充并在卸载时清空。

出于调试目的,可以通过公式插件的首选项页面完全关闭缓存。但请记住,这可能会严重影响应用程序的性能,因此除非您真的非常需要,否则不要关闭缓存。


编辑器支持公式
为了编辑包含公式的节点,使用提供以下功能的特殊编辑器:

语法高亮:支持标准 Groovy 表达式和节点引用。
GUI-支持引用其他节点:双击一个节点,在公式中插入对它的引用。
GUI-支持节点引用的可视化:如果光标位于节点 id 中,则将在地图中选择引用的节点。在这种情况下,编辑器的工具提示将显示节点的(转换后的)文本。
请注意,仅当节点文本已以等号开头时,才会使用特殊编辑器。编辑器支持将在未来进一步扩展,尤其是代码完成。

格式化
节点核心中数字和日期的格式可用作节点样式的元素,这意味着它们不是特定于公式的。属性值、详细信息和注释的格式必须通过format(Object, formatString)将值设置为格式化对象来处理。有关数据和格式的更多信息,请参阅此页面。


安全
公式将具有无法通过配置禁用的严格安全限制。从公式无法写入文件系统或网络,也无法执行外部程序。仅当您为所有脚本启用了读取权限时,才会授予公式读取权限。


杂项
通过在评估之前从文本中剥离所有 HTML 混乱来支持富文本节点(在节点文本和注释中),但对于公式来说,使用纯文本绝对是更可取的。

边框:公式节点标有绿色边框。这可以在 View->View settings->Highlight formulas中更改。

属性访问:公式通过['name']运算符提供简化的属性访问:

  = children.sum(0){ it['attrib_name'].num0 }

命名节点
按节点 id 引用的节点是有效的,如果在公式编辑器中查看,可以轻松检查引用的节点。但是如果没有编辑器的支持,节点 ID 本身就没有任何意义。

命名节点将允许使引用更具可读性。例如,如果在地图中的许多公式中使用 ID 为ID_241399282的一个“参数节点” ,那么最好给它一个名称,例如scale并使用N("scale").to.num而不是使用ID_241399282 .to.num。

您知道应该如何定义这些名称吗?有命名节点就足够了,还是我们也需要命名节点集合?

电子表格处理器中可用功能的实现?
电子表格处理器具有 Freeplane 不直接支持的大量功能(请参阅 [ ODF 规范])。当然,其中许多功能不容易从表格转换为思维导图,但人们可能会努力提供尽可能多的功能,以增加现有公式对 Freeplane 的可移植性。

您认为,即使存在 Groovy 等价物,我们是否需要实现 NOW()、SECOND()、PPMT()、RRI()、COLUMNS() 等函数?如果您这样做,我们鼓励您为 Groovy 类提供适当的静态方法,我们将了解如何将它们集成到 Freeplane 中。

上一篇:轻量且强大的思维导图软件SimpleMind Pro v1.29.0 中文版

下一篇:视频讲座:​终极思维工具手绘思维导图(托尼·巴赞)

沪公网安备 31011502006143号  | 沪ICP备 05006488号  |  QQ:156617
|

Copyright © 2024 天人文章管理系统 授权使用


首页
分享
留言 搜索 我的