init branch marianna

This commit is contained in:
Domipoke
2026-07-27 12:30:09 +02:00
parent e0108cce21
commit b3eaf85d5d
3 changed files with 241 additions and 104 deletions
+138 -1
View File
@@ -60,4 +60,141 @@ jobs:
git remote set-url origin "https://Domipoke:${{ secrets.GITEA_PUSH_TOKEN }}@gitea.egregge.eg/Domipoke/SharedLaTeX.git" git remote set-url origin "https://Domipoke:${{ secrets.GITEA_PUSH_TOKEN }}@gitea.egregge.eg/Domipoke/SharedLaTeX.git"
git add pdf/*.pdf git add pdf/*.pdf
git diff --cached --quiet || git commit -m "CI: rebuild PDF(s) [skip ci]" git diff --cached --quiet || git commit -m "CI: rebuild PDF(s) [skip ci]"
git push origin HEAD:${{ github.ref_name }} git push origin HEAD:${{ github.ref_name }}
this see no update if i use in main file \input{./chapt/...} and edit only file in chapt folder that i push; then also do not update the right branch where i pushed commit
Mostra meno
Architected dependency graph solution for nested LaTeX files and branch detection
Architected dependency graph solution for nested LaTeX files and branch detection
You've hit two separate bugs. Let me break down each one.
Bug 1: chapter edits don't trigger a build
Your detection logic is:
bash
CHANGED=$(git diff --name-only ... -- '*.tex')
for f in $CHANGED; do
if grep -q '\documentclass' "$f"; then
ROOTS="$ROOTS $f"
fi
done
This only adds a file to ROOTS if the changed file itself contains \documentclass. When you edit chapt/foo.tex and it gets pulled in via \input{./chapt/foo} from main.tex, chapt/foo.tex obviously has no \documentclass in it — so it's silently dropped, ROOTS stays empty, and the two if: steps.changed.outputs.roots != '' steps just skip.
You need to invert the logic: find all root files in the repo, resolve each one's \input/\include dependency tree, and rebuild any root whose tree intersects the changed-files set.
Bug 2: pushes go to the wrong branch
git push origin HEAD:${{ github.ref_name }} relies on github.ref_name being populated correctly. Gitea Actions' GitHub-compatibility shim doesn't always populate ref_name reliably (especially depending on runner/Gitea version), so this can silently resolve to the wrong value (e.g. the default branch) instead of the branch you actually pushed to. It's safer to derive the branch explicitly from GITHUB_REF, which is more consistently set:
bash
BRANCH="${GITHUB_REF#refs/heads/}"
git push origin HEAD:refs/heads/"$BRANCH"
Also worth guarding: fetch-depth: 2 + github.event.before breaks on the very first push to a branch (before-sha is all zeros), which would make the diff step fail/empty too — separate failure mode, same symptom (nothing gets built).
Fixed workflow
yaml
name: Build LaTeX PDF
on:
push:
paths:
- '**/*.tex'
jobs:
build:
runs-on: ubuntu-latest
env:
GIT_SSL_NO_VERIFY: "true"
NODE_EXTRA_CA_CERTS: /usr/local/share/ca-certificates/Egregge.crt
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0 # full history, safer for diffing
- name: Find root files affected by this push
id: changed
run: |
apt-get update -qq && apt-get install -y -qq git > /dev/null
git config --global --add safe.directory "$GITHUB_WORKSPACE"
BEFORE="${{ github.event.before }}"
AFTER="${{ github.sha }}"
# Handle first push to a branch (before = all zeros)
if [ "$BEFORE" = "0000000000000000000000000000000000000000" ] || [ -z "$BEFORE" ]; then
CHANGED=$(git ls-tree -r --name-only "$AFTER" -- '*.tex')
else
CHANGED=$(git diff --name-only "$BEFORE" "$AFTER" -- '*.tex' || true)
fi
echo "Changed .tex files: $CHANGED"
# All root files (anywhere in repo) containing \documentclass
ALL_ROOTS=$(grep -rl '\\documentclass' --include='*.tex' . | sed 's|^\./||')
# Recursively resolve \input/\include/\subfile deps of a root,
# printing paths relative to repo root
resolve_deps() {
local file="$1"
local dir
dir=$(dirname "$file")
[ -f "$file" ] || return
echo "$file"
grep -ohE '\\(input|include|subfile)\{[^}]*\}' "$file" 2>/dev/null \
| sed -E 's/.*\{([^}]*)\}/\1/' \
| while read -r inc; do
[[ "$inc" != *.tex ]] && inc="${inc}.tex"
full=$(realpath --relative-to=. "$dir/$inc" 2>/dev/null)
[ -n "$full" ] && resolve_deps "$full"
done
}
ROOTS=""
for root in $ALL_ROOTS; do
DEPS=$(resolve_deps "$root" | sort -u)
HIT=""
for c in $CHANGED; do
if grep -qxF "$c" <<< "$DEPS"; then
HIT=1
break
fi
done
if [ -n "$HIT" ]; then
ROOTS="$ROOTS $root"
fi
done
echo "roots=$ROOTS" >> "$GITHUB_OUTPUT"
echo "Root files to build: $ROOTS"
- name: Compile changed root files
if: steps.changed.outputs.roots != ''
uses: docker://texlive/texlive:latest-full
with:
entrypoint: sh
args: >-
-c "mkdir -p pdf aux && for f in ${{ steps.changed.outputs.roots }}; do
echo Building $f;
latexmk -pdf -interaction=nonstopmode -halt-on-error -outdir=pdf -auxdir=aux \"$f\" || exit 1;
done && find pdf -type f ! -name '*.pdf' -delete"
- name: Upload built PDFs
if: steps.changed.outputs.roots != ''
uses: actions/upload-artifact@v3
with:
name: pdf-output
path: pdf/*.pdf
- name: Commit PDFs back to repo
if: steps.changed.outputs.roots != ''
run: |
git config user.name "gitea-actions"
git config user.email "actions@gitea.local"
git remote set-url origin "https://Domipoke:${{ secrets.GITEA_PUSH_TOKEN }}@gitea.egregge.eg/Domipoke/SharedLaTeX.git"
BRANCH="${GITHUB_REF#refs/heads/}"
echo "Pushing to branch: $BRANCH"
git add pdf/*.pdf
git diff --cached --quiet || git commit -m "CI: rebuild PDF(s) [skip ci]"
git push origin HEAD:refs/heads/"$BRANCH"
+5 -5
View File
@@ -1,6 +1,6 @@
# Fdb version 4 # Fdb version 4
["pdflatex"] 1785147259.09183 "/home/domenico/mnt/LaTeX/Progetti/marianna/letteraturagiapponese.tex" "pdf/letteraturagiapponese.pdf" "letteraturagiapponese" 1785147303.00929 2 ["pdflatex"] 1785147784.67106 "/home/domenico/mnt/LaTeX/Progetti/marianna/letteraturagiapponese.tex" "pdf/letteraturagiapponese.pdf" "letteraturagiapponese" 1785147816.7759 2
"/home/domenico/mnt/LaTeX/Progetti/marianna/letteraturagiapponese.tex" 1785147238.63398 350 fb78b894feb362c01cffa258170124a6 "" "/home/domenico/mnt/LaTeX/Progetti/marianna/letteraturagiapponese.tex" 1785147552.12441 358 387309e8528fc341cc9620255cc170e2 ""
"/usr/local/texlive/2026/texmf-dist/fonts/map/fontname/texfonts.map" 1577235249 3524 cb3e574dea2d1052e39280babc910dc8 "" "/usr/local/texlive/2026/texmf-dist/fonts/map/fontname/texfonts.map" 1577235249 3524 cb3e574dea2d1052e39280babc910dc8 ""
"/usr/local/texlive/2026/texmf-dist/fonts/tfm/jknappen/ec/ecrm1095.tfm" 1136768653 3584 929cdff2b7a8c11bd4d49fd68cb0ae70 "" "/usr/local/texlive/2026/texmf-dist/fonts/tfm/jknappen/ec/ecrm1095.tfm" 1136768653 3584 929cdff2b7a8c11bd4d49fd68cb0ae70 ""
"/usr/local/texlive/2026/texmf-dist/fonts/tfm/public/cm/cmr10.tfm" 1136768653 1296 45809c5a464d5f32c8f98ba97c1bb47f "" "/usr/local/texlive/2026/texmf-dist/fonts/tfm/public/cm/cmr10.tfm" 1136768653 1296 45809c5a464d5f32c8f98ba97c1bb47f ""
@@ -126,9 +126,9 @@
"/usr/local/texlive/2026/texmf-var/fonts/map/pdftex/updmap/pdftex.map" 1774809471 342366 705017bd68c34aba03bb6ee0b9b33345 "" "/usr/local/texlive/2026/texmf-var/fonts/map/pdftex/updmap/pdftex.map" 1774809471 342366 705017bd68c34aba03bb6ee0b9b33345 ""
"/usr/local/texlive/2026/texmf-var/web2c/pdftex/pdflatex.fmt" 1774610004 3636720 c669b453c9a8b33c610b33be554f5187 "" "/usr/local/texlive/2026/texmf-var/web2c/pdftex/pdflatex.fmt" 1774610004 3636720 c669b453c9a8b33c610b33be554f5187 ""
"/usr/local/texlive/2026/texmf.cnf" 1772979639.71559 455 5b996dcaa0eb4ef14a83b026bc0a008c "" "/usr/local/texlive/2026/texmf.cnf" 1772979639.71559 455 5b996dcaa0eb4ef14a83b026bc0a008c ""
"aux/letteraturagiapponese.aux" 1785147302.94913 217 10c496036faed9b67b7ce5212c83c226 "pdflatex" "aux/letteraturagiapponese.aux" 1785147816.72473 217 10c496036faed9b67b7ce5212c83c226 "pdflatex"
"chapt/lezione1.tex" 1785147009.60768 9233 23437d5984190c2520975700277589dd "" "chapt/lezione1.tex" 1785147725.95677 9238 b520cda7ed7c60297f2fa42b55d36513 ""
"letteraturagiapponese.tex" 1785147238.63398 350 fb78b894feb362c01cffa258170124a6 "" "letteraturagiapponese.tex" 1785147552.12441 358 387309e8528fc341cc9620255cc170e2 ""
(generated) (generated)
"aux/letteraturagiapponese.aux" "aux/letteraturagiapponese.aux"
"aux/letteraturagiapponese.log" "aux/letteraturagiapponese.log"
+98 -98
View File
@@ -1,4 +1,4 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.29 (TeX Live 2026) (preloaded format=pdflatex 2026.3.27) 27 JUL 2026 12:14 This is pdfTeX, Version 3.141592653-2.6-1.40.29 (TeX Live 2026) (preloaded format=pdflatex 2026.3.27) 27 JUL 2026 12:23
entering extended mode entering extended mode
restricted \write18 enabled. restricted \write18 enabled.
file:line:error style messages enabled. file:line:error style messages enabled.
@@ -266,7 +266,7 @@ File: microtype.cfg 2026/03/01 v3.2d microtype main configuration file (RS)
) )
LaTeX Info: Redefining \microtypesetup on input line 3065. LaTeX Info: Redefining \microtypesetup on input line 3065.
) )
LaTeX Font Info: Trying to load font information for T1+lmr on input line 12. LaTeX Font Info: Trying to load font information for T1+lmr on input line 13.
(/usr/local/texlive/2026/texmf-dist/tex/latex/lm/t1lmr.fd (/usr/local/texlive/2026/texmf-dist/tex/latex/lm/t1lmr.fd
File: t1lmr.fd 2015/05/01 v1.6.1 Font defs for Latin Modern File: t1lmr.fd 2015/05/01 v1.6.1 Font defs for Latin Modern
) (/usr/local/texlive/2026/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def ) (/usr/local/texlive/2026/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
@@ -275,101 +275,101 @@ File: l3backend-pdftex.def 2025-10-09 L3 backend support: PDF output (pdfTeX)
) (aux/letteraturagiapponese.aux) ) (aux/letteraturagiapponese.aux)
\openout1 = `letteraturagiapponese.aux'. \openout1 = `letteraturagiapponese.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 12. LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 12. LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 12. LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 12. LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 12. LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 12. LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 12. LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C00/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C00/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C05/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C05/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C09/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C09/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C10/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C10/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C20/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C20/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C19/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C19/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C40/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C40/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C42/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C42/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C43/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C43/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C50/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C50/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C52/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C52/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C49/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C49/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C60/mj/m/n on input line 12. LaTeX Font Info: Checking defaults for C60/mj/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C61/mj/m/n on input line 12. LaTeX Font Info: Checking defaults for C61/mj/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C63/mj/m/n on input line 12. LaTeX Font Info: Checking defaults for C63/mj/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C64/mj/m/n on input line 12. LaTeX Font Info: Checking defaults for C64/mj/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C65/mj/m/n on input line 12. LaTeX Font Info: Checking defaults for C65/mj/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C70/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C70/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C31/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C31/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C32/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C32/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C33/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C33/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C34/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C34/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C35/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C35/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C36/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C36/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C37/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C37/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C80/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C80/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C81/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C81/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C01/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C01/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C11/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C11/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C21/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C21/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C41/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C41/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
LaTeX Font Info: Checking defaults for C62/song/m/n on input line 12. LaTeX Font Info: Checking defaults for C62/song/m/n on input line 13.
LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: ... okay on input line 13.
Package scrbase Info: activating english \partname on input line 12. Package scrbase Info: activating english \partname on input line 13.
Package scrbase Info: activating english \chaptername on input line 12. Package scrbase Info: activating english \chaptername on input line 13.
Package scrbase Info: activating english \appendixname on input line 12. Package scrbase Info: activating english \appendixname on input line 13.
Package scrbase Info: activating english \figurename on input line 12. Package scrbase Info: activating english \figurename on input line 13.
Package scrbase Info: activating english \tablename on input line 12. Package scrbase Info: activating english \tablename on input line 13.
Package scrbase Info: activating english \contentsname on input line 12. Package scrbase Info: activating english \contentsname on input line 13.
Package scrbase Info: activating english \listfigurename on input line 12. Package scrbase Info: activating english \listfigurename on input line 13.
Package scrbase Info: activating english \listtablename on input line 12. Package scrbase Info: activating english \listtablename on input line 13.
Package scrbase Info: activating english \bibname on input line 12. Package scrbase Info: activating english \bibname on input line 13.
Package scrbase Info: activating english \indexname on input line 12. Package scrbase Info: activating english \indexname on input line 13.
LaTeX Info: Redefining \microtypecontext on input line 12. LaTeX Info: Redefining \microtypecontext on input line 13.
Package microtype Info: Applying patch `item' on input line 12. Package microtype Info: Applying patch `item' on input line 13.
Package microtype Info: Applying patch `toc' on input line 12. Package microtype Info: Applying patch `toc' on input line 13.
Package microtype Info: Applying patch `eqnum' on input line 12. Package microtype Info: Applying patch `eqnum' on input line 13.
Package microtype Info: Applying patch `footnote' on input line 12. Package microtype Info: Applying patch `footnote' on input line 13.
Package microtype Info: Applying patch `verbatim' on input line 12. Package microtype Info: Applying patch `verbatim' on input line 13.
LaTeX Info: Redefining \microtypesetup on input line 12. LaTeX Info: Redefining \microtypesetup on input line 13.
Package microtype Info: Generating PDF output. Package microtype Info: Generating PDF output.
Package microtype Info: Character protrusion enabled (level 2). Package microtype Info: Character protrusion enabled (level 2).
Package microtype Info: Using default protrusion set `alltext'. Package microtype Info: Using default protrusion set `alltext'.
@@ -384,7 +384,7 @@ Package microtype Info: No adjustment of character kerning.
File: mt-cmr.cfg 2013/05/19 v2.2 microtype config. file: Computer Modern Roman (RS) File: mt-cmr.cfg 2013/05/19 v2.2 microtype config. file: Computer Modern Roman (RS)
) )
chapter 1. chapter 1.
LaTeX Font Info: Trying to load font information for T1+lmss on input line 13. LaTeX Font Info: Trying to load font information for T1+lmss on input line 14.
(/usr/local/texlive/2026/texmf-dist/tex/latex/lm/t1lmss.fd (/usr/local/texlive/2026/texmf-dist/tex/latex/lm/t1lmss.fd
File: t1lmss.fd 2015/05/01 v1.6.1 Font defs for Latin Modern File: t1lmss.fd 2015/05/01 v1.6.1 Font defs for Latin Modern
) )