An open API service indexing awesome lists of open source software.

https://github.com/cvdlab/larlib-literate

Literate programming approach for LAR in Julia, source of https://github.com/cvdlab/LARLIB.jl
https://github.com/cvdlab/larlib-literate

algebraic-geometry algebraic-topology julia julia-library literate-programming

Last synced: about 1 month ago
JSON representation

Literate programming approach for LAR in Julia, source of https://github.com/cvdlab/LARLIB.jl

Awesome Lists containing this project

README

          

# larlib-literate
Literate programming approach (with [nuweb](http://nuweb.sourceforge.net/)) for LAR in Julia. This is the development repo for the [LARLIB.jl package](https://github.com/cvdlab/LARLIB.jl).
If you are looking only for the LARLIB.jl package, this is not the right place.

### How to contribute

Here a quick start for the people who contribute to a literate programming project for the first time:

1. Fork this repo

2. Put your Julia code inside a LaTEX file called `ch_.tex` in the `src/pkg/tex/` folder. The barebone structure of this file must be:
```
\chapter{}
\label{ch:}

@O lib/jl/.jl
@{
@}

@O test/jl/.jl
@{using Base.Test
using LARLIB

@}
```
(refer to `src/pkg/tex/ch_planar_arrangement.tex` for a well
structured LaTEX+nuweb file)

3. Modify `src/pkg/tex/intro.tex` by appending to it a LaTEX chapter with the high-level description of the algorithm you implemented.

4. Add the line `\input{ch_.tex}` right before `\input{ch_utilities.tex}` inside `src/pkg/tex/book.tex`.

5. Add the line `include("./.jl")` anywhere inside the `@O lib/jl/LARLIB.jl` nuweb macro defined at the beginning of `src/pkg/tex/ch_larlib.tex`.

6. Add the line `include("./.jl")` anywhere inside the `@O test/jl/runtests.jl` nuweb macro defined at the bottom of `src/pkg/tex/ch_larlib.tex`.

7. Do a pull request. If it gets accepted, we will take care of the insertion of your contribution inside the [LARLIB.jl package repo](https://github.com/cvdlab/LARLIB.jl).

### Makefile Usage

`make all` generates Julia scripts and pdf docs of LARLIB and its test units.
`make lib_code` generates only the scripts and the tests.
`make lib_pdf` generates the pdf docs and the scripts and tests.

### Docker

You can use the previous build commands prepending `docker-` so that, e.g. `make all` becomes `make docker-all`, to use a docker image that contains everything to perform the building.