Directory macros/latex/contrib/projlib
The ProjLib
Toolkit
This bundle is dated 2024/11/07.
New documentations are still being written. For now, only the core code is included in TeX Live 2024 and MiKTeX (old documentations have been removed from the distribution).
Introduction
ProjLib can be interpreted as "Project Library" (in English), or as "Projet Libre" (in French, meaning "Free Project").
ProjLib
is a collection of tools that help you write LaTeX document. With the main package ProjLib
loaded (note that it is case-sensitive), you no longer need to manually configure the appropriate multilingual settings nor to set up the theorem-like environments. In addition, a series of auxiliary functionalities are introduced.
To get started, simply put this line in your preamble:
\usepackage{ProjLib}
For the options and detailed usage, please refer to the documentation.
The modules
Each module corresponds to a separate package, for example, the moduletheorem
isprojlib-theorem.sty
. These modules are managed by the main packageProjLib.sty
.
The modules include:
- module
author
- Enhanced author information block- Offering
\address
,\curraddr
and\email
, etc. - Allow writing in the AMS fashion (with option
ams-fashion
):- support
\dedicatory
,\keywords
and\subjclass
;\thanks
can be written outside\author
;- the
abstract
environment can be placed before\maketitle
.
- support
- Offering
- module
datetime
- Convert numeric date-time string to natural language\TheDate
and\Thedate
for converting numeric date-time string to natural language, with multi-language support (if the command names\TheDate
or\Thedate
are occupied, then one can switch to the longer version\ProjLibDate
and\ProjLibdate
).\ProjLibToday
and\ProjLibToday
(with the modulelanguage
enabled,\today
is redefined into\ProjLibToday
, and thus supports additional arguments likeonly-year-month
).- Multiple input and output format available.
- module
draft
- Useful commands during draft stage\DNF
for marking unfinished part. In addition, a report of all unfinished places shall be printed at the last of your document.- Reimplemented
\blindtext
to support more languages.
- module
font
- Font selection and configuration- Supporting New Computer Modern / Latin Modern, Palatino, Times, Garamond, Bembo, Biolinum, Noto, etc.
- module
language
- Multi-language configuration\UseLanguage
,\UseOtherLanguage
for selecting languages, and\AddLanguageSetting
for adding language-specific settings.\DefineMultilingualText
for defining multilingual text strings.- Currently support Chinese (simplified and traditional), English, French, German, Italien, Japanese, Portuguese (European and Brazilian), Russian and Spanish.
- module
logo
- The ProjLib logo- Draw the
ProjLib
logo in colorful or colorless fashion.
- Draw the
- module
math
- Efficient math setup\DefineOperator
and\DefineShortcut
for setting up math macros efficiently.\ListOfSymbols
for printing list of symbols.
- module
paper
- Configuration of the paper style- Paper style configuration, with the themes
light yellow
,yellow
,green
,light gray
,gray
,dark
, etc.
- Paper style configuration, with the themes
- module
text
- Text-related commands- Provide a few useful commands such as
\ie
,\eg
,\cf
,\etc
; and if you have your own version defined, they won't interfere with your definition. \ItemDescription
for writing leading description to items initemize
orenumerate
.
- Provide a few useful commands such as
- module
theorem
- Configuration of theorem-like environments- Setting up theorem-like environments based on the package
create-theorem
\CreateTheorem
,\SetTheorem
and more...- In particular, supporting the modes
name as is
andname as context
for the referencing names.
- In particular, supporting the modes
- Offering two modes
complex names
(default) andsimple names
(better visual effect but less correct grammar) for the referencing names of those supported theorem-like environments. \SwitchTheoremNumbering
and\DisableTheoremNumbering
for manipulating the numbering.- Preset environments include:
application
,assertion
,assumption
,axiom
,claim
,commentary
,conclusion
,conjecture
,construction
,convention
,corollary
,definition
,definition-proposition
,definition-theorem
,example
,exercise
,fact
,hypothesis
,lemma
,motivation
,notation
,observation
,postulate
,problem
,property
,proposition
,question
,recall
,remark
,theorem
, their plural version (among the most commonly used areexamples
,facts
andnotations
), and the corresponding unnumbered version with an asterisk*
in the name.
- Setting up theorem-like environments based on the package
- module
titlepage
- Interface for title page rendering- Currently support four title page styles:
default
,academic
,simple
andfancy
.
- Currently support four title page styles:
Since the moduletheorem
usescleveref
, it should be loaded aftervarioref
andhyperref
(same for the main packageProjLib
).
Package dependencies:
- module
author
:regexpatch
,scontents
; it loads the modulelanguage
internally.- module
datetime
:relsize
.- module
draft
:pgf
,ulem
; it loads the modulelanguage
internally.- module
font
:anyfontsize
,microtype
,setspaceenhanced
, and a number of font packages depending on the specified option.- module
language
:babel
,csquotes
,setspaceenhanced
,silence
.- module
logo
:pgf
.- module
math
:amsfonts
,mathrsfs
,mathtools
.- module
paper
:xcolor
.- module
text
: it loads the modulepaper
internally.- module
theorem
:amsthm
,create-theorem
,mathtools
,silence
; it loads the modulelanguage
internally.- module
titlepage
:pgf
; it loads the moduleslogo
andpaper
internally.
How to get these files
You can get the .sty
files mentioned above by compiling ProjLib.ins
:
latex ProjLib.ins
License
This work is released under the LaTeX Project Public License, v1.3c or later.
Download the contents of this package in one zip archive (82.5k).
ProjLib – A collection of facilitative tools
ProjLib is a collection of tools to help you write LaTeX documents. With the main package ProjLib loaded, you no longer need to set up the theorem-like environments, nor to manually configure the appropriate multilingual settings. In addition, a series of auxiliary functionalities are introduced.
Package | ProjLib |
Repository | https://github.com/Jinwen-XU/ProjLib |
Version | 2024-11-07 |
Licenses | The LaTeX Project Public License 1.3c |
Copyright | 2021–2024 Jinwen XU |
Maintainer | Jinwen XU |
Contained in | TeX Live as projlib MiKTeX as projlib |
Topics | Experimental LaTeX3 Misc support |