Convert the labsheet PDF to markdown for easy reading:
markitdown input/labsheet.pdf -o input/labsheet.mdRead input/labsheet.md to understand each task, its formulas, parameters, and required plots.
Create one .m file per task in src/ following these rules:
- No underscores in variable names (use
x1,yval, notx_1,y_val) - Simple loops and control flow (student style)
- Save plots with
print('taskname_plot1.png', '-dpng', '-r300')— filenames must start with the script base name - Keep comments short
Ensure .env exists (copy from .env.example and fill in):
STUDENT_NAME="Your Name"
STUDENT_ROLL_NUMBER="Roll Number"
MATLAB_DIR=src
INPUT_DIR=input
OUTPUT_DIR=outputRun the automation script:
python3 generate_report.pyNote: If manually providing screenshots (e.g. 1.1.png for LS1_01.m) and using an inference.txt file, run with skip-run enabled:
python3 generate_report.py --skip-runThis compiles all MATLAB source files in src/, maps manual/generated screenshots, parses inferences, generates output/report.tex, and compiles the final report PDF.
| Step | Command |
|---|---|
| Convert PDF | markitdown input/labsheet.pdf -o input/labsheet.md |
| Generate report | python3 generate_report.py |
| Output | output/report.pdf |
-
input/labsheet.mdcreated -
.mfiles written tosrc/(no underscores in variable names) -
print('scriptname_*.png', '-dpng', '-r300')in every plotting script -
.envconfigured with name, roll number, and paths -
python3 generate_report.pyruns without errors -
output/report.pdfgenerated and viewable