
## Documentation Directory

This directory contains all the documentation for the program.

### Directories

- **figures**: Holds the figures used in the manual.
- **input_docs**: Generated by the Makefile to hold the automatically generated input reference sections of the manual.

### Files

- `../scripts/create_man.py`: Python script that automatically generates LaTeX help files for all the classes, used in the manual.
- `../scripts/help_list.py`: Python script to generate custom help files for the output classes, used in the manual.
- `../scripts/help.py`: Python script to generate custom help files for each of the input classes, used in the manual.
- `Makefile`: Makefile for generating the manual automatically.
- `manual.tex`: TeX file serving as the template for the manual.
- `mybib.bib`: Bibliography file for the manual.
- `elsarticle-num-names.bst`: Bibliography style file.
- `etoolbox.sty`: LaTeX package used by `manual.tex`.

### Notes

Some of the files listed above are used to automatically generate sections of the user manual and to create an XML file showing the class hierarchy. The sections of the user manual are generated in the `input_docs` directory. The user manual itself is created in two files:

- **manual.pdf**: The main user manual file, explaining how to run the code, the syntax for input and output files, and the design paradigm for i-PI. It also contains a tutorial that goes step-by-step through an example calculation.
- **manual.xml**: An XML file that contains all the input names, along with descriptions of their purpose and the expected values for each.

### Commands

- **Generate Help Files**:
  ```bash
  make
  ```

- **Clean Up (Remove Input Reference Sections and LaTeX Compiled Files)**:
  ```bash
  make clean
  ```

- **Full Clean (Remove All Generated Files)**:
  ```bash
  make distclean
  ```

