Skip to content

Auto-compile CV from LaTeX source to PDF and HTML #5

@jeremymanning

Description

@jeremymanning

Overview

Automatically compile Jeremy Manning's CV from LaTeX source into both PDF and HTML formats. The HTML version should have the same visual appearance as the PDF and include a "Download PDF" link.

Goals

  1. Single source of truth: Edit CV in LaTeX, automatically generate PDF and HTML
  2. Visual consistency: HTML version should match PDF appearance as closely as possible
  3. Easy download: HTML page includes prominent "Download PDF" button/link
  4. Automated builds: Changes to LaTeX source trigger regeneration

Implementation Options

Option A: LaTeX → PDF → HTML (via pdf2htmlEX or similar)

  • Pros: Perfect visual fidelity
  • Cons: Large file size, may not be mobile-friendly

Option B: LaTeX → PDF + LaTeX → HTML (via tex4ht/make4ht)

  • Pros: Native HTML, more accessible
  • Cons: May require CSS tweaking for visual match

Option C: LaTeX → PDF + Markdown → HTML

  • Pros: Clean, maintainable HTML
  • Cons: Requires maintaining parallel Markdown or extracting from LaTeX

Recommended: Option B with custom CSS

Use make4ht or tex4ht to convert LaTeX to HTML, then apply custom CSS to match the PDF styling.

File Structure

cv/
  JRM_CV.tex           # LaTeX source
  JRM_CV.pdf           # Generated PDF
  JRM_CV.html          # Generated HTML
  cv-style.css         # Custom styles for HTML version
  build_cv.sh          # Build script

documents/
  JRM_CV.pdf           # Copy for download link (or symlink)

HTML Page Features

  • Clean, readable layout matching PDF design
  • Responsive design for mobile viewing
  • "Download PDF" button prominently displayed
  • Print stylesheet that matches PDF
  • Proper semantic HTML (headings, lists, etc.)
  • Accessible (screen reader friendly)

Build Script Requirements

#!/bin/bash
# build_cv.sh

# Compile LaTeX to PDF
pdflatex JRM_CV.tex
pdflatex JRM_CV.tex  # Run twice for references

# Convert to HTML
make4ht JRM_CV.tex "html5"

# Apply custom styling
# (may need post-processing script)

# Copy PDF to documents folder
cp JRM_CV.pdf ../documents/

Testing Plan

  • PDF compiles without errors
  • HTML generates without errors
  • Visual comparison: HTML matches PDF layout
  • All links in HTML work
  • Download PDF button works
  • Mobile layout is readable
  • Print from HTML produces good output

Dependencies

  • LaTeX distribution (TeX Live or similar)
  • make4ht (for HTML conversion)
  • Possibly Node.js for post-processing

Labels

enhancement, automation, documentation

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions