Initial files from ChatGPT.

This commit is contained in:
Wesley R. Elsberry 2025-10-06 10:09:18 -04:00
parent 96235c83db
commit 0d06a59b91
2 changed files with 74 additions and 1 deletions

31
.github/workflows/build.yml vendored Executable file
View File

@ -0,0 +1,31 @@
name: Build PolyPaper
on: [push, pull_request, workflow_dispatch]
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix: { venue: [arxiv, ieee, elsevier, acm] }
steps:
- uses: actions/checkout@v4
- name: Build Docker image
run: docker build -f Dockerfile.full -t polypaper:full .
- name: Validate metadata (in container)
run: docker run --rm -v ${{ github.workspace }}:/work -w /work polypaper:full bash -lc 'chmod +x scripts/check_metadata.py && scripts/check_metadata.py'
- name: Build PDFs and HTML (${{ matrix.venue }})
run: |
docker run --rm -v ${{ github.workspace }}:/work -w /work polypaper:full bash -lc 'make VENUE=${{ matrix.venue }}'
docker run --rm -v ${{ github.workspace }}:/work -w /work polypaper:full bash -lc 'make supplement VENUE=${{ matrix.venue }}'
docker run --rm -v ${{ github.workspace }}:/work -w /work polypaper:full bash -lc 'make camera-ready VENUE=${{ matrix.venue }}'
docker run --rm -v ${{ github.workspace }}:/work -w /work polypaper:full bash -lc 'make site VENUE=${{ matrix.venue }}'
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: polypaper-${{ matrix.venue }}
path: |
paper-${{ matrix.venue }}.pdf
paper-supplement-${{ matrix.venue }}.pdf
paper-camera-ready-${{ matrix.venue }}.pdf
public/paper.html

View File

@ -1,3 +1,45 @@
# PolyPaper
PolyPaper is a set of tools for scientific manuscript production that combines a single source tree coherently with targeting documents for multiple venues.
PolyPaper is a set of tools for scientific manuscript production that combines a single source tree coherently with targeting documents for multiple venues.
## Rationale
Scientific research has uncertainties about publication venues that
have varying restrictions on page length, numbers of figures or
tables, or other restrictions. Being prepared for shifts in these
sorts of conditions has mostly required building entire variants of
manuscripts separate from one another. Besides additional effort, this
means that updates to content may need to be applied in multiple
different places, increasing the likelihood of drift between the
variants in statements, tone, or other properties. PolyPaper aims to
help keep similar content together leveraging the capabilities of
Emacs Org-Mode documents that provide literate programming capability
with LaTeX typesetting and Markdown/Pandoc flexible document type
generation.
## How it works
The first step is to have 'venues', which are simply the possible ways
in which the material can be presented for publication, as separate
Org-Mode documents. These will incorporate the metadata needed for
LaTeX production or Pandoc target.
The manuscript content will reside in an Emacs Org-Mode document. The
user can choose whether to keep that as a single document or use
include statements so that sections might have their own Org-Mode
document, depending on the research group's preferences on ways to
merge changes.
Figures and tables are also specified in the source document, and can
be updated through Org-Mode commands. All the necessary processing can
be accomplished via use of command-lines and thus Makefiles can
automate repeated tasks.
## Generative AI Disclosure
This repository was largely derived by Wesley R. Elsberry prompting OpenAI's ChatGPT
with GPT 5.
The associated chat session is at https://chatgpt.com/share/68e3c7d6-ef60-8007-b56c-8f221b8250da