diff options
Diffstat (limited to 'macros/latex/contrib/lettrine')
-rw-r--r-- | macros/latex/contrib/lettrine/README.md | 26 | ||||
-rw-r--r-- | macros/latex/contrib/lettrine/contrib.dtx | 376 | ||||
-rw-r--r-- | macros/latex/contrib/lettrine/contrib.ins | 59 | ||||
-rw-r--r-- | macros/latex/contrib/lettrine/contrib/optfile.cfl | 28 | ||||
-rw-r--r-- | macros/latex/contrib/lettrine/contrib/pacl.cfl | 84 | ||||
-rw-r--r-- | macros/latex/contrib/lettrine/contrib/padl.cfl | 85 | ||||
-rw-r--r-- | macros/latex/contrib/lettrine/contrib/pzc2.cfl | 45 | ||||
-rw-r--r-- | macros/latex/contrib/lettrine/contrib/pzc3.cfl | 45 | ||||
-rw-r--r-- | macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf | bin | 57736 -> 128266 bytes | |||
-rw-r--r-- | macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf | bin | 62638 -> 139142 bytes | |||
-rw-r--r-- | macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf | bin | 73141 -> 74184 bytes | |||
-rw-r--r-- | macros/latex/contrib/lettrine/doc/lettrine.pdf | bin | 97444 -> 122711 bytes | |||
-rw-r--r-- | macros/latex/contrib/lettrine/lettrine-2022-09-25.sty | 302 | ||||
-rw-r--r-- | macros/latex/contrib/lettrine/lettrine.dtx | 494 | ||||
-rw-r--r-- | macros/latex/contrib/lettrine/lettrine.ins | 84 |
15 files changed, 850 insertions, 778 deletions
diff --git a/macros/latex/contrib/lettrine/README.md b/macros/latex/contrib/lettrine/README.md index f62a7c20c6..57f41e59ff 100644 --- a/macros/latex/contrib/lettrine/README.md +++ b/macros/latex/contrib/lettrine/README.md @@ -9,10 +9,10 @@ This package is meant for typesetting dropped capitals in LaTeX documents. Documentation ------------- -Have a look at one of the PDF files, demo-fr.pdf (in French), -demo-de.pdf (in German) or demo-lua.pdf in the doc directory, -to see how different layouts for dropped capitals can be achieved. -You can also play with the source files demo-*.tex. +Have a look at one of the PDF files, lettrine-demo-fr.pdf (in French), +lettrine-demo-de.pdf (in German) or lettrine-demo-lua.pdf in the doc +directory, to see different layouts for dropped capitals. +You can also play with the source files lettrine-demo-*.tex. Have a look at lettrine.pdf in the doc directory, if you are interested in the complete documentation and code. @@ -31,20 +31,24 @@ Installation This bundle is included in most TeX distributions, but if you need to install it by yourself -1. run lualatex on lettrine.dtx to get the documentation (lettrine.pdf); -2. run luatex on lettrine.ins to strip the comments and create +1. run luatex on lettrine.dtx to strip the comments and create lettrine.sty and lettrine.cfg; -3. run luatex on contrib.dtx to produce the *.cfl files. +2. run lualatex on lettrine.dtx to get the documentation (lettrine.pdf). Files lettrine.sty, lettrine.cfg, lettrine-*.sty and *.cfl go to to a directory searched by TeX, typically $TEXMF/tex/latex/lettrine. -Files README, demo*, *.pdf go to a doc directory, typically -$TEXMF/doc/latex/lettrine. +Files README, lettrine-demo*, lettrine.pdf go to a doc directory, +typically $TEXMF/doc/latex/lettrine. -Files *.dtx, *.ins go to a source directory, typically +Files lettrine.dtx goes to a source directory, typically $TEXMF/source/latex/lettrine +Changes +------- + +See the included manual lettrine.pdf, section "Change History". + -- -Copyright 1999--2022 Daniel Flipo +Copyright 1999--2023 Daniel Flipo E-mail: daniel (dot) flipo (at) free (dot) fr diff --git a/macros/latex/contrib/lettrine/contrib.dtx b/macros/latex/contrib/lettrine/contrib.dtx deleted file mode 100644 index 63d23d094b..0000000000 --- a/macros/latex/contrib/lettrine/contrib.dtx +++ /dev/null @@ -1,376 +0,0 @@ -% \iffalse meta-comment -% -% This program can be distributed and/or modified under the terms -% of the LaTeX Project Public License either version 1.3c of this -% license or (at your option) any later version. -% 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. -% -% This file has the LPPL maintenance status "maintained". -% -% \fi -% -% \iffalse -%<*opt> -% \fi -% \begin{macrocode} -%% This is an example of config file *for syntax only*. -%% -%% Copy it to your document's directory and add -%% \renewcommand{\DefaultOptionsFile}{optfile.cfl} -%% to your document's preamble to use it. -%% -%% The settings below are just *examples*, they are not meant to be good! -%% Proper values heavily depend on the font used! -%% -%% Letters not listed below, will get either the default parameters, -%% or those given as optional argument of \lettrine, if any. -%% -%% The values of the parameters set in this file can be overridden locally -%% using the optional argument of \lettrine. -%% -%% A -\LettrineOptionsFor{A}{slope=0.1\LettrineWidth, findent=-.5em, nindent=.7em} -%% Same parameters for À (utf-8) -\LettrineOptionsFor{À}{slope=0.1\LettrineWidth, findent=-.5em, nindent=0.7em} -%% C' -\LettrineOptionsFor{C'}{nindent=-0.5em} -%% I and J hang into the margin -\LettrineOptionsFor{I}{lhang=1, nindent=0pt} -\LettrineOptionsFor{J}{lhang=1, nindent=0pt} -%% Q -\LettrineOptionsFor{Q}{loversize=-0.1, lraise=0.1} -%% V -\LettrineOptionsFor{V}{slope=-0.1\LettrineWidth, lhang=0.5, nindent=0pt} -% \end{macrocode} -% \iffalse -%</opt> -% \fi -% -% \iffalse -%<*pzc2> -% \fi -% \begin{macrocode} -%%% This is file `pzc2.cfl'. -%%% It is provided under the LPPL. Copyright is held by Kevin M. Dunn. -%%% If you modify this file you *MUST* change its name. - -%%% This file contains config values to simplify the use of the -%%% Zapf-Chancery (aka pzc) font with the lettrine package by Daniel Flipo. -%%% This file provides the parameters for 2 DefaultLines. - -%%% If you want to use this file, your document should contain -%%% the next three lines, without the leading percent signs. -%%% \setcounter{DefaultLines}{2} -%%% \renewcommand\LettrineFontHook{\fontencoding{T1}\fontfamily{pzc}\selectfont} -%%% \renewcommand{\DefaultOptionsFile}{pzc2.cfl} - -%%% Comments about this file can be sent to Kevin Dunn -%%% (cavema2 at cavemanchemistry.com) - -\ProvidesFile{pzc2.cfl}[2006/03/19 v0.1 Kevin M. Dunn] - -\LettrineOptionsFor{A}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.05\LettrineWidth,nindent= 0.25\LettrineWidth} -\LettrineOptionsFor{B}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.10\LettrineWidth,nindent= 0.08\LettrineWidth} -\LettrineOptionsFor{C}{loversize= 0.35,lraise= 0.10,lhang= 0.35,findent= 0.00\LettrineWidth,nindent= 0.28\LettrineWidth} -\LettrineOptionsFor{D}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.15\LettrineWidth,nindent= 0.05\LettrineWidth} -\LettrineOptionsFor{E}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.00\LettrineWidth,nindent= 0.28\LettrineWidth} -\LettrineOptionsFor{F}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.10\LettrineWidth,nindent= 0.00\LettrineWidth} -\LettrineOptionsFor{G}{loversize= 0.35,lraise= 0.10,lhang= 0.35,findent= 0.10\LettrineWidth,nindent= 0.17\LettrineWidth} -\LettrineOptionsFor{H}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.10\LettrineWidth,nindent= 0.20\LettrineWidth} -\LettrineOptionsFor{I}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.05\LettrineWidth,nindent= 0.25\LettrineWidth} -\LettrineOptionsFor{J}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.15\LettrineWidth,nindent= 0.00\LettrineWidth} -\LettrineOptionsFor{K}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.05\LettrineWidth,nindent= 0.13\LettrineWidth} -\LettrineOptionsFor{L}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=-0.02\LettrineWidth,nindent= 0.30\LettrineWidth} -\LettrineOptionsFor{M}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.05\LettrineWidth,nindent= 0.15\LettrineWidth} -\LettrineOptionsFor{N}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.10\LettrineWidth,nindent= 0.10\LettrineWidth} -\LettrineOptionsFor{O}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.15\LettrineWidth,nindent= 0.08\LettrineWidth} -\LettrineOptionsFor{P}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.25\LettrineWidth,nindent= 0.05\LettrineWidth} -\LettrineOptionsFor{Q}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.15\LettrineWidth,nindent= 0.10\LettrineWidth} -\LettrineOptionsFor{R}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.08\LettrineWidth,nindent= 0.15\LettrineWidth} -\LettrineOptionsFor{S}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.10\LettrineWidth,nindent= 0.13\LettrineWidth} -\LettrineOptionsFor{T}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.05\LettrineWidth,nindent= 0.20\LettrineWidth} -\LettrineOptionsFor{U}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.05\LettrineWidth,nindent= 0.15\LettrineWidth} -\LettrineOptionsFor{V}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.18\LettrineWidth,nindent=-0.15\LettrineWidth} -\LettrineOptionsFor{W}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.15\LettrineWidth,nindent=-0.05\LettrineWidth} -\LettrineOptionsFor{X}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.00\LettrineWidth,nindent= 0.35\LettrineWidth} -\LettrineOptionsFor{Y}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.10\LettrineWidth,nindent= 0.05\LettrineWidth} -\LettrineOptionsFor{Z}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.00\LettrineWidth,nindent= 0.30\LettrineWidth} -% \end{macrocode} -% \iffalse -%</pzc2> -% \fi -% -% \iffalse -%<*pzc3> -% \fi -% \begin{macrocode} -%%% This is file `pzc3.cfl'. -%%% It is provided under the LPPL. Copyright is held by Kevin M. Dunn. -%%% If you modify this file you *MUST* change its name. - -%%% This file contains config values to simplify the use of the -%%% Zapf-Chancery (aka pzc) font with the lettrine package by Daniel Flipo. -%%% This file provides the parameters for 3 DefaultLines. - -%%% If you want to use this file, your document should contain -%%% the next three lines, without the leading percent signs. -%%% \setcounter{DefaultLines}{3} -%%% \renewcommand\LettrineFontHook{\fontencoding{T1}\fontfamily{pzc}\selectfont} -%%% \renewcommand{\DefaultOptionsFile}{pzc3.cfl} - -%%% Comments about this file can be sent to Kevin Dunn -%%% (cavema2 at cavemanchemistry.com) - -\ProvidesFile{pzc3.cfl}[2006/03/19 v0.1 Kevin M. Dunn] - -\LettrineOptionsFor{A}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.05\LettrineWidth,nindent= 0.25\LettrineWidth} -\LettrineOptionsFor{B}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.10\LettrineWidth,nindent= 0.08\LettrineWidth,slope=-0.08\LettrineWidth} -\LettrineOptionsFor{C}{loversize= 0.35,lraise= 0.10,lhang= 0.35,findent=0.00\LettrineWidth,nindent= 0.28\LettrineWidth} -\LettrineOptionsFor{D}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.15\LettrineWidth,nindent= 0.05\LettrineWidth,slope=-0.05\LettrineWidth} -\LettrineOptionsFor{E}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.00\LettrineWidth,nindent= 0.28\LettrineWidth} -\LettrineOptionsFor{F}{loversize= 0.35,lraise= 0.05,lhang= 0.35,findent=0.10\LettrineWidth,nindent= 0.00\LettrineWidth} -\LettrineOptionsFor{G}{loversize= 0.30,lraise= 0.30,lhang= 0.5,findent=0.10\LettrineWidth,nindent= 0.15\LettrineWidth} -\LettrineOptionsFor{H}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.10\LettrineWidth,nindent= 0.20\LettrineWidth} -\LettrineOptionsFor{I}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.05\LettrineWidth,nindent= 0.25\LettrineWidth} -\LettrineOptionsFor{J}{loversize= 0.35,lraise= 0.05,lhang= 0.35,findent=0.15\LettrineWidth,nindent= 0.00\LettrineWidth} -\LettrineOptionsFor{K}{loversize= 0.30,lraise= 0.20,lhang= 0.35,findent=0.05\LettrineWidth,nindent= 0.13\LettrineWidth,slope= 0.20\LettrineWidth} -\LettrineOptionsFor{L}{loversize= 0.35,lraise= 0.00,lhang=0.35,findent=-0.02\LettrineWidth,nindent= 0.30\LettrineWidth} -\LettrineOptionsFor{M}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.05\LettrineWidth,nindent= 0.15\LettrineWidth} -\LettrineOptionsFor{N}{loversize= 0.30,lraise= 0.20,lhang= 0.35,findent=0.10\LettrineWidth,nindent= 0.10\LettrineWidth,slope= 0.20\LettrineWidth} -\LettrineOptionsFor{O}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.15\LettrineWidth,nindent= 0.08\LettrineWidth} -\LettrineOptionsFor{P}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.25\LettrineWidth,nindent= 0.05\LettrineWidth} -\LettrineOptionsFor{Q}{loversize= 0.30,lraise= 0.25,lhang= 0.35,findent=0.15\LettrineWidth,nindent= 0.10\LettrineWidth,slope= 0.20\LettrineWidth} -\LettrineOptionsFor{R}{loversize= 0.30,lraise= 0.20,lhang= 0.35,findent=0.08\LettrineWidth,nindent= 0.15\LettrineWidth,slope= 0.20\LettrineWidth} -\LettrineOptionsFor{S}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.10\LettrineWidth,nindent= 0.13\LettrineWidth} -\LettrineOptionsFor{T}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.05\LettrineWidth,nindent= 0.20\LettrineWidth} -\LettrineOptionsFor{U}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.05\LettrineWidth,nindent= 0.15\LettrineWidth} -\LettrineOptionsFor{V}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.18\LettrineWidth,nindent=-0.05\LettrineWidth,slope=-0.15\LettrineWidth} -\LettrineOptionsFor{W}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.18\LettrineWidth,nindent=-0.05\LettrineWidth,slope=-0.10\LettrineWidth} -\LettrineOptionsFor{X}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.00\LettrineWidth,nindent= 0.35\LettrineWidth} -\LettrineOptionsFor{Y}{loversize= 0.30,lraise= 0.10,lhang= 0.40,findent=0.10\LettrineWidth,nindent= 0.00\LettrineWidth,slope=-0.10\LettrineWidth} -\LettrineOptionsFor{Z}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.00\LettrineWidth,nindent= 0.30\LettrineWidth} -% \end{macrocode} -% \iffalse -%</pzc3> -% \fi -% -% \iffalse -%<*pacl> -% \fi -% \begin{macrocode} -%%% This is file `pacl.cfl'. -%%% It is provided under the LPPL. Copyright is hold by Pascal Kockaert. -%%% If you modify this file you *MUST* change its name. - -%%% This file contains config values to simplify the use of the -%%% ACaslon-SwashItalic (aka pacri8s) font from Adobe -%%% with the lettrine package by Daniel Flipo. - -%%% If you want to use this file, your document should contain -%%% the two next lines, without the leading percent signs. -%%% \renewcommand\LettrineFontHook{\fontencoding{T1}\fontfamily{pacl}\selectfont} -%%% \renewcommand{\DefaultOptionsFile}{pacl.cfl} - -%%% The fontfamily pacl is defined through the file T1pacl.fd. -%%% The contents of T1pacl.fd is listed at the end of this file. - -%%% The settings below were defined according to my visual tastes. -%%% No mathematical rule based on the metrices was applied. -%%% Though the result may not please you, it should be better -%%% than the default placement. This said, comments are welcome. - -%%% Comments about this file can be sent to Pascal.Kockaert -%%% at the mail server ulb.ac.be. - -\ProvidesFile{pacl.cfl}[2003/08/24 v0.1 Pascal Kockaert] - -\LettrineOptionsFor{A}{loversize= 0.15,lraise= 0.02,lhang= 0.30,findent= 0.00\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{B}{loversize= 0.15,lraise= 0.00,lhang= 0.25,findent=-0.05\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{C}{loversize=-0.10,lraise= 0.25,lhang= 0.05,findent= 0.00\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{D}{loversize= 0.15,lraise= 0.00,lhang= 0.20,findent=-0.07\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{E}{loversize= 0.15,lraise= 0.00,lhang= 0.05,findent=-0.10\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{F}{loversize=-0.10,lraise= 0.20,lhang= 0.00,findent= 0.05\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{G}{loversize=-0.10,lraise= 0.20,lhang= 0.05,findent=-0.05\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{H}{loversize= 0.05,lraise= 0.00,lhang= 0.25,findent= 0.00\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{I}{loversize= 0.15,lraise= 0.00,lhang= 0.00,findent= 0.00\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{J}{loversize=-0.10,lraise= 0.20,lhang= 0.00,findent= 0.00\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{K}{loversize=-0.10,lraise= 0.25,lhang= 0.00,findent= 0.00\LettrineWidth,nindent= 0.45\LettrineWidth} -\LettrineOptionsFor{L}{loversize= 0.00,lraise= 0.20,lhang= 0.00,findent=-0.10\LettrineWidth,nindent= 0.40\LettrineWidth} -\LettrineOptionsFor{M}{loversize= 0.15,lraise= 0.00,lhang= 0.24,findent=-0.05\LettrineWidth,nindent= 0.10\LettrineWidth} -\LettrineOptionsFor{N}{loversize=-0.05,lraise= 0.25,lhang= 0.13,findent= 0.05\LettrineWidth,nindent= 0.35\LettrineWidth} -\LettrineOptionsFor{O}{loversize= 0.15,lraise= 0.00,lhang= 0.05,findent=-0.12\LettrineWidth,nindent= 0.15\LettrineWidth} -\LettrineOptionsFor{P}{loversize= 0.15,lraise= 0.00,lhang= 0.25,findent= 0.00\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{Q}{loversize=-0.15,lraise= 0.25,lhang= 0.10,findent=-0.05\LettrineWidth,nindent= 0.55\LettrineWidth} -\LettrineOptionsFor{R}{loversize=-0.15,lraise= 0.25,lhang= 0.20,findent=-0.05\LettrineWidth,nindent= 0.45\LettrineWidth} -\LettrineOptionsFor{S}{loversize=-0.10,lraise= 0.25,lhang=-0.05,findent=-0.05\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{T}{loversize= 0.15,lraise= 0.00,lhang= 0.15,findent= 0.00\LettrineWidth,nindent= 0.15\LettrineWidth} -\LettrineOptionsFor{U}{loversize= 0.15,lraise= 0.00,lhang= 0.05,findent= 0.00\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{V}{loversize= 0.15,lraise= 0.00,lhang= 0.20,findent=-0.05\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{W}{loversize= 0.15,lraise= 0.00,lhang= 0.15,findent=-0.05\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{X}{loversize= 0.15,lraise= 0.00,lhang= 0.45,findent= 0.05\LettrineWidth,nindent= 0.15\LettrineWidth} -\LettrineOptionsFor{Y}{loversize= 0.15,lraise= 0.00,lhang= 0.05,findent= 0.20\LettrineWidth,nindent= 0.25\LettrineWidth} -\LettrineOptionsFor{Z}{loversize= 0.05,lraise= 0.15,lhang= 0.15,findent= 0.00\LettrineWidth,nindent= 0.30\LettrineWidth} -\let\EOF\endinput -\EOF - -%% The installation of the pacl family can be performed using the -%% fontinst package. -%% You must own the font ACaslon-SwashItalic, that is an AFM and a PFB file -%% which should be renamed as padri8w.afm and padri8w.pfb. - -%% You should process the file Makepacl.tex (see below) through TeX, -%% and follow the instructions of the fontinst manual to finish the install. -%% The file T1pacl.fd should be defined as below and put with other local -%% FD files. - -%%% File Makepacl.tex -\input fontinst.sty -\installfonts - \declareencoding{T1-SWASH}{T1} - \fromafm{pacri8s} %%% File containing metrics of ACaslon-SwashItalic - \installfont{pacri9s}{pacri8s}{T1}{T1}{pacl}{m}{n}{} -\endinstallfonts -\bye -%%% End of file Makepacl.tex - -%%% The pacl family is defined by the file T1pacl.fd, as follows - -%%% File T1pacl.fd -%%% THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY -\ProvidesFile{t1pacl.fd}[2003/08/24 v1.0 Pascal Kockaert] -\DeclareFontFamily{T1}{pacl}{} -\DeclareFontShape{T1}{pacl}{m}{n}{<->pacri9s}{} -%%% End of file T1pacl.fd -% \end{macrocode} -% \iffalse -%</pacl> -% \fi -% -% \iffalse -%<*padl> -% \fi -% \begin{macrocode} -%%% This is file `padl.cfl'. -%%% It is provided under the LPPL. Copyright is hold by Pascal Kockaert. -%%% If you modify this file you *MUST* change its name. - -%%% This file contains config values to simplify the use of the -%%% AGaramondAlt-Italic (aka padri8w) font from Adobe -%%% with the lettrine package by Daniel Flipo. - -%%% If you want to use this file, your document should contain -%%% the two next lines, without the leading percent signs. -%%% \renewcommand\LettrineFontHook{\fontencoding{T1}\fontfamily{padl}\selectfont} -%%% \renewcommand{\DefaultOptionsFile}{padl.cfl} - -%%% The fontfamily padl is defined through the file T1padl.fd. -%%% The contents of T1padl.fd is listed at the end of this file. - -%%% The settings below were defined according to my visual tastes. -%%% No mathematical rule based on the metrices was applied. -%%% Though the result may not please you, it should be better -%%% than the default placement. This said, comments are welcome. - -%%% Comments about this file can be sent to Pascal.Kockaert -%%% at the mail server ulb.ac.be. - -\ProvidesFile{padl.cfl}[2003/08/24 v1.0 Pascal Kockaert] - -\LettrineOptionsFor{A}{loversize= 0.05,lraise= 0.10,lhang= 0.40,findent= 0.000\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{B}{loversize= 0.10,lraise= 0.00,lhang= 0.30,findent= 0.025\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{C}{loversize= 0.00,lraise= 0.10,lhang= 0.15,findent= 0.175\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{D}{loversize= 0.10,lraise= 0.00,lhang= 0.30,findent=-0.025\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{E}{loversize= 0.10,lraise= 0.00,lhang= 0.10,findent= 0.100\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{F}{loversize= 0.10,lraise= 0.00,lhang= 0.30,findent= 0.100\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{G}{loversize=-0.08,lraise= 0.20,lhang= 0.10,findent= 0.000\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{H}{loversize=-0.01,lraise= 0.00,lhang= 0.00,findent= 0.040\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{I}{loversize= 0.10,lraise= 0.00,lhang= 0.00,findent= 0.050\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{J}{loversize=-0.08,lraise= 0.20,lhang= 0.00,findent=-0.025\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{K}{loversize=-0.05,lraise= 0.25,lhang= 0.00,findent=-0.050\LettrineWidth,nindent= 0.60\LettrineWidth} -\LettrineOptionsFor{L}{loversize= 0.00,lraise= 0.20,lhang= 0.00,findent= 0.100\LettrineWidth,nindent= 0.40\LettrineWidth} -\LettrineOptionsFor{M}{loversize= 0.10,lraise= 0.00,lhang= 0.40,findent= 0.040\LettrineWidth,nindent= 0.10\LettrineWidth} -\LettrineOptionsFor{N}{loversize= 0.00,lraise= 0.20,lhang= 0.20,findent=-0.010\LettrineWidth,nindent= 0.40\LettrineWidth} -\LettrineOptionsFor{O}{loversize= 0.10,lraise= 0.00,lhang= 0.20,findent=-0.010\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{P}{loversize= 0.10,lraise= 0.00,lhang= 0.30,findent= 0.050\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{Q}{loversize= 0.00,lraise= 0.20,lhang= 0.20,findent= 0.050\LettrineWidth,nindent= 0.70\LettrineWidth} -\LettrineOptionsFor{R}{loversize=-0.05,lraise= 0.25,lhang= 0.25,nindent= 0.500\LettrineWidth,nindent= 0.50\LettrineWidth} -\LettrineOptionsFor{S}{loversize= 0.10,lraise= 0.05,lhang= 0.00,findent= 0.000\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{T}{loversize= 0.10,lraise= 0.00,lhang= 0.35,findent= 0.100\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{U}{loversize= 0.10,lraise= 0.00,lhang= 0.20,findent= 0.050\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{V}{loversize= 0.10,lraise= 0.00,lhang= 0.40,findent= 0.050\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{W}{loversize= 0.10,lraise= 0.00,lhang= 0.30,findent= 0.040\LettrineWidth,nindent= 0.50em} -\LettrineOptionsFor{X}{loversize= 0.10,lraise= 0.00,lhang= 0.40,findent= 0.040\LettrineWidth,nindent= 0.20\LettrineWidth} -\LettrineOptionsFor{Y}{loversize= 0.10,lraise= 0.00,lhang= 0.20,findent= 0.100\LettrineWidth,nindent= 0.20\LettrineWidth} -\LettrineOptionsFor{Z}{loversize=-0.05,lraise= 0.25,lhang= 0.00,findent= 0.050\LettrineWidth,nindent= 0.55\LettrineWidth} -\let\EOF\endinput -\EOF - -%% The installation of the padl family can be performed using the -%% fontinst package. -%% You must own the font AGaramondAlt-Italic, that is an AFM and a PFB -%% file which should be renamed as padri8w.afm and padri8w.pfb. - -%% You should process the file Makepadl.tex (see below) through TeX, -%% and follow the instructions of the fontinst manual to finish the -%% install. -%% The file T1padl.fd should be defined as below and put with other -%% local FD files. - -%%% File Makepadl.tex -\input fontinst.sty -\installfonts - \declareencoding{T1-SWASH}{T1} - \fromafm{padri8w} %%% File containing metrics of AGaramondAlt-Italic - \gdef\uc#1#2{#1swash} - \installfont{padw9w}{padri8w}{T1}{T1}{padl}{m}{n}{} -\endinstallfonts -\bye -%%% End of file Makepadl.tex - -%% The padl family is defined by the file T1padl.fd, as follows - -%%% File T1padl.fd -%%% THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY -\ProvidesFile{t1padl.fd}[2003/08/24 v0.1 Pascal Kockaert] -\DeclareFontFamily{T1}{padl}{} -\DeclareFontShape{T1}{padl}{m}{n}{<->padw9w}{} -%%% End of file T1padl.fd -% \end{macrocode} -% \iffalse -%</padl> -% \fi -% -% \iffalse -%<*dtx> -% \fi -%% -%% \CharacterTable -%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -%% Digits \0\1\2\3\4\5\6\7\8\9 -%% Exclamation \! Double quote \" Hash (number) \# -%% Dollar \$ Percent \% Ampersand \& -%% Acute accent \' Left paren \( Right paren \) -%% Asterisk \* Plus \+ Comma \, -%% Minus \- Point \. Solidus \/ -%% Colon \: Semicolon \; Less than \< -%% Equals \= Greater than \> Question mark \? -%% Commercial at \@ Left bracket \[ Backslash \\ -%% Right bracket \] Circumflex \^ Underscore \_ -%% Grave accent \` Left brace \{ Vertical bar \| -%% Right brace \} Tilde \~} -%% -% \iffalse -%</dtx> -% \fi -% -% \Finale -\endinput - -%%% Local Variables: -%%% fill-column: 70 -%%% coding: utf-8 -%%% End: diff --git a/macros/latex/contrib/lettrine/contrib.ins b/macros/latex/contrib/lettrine/contrib.ins deleted file mode 100644 index 3762e5aef2..0000000000 --- a/macros/latex/contrib/lettrine/contrib.ins +++ /dev/null @@ -1,59 +0,0 @@ -%% -%% Copyright (C) 1999-2020 Daniel Flipo. -%% -%% This program can be distributed and/or modified under the terms -%% of the LaTeX Project Public License either version 1.3c of this -%% license or (at your option) any later version. -%% 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. -%% -%% This file will generate fast loadable files and documentation -%% driver files from the doc files in this package when run through -%% LaTeX or TeX. -%% -\def\batchfile{contrib.ins} -\input docstrip.tex - -{\ifx\generate\undefined -\Msg{**********************************************} -\Msg{*} -\Msg{* This installation requires docstrip} -\Msg{* version 2.3c or later.} -\Msg{*} -\Msg{* An older version of docstrip has been input} -\Msg{*} -\Msg{**********************************************} -\errhelp{Move or rename old docstrip.tex.} -\errmessage{Old docstrip in input path} -\batchmode -\csname @@end\endcsname -\fi} - -\keepsilent -\askforoverwritefalse - -\usedir{tex/latex/lettrine} - -\nopreamble -\generate{\file{optfile.cfl}{\from{contrib.dtx}{opt}} - \usedir{tex/latex/lettrine/contrib} - \file{pzc2.cfl}{\from{contrib.dtx}{pzc2}} - \file{pzc3.cfl}{\from{contrib.dtx}{pzc3}} - \nopostamble - \file{pacl.cfl}{\from{contrib.dtx}{pacl}} - \file{padl.cfl}{\from{contrib.dtx}{padl}} - } - -\Msg{***********************************************************} -\Msg{*} -\Msg{* To finish the installation please move all the *.cfl} -\Msg{* files to the contrib subdirectory of tex/latex/lettrine.} -\Msg{*} -\Msg{* Happy TeXing!} -\Msg{*} -\Msg{***********************************************************} - -\endbatchfile -\endinput diff --git a/macros/latex/contrib/lettrine/contrib/optfile.cfl b/macros/latex/contrib/lettrine/contrib/optfile.cfl new file mode 100644 index 0000000000..407ed82c99 --- /dev/null +++ b/macros/latex/contrib/lettrine/contrib/optfile.cfl @@ -0,0 +1,28 @@ +%% This is an example of config file *for syntax only*. +%% To use it, copy it to your document's directory and code +%% \usepackage[optionsfile=optfile.cfl]{lettrine} +%% +%% The settings below are just *examples*, they are not meant to be good! +%% Proper values heavily depend on the font used! +%% +%% Letters not listed below, will get either the default parameters, +%% or those given as optional argument of \lettrine, if any. +%% +%% The values of the parameters set in this file can be overridden +%% locally using the optional argument of \lettrine. + +%% A +\LettrineOptionsFor{A}{slope=0.1\LettrineWidth, findent=-.5em, nindent=.7em} +%% Same parameters for À (utf-8) +\LettrineOptionsFor{À}{slope=0.1\LettrineWidth, findent=-.5em, nindent=0.7em} +%% C' +\LettrineOptionsFor{C'}{nindent=-0.5em} +%% I and J hang into the margin +\LettrineOptionsFor{I}{lhang=1, nindent=0pt} +\LettrineOptionsFor{J}{lhang=1, nindent=0pt} +%% Q +\LettrineOptionsFor{Q}{loversize=0, lraise=0.1} +%% V +\LettrineOptionsFor{V}{slope=-0.1\LettrineWidth, lhang=0.5, nindent=0pt} + +\endinput diff --git a/macros/latex/contrib/lettrine/contrib/pacl.cfl b/macros/latex/contrib/lettrine/contrib/pacl.cfl new file mode 100644 index 0000000000..e8de17b6d6 --- /dev/null +++ b/macros/latex/contrib/lettrine/contrib/pacl.cfl @@ -0,0 +1,84 @@ +%%% This is file `pacl.cfl'. +%%% It is provided under the LPPL. Copyright is hold by Pascal Kockaert. +%%% If you modify this file you *MUST* change its name. +%%% +%%% This file contains config values to simplify the use of the +%%% ACaslon-SwashItalic (aka pacri8s) font from Adobe +%%% with the lettrine package by Daniel Flipo. +%%% +%%% If you want to use this file, your document should contain +%%% the two next lines, without the leading percent signs. +%%% \renewcommand\LettrineFontHook{\fontencoding{T1}\fontfamily{pacl}\selectfont} +%%% \renewcommand{\DefaultOptionsFile}{pacl.cfl} +%%% +%%% The fontfamily pacl is defined through the file T1pacl.fd. +%%% The contents of T1pacl.fd is listed at the end of this file. +%%% +%%% The settings below were defined according to my visual tastes. +%%% No mathematical rule based on the metrices was applied. +%%% Though the result may not please you, it should be better +%%% than the default placement. This said, comments are welcome. +%%% +%%% Comments about this file can be sent to Pascal.Kockaert +%%% at the mail server ulb.ac.be. + + +\ProvidesFile{pacl.cfl}[2003/08/24 v0.1 Pascal Kockaert] +\LettrineOptionsFor{A}{loversize= 0.15,lraise= 0.02,lhang= 0.30,findent= 0.00\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{B}{loversize= 0.15,lraise= 0.00,lhang= 0.25,findent=-0.05\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{C}{loversize=-0.10,lraise= 0.25,lhang= 0.05,findent= 0.00\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{D}{loversize= 0.15,lraise= 0.00,lhang= 0.20,findent=-0.07\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{E}{loversize= 0.15,lraise= 0.00,lhang= 0.05,findent=-0.10\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{F}{loversize=-0.10,lraise= 0.20,lhang= 0.00,findent= 0.05\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{G}{loversize=-0.10,lraise= 0.20,lhang= 0.05,findent=-0.05\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{H}{loversize= 0.05,lraise= 0.00,lhang= 0.25,findent= 0.00\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{I}{loversize= 0.15,lraise= 0.00,lhang= 0.00,findent= 0.00\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{J}{loversize=-0.10,lraise= 0.20,lhang= 0.00,findent= 0.00\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{K}{loversize=-0.10,lraise= 0.25,lhang= 0.00,findent= 0.00\LettrineWidth,nindent= 0.45\LettrineWidth} +\LettrineOptionsFor{L}{loversize= 0.00,lraise= 0.20,lhang= 0.00,findent=-0.10\LettrineWidth,nindent= 0.40\LettrineWidth} +\LettrineOptionsFor{M}{loversize= 0.15,lraise= 0.00,lhang= 0.24,findent=-0.05\LettrineWidth,nindent= 0.10\LettrineWidth} +\LettrineOptionsFor{N}{loversize=-0.05,lraise= 0.25,lhang= 0.13,findent= 0.05\LettrineWidth,nindent= 0.35\LettrineWidth} +\LettrineOptionsFor{O}{loversize= 0.15,lraise= 0.00,lhang= 0.05,findent=-0.12\LettrineWidth,nindent= 0.15\LettrineWidth} +\LettrineOptionsFor{P}{loversize= 0.15,lraise= 0.00,lhang= 0.25,findent= 0.00\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{Q}{loversize=-0.15,lraise= 0.25,lhang= 0.10,findent=-0.05\LettrineWidth,nindent= 0.55\LettrineWidth} +\LettrineOptionsFor{R}{loversize=-0.15,lraise= 0.25,lhang= 0.20,findent=-0.05\LettrineWidth,nindent= 0.45\LettrineWidth} +\LettrineOptionsFor{S}{loversize=-0.10,lraise= 0.25,lhang=-0.05,findent=-0.05\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{T}{loversize= 0.15,lraise= 0.00,lhang= 0.15,findent= 0.00\LettrineWidth,nindent= 0.15\LettrineWidth} +\LettrineOptionsFor{U}{loversize= 0.15,lraise= 0.00,lhang= 0.05,findent= 0.00\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{V}{loversize= 0.15,lraise= 0.00,lhang= 0.20,findent=-0.05\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{W}{loversize= 0.15,lraise= 0.00,lhang= 0.15,findent=-0.05\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{X}{loversize= 0.15,lraise= 0.00,lhang= 0.45,findent= 0.05\LettrineWidth,nindent= 0.15\LettrineWidth} +\LettrineOptionsFor{Y}{loversize= 0.15,lraise= 0.00,lhang= 0.05,findent= 0.20\LettrineWidth,nindent= 0.25\LettrineWidth} +\LettrineOptionsFor{Z}{loversize= 0.05,lraise= 0.15,lhang= 0.15,findent= 0.00\LettrineWidth,nindent= 0.30\LettrineWidth} +\endinput + + +% The installation of the pacl family can be performed using the fontinst +% package. +% You must own the font ACaslon-SwashItalic, that is an AFM and a PFB file +% which should be renamed as padri8w.afm and padri8w.pfb. +% +% You should process the file Makepacl.tex (see below) through TeX, +% and follow the instructions of the fontinst manual to finish the install. +% The file T1pacl.fd should be defined as below and put with other local FD +% files. + +%%% File Makepacl.tex +\input fontinst.sty +\installfonts + \declareencoding{T1-SWASH}{T1} + \fromafm{pacri8s} %%% File containing metrics of ACaslon-SwashItalic + \installfont{pacri9s}{pacri8s}{T1}{T1}{pacl}{m}{n}{} +\endinstallfonts +\bye +%%% End of file Makepacl.tex + +% The pacl family is defined by the file T1pacl.fd, as follows + +%%% File T1pacl.fd +%THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY +\ProvidesFile{t1pacl.fd}[2003/08/24 v1.0 Pascal Kockaert] +\DeclareFontFamily{T1}{pacl}{} +\DeclareFontShape{T1}{pacl}{m}{n}{<->pacri9s}{} +\endinput +%%% End of file T1pacl.fd diff --git a/macros/latex/contrib/lettrine/contrib/padl.cfl b/macros/latex/contrib/lettrine/contrib/padl.cfl new file mode 100644 index 0000000000..784bebc935 --- /dev/null +++ b/macros/latex/contrib/lettrine/contrib/padl.cfl @@ -0,0 +1,85 @@ +%%% This is file `padl.cfl'. +%%% It is provided under the LPPL. Copyright is hold by Pascal Kockaert. +%%% If you modify this file you *MUST* change its name. +%%% +%%% This file contains config values to simplify the use of the +%%% AGaramondAlt-Italic (aka padri8w) font from Adobe +%%% with the lettrine package by Daniel Flipo. +%%% +%%% If you want to use this file, your document should contain +%%% the two next lines, without the leading percent signs. +%%% \renewcommand\LettrineFontHook{\fontencoding{T1}\fontfamily{padl}\selectfont} +%%% \renewcommand{\DefaultOptionsFile}{padl.cfl} +%%% +%%% The fontfamily padl is defined through the file T1padl.fd. +%%% The contents of T1padl.fd is listed at the end of this file. +%%% +%%% The settings below were defined according to my visual tastes. +%%% No mathematical rule based on the metrices was applied. +%%% Though the result may not please you, it should be better +%%% than the default placement. This said, comments are welcome. +%%% +%%% Comments about this file can be sent to Pascal.Kockaert +%%% at the mail server ulb.ac.be. + + + +\ProvidesFile{padl.cfl}[2003/08/24 v1.0 Pascal Kockaert] + +\LettrineOptionsFor{A}{loversize= 0.05,lraise= 0.10,lhang= 0.40,findent= 0.000\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{B}{loversize= 0.10,lraise= 0.00,lhang= 0.30,findent= 0.025\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{C}{loversize= 0.00,lraise= 0.10,lhang= 0.15,findent= 0.175\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{D}{loversize= 0.10,lraise= 0.00,lhang= 0.30,findent=-0.025\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{E}{loversize= 0.10,lraise= 0.00,lhang= 0.10,findent= 0.100\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{F}{loversize= 0.10,lraise= 0.00,lhang= 0.30,findent= 0.100\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{G}{loversize=-0.08,lraise= 0.20,lhang= 0.10,findent= 0.000\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{H}{loversize=-0.01,lraise= 0.00,lhang= 0.00,findent= 0.040\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{I}{loversize= 0.10,lraise= 0.00,lhang= 0.00,findent= 0.050\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{J}{loversize=-0.08,lraise= 0.20,lhang= 0.00,findent=-0.025\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{K}{loversize=-0.05,lraise= 0.25,lhang= 0.00,findent=-0.050\LettrineWidth,nindent= 0.60\LettrineWidth} +\LettrineOptionsFor{L}{loversize= 0.00,lraise= 0.20,lhang= 0.00,findent= 0.100\LettrineWidth,nindent= 0.40\LettrineWidth} +\LettrineOptionsFor{M}{loversize= 0.10,lraise= 0.00,lhang= 0.40,findent= 0.040\LettrineWidth,nindent= 0.10\LettrineWidth} +\LettrineOptionsFor{N}{loversize= 0.00,lraise= 0.20,lhang= 0.20,findent=-0.010\LettrineWidth,nindent= 0.40\LettrineWidth} +\LettrineOptionsFor{O}{loversize= 0.10,lraise= 0.00,lhang= 0.20,findent=-0.010\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{P}{loversize= 0.10,lraise= 0.00,lhang= 0.30,findent= 0.050\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{Q}{loversize= 0.00,lraise= 0.20,lhang= 0.20,findent= 0.050\LettrineWidth,nindent= 0.70\LettrineWidth} +\LettrineOptionsFor{R}{loversize=-0.05,lraise= 0.25,lhang= 0.25,nindent= 0.500\LettrineWidth,nindent= 0.50\LettrineWidth} +\LettrineOptionsFor{S}{loversize= 0.10,lraise= 0.05,lhang= 0.00,findent= 0.000\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{T}{loversize= 0.10,lraise= 0.00,lhang= 0.35,findent= 0.100\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{U}{loversize= 0.10,lraise= 0.00,lhang= 0.20,findent= 0.050\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{V}{loversize= 0.10,lraise= 0.00,lhang= 0.40,findent= 0.050\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{W}{loversize= 0.10,lraise= 0.00,lhang= 0.30,findent= 0.040\LettrineWidth,nindent= 0.50em} +\LettrineOptionsFor{X}{loversize= 0.10,lraise= 0.00,lhang= 0.40,findent= 0.040\LettrineWidth,nindent= 0.20\LettrineWidth} +\LettrineOptionsFor{Y}{loversize= 0.10,lraise= 0.00,lhang= 0.20,findent= 0.100\LettrineWidth,nindent= 0.20\LettrineWidth} +\LettrineOptionsFor{Z}{loversize=-0.05,lraise= 0.25,lhang= 0.00,findent= 0.050\LettrineWidth,nindent= 0.55\LettrineWidth} +\endinput + + +% The installation of the padl family can be performed using the fontinst package. +% You must own the font AGaramondAlt-Italic, that is an AFM and a PFB file +% which should be renamed as padri8w.afm and padri8w.pfb. +% +% You should process the file Makepadl.tex (see below) through TeX, +% and follow the instructions of the fontinst manual to finish the install. +% The file T1padl.fd should be defined as below and put with other local FD files. + +%%% File Makepadl.tex +\input fontinst.sty +\installfonts + \declareencoding{T1-SWASH}{T1} + \fromafm{padri8w} %%% File containing metrics of AGaramondAlt-Italic + \gdef\uc#1#2{#1swash} + \installfont{padw9w}{padri8w}{T1}{T1}{padl}{m}{n}{} +\endinstallfonts +\bye +%%% End of file Makepadl.tex + +% The padl family is defined by the file T1padl.fd, as follows + +%%% File T1padl.fd +%THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY +\ProvidesFile{t1padl.fd}[2003/08/24 v0.1 Pascal Kockaert] +\DeclareFontFamily{T1}{padl}{} +\DeclareFontShape{T1}{padl}{m}{n}{<->padw9w}{} +\endinput +%%% End of file T1padl.fd diff --git a/macros/latex/contrib/lettrine/contrib/pzc2.cfl b/macros/latex/contrib/lettrine/contrib/pzc2.cfl new file mode 100644 index 0000000000..7779968780 --- /dev/null +++ b/macros/latex/contrib/lettrine/contrib/pzc2.cfl @@ -0,0 +1,45 @@ +%%% This is file `pzc2.cfl'. +%%% It is provided under the LPPL. Copyright is held by Kevin M. Dunn. +%%% If you modify this file you *MUST* change its name. +%%% +%%% This file contains config values to simplify the use of the +%%% Zapf-Chancery (aka pzc) font with the lettrine package by Daniel Flipo. +%%% This file provides the parameters for 2 DefaultLines. +%%% +%%% If you want to use this file, your document should contain +%%% the next three lines, without the leading percent signs. +%%% \setcounter{DefaultLines}{2} +%%% \renewcommand\LettrineFontHook{\fontencoding{T1}\fontfamily{pzc}\selectfont} +%%% \renewcommand{\DefaultOptionsFile}{pzc2.cfl} +%%% +%%% Comments about this file can be sent to Kevin Dunn +%%% (cavema2 at cavemanchemistry.com) +%%% +\ProvidesFile{pzc2.cfl}[2006/03/19 v0.1 Kevin M. Dunn] +\LettrineOptionsFor{A}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.05\LettrineWidth,nindent= 0.25\LettrineWidth} +\LettrineOptionsFor{B}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.10\LettrineWidth,nindent= 0.08\LettrineWidth} +\LettrineOptionsFor{C}{loversize= 0.35,lraise= 0.10,lhang= 0.35,findent= 0.00\LettrineWidth,nindent= 0.28\LettrineWidth} +\LettrineOptionsFor{D}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.15\LettrineWidth,nindent= 0.05\LettrineWidth} +\LettrineOptionsFor{E}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.00\LettrineWidth,nindent= 0.28\LettrineWidth} +\LettrineOptionsFor{F}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.10\LettrineWidth,nindent= 0.00\LettrineWidth} +\LettrineOptionsFor{G}{loversize= 0.35,lraise= 0.10,lhang= 0.35,findent= 0.10\LettrineWidth,nindent= 0.17\LettrineWidth} +\LettrineOptionsFor{H}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.10\LettrineWidth,nindent= 0.20\LettrineWidth} +\LettrineOptionsFor{I}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.05\LettrineWidth,nindent= 0.25\LettrineWidth} +\LettrineOptionsFor{J}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.15\LettrineWidth,nindent= 0.00\LettrineWidth} +\LettrineOptionsFor{K}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.05\LettrineWidth,nindent= 0.13\LettrineWidth} +\LettrineOptionsFor{L}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=-0.02\LettrineWidth,nindent= 0.30\LettrineWidth} +\LettrineOptionsFor{M}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.05\LettrineWidth,nindent= 0.15\LettrineWidth} +\LettrineOptionsFor{N}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.10\LettrineWidth,nindent= 0.10\LettrineWidth} +\LettrineOptionsFor{O}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.15\LettrineWidth,nindent= 0.08\LettrineWidth} +\LettrineOptionsFor{P}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.25\LettrineWidth,nindent= 0.05\LettrineWidth} +\LettrineOptionsFor{Q}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.15\LettrineWidth,nindent= 0.10\LettrineWidth} +\LettrineOptionsFor{R}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.08\LettrineWidth,nindent= 0.15\LettrineWidth} +\LettrineOptionsFor{S}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.10\LettrineWidth,nindent= 0.13\LettrineWidth} +\LettrineOptionsFor{T}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.05\LettrineWidth,nindent= 0.20\LettrineWidth} +\LettrineOptionsFor{U}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.05\LettrineWidth,nindent= 0.15\LettrineWidth} +\LettrineOptionsFor{V}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.18\LettrineWidth,nindent=-0.15\LettrineWidth} +\LettrineOptionsFor{W}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.15\LettrineWidth,nindent=-0.05\LettrineWidth} +\LettrineOptionsFor{X}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.00\LettrineWidth,nindent= 0.35\LettrineWidth} +\LettrineOptionsFor{Y}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.10\LettrineWidth,nindent= 0.05\LettrineWidth} +\LettrineOptionsFor{Z}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent= 0.00\LettrineWidth,nindent= 0.30\LettrineWidth} +\endinput diff --git a/macros/latex/contrib/lettrine/contrib/pzc3.cfl b/macros/latex/contrib/lettrine/contrib/pzc3.cfl new file mode 100644 index 0000000000..a67ba9b5b0 --- /dev/null +++ b/macros/latex/contrib/lettrine/contrib/pzc3.cfl @@ -0,0 +1,45 @@ +%%% This is file `pzc2.cfl'. +%%% It is provided under the LPPL. Copyright is held by Kevin M. Dunn. +%%% If you modify this file you *MUST* change its name. +%%% +%%% This file contains config values to simplify the use of the +%%% Zapf-Chancery (aka pzc) font with the lettrine package by Daniel Flipo. +%%% This file provides the parameters for 3 DefaultLines. +%%% +%%% If you want to use this file, your document should contain +%%% the next three lines, without the leading percent signs. +%%% \setcounter{DefaultLines}{3} +%%% \renewcommand\LettrineFontHook{\fontencoding{T1}\fontfamily{pzc}\selectfont} +%%% \renewcommand{\DefaultOptionsFile}{pzc3.cfl} +%%% +%%% Comments about this file can be sent to Kevin Dunn +%%% (cavema2 at cavemanchemistry.com) + +\ProvidesFile{pzc3.cfl}[2006/03/19 v0.1 Kevin M. Dunn] +\LettrineOptionsFor{A}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.05\LettrineWidth,nindent= 0.25\LettrineWidth} +\LettrineOptionsFor{B}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.10\LettrineWidth,nindent= 0.08\LettrineWidth,slope=-0.08\LettrineWidth} +\LettrineOptionsFor{C}{loversize= 0.35,lraise= 0.10,lhang= 0.35,findent=0.00\LettrineWidth,nindent= 0.28\LettrineWidth} +\LettrineOptionsFor{D}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.15\LettrineWidth,nindent= 0.05\LettrineWidth,slope=-0.05\LettrineWidth} +\LettrineOptionsFor{E}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.00\LettrineWidth,nindent= 0.28\LettrineWidth} +\LettrineOptionsFor{F}{loversize= 0.35,lraise= 0.05,lhang= 0.35,findent=0.10\LettrineWidth,nindent= 0.00\LettrineWidth} +\LettrineOptionsFor{G}{loversize= 0.30,lraise= 0.30,lhang= 0.5,findent=0.10\LettrineWidth,nindent= 0.15\LettrineWidth} +\LettrineOptionsFor{H}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.10\LettrineWidth,nindent= 0.20\LettrineWidth} +\LettrineOptionsFor{I}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.05\LettrineWidth,nindent= 0.25\LettrineWidth} +\LettrineOptionsFor{J}{loversize= 0.35,lraise= 0.05,lhang= 0.35,findent=0.15\LettrineWidth,nindent= 0.00\LettrineWidth} +\LettrineOptionsFor{K}{loversize= 0.30,lraise= 0.20,lhang= 0.35,findent=0.05\LettrineWidth,nindent= 0.13\LettrineWidth,slope= 0.20\LettrineWidth} +\LettrineOptionsFor{L}{loversize= 0.35,lraise= 0.00,lhang=0.35,findent=-0.02\LettrineWidth,nindent= 0.30\LettrineWidth} +\LettrineOptionsFor{M}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.05\LettrineWidth,nindent= 0.15\LettrineWidth} +\LettrineOptionsFor{N}{loversize= 0.30,lraise= 0.20,lhang= 0.35,findent=0.10\LettrineWidth,nindent= 0.10\LettrineWidth,slope= 0.20\LettrineWidth} +\LettrineOptionsFor{O}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.15\LettrineWidth,nindent= 0.08\LettrineWidth} +\LettrineOptionsFor{P}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.25\LettrineWidth,nindent= 0.05\LettrineWidth} +\LettrineOptionsFor{Q}{loversize= 0.30,lraise= 0.25,lhang= 0.35,findent=0.15\LettrineWidth,nindent= 0.10\LettrineWidth,slope= 0.20\LettrineWidth} +\LettrineOptionsFor{R}{loversize= 0.30,lraise= 0.20,lhang= 0.35,findent=0.08\LettrineWidth,nindent= 0.15\LettrineWidth,slope= 0.20\LettrineWidth} +\LettrineOptionsFor{S}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.10\LettrineWidth,nindent= 0.13\LettrineWidth} +\LettrineOptionsFor{T}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.05\LettrineWidth,nindent= 0.20\LettrineWidth} +\LettrineOptionsFor{U}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.05\LettrineWidth,nindent= 0.15\LettrineWidth} +\LettrineOptionsFor{V}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.18\LettrineWidth,nindent=-0.05\LettrineWidth,slope=-0.15\LettrineWidth} +\LettrineOptionsFor{W}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.18\LettrineWidth,nindent=-0.05\LettrineWidth,slope=-0.10\LettrineWidth} +\LettrineOptionsFor{X}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.00\LettrineWidth,nindent= 0.35\LettrineWidth} +\LettrineOptionsFor{Y}{loversize= 0.30,lraise= 0.10,lhang= 0.40,findent=0.10\LettrineWidth,nindent= 0.00\LettrineWidth,slope=-0.10\LettrineWidth} +\LettrineOptionsFor{Z}{loversize= 0.35,lraise= 0.00,lhang= 0.35,findent=0.00\LettrineWidth,nindent= 0.30\LettrineWidth} +\endinput diff --git a/macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf b/macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf Binary files differindex f27982ed41..bf74f1840c 100644 --- a/macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf +++ b/macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf diff --git a/macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf b/macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf Binary files differindex 0d311f197b..c14ada6737 100644 --- a/macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf +++ b/macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf diff --git a/macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf b/macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf Binary files differindex e8c19c69d4..40694cd70b 100644 --- a/macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf +++ b/macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf diff --git a/macros/latex/contrib/lettrine/doc/lettrine.pdf b/macros/latex/contrib/lettrine/doc/lettrine.pdf Binary files differindex 6870682712..5f4c521e91 100644 --- a/macros/latex/contrib/lettrine/doc/lettrine.pdf +++ b/macros/latex/contrib/lettrine/doc/lettrine.pdf diff --git a/macros/latex/contrib/lettrine/lettrine-2022-09-25.sty b/macros/latex/contrib/lettrine/lettrine-2022-09-25.sty new file mode 100644 index 0000000000..6ef4f4b070 --- /dev/null +++ b/macros/latex/contrib/lettrine/lettrine-2022-09-25.sty @@ -0,0 +1,302 @@ +%% +%% This is file `lettrine.sty', v2.30. +%% +%% IMPORTANT NOTICE: +%% +%% For the copyright see the source file `lettine.dtx'. +%% +%% This file can be distributed and/or modified under the terms +%% of the LaTeX Project Public License either version 1.3c of this +%% license or (at your option) any later version. +%% 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. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% The Current Maintainer of this work is Daniel Flipo. +%% +%% Please report errors to: <daniel (dot) flipo (at) free (dot) fr> +%% +\NeedsTeXFormat{LaTeX2e}[2018-04-01] +\ProvidesFile{lettrine.sty} + [2022-09-25 v2.30 (Daniel Flipo)] +\RequirePackage{xkeyval,minifp} +\newcounter{DefaultLines} +\setcounter{DefaultLines}{2} +\newcounter{DefaultDepth} +\newcommand*{\DefaultOptionsFile}{\relax} +\newcommand*{\DefaultLoversize}{0} +\newcommand*{\DefaultLraise}{0} +\newcommand*{\DefaultLhang}{0} +\newdimen\DefaultFindent +\setlength{\DefaultFindent}{\z@} +\newdimen\DefaultNindent +\setlength{\DefaultNindent}{0.5em} +\newdimen\DefaultSlope +\setlength{\DefaultSlope}{\z@} +\newdimen\DiscardVskip +\setlength{\DiscardVskip}{0.2\p@} +\newif\ifLettrineImage +\newif\ifLettrineOnGrid +\newif\ifLettrineRealHeight +\InputIfFileExists{lettrine.cfg} + {\typeout{Loading lettrine.cfg}} + {\typeout{lettrine.cfg not found, using default values}} +\DeclareOptionX{lines}[\value{DefaultLines}]{\setcounter{DefaultLines}{#1}} +\DeclareOptionX{depth}[\value{DefaultDepth}]{\setcounter{DefaultDepth}{#1}} +\DeclareOptionX{lhang}[]{\ifx#1\@empty\else + \renewcommand*{\DefaultLhang}{#1}\fi} +\DeclareOptionX{loversize}[]{\ifx#1\@empty\else + \renewcommand*{\DefaultLoversize}{#1}\fi} +\DeclareOptionX{lraise}[]{\ifx#1\@empty\else + \renewcommand*{\DefaultLraise}{#1}} +\DeclareOptionX{findent}[\the\DefaultFindent]{% + \setlength{\DefaultFindent}{#1}} +\DeclareOptionX{nindent}[\the\DefaultNindent]{% + \setlength{\DefaultNindent}{#1}} +\DeclareOptionX{slope}[\the\DefaultSlope]{\setlength{\DefaultSlope}{#1}} +\DeclareOptionX{image}[true]{\csname LettrineImage#1\endcsname} +\DeclareOptionX{grid}[true]{\csname LettrineOnGrid#1\endcsname} +\DeclareOptionX{novskip}[\the\DiscardVskip]{\setlength{\DiscardVskip}{#1}} +\DeclareOptionX{realheight}[true]{\csname LettrineRealHeight#1\endcsname} +\DeclareOptionX{optionsfile}[]{\ifx#1\@empty\else + \renewcommand*{\DefaultOptionsFile}{#1}\fi} +\ProcessOptionsX + +\newsavebox{\L@lbox} +\newsavebox{\L@tbox} +\newcounter{L@lines} +\newcounter{L@depth} +\newdimen\L@Pindent +\newdimen\L@Findent +\newdimen\L@Nindent +\newdimen\L@lraise +\newdimen\L@first +\newdimen\L@next +\newdimen\L@slope +\newdimen\L@height +\newdimen\L@novskip +\newdimen\L@target@ht +\newdimen\L@target@dp +\newdimen\L@target@tht +\newdimen\LettrineWidth +\newdimen\LettrineHeight +\newdimen\LettrineDepth +\newcommand*{\L@file}{} +\newcommand*{\L@hang}{} +\newcommand*{\L@oversize}{} +\newcommand*{\L@raise}{} +\newcommand*{\L@ante}{} +\newif\ifL@image +\newif\ifL@grid +\newif\ifL@realh +\newif\ifL@selfref +\newcommand*{\LettrineTextFont}{\scshape} +\newcommand*{\LettrineSecondString}{x} +\newcommand*{\LettrineFontHook}{} +\def\computeL@height{% + \setlength{\L@target@ht}{\ht\L@tbox}% + \@tempdima=\baselineskip + \setlength{\L@target@dp}{\value{L@lines}\@tempdima}% + \ifnum\value{L@lines}>1 + \addtolength{\L@target@dp}{-\@tempdima}% + \else + \addtolength{\L@target@ht}{\L@target@dp}% + \setlength{\L@target@dp}{0pt}% + \fi + \setlength{\L@target@tht}{\L@target@ht}% + \addtolength{\L@target@tht}{\L@target@dp}% + \setlength{\L@height}{\L@target@tht}% + \addtolength{\L@height}{\L@oversize\L@target@tht}% +} +\newcommand*{\LettrineTestString}{EFTZ} +\def\compute@fontsize{% + \ifL@selfref + \def\Lettrine@RefString{\l@refstring}% + \else + \def\Lettrine@RefString{\LettrineTestString}% + \fi + \sbox{\@tempboxa}{\LettrineFontHook + \fontsize{\L@height}{\L@height}\selectfont + \Lettrine@RefString}% + \@tempcnta=\ht\@tempboxa + \ifnum\@tempcnta=0 + \PackageWarning{lettrine}{Unable to compute \protect\fontsize!% + \MessageBreak \protect\LettrineTestString\space empty? reported} + \def\L@factor{1}% + \else + \@tempcntb=\L@height + \MFPdiv{\the\@tempcntb}{\the\@tempcnta}\L@factor + \fi +} +\newcommand*{\LettrineFont}{% + \LettrineFontHook + \fontsize{\L@factor\L@height}{\L@factor\L@height}% + \selectfont +} +\newcommand*{\LettrineImage}{% + \LettrineFontHook\includegraphics[height=\L@height]% +} +\def\setupL@lbox{% + \computeL@height + \ifL@image + \sbox{\L@lbox}{\LettrineImage{\l@initial}}% + \else + \compute@fontsize + \sbox{\L@lbox}{\LettrineFont \l@initial}% + \fi +} +\define@key{L}{lines}{\setcounter{L@lines}{#1}} +\define@key{L}{depth}{\setcounter{L@depth}{#1}} +\define@key{L}{lhang}{\renewcommand*{\L@hang}{#1}} +\define@key{L}{loversize}{\renewcommand*{\L@oversize}{#1}} +\define@key{L}{lraise}{\renewcommand*{\L@raise}{#1}} +\define@key{L}{ante}{\renewcommand*{\L@ante}{#1}} +\define@key{L}{findent}{\setlength{\L@Findent}{#1}} +\define@key{L}{nindent}{\setlength{\L@Nindent}{#1}} +\define@key{L}{slope}{\setlength{\L@slope}{#1}} +\define@key{L}{image}[true]{\csname L@image#1\endcsname} +\define@key{L}{grid}[true]{\csname L@grid#1\endcsname} +\define@key{L}{realheight}[true]{\csname L@realh#1\endcsname} +\define@key{L}{novskip}{\setlength{\L@novskip}{#1}} +\define@key{L}{refstring}[\l@initial]{\L@selfreftrue + \def\l@refstring{#1}} +\newcommand*{\LettrineOptionsFor}[2]{\@namedef{l@#1-keys}{#2}} +\def\lettrine{\@ifnextchar[\@lettrine{\@lettrine[]}} +\def\@lettrine[#1]#2#3{% + \def\l@initial{#2}\let\l@refstring\l@initial + \setcounter{L@lines}{\value{DefaultLines}}% + \setcounter{L@depth}{\value{DefaultDepth}}% + \renewcommand*{\L@hang}{\DefaultLhang}% + \renewcommand*{\L@oversize}{\DefaultLoversize}% + \renewcommand*{\L@raise}{\DefaultLraise}% + \renewcommand*{\L@ante}{}% + \setlength{\L@Findent}{\DefaultFindent}% + \setlength{\L@Nindent}{\DefaultNindent}% + \setlength{\L@slope}{\DefaultSlope}% + \setlength{\L@novskip}{\DiscardVskip}% + \ifLettrineImage\L@imagetrue\else\L@imagefalse\fi + \ifLettrineOnGrid\L@gridtrue\else\L@gridfalse\fi + \ifLettrineRealHeight\L@realhtrue\else\L@realhfalse\fi + \setkeys{L}{#1}% + \sbox{\L@tbox}{\LettrineTextFont{\LettrineSecondString}}% + \ifL@realh + \def\@tempa{#3}% + \ifx\@tempa\@empty + \PackageWarning{lettrine.sty}% + {Empty second argument,\MessageBreak + ignoring option `realheight';}% + \else + \sbox{\L@tbox}{\LettrineTextFont{#3}}% + \fi + \fi + \if\DefaultOptionsFile\relax + \else + \begingroup + \InputIfFileExists{\DefaultOptionsFile}% + {}% + {\PackageWarning{lettrine.sty}% + {File \DefaultOptionsFile\space not found}% + }% + \def\color##1##{\l@color{##1}}% + \let\l@color\@gobbletwo + \def\textcolor##1##{\l@textcolor{##1}}% + \def\l@textcolor##1##2##3{##3}% + \expandafter\ifx\csname l@#2-keys\endcsname\relax + \gdef\l@LOKeys{}% + \else + \xdef\l@LOKeys{\csname l@#2-keys\endcsname}% + \fi + \endgroup + \def\KV@prefix{KV@L@}% + \let\@tempc\relax + \expandafter\KV@do\l@LOKeys,\relax, + \setupL@lbox + \setlength{\LettrineWidth}{\wd\L@lbox}% + \def\KV@prefix{KV@L@}% + \let\@tempc\relax + \expandafter\KV@do\l@LOKeys,\relax, + \setkeys{L}{#1}% + \fi + \setupL@lbox + \setlength{\LettrineWidth}{\wd\L@lbox}% + \setlength{\LettrineHeight}{\ht\L@lbox}% + \setlength{\LettrineDepth}{\dp\L@lbox}% + \begingroup + \def\IeC##1{##1}% + \@tempdima=\L@oversize pt\relax + \PackageInfo{lettrine.sty}% + {Targeted height = \the\L@target@tht\MessageBreak + (for loversize=0, accent excluded),\MessageBreak + Lettrine height = \the\LettrineHeight\space (#2)% + \ifdim\@tempdima=\z@\else\space loversize=\L@oversize\fi;% + \MessageBreak reported}% + \endgroup + \sbox{\L@tbox}{\LettrineTextFont{#3}}% + \setlength{\L@first}{\LettrineHeight}% + \setlength{\L@lraise}{\L@raise\L@target@tht}% + \addtolength{\L@first}{\L@lraise}% + \ifnum\value{L@lines}=1 + \addtolength{\L@first}{-\ht\L@tbox}% + \else + \addtolength{\L@first}{-\L@target@tht}% + \addtolength{\L@lraise}{-\L@target@dp}% + \fi + \par + \ifdim\L@first>\L@novskip + \ifL@grid + \@tempdima=\baselineskip + \@tempdimb=\@tempdima + \advance\@tempdimb by \L@novskip + \@tempcnta=1 + \loop\ifdim\L@first>\@tempdimb + \advance\@tempcnta by 1 + \advance\L@first by -\@tempdima + \repeat + \L@first=\@tempcnta\baselineskip + \fi + \vskip\L@first + \fi + \setlength{\L@Pindent}{\wd\L@lbox}% + \addtolength{\L@Pindent}{-\L@hang\wd\L@lbox}% + \settowidth{\L@first}{\L@ante}% + \addtolength{\L@Pindent}{\L@first}% + \addtolength{\L@Pindent}{\L@Findent}% + \setlength{\L@first}{\linewidth}% + \addtolength{\L@first}{-\L@Pindent}% + \addtolength{\L@Nindent}{\L@Pindent}% + \setlength{\L@next}{\linewidth}% + \addtolength{\L@next}{-\L@Nindent}% + \addtolength{\L@Pindent}{\@totalleftmargin}% + \addtolength{\L@Nindent}{\@totalleftmargin}% + \addtocounter{L@lines}{1}% + \addtocounter{L@lines}{\value{L@depth}}% + \def\L@parshape{\c@L@lines \the\L@Pindent \the\L@first}% + \@tempcnta=\tw@ + \@whilenum \@tempcnta<\c@L@lines\do{% + \edef\L@parshape{\L@parshape \the\L@Nindent \the\L@next}% + \addtolength{\L@Nindent}{\L@slope}% + \addtolength{\L@next}{-\L@slope}% + \advance\@tempcnta\@ne}% + \edef\L@parshape{\L@parshape \@totalleftmargin \the\linewidth}% + \noindent + \parshape=\L@parshape\relax + \smash{\llap{\mbox{\L@ante}\raisebox{\L@lraise}{\usebox{\L@lbox}}% + \hskip \the\L@Findent}}% + \usebox{\L@tbox}% + \ifnum\@listdepth>0 \Lreset@listparshape \fi +} +\newtoks\Llist@everypar +\def\Lreset@listparshape{% + \let\Lnew@everypar\everypar + \Llist@everypar=\expandafter{\the\everypar}% + \Lnew@everypar={\the\Llist@everypar + \parshape=\@ne \@totalleftmargin \linewidth \relax + \let\everypar\Llist@everypar + }% +} +\endinput +%% +%% End of file `lettrine.sty'. diff --git a/macros/latex/contrib/lettrine/lettrine.dtx b/macros/latex/contrib/lettrine/lettrine.dtx index 65f301e6af..be96ffe2f8 100644 --- a/macros/latex/contrib/lettrine/lettrine.dtx +++ b/macros/latex/contrib/lettrine/lettrine.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright © 1999-2022 Daniel Flipo. +% Copyright © 1999-2023 Daniel Flipo. % % This program can be distributed and/or modified under the terms % of the LaTeX Project Public License either version 1.3c of this @@ -12,31 +12,36 @@ % % This file has the LPPL maintenance status "maintained". % -% \fi -% -% \iffalse -% -%<*sty> -\NeedsTeXFormat{LaTeX2e}[2018-04-01] -\ProvidesFile{lettrine.sty} -%</sty> -%<*dtx> -\ProvidesFile{lettrine.dtx} -%</dtx> -%<*!cfg> - [2022-09-25 v2.30 (Daniel Flipo)] -%</!cfg> -% -% Lettrine package for LaTeX version 2e -% -% Copyright © 1999-2020 by Daniel Flipo -% -% Please report errors to: daniel (dot) flipo (at) free (dot) fr -% +%<*batch> +%<*gobble> +\ifx\jobname\relax\let\documentclass\undefined\fi +\ifx\documentclass\undefined +\csname fi\endcsname +%</gobble> +\input docstrip.tex +\keepsilent +\let\MetaPrefix\relax +\preamble +\endpreamble +\postamble +\endpostamble +\let\MetaPrefix\DoubleperCent +\askforoverwritefalse +\generate{\file{lettrine.sty}{\from{lettrine.dtx}{sty}} + \nopreamble + \file{lettrine.cfg}{\from{lettrine.dtx}{cfg}} + } +\endbatchfile +%</batch> +%<*gobble> +\fi +\expandafter\ifx\csname @currname\endcsname\empty +\csname fi\endcsname +%</gobble> %<*driver> -\RequirePackage{pdfmanagement-testphase} -\DeclareDocumentMetadata{pdfstandard=A-2b, lang=en-US} -\documentclass[a4paper]{ltxdoc} +\DocumentMetadata{pdfstandard=A-2b, lang=en-GB} +\documentclass[a4paper,british]{ltxdoc} +\usepackage{babel,varioref} \usepackage[dvipsnames]{xcolor} \usepackage{unicode-math} \setmainfont{erewhon} @@ -73,7 +78,7 @@ \setlength{\parindent}{0pt} \setlength{\parskip}{.3\baselineskip} \begin{document} -\GetFileInfo{lettrine.dtx} +\GetFileInfo{lettrine.sty} \begin{center} \textbf{\Large Typesetting dropped capitals with LaTeX} \\[.5\baselineskip]^^A\] @@ -83,8 +88,27 @@ \DocInput{lettrine.dtx} \end{document} %</driver> +%<*gobble> +\fi +%</gobble> +% \fi % -%\fi +% \iffalse +% +%<*sty> +%% IMPORTANT NOTICE: +%% For the copyright see the source file `lua-typo.dtx’. +%% +\NeedsTeXFormat{LaTeX2e}[2022-06-01] +\ProvidesFile{lettrine.sty} +%</sty> +%<*dtx> +\ProvidesFile{lettrine.dtx} +%</dtx> +%<*sty|dtx> + [2023-04-18 v2.40 (Daniel Flipo)] +%</sty|dtx> +% \fi % % \section{Introduction} % @@ -113,8 +137,7 @@ % \item ``Mise en page et impression’’ Yves~Perrousseaux, % ISBN-2-911220-01-3. % \end{itemize} -% The parameters can be set using David Carlisle’s -% \texttt{keyval.sty} syntax: +% The parameters can be set using the \texttt{key=value} syntax: % \begin{itemize} % \item \lopt{lines=}\meta{integer} sets how many lines the % dropped capital will occupy (default=2); @@ -146,7 +169,7 @@ % like |A| or |V| to add \meta{dimen} (positive or negative) to the % indentation of each line starting from the third one (no effect if % \lopt{lines=2}, default=0pt); -% \item \lopt{ante=}\meta{text} can be used to typeset \meta{text} +% \item \lopt{ante=}\meta{string} can be used to typeset \meta{string} % \emph{before} the dropped capital (typical use is for French % guillemets starting the paragraph). % @@ -210,18 +233,17 @@ % top of the non accented letters). % \end{description} % -% \item \lopt{refstring}\footnote{Unlike \lopt{grid} or -% \lopt{realheight}, \lopt{refstring} is not a flag (\emph{do not} -% add \lopt{=true}!); it is possible to set -% \lopt{refstring=}\meta{string} to override \cs{LettrineTestString} -% locally.} is meant for fancy initials with -% irregular heights (i.e.\ taken in fonts like Yinit (OpenType), -% \file{cfr-initials},…). \lopt{refstring} forces the +% \item \lopt{refstring} with no value, is meant for fancy initials +% with irregular heights (i.e.\ taken in fonts like Yinit (OpenType), +% \file{cfr-initials},…). Option \lopt{refstring} forces the % |\fontsize| computations to be run on the initial given as % |\lettrine|’s first mandatory argument instead of the reference % string |\LettrineTestString|. In most cases, this option should % \emph{not} be used: think of accentuated initials or capitals with -% optical correction. +% optical correction.\par +% \lopt{refstring}=\meta{string} can be used to override +% |\LettrineTestString|, the default reference string +% (option \emph{seldom useful}). % % \end{itemize} % @@ -230,7 +252,7 @@ % \mbox{}\phantom{\tt Example: lettrine}% % |{V}{oici} un exemple |… % -% Coloured initials are possible in conjonction with package +% Coloured initials are available in conjonction with package % \file{color}, examples: \\ % |\lettrine{\textcolor{red}{A}}{n} example|\quad or\\ % |\lettrine{\textcolor[gray]{0.5}{A}}{nother} one| \\ @@ -241,26 +263,27 @@ % Three dimensions, |\LettrineWidth|, |\LettrineHeight| and % |\LettrineDepth|, store the final size of the initial. % -% Have a look at files \file{demo-fr.tex} and \file{demo-lua.tex} -% and at the resulting PDFs in the \file{doc} folder to see the -% possible usage of these parameters. +% Have a look at files \file{lettrine-demo-fr.tex} and +% \file{lettrine-demo-lua.tex} and at the resulting PDFs in the +% \file{doc} folder to see the possible usage of these parameters. % % \changes{v1.9}{2015/08/31}{New customisable string % \cs{LettrineSecondString} to tune the initial’s height.} % -% Starting with version~2.30, the default settings can be +% Starting with version~2.30, the default settings can easily be % specified as options passed to the \pkg{lettrine} \emph{package}. -% These options are the same as those of the |\lettrine| command% -% \footnote{With one exception: \lopt{refstring} is available only -% for the \cs{lettrine} command.}: -% f.i. |\usepackage[lines=3]{lettrine}| will set the default to three -% lines of text. Options passed to the \pkg{lettrine} package override -% the defaults set in the \file{lettrine.cfg} file (see below) and will -% be overriden by options passed to the |\lettrine| command. -% -% The default settings can be customized in a config file -% \file{lettrine.cfg} for a global usage. The following list shows -% the syntax to set them and their default values: +% These options are the same as those of the |\lettrine| command +% previously described% +% \footnote{With the exception of \lopt{ante} which doesn’t make +% sense for a global usage.}: f.i. |\usepackage[lines=3]{lettrine}| +% will set the default to three lines of text. +% Options passed to the \pkg{lettrine} package override the defaults +% set in the \file{lettrine.cfg} file (see below) and will be +% overriden by options passed to the |\lettrine| command. +% +% The default settings can also be customized in a config file +% \file{lettrine.cfg} (backward compatibility). The following list +% shows the syntax to set them and their default values: % \begin{itemize} % \item |\setcounter{DefaultLines}{2}|, % \item |\setcounter{DefaultDepth}{0}|, @@ -288,9 +311,9 @@ % % The dimensional parameters \lopt{findent}, \lopt{nindent} and % \lopt{slope}, can be set relative to |\LettrineWidth| if needed, -% \emph{in \meta{filename} only}. The settings read from this file -% will be overridden by the optional arguments eventually given to -% |\lettrine|. +% \emph{in an \file{optionsfile} only}. The settings read from this +% file will be overridden by the optional arguments eventually given +% to the |\lettrine| command. % % |\LettrineTextFont| sets the font used for the second argument % of |\lettrine|, its default definition is @@ -332,12 +355,12 @@ % \vspace{\baselineskip} % \textbf{Important notice:} % the sizing works fine with \emph{fully scalable} fonts (like the -% standard PostScript fonts), but might not work well with CM/EC -% fonts which have two limitations: only a limited number of sizes -% is available by default (precise adjustments are impossible), -% and the largest size (25pt or 35pt) is often too small. -% The CM fonts are now available in PostScript type1 format for -% free (courtesy of BlueSky/Y\&Y), to make them fully scalable, +% standard PostScript or OpenType fonts), but might not work well +% with CM/EC fonts which have two limitations: only a limited number +% of sizes is available by default (precise adjustments are +% impossible), and the largest size (25pt or 35pt) is often too +% small. The CM fonts are available in PostScript type1 format +% for free (courtesy of BlueSky/Y\&Y), to make them fully scalable, % it is mandatory to add |\usepackage{type1cm}| in the preamble % of your document. % The EC fonts are also available in type1 format for free @@ -411,30 +434,21 @@ % \changes{v2.2}{2018/08/25}{Rollback mechanism used for recovering % older versions.} % -% The lettrine package now uses the rollback mechanism recently -% introduced by the LaTeX Team to provide easier backward -% compatibility. This requires a recent LaTeX kernel (at least -% 2018-04-01), roolback is ignored with older kernels. -% \begin{macrocode} -\ifdefined\DeclareRelease - \DeclareRelease{v1.6}{1999-03-03}{lettrine-2006-03-17.sty} - \DeclareRelease{v1.9}{2012-07-20}{lettrine-2015-08-31.sty} - \DeclareRelease{v2.0}{2018-07-21}{lettrine-2018-08-18.sty} - \DeclareCurrentRelease{}{2020-03-14} -\else - \PackageWarning{lettrine}{Your LaTeX kernel is too old to provide - access\MessageBreak to former versions of the lettrine package.% - \MessageBreak If you need rollback, please upgrade% - \MessageBreak your LaTeX kernel (2018-04-01 or newer),% - \MessageBreak otherwise you are fine; reported} -\fi -% \end{macrocode} -% -% This package only runs with LaTeX and requires files -% \file{xkeyval.sty} and \file{minifp.sty}. +% \changes{v2.40}{2023/04/18}{lettrine.dtx auto-generates lettrine.sty +% and lettrine.cfg (lettrine.ins deleted).} % +% The lettrine package uses the rollback mechanism +% introduced by the LaTeX Team to provide easier backward +% compatibility. The current release requires a LaTeX version +% not older than 2022-06-01 (kernel packages \pkg{ltkeys} and +% \pkg{xfp} are required). % \begin{macrocode} -\RequirePackage{xkeyval,minifp} +\DeclareRelease{v1.6}{1999-03-03}{lettrine-2006-03-17.sty} +\DeclareRelease{v1.9}{2012-07-20}{lettrine-2015-08-31.sty} +\DeclareRelease{v2.0}{2018-07-21}{lettrine-2018-08-18.sty} +\DeclareRelease{v2.3}{2022-09-25}{lettrine-2022-09-25.sty} +\DeclareCurrentRelease{}{2023-04-18} +\RequirePackage{xfp} % \end{macrocode} % % Default initializations: define the necessary counters, lengths, @@ -477,42 +491,6 @@ \newif\ifLettrineRealHeight % \end{macrocode} % -% Load a local config file if present in LaTeX’s search path. -% \begin{macrocode} -\InputIfFileExists{lettrine.cfg} - {\typeout{Loading lettrine.cfg}} - {\typeout{lettrine.cfg not found, using default values}} -% \end{macrocode} -% -% \changes{v2.30}{2022/09/23}{Added global options to package -% \pkg{lettrine}.} -% -% Global package options enable to override the default values given -% above to generic parameters. These may be overriden again by -% options passed to the |\lettrine[]{}{}| command. -% \begin{macrocode} -\DeclareOptionX{lines}[\value{DefaultLines}]{\setcounter{DefaultLines}{#1}} -\DeclareOptionX{depth}[\value{DefaultDepth}]{\setcounter{DefaultDepth}{#1}} -\DeclareOptionX{lhang}[]{\ifx#1\@empty\else - \renewcommand*{\DefaultLhang}{#1}\fi} -\DeclareOptionX{loversize}[]{\ifx#1\@empty\else - \renewcommand*{\DefaultLoversize}{#1}\fi} -\DeclareOptionX{lraise}[]{\ifx#1\@empty\else - \renewcommand*{\DefaultLraise}{#1}} -\DeclareOptionX{findent}[\the\DefaultFindent]{% - \setlength{\DefaultFindent}{#1}} -\DeclareOptionX{nindent}[\the\DefaultNindent]{% - \setlength{\DefaultNindent}{#1}} -\DeclareOptionX{slope}[\the\DefaultSlope]{\setlength{\DefaultSlope}{#1}} -\DeclareOptionX{image}[true]{\csname LettrineImage#1\endcsname} -\DeclareOptionX{grid}[true]{\csname LettrineOnGrid#1\endcsname} -\DeclareOptionX{novskip}[\the\DiscardVskip]{\setlength{\DiscardVskip}{#1}} -\DeclareOptionX{realheight}[true]{\csname LettrineRealHeight#1\endcsname} -\DeclareOptionX{optionsfile}[]{\ifx#1\@empty\else - \renewcommand*{\DefaultOptionsFile}{#1}\fi} -\ProcessOptionsX -% \end{macrocode} - % Then let’s define the necessary internal counters, lengths, % and commands. % @@ -548,17 +526,95 @@ \newif\ifL@image \newif\ifL@grid \newif\ifL@realh -\newif\ifL@selfref % \end{macrocode} % -% Provide commands for the fonts used to typeset the two -% mandatory arguments of |\lettrine|. +% \begin{macro}{\LettrineTestString} +% As some font designers apply optical correction to capitals C, G, +% O, or Q (they are slightly taller than `T’ or `Z’), they are better +% left out of |\LettrineTestString|. |EFTZ| should be a good default +% for most fonts. +% +% \changes{v1.63}{2012/07/20}{(new) it defaults to +% `ABCDEFGHIJKLMNOQPRSTUVWXYZ’. In previous versions height +% computations were based on letter `X’ which might not exist +% in some (rare) fonts. Pointed out by Raphaël Pinson.} +% +% \changes{v2.0}{2018/07/21}{changed from `ABCDEFGHIJKLMNOQPRSTUVWXYZ’ +% to `EFTZ’ as some capitals like C, G, O, Q or X might be slightly +% taller (possible optical correction).} +% +% \begin{macrocode} +\newcommand*{\LettrineTestString}{EFTZ} +% \end{macrocode} +% \end{macro} +% +% Load a local config file if present in LaTeX’s search path. +% \begin{macrocode} +\InputIfFileExists{lettrine.cfg} + {\typeout{Loading lettrine.cfg}} + {\typeout{lettrine.cfg not found, using default values}} +% \end{macrocode} +% +% \changes{v2.30}{2022/09/23}{Added global options to package +% \pkg{lettrine}.} +% +% \changes{v2.40}{2023/04/18}{Package options and \cs{lettrine} options +% no longer depend on \pkg{xkeyval}, they are based on ltkeys.dtx.} +% +% Global package options enable to override the default values given +% above to generic parameters. These may be overriden again by +% options passed to the |\lettrine[]{}{}| command. +% This code is based on \pkg{ltkeys.dtx}. +% \begin{macrocode} +\DeclareKeys[LettrineGlobal] + { + lines.code = \setcounter{DefaultLines}{#1} , + depth.code = \setcounter{DefaultDepth}{#1} , + lhang.store = \DefaultLhang , + loversize.store = \DefaultLoversize , + lraise.store = \DefaultLraise , + findent.code = \setlength{\DefaultFindent}{#1} , + nindent.code = \setlength{\DefaultNindent}{#1} , + slope.code = \setlength{\DefaultSlope}{#1} , + novskip.code = \setlength{\DiscardVskip}{#1} , + image.if = LettrineImage , + grid.if = LettrineOnGrid , + realheight.if = LettrineRealHeight , + refstring.default:n = \l@initial , + refstring.store = \LettrineTestString , + optionsfile.store = \DefaultOptionsFile + } +\ProcessKeyOptions[LettrineGlobal] +% \end{macrocode} +% +% Ditto for the |\lettrine| command’s options. +% +% \begin{macrocode} +\DeclareKeys[LettrineLocal] + { + lines.code = \setcounter{L@lines}{#1} , + depth.code = \setcounter{L@depth}{#1} , + lhang.code = \renewcommand*{\L@hang}{#1} , + loversize.code = \renewcommand*{\L@oversize}{#1} , + lraise.code = \renewcommand*{\L@raise}{#1} , + ante.code = \renewcommand*{\L@ante}{#1} , + findent.code = \setlength{\L@Findent}{#1} , + nindent.code = \setlength{\L@Nindent}{#1} , + slope.code = \setlength{\L@slope}{#1} , + novskip.code = \setlength{\L@novskip}{#1} , + image.if = L@image , + grid.if = L@grid , + realheight.if = L@realh , + refstring.default:n = \l@initial , + refstring.store = \l@refstring + } +% \end{macrocode} % % \changes{v2.21}{2018/08/28}{Code clean up, new commands % \cs{computeL@height}, \cs{compute@fontsize}, \cs{setupL@lbox}.} % % \begin{macro}{\LettrineTextFont} -% In French, small caps usually follow the dropped capital. +% In French, small caps usually follow the initial. % \begin{macrocode} \newcommand*{\LettrineTextFont}{\scshape} \newcommand*{\LettrineSecondString}{x} @@ -657,41 +713,20 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\LettrineTestString} +% \begin{macro}{\compute@fontsize} % After executing |\computeL@height|, |\L@height| holds the exact % height required for the dropped capital, nothing more is needed if % the initial is a picture, otherwise we need to compute the matching % |\fontsize|’s value. This is done by measuring the height of % a ``reference’’ capital (i.e.\ either listed in % |\LettrineTestString| or the initial itself). -% As some font designers apply optical correction to capitals C, G, -% O, or Q (they are slightly taller than `T’ or `Z’), they are better -% left out of |\LettrineTestString|. |EFTZ| should be a good default -% for most fonts. -% -% \changes{v1.63}{2012/07/20}{(new) it defaults to -% `ABCDEFGHIJKLMNOQPRSTUVWXYZ’. In previous versions height -% computations were based on letter `X’ which might not exist -% in some (rare) fonts. Pointed out by Raphaël Pinson.} -% -% \changes{v2.0}{2018/07/21}{changed from `ABCDEFGHIJKLMNOQPRSTUVWXYZ’ -% to `EFTZ’ as some capitals like C, G, O, Q or X might be slightly -% taller (possible optical correction).} -% -% \begin{macrocode} -\newcommand*{\LettrineTestString}{EFTZ} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\compute@fontsize} % This command compares the height of a ``reference’’ capital scaled -% by |\fontsize| with argument |\L@height| to |\L@height| (the +% by |\fontsize| with argument |\L@height|, to |\L@height| (the % required height for the initial); both are converted into integers -% (in sp) to compute a ratio |\L@factor|. -% Up to v2.01, possible values for |\L@factor| were either 1 or any -% value $\geq 1.1$ which was fine for almost every font but not -% all (i.e.\ \file{cfr-initials}). Starting with v2.1, |\L@factor| -% is computed more accurately by |\MFPdiv| from \file{minifp.sty}. +% (in sp), to compute a ratio |\L@factor| (decimal number). +% Then, the initial will be scaled by |\L@factor\L@height|. +% Starting with v2.40, |\L@factor| is computed by |\fpeval| +% from \file{xfp.sty}. % % \changes{v2.1}{2018/08/14}{Computation of \cs{L@factor} for % \cs{fontsize} done by the minifp package.} @@ -699,17 +734,20 @@ % \changes{v2.22}{2018/09/14}{Warn if \cs{fontsize} computation fails % due to division by 0.} % -% The conditional |\ifL@selfref| is set to \lopt{true} by |\lettrine| -% option \lopt{refstring}, then the initial itself is taken as -% reference to compute |\fontsize|, this can be handy when working -% with fancy fonts (i.e.\ cfr-initials, Yinit). In most cases, the -% default is a better choice. +% \changes{v2.40}{2023/04/18}{Computation of \cs{L@factor} for +% \cs{fontsize} done by the xfp package.} +% +% If the option \lopt{refstring} is set in the |\lettrine| command +% the initial itself is taken as reference to compute |\fontsize|, +% this can be handy when working with fancy fonts +% (i.e.\ cfr-initials, Yinit). +% In most cases, the default is a better choice . % \begin{macrocode} \def\compute@fontsize{% - \ifL@selfref - \def\Lettrine@RefString{\l@refstring}% - \else + \ifx\l@refstring\@empty \def\Lettrine@RefString{\LettrineTestString}% + \else + \def\Lettrine@RefString{\l@refstring}% \fi \sbox{\@tempboxa}{\LettrineFontHook \fontsize{\L@height}{\L@height}\selectfont @@ -721,7 +759,7 @@ \def\L@factor{1}% \else \@tempcntb=\L@height - \MFPdiv{\the\@tempcntb}{\the\@tempcnta}\L@factor + \def\L@factor{\fpeval{\the\@tempcntb/\the\@tempcnta}}% \fi } % \end{macrocode} @@ -746,7 +784,8 @@ % % \begin{macro}{\LettrineImage} % The following definition is for use with dropped capitals defined -% as images: EPS, PDF, JPG, PNG files (see examples in demo-fr.tex). +% as images: EPS, PDF, JPG, PNG files (see examples in +% lettrine-demo-fr.tex). % Its requires the |graphicx| package to be loaded in the % preamble with |\usepackage{graphicx}|. The image’s height is % computed just as in the standard case and passed to @@ -778,26 +817,6 @@ % \end{macrocode} % \end{macro} % -% Set up keyval initializations for the |\lettrine| command. -% -% \begin{macrocode} -\define@key{L}{lines}{\setcounter{L@lines}{#1}} -\define@key{L}{depth}{\setcounter{L@depth}{#1}} -\define@key{L}{lhang}{\renewcommand*{\L@hang}{#1}} -\define@key{L}{loversize}{\renewcommand*{\L@oversize}{#1}} -\define@key{L}{lraise}{\renewcommand*{\L@raise}{#1}} -\define@key{L}{ante}{\renewcommand*{\L@ante}{#1}} -\define@key{L}{findent}{\setlength{\L@Findent}{#1}} -\define@key{L}{nindent}{\setlength{\L@Nindent}{#1}} -\define@key{L}{slope}{\setlength{\L@slope}{#1}} -\define@key{L}{image}[true]{\csname L@image#1\endcsname} -\define@key{L}{grid}[true]{\csname L@grid#1\endcsname} -\define@key{L}{realheight}[true]{\csname L@realh#1\endcsname} -\define@key{L}{novskip}{\setlength{\L@novskip}{#1}} -\define@key{L}{refstring}[\l@initial]{\L@selfreftrue - \def\l@refstring{#1}} -% \end{macrocode} -% % \changes{v1.5}{2003/08/18}{\cs{LettrineOptionsFor} and % \cs{LettrineWidth} added.} % @@ -805,23 +824,33 @@ % This command is to be used in an optional config file (the name % of which is found in |\DefaultOptionsFile|) to set the values % of parameters on a per character basis, for instance:\\ -% |\LettrineOptionsFor{A}{slope=0.6em, findent=-1em, nindent=0.6em}|\\ -% creates an internal command (|\l@A-keys| in this example), -% which expands to the options given as second argument of -% |\LettrineOptionsFor| for letter `A’. +% |\LettrineOptionsFor{A}{slope=0.6em, findent=-1em, nindent=0.6em}| % % \begin{macrocode} -\newcommand*{\LettrineOptionsFor}[2]{\@namedef{l@#1-keys}{#2}} +\newcommand*{\LettrineOptionsFor}[2]{% + \edef\l@tmpa{#1}% +% \end{macrocode} +% Gobble potential color commands for the initial. +% \begin{macrocode} + \begingroup + \def\color##1##{\l@color{##1}}% + \let\l@color\@gobbletwo + \def\textcolor##1##{\l@textcolor{##1}}% + \def\l@textcolor##1##2##3{##3}% + \xdef\l@tmpb{\l@initial}% + \endgroup + \ifx\l@tmpa\l@tmpb \SetKeys[LettrineLocal]{#2}\fi + } % \end{macrocode} % \end{macro} % % \begin{macro}{\lettrine} -% Now let’s define |\lettrine|. +% Now let’s define the |\lettrine| command. % % \begin{macrocode} \def\lettrine{\@ifnextchar[\@lettrine{\@lettrine[]}} \def\@lettrine[#1]#2#3{% - \def\l@initial{#2}\let\l@refstring\l@initial + \def\l@initial{#2}\let\l@refstring\@empty % \end{macrocode} % % \changes{v1.9}{2015/08/31}{\cs{theDefaultLines} changed to @@ -846,11 +875,11 @@ \ifLettrineRealHeight\L@realhtrue\else\L@realhfalse\fi % \end{macrocode} % -% The final initial size depends on the height of |\L@tbox|; the -% content of |\L@tbox| depends on option |realheight|, so we have -% to read |\lettrine|’s optional argument and initialise the -% |\L@tbox| content now\footnote{Now means before eventually -% reading the config file.}. +% Then take the local options passed to |\lettrine| into account. +% The content of |\L@tbox| depends on option |realheight|, so we +% have to initialise the |\L@tbox| content now% +% \footnote{Now means before eventually reading the per character +% config file.}. % % \changes{v1.9}{2015/08/31}{Use the second mandatory % argument of \cs{lettrine} or \cs{LettrineSecondString} (which @@ -858,7 +887,7 @@ % the `realheight’ flag.} % % \begin{macrocode} - \setkeys{L}{#1}% + \SetKeys[LettrineLocal]{#1}% \sbox{\L@tbox}{\LettrineTextFont{\LettrineSecondString}}% \ifL@realh \def\@tempa{#3}% @@ -867,7 +896,7 @@ {Empty second argument,\MessageBreak ignoring option `realheight';}% \else - \sbox{\L@tbox}{\LettrineTextFont{#3}}% + \sbox{\L@tbox}{{\LettrineTextFont{#3}}}% \fi \fi % \end{macrocode} @@ -878,74 +907,39 @@ % global command |\l@LOKeys| which will expand to the list of % options given by |\LettrineOptionsFor| for the current initial % (defined by |#2|)… +% +% \changes{v2.40}{2023/04/18}{Options from the per letter config file +% are now handled by LaTeX command \cs{SetKeys}.} +% +% Take the per character config file into account if any. % \begin{macrocode} \if\DefaultOptionsFile\relax \else - \begingroup - \InputIfFileExists{\DefaultOptionsFile}% - {}% - {\PackageWarning{lettrine.sty}% - {File \DefaultOptionsFile\space not found}% - }% -% \end{macrocode} -% Gobble the colour commands, just keep the letter argument. -% \begin{macrocode} - \def\color##1##{\l@color{##1}}% - \let\l@color\@gobbletwo - \def\textcolor##1##{\l@textcolor{##1}}% - \def\l@textcolor##1##2##3{##3}% -% \end{macrocode} -% Save the list of options relevant to the letter in |#2| -% in |\l@LOKeys| (list is empty eventually). -% \begin{macrocode} - \expandafter\ifx\csname l@#2-keys\endcsname\relax - \gdef\l@LOKeys{}% - \else - \xdef\l@LOKeys{\csname l@#2-keys\endcsname}% - \fi - \endgroup -% \end{macrocode} -% Now apply these options (the following code executes -% |\setkeys{L}{\l@LOKeys}}| where |\l@LOKeys| is expanded, -% see \file{keyval.sty}). -% \begin{macrocode} - \def\KV@prefix{KV@L@}% - \let\@tempc\relax - \expandafter\KV@do\l@LOKeys,\relax, % \end{macrocode} % As some parameters’ values \lopt{findent}, \lopt{nindent} and % \lopt{slope} ---which do not influence the initial’s size--- may % be given relative to |\LettrineWidth|, the |\L@lbox| has to be % set up to evaluate |\LettrineWidth|. -% -% \changes{v2.21}{2018/08/28}{\lopt{findent} computation -% relative to \cs{LettrineWidth} in \lopt{.cfl} files fixed; -% thanks to Frank Mittelbach for raising the issue.} -% % \begin{macrocode} \setupL@lbox \setlength{\LettrineWidth}{\wd\L@lbox}% - \def\KV@prefix{KV@L@}% - \let\@tempc\relax - \expandafter\KV@do\l@LOKeys,\relax, + \InputIfFileExists{\DefaultOptionsFile}% + {}% + {\PackageWarning{lettrine.sty}% + {File \DefaultOptionsFile\space not found}% + }% % \end{macrocode} % As local options prevail on those held in the config file, we -% have to read local options again: +% have to read again the optionnal argument of |\lettrine|. % \begin{macrocode} - \setkeys{L}{#1}% + \SetKeys[LettrineLocal]{#1}% \fi % \end{macrocode} -% Options and optional config file have be taken into account, we -% can now finally save the first mandatory argument of |\lettrine| -% properly scaled into |\L@lbox|. -% \begin{macrocode} - \setupL@lbox -% \end{macrocode} -% % \changes{v1.65}{2014/09/04}{Measure and store the initial’s % final dimensions.} % Store the initial’s final dimensions, % \begin{macrocode} + \setupL@lbox \setlength{\LettrineWidth}{\wd\L@lbox}% \setlength{\LettrineHeight}{\ht\L@lbox}% \setlength{\LettrineDepth}{\dp\L@lbox}% @@ -954,7 +948,7 @@ % \changes{v2.0}{2018/07/21}{Add informations about targeted % and actual height of the initial to the .log file.} % -% print some informations about accuracy to the log file, +% and print some informations about accuracy to the log file, % \begin{macrocode} \begingroup \def\IeC##1{##1}% @@ -975,7 +969,7 @@ % \cs{LettrineTextFont}. Suggested by Philipp Lehman.} % % \begin{macrocode} - \sbox{\L@tbox}{\LettrineTextFont{#3}}% + \sbox{\L@tbox}{{\LettrineTextFont{#3}}}% % \end{macrocode} % % Start a new paragraph, skipping the necessary amount of space @@ -1093,12 +1087,16 @@ % \changes{v1.64}{2013/03/14}{Remove \$ around \cs{smash} % and add \cs{relax}. Bug pointed out by David Monniaux. % Correction by Enrico Gregorio.} +% +% \changes{v2.40}{2023/04/18}{Replace \cs{usebox} by \cs{unhcopy} +% for box \cs{L@tbox} to allow footnote calls and microtype action.} +% % Write the dropped capital into the left margin, and wrap % the rest of paragraph around it. % \begin{macrocode} \smash{\llap{\mbox{\L@ante}\raisebox{\L@lraise}{\usebox{\L@lbox}}% \hskip \the\L@Findent}}% - \usebox{\L@tbox}% + \unhcopy\L@tbox\relax % \end{macrocode} % %\changes{v2.22}{2019/03/30}{\cs{parshape} reset added in lists.} @@ -1170,7 +1168,7 @@ %% %% In case you want to set parameters for some letters %% in file `optfile.cfl' -%% \renewcommand{\DefaultOptionsFile}{optfile.cfl} +%%\renewcommand{\DefaultOptionsFile}{optfile.cfl} % \end{macrocode} % \iffalse %</cfg> diff --git a/macros/latex/contrib/lettrine/lettrine.ins b/macros/latex/contrib/lettrine/lettrine.ins deleted file mode 100644 index 4c0c40bc7b..0000000000 --- a/macros/latex/contrib/lettrine/lettrine.ins +++ /dev/null @@ -1,84 +0,0 @@ -%% -%% Copyright (C) 1999-2022 Daniel Flipo. -%% -%% This file will generate fast loadable files and documentation -%% driver files from the doc files in this package when run through -%% LaTeX or TeX. -%% -%% This program can be distributed and/or modified under the terms -%% of the LaTeX Project Public License either version 1.3c of this -%% license or (at your option) any later version. -%% 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. -%% -\def\batchfile{lettrine.ins} -\input docstrip.tex - -{\ifx\generate\undefined -\Msg{**********************************************} -\Msg{*} -\Msg{* This installation requires docstrip} -\Msg{* version 2.3c or later.} -\Msg{*} -\Msg{* An older version of docstrip has been input} -\Msg{*} -\Msg{**********************************************} -\errhelp{Move or rename old docstrip.tex.} -\errmessage{Old docstrip in input path} -\batchmode -\csname @@end\endcsname -\fi} - -\keepsilent -\askforoverwritefalse - -\usedir{tex/latex/lettrine} - -\preamble - -This file is a generated file part of the lettrine package. ------------------------------------------------------------ - -For the copyright see the source file `lettine.dtx'. - -This file can be distributed and/or modified under the terms -of the LaTeX Project Public License either version 1.3c of this -license or (at your option) any later version. -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. - -This work has the LPPL maintenance status "maintained". - -The Current Maintainer of this work is Daniel Flipo. - -Please report errors to: <daniel (dot) flipo (at) free (dot) fr> - -\endpreamble - -\generate{\file{lettrine.sty}{\from{lettrine.dtx}{sty}} - \nopreamble - \file{lettrine.cfg}{\from{lettrine.dtx}{cfg}} - } - -\Msg{***********************************************************} -\Msg{*} -\Msg{* To finish the installation you have to move} -\Msg{* lettrine.sty, lettrine.cfg and the *.cfl files generated} -\Msg{* from contrib.ins into a directory searched by TeX.} -\Msg{*} -\Msg{* If you want to change the default settings, uncomment the} -\Msg{* lines you want in file lettrine.cfg and customize them.} -\Msg{*} -\Msg{* To produce the documentation run lettrine.dtx} -\Msg{* through LuaLaTeX.} -\Msg{*} -\Msg{* Happy TeXing!} -\Msg{*} -\Msg{***********************************************************} - -\endbatchfile -\endinput |