Liebe ihr.

Ich habe dieses Diagramm gefunden und brauche etwas, dass genau so aussieht. Ist es möglich so etwas in LaTeX zu machen? (Am liebsten auch mit caption beschriften)? Chemie

Wäre wirklich toll, wenn mir da Jemand weiterhelfen könnte. Ist tikz dafür geeignet? Wäre nett, wenn mir Jemand hilft. Denn solche Diagramme muss ich des öfteren erstellen.

Vielen Dank schon im Voraus!!!

gefragt 15 Sep '14, 22:21

Basilius%20Sapientia's gravatar image

Basilius Sap...
510143442
Akzeptiert-Rate: 33%


Wie im Kommentar schon gesagt: Mit chemmacros und chemfig geht das relativ einfach. chemmacros liefert das \State-Makro und bindet außerdem schon siunitx ein, das für die Temperaturangaben verwendet werden kann.

chemfig kann man verwenden, um das Schema zu erstellen. Das Prinzip geht so:

\schemestart
  <knoten>
  \arrow
  <knoten>
  \arrow
  <knoten>
\schemestop

Die Ausrichtung etc wird komplett mit dem \arrow-Befehl gesteuert. Ein optionales Argument z.B. erlaubt Beeinflussung seiner Länge und des Winkels der Richtung:

\arrow[<Winkel>,<Längenfaktor>]% Voreinstellung: 0 und 1

Ein weiteres Argument erlaubt Angabe des Pfeiltyps (-> oder <- oder ...) und damit auch einer Beschriftung des Pfeils:

\arrow{->[oben][unten]}

Im Beispiel verwende ich beispielsweise folgende Zeile:

\arrow(.60--){->[*{0}{\state[subscript-right=l]{S}}]}[90]

Das ist ein Pfeil, der am Knoten, an dem er startet, bei 60° ankert (im Sinne von TikZ-Ankern), der in 90°-Richtung, also nach oben, zeigt. Seine Beschriftung startet mit *{0} was heißt, dass sie nicht parallel zum Pfeil ausgerichtet ist, sondern im Winkel 0°, also horizontal.

\documentclass{article}
\usepackage{chemmacros,chemfig}

\chemsetup{
  modules = thermodynamics ,
  thermodynamics/superscript-right =
}

\begin{document}

\schemestart
  \ch{H2O}\,(l, \SI{0}{\celsius})
  \arrow{->[\state[subscript-left=trs]{S}($\text{l}\to\text{s}$, \SI{0}{\celsius})]}[,2.5]
  \ch{H2O}\,(s, \SI{0}{\celsius})
  \arrow(--.120){->[*{0}{\state[subscript-right=s]{S}}]}[-90]
  \ch{H2O}\,(s, \SI{-5}{\celsius})
  \arrow{->[\state[subscript-left=trs]{S}($\text{s}\to\text{l}$, \SI{-5}{\celsius})]}[-180,2.5]
  \ch{H2O}\,(l, \SI{-5}{\celsius})
  \arrow(.60--){->[*{0}{\state[subscript-right=l]{S}}]}[90]
\schemestop

\end{document}

Das ganze Schema kann man z.B. in eine figure-Umgebung setzen, die sich dann mit \caption Becshriften ließe. Man kann sich auch eine neue Gleitumgebung scheme definieren (Wie kann ich eine neue Gleitumgebung definieren?) und die dann mit \caption beschriften.

alt text

Permanenter link

beantwortet 16 Sep '14, 10:52

cgnieder's gravatar image

cgnieder
22.1k243463
Akzeptiert-Rate: 60%

bearbeitet 02 Nov '19, 19:34

@Clemens Der Code funktioniert bei mir nicht. Woran liegt das? Ich habe ihn mit copy 'n' paste übernommen und bekomme die Meldung: "! LaTeX3 Error: The key 'chemmacros/state/exponent' is unknown and is being (LaTeX3)ignored."

(02 Nov '19, 19:22) Delorian

@Delorian Jo, ist etwas veraltet… ich aktualisiere ihn

(02 Nov '19, 19:33) cgnieder
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×728
×26

gestellte Frage: 15 Sep '14, 22:21

Frage wurde gesehen: 8,618 Mal

zuletzt geändert: 02 Nov '19, 19:34