This repository has been archived on 2024-04-22. You can view files and clone it, but cannot push or open issues or pull requests.
Isabelle_DOF/document-generator/README.md

101 lines
3.2 KiB
Markdown

# Isabelle_DOF: Document Preparation Setup
This directory contains the DOF-plugin for Isabelle's
document generation system.
## Installation
In most case, the DOF-plugin can be installed as follows:
```console
foo@bar:~$ ./install
```
If a specific Isabelle version should be used (i.e., not the default
one), the full path to the ``isabelle`` command needs to be passed as
argument to the ``install`` script:
```console
foo@bar:~$ ./install /usr/local/Isabelle2016-1/bin/isabelle
```
The DOF-plugin will be installed in the Isabelle user directory
(the exact location depends on the Isabelle version).
## Usage
The DOF-plugin provides an alternative to Isabelle's ``mkroot`` command.
Isabelle projects that use DOF need to be created using
```console
isabelle DOF_mkroot -d
```
The ``DOF_mkroot`` command takes the same parameter as the standard
``mkroot`` command of Isabelle. Thereafter, the normal Isabelle
command for building documents can be used.
Using the ``-o`` option, different LaTeX and ontology setups can be
selected (use ``-h`` to obtain a list of all installed setups):
```console
-o TEMPLATE alternative setup for root.tex (default: basic support using scrreprt)
Available templates:
* default-scrreprt
* scholarly_paper-lncs
```
For example,
```console
isabelle DOF_mkroot -d -o scholarly_paper-lncs
```
creates a setup using the scholarly_paper ontology and Springer's
LNCS LaTeX class as document class. Note that the generated setup
does not include the actual ``llncs.cls`` file. This is due to
license restrictions. You need to obtain the file from Springer's
website and either copy it in you ``texmf`` directory or the ``root``
folder. In the latter case, you also need to add it in the ``ROOT`` file
as dependency.
## Development Setup
Compilation using the provided ``build`` script, e.g.:
```console
cd converter
./build
```
This build script requires a basic Unix-environment as, e.g., provided
by Isabelle as well as a running Isabelle installation.
In addition, a maven setup is maintained that, e.g., can be imported
into Eclipse. This results in an Scala development environment that
supports the usual features of a modern IDE, e.g., Intellisense.
### Prerequisites (Eclipse Setup)
* Java 8
* Eclipse Oxygen, including
* [Scala IDE and Scalatest Runner (the latter is optional)](http://download.scala-ide.org/sdk/lithium/e47/scala212/stable/site)
* ["Maven for Scala" - Maven Integration for Eclipse](http://alchim31.free.fr/m2e-scala/update-site)
### Checkout
The converter is part of the Isabelle DOF repository:
```console
git clone https://git.logicalhacking.com/HOL-OCL/Isabelle_DOF.git
```
### Importing the Project into Eclipse
The project can be imported into a fresh Eclipse workspace using
`File -> Import -> Maven -> Existing Maven Projects`. Please select
the ``converter`` directory as parent directory. After the import, you
might need to resolve the dependencies using the maven integration of
Eclipse.
## Team
Main contacts:
* [Achim D. Brucker](http://www.brucker.ch/)
* [Burkhart Wolff](https://www.lri.fr/~wolff/)
## License
This project is licensed under a 2-clause BSD license.
SPDX-License-Identifier: BSD-2-Clause