It was. Enclosed is my copy of your outline, with some, but not all, @root trees converted.
Here is what I did:
- Removed top-level nodes that didn't contain code.
- Changed the @root directive in the body text to @clean in the headline.
- Made clones of all section references defined outside of @clean nodes, and moved the clones so they are children of the nodes that reference them.
- Saved the @clean nodes, and the verified that the external files were the same as before, or nearly so.
Optional steps. I did some of these, but not all:
- Delete all @unit and @code directives.
- Change @doc to @.
- Indicate "library" (cloned) nodes by prefixing their names with, say, "Lib:".
- Use @others rather than section references of self-contained library nodes.
- Change @clean to @file after you are satisfied with the results.
Summary
Unless you have dozens of files to convert, it should be straightforward to convert from @root to @clean (or
@file).
I am more convinced than ever that @root should go.
Please feel free to ask more questions.
Edward