TeXitor Molekül-Bibliothek

Typst · alchemist 0.2.0

TeXitor Molekül-Bibliothek

38 Strukturformeln als fertige Codebausteine. Jede Vorschau wurde mit genau diesem Code und der TeXitor-Standardpräambel gerendert.

  1. Molekül suchen oder Kategorie wählen.
  2. Auf Kopieren tippen.
  3. In TeXitor im Typst-Modus einfügen.
  4. Winkel anpassen: angle: 1 entspricht 30°.

Benötigte Präambel

TeXitor-Standardpräambel mit aktivierter Zeile #show math.equation für Helvetica Neue. Die Winkel setzen angle-increment: 30deg voraus.

#import "@preview/alchemist:0.2.0": *
#import "@preview/chemformula:0.1.3": ch
#import "@preview/typsium:0.3.2": *
#set text(size: 16pt)
#set page(width: auto, height: auto, margin: (top: 8pt, bottom: 20pt, left: 8pt, right: 8pt), fill: none)

#show math.equation: set text(font: "Helvetica Neue") //activate when only structures are built

#let skeletize = skeletize-config((atom-sep: 1, angle-increment: 30deg))
Strukturformel Wasser

Wasser

H2O

Gewinkelt, mit freien Elektronenpaaren (Lewis)

#skeletize({
  fragment("H")
  single(angle: 1)
  fragment("O", lewis: (
    lewis-line(angle: 45deg),
    lewis-line(angle: 135deg),
  ))
  single(angle: -1)
  fragment("H")
})
Strukturformel Methan

Methan

CH4

Tetraeder mit Keil- und Strichbindung

#skeletize({
  fragment("C")
  branch({ single(angle: 3, atom-sep: 1.3); fragment("H") })
  branch({ single(angle: 7, atom-sep: 1.3); fragment("H") })
  branch({ cram-dashed-left(absolute: -15deg, atom-sep: 1.3, base-length: .45em); fragment("H") })
  cram-filled-left(absolute: -75deg, atom-sep: 1.3, base-length: .45em)
  fragment("H")
})
Strukturformel Ammoniak

Ammoniak

NH3

Trigonal-pyramidal, freies Elektronenpaar oben

#skeletize({
  fragment("N", lewis: (lewis-line(angle: 90deg),))
  branch({ single(angle: 7, atom-sep: 1.3); fragment("H") })
  branch({ cram-dashed-left(absolute: -15deg, atom-sep: 1.3, base-length: .45em); fragment("H") })
  cram-filled-left(absolute: -75deg, atom-sep: 1.3, base-length: .45em)
  fragment("H")
})
Strukturformel Kohlenstoffdioxid

Kohlenstoffdioxid

CO2

Linear, zwei Doppelbindungen

#skeletize({
  fragment("O")
  double()
  fragment("C")
  double()
  fragment("O")
})
Strukturformel Formaldehyd

Formaldehyd

CH2O

Trigonal-planar

#skeletize({
  fragment("H")
  single(angle: -1)
  fragment("C")
  branch({ single(angle: 1); fragment("H") })
  double(angle: -3)
  fragment("O")
})
Strukturformel Ethen

Ethen

C2H4

Doppelbindung, Halbstruktur

#skeletize({
  fragment("H_2C")
  double()
  fragment("CH_2")
})
Strukturformel Ethin

Ethin

C2H2

Dreifachbindung

#skeletize({
  fragment("H")
  single()
  fragment("C")
  triple()
  fragment("C")
  single()
  fragment("H")
})
Strukturformel Blausäure

Blausäure

HCN

Dreifachbindung zu Stickstoff

#skeletize({
  fragment("H")
  single()
  fragment("C")
  triple()
  fragment("N", lewis: (lewis-line(angle: 0deg),))
})
Strukturformel n-Butan

n-Butan

C4H10

Zickzack-Skelettformel

#skeletize({
  single(angle: 1)
  single(angle: -1)
  single(angle: 1)
})
Strukturformel Ethanol

Ethanol

C2H6O

Skelettformel mit OH-Gruppe

#skeletize({
  single(angle: 1)
  single(angle: -1)
  fragment("OH")
})
Strukturformel Essigsäure

Essigsäure

C2H4O2

Carboxygruppe

#skeletize({
  single(angle: 1)
  branch({ double(angle: 3); fragment("O") })
  single(angle: -1)
  fragment("OH")
})
Strukturformel Aceton

Aceton

C3H6O

Keton

#skeletize({
  single(angle: 1)
  branch({ double(angle: 3); fragment("O") })
  single(angle: -1)
})
Strukturformel Acetaldehyd

Acetaldehyd

C2H4O

Aldehydgruppe

#skeletize({
  single(angle: 1)
  branch({ double(angle: 3); fragment("O") })
  single(angle: -1)
  fragment("H")
})
Strukturformel Isopropanol

Isopropanol

C3H8O

Sekundärer Alkohol

#skeletize({
  single(angle: 1)
  branch({ single(angle: 3); fragment("OH") })
  single(angle: -1)
})
Strukturformel Diethylether

