Use of hydrogen bonds to control molecular aggregation. Extensive, self-complementary arrays of donors and acceptors | doi.page