[texhax] writing about 2 parallel developments of a product withthe same base code

Vaida Bogdan vaida.bogdan at gmail.com
Thu Feb 1 11:24:33 CET 2007


Thank you for all the information. I used optional.sty together with soft links.

On 1/31/07, Hartmut Henkel <hartmut_henkel at gmx.de> wrote:
> On Tue, 30 Jan 2007, Philip G. Ratcliffe wrote:
>
> > > Hi, can someone tell me how can I write 2 documents that have 90% of
> > > the content the same, the rest 10% modified, some sections added, some
> > > modified and some deleted?
> > > Basically I need to write about 2 parallel developments of a product
> > > with the same base code.
> >
> > Simply put the content in separate subfiles and have two main files that
> > \input or \include (N.B. \include starts a new page) the various subfiles as
> > necessary.
> >
> > Alternatively to maintain just a single main file, or if you wish to
> > interleave pieces for one or other document inside the subfiles, put
> >
> >   \newif\ifdocA
> >
> > in the main files' preambles, followed by either \docAtrue or \docAfalse
> > accordingly.
> >
> > In your subfiles you can then simply put things like:
> >
> > This product is \ifdocAtrue really wonderful\else absolutely useless\fi. We
> > \ifdocAtrue\else cannot \fi recommend it.
>
> you can also create one master document (e. g. doc.tex) for editing and
> make links with different names to it (e. g. doc-a.tex and doc-b.tex (or
> only doc-a.tex)):
>
> $ ln -s doc.tex doc-a.tex
> $ ln -s doc.tex doc-b.tex
>
> Then prepare file doc.tex like the following for automatic switching
> between document variants based on the document name:
>
> \documentclass{article}
>
> \newif\ifdocA
> \expandafter\def\csname doc-a\endcsname{\docAtrue}
> \expandafter\def\csname doc-b\endcsname{\docAfalse}
> \csname\jobname\endcsname
>
> \begin{document}
> This is the  \ifdocA original \else alternate \fi version.
> \end{document}
>
> Regards, Hartmut
>


More information about the texhax mailing list