diff --git a/.github/test-environment.yml b/.github/test-environment.yml new file mode 100644 index 0000000..dc9e68a --- /dev/null +++ b/.github/test-environment.yml @@ -0,0 +1,5 @@ +name: test +channels: + - conda-forge +dependencies: + - verapdf diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..9f452a1 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,59 @@ +name: test + +on: + pull_request: + + push: + branches: + -main + + workflow_call: + +concurrency: + group: "${{ github.workflow }}-${{ github.ref }}" + cancel-in-progress: true + +jobs: + test: + name: test [TeX Live ${{ matrix.texlive-version }}] + runs-on: ubuntu-latest + defaults: + run: + shell: bash -el {0} + strategy: + fail-fast: false + matrix: + texlive-version: ["2025", "2026"] + steps: + - name: Checkout code + uses: actions/checkout@v7 + - name: Compile document + uses: xu-cheng/texlive-action@v3 + with: + texlive_version: ${{ matrix.texlive-version }} + run: | + latexmk main.tex + - name: Install veraPDF + uses: conda-incubator/setup-miniconda@v4 + with: + activate-environment: test + environment-file: ./.github/test-environment.yml + miniforge-version: latest + - name: Install veraPDF profiles + uses: actions/checkout@v7 + with: + repository: veraPDF/veraPDF-validation-profiles + path: veraPDF-profiles + - name: Validate UA-2 + run: | + verapdf -f ua2 --format html main.pdf > verapdf-ua-2.html + - name: Validate WCAG 2.2 + run: | + verapdf --profile veraPDF-profiles/PDF_UA/WCAG-2-2-Complete-PDF20.xml --format html main.pdf > verapdf-wcag-2.2.html + - name: Upload document and reports + uses: actions/upload-artifact@v4 + with: + name: test-TeX-Live-${{ matrix.texlive-version }} + path: | + main.pdf + verapdf-*.html diff --git a/.gitignore b/.gitignore index 74587e2..8edd525 100644 --- a/.gitignore +++ b/.gitignore @@ -16,4 +16,4 @@ *.blg *.run.xml _minted/ -thesis.pdf +main.pdf diff --git a/.latexmkrc b/.latexmkrc new file mode 100644 index 0000000..3a770d9 --- /dev/null +++ b/.latexmkrc @@ -0,0 +1,5 @@ + +$pdf_mode = 4; +$lualatex = 'lualatex -shell-escape -interaction=nonstopmode %O %S'; +$biber = 'biber %O %S'; +$clean_ext = 'aux bcf blg lof log lot run.xml synctex.gz toc'; diff --git a/README.md b/README.md index d7f7585..328bdc9 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ for all students, faculty, and staff, so directions to get started there are: 2. Open *Settings* (`File > Settings` or gear icon in lower left corner), go to the *Compiler* tab, then select LuaLaTeX from the list of compilers. Ensure the TeX Live version is set to the most current option. -3. Open [`thesis.tex`](./thesis.tex) in your Overleaf project, and click +3. Open [`main.tex`](./main.tex) in your Overleaf project, and click *Recompile* to generate a PDF. 4. [Configure your document](#configuration). 5. [Fill in your front matter](#front-matter). @@ -32,7 +32,7 @@ for all students, faculty, and staff, so directions to get started there are: > [!TIP] > If you are working locally on your computer, ensure you have installed a > current version of TeX Live and that you have set the compilers correctly. The -> comment lines at the top of [`thesis.tex`](./thesis.tex) are hints for some +> comment lines at the top of [`main.tex`](./main.tex) are hints for some > editors to use `lualatex` and `biber`. ## Configuration diff --git a/thesis.tex b/main.tex similarity index 95% rename from thesis.tex rename to main.tex index b223a9e..dec92b2 100644 --- a/thesis.tex +++ b/main.tex @@ -18,9 +18,10 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%% PACKAGES %%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% fontsetup can slow down compilation, so you may wish to omit these commands while writing -\usepackage{fontsetup} -\setsansfont{Arial} +% fontsetup can slow down compilation, so it is disabled by default +% uncomment these commands to use a system font like Arial rather than default TeX sans-serif +%\usepackage{fontsetup} +%\setsansfont{Arial} % If using math unicode-math is required. \usepackage{unicode-math}