A comprehensive LaTeX document management system for UCCS (University of Colorado Colorado Springs) coursework, featuring automated document scaffolding, consistent branding, and streamlined compilation workflows.
Perfect for UCCS students in Engineering, Business, Computer Science, and all academic programs requiring professional document preparation. Compatible with graduate and undergraduate coursework.
- UCCS Students: All departments and programs (Engineering, Business, Sciences, Liberal Arts)
- Other Universities: Easily adaptable by replacing logos and color schemes
- Professionals: Technical reports, project documentation, and presentations
- LaTeX Learners: Well-documented examples and automation for beginners
- π― Template-Based Document Generation: Automated homework and report scaffolding with course-specific customization
- π¨ Consistent UCCS Branding: Professional styling with DoD-blue color scheme and Fira Sans typography
- β‘ Multi-Engine Support: Compatible with XeLaTeX, Tectonic, and LaTeX
- π Organized Directory Structure: Course/term-based file organization with shared assets
- π οΈ Makefile Integration: Streamlined build processes and workflow automation
- π€ Custom Font Integration: Complete Fira Sans font family with proper XeLaTeX configuration
The toolchain provides two professionally-styled templates designed for UCCS academic work. Both templates feature consistent branding, proper typography, and automated content generation.
Optimized for assignments, problem sets, and take-home exams with a compact layout and mathematical typesetting support.
Key Features:
- Compact title block with course information and assignment details
- Styled problem environments with DoD-blue highlighting
- Mathematical equation support with proper numbering
- Headers/footers on all pages for identification
Designed for formal reports, research papers, and capstone projects with a professional multi-page layout.
Key Features:
- Dedicated title page with UCCS branding and course details
- Structured sections for executive summary, analysis, and recommendations
- Double-spaced formatting for academic standards
- Figure numbering and citation support
- Professional headers/footers throughout document
uccs-me-syse-latex/
βββ build.cmd # Cross-platform build wrapper (Unix/Linux/macOS/Git Bash)
βββ build.bat # Windows build wrapper (native Windows)
βββ Makefile # Root Makefile (delegates to build/Makefile)
βββ build/ # Build configuration and CI/CD
β βββ Makefile # Unix/Linux/macOS build automation
β βββ build.bat # Windows batch build script
β βββ cicd/ # Continuous integration
β βββ docker/ # Containerization support
βββ classes/ # Course-specific documents
β βββ EMGT5510/ # Course directory
β βββ 2025_summer/ # Term-specific assignments
β βββ data/ # Supporting data files
β βββ figures/ # Course-specific images
β βββ *.tex # Generated documents
βββ scripts/ # Automation scripts
β βββ newdoc.sh # Document scaffolding script (Unix/Linux/macOS)
βββ templates/ # LaTeX templates
β βββ homework_template.tex # Homework assignment template
β βββ report_template.tex # Report/project template
βββ texmf/ # Shared LaTeX resources
βββ fonts/ # Complete font family support
β βββ otf/ # OpenType fonts for XeLaTeX
β βββ ttf/ # TrueType fonts for compatibility
βββ images/ # Shared assets (UCCS logo, etc.)
- XeLaTeX (recommended) or Tectonic for compilation
- Build System (automatically detected):
- Cross-platform: Use
./build.cmd
(Unix/Linux/macOS/Git Bash) - Windows: Use
build.bat
(native Windows Command Prompt/PowerShell) - Alternative: Use
make
directly on Unix/Linux/macOS
- Cross-platform: Use
- Document Creation:
- Unix/Linux/macOS:
scripts/newdoc.sh
(bash required) - Windows: Manual template copying or WSL/Git Bash for script usage
- Unix/Linux/macOS:
-
Clone the repository:
git clone https://github.com/ddunnock/uccs-latex-templates.git cd uccs-latex-templates
-
Verify LaTeX engine:
# Check XeLaTeX installation which xelatex # Or check Tectonic installation which tectonic
Create a homework assignment:
make newhw CLASS=EMGT5510 ACAD_TERM=2025_summer ASSIGN="Module-1_Homework" \
STUDENT="Your Name" INSTRUCTOR="Dr. Instructor"
Create a report:
make newreport CLASS=EMGT5510 ACAD_TERM=2025_summer ASSIGN="Midterm_Report" \
STUDENT="Your Name" INSTRUCTOR="Dr. Instructor" \
COURSE_TITLE="Course Title"
Environment variables:
TYPE=homework CLASS=EMGT5510 ACAD_TERM=2025_summer ASSIGN="Module-1_Homework" \
STUDENT="Your Name" INSTRUCTOR="Dr. Instructor" \
COURSE_TITLE="Course Title" bash scripts/newdoc.sh
Interactive mode:
# Simple interactive mode (Unix/Linux/macOS)
make newdoc
# Or run script directly
bash scripts/newdoc.sh
# Example interactive session:
# Document type [homework/report]: homework
# Course ID (e.g. EMGT5510): EMGT5510
# Academic term (e.g. 2025_summer): 2025_spring
# Assignment label (e.g. HW-01): Module-1_Homework
# Student name [Your Name]: John Smith
# Instructor [TBD]: Dr. Johnson
# Course title [optional]: Leadership for Engineers
For Windows users or when automation isn't available:
-
Copy the appropriate template:
# For homework cp templates/homework_template.tex classes/EMGT5510/2025_summer/EMGT5510_Assignment-Name.tex # For reports cp templates/report_template.tex classes/EMGT5510/2025_summer/EMGT5510_Report-Name.tex
-
Edit the document header in your new
.tex
file:- Replace
\newcommand{\course}{COURSE}
- Replace
\newcommand{\term}{TERM}
- Replace
\newcommand{\assignment}{ASSIGNMENT}
- Replace
\newcommand{\student}{STUDENT}
- Replace
\newcommand{\instructor}{INSTRUCTOR}
- Replace
\newcommand{\coursetitle}{COURSE TITLE}
(reports only)
- Replace
-
Create the directory structure if it doesn't exist:
mkdir -p classes/EMGT5510/2025_summer/figures mkdir -p classes/EMGT5510/2025_summer/data
For Unix/Linux/macOS/Git Bash:
# Show help and available commands
./build.cmd help
# Compile a single document
./build.cmd pdf FILE=classes/EMGT5510/2025_summer/EMGT5510_Module-1_Homework.tex
# Compile all documents
./build.cmd all
# Live compilation (watch mode)
./build.cmd watch FILE=classes/EMGT5510/2025_summer/EMGT5510_Module-1_Homework.tex
# Clean auxiliary files
./build.cmd clean
For Windows Command Prompt/PowerShell:
REM Show help and available commands
build.bat help
REM Compile a single document
build.bat pdf FILE=classes/EMGT5510/2025_summer/EMGT5510_Module-1_Homework.tex
REM Compile all documents
build.bat all
REM Live compilation (watch mode)
build.bat watch FILE=classes/EMGT5510/2025_summer/EMGT5510_Module-1_Homework.tex
REM Clean auxiliary files
build.bat clean
Unix/Linux/macOS (using Make):
make pdf FILE=classes/EMGT5510/2025_summer/EMGT5510_Module-1_Homework.tex
make all
make watch FILE=classes/EMGT5510/2025_summer/EMGT5510_Module-1_Homework.tex
Windows (using batch files directly):
build\build.bat pdf FILE=classes\EMGT5510\2025_summer\EMGT5510_Module-1_Homework.tex
build\build.bat all
build\build.bat clean
For any platform with XeLaTeX or Tectonic installed:
# Navigate to the document directory
cd classes/EMGT5510/2025_summer/
# Using XeLaTeX
xelatex EMGT5510_Module-1_Homework.tex
# Using Tectonic (if available)
tectonic EMGT5510_Module-1_Homework.tex
- Compact Title Block: Course info, assignment title, and submission details
- Problem Environments: Styled problem statements with DoD-blue highlighting
- Mathematical Typesetting: Full AMS-Math support with proper equation numbering
- Sample Content: Pre-filled example problems demonstrating best practices
- Professional Title Page: UCCS branding with course and project information
- Structured Sections: Executive summary, analysis, recommendations, and appendices
- Academic Formatting: Double-spaced body text with proper citation support
- Figure Integration: Section-numbered figures with caption support
Command | Description | Example |
---|---|---|
help |
Show all available targets | make help |
pdf |
Compile single document | make pdf FILE=path/to/doc.tex |
all |
Compile all documents | make all |
watch |
Live compilation (latexmk) | make watch FILE=path/to/doc.tex |
clean |
Remove auxiliary files | make clean |
distclean |
Clean + remove PDFs | make distclean |
newdoc |
Interactive document creation | make newdoc |
newhw |
Create homework (shorthand) | make newhw CLASS=EMGT5510 ... |
newreport |
Create report (shorthand) | make newreport CLASS=EMGT5510 ... |
- Primary: DoD Blue (
RGB(0,102,204)
) for headings and accents - Secondary: Header Blue (
RGB(222,230,242)
) for table backgrounds - Text: Black on white for optimal readability
- Body Text: Fira Sans Regular/Bold/Italic
- Headings: Fira Sans Light for visual hierarchy
- Math: Computer Modern (LaTeX default) for mathematical expressions
- Margins: 1 inch on all sides
- Spacing: Double-spaced body text
- Headers: Course and term information
- Footers: Page numbering
Create a .newdoc.conf
file in your project root or home directory to set default values for interactive mode:
# Copy the example and customize
cp .newdoc.conf.example .newdoc.conf
# Edit with your information
nano .newdoc.conf
Example configuration:
# Your personal information
STUDENT_NAME="John Smith"
# Current semester information
ACAD_TERM="2025_spring"
# Current course information
CLASS="EMGT5510"
INSTRUCTOR="Dr. Johnson"
COURSE_TITLE="Leadership for Engineers"
Benefits:
- π Faster document creation - Just press Enter to use defaults
- π Consistent information - No typos in repeated fields
- π Easy semester updates - Change term once per semester
- π₯ Multiple courses - Override CLASS per document as needed
The Makefile automatically detects available LaTeX engines in this order:
- Tectonic (preferred for speed and reliability)
- XeLaTeX (required for font support)
- Latexmk (fallback with XeLaTeX backend)
Fira Sans fonts are included in texmf/fonts/otf/
and automatically configured for XeLaTeX. The font paths are relative to the document location using the pattern ../../../texmf/fonts/otf/
.
- Shared Images: Place in
texmf/images/
(UCCS logo, common figures) - Course-Specific: Use
classes/COURSE/TERM/figures/
for assignment-specific images - Data Files: Store in
classes/COURSE/TERM/data/
for datasets and supporting materials
Font not found errors:
# Ensure you're compiling from the correct directory
cd classes/COURSE/TERM/
xelatex document.tex
Graphics path errors:
# Verify UCCS logo exists
ls ../../../texmf/images/uccs-logo.png
Math mode errors with underscores:
- The script automatically converts underscores in term names to spaces for display
- Use
2025_summer
asACAD_TERM
parameter
Missing packages:
# Install required LaTeX packages
tlmgr install fontspec titlesec fancyhdr geometry
Test the system with a sample document:
# Create and compile a test homework
make newhw CLASS=TEST101 ACAD_TERM=2025_test ASSIGN="Test_Assignment" \
STUDENT="Test Student" INSTRUCTOR="Test Instructor"
# Compile the test document
make pdf FILE=classes/TEST101/2025_test/TEST101_Test_Assignment.tex
- Engineering Students: Perfect for EMGT, SYSE, ME, EE, CS coursework
- Business Students: Professional reports and case study presentations
- Graduate Students: Thesis, capstone projects, and research papers
- All Departments: Standardized formatting for any UCCS course
- β Official UCCS Logo integrated and properly licensed
- β University Color Scheme (DoD Blue matching UCCS branding)
- β Academic Year Support (Fall/Spring/Summer terms)
- β Course Code Format (DEPT#### automatic formatting)
# Clone and start your first assignment
git clone https://github.com/ddunnock/uccs-latex-templates.git
cd uccs-latex-templates
# Create your first homework (replace with your course)
make newhw CLASS=EMGT5510 ACAD_TERM=2025_spring ASSIGN="Assignment-1" \
STUDENT="Your Name" INSTRUCTOR="Dr. LastName"
To customize for your institution:
- Replace
texmf/images/uccs-logo.png
with your university logo - Update color scheme in templates (search for
dodblue
) - Modify header text and branding elements
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Templates: Follow existing styling patterns and placeholder conventions
- Scripts: Maintain POSIX shell compatibility where possible
- Documentation: Update README.md for any new features or changes
- Testing: Verify templates compile without warnings
This project is licensed under the MIT License for all original source code, build scripts, and supporting files.
Important: The repository contains third-party assets with different licensing:
- Fira Sans fonts: Licensed under SIL Open Font License (OFL-1.1)
- UCCS logo: Trademark of University of Colorado (academic use only)
See the LICENSE file for complete details and compliance requirements.
- UCCS College of Engineering & Applied Science for branding guidelines
- Fira Sans Font Family by Mozilla for typography
- LaTeX Community for the robust typesetting foundation
- Tectonic Project for modern LaTeX compilation