From 506789d6f916a86881b23e6312eab71e000fb270 Mon Sep 17 00:00:00 2001 From: Tong Ki Chun Date: Tue, 10 Mar 2026 22:19:57 +0200 Subject: [PATCH 1/8] docs: add collaborative report structure and Pandoc build workflow --- .gitignore | 2 + Makefile | 94 ++++ docs/00-frontmatter/overview.md | 0 docs/00-frontmatter/title.md | 3 + docs/99-backmatter/appendix.md | 4 + docs/members/eemil/multi-task-benchmark.md | 13 + docs/members/ki-chun/minds-eye.md | 13 + docs/members/oliver/spatial-cognition-llms.md | 13 + docs/members/pawel/geollm.md | 13 + docs/members/topi/llm-geotextcog.md | 13 + .../totti/chatgpt-geospatial-skills.md | 13 + docs/shared/next-steps.md | 32 ++ docs/shared/synthesis.md | 26 + report-metadata.yaml | 29 + template/header.tex | 19 + template/ieee.csl | 519 ++++++++++++++++++ 16 files changed, 806 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 docs/00-frontmatter/overview.md create mode 100644 docs/00-frontmatter/title.md create mode 100644 docs/99-backmatter/appendix.md create mode 100644 docs/members/eemil/multi-task-benchmark.md create mode 100644 docs/members/ki-chun/minds-eye.md create mode 100644 docs/members/oliver/spatial-cognition-llms.md create mode 100644 docs/members/pawel/geollm.md create mode 100644 docs/members/topi/llm-geotextcog.md create mode 100644 docs/members/totti/chatgpt-geospatial-skills.md create mode 100644 docs/shared/next-steps.md create mode 100644 docs/shared/synthesis.md create mode 100644 report-metadata.yaml create mode 100644 template/header.tex create mode 100644 template/ieee.csl diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aaab5ad --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.DS_Store +build/ \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..8005370 --- /dev/null +++ b/Makefile @@ -0,0 +1,94 @@ +# ---------- Config ---------- +PANDOC := pandoc +PDF_ENGINE := xelatex + +BUILD_DIR := build +DOCS_DIR := docs +TEMPLATE_DIR := template + +METADATA := report-metadata.yaml +HEADER := $(TEMPLATE_DIR)/header.tex +BIB_FILE := references.bib +CSL_FILE := $(TEMPLATE_DIR)/ieee.csl + +MERGED_MD := $(BUILD_DIR)/merged.md +PDF_OUTPUT := $(BUILD_DIR)/spatial-ninjas-report.pdf +HTML_OUTPUT := $(BUILD_DIR)/spatial-ninjas-report.html + +# ---------- Source discovery ---------- +FRONTMATTER := $(sort $(wildcard $(DOCS_DIR)/00-frontmatter/*.md)) +MEMBER_NOTES := $(sort $(wildcard $(DOCS_DIR)/members/*/*.md)) +SHARED_NOTES := $(sort $(wildcard $(DOCS_DIR)/shared/*.md)) +BACKMATTER := $(sort $(wildcard $(DOCS_DIR)/99-backmatter/*.md)) + +SOURCES := $(FRONTMATTER) $(MEMBER_NOTES) $(SHARED_NOTES) $(BACKMATTER) + +# ---------- Pandoc flags ---------- +PANDOC_COMMON_FLAGS := \ + --from=markdown \ + --standalone \ + --citeproc \ + --metadata-file=$(METADATA) \ + --bibliography=$(BIB_FILE) \ + --metadata=date:"$(shell date "+%B %-d, %Y")" \ + --csl=$(CSL_FILE) \ + --resource-path=.:$(DOCS_DIR):$(TEMPLATE_DIR):$(BUILD_DIR) \ + --toc \ + --number-sections + +PANDOC_PDF_FLAGS := \ + $(PANDOC_COMMON_FLAGS) \ + --include-in-header=$(HEADER) + +PANDOC_HTML_FLAGS := \ + $(PANDOC_COMMON_FLAGS) + +# ---------- Targets ---------- +.PHONY: help all pdf html merge clean sources check + +help: ## Show available make targets + @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \ + awk 'BEGIN {FS = ":.*?## "}; {printf "%-15s %s\n", $$1, $$2}' + +all: pdf html ## Build all output formats + +check: ## Verify required files exist + @test -f $(METADATA) || (echo "Missing $(METADATA)"; exit 1) + @test -f $(HEADER) || (echo "Missing $(HEADER)"; exit 1) + @test -f $(BIB_FILE) || (echo "Missing $(BIB_FILE)"; exit 1) + @test -f $(CSL_FILE) || (echo "Missing $(CSL_FILE)"; exit 1) + +pdf: $(PDF_OUTPUT) ## Build PDF report + +$(PDF_OUTPUT): check $(MERGED_MD) $(METADATA) $(HEADER) $(BIB_FILE) $(CSL_FILE) + $(PANDOC) $(MERGED_MD) \ + $(PANDOC_PDF_FLAGS) \ + --pdf-engine=$(PDF_ENGINE) \ + -o $(PDF_OUTPUT) + +html: $(HTML_OUTPUT) ## Build HTML report + +$(HTML_OUTPUT): check $(MERGED_MD) $(METADATA) $(BIB_FILE) $(CSL_FILE) + $(PANDOC) $(MERGED_MD) \ + $(PANDOC_HTML_FLAGS) \ + -o $(HTML_OUTPUT) + +merge: $(MERGED_MD) ## Merge markdown sources into a single file + +$(MERGED_MD): $(SOURCES) | $(BUILD_DIR) + @echo "Merging markdown sources..." + @rm -f $(MERGED_MD) + @for f in $(SOURCES); do \ + echo "Adding $$f"; \ + cat $$f >> $(MERGED_MD); \ + printf '\n\n' >> $(MERGED_MD); \ + done + +$(BUILD_DIR): + mkdir -p $(BUILD_DIR) + +sources: ## Print detected markdown source files + @printf '%s\n' $(SOURCES) + +clean: ## Remove build artifacts + rm -rf $(BUILD_DIR) diff --git a/docs/00-frontmatter/overview.md b/docs/00-frontmatter/overview.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/00-frontmatter/title.md b/docs/00-frontmatter/title.md new file mode 100644 index 0000000..1798d82 --- /dev/null +++ b/docs/00-frontmatter/title.md @@ -0,0 +1,3 @@ +# Overview + +This document collects the Spatial Ninjas literature summaries, synthesis notes, and next steps. \ No newline at end of file diff --git a/docs/99-backmatter/appendix.md b/docs/99-backmatter/appendix.md new file mode 100644 index 0000000..4cdf317 --- /dev/null +++ b/docs/99-backmatter/appendix.md @@ -0,0 +1,4 @@ +# References {.unnumbered} + +::: {#refs} +::: \ No newline at end of file diff --git a/docs/members/eemil/multi-task-benchmark.md b/docs/members/eemil/multi-task-benchmark.md new file mode 100644 index 0000000..02faa5e --- /dev/null +++ b/docs/members/eemil/multi-task-benchmark.md @@ -0,0 +1,13 @@ +# LLMs on Geospatial Tasks: Multi-Task Benchmarking + +## Summary + +Eemil's work. Write something here @xu_evaluating_2025. + +## Main contribution + +... + +## Relevance to our project + +... diff --git a/docs/members/ki-chun/minds-eye.md b/docs/members/ki-chun/minds-eye.md new file mode 100644 index 0000000..cae1e57 --- /dev/null +++ b/docs/members/ki-chun/minds-eye.md @@ -0,0 +1,13 @@ +# Mind's Eye of LLMs + +## Summary + +Ki Chun's work. Write something here @wu_mind_2024. + +## Main contribution + +... + +## Relevance to our project + +... diff --git a/docs/members/oliver/spatial-cognition-llms.md b/docs/members/oliver/spatial-cognition-llms.md new file mode 100644 index 0000000..b5106af --- /dev/null +++ b/docs/members/oliver/spatial-cognition-llms.md @@ -0,0 +1,13 @@ +# Spatial Cognition Abilities of LLMs + +## Summary + +Oliver's work. Write something here @yang_evaluating_2025. + +## Main contribution + +... + +## Relevance to our project + +... diff --git a/docs/members/pawel/geollm.md b/docs/members/pawel/geollm.md new file mode 100644 index 0000000..fff0d25 --- /dev/null +++ b/docs/members/pawel/geollm.md @@ -0,0 +1,13 @@ +# GeoLLM: Extracting Geospatial Knowledge from LLMs + +## Summary + +Pawel's work. Write something here @manvi_geollm_2024. + +## Main contribution + +... + +## Relevance to our project + +... diff --git a/docs/members/topi/llm-geotextcog.md b/docs/members/topi/llm-geotextcog.md new file mode 100644 index 0000000..c99d7e3 --- /dev/null +++ b/docs/members/topi/llm-geotextcog.md @@ -0,0 +1,13 @@ +# LLM-GeoTextCog: A Cognitive Enhancement Framework + +## Summary + +Topi's work. Write something here @wang_llm-geotextcog_2026. + +## Main contribution + +... + +## Relevance to our project + +... diff --git a/docs/members/totti/chatgpt-geospatial-skills.md b/docs/members/totti/chatgpt-geospatial-skills.md new file mode 100644 index 0000000..1790b81 --- /dev/null +++ b/docs/members/totti/chatgpt-geospatial-skills.md @@ -0,0 +1,13 @@ +# Geospatial Skills of ChatGPT + +## Summary + +Totti's work. Write something here @mooney_towards_2023. + +## Main contribution + +... + +## Relevance to our project + +... diff --git a/docs/shared/next-steps.md b/docs/shared/next-steps.md new file mode 100644 index 0000000..e0c0bc4 --- /dev/null +++ b/docs/shared/next-steps.md @@ -0,0 +1,32 @@ +# Next Steps + +## Candidate evaluation tasks + +Potential tasks for benchmarking spatial reasoning: + +- distance estimation between cities +- direction inference ("Which city lies north of...") +- route description tasks + +## Models to evaluate + +Possible models to include: + +- GPT-4o +- Claude +- Gemini +- Llama + +## Enhancement approaches to test + +Based on the literature: + +- OpenStreetMap augmentation (GeoLLM) +- Visualization-of-Thought prompting +- tool-assisted spatial computation + +## Immediate implementation tasks + +- build evaluation prompt templates +- implement benchmark runner +- design scoring metrics diff --git a/docs/shared/synthesis.md b/docs/shared/synthesis.md new file mode 100644 index 0000000..d341b6c --- /dev/null +++ b/docs/shared/synthesis.md @@ -0,0 +1,26 @@ +# Literature Synthesis + +## Categories of spatial reasoning tasks + +Across the surveyed papers, spatial reasoning tasks can be grouped into: + +- distance estimation +- direction inference +- topological relationships +- map-based question answering + +## Evaluation approaches + +Three main evaluation approaches appear: + +- benchmark datasets (Xu et al.) +- prompting techniques (Wu et al.) +- external knowledge integration (Manvi et al.) + +## Common weaknesses of LLMs + +Several studies report similar failure modes: + +- inconsistent distance estimation +- confusion between relative directions +- hallucinated geographic facts diff --git a/report-metadata.yaml b/report-metadata.yaml new file mode 100644 index 0000000..d50e83b --- /dev/null +++ b/report-metadata.yaml @@ -0,0 +1,29 @@ +title: "LLM Spatial Reasoning: Evaluating and Enhancing Geographic Cognition in Language Models" +subtitle: "Spatial Ninjas — Course Project Report" + +author: + - Ki Chun Tong + - Pawel Dzierzynski + - Oliver Isaksson + - Eemil Koskinen + - Topi Nieminen + - Totti L. + +date: $date$ +lang: en + +keywords: + - spatial reasoning + - large language models + - geospatial cognition + - GeoAI + +abstract: | + This report evaluates the spatial reasoning capabilities of large language + models and explores methods to improve geographic cognition in LLM-based + systems. + +link-citations: true +toc: true +toc-depth: 2 +number-sections: true \ No newline at end of file diff --git a/template/header.tex b/template/header.tex new file mode 100644 index 0000000..a763a49 --- /dev/null +++ b/template/header.tex @@ -0,0 +1,19 @@ +\usepackage[margin=1in]{geometry} +\usepackage{parskip} +\setlength{\parindent}{0pt} +\usepackage{graphicx} +\usepackage{booktabs} +\usepackage{longtable} +\usepackage{xcolor} +\usepackage{hyperref} +\usepackage{microtype} + +\hypersetup{ + colorlinks=true, + linkcolor=blue, + urlcolor=blue, + citecolor=blue +} + +\usepackage{etoolbox} +\pretocmd{\section}{\clearpage}{}{} \ No newline at end of file diff --git a/template/ieee.csl b/template/ieee.csl new file mode 100644 index 0000000..98ed32c --- /dev/null +++ b/template/ieee.csl @@ -0,0 +1,519 @@ + + From 17a366d28ef9124a216da29b26676ae1a3d4b3a1 Mon Sep 17 00:00:00 2001 From: Tong Ki Chun Date: Tue, 10 Mar 2026 22:23:55 +0200 Subject: [PATCH 2/8] ci: add GitHub Actions workflow to build report artifacts --- .github/workflows/build-report.yml | 57 ++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/build-report.yml diff --git a/.github/workflows/build-report.yml b/.github/workflows/build-report.yml new file mode 100644 index 0000000..75950f0 --- /dev/null +++ b/.github/workflows/build-report.yml @@ -0,0 +1,57 @@ +name: Build report + +on: + push: + branches: ["**"] + pull_request: + workflow_dispatch: + +jobs: + build-report: + runs-on: ubuntu-latest + + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Set up Pandoc + uses: pandoc/actions/setup@v1 + + - name: Install XeLaTeX dependencies + run: | + sudo apt-get update + sudo apt-get install -y \ + texlive-xetex \ + texlive-latex-extra \ + texlive-fonts-recommended \ + texlive-bibtex-extra \ + latexmk + + - name: Verify tool versions + run: | + pandoc --version + xelatex --version + + - name: Build report artifacts + run: make all + + - name: Upload PDF artifact + uses: actions/upload-artifact@v4 + with: + name: spatial-ninjas-report-pdf + path: build/spatial-ninjas-report.pdf + if-no-files-found: error + + - name: Upload HTML artifact + uses: actions/upload-artifact@v4 + with: + name: spatial-ninjas-report-html + path: build/spatial-ninjas-report.html + if-no-files-found: error + + - name: Upload merged markdown artifact + uses: actions/upload-artifact@v4 + with: + name: spatial-ninjas-report-merged-markdown + path: build/merged.md + if-no-files-found: error From 0e58a3cf1352cee5c7458b19b281bd5ab3473d6e Mon Sep 17 00:00:00 2001 From: Tong Ki Chun Date: Tue, 10 Mar 2026 22:32:56 +0200 Subject: [PATCH 3/8] docs: update README to cover the build system --- README.md | 99 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 90 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index c6719b2..ee56aa7 100644 --- a/README.md +++ b/README.md @@ -6,23 +6,95 @@ This repository contains the research workspace for the project The repository will host materials related to: +- literature reviews and research notes - experiment code - benchmark implementations - datasets used for evaluation -- research notes and documentation -- references and literature summaries +- documentation and project outputs -## Structure -The repository will gradually be organized into the following directories: +## Report Build System +The project report is written in **Markdown** and compiled using **Pandoc**. + +A `Makefile` is provided to automate the process of merging all documentation and generating the final outputs. + +## Build the report + +To build all report formats: + +```bash +make all +```` + +This generates: + +``` +build/spatial-ninjas-report.pdf +build/spatial-ninjas-report.html +``` + +You can also build individual formats: + +```bash +make pdf +make html ``` -docs/ project documentation, research notes, and project log -experiments/ experiment scripts and notebooks -benchmarks/ spatial reasoning benchmark implementations -datasets/ datasets used for experiments -scripts/ utilities and evaluation scripts + +Other useful commands: + +```bash +make merge # merge markdown sources into build/merged.md +make sources # list detected markdown source files +make clean # remove build artifacts +make help # list available targets +``` + +The build pipeline: + +1. discovers markdown files in the `docs/` directory +2. merges them into a single document +3. runs Pandoc to produce PDF and HTML outputs +4. formats citations using the IEEE CSL style + + +## Repository Structure + ``` +docs/ project documentation and literature summaries + 00-frontmatter/ report introduction and overview + members/ paper summaries written by individual members + shared/ synthesis and next steps written collaboratively + 99-backmatter/ references and appendix +template/ Pandoc LaTeX header and citation style +references.bib shared bibliography database +report-metadata.yaml document metadata used by Pandoc +Makefile report build automation +``` + +### Member summaries + +Each project member writes their paper summary in: + +``` +docs/members// +``` + +These are automatically included in the report during the build process. + +### Shared sections + +Collaborative sections are stored in: + +``` +docs/shared/ +``` + +Examples include: + +* literature synthesis +* proposed next steps for experiments + ## References @@ -32,6 +104,15 @@ Bibliographic references used in the project are stored in: references.bib ``` +Citations inside markdown files use standard Pandoc citation syntax: + +``` +@paper_key +``` + +The final report is formatted using the **IEEE citation style**. + + ## Project Management Task planning and sprint tracking are handled via the project board: From 80e31cc8eeca2dd9fd1c17d74dc299ffa1c574fd Mon Sep 17 00:00:00 2001 From: Pawel Dzierzynski Date: Thu, 19 Mar 2026 11:20:55 +0100 Subject: [PATCH 4/8] Update geollm.md --- docs/members/pawel/geollm.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/members/pawel/geollm.md b/docs/members/pawel/geollm.md index fff0d25..a1ada21 100644 --- a/docs/members/pawel/geollm.md +++ b/docs/members/pawel/geollm.md @@ -2,7 +2,11 @@ ## Summary -Pawel's work. Write something here @manvi_geollm_2024. +Manvi et al. uses a programmatic aproach to test the LLM. +In their code they amongst others generate a large JSON file with prompts with coordinates and geographical names. +They then ask the LLM with a prefix prompt to answer the questions with a certain number, and they can then evaluate these compared with actual answers from coordinates on an actual map. One of their evaluation methods is the Spearmanr correlation. + +This Spearmanr correlation function is the one that I am currently testing. I had written a modified and simplified code based on their source code but a lighter version which takes their existing prompts file and maps, it generates a CSV file with prompt anwers which are then evaluated by the Spearmanr correlation. So far the codes were tested on Gemma 3, while the plan is to test it on Gemini 3.1 Pro, GPT 5.2, DeepSeek and Llama3 as a open source backup. ## Main contribution From 7bf9ae84faf1a5368fcc2d3875ca6b4fa9b8487d Mon Sep 17 00:00:00 2001 From: Pawel Dzierzynski Date: Fri, 20 Mar 2026 11:46:50 +0100 Subject: [PATCH 5/8] Update geollm.md --- docs/members/pawel/geollm.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/members/pawel/geollm.md b/docs/members/pawel/geollm.md index a1ada21..98643d8 100644 --- a/docs/members/pawel/geollm.md +++ b/docs/members/pawel/geollm.md @@ -4,9 +4,9 @@ Manvi et al. uses a programmatic aproach to test the LLM. In their code they amongst others generate a large JSON file with prompts with coordinates and geographical names. -They then ask the LLM with a prefix prompt to answer the questions with a certain number, and they can then evaluate these compared with actual answers from coordinates on an actual map. One of their evaluation methods is the Spearmanr correlation. +They then ask the LLM with a prefix prompt to answer the questions with a certain number, and they can then evaluate these compared with actual answers from coordinates on an actual map. One of their evaluation methods is the Spearmanr correlation and finding Pearsonr correlation and r^2 value. -This Spearmanr correlation function is the one that I am currently testing. I had written a modified and simplified code based on their source code but a lighter version which takes their existing prompts file and maps, it generates a CSV file with prompt anwers which are then evaluated by the Spearmanr correlation. So far the codes were tested on Gemma 3, while the plan is to test it on Gemini 3.1 Pro, GPT 5.2, DeepSeek and Llama3 as a open source backup. +I had written a modified and simplified code based on their source code but a lighter version which takes their existing prompts file and maps, it generates a CSV file with prompt anwers which are then evaluated by the Spearmanr correlation. So far the codes were tested on Gemma 3, while the plan is to test it on Gemini 3.1 Pro, GPT 5.2, DeepSeek and Llama3 as a open source backup. ## Main contribution From 5bcca90c6b8364d9e8a190aa8c96fbd43ea7f81d Mon Sep 17 00:00:00 2001 From: Tong Ki Chun Date: Fri, 20 Mar 2026 14:55:28 +0200 Subject: [PATCH 6/8] fix(ci): add debug intermediate tex for diagnosis --- .github/workflows/build-report.yml | 41 +++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-report.yml b/.github/workflows/build-report.yml index 75950f0..06fe9b7 100644 --- a/.github/workflows/build-report.yml +++ b/.github/workflows/build-report.yml @@ -33,25 +33,60 @@ jobs: xelatex --version - name: Build report artifacts + id: build_report + continue-on-error: true run: make all + - name: Build PDF debug tex + if: ${{ always() }} + run: | + mkdir -p build + pandoc build/merged.md \ + --from=markdown --standalone --citeproc \ + --metadata-file=report-metadata.yaml \ + --bibliography=references.bib \ + --metadata=date:"March 20, 2026" \ + --csl=template/ieee.csl \ + --resource-path=.:docs:template:build \ + --toc --number-sections \ + --include-in-header=template/header.tex \ + -t latex \ + -o build/debug.tex + + - name: Upload debug tex + if: ${{ always() }} + uses: actions/upload-artifact@v4 + with: + name: debug-tex + path: build/debug.tex + if-no-files-found: warn + - name: Upload PDF artifact + if: ${{ always() }} uses: actions/upload-artifact@v4 with: name: spatial-ninjas-report-pdf path: build/spatial-ninjas-report.pdf - if-no-files-found: error + if-no-files-found: warn - name: Upload HTML artifact + if: ${{ always() }} uses: actions/upload-artifact@v4 with: name: spatial-ninjas-report-html path: build/spatial-ninjas-report.html - if-no-files-found: error + if-no-files-found: warn - name: Upload merged markdown artifact + if: ${{ always() }} uses: actions/upload-artifact@v4 with: name: spatial-ninjas-report-merged-markdown path: build/merged.md - if-no-files-found: error + if-no-files-found: warn + + - name: Fail job if build failed + if: ${{ steps.build_report.outcome == 'failure' }} + run: | + echo "make all failed" + exit 1 From d7fe57028d213f6b25d3306733d0a90f7067a1bf Mon Sep 17 00:00:00 2001 From: Tong Ki Chun Date: Fri, 20 Mar 2026 15:20:57 +0200 Subject: [PATCH 7/8] fix(ci): patch header package due to LaTeX environment difference between local and GitHub Actions --- .github/workflows/build-report.yml | 8 ++++++++ template/header.tex | 4 +++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-report.yml b/.github/workflows/build-report.yml index 06fe9b7..1b72e7e 100644 --- a/.github/workflows/build-report.yml +++ b/.github/workflows/build-report.yml @@ -32,6 +32,14 @@ jobs: pandoc --version xelatex --version + - name: Inspect TeX packages + if: ${{ always() }} + run: | + kpsewhich hyperref.sty || true + kpsewhich hyperxmp.sty || true + kpsewhich bookmark.sty || true + xelatex --version || true + - name: Build report artifacts id: build_report continue-on-error: true diff --git a/template/header.tex b/template/header.tex index a763a49..43463fd 100644 --- a/template/header.tex +++ b/template/header.tex @@ -16,4 +16,6 @@ } \usepackage{etoolbox} -\pretocmd{\section}{\clearpage}{}{} \ No newline at end of file +\pretocmd{\section}{\clearpage}{}{} + +\providecommand{\xmpquote}[1]{#1} \ No newline at end of file From 728e657559a5ceb7ea5be305cf92d7a0d055f63d Mon Sep 17 00:00:00 2001 From: Tong Ki Chun Date: Fri, 20 Mar 2026 15:27:18 +0200 Subject: [PATCH 8/8] chore(ci): remove intermediate redundancies --- .github/workflows/build-report.yml | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/.github/workflows/build-report.yml b/.github/workflows/build-report.yml index 1b72e7e..099708e 100644 --- a/.github/workflows/build-report.yml +++ b/.github/workflows/build-report.yml @@ -33,7 +33,6 @@ jobs: xelatex --version - name: Inspect TeX packages - if: ${{ always() }} run: | kpsewhich hyperref.sty || true kpsewhich hyperxmp.sty || true @@ -45,32 +44,7 @@ jobs: continue-on-error: true run: make all - - name: Build PDF debug tex - if: ${{ always() }} - run: | - mkdir -p build - pandoc build/merged.md \ - --from=markdown --standalone --citeproc \ - --metadata-file=report-metadata.yaml \ - --bibliography=references.bib \ - --metadata=date:"March 20, 2026" \ - --csl=template/ieee.csl \ - --resource-path=.:docs:template:build \ - --toc --number-sections \ - --include-in-header=template/header.tex \ - -t latex \ - -o build/debug.tex - - - name: Upload debug tex - if: ${{ always() }} - uses: actions/upload-artifact@v4 - with: - name: debug-tex - path: build/debug.tex - if-no-files-found: warn - - name: Upload PDF artifact - if: ${{ always() }} uses: actions/upload-artifact@v4 with: name: spatial-ninjas-report-pdf @@ -78,7 +52,6 @@ jobs: if-no-files-found: warn - name: Upload HTML artifact - if: ${{ always() }} uses: actions/upload-artifact@v4 with: name: spatial-ninjas-report-html @@ -86,7 +59,6 @@ jobs: if-no-files-found: warn - name: Upload merged markdown artifact - if: ${{ always() }} uses: actions/upload-artifact@v4 with: name: spatial-ninjas-report-merged-markdown