Adaptation of the Rothemund reaction for carbaporphyrin synthesis: preparation of meso-tetraphenylazuliporphyrin and related benzocarbaporphyrins.