Directory macros/latex/contrib/projlib
The ProjLib Toolkit
This bundle is dated 2025/10/21.
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 moduletheoremisprojlib-theorem.sty. These modules are managed by the main packageProjLib.sty.
The modules include:
- module
author- Enhanced author information block- Offering
\address,\curraddrand\email, etc. - Allow writing in the AMS fashion (with option
ams-fashion):- support
\dedicatory,\keywordsand\subjclass;\thankscan be written outside\author;- the
abstractenvironment can be placed before\maketitle.
- support
- Offering
- module
datetime- Convert numeric date-time string to natural language\TheDateand\Thedatefor converting numeric date-time string to natural language, with multi-language support (if the command names\TheDateor\Thedateare occupied, then one can switch to the longer version\ProjLibDateand\ProjLibdate).\ProjLibTodayand\ProjLibToday(with the modulelanguageenabled,\todayis redefined into\ProjLibToday, and thus supports additional arguments likeonly-year-month).- Multiple input and output format available.
- module
draft- Useful commands during draft stage\DNFfor marking unfinished part. In addition, a report of all unfinished places shall be printed at the last of your document.- Reimplemented
\blindtextto 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,\UseOtherLanguagefor selecting languages, and\AddLanguageSettingfor adding language-specific settings.\DefineMultilingualTextfor 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
ProjLiblogo in colorful or colorless fashion.
- Draw the
- module
math- Efficient math setup\DefineOperatorand\DefineShortcutfor setting up math macros efficiently.\ListOfSymbolsfor 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. \ItemDescriptionfor writing leading description to items initemizeorenumerate.
- 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,\SetTheoremand more...- In particular, supporting the modes
name as isandname as contextfor 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. \SwitchTheoremNumberingand\DisableTheoremNumberingfor 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,factsandnotations), 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,simpleandfancy.
- Currently support four title page styles:
Since the moduletheoremusescleveref, it should be loaded aftervariorefandhyperref(same for the main packageProjLib).
Package dependencies:
- module
author:regexpatch,scontents; it loads the modulelanguageinternally.- module
datetime:relsize.- module
draft:pgf,ulem; it loads the modulelanguageinternally.- 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 modulepaperinternally.- module
theorem:amsthm,create-theorem,mathtools,silence; it loads the modulelanguageinternally.- module
titlepage:pgf; it loads the moduleslogoandpaperinternally.
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.6k).
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 | 2025-10-21 |
| Licenses | The LaTeX Project Public License 1.3c |
| Copyright | 2021–2025 Jinwen XU |
| Maintainer | Jinwen XU |
| Contained in | TeX Live as projlib MiKTeX as projlib |
| Topics | Misc support Experimental LaTeX3 |