We shall outline a directory structure that can be effective when assembling different DocOnce documents into a book:
doc
src
chapters
ch2
fig-ch2
src-ch2
mov-ch2
exer-ch2
book
pub
chapters
book
web
The root directory for all documentation is called doc
, with two
subdirectories: src
for all the DocOnce source code, and pub
for
compiled (published) documents in various formats. A third
subdirectory, web
, is often present as an entry point for the web
pages on GitHub. This directory typically contains the autogenerated
index.html
and additional style files on GitHub. The index.html
file should have links to published documents in ../pub
.
Under doc/src
we may have a directory chapters
for
the individual chapters and a directory book
for the assembly into
a book. One may also think of more than one book directory if a set
of documents (chapters) naturally leads to multiple books. All
chapters can then be put in the chapters
directory.
Each chapter has a short nickname, say ch2
for simplicity
for Chapter 2 (a more descriptive name related to the content is obviously
much better!). Figures are placed in subdirectory fig-ch2
and
computer code in subdirectory src-ch2
.
These two latter directories may have subdirectories if desired.
We may also include a directory mov-ch2
for video files, exer-ch2
for
answers to exercises, etc.
Under book
, we typically have a document book.do.txt
for the complete
book. This is a file with a lot of # #include "...do.txt"
statements for the Preprocess preprocessor for
including the files for the various chapters, see the section Assembling different pieces to a book for details. Additional files
in the book
directory include make files for compiling the book,
scripts for packing the book for publishing, perhaps an errata document, etc.