Output Formats
Specify exactly what artifact you want. Scuba renders it accordingly.
PDF documents
Theory-heavy assignments render into a PDF with your identity block, title, table of contents (if long), and section-aware formatting.
- Engine: pdf-lib + LaTeX when math is detected.
- Font: Computer Modern by default; configurable in
scholar.json. - Headings, tables, figures, and code blocks are all supported.
Source code
Code deliverables are emitted as real files with the right extension.
bash
assignment_04/├── linked_list.py # your solution├── test_linked_list.py # executed; stdout captured├── output.txt # stdout from the run├── assignment_04.pdf # the formatted writeup└── screenshots/ └── linked_list.png # Freeze screenshotExecution logs
Scuba runs your generated code in a sandboxed child process, captures stdout/stderr, and includes both in the submission. That gives the grader the artifact and the proof.
Freeze code screenshots
For visual submissions, StudentSync uses Freeze to render beautiful, syntax-highlighted code screenshots.
Configuration
json
{ "formatting": { "freezeTheme": "dracula", "freezeBackground": "#0b0c0e", "freezeShadow": true, "freezePadding": 40 }}Built-in Freeze themes worth trying:
dracula, nord, catppuccin-mocha, one-dark.Deterministic naming
Filenames follow <rollNumber>_<assignment>_<kind>.<ext>. That way your prof's grep cheat sheet works, and batch-downloads sort correctly.
Per-assignment overrides
You can override any formatting preference from the chat:
bash
you → /solve assignment.pdf --format "pdf,code,freeze" --theme nord