forked from Isabelle_DOF/Isabelle_DOF
101 lines
3.2 KiB
Markdown
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
|