Introducing PsimagDoc

PsimagLite v1.0
Copyright (c) 2011, UT-Battelle, LLC
All rights reserved

[by G.A., Oak Ridge National Laboratory]

*********************************************************
DISCLAIMER

THE SOFTWARE IS SUPPLIED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER, CONTRIBUTORS, UNITED STATES GOVERNMENT,
OR THE UNITED STATES DEPARTMENT OF ENERGY BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.

NEITHER THE UNITED STATES GOVERNMENT, NOR THE UNITED
STATES DEPARTMENT OF ENERGY, NOR THE COPYRIGHT OWNER, NOR
ANY OF THEIR EMPLOYEES, REPRESENTS THAT THE USE OF ANY
INFORMATION, DATA, APPARATUS, PRODUCT, OR PROCESS
DISCLOSED WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS.

*********************************************************

Synopsis:
Creates a .tex document from a .ptex document

perl psimagdoc.pl < document.ptex > document.tex

Description:
A .ptex document is a valid .tex document with certain TeX commands like
\ptexPaste{...} that enables the introduction of pieces of documentations that
are scattered in the code.
Doxygen needs to be run on the code with this option:
GENERATE_PERLMOD       = YES
in the Doxygen file. 

The script psimagdoc.pl will then load all documentation (that must conform
to Doxygen's rules) and use it to replace  \ptexPaste{...} entries in document.ptex
to create document.tex.

All this should happen automatically, and it already does for DMRG++. So, in this case
you obtain a doc/manual.pdf document when you run make in your DMRG++ distribution.

Available Commands:
\ptexPaste{class,function}
please use Doxygen's rules to specify classes and functions. For examples, see
doc/manual.ptex in your DMRG++ distribution.

\ptexReadFile{filename}
Dumps the unprocessed file into the document. 

Legacy: PsimagDoc replaces pTeX.pl, and my previous tool multiweb which was based on nuweb.
Documentation in files will---slowly---be transformed into Doxygen, 
so that it can be processed with PsimagDoc.

See also:
Doxygen's perlmod documentation,
http://www.stack.nl/~dimitri/doxygen/perlmod.html

DMRG++ doc/manual.ptex file

