diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/paresse/paresse.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/paresse/paresse.sty | 324 |
1 files changed, 232 insertions, 92 deletions
diff --git a/Master/texmf-dist/tex/latex/paresse/paresse.sty b/Master/texmf-dist/tex/latex/paresse/paresse.sty index 82e02574f6d..82be60deaa7 100644 --- a/Master/texmf-dist/tex/latex/paresse/paresse.sty +++ b/Master/texmf-dist/tex/latex/paresse/paresse.sty @@ -4,109 +4,249 @@ %% %% The original source files were: %% -%% paresse.dtx (with options: `common,package') -%% This is a generated file. +%% paresse.dtx (with options: `package,MAIN') %% -%% Copyright (C) 2011, 2013 -%% by Yvon Henel, alias le TeXnicien de surface -%% <le.texnicien.de.surface@wanadoo.fr> +%% Do not distribute this file without also distributing the +%% source files specified above. %% -%% This file may be distributed and/or modified under the conditions of -%% the LaTeX Project Public License, either version 1.2 of this license -%% or (at your option) any later version. The latest version of this -%% license is in: +%% Do not distribute a modified version of this file. %% +%% File: paresse.dtx +%% Copyright (C) 2020 Yvon Henel aka Le TeXnicien de surface +%% +%% It may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License (LPPL), either version 1.3c of this +%% license or (at your option) any later version. The latest version +%% of this license is in the file +%% %% http://www.latex-project.org/lppl.txt -%% -%% and version 1.2 or later is part of all distributions of LaTeX -%% version 1999/12/01 or later. -\NeedsTeXFormat{LaTeX2e}[1999/12/01] -\def\fileversion{v4.1} -\def\filedate{2013/02/16} -\def\fileinfo{fichier paresse par le TeXnicien de surface} -\ProvidesPackage{paresse} - [\filedate\space\fileversion\space\fileinfo] -\RequirePackage{skeyval-bc} -\RequirePackage{ifluatex} -\RequirePackage{ifxetex} -\define@bitogkeys[GA]{paresse.sty}[GA@]{legacy}[true]{levi}{}{} -\define@bitogkeys[GA]{paresse.sty}[GA@]{wild}[true]{tame}{}{} -\define@bitogkeys[GA]{paresse.sty}[GA@]{ttau}[true]{ttheta}{}{} -\define@bitogkeys[GA]{paresse.sty}[GA@]{varepsilon}[true]{epsilon}{}{} -\define@bitogkeys[GA]{paresse.sty}[GA@]{varphi}[true]{phi}{}{} -\define@bitogkeys[GA]{paresse.sty}[GA@]{pi}[true]{varpi}{}{} -\define@bitogkeys[GA]{paresse.sty}[GA@]{sigma}[true]{varsigma}{}{} -\define@bitogkeys[GA]{paresse.sty}[GA@]{rho}[true]{varrho}{}{} -\define@bitogkeys[GA]{paresse.sty}[GA@]{theta}[true]{vartheta}{}{} -\DeclareOptionX*{\PackageError{paresse} {The option "\CurrentOption" - is not known!\MessageBreak The default options are:\MessageBreak - legacy, varepsilon, theta, pi, rho, sigma, and varphi.}% - {Choose between `wild' (for an active Paresse in all the document) - \MessageBreak and `tame', so that the character obtained by - \string\S\MessageBreak prints the section symbol \string\S). - \MessageBreak See the documentation for other options.}} -\ExecuteOptionsX[GA]{legacy,wild,varepsilon,theta,pi,rho,sigma,varphi} -\ProcessOptionsX[GA]\relax -\iftogon{GA@varepsilon}{% - \def\GA@epsilon{\varepsilon}}{\def\GA@epsilon{\epsilon}} -\iftogon{GA@vartheta}{\def\GA@theta{\vartheta}}{\def\GA@theta{\theta}} -\iftogon{GA@varpi}{\def\GA@pi{\varpi}}{\def\GA@pi{\pi}} -\iftogon{GA@varrho}{\def\GA@rho{\varrho}}{\def\GA@rho{\rho}} -\iftogon{GA@varsigma}{\def\GA@sigma{\varsigma}}{\def\GA@sigma{\sigma}} -\iftogon{GA@varphi}{\def\GA@phi{\varphi}}{\def\GA@phi{\phi}} +%% +\RequirePackage{expl3}[2020/09/24] +\GetIdInfo$Id: paresse.dtx 5.0 2020-10-06 TdS $ + {} +\ProvidesExplPackage + {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} +\RequirePackage{xparse} +\RequirePackage{l3keys2e} +\RequirePackage{iftex} +\keys_define:nn {paresse} +{ + encoding_is_legacy .bool_set:N = \g__paresse_encoding_is_legacy_bool, + encoding_is_levi .bool_set_inverse:N = + \g__paresse_encoding_is_legacy_bool, + legacy .meta:n = { + encoding_is_legacy = #1 + }, + legacy .default:n = {true}, + legacy .initial:n = {true}, + levi .meta:n = { + encoding_is_levi = #1 + }, + levi .default:n = {true}, + levi .initial:n = {false}, + + mood_is_wild .bool_set:N = \g__paresse_mood_is_wild_bool, + mood_is_tame .bool_set_inverse:N = + \g__paresse_mood_is_wild_bool, + wild .meta:n = { + mood_is_wild = #1 + }, + wild .default:n = {true}, + wild .initial:n = {true}, + tame .meta:n = { + mood_is_tame = #1 + }, + tame .default:n = {true}, + tame .initial:n = {false}, + + letter_t_is_theta .bool_set:N = \g__paresse_letter_t_is_theta_bool, + letter_t_is_tau .bool_set_inverse:N = + \g__paresse_letter_t_is_theta_bool, + theta .meta:n = { + letter_t_is_theta = #1 + }, + theta .default:n = {true}, + theta .initial:n = {true}, + tau .meta:n = { + letter_t_is_tau = #1 + }, + tau .default:n = {true}, + tau .initial:n = {false}, + + letter_theta_is_theta .bool_set:N = \g__paresse_letter_theta_is_theta_bool, + letter_theta_is_vartheta .bool_set_inverse:N = + \g__paresse_letter_theta_is_theta_bool, + theta .meta:n = { + letter_theta_is_theta = #1 + }, + theta .default:n = {true}, + theta .initial:n = {true}, + vartheta .meta:n = { + letter_theta_is_vartheta = #1 + }, + vartheta .default:n = {true}, + vartheta .initial:n = {false}, + + letter_pi_is_pi .bool_set:N = \g__paresse_letter_pi_is_pi_bool, + letter_pi_is_varpi .bool_set_inverse:N = + \g__paresse_letter_pi_is_pi_bool, + pi .meta:n = { + letter_pi_is_pi = #1 + }, + pi .default:n = {true}, + pi .initial:n = {true}, + varpi .meta:n = { + letter_pi_is_varpi = #1 + }, + varpi .default:n = {true}, + varpi .initial:n = {false}, + + letter_rho_is_rho .bool_set:N = \g__paresse_letter_rho_is_rho_bool, + letter_rho_is_varrho .bool_set_inverse:N = + \g__paresse_letter_rho_is_rho_bool, + rho .meta:n = { + letter_rho_is_rho = #1 + }, + rho .default:n = {true}, + rho .initial:n = {true}, + varrho .meta:n = { + letter_rho_is_varrho = #1 + }, + varrho .default:n = {true}, + varrho .initial:n = {false}, + + letter_sigma_is_sigma .bool_set:N = \g__paresse_letter_sigma_is_sigma_bool, + letter_sigma_is_varsigma .bool_set_inverse:N = + \g__paresse_letter_sigma_is_sigma_bool, + sigma .meta:n = { + letter_sigma_is_sigma = #1 + }, + sigma .default:n = {true}, + sigma .initial:n = {true}, + varsigma .meta:n = { + letter_sigma_is_varsigma = #1 + }, + varsigma .default:n = {true}, + varsigma .initial:n = {false}, + + letter_epsilon_is_epsilon .bool_set:N = + \g__paresse_letter_epsilon_is_epsilon_bool, + letter_epsilon_is_varepsilon .bool_set_inverse:N = + \g__paresse_letter_epsilon_is_epsilon_bool, + epsilon .meta:n = { + letter_epsilon_is_epsilon = #1 + }, + epsilon .default:n = {true}, + epsilon .initial:n = {false}, + varepsilon .meta:n = { + letter_epsilon_is_varepsilon = #1 + }, + varepsilon .default:n = {true}, + varepsilon .initial:n = {true}, + + letter_phi_is_phi .bool_set:N = \g__paresse_letter_phi_is_phi_bool, + letter_phi_is_varphi .bool_set_inverse:N = + \g__paresse_letter_phi_is_phi_bool, + phi .meta:n = { + letter_phi_is_phi = #1 + }, + phi .default:n = {true}, + phi .initial:n = {false}, + varphi .meta:n = { + letter_phi_is_varphi = #1 + }, + varphi .default:n = {true}, + varphi .initial:n = {true}, +} +\ProcessKeysOptions {paresse} +\bool_if:nTF {\g__paresse_letter_epsilon_is_epsilon_bool} +{\cs_new:Npn \__paresse_epsilon {\epsilon}} +{\cs_new:Npn \__paresse_epsilon {\varepsilon}} + +\bool_if:nTF {\g__paresse_letter_theta_is_theta_bool} +{\cs_new:Npn \__paresse_theta {\theta}} +{\cs_new:Npn \__paresse_theta {\vartheta}} + +\bool_if:nTF {\g__paresse_letter_pi_is_pi_bool} +{\cs_new:Npn \__paresse_pi {\pi}} +{\cs_new:Npn \__paresse_pi {\varpi}} + +\bool_if:nTF {\g__paresse_letter_rho_is_rho_bool} +{\cs_new:Npn \__paresse_rho {\rho}} +{\cs_new:Npn \__paresse_rho {\varrho}} + +\bool_if:nTF {\g__paresse_letter_sigma_is_sigma_bool} +{\cs_new:Npn \__paresse_sigma {\sigma}} +{\cs_new:Npn \__paresse_sigma {\varsigma}} + +\bool_if:nTF {\g__paresse_letter_phi_is_phi_bool} +{\cs_new:Npn \__paresse_phi {\phi}} +{\cs_new:Npn \__paresse_phi {\varphi}} + +\bool_new:c {g__paresse_file_encoding_is_utf8_bool} +\cs_new:Nn \__paresse_main_package_loaded: {} \ifluatex - \PackageInfo{paresse}{compiling with luatex} - \InputIfFileExists{paresseold.sto}{% - \PackageInfo{paresse}{paresseold loaded}}{% - \PackageInfo{paresse}{paresseold not loaded}} +\PackageInfo{paresse}{compiling~with~luatex} +\RequirePackageWithOptions{paresse-old} +\else +\ifxetex +\PackageInfo{paresse}{compiling~with~xetex} +\RequirePackageWithOptions{paresse-old} \else - \ifxetex - \PackageInfo{paresse}{compiling with xetex} - \InputIfFileExists{paresseold.sto}{% - \PackageInfo{paresse}{paresseold loaded}}{% - \PackageInfo{paresse}{paresseold not loaded}} - \else -\newcommand\encoding@error{% - \@latex@error{% - paresse needs inputenc loaded with option "utf8" - or option such as "latin1" (8 bits encodign).}{}\stop} -\@ifpackageloaded{inputenc}\relax -{\PackageError{paresse}{% - Please, load inputenc package before paresse}{% - With LaTeX, "paresse" needs to know the encoding to work well and so - the package "inputenc" must be loaded, with \string\usepackage, before - loading "paresse" itself}} -\AtBeginDocument{% - \@ifpackageloaded{inputenc}\find@encoding\encoding@error} -\newtog[GA@]{utf8}[false] -\newcommand\find@encoding{% + +\PackageInfo{paresse}{compiling~with~tex} + +\newcommand\default@encoding@message{ + \bool_gset_true:c {g__paresse_file_encoding_is_utf8_bool} + \PackageWarningNoLine{paresse}{ + The~package~"paresse"~expects~a~"utf8"~encoded~file.~ + In~case~of~an~8~bits~encoding,~ + please~use~inputenc~with~the~correct~option} +} + +\newcommand\find@encoding{ \begingroup - \def\utf@encoding{utf8}% - \def\temp@a{\togoff{GA@utf8}% - \PackageInfo{paresse}{8-bit encoding expected\@gobble}} + \def\utf@encoding{utf8} + \def\temp@a{ + \bool_gset_false:c {g__paresse_file_encoding_is_utf8_bool} + \PackageInfo{paresse}{8-bit~encoding~expected\@gobble} + } \ifx\utf@encoding\inputencodingname - \def\temp@a{\togon{GA@utf8}% - \PackageInfo{paresse}{utf8 encoding detected\@gobble}} + \def\temp@a{ + \bool_gset_true:c {g__paresse_file_encoding_is_utf8_bool} + \PackageInfo{paresse}{utf8~encoding~detected\@gobble} + } \fi \expandafter\endgroup\temp@a} -\AtBeginDocument{% + +\@ifpackageloaded{inputenc} +{ + \PackageInfo{paresse}{inputenc~loaded} +} +{ + \PackageInfo{paresse}{inputenc~not~loaded,~utf8~expected\@gobble} +} + +\AtBeginDocument +{ + \@ifpackageloaded{inputenc} \find@encoding \default@encoding@message + \ExplSyntaxOn \makeatletter - \iftogoff{GA@utf8}{% - \InputIfFileExists{paresseold.sto}{% - \PackageInfo{paresse}{old loaded\@gobble}}{% - \PackageError{paresse}{paresseold.sto not found}{% - The package "paresse" needs to load the file "paresseold.sto" - but can't find it. Something seems to be broken in your TeX - system}}}{% - \InputIfFileExists{paresseutf8.sto}{% - \PackageInfo{paresse}{utf8 loaded\@gobble}}{% - \PackageError{paresse}{paresseutf8 not found}{% - The package "paresse" needs to load the file "paresseutf8.sto" - but can't find it. Something seems to be broken in your TeX - system}}} - \makeatother} -\fi -\fi + \bool_if:nTF {\use:c{g__paresse_file_encoding_is_utf8_bool}} + { + \PackageInfo{paresse}{charge~utf8} + \RequirePackageWithOptions{paresse-utf8} + } + { + \PackageInfo{paresse}{charge~vieux} + \RequirePackageWithOptions{paresse-old} + } + \makeatother + \ExplSyntaxOff +} + +\fi % END OF ifxetex +\fi % END OF ifluatex \endinput %% %% End of file `paresse.sty'. |