Copyright © 2007–2024 Markus Kohm
Release: 2024-06-07 v0.92
License: LPPL 1.3c
KOMA presents the KOMA-Script spin-off contract
. Package contract
provides
environments for legal contracts, sections, paragraphs and similar. It is the
official successor to the former KOMA-Script package scrjura
.
This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, version 1.3c of the license. The latest version of this license is in http://www.latex-project.org/lppl.txt and version 1.3c or later is part of all distributions of LaTeX version 2005/12/01 or later.
The Current Maintainer and author of this work is Markus Kohm.
This work consists of the files listed in MANIFEST.md.
For several years
KOMA-Script provides
package scrjura
. The package was developed at the request of and in
co-operation with a German lawyer. In 2024, the package was separated from
KOMA-Script and has since been called contract
. The new name was chosen to
avoid confusion with KOMA-Script packages. Secondly, it better reflects the
purpose of the package.
-
Markus Kohm aka KOMA aka komascript:
Maintainer, Developer, “go-to guy” -
Keks-Dose:
CTAN Release Manager, Tester, “idea man”
If you are a user, you should usually wait until the package has been added to your preferred TeX distribution. Then you can use the package manager of your TeX distribution to install the package.
Distributors should download the current
release. See
MANIFEST.md
for information about the files, that build the distribution.
If distributors also want to distribute contract.sty
, they can
unpack it using:
tex contract.dtx
or temporary install contract
into a TEXMF tree using:
l3build install --full --texmfhome <TDS root directory>
and then use the files from the selected <TDS root directory>
.
Developers who want the current developer version of the code to be installed
for testing, should clone the latex-contract
repository, e.g.,
using
git clone https://github.com/komascript/latex-contract.git
You can than unpack and install contract
using:
l3build install
from within the main directory of the cloned respository.
Important Note: The user manual of contract
uses some packages, which
are still under development and therefore currently may not be available on
CTAN. So you usually cannot use l3build doc
to generate the documentation or
l3build install --full
to install contract
with the documentation. Instead
you either have to read contract.dtx
or use the contract.pdf
available at
the newest contract
release or the
release
branch. You can
copy such PDFs to the doc/latex/contract/
folder of any TEXMF tree.
After installation of contract
and the user manual you can use:
texdoc contract
Without installation you can get contract.pdf
as part of the corresponding
contract
release or the
release
branch.
To become a contributor, e.g., do heavy testing. If you find an issue, please
report it. You can also become a developer and, e.g.,
make new test files to the packageP. See the
l3build
manual for more information about
tests. If you've created a new test and think that it would be useful, please
either do a pull request or add a new issue and
include your test file.
If you think you have found a bug (or another kind of issue) using
contract
you should use the issue
tracker. Please
first search for similar issues already reported and maybe also already fixed
and closed. Maybe the replies to such a similar report would help you too.
If your issue is new, you should report it also using the issue
tracker. Please be kind,
not only when writing the report but also when reading replies and commenting
or answering. And please always add a minimal working example and usually the
relevant parts of the log
-file to your report. Please use the markdown for
code
to add such files into the text of your report. The correct language
identifier for LaTeX code would be latex
. For log
-files you won't need any
language identifier. Usually you should not use attachments for code or
log
-files unless you've been asked to do so. And please note, reports should
always be self-containing. External links often break and so the report become
useles.
Hey, I'm doing this as a hobby. So no need to say thank you. But I'm a vain fop, so I'm certainly up for a quick thank you by email. On komascript.de you can find an explanation of my wishes if you want to give more. If you don't understand German, just click to links at that page.
The development has just begun. Currently the first milestone:
- creating a new repository
- copying
scrjura.dtx
from KOMA-Script ascontract.dtx
to the new repository - creating a new build environment:
-
README.md
-
LICENSE.md
-
MANIFEST.md
-
build.lua
- test files
-
- renaming several internals of
contract
- adding user documentation based on the
scrjura
chapters of the English KOMA-Script manual - improving user documentation
has been reached.
Further milestones could be:
- replacing
scrjura
by acontract
wrapper in KOMA-Script for compatibility only - reimplementing several internals of
contract
:- replacing KOMA-Script options by LaTeX key-value options
- replacing \newkomafont, \setkomafont by something not KOMA-Script
related or alterntively replacing the the internally used
scrkbase
byscrextend
, - using
expl3
, - using the new paragraph hooks of LaTeX,
- using the extended referencing mechanism of LaTeX.
If you have been using the scrjura
package and are now switching to the
contract
package, you should read chapter “From scrjura
to contract
” in
the contract
user manual. The most important and incompatible change IMHO
is, that the argument of \Clause
and \SubClause
isn't mandaroty any longer
but optional. So the syntax has changed to \Clause[<options>]
resp. \SubClause[<options>]
.
Note: For a transitional period, KOMA-Script will continue to contain a
package scrjura
, which is a wrapper to contract
and attempts to increase
compatibility. With this package, the argument of \Clause
and \SubClause
will remain mandatory for the time being. However, this package is expected to
disappear from KOMA-Script after a reasonable period of smooth transition.