%% %% This is file `paresse-eng.tex', %% generated with the docstrip utility. %% %% The original source files were: %% %% paresse.dtx (with options: `doc,ENG') %% %% Do not distribute this file without also distributing the %% source files specified above. %% %% Do not distribute a modified version of this file. %% %% File: paresse.dtx %% Copyright (C) 2021 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 %% \RequirePackage{expl3}[2020/09/24] \GetIdInfo$Id: paresse.dtx 5.0.2 2021-05-16 TdS $ {} \documentclass[full, english]{l3doc} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage[french,main=english]{babel} \usepackage{xparse} \usepackage{xspace} \usepackage[tame]{paresse}[2020-10-06] \newcommand*\PS{\texttt{\S}\xspace} \newcommand*\PSVerb[1]{\texttt{\S #1}} \newcommand\BOP{\discretionary{}{}{}} \newcommand\Option[1]{\textsc{#1}} \newcommand{\TO}{\textemdash\ \ignorespaces} \newcommand{\TF}{\unskip\ \textemdash\xspace} \begin{document} \title{\pkg{paresse} user guide\thanks{This file describes version~\ExplFileVersion, last revised~\ExplFileDate. \emph{Adieu to skeyval} edition.}} \author{Yvon Henel\thanks{E-mail: \href{mailto:le.texnicien.de.surface@yvon-henel.fr} {le.texnicien.de.surface@yvon-henel.fr}}} \maketitle \noindent\hrulefill \begin{abstract} This package implements an example from T.~\textsc{Lachand-Robert} in~\cite{tlachand}. It provides a means of typing isolated greek letters with the character \PS activated and redefined. Instead of |\(\alpha\)| one types \PSVerb{a} to obtain \(\alpha\). \textbf{Important}: You have to load it \textbf{after} the \pkg{inputenc} package if the latter is used. Moreover the sign \PS must be a letter for \TeX. Since version~4, one can use this package even with utf8-encoded source for \hologo{LaTeX}, \hologo{LuaLaTeX}, or \hologo{XeLaTeX}. \end{abstract} \noindent\hrulefill \begin{otherlanguage}{french} \begin{abstract} La documentation française pour l'utilisateur de l'extension \pkg{paresse} est disponible sous le nom de \texttt{paresse-fra}. \end{abstract} \end{otherlanguage} \noindent\hrulefill \vspace{\baselineskip} \tableofcontents{} \section{Introduction} \label{sec:introduction} This package provides only a `quick and low-cost' access to greek letters which one can obtain with a macro such as \cs{alpha} or \cs{Omega}. It provides also an environment and a macro which make possible the use of § to type in those letters. Because of an \cs{ensuremath} we are not bound to explicitly enter ---i.e. by typing |$ $| or |\( \)| or else |\[ \]| or anything whatsoever with the same effect--- mathematics mode to obtain a greek letter. The idea of the method is from T.~\textsc{Lachand-Robert} and described in~\cite{tlachand}. I have just add the \cs{ensuremath} which is so agreeable to write macros. There is \emph{no} macros for the lowercase omicron nor for the uppercase alpha, beta\dots{} that one can obtain with the latin roman letters with the same look. I have not had the courage nor the strength to build a solution which would provide a means of obtaining an upright uppercase alpha in a math formula enbedded in an italic boldfaced text. Even if the meaning of the French `paresse' is just `lazyness' I would like to enphasize that the name of this package comes from the fact that the sign § can be used to point at a paragraph and looks like an S. So there is no connection between the name and the not unfrequent sin of the same (French) name\dots{} or maybe\dots{} \subsection{Why a 5th Version?} I was happily using \pkg{paresse} almost every day until when, some days ago, all hell broke loose! I was insulted just by loading \pkg{paresse}. To put it in a nutshell: the culprit is an improvement of the \LaTeXe{} kernel which wreaks havoc in the highly unconventional code of \pkg{skeyval}. As it seems very improbable that that package will be corrected any time soon, I've decided to rewrite some parts of \pkg{paresse} with expl3. So that is why I touch the more than seven-year-old code of this package. With this 5th version come two \emph{sub}-packages: \pkg{paresse-old} and \pkg{paresse-utf8} which are directly loadable. They have the same options and commands as \pkg{paresse} itself. In fact \pkg{paresse} loads one of them according to the situation. One will use \pkg{paresse-utf8} if and only if the source is utf-8 encoded and compiled with \texttt{latex} i.~e. with the \TeX-engine and the \LaTeX{} format. In all other case, on will use \pkg{paresse-old}. The documentation of \pkg{paresse} covers the use of the three packages. \subsection{Why a 4th Version?} I don't remember exactly on what occasion \TO age, disk crash and computer mishap aiding\TF and even less when \TO more than a year ago, I'm afraid\footnote{I wrote this section in 2013 when the 4th version was published.}\TF Christian \textsc{Tellechea} wrote me that he would be glad to use \pkg{paresse} in his utf-8 encoded sources with \hologo{LaTeX} \TO not with \hologo{XeLaTeX} nor \hologo{LuaLaTeX}. We exchanged emails, Christian sent me working material. He even made me the gift of two versions, the second better for the identification of the encoding passed, as an option, to \pkg{inputenc}. However I procrastinated. My personal life and my job may have interfered with the development of this package. At last, here is the thing. The newest feature should escape the user of \hologo{LuaLaTeX} or \hologo{XeLaTeX} and even of \hologo{LaTeX} loading \pkg{inputenc} with an option such as \texttt{latin1} or \texttt{latin9}. However, henceforth, one can use this package with \hologo{LaTeX} loading \pkg{inputenc} with option \texttt{utf8}. I take advantage of this new version to add a \PS-macro: \PSVerb{Z} which produces \S, symbol already available with |\S|, so I don't dare to present it as a real ``shortcut''. \subsection{Why a 3rd Version?} With a mail Claudio \textsc{Beccari} kindly informed me that there was an encoding of the greek alphabet with latin letters some 15~years before I commited this extension. This encoding was devised by Sylvio \textsc{Levi} who, at the time, was designing the first greek font for \TeX, using the correspondance between greek and US keyboard. Claudio wrote to me, and I can't but agree with him, that if one is used to \textsc{Levi}'s encoding, one would rather keep one's habit in order to use \pkg{paresse}. I, then, decided to provide a new couple of mutually exclusive options: the first one is \Option{legacy} with which one obtain the original encoding of this extension and which is active by default, the other one is \Option{Levi} which provides Sylvio \textsc{Levi}'s encoding. I take advantage of this update to make some cosmetic changes: from now on all inner \emph{secret} macros\footnote{Macros \emph{à la mode} \LaTeXe{}. As of version~5.0, partially \emph{translated} in expl3, when dealing with expl3 commands and variables I use the prefix \texttt{paresse}.} have a name which begins with \cs{GA@}; the |.dtx| file is reorganised to facilitate the translation of the documentation. \section{Usage} One loads the package with |\usepackage{paresse}|. When one uses \hologo{LaTeX} with an 8-bit encoded source (e.g. \texttt{latin9}), one must load \pkg{paresse} \textbf{after} the package \pkg{inputenc} whith the correct option. In all cases the sign § must be recognised as a letter by \TeX. One will obtain the same behaviour, but for the exception pointed out in paragraph \textbf{restriction} on page~\pageref{restriction}, with \pkg{inputenc} and option \texttt{utf8}. There is no such restriction when one compiles with \hologo{LuaLaTeX} or \hologo{XeLaTeX} a source encoded in utf-8. By default the package is loaded with option |wild| and so the macros such as |§a| are immediately available. If one prefers one can choose the option \Option{tame} by writing |\usepackage[tame]|\BOP|{paresse}|. One must then use the command \cs{ActiveLaParesse} or the environment |ParesseActive| to use the `§-macros'. When `paresse' is active, one has just to type |§a| in to obtain \(\alpha\). One has access, by the same means, to all the other greek letters to which a macro is devoted such as \cs{alpha}, see the tables~\ref{codageorig} and~\ref{codagelevi}. One obtains \(\alpha^{\beta}\) with |\(§a^{§b}\)| when § is active. \paragraph{Restriction} One will note that the curly braces are \emph{not} compulsory and that one obtains the same result with just |\(§a^§b\)| \textbf{unless} one uses a utf-8 encoded source with \hologo{LaTeX}.\label{restriction} \section{The Package Options} \label{sec:keys} In the margin the default options are in boldface. \begin{itemize} \item \Option{tame} \DescribeOption{tame / \textbf{wild}} is the contrary of \Option{wild} which is the option by default. When \Option{tame} reigns, one \textbf{must} use an environment |ParesseActive| or a command \cs{ActiveLaParesse} in order to use the §-macros. \item \Option{Levi} \DescribeOption{\textbf{legacy} / Levi} is the contrary of \Option{legacy} which is the default. With \Option{legacy} one uses the original encoding of \pkg{paresse} as it is given by the table~\ref{codageorig}. If the option \Option{Levi} is enforced, one uses the Sylvio \textsc{Levi} encoding, see the table~\ref{codagelevi}. \item \Option{ttau} \DescribeOption{ttau / \textbf{ttheta}} is the contrary of \Option{ttheta} which is selected by default. When \Option{ttheta} is active |§t| gives \(\theta\) in the contrary |§t| gives \(\tau\). In all cases, \(\theta\) is given by |§v| and \(\tau\) by |§y|. That option is ineffective when one has chosen \Option{Levi}. \textbf{Remark:} when one has chosen the option \Option{legacy}, \(\Theta\) is `regularly' obtained with |§V| and \emph{also} with |§T| whatever is the chosen option. In the case of the option \Option{Levi}, |§V| doesn't correspond to any greek letter. \item \Option{epsilon} \DescribeOption{epsilon / \textbf{varepsilon}} is the contrary of \Option{varepsilon} which is selected by default. With \Option{epsilon}, |§e| gives \(\epsilon\) otherwise |§e| gives \(\varepsilon\). \item The following `couples' behave as \Option{epsilon}, \Option{varepsilon}: \Option{theta} and \Option{vartheta}; \Option{pi} and \Option{varpi}; \Option{rho} and \Option{varrho}; \Option{sigma} and \Option{varsigma}; \Option{phi} and \Option{varphi}. \end{itemize} The default options are \Option{varepsilon}, \Option{theta}, \Option{pi}, \Option{rho}, \Option{sigma}, \Option{varphi}, \Option{wild} and \Option{legacy}. That ensures that this 3rd version behaves, by default, as the preceding one. \section{Commands and Environment} \DescribeMacro{\makeparesseletter} This command gives the letter-catcode to the `character' §. After that one can use § in the name of a macro, for instance. It corresponds to the well-known |\makeatletter|. \DescribeMacro{\makeparesseother} This macro gives the catcode \emph{other} to the character §. It is the `contrary' of the preceding one. It corresponds to |\makeatother|. This macro is inactivated when one uses a utf-8 encoding with \hologo{LaTeX}. In such a case it wouldn't have a clear meaning. When used it issues a warning in the |.log| file. \DescribeMacro{\ActiveLaParesse} This macro makes § active and thus enable one to access the macros the name of which begins with § such as |§a|. A list of these macros and theirs meanings is given in the tables~\ref{codageorig} and~\ref{codagelevi}. \DescribeEnv{ParesseActive} In this environment § is active and one can use the §-macros. One could use this environment if one want to use the §-macros when the package \texttt{paresse} is loaded whith the option \texttt{tame}. \newpage{} \section{Tables of the Macros} \subsection{\pkg{paresse}'s Original Encoding} This is the active encoding when one choses the options \Option{legacy} and \Option{ttheta} which are the default. This version~5.0 adds \(\varsigma\) obtained with \PSVerb{j}. \begin{center}\Large \begin{ParesseActive} \label{codageorig} \begin{tabular}{*4{||>{\ttfamily \S}c|c}||}\hline a & §a & b & §b & g & §g & d & §d\\ \hline e & §e & z & §z & h & §h & v & §v\\ \hline i & §i & k & §k & l & §l & m & §m\\ \hline n & §n & x & §x & p & §p & r & §r\\ \hline s & §s & y & §y & u & §u & f & §f\\ \hline c & §c & q & §q & w & §w & j & §j\\ \hline\hline G & §G & D & §D & V & §V & L & §L\\ \hline X & §X & P & §P & S & §S & U & §U\\ \hline F & §F & Q & §Q & W & §W & Z & §Z\\ \hline \end{tabular} \end{ParesseActive} \end{center} \vspace{2\baselineskip} \begin{center}\Large \begin{ParesseActive} \label{codageorig} \begin{tabular}{*7{||>{\ttfamily \S}c|c}||}\hline a&§a&b&§b&c&§c&d&§d&e&§e&f&§f\\ \hline g&§g&h&§h&i&§i&j&§j&k&§k&l&§l\\ \hline m&§m&n&§n&o& &p&§p&q&§q&r&§r\\ \hline s&§s&t&§t&u&§u&v&§v&w&§w&x&§x\\ \hline y&§y&z&§z&A& &B& &C& &D&§D\\ \hline E& &F&§F&G&§G&H& &I& &J& \\ \hline K& &L&§L&M& &N& &O& &P&§P\\ \hline Q&§Q&R& &S&§S&T&§T&U&§U&V&§V\\ \hline W&§W&X&§X&Y& &Z&§Z&\multicolumn{4}{c||}{}\\ \hline \end{tabular} \end{ParesseActive} \end{center} \paragraph{Remarks : } all the latin letters used in the name of the §-macros, but for {\ActiveLaParesse §v, §y, §q and §j}, are loaded with reminiscences, I hope \texttt{:-)} and the greek uppercases are obtained with the (latin) corresponding uppercases. \pagebreak[4] \subsection{Sylvio \textsc{Levi}'s Encoding} One make this encoding active with the option \Option{Levi}. \begin{center}\Large \begin{ParesseActive} \label{codagelevi} \begin{tabular}{*4{||>{\ttfamily \S}c|c}||}\hline a & §a & b & §b & g & §g & d & §d\\ \hline e & §e & z & §z & h & §h & j & §v\\ \hline i & §i & k & §k & l & §l & m & §m\\ \hline n & §n & x & §x & p & §p & r & §r\\ \hline s & §s & t & §y & u & §u & f & §f\\ \hline q & §c & y & §q & w & §w & c & \(\varsigma\)\\ \hline\hline G & §G & D & §D & J & §V & L & §L\\ \hline X & §X & P & §P & S & §S & U & §U\\ \hline F & §F & Y & §Q & W & §W & Z & §Z\\ \hline \end{tabular} \end{ParesseActive} \end{center} Sylvio \textsc{Levi}'s encoding gives a direct acces to \cs{varsigma} (\(\varsigma\)) with |§||c| and is different from the original encoding just for the letters {\ActiveLaParesse §v, §y, §c et §q}. Here is a summary of theses differences: \begin{center} \newcommand\CT[1]{\multicolumn{1}{c|}{\texttt{#1}}} \begin{ParesseActive} \begin{tabular}{|l|*{7}{c|}}\hline greek letters & §v & §y & §c & §q & §V & §Q & \(\varsigma\)\\\hline original encoding &\CT{\S{}v/\S{}t}&\CT{\S{}y/\S{}t}&\CT{\S{}c} &\CT{\S{}q}&\CT{\S{}V/\S{}T}&\CT{\S{}Q}& \CT{\S{}j} \\\hline S. \textsc{Levi}'s encoding &\CT{\S{}j}&\CT{\S{}t}&\CT{\S{}q}&\CT{\S{}y} &\CT{\S{}J}&\CT{\S{}Y} & \CT{\S{}c}\\\hline \end{tabular} \end{ParesseActive} \end{center} \vspace{\stretch{2}} \begin{thebibliography}{99} \addcontentsline{toc}{section}{Bibliographie} \bibitem{tlachand} T.~\textsc{Lachand-Robert}. \emph{La maîtrise de \TeX{} et \LaTeX{}}. Masson, Paris, Milan, Barcelone, \oldstylenums{1995}. \textsc{isbn} : \texttt{2-225-84832-7}. \end{thebibliography} \vspace{\stretch{2}} \noindent\hspace*{0.2\textwidth}\hrulefill\hspace*{0.2\textwidth} \begin{center} \textsl{Le TeXnicien de Surface scripsit.} \end{center} \noindent\hspace*{0.2\textwidth}\hrulefill\hspace*{0.2\textwidth} \vspace*{\stretch{2}} \end{document} \endinput %% %% End of file `paresse-eng.tex'.