Ga naar inhoud

Vergelijkingen in figuren voor wetenschappelijke artikelen

Je schrijft een artikel — een proefschrift, een arXiv-preprint, een IEEE-journaalbijdrage of een workshopnota — en de figuur die je nodig hebt combineert een diagram en een opgemaakte vergelijking. De klassieke aanpak combineert meerdere gereedschappen: een diagramprogramma voor de figuur, een LaTeX-renderer voor de vergelijking en een laatste compositiestap. Dat werkt prima en levert uitstekende figuren op; het nadeel is dat de vergelijking niet meer bewerkbaar is vanuit hetzelfde bestand, waardoor een kleine correctie zoals “fix die subscript” opnieuw door de renderer moet.

drawtonomy is een optie waarbij diagram en vergelijking op hetzelfde canvas staan. Beide elementen zitten in hetzelfde vectorbestand, en de vergelijking blijft bewerkbare LaTeX-broncode totdat je anders besluit.

De vergelijkingen van Maxwell weergegeven als een align-omgeving met vergelijkingsnummers (1)–(4), direct op het drawtonomy-canvas

Een stelsel opgemaakte vergelijkingen (de vergelijkingen van Maxwell) weergegeven met KaTeX op het drawtonomy-canvas. Het blok is één bewerkbare shape — dubbelklik om de LaTeX-broncode terug te halen.

Al deze gereedschappen zijn uitstekend voor waar ze voor ontworpen zijn — drawtonomy is gewoon geschikt voor een iets andere combinatie van eisen: één canvas waarop diagram én vergelijking tegelijk bewerkbaar zijn.

  • PowerPoint / Keynote zijn de universele keuze voor presentaties en veel snelle figuren. Ze hebben ingebouwde vergelijkingseditors die handig zijn, maar LaTeX wordt niet bewaard als bewerkbare broncode voor later.
  • Inkscape / Illustrator bieden prachtige vectorcontrole en veel definitieve papierfiguren worden daar afgewerkt. Als de vergelijking uit een aparte LaTeX-renderer komt, leeft de LaTeX-broncode in een apart bestand dat je naast de figuur bijhoudt.
  • Excalidraw / tldraw / Miro zijn uitstekende samenwerkingswhiteboards gericht op diagrammen. Vergelijkingen worden doorgaans als afbeelding geplakt vanuit een aparte renderer.
  • TikZ / pgfplots zijn de gouden standaard voor volledig programmatische, LaTeX-native figuren, zeker als precisie belangrijk is. De iteratiecyclus vereist bij elke aanpassing een nieuwe compilatie.

drawtonomy zit tussen een presentatietool en TikZ in: een 2D-vectorcanvas met een ingebouwde KaTeX-renderer die je LaTeX-broncode bewaart. Als je figuur van nature over meerdere gereedschappen verdeeld is, hoeft dat niet te veranderen; drawtonomy is het meest nuttig als je diagram en vergelijking in één bewerkbaar bestand wilt houden.

  1. Schets het diagram op het canvas. Rijstroken, voertuigen en voetgangers voor een artikel over autonoom rijden. Rechthoeken en pijlen voor een regeltechnisch blokdiagram. Polygonen met pijlen voor een methode-overzicht. Elke combinatie van drawtonomy-shapes is mogelijk — de Math-shape is er gewoon een van.

  2. Voeg de vergelijking toe met het Math-gereedschap (fx). De KaTeX-preview werkt live. Gebruik \begin{align} voor meerdere regels; KaTeX handelt de nummering voor je af.

    Math-editor met de kwadratische formule met breuk, vierkantswortel en ± weergegeven in de live KaTeX-preview

    Live KaTeX-preview terwijl je de kwadratische formule intypt — de bovenste helft is de LaTeX-broncode, de onderste helft de weergegeven uitvoer.

  3. Stijl opmaken voor druk. De meeste tijdschriften drukken nog steeds in grijstinten. Kies zwart of donkergrijs voor vergelijkingen; pas de grootte aan op de broodtekst van het diagram. De Size-schuifregelaar gaat tot 200 px voor posterfiguren.

    Dezelfde vergelijking in rood op 60 px met het Math (LaTeX) attribuutpaneel met de kleurstaal en de grootteschuifregelaar

    Kleur en grootte zijn beschikbaar in het Math (LaTeX)-paneel — kies papierveilig zwart voor grijstintendruk, of een grotere grootte voor posterfiguren.

  4. Exporteer als PDF voor LaTeX-builds. Alle tekens (inclusief de \sqrt-wortelstreep) worden via opentype.js omgezet naar vectorpaden — het bestand is daarmee zelfvoorzienend, zonder lettertypeafhankelijkheid en zonder klachten van pdflatex. Met \includegraphics{...} voeg je het direct in je figuur in.

  5. Sla .drawtonomy.svg op als bronbestand. Als een reviewer een variant vraagt (“kun je \sigma vervangen door \rho?”), open je het .drawtonomy.svg-bestand opnieuw in drawtonomy, dubbelklik je op de vergelijking om de LaTeX te bewerken en exporteer je de PDF opnieuw. Geen hertekenen nodig.

  • \includegraphics{vergelijking.pdf} is de meest betrouwbare manier voor een artikel. De PDF-export van drawtonomy is op paden gebaseerd en werkt met elke LaTeX-engine (pdflatex, xelatex, lualatex).
  • SVG + het svg-pakket werkt ook, maar vereist Inkscape op de buildmachine. Betrouwbaar voor lokale builds, grillig op CI. Converteer lokaal naar PDF en bewaar de PDF in versiebeheer.
  • EPS is beschikbaar voor oudere latex + dvips-toolchains; dezelfde op paden gebaseerde kwaliteit als de PDF.
  • Lettertypen. Omdat tekst naar paden wordt omgezet, hoef je het lettertype van de papiertekst niet te matchen. De vergelijking ziet er altijd uit als KaTeX (Computer-Modern-stijl), ongeacht de lettertypekeuze in het document — wat doorgaans precies is wat je wilt.

Deze use case staat in de documentatie over autonoom rijden omdat drawtonomy als rijscenario-tool is begonnen, maar de Math-shape is generiek toepasbaar. Dezelfde werkwijze werkt voor:

  • Machine-learning-methodefiguren (verliesfuncties naast het netwerkdiagram).
  • Regeltechnische artikelen (overdrachtsfunctieblokken met de LaTeX-vorm naast elk blok).
  • Signaalverwerkingsfiguren (illustraties van Fourier-paren).
  • Natuur- of scheikundeartikelen (met \ce{} voor reactievergelijkingen).
  • Wiskundeartikelen (bewijsfiguren met stellingen erbij opgezet).

Als je het op een whiteboard kunt zetten, past het in drawtonomy.

Wanneer dit niet het juiste gereedschap is

Section titled “Wanneer dit niet het juiste gereedschap is”
  • Vergelijkingen die in een alinea tekst horen. Die horen in je LaTeX-broncode, niet in een figuur.
  • Dynamische grafieken op basis van data — gebruik daarvoor matplotlib, pgfplots of TikZ.