Folio Writer

Abbildungen, die sich selbst neu erzeugen:
dynamische Diagramme mit Quarto, Python & R

Die gefährlichste Abbildung in einem Manuskript ist die, die vor drei Überarbeitungen von Hand erstellt wurde. Wenn sich die Analyse ändert und das PNG nicht, lügt der Artikel stillschweigend. Die Lösung: Legen Sie den Code ins Manuskript und lassen Sie jedes Kompilieren das Diagramm aus den Daten neu erzeugen – Quarto führt ihn aus, Folio Writer orchestriert.

Die Idee in einem Block

Schreiben Sie an beliebiger Stelle in einem Folio-Dokument eine ausführbare Zelle, statt ein Bild einzufügen:

```{python}
#| label: fig-eos
#| fig-cap: "Third-order Birch–Murnaghan fit to the P–V data."
import pandas as pd, matplotlib.pyplot as plt
d = pd.read_csv("Research/pv-data.csv")
plt.plot(d.V, d.P, "o"); plt.plot(d.V, fit(d.V))
plt.xlabel("V (ų)"); plt.ylabel("P (GPa)")
```

Kompilieren Sie mit Renderer = Quarto, und die Zelle läuft: Die CSV-Datei wird gelesen, die Anpassung gezeichnet, und die fertige Abbildung landet im PDF – oder in der Word-Datei oder im HTML –, nummeriert, beschriftet und mit @fig-eos referenziert wie jede andere Abbildung. R funktioniert genauso:

Eine {python}-Zelle und ihre ausgeführte Abbildung, live in der Vorschau.
Eine {python}-Zelle und ihre ausgeführte Abbildung, live in der Vorschau.
```{r}
#| label: fig-spectra
#| fig-cap: "Raman spectra by pressure step."
library(ggplot2)
ggplot(read.csv("Research/spectra.csv"),
       aes(shift, intensity, color = factor(P))) + geom_line()
```

Aktualisieren Sie die Datendatei, kompilieren Sie neu, und jede Abbildung ist aktuell. Kein Exportschritt, kein „Welches Skript hat Abbildung 3 erzeugt?“, keine veralteten Diagramme – das Manuskript ist die Pipeline.

Dasselbe Manuskript spricht R – knitr-Engine, echo: false, nummerierte Abbildung.
Dasselbe Manuskript spricht R – knitr-Engine, echo: false, nummerierte Abbildung.

Einrichtung

  1. Installieren Sie Quarto (quarto.org oder brew install quarto) und den kostenlosen Folio Helper, mit dem die sandboxed App aus dem App Store Ihre lokalen Werkzeuge ausführen kann.
  2. Python-Zellen: Sie brauchen ein Python mit Jupyter (pip install jupyter matplotlib pandas). Folio Writer verweist Quarto automatisch auf einen Jupyter-fähigen Interpreter, sodass Zellen mit einem Python ausgeführt werden, das sie tatsächlich ausführen kann – nicht mit dem python3, das zufällig als Erstes im PATH steht.
  3. R-Zellen: Installieren Sie R sowie knitr und rmarkdown – Quartos Standard-Engine für R.
  4. Bewahren Sie Daten und Analyseskripte im Ordner Research des Projekts auf, damit die ganze Pipeline mit dem Manuskript reist (und synchronisiert).
Hinweis zu den Stufen: Das Ausführen von Codezellen gehört zur einmaligen Pro-Freischaltung, zusammen mit dem Kompilieren (7 Tage kostenloser Volltest inklusive). Zellen schreiben und schlichtes Rendern mit Quarto ohne Ausführung setzen sie nicht voraus.
Wo die Ausführung stattfindet: Die Live-Vorschau bleibt bewusst sofort – sie setzt Text und Formeln, führt aber keinen Code aus. Zellen werden beim Kompilieren ausgeführt, wenn Quarto das zusammengefügte Manuskript rendert. Für einen schnellen Blick auf eine Abbildung kompilieren Sie nur den Abschnitt, an dem Sie gerade arbeiten (Umfang ▸ Ausgewähltes Dokument).

Die Zellenoptionen, die für Manuskripte zählen

Quarto-Zellenoptionen fahren als #|-Kommentarzeilen mit. Fünf davon decken fast jeden Bedarf eines Manuskripts ab:

```{python}
#| label: fig-eos          # cite it as @fig-eos
#| fig-cap: "Compression curve with third-order fit."
#| echo: false             # figure in the paper, code not
#| fig-width: 6.5          # inches, match the journal column
#| warning: false          # keep library chatter out of the PDF
...
```

Für ein ganzes Manuskript, in dem nie Code ausgegeben werden soll, legen Sie es einmal im Metadaten-Dokument fest statt pro Zelle:

execute:
  echo: false
  warning: false
Langsame Analyse? Fügen Sie einer aufwendigen Zelle #| cache: true hinzu – Quarto führt sie nur erneut aus, wenn sich der Code der Zelle ändert, sodass ein Neukompilieren nach einer Textänderung Ihr Modell nicht neu anpasst.
Echter Arbeitsablauf: P–V-Daten aus einer .xlsx-Datei in Research gelesen, Birch–Murnaghan-Anpassung, beim Kompilieren annotiert und nummeriert.
Echter Arbeitsablauf: P–V-Daten aus einer .xlsx-Datei in Research gelesen, Birch–Murnaghan-Anpassung, beim Kompilieren annotiert und nummeriert.

Wenn Zellen nicht laufen

Drei Ursachen decken fast jeden Fall ab. Falscher Renderer: Code wird nur ausgeführt, wenn im Kompilierfenster als Renderer Quarto eingestellt ist – unter pandoc oder Typst werden Zellen als wörtliche Codeblöcke durchgereicht (gewollt: Diese Pipelines führen nie etwas aus). Fehlende Engine: Kompilieren ▸ Externe Tools einrichten… prüft Ihre Werkzeuge; für Python-Zellen brauchen Sie Jupyter im Interpreter (pip install jupyter), für R brauchen Sie knitr + rmarkdown. Annahmen über Pfade: Zellen laufen mit dem Projekt als Arbeitsverzeichnis, lesen Sie Daten also als Research/pv-data.csv ein, nicht über einen absoluten Pfad von Ihrem anderen Rechner – projektrelative Pfade halten das Manuskript außerdem für Mitautoren reproduzierbar.

Statisch, wenn Sie es wollen, dynamisch, wenn es darauf ankommt

Ausführbare Zellen und gewöhnliche Abbildungen existieren nebeneinander. Ein Foto oder ein handgezeichnetes Schema bleibt ein normales Markdown-Bild; die aus Daten abgeleiteten Diagramme werden zu Zellen. Die Manuskriptprüfung von Folio Writer überwacht sogar die statische Sorte – sie markiert eine Abbildung, die älter ist als das Skript, das sie zeichnet –, sodass eine Abbildung, egal welchen Weg sie nimmt, nicht stillschweigend veralten kann.

Ausgabe auf Zeitschriftenniveau inklusive

Weil der Quarto-Renderer derselbe ist, der die Zeitschriftenformate antreibt, funktionieren dynamische Abbildungen auch in Verlagsvorlagen: Fügen Sie eine Zeitschriftenerweiterung hinzu (AGU, Elsevier, Copernicus …), setzen Sie quarto-to: in den Metadaten, und die kompilierte Einreichung enthält Abbildungen, die aus Ihrer lebendigen Analyse erzeugt wurden – reproduzierbar aus den einfachen Dateien im Projekt, von jedem, mit einem Befehl.

Folio Writer kostenlos laden → · Weitere Anleitungen