This SVG file was generated from the following DOT code, which was created with the help of AI:
digraph G {
rankdir=LR; nodesep=0.6; ranksep=0.9; splines=polyline;
node [shape=box, style="rounded", penwidth=1.2, fontsize=12, fontname="Helvetica"];
// ----- left column (also italic p/o)
B [label="Benzene"];
T [label="Toluene"];
PX [label=<<I>p</I>-Xylene>];
OX [label=<<I>o</I>-Xylene>];
// keep all four at the far-left and in the order B–T–PX–OX
{ rank=min; B; T; PX; OX }
edge [style=invis, weight=40, constraint=false]; B -> T -> PX -> OX;
edge [style=solid, weight=1, constraint=true]; // <-- reset defaults
// upward arrow that doesn't affect placement
T -> B [constraint=false, tailport=n, headport=s];
// ----- other nodes
EB [label="Ethylbenzene"]; STY [label="Styrene"]; PS [label="Polystyrene"];
CUM [label="Cumene"]; PA [label="Phenol,\nAcetone"]; BPA [label="Bisphenol A"];
PRPC [label="Phenolic resins,\nPolycarbonate"];
CH [label="Cyclohexane"]; CHO [label="Cyclohexanone"];
CAP [label="Caprolactam"]; N6 [label="Nylon-6"];
TDI [label="Toluene Diisocyanate"]; PUR [label="Polyurethane"];
GAS [label="Gasoline component"];
TPA [label="Terephthalic Acid"]; PFR [label="Polyester fibers\nand resins"];
PAH [label="Phthalic Anhydride"];
// ----- real edges
B -> EB -> STY -> PS;
B -> CUM [weight=80, tailport=e, headport=w];
CUM -> PA -> BPA -> PRPC;
B -> CH -> CHO -> CAP -> N6;
T -> TDI -> PUR;
T -> GAS;
PX -> TPA -> PFR;
OX -> PAH;
// ----- centering nudges (all invisible)
// Center Benzene over its three branches by emphasizing the middle chain
edge [style=invis, weight=30, constraint=false]; EB -> CUM -> CH;
// B -> CUM [style=invis, weight=80, constraint=false];
// Keep Toluene midway between its two branches
TDI -> GAS [style=invis, weight=30, constraint=false];
edge [style=solid, weight=1, constraint=true]; // <-- reset defaults again
}