Skip to content

fortran-lang/fortran-forum-article-template

Repository files navigation

ACM SIGPLAN Fortran Forum Article Template

This repository provides a template for

  1. Building an ACM SIGPLAN Fortran Forum article in Portable Document Format (PDF).
  2. Automatically deploying the article PDF to a GitHub Pages web site.
  3. Building and testing any accompanying application and library source code and related dependencies.
  4. Building and executing any accompanying unit tests.

Prerequisites

Working on GitHub

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.

Working on your own platform

We recommend using the latest versions of the prerequisite packages. Where a minimum version is known, we note it below.

  1. Fortran Package Manager (fpm)
  2. GNU make
  3. pandoc 2.11 document format converter.
  4. py-pandoc-include-code for embedding Fortran in LaTeX.
  5. LaTeX document preparation software.
  6. codespell spell-checker.

We recommend installing fpm from a released executable file. If possible, install the remaining packages using a package manager.

Building the paper

Automated building and deployment of a paper PDF to a GitHub Pages site

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.

Building a paper on yor own platform

In a command-line shell on Linux, macOS, or Windows Subsystem for Linux, compile the PDF of the paper as follows:

git clone [email protected]: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.

Building and testing the code

Automated building and testing of source code on GitHub

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].

Building source code and testing on yor own platform

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.

Writing your article

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.