# Soulver X Serie

## Was ist die Soulver X Series?

Im Jahr 2024 haben wir ein mehrjähriges F\&E-Projekt begonnen, dessen Mission es ist:

* Coole neue Ideen für Soulver zu erkunden
* Neue Formen & neue Workflows zu suchen
* Kühn dorthin zu gehen, wo bisher kein Notizblock-Rechner hingekommen ist 🖖

Wir beabsichtigen, jedes Jahr eine große neue X-Serie-Version zu veröffentlichen.

### Soulver X Series Sponsorship

Wenn Sie ein langjähriger Benutzer (oder Soulver-Mega-Fan) sind und von dieser Arbeit begeistert sind, könnten Sie in Erwägung ziehen, unsere Mission auf GitHub zu [sponsoren](https://soulver.app/sponsor).

Als Sponsor erhalten Sie außerdem Zugang zum neuesten X-Serie-Prototyp (X3, X4 usw.) mit noch nie dagewesenen Funktionen im Bereich des Notizblock-Rechners.

Unser (sehr) kleines Team würde die Unterstützung begrüßen und wir könnten mehr Ressourcen für diese Art von fortgeschrittener Notizblock-Rechner-F\&E aufwenden.

## Soulver X2 (2025)

### Subsheets

* Ein Subsheet ist ein separates Blatt, das innerhalb eines einzigen Tokens existiert.
  * Erstellen Sie ein Subsheet mit der + Schaltfläche in der Registerkartenleiste.
  * Doppelklicken Sie auf den lila Token, um den Subsheet-Editor zu öffnen.
* Subsheets können auf Variablen aus dem Hauptblatt verweisen (vorausgesetzt, die Variablen sind oberhalb der Zeile des Subsheets deklariert).

### Slider Tokens with Ranges

* Ein Slider Token ermöglicht es Ihnen, den Bereich für einen verschiebbaren Schieberegler festzulegen
  * Erstellen Sie einen Schieberegler mit der + Schaltfläche in der Registerkartenleiste.
  * Doppelklicken Sie auf den grünen Token, um das Schieberegler-Popup zu öffnen.

### Divider Lines

* Geben Sie drei Bindestriche (-) ein, um eine Trennlinie einzufügen.
* Verwenden Sie Trennlinien, um eine bessere visuelle Trennung zwischen verschiedenen Teilen Ihres Blattes zu schaffen.

## Soulver X1 (2024)

X1 beinhaltet Implementierungen der Top-Feature-Anfragen von Soulver, darunter:

* [Unterstützung für benutzerdefinierte Funktionen](https://soulver.app/feedback) (*einschließlich* *natürlicher Sprachfunktionen*)
* [Variablen über Blätter hinweg teilen](https://soulver.app/feedback) (*über das neue "Header"-Blatt*)
* [Verbindung zu Web-APIs](https://soulver.app/feedback) (*mit nur einem Einfügen und ein paar Klicks*)

### Tabs

<figure><img src="/files/DaWOOcBfTDZJyQK2WSeu" alt=""><figcaption><p>Mehrere Registerkarten in Soulver X1</p></figcaption></figure>

Dokumente in Soulver X1 beginnen mit einer einzigen Registerkarte, und Sie können weitere hinzufügen, indem Sie auf die + Schaltfläche rechts in der Registerkartenleiste klicken.

**Registerkarten umbenennen**

Doppelklicken Sie auf den Titel einer Registerkarte, um ihr einen alternativen Namen zu geben. Alternativ klicken Sie mit der Control-Taste auf die Registerkarte und wählen Sie „Umbenennen“.

**Registerkarten löschen**

Bewegen Sie den Mauszeiger über eine Registerkarte und klicken Sie auf die x Schaltfläche, um sie zu löschen. Alternativ klicken Sie mit der Control-Taste auf die Registerkarte und wählen Sie „Löschen“.

{% hint style="warning" %}
Registerkarten sind ein Feature in Arbeit.

Sie können die Registerkarten noch nicht neu anordnen, und das Hinzufügen zu vieler Registerkarten in einem einzigen Dokument funktioniert nicht korrekt.
{% endhint %}

### Das Header-Blatt

Der Header ist ein dediziertes Blatt zur Definition von Variablen, Einheiten, Funktionen und Webwerten, die in allen Registerkarten Ihres Dokuments verwendet werden können.

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

### **Cross-tab Variables**

Deklarieren Sie Variablen für Ihr Dokument im Header genauso, wie Sie lokale Variablen deklarieren würden.

Zum Beispiel:

```
my variable = 123
```

`my variable` ist in allen Ihren Blättern verfügbar

{% hint style="info" %}
Ihre Registerkarten können nur auf Variablen verweisen, aber nicht deren Definition so ändern, dass dies auf andere Blätter im Dokument angewendet wird.
{% endhint %}

### **Equivalence units**

Eine Äquivalenzeinheit wird in Bezug auf eine bestehende Einheit definiert.

Definieren Sie eine neue Äquivalenzeinheit im Header unter Verwendung von (zum Beispiel):

```
1 watermelon = 10 lb
```

<figure><img src="/files/BK42IY9YSLHlQ6lgDXJR" alt=""><figcaption><p>Deklaration einer neuen Masseneinheit in Soulver X1</p></figcaption></figure>

Das `watermelon` kann nun als Masseneinheit in allen Ihren Registerkarten verwendet werden.

<figure><img src="/files/p9gKk7wsuMhW4Rd2PaZU" alt=""><figcaption><p>Verwendung einer benutzerdefinierten Äquivalenzeinheit in Soulver X1</p></figcaption></figure>

{% hint style="info" %}
Soulver X1 pluralisiert Ihre neue Einheit automatisch für Sie (auf Englisch).

In diesem Beispiel wird daher sowohl „watermelons“ als auch „watermelon“ als gültiger Einheitsname erkannt, obwohl die Definition „watermelon“ war.
{% endhint %}

### **Generic units**

Eine Äquivalenzeinheit ist eine völlig neue Einheitart, die nicht in Bezug auf eine bestehende Einheit definiert ist.

Definieren Sie eine neue generische Einheit im Header unter Verwendung von (zum Beispiel):

```
operation = new unit
```

<figure><img src="/files/7p16QdJmBNwNeRzldfYj" alt=""><figcaption><p>Deklaration einer generischen Einheitart in Soulver X1</p></figcaption></figure>

Die Einheit `operation` kann nun in allen Ihren Registerkarten verwendet werden (einschließlich bei Raten):

<figure><img src="/files/a4AkuyXgRIkBWCY9330S" alt=""><figcaption><p>Verwendung einer generischen Einheit in Soulver X1</p></figcaption></figure>

### **Custom functions**

**Einführung**

Eine Funktion ist ein nützlicher Ausdruck, der einen Input entgegennimmt und einen Output zurückgibt. In Soulver X1 können Sie (fast) jede Syntax für eine Funktion verwenden, einschließlich:

C-Stil: `doSomething(123)`

Swift-Stil: `doSomething(with: 123)`

Natürliche Sprache: `do something with 123`

**Erstellen einer neuen benutzerdefinierten Funktion (im Header)**

* Klicken Sie auf `Define New` > `Function`

**Auswahl eines Funktionsnamens:**

<figure><img src="/files/tSLKgswyg29gFJdeOnKF" alt=""><figcaption><p>Deklaration einer neuen Funktion in Soulver X1</p></figcaption></figure>

* Definieren Sie Ihre Funktion anhand eines Beispiels, wie Sie die Funktion in der Praxis verwenden könnten.
* Wählen Sie beliebige Parameter (solange sie dem „Typ“ des Parameters entsprechen, den Sie für Ihre Implementierung erwarten, wie Geld, Zeit, einfache Dezimalzahlen usw.).

**Implementierung Ihrer Funktion:**

<figure><img src="/files/S0kPy7ZHLu40IjUo1Dk1" alt=""><figcaption><p>Schreiben einer Funktion zur Berechnung der Umsatzsteuer auf einen bestimmten Betrag</p></figcaption></figure>

* Implementieren Sie die Funktion in einem dedizierten Soulver-Blatt. Alle Parameter werden als gelbe Tokens eingefügt.
* Bewegen Sie den Mauszeiger über einen Parameter-Token, um zu sehen, auf welchen Parameter er in der Deklaration verweist.
* Die letzte Zeile des Implementierungsblattes wird als Endwert der Funktion zurückgegeben.

**Verwendung Ihrer Funktion**

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

Verwenden Sie Ihre Funktion mit anderen Eingabewerten in allen Ihren Blättern

### **Web values (connecting to JSON APIs)**

#### **Erstellen eines neuen Webwerts (im Header)**

* Klicken Sie auf `Define New` > `Web Value`

#### **Verbindung an einen bestimmten Datenpunkt in einem JSON-Datenfeed**

<figure><img src="/files/dw2VyvXchjEt5SC9CaPN" alt=""><figcaption><p>Verbindung an einen entfernten Datenfeed in Soulver X1</p></figcaption></figure>

* Fügen Sie eine URL zu einem JSON-Datenfeed ein und klicken Sie dann einfach auf den Datenpunkt, mit dem Sie verbunden werden möchten.

#### **Verwendung eines Webwerts**

* Ihrem Webwert wird ein Variablennamen zugewiesen (standardmäßig passend zu seiner Beschreibung im JSON-Feed).
* Sie können den Variablennamen gerne in etwas anderes ändern.

#### **Aktualisieren eines Webwerts**

* Ihr Webwert wird im Hintergrund automatisch mit der von Ihnen während der Einrichtung angegebenen Häufigkeit aktualisiert.

#### **Bearbeiten eines Webwerts**

* Doppelklicken Sie auf den gelben Webwert-Token im Header, um einen anderen Datenpunkt anzugeben oder die Aktualisierungshäufigkeit zu ändern.

## Soulver X Series File Type

{% hint style="warning" %}
Soulver X Series Apps verwenden einen anderen Dokumenttyp (.slvrx) als Soulver.

Dies dient dazu, die neuen Funktionen zu unterstützen, die wir entwickeln und ausprobieren.

Soulver X (.slvrx) Dateien können nicht mit Soulver 3 für Mac, iOS & iPad bearbeitet werden.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.soulver.app/de/experimentell/x.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