Diethylether

C4H10O

Ether

#skeletize({
  single(angle: 1)
  single(angle: -1)
  fragment("O")
  single(angle: 1)
  single(angle: -1)
})
Strukturformel Ethylacetat

Ethylacetat

C4H8O2

Ester

#skeletize({
  single(angle: 1)
  branch({ double(angle: 3); fragment("O") })
  single(angle: -1)
  fragment("O")
  single(angle: 1)
  single(angle: -1)
})
Strukturformel Harnstoff

Harnstoff

CH4N2O

Carbonyl mit zwei Aminogruppen

#skeletize({
  fragment("H_2N")
  single(angle: 1)
  branch({ double(angle: 3); fragment("O") })
  single(angle: -1)
  fragment("NH_2")
})
Strukturformel Cyclohexan

Cyclohexan

C6H12

Sechsring, nur Einfachbindungen

#skeletize({
  cycle(6, {
    single()
    single()
    single()
    single()
    single()
    single()
  })
})
Strukturformel Cyclopentan

Cyclopentan

C5H10

Fünfring

#skeletize({
  cycle(5, {
    single()
    single()
    single()
    single()
    single()
  })
})
Strukturformel Benzol (Kekulé)

Benzol (Kekulé)

C6H6

Alternierende Doppelbindungen

#skeletize({
  cycle(6, {
    single()
    double()
    single()
    double()
    single()
    double()
  })
})
Strukturformel Benzol (Kreis)

Benzol (Kreis)

C6H6

Aromatischer Ring mit Innenkreis – arc: (:)

#skeletize({
  cycle(6, arc: (:), {
    single()
    single()
    single()
    single()
    single()
    single()
  })
})
Strukturformel Toluol

Toluol

C7H8

Methyl am Ring (branch im cycle)

#skeletize({
  cycle(6, {
    branch({ single(); fragment("H_3C") })
    single()
    double()
    single()
    double()
    single()
    double()
  })
})
Strukturformel Phenol

Phenol

C6H6O

OH am aromatischen Ring

#skeletize({
  cycle(6, {
    branch({ single(); fragment("HO") })
    double()
    single()
    double()
    single()
    double()
    single()
  })
})
Strukturformel Anilin

Anilin

C6H7N

NH2 am aromatischen Ring

#skeletize({
  cycle(6, {
    branch({ single(); fragment("H_2N") })
    double()
    single()
    double()
    single()
    double()
    single()
  })
})
Strukturformel Benzoesäure

Benzoesäure

C7H6O2

Carboxygruppe am Ring

#skeletize({
  cycle(6, {
    branch({
      single()
      branch({ double(relative: 60deg); fragment("O") })
      single(relative: -60deg)
      fragment("HO")
    })
    double()
    single()
    double()
    single()
    double()
    single()
  })
})
Strukturformel Nitrobenzol

Nitrobenzol

C6H5NO2

Nitrogruppe mit Ladungen

#skeletize({
  cycle(6, {
    branch({
      single()
      fragment("N^+")
      branch({ double(relative: 60deg); fragment("O") })
      single(relative: -60deg)
      fragment("O^-")
    })
    double()
    single()
    double()
    single()
    double()
    single()
  })
})
Strukturformel Pyridin

Pyridin

C5H5N

Heteroaromat mit N im Ring

#skeletize({
  fragment("N")
  cycle(6, {
    double()
    single()
    double()
    single()
    double()
    single()
  })
})
Strukturformel Furan

Furan

C4H4O

Fünfring-Heteroaromat

#skeletize({
  fragment("O")
  cycle(5, {
    single()
    double()
    single()
    double()
    single()
  })
})
Strukturformel Naphthalin

Naphthalin

C10H8

Zwei anellierte Ringe (cycle im cycle)

#skeletize({
  cycle(6, {
    double()
    single()
    double()
    single()
    branch({
      cycle(6, {
        single()
        double()
        single()
        double()
        single()
      })
    })
    double()
    single()
  })
})
Strukturformel Glycin

Glycin

C2H5NO2

Einfachste Aminosäure

#skeletize({
  fragment("H_2N")
  single(angle: 1)
  single(angle: -1)
  branch({ double(angle: -3); fragment("O") })
  single(angle: 1)
  fragment("OH")
})
Strukturformel L-Alanin

L-Alanin

C3H7NO2

Stereozentrum mit Keil

#skeletize({
  fragment("H_2N")
  single(angle: 1)
  branch({ cram-filled-left(angle: 3, base-length: .45em); fragment("CH_3") })
  single(angle: -1)
  branch({ double(angle: -3); fragment("O") })
  single(angle: 1)
  fragment("OH")
})
Strukturformel Milchsäure

Milchsäure

C3H6O3

Stereozentrum mit Strichkeil

#skeletize({
  single(angle: 1)
  branch({ cram-dashed-left(angle: 3, base-length: .45em); fragment("OH") })
  single(angle: -1)
  branch({ double(angle: -3); fragment("O") })
  single(angle: 1)
  fragment("OH")
})
Strukturformel Acetylsalicylsäure (Aspirin)

Acetylsalicylsäure (Aspirin)

C9H8O4

Zwei Substituenten am Ring (ortho)

#skeletize({
  cycle(6, {
    branch({
      single()
      branch({ double(relative: -60deg); fragment("O") })
      single(relative: 60deg)
      fragment("HO")
    })
    double()
    branch({
      single()
      fragment("O")
      single(relative: 60deg)
      branch({ double(relative: 60deg); fragment("O") })
      single(relative: -60deg)
    })
    single()
    double()
    single()
    double()
    single()
  })
})
Strukturformel Paracetamol

Paracetamol

C8H9NO2

para-substituierter Ring

#skeletize({
  cycle(6, {
    branch({ single(); fragment("HO") })
    double()
    single()
    double()
    branch({
      single()
      fragment("HN", vertical: true)
      single(relative: -60deg)
      branch({ double(relative: -60deg); fragment("O") })
      single(relative: 60deg)
    })
    single()
    double()
    single()
  })
})
Strukturformel Vanillin

Vanillin

C8H8O3

Aldehyd, Methoxy- und OH-Gruppe

#skeletize({
  cycle(6, {
    branch({ single(); fragment("H_3CO") })
    double()
    branch({ single(); fragment("OH") })
    single()
    double()
    single()
    branch({
      single()
      double(relative: -60deg)
      fragment("O")
    })
    double()
    single()
  })
})
Strukturformel PVC

PVC

(C2H3Cl)n

Wiederholungseinheit als Strukturformel

#[
  // Klammern brauchen eine Mathe-Schrift zum Strecken
  #show math.lr: set text(font: "New Computer Modern Math")
  #skeletize({
    parenthesis(l: "[", r: "]", br: n, {
      single()
      fragment("C")
      branch({ single(angle: 3); fragment("H") })
      branch({ single(angle: -3); fragment("H") })
      single()
      fragment("C")
      branch({ single(angle: 3); fragment("H") })
      branch({ single(angle: -3); fragment("Cl") })
      single()
    })
  })
]
Strukturformel Acetat-Ion

Acetat-Ion

CH3COO⁻

Anion mit Ladung am Fragment

#skeletize({
  single(angle: 1)
  branch({ double(angle: 3); fragment("O") })
  single(angle: -1)
  fragment("O^-")
})
Strukturformel Ammonium-Ion

Ammonium-Ion

NH4⁺

Kation, Ladung in eckigen Klammern

#[
  // Klammern brauchen eine Mathe-Schrift zum Strecken
  #show math.lr: set text(font: "New Computer Modern Math")
  #skeletize({
    parenthesis(l: "[", r: "]", tr: +, {
      fragment("H")
      single()
      fragment("N")
      branch({ single(angle: 3); fragment("H") })
      branch({ single(angle: -3); fragment("H") })
      single()
      fragment("H")
    })
  })
]
Spickzettel

Einzelne Bausteine

Die wichtigsten Befehle zum Kombinieren eigener Moleküle. Alle stehen innerhalb von #skeletize({ … }).

Bindung einfach / doppelt / dreifach

single()
double()
triple()

Winkel in 30°-Schritten

single(angle: 1)   // 30°
single(angle: 3)   // 90° nach oben
single(angle: -1)  // −30°
single(angle: 6)   // 180° nach links

Absoluter / relativer Winkel

single(absolute: -15deg)
double(relative: 60deg)  // zur vorigen Bindung

Bindungslänge ändern

single(atom-sep: 1.3)

Keil (zum Betrachter)

// breites Ende am Substituenten
cram-filled-left(base-length: .45em)

Strichkeil / Hohlkeil

cram-dashed-left(base-length: .45em)
cram-hollow-left(base-length: .45em)

Seitenkette

branch({
  single(angle: 3)
  fragment("OH")
})

Ring mit Substituent

cycle(6, {
  branch({ single(); fragment("CH_3") })
  single()
  double()
  single()
  double()
  single()
  double()
})

Aromatischer Innenkreis

cycle(6, arc: (:), { … })

Freies Elektronenpaar

fragment("O", lewis: (
  lewis-line(angle: 45deg),
  lewis-line(angle: 135deg),
))

Tiefgestellt & Ladung

fragment("CH_3")
fragment("NH_4^+")
fragment("O^-")

Polymer / Ion in Klammern

parenthesis(l: "[", r: "]", br: n, { … })
parenthesis(l: "[", r: "]", tr: +, { … })

Klammern mit Helvetica strecken

#[
  #show math.lr: set text(font: "New Computer Modern Math")
  #skeletize({ parenthesis(…) })
]

Farbige Bindung

double(stroke: red)
Gerendert mit Typst 0.14, alchemist 0.2.0 und CeTZ 0.5.2. Helvetica Neue ist eine Apple-Schrift; die Vorschaubilder nutzen den Klon TeX Gyre Heros. In TeXitor erscheint die echte Helvetica Neue.