This repository provides a template for
- Building an ACM SIGPLAN Fortran Forum article in Portable Document Format (PDF).
- Automatically deploying the article PDF to a GitHub Pages web site.
- Building and testing any accompanying application and library source code and related dependencies.
- Building and executing any accompanying unit tests.
No prerequisites are required for writing and building your paper and source code on GitHub. If no errors occur, the paper will be deployed to the web and the results of the continuous integration (CI) tests will be reported on GitHub.
We recommend using the latest versions of the prerequisite packages. Where a minimum version is known, we note it below.
- Fortran Package Manager (fpm)
- GNU make
- pandoc 2.11 document format converter.
- py-pandoc-include-code for embedding Fortran in LaTeX.
- LaTeX document preparation software.
- codespell spell-checker.
We recommend installing fpm
from a released executable file.
If possible, install the remaining packages using a package manager.
The article uses GitHub-flavored Markdown with embedded LaTeX commands for equations and figures and BibTeX citations for generating a bibliography.
This repository employs a CI script to automatically generate a Portable Document Format (PDF) file from the all Markdown files matching the doc/paper/part-*.md
glob expression.
The CI script .github/workflows/CI.yml deploys the resulting PDF file to a public GitHub Pages web site with a URL of the form https://username.github.io/project-name
.
To support this feature, a user must enable GitHub Pages for their fork of this repository.
Users who prefer to prevent the public deployment of the PDF may do so by removing the Prepare for Deployment
and Deploy to GitHub Pages
blocks of code in the aforementioned CI script.
We encourage those who are so inclined to make their PDF public to support open access to your work.
In a command-line shell on Linux, macOS, or Windows Subsystem for Linux, compile the PDF of the paper as follows:
git clone git@github.com:fortran-lang/fortran-forum-article-template
cd fortran-forum-article-template
make
If this creates paper.pdf
, write your paper in doc/paper/part-*.md
files.
This repository's CI script builds the example [app/main.f90] program and links it to a static library built from the code in [src]. The CI script runs the resulting main program and builds and runs the Vegetables unit tests in [tests].
Build and test the example code as follows:
fpm test
If the test(s) pass(es), replace the Fortran source in src with your code.
The paper.pdf
file generated from the unmodified version of this repository explains several Markdown and LaTeX features that you can use in writing your paper.
To write your paper, edit or replace the doc/paper/part-00.md file and add any additional part-*.md
files you write in the same subdirectory.