Directory macros/unicodetex/latex/beaulivre
beaulivre
: write you books in a colorful way
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).
beaulivre
is a LaTeX class for typesetting books, which has a colorful design.
Currently, it has native support to Chinese (simplified and traditional), English, French, German, Italian, Japanese, Portuguese (European and Brazilian), Russian and Spanish typesetting. And it may compile with either XeLaTeX or LuaLaTeX.
This is part of the colorist
class series.
Features
Compared with usual document classes, it has the following features:
- Several carefully designed styles.
- Native multilingual support: Chinese (simplified and traditional), English, French, German, Italian, Japanese, Portuguese (European and Brazilian), Russian and Spanish.
- Ready-to-use theorem-type environments, with clever referencing supported.
- Support both the standard and the AMS writing fashion.
- ... and much more...
In particular, for simplified Chinese, traditional Chinese and Japanese, the fonts of the corresponding glyphs can be automatically switched.
Required fonts
The current document class requires the following open-source fonts that are not included in the standard TeX collection:
- The Source Han font series at Adobe Fonts. More specifically:
- Source Han Serif, go to its Release page.
- Source Han Sans, go to its Release page.
- Source Han Mono, go to its Release page.
Improvements to the current font configuration
The code in this section is rather experimental and may constantly get changed. The author uses these lines of code in his daily documents, but since it involves non-free fonts and/or uses complex Lua patches, the code below cannot be integrated into the published version.
If you are willing to use LuaLaTeX, then the following aspects may help you further improve the current font configuration.
- If you have the font
Palatino Linotype
installed, then replacing the defaultTeXGyrePagellaX
using the following code gives you slightly better result:
\directlua { fonts.handlers.otf.addfeature { name = "palatino-linotype-fix", type = "kern", data = { ["r"] = { ["ê"] = 120 }, ["v"] = { ["ê"] = 180 }, ["w"] = { ["ê"] = 180 }, ["y"] = { ["ê"] = 180 }, }, } } \setmainfont{Palatino Linotype} [ Numbers = OldStyle , RawFeature = +palatino-linotype-fix ]
Palatino Sans LT Pro
installed, then replacing the default mathsf
font with this gives more pleasant visual effect:\setmathsf{Palatino Sans LT Pro} \setmathfont{PalatinoSansLTPro-LightIta}[range=sfit]
.cls
file itself and then maintain your local version of it. Here is how:- First, add this definition at the beginning of the font configuration.
\ExplSyntaxOff % https://tex.stackexchange.com/a/505003 \def\mathkern@fix@for@lua { \directlua { local mathkerns = { ["Asana-Math"] = { [0x1D447] = {% T bottomright = { {height=0,kern=-120}, }, }, [0x1D449] = {% V bottomright = { {height=0,kern=-120}, }, }, [0x1D44A] = {% W bottomright = { {height=0,kern=-30}, }, }, [0x1D453] = {% f bottomright = { {height=0,kern=-135}, }, }, [0x1D44F] = {% b topright = { {height=0,kern=75}, }, }, }, ["KpMath-Regular"] = { [0x1D6FD] = {% \beta bottomright = { {height=0,kern=30}, }, }, [0x1D6FF] = {% \delta bottomright = { {height=0,kern=30}, }, }, [0x1D702] = {% \eta bottomright = { {height=0,kern=30}, }, }, [0x1D703] = {% \theta bottomright = { {height=0,kern=10}, }, }, [0x1D714] = {% \omega bottomright = { {height=0,kern=30}, }, }, }, } local function initmathkern(tfmdata) local values = mathkerns[tfmdata.properties.psname] if not values then return end for cp, value in next, values do local tcp = type(cp) if tcp == 'string' then cp = tfmdata.resources.unicodes[cp] end local char = tfmdata.characters[cp] if char then local mathkern = char.mathkerns if not mathkern then mathkern = {} char.mathkerns = mathkern end for corner, v in next, value do mathkern[corner] = v end end end end fonts.constructors.newfeatures'otf'.register{ name = 'mathkern', description = 'Overwrite mathkern values', initializers = { base = initmathkern, }, } } } \ExplSyntaxOn
\RequirePackage { unicode-math }
, add these lines:\sys_if_engine_luatex:T { \mathkern@fix@for@lua }
\setmathfont { KpMath-Regular.otf }
with \setmathfont [ RawFeature = mathkern ] { KpMath-Regular.otf }
, and replace\setmathfont { texgyrepagella-math.otf } [ range = { it / { Latin, latin }, bfit / { Latin, latin }, up / num, bfup / num } ]
\setmathfont [ RawFeature = mathkern ] { Asana-Math.otf } [ range = { it / { Latin, latin }, bfit / { Latin, latin }, up / num, bfup / num } ]
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 (14.0k).
beaulivre – Write your books in a colorful way
This package provides a LaTeX class for typesetting books with a colorful design.
Currently, it has native support for Chinese (both simplified and traditional), English, French, German, Italian, Japanese, Portuguese (European and Brazilian), Russian and Spanish typesetting. It compiles with either XeLaTeX or LuaLaTeX.
This is part of the colorist class series and depends on colorist.sty from the colorist package.
The package name “beaulivre” is taken from the French words “beau” (= “beautiful”) and “livre” (= “book”).
Package | beaulivre |
Repository | https://github.com/Jinwen-XU/colorist/tree/main/beaulivre |
Version | 2024-02-20 |
Licenses | The LaTeX Project Public License 1.3c |
Copyright | 2021–2024 Jinwen XU |
Maintainer | Jinwen XU |
Contained in | TeX Live as beaulivre MiKTeX as beaulivre |
Topics | Chinese Class Book publication Multi-lingual Experimental LaTeX3 |
See also | colorist |