A floating figure or table typically consists of the following parts:
- The floating environment
- The figure itself
- A caption
- Optionally, rules before/after the figure
- Perhaps a "source" statement
Different layouts have different requirements for, e.g., positioning of captions, typical placement of floats, presence of rules etc.. This makes code reuse difficult. For this reason, we have created an abstraction layer that takes everything the figure consists of as arguments and arranges it so that it matches the requirements of the different layouts.
My question is: Is there already a package that provides this or a similar functionality? If not, would such a package be of general interest, or is the approach flawed in some way?