dsekdocs
is a package for the typesetting of the D-guild's LaTeX documents. It is meant to replace the now 20 year old package dsek-latex. dsekdocs
consists of a regular LaTeX package, dsek.sty
, and a number of document classes shown below in a hierarchy of dependencies:
dsekdoc.cls
is the root document class.
dsekmotion.cls
. Used for motions and propositions. (Motioner och propositioner)dseknotice.cls
. Used for notices. (Kallelser)dsekdocket.cls
. Used for dockets. (Föredragningslistor)dsekelectionproposal.cls
. Used for election proposals. (Valberedningens förslag)dsekrequirementsprofile.cls
. Used for requirements profiles. (Kravprofiler)dsekparagraphed.cls
. Used for documents with enumerated paragraphs.dsekminutes.cls
. Used for meeting minutes. (Protokoll)dsekregdoc.cls
. Used for regulatory documents. (Styrdokument)
dsekstatutes.cls
. Used for statutes. (Stadgar)dsekregulations.cls
. Used for regulations. (Reglemente)dsekpolicy.cls
. Used for policies. (Policyer)dsekguideline.cls
. Used for guidelines. (Riktlinjer)The package dsek
depends on
The document class dsekdoc
depends on
All document classes depend on dsekdoc
, but some have additional dependencies:
dseknotice
depends on
dsekelectionproposal
depends on
† - these packages are incompatible with pdflatex
. This means that document classes with these dependencies cannot be compiled with pdflatex
. Use xelatex
or lualatex
instead!
dsekdocs
uses l3build
for building the package documentation and the ready to publish CTAN-package.
To build the package documentation, you can run
$ l3build docs
and to build the CTAN package, you can run
$ l3build ctan
If there are bugs, features missing or something else about the development you want to discuss, please create an issue. Pull requests are also welcome, but a corresponding issue is nice to have, should multiple pull requests for the same functionality arise.
dsekdocs
uses Semantic Versioning. Read through it before determining what kind of version bump to create.
dsekdocs
makes use of the regression testing facilities of l3build
. To run the tests, run
$ l3build check
If you change the code for any commands in the package, some tests will in all likelihood fail. As these tests only check for a change in the output, this doesn't mean that the new code is wrong, but check that it's the tests you expect that fail and no more. For more details, see the l3build
documentation.
If you introduce new functionality, please also introduce new tests. When you have a .lvt
file that contains tests for this functionality, the corresponding .tlg
files can be created with
$ l3build save <name of test>
$ l3build save -e luatex <name of test>
Documentation for the development of LaTeX packages is kind of scarce; especially so since we are using the relatively modern Expl syntax introduced in LaTeX3. Regardless, some good resources are:
xparse
package, which is featured heavily for the introduction of user-facing commands and environments.