> For the complete documentation index, see [llms.txt](https://documentation.soulver.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.soulver.app/zh/shi-yan-xing-gong-neng/x.md).

# Soulver X Series

## 什么是 Soulver X Series？

在 2024 年，我们启动了一个为期多年的研发项目，其使命是：

* 探索 Soulver 的酷炫新想法
* 寻找新的形式和新的工作流程
* 大胆地开拓任何笔记计算器从未涉足的领域 🖖

我们计划每年发布一个主要的 X 系列新版本。

### Soulver X Series 赞助

如果您是长期用户（或 Soulver 的超级粉丝），并对这项工作感到兴奋，您可以考虑 [在 GitHub 上赞助我们的使命](https://soulver.app/sponsor)。

此外，作为赞助商，您将能够使用最新 X 系列原型（X3、X4 等），这些原型在笔记计算器领域具有更多前所未见的特性。

我们（非常）小的团队非常感谢您的支持，这将使我们能够投入更多资源进行此类高级笔记计算器的研发。

## Soulver X2 (2025)

### 子工作表 (Subsheets)

* 子工作表是存在于单个令牌内的独立工作表。
  * 从标签栏的 + 按钮创建子工作表。
  * 双击紫色令牌以打开子工作表编辑器。
* 子工作表可以引用母工作表中的变量（前提是这些变量已在子工作表行上方声明）。

### 带范围的滑块令牌 (Slider Tokens with Ranges)

* 滑块令牌允许您指定可拖动滑块的范围
  * 从标签栏的 + 按钮创建滑块。
  * 双击绿色令牌以打开滑块弹出窗口。

### 分隔线 (Divider Lines)

* 输入三个破折号 (-) 即可插入一条分隔线。
* 使用分隔线在工作表的不同部分之间创建更强的视觉分隔。

## Soulver X1 (2024)

X1 包含了 Soulver 最受关注的功能实现，包括：

* [自定义函数支持](https://soulver.app/feedback)（包括自然语言函数）
* [跨工作表共享变量](https://soulver.app/feedback)（通过新的“标题”工作表）
* [连接 Web API](https://soulver.app/feedback)（只需粘贴和几次点击）

### 标签页 (Tabs)

<figure><img src="/files/CQGtp7d129vtZsOK906v" alt=""><figcaption><p>Soulver X1 中的多个标签页</p></figcaption></figure>

Soulver X1 中的文档从一个标签页开始，您可以通过点击标签栏右侧的 + 按钮添加更多标签页。

**重命名标签页**

双击标签页的标题即可为其设置别名。或者，按住 control 键点击标签页并选择“重命名”。

**删除标签页**

当鼠标悬停在标签页上时，点击 x 按钮进行删除。或者，按住 control 键点击标签页并选择“删除”。

{% hint style="warning" %}
标签页是一个进行中的功能。

您目前无法重新排列标签页，并且在一个文档中添加过多的标签页无法正常工作。
{% endhint %}

### 标题工作表 (The header sheet)

标题工作表是专门用于定义可以在文档所有标签页中使用的变量、单位、函数和网络值的工作表。

<figure><img src="/files/mWhrVE0riC5r9rIjKR53" alt="" width="375"><figcaption></figcaption></figure>

### **跨标签页变量**

请像声明本地变量一样，在标题工作表中声明您的文档变量。

例如：

```
my variable = 123
```

`my variable` 将在您的所有工作表中可用。

{% hint style="info" %}
您的标签页只能引用变量，但不能修改其定义，使其适用于文档中的其他工作表。
{% endhint %}

### **等效单位 (Equivalence units)**

等效单位是根据现有单位定义的。

您可以使用以下方式在标题工作表中定义新的等效单位（例如）：

```
1 watermelon = 10 lb
```

<figure><img src="/files/h1utKy5lSjPciCD8NCd3" alt=""><figcaption><p>在 Soulver X1 中声明新的质量单位</p></figcaption></figure>

现在可以在您的标签页中使用 `watermelon` 作为质量单位了。

<figure><img src="/files/XRQcjLnZASMlxlroiW62" alt=""><figcaption><p>在 Soulver X1 中使用自定义等效单位</p></figcaption></figure>

{% hint style="info" %}
Soulver X1 会自动为您（在英文中）复数化您的新单位。

因此，在这个例子中，即使定义是 "watermelon"，"watermelons" 也会被识别为有效的单位名称。
{% endhint %}

### **通用单位 (Generic units)**

等效单位是一种全新的单位类型，不是根据现有单位定义的。

您可以使用以下方式在标题工作表中定义新的通用单位（例如）：

```
operation = new unit
```

<figure><img src="/files/ANc4DjWYNDpbkAiXYZMb" alt=""><figcaption><p>在 Soulver X1 中声明通用单位类型</p></figcaption></figure>

现在可以在您的标签页中使用 `operation` 单位了（包括在比率中）：

<figure><img src="/files/hMAGIAhjn1Qee2VOg54P" alt=""><figcaption><p>在 Soulver X1 中使用通用单位</p></figcaption></figure>

### **自定义函数 (Custom functions)**

**介绍**

函数是一个方便的短语，它接收一个输入并返回一个输出。在 Soulver X1 中，您可以使用（几乎）任何函数语法，包括：

C 风格: `doSomething(123)`

Swift 风格: `doSomething(with: 123)`

自然语言: `do something with 123`

**如何创建新的自定义函数（在标题工作表中）**

* 点击 `Define New` > `Function`

**选择函数名称：**

<figure><img src="/files/H1TDd8LimRBCGJfOGbaI" alt=""><figcaption><p>在 Soulver X1 中声明新函数</p></figcaption></figure>

* 使用您实际使用该函数的示例来定义您的函数。
* 选择任何参数（只要它们与您期望的参数“类型”匹配，例如金钱、时间、纯十进制数字等）。

**实现您的函数：**

<figure><img src="/files/3cJnggigjj3Ec13XgZvr" alt=""><figcaption><p>编写一个计算特定金额销售税的函数</p></figcaption></figure>

* 在专用的 Soulver 工作表中实现该函数。任何参数都将作为黄色令牌注入。
* 将鼠标悬停在参数令牌上，即可查看它在声明中引用了哪个参数。
* 实现工作表的最后一行将被返回为函数的最终值。

**使用您的函数**

<figure><img src="/files/v6BEGXMW9WlBnw05vcBb" alt=""><figcaption></figcaption></figure>

在所有工作表中，使用您的函数和其它输入值。

### **网络值（连接到 JSON API）**

#### **如何创建新的网络值（在标题工作表中）**

* 点击 `Define New` > `Web Value`

#### **如何连接到 JSON 数据源中的特定数据点**

<figure><img src="/files/3Gb1FrpEtkrtEzNaEX8d" alt=""><figcaption><p>在 Soulver X1 中连接到远程数据源</p></figcaption></figure>

* 粘贴一个指向 JSON 数据源的 URL，然后只需点击您希望连接的数据点即可。

#### **使用网络值**

* 您的网络值将被分配一个变量名（默认情况下，与 JSON 源中的描述匹配）。
* 您可以欢迎将变量名更改为其他名称。

#### **更新网络值**

* 您设置的频率将自动在后台更新您的网络值。

#### **编辑网络值**

* 双击标题工作表中的黄色网络值令牌，以指定不同的数据点或更改更新频率。

## Soulver X Series 文件类型

{% hint style="warning" %}
Soulver X 系列应用使用与 Soulver 不同的文档类型（.slvrx）。

这是为了支持我们正在构建和试验的新功能。

Soulver X (.slvrx) 文件不能使用 Soulver 3 for Mac、iOS 和 iPad 进行编辑。
{% endhint %}
