Skip to content

Block packages that conflict with Ximera's page layout#269

Open
AbdelKharij wants to merge 63 commits into
XimeraProject:developmentfrom
AbdelKharij:development
Open

Block packages that conflict with Ximera's page layout#269
AbdelKharij wants to merge 63 commits into
XimeraProject:developmentfrom
AbdelKharij:development

Conversation

@AbdelKharij

Copy link
Copy Markdown

Several LaTeX packages conflict with Ximera's internal page layout,
header/footer, author handling, and spacing systems. If a contributor
loads any of these in their .tex file, it silently overrides Ximera's
carefully set defaults, causing inconsistent output between contributors
and breaking PDF/web parity.

This PR adds a \ximera@blockpkg helper to src/packages.dtx that
pre-declares conflicting packages as already loaded, making \usepackage
a no-op for them and emitting a warning in the compile log so
contributors know what happened.

Blocked packages and reasons:

  • geometry, fullpage: conflict with Ximera's hardcoded page dimensions
    set in src/pagesetup.dtx (\oddsidemargin, \evensidemargin, \textwidth)
  • fancyhdr: conflicts with Ximera's titlesec-based \pagestyle{main}
  • authblk: conflicts with Ximera's custom \author redefinition in
    src/title.dtx
  • setspace, multicol, ragged2e: alter spacing and layout that Ximera
    depends on for consistent PDF and web output

Also overrides \pagenumbering to a no-op with a warning, since Ximera
manages page numbering through its own pagestyle. The original is
preserved as \ximera@old@pagenumbering for internal use if needed.

To add more blocked packages in the future, a single line suffices:
\ximera@blockpkg{packagename}

Jeffrey-Kuan and others added 30 commits July 13, 2025 06:57
this update to Ximera.cfg should have the lists deliverable in it
Found a typo - even though this isn't actually used ever, there was a missing ``\EndP`` in freeresponse configuration which would leave to most of the page (notably the ToC) not rendering.
Fixed in the 4ht as well as source.
Tikzexport: restore tikzexport functionality (vs TeX4ht image generation)
wiobber and others added 30 commits September 25, 2025 16:54
* prototype implementation of including .xmcss files, parallel to the .xmjax files for newcommands in mathjax.
This will enable support for minipage through custom css propertries PER INSTANCE of \begin{minipage}.
This could also be used to implement better sizing of images (via \begin{image}}
Currently changes in xmPreamble needed to make use of this.
* improve logging
* add preliminary htmltask/servetask option to xmlatex (will only work with luaxake with pdfexport/htmlexport)
Made edits to enumerate.dtx for lists/bib deliverable
Adds a \ximera@blockpkg helper in src/packages.dtx that pre-declares
packages as already loaded (via \@namedef{ver@<pkg>.sty}), making
\usepackage a silent no-op with a warning in the compile log.

Blocked packages:
- geometry, fullpage: conflict with Ximera's hardcoded page dimensions
  (\oddsidemargin, \textwidth, etc. set in src/pagesetup.dtx)
- fancyhdr: conflicts with Ximera's titlesec-based \pagestyle{main}
- authblk: conflicts with Ximera's custom \author handling in src/title.dtx
- setspace, multicol, ragged2e: alter spacing/layout Ximera depends on

Also overrides \pagenumbering to a no-op with a warning, since
Ximera manages page numbering via its own pagestyle.

The original \pagenumbering is preserved as \ximera@old@pagenumbering
in case Ximera itself needs to call it internally in the future.
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.

6 participants