summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/paresse/paresse-eng.tex
blob: d90536535fec2b81ebc4a08d39fbee17f62de206 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
%%
%% 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'.