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 screenshot

Execution 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