v2.1.0 Nala
This minor release introduces several new exciting features.
And it's an anniversary release.
First of all, it's the first release where all dependencies are versioned on LuaRocks, so that you can now install them without the --dev
option and get the required versions of each component.
This should make it much easier for you to install or upgrade the package collection, and get all dependencies right:
luarocks install resilient.sile
The main new feature in this release is the support of a master document format, which allows you to split your document in several files, and have them easily assembled into a single book. With Djot and Markdown also made first-class citizens, you can now write your book without using the SIL language at all, or only in a limited way. Future versions of the master document format will make the need of SIL even more optional.
In other words, with its style paradigm and now with master documents, the re·sil·ient collection introduces a new way of writing books with SILE.
Styles have also been updated to support text casing, a must-have feature for novels and other literary works. For instance, you may now have uppercase chapter titles in the book body, independently from running headers or the table of contents.
Features
- (Input) Master document format (#18, #51)
- (Style) Character style support for text casing (#41)
- (Layouts) Add a "geometry" page layout for user-defined arbitrary margins (ae9d862)
- (Layouts) Add the
\layout
command for changing the page layout (05594b6) - (Book class) Make djot package first-class in resilient.book class (8aaef48)
- (Packages) Experimental packages for XML USX bible and XML TEI Gotica bible formats (#53)
Fixes
- (Styles) Extraneous blank pages are sometimes inserted before chapters or parts (4992c8c)
- (Styles) Incorrect running header initialization in absence of odd header (#43)
- (Book class) Running headers must be tracked to occur on the correct page (#43, #54)
⚠️ - (Book class) Wrong section number level in odd page header (#47)
⚠️ - (Styles) Chapter title in running header should honor its numberstyle (#46)
⚠️ - (Book class) Missing borders in
\showlayout
with latest version of ptable.sile (f56ae98) - (Packages) A document.parskip in relative unit causes issues in lists (#3)
- (Styles) Bold is font weight 700, not 800, default styles are erroneous (005291a)
- (Packages) Better conformance of the poetry package with the style paradigm (8ba1bf8)
Packaging
- Switch to versioned rocks on LuaRocks.
- Dependency on sile·x as a common layer for providing common bricks and blocks, compatility features and opinionated hacks.
⚠️
Documentation
The user manual also received several improvements.
Migration notes
Some of the fixes above, marked with a
Early adopters who used version 2.0 may have to manually fix odd and even running header styles in their (earlier-generated) style file, as they were not properly honored.
Also in relation with running headers, the internal implementation of the sectioning hooks has changed to address a number of issues (#43, #47, #54). You shouldn't be affected, unless you implemented your own derived document class and/or tweaked the provided hooks. In this case, you may have to update your code. The current implementation is a workaround in order to avoid breaking styles more than needed, and may be subject to further changes in the future.
An important code refactor occurred to support text casing (or other input filters) in styles. Normally, it shouldn't affect you, unless some edge cases were overlooked. Please report any issue you may encounter.
More importantly, the module collection now depends on silex.sile. Your "resilient" workflows will work as before, and even better... but be aware that sile·x, once installed, overrides some of the core SILE components. Notably, the core "autodoc" package may break and a few other little used and unstable core packages may be affected. As a consequence, the SILE manually may not compile anymore, etc. That's a little price to pay for the benefits of abstracting dirty hacks that were previously cluttering the resilient codebase.
Anniversary release
My first involvement in the SILE project was in late August 2021.
Almost two years later, I'm happy with the achievements of the resilient collection. On the way, I became the third code contributor to Lunamark and to SILE, and the top contributor to the SILE ecosystem of 3rd party packages on LuaRocks. I don't particularly feel any pride about this, all I wanted is a working solution for typesetting books...
So after trying this collection, if you enjoy it as much as I do, please add a "Star" ⭐ to its GitHub repository. It's important, for its visibility first of all, and also for myself to feel this is useful to other peoples. You are also welcome contributing to the GitHub discussions or reporting issues.
But most of all, try the collection, really, and enjoy it!