Skip to content

Conversation

@prudhomm
Copy link
Member

@prudhomm prudhomm commented Dec 8, 2025

Summary

Adds support for different project types (article, presentation, poster) to the article-cli init command.

Changes

CLI Options

  • Added --type option with choices: article, presentation, poster
  • Added --theme option for Beamer themes (e.g., metropolis, numpex)
  • Added --aspect-ratio option for presentations (169, 43, 1610)

Templates

  • Article template: Standard LaTeX article with biblatex and gitinfo2
  • Presentation template: Beamer with configurable theme and aspect ratio
  • Poster template: tikzposter with A0 default size

Configuration

  • Added get_project_config() method to Config class
  • Added get_presentation_config() method for Beamer settings
  • Added get_poster_config() method for poster settings
  • Updated pyproject.toml generation with type-specific sections

VS Code Integration

  • Article: Uses pdflatex/latexmk with -pdf flag
  • Presentation/Poster: Uses XeLaTeX as default engine

Tests

  • Added 30 new tests in tests/test_repository_setup.py
  • Covers templates, config generation, README, VS Code settings
  • Integration tests for full repository initialization

Test Results

  • 71 tests pass (30 new + 41 existing)
  • 2 pre-existing failures (unrelated environment variable issue)

Closes #2

- Add --type option (article, presentation, poster) to init command
- Add --theme and --aspect-ratio options for Beamer presentations
- Create type-specific LaTeX templates (article, Beamer, tikzposter)
- Configure XeLaTeX as default engine for presentations/posters
- Update VS Code settings with XeLaTeX recipes for presentations
- Add presentation/poster sections to pyproject.toml configuration
- Add comprehensive test suite for repository setup (30 tests)

Closes #2
@prudhomm prudhomm merged commit e44cf07 into main Dec 8, 2025
6 checks passed
@prudhomm prudhomm deleted the 2-add-project-type-support branch December 8, 2025 04:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add project type support (article, presentation, poster)

2 participants