diff options
author | Norbert Preining <norbert@preining.info> | 2020-10-09 03:02:16 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2020-10-09 03:02:16 +0000 |
commit | 1f42d0c83e745c8ee0454060ea03fbb886e77ce5 (patch) | |
tree | 4a556cfc662424e929c903ee8f70b8051e2fa9ab /macros | |
parent | d7d6de5b9de5d5d8a6d6b740ae5f7d4101e5e40d (diff) |
CTAN sync 202010090302
Diffstat (limited to 'macros')
37 files changed, 2639 insertions, 4396 deletions
diff --git a/macros/latex/contrib/auto-pst-pdf/README b/macros/latex/contrib/auto-pst-pdf/README.txt index bb94a383e9..25c2b2f3f5 100644 --- a/macros/latex/contrib/auto-pst-pdf/README +++ b/macros/latex/contrib/auto-pst-pdf/README.txt @@ -1,11 +1,9 @@ -________________________ +======================== The auto-pst-pdf package -v0.6 2009/04/26 -This package uses -shell-escape (or "write18") to -automatically perform the extra compilations -required for the "pst-pdf" package. +2020/10/08 v0.7 +The package uses `-shell-escape` to execute `pst-pdf`. This makes it especially easy to integrate into the workflow of an editor with just "LaTeX" and "pdfLaTeX" buttons. @@ -15,8 +13,8 @@ features so that Matlab figures via laprint, Mathematica figures via MathPSfrag, and regular psfrag figures can all be input consistently and easily. -Will Robertson - wspr 81 at gmail dot com +Will Robertson Johannes Große -Copyright 2007 +Copyright (C) 2007-2020 Distributed under the LaTeX Project Public License diff --git a/macros/latex/contrib/auto-pst-pdf/auto-pst-pdf-DE.pdf b/macros/latex/contrib/auto-pst-pdf/auto-pst-pdf-DE.pdf Binary files differdeleted file mode 100644 index dc05ffa539..0000000000 --- a/macros/latex/contrib/auto-pst-pdf/auto-pst-pdf-DE.pdf +++ /dev/null diff --git a/macros/latex/contrib/auto-pst-pdf/auto-pst-pdf-DE.tex b/macros/latex/contrib/auto-pst-pdf/auto-pst-pdf-DE.tex deleted file mode 100644 index 5f472def3e..0000000000 --- a/macros/latex/contrib/auto-pst-pdf/auto-pst-pdf-DE.tex +++ /dev/null @@ -1,477 +0,0 @@ -\documentclass{ltxdoc}
-\usepackage[ngerman]{babel}
-%\usepackage[latin9]{inputenc}
-\usepackage[latin1]{inputenc}
-\usepackage[svgnames]{xcolor}
-\usepackage{array,booktabs,calc,enumitem,fancyvrb,hyperref}
-\usepackage[off]{auto-pst-pdf}
-\usepackage[sc,osf]{mathpazo}
-\usepackage{listings}
-\usepackage{hyperref}
-\hypersetup{colorlinks,linkcolor=black,urlcolor=black}
-
-\linespread{1.1}
-\frenchspacing
-
-\definecolor{niceblue}{rgb}{0.2,0.4,0.8}
-\def\theCodelineNo{\textcolor{niceblue}{\sffamily\tiny\arabic{CodelineNo}}}
-
-\newcommand*\name[1]{{#1}}
-\newcommand*\pkg[1]{\textsf{#1}}
-\newcommand*\feat[1]{\texttt{#1}}
-\newcommand*\opt[1]{\texttt{#1}}
-
-\newcommand\note{\unskip\footnote}
-
-\let\latin\textit
-\def\eg{\latin{e.g.}}
-\def\Eg{\latin{E.g.}}
-\def\ie{\latin{i.e.}}
-\def\etc{\@ifnextchar.{\latin{etc}}{\latin{etc.}\@}}
-
-\def\DVI{\textsc{dvi}}
-\def\PDF{\textsc{pdf}}
-\def\EPS{\textsc{eps}}
-
-\def\MacOSX{Mac~OS~X}
-\def\ascii{\textsc{ascii}}
-\def\CTAN{\textsc{ctan}}
-
-
-\begin{document}
-
-
-\title{The \pkg{auto-pst-pdf} package-Dokumentation}
-\author{Will Robertson \& Johannes Gro\ss{}e\\
-(\small übersetzt von Gérome Bochmann und Christine Römer)\\
-\texttt{\color{gray}wspr 81 at gmail dot com}}
-\date{2009/0426 \qquad v0.6}
-
-\maketitle
-
-Copyright (C) 2007 by Will Robertson \& Johannes Große
-
-~\\
-Verteilt unter der LaTeX Project Public License,
-Version 1.3c oder höher (ihrer Wahl). Die letzte Version
-ist hier : \url{http://www.latex-project.org/lppl.txt}
-
-~\\
-Dieses Paket ist "`maintained"' (per LPPL maintenance status)
-von Will Robertson.
-
-~\\
-Es arbeitet mit \texttt{auto-pst-pdf.dtx}\\
-und den abgeleiteten Dateien \texttt{auto-pst-pdf.pdf,\\
-auto-pst-pdf.sty} und \texttt{auto-pst-pdf.ins}.
-
-
-\part{\pkg{auto-pst-pdf} User Guide}
-\section{Zukünftige Entwicklung}
-
-Dieses Paket wird nicht aktiv weiterentwickelt (obwohl ich (Will Robertson) gern kleinere Funktionen einfügen und Fehler behebe). \pkg{auto-pst-pdf} wurde von mir geschrieben, um die Benutzung von \pkg{psfrag} in pdf\/\LaTeX-Dokumenten zu erleichtern. Diese Funktion wird durch das neuere \pkg{pstool}-Paket viel effizienter und bequemer umgesetzt. Ich empfehle daher die Benutzung von \pkg{pstools}, sofern Sie \pkg{auto-pst-pdf} wegen dieser Funktion verwenden. Allerdings unterstützt \pkg{pstool} die Verwendung von \pkg{pst-pdf} noch nicht ausreichend, so dass \pkg{auto-pst-pdf} bis jetzt noch nicht völlig überflüssig ist.\par
-
-\section{Grundlagen}
-
-Dieses Paket bietet einen Wrapper (eine "`Hülle"') für \pkg{pst-pdf}, damit das Setzen von \DVI\ oder \PDF\ erleichtert wird. Wenn man mit pdf\/\LaTeX\ generiert, sorgt die standardmäßige Paketoption |[on]| automatisch dafür, dass die zusätzlichen Schritte \LaTeX $\to$ |dvips| $\to$ |ps2pdf| $\to$ |pdfcrop| in der Kompilierung ausgeführt und so die benötigen \PDF\-Bilder für das Dokument erzeugt werden.\par
-
-Sobald die Bilder einmal generiert wurden und bereits vorliegen, kann diese Option im Paket mit |[off]| abgeschaltet werden, um Zeit beim Kompilieren zu sparen:
-\begin{verbatim}
-\usepackage[off]{auto-pst-pdf}
-\end{verbatim}
-
-\noindent
-Sollte die Dateierweiterung ihres \LaTeX\-Dokumentes nicht |.tex| sein, dann muss dies beim Laden des Paketes angegeben werden (Ich benutze z.\,B. |.ltx|, um zwischen \TeX\- und \LaTeX\-Dateien zu unterscheiden):\par
-\begin{verbatim}
-\usepackage[ext=ltx]{auto-pst-pdf}
-\end{verbatim}
-
-
-\section{Vorraussetzungen}
-
-pdf\TeX\ muss mit der Option |-shell-escape| aufgerufen werden. Dazu werden die folgenden Pakete benötigt: \pkg{ifplatform}, \pkg{pst-pdf}, \pkg{xkeyval}.
-
-Für die Default-Option {\color{niceblue}|crop=on|} muss das |pdfcrop|- Perlscript\note{\url{http://www.ctan.org/tex-archive/support/pdfcrop/}} von Heiko Oberdiek installiert sein. Obwohl \pkg{pdfcrop} zur MiK\TeX-Distribution gehört, wird unter MS Windows außerdem eine Perl-Installation\note{Frei verfügbar unter: \url{http://www.activestate.com/Products/activeperl/index.plex}} nötig sein.
-
-\section{Verfügbare Makros zum Einfügen von Grafiken}
-
-Darstellungen, die mit dem \textsc{Matlab}-Paket \pkg{labprint}\note{\url{http://www.uni-kassel.de/fb16/rat/matlab/laprint/}} und dem Mathematica-Paket \pkg{MathPSfrag}\note{\url{http://wwwth.mppmu.mpg.de/members/jgrosse/mathpsfrag/}} erstellt wurden, können mithilfe der Makros sehr leicht eingefügt werden. Es steht außerdem ein Wrapper für ein generisches \pkg{psfrag}\note{\url{http://www.ctan.org/tex-archive/help/Catalogue/entries/psfrag.html}} zur Verfügung.
-
-\begin{trivlist}\item[]
-\begin{tabular}{@{\hskip 2em}lp{7cm}}
-\cmd\mathfig\marg{filename} & \raggedright
-eine Mathematica-Grafik von \pkg{MathPSfrag} einfügen
-(ohne |-psfrag| Suffix)\arraybackslash \\
-\cmd\matlabfig\marg{filename} &
-Eine \textsc{Matlab}-Grafik aus \pkg{laprint} einfügen\\
-\cmd\psfragfig\marg{filename} &
-Ein \EPS\ mit \pkg{psfrag} einfügen
-\end{tabular}
-\end{trivlist}
-
-Die oben stehenden Befehle akzeptieren alle ein optionales Argument, das an das darunterliegende Makro \cmd\includegraphics\ weitergereicht wird.
-
-Der Befehl \cmd\matlabfig\ "`vermurkst"' die Ausgabe von \pkg{labprint} ein wenig, sodass die Schriftgrade in der Abbildung entsprechend der ursprünglichen Definition ausfallen. (Ich fürchte, das lässt sich nicht vermeiden.)
-Die \pkg{psfrag}-statements für den Befehl \cmd\psfragfig\ werden entweder mithilfe einer von beiden oder mit den beiden Dateien \meta{document}|-psfrag.tex| und \meta{filename}|-psfrag.tex| übergeben, sofern diese existieren. Ansonsten können zusätzliche \cmd\psfrag\-Statements mithilfe eines angehängten, optionalen Arguments hinzugefügt werden:
-
-|\psfragfig|\oarg{graphics options}\marg{filename}\oarg{psfrag statements}
-
-\section{Fortgeschrittene Paketfunktionen}
-
-Man kann bessere Ergebnisse erzielen, wenn man |pdfcrop| während der Hilfskompilierung verwendet, was eigentlich standardmäßig auch getan wird. |pdfcrop| wird jedoch nicht standardmäßig mit installiert und auch nicht immer gebraucht. Das "`Cropping"' mit |pdfcrop| kann mithilfe der entsprechenden Option gesteuert werden:
-\begin{verbatim}
-\usepackage[crop=off]{auto-pst-pdf}
-\end{verbatim}
-
-Das Paket löscht die während der \LaTeX-Hilfskompilierung generierten Dateien automatisch. Welche Dateien gelöscht werden, kann mit einer Liste von Dateierweiterungen gesteuert werden, die an die |cleanup|-Option übergeben wird (es wird keine Warnung oder Fehlermeldung ausgegeben, wenn ein Dateityp angegeben wird, der nicht existiert). Dies ist die Standardliste:
-\begin{verbatim}
-\usepackage[cleanup={log,aux,dvi,ps,pdf}]{auto-pst-pdf}
-\end{verbatim}
-
-Wenn innerhalb der Grafiken, die von \pkg{pst-df} verarbeitet werden, Querverweise verwendet werden, ist es nötig, die Zusatzkompilierung mehr als einmal durchzuführen, damit die Querverweise übernommen werden. Die Zahl hängt von der Anwendung ab und muss explizit definiert werden:
-\begin{verbatim}
-{\color{gray}|
-|\usepackage[|\color{niceblue}|runs=2|\color{gray}|]{auto-pst-pdf}|}
-\end{verbatim}
-
-Die Argumente, die für die Zusatzkomplierung an |latex|, |dvips|, |ps2pdf|, und |pdfcrop| übergeben werden können alle -- entsprechendes Wissen vorausgesetzt~-- angepasst werden. Die Standardwerte für die letzten drei lauten wie folgt:\par
-\begin{verbatim}
-\usepackage[dvips={-o -Ppdf},
-pspdf={-dAutoRotatePages=/None},pdfcrop={}]{auto-pst-pdf}
-\end{verbatim}
-
-\bigskip\noindent
-Die Zusatzkompilierung von \LaTeX\ besitzt einige hardcoded-Optionen (der Quellcode gibt hier Aufschluss) und einige Optionen können bei Bedarf angehängt werden. Um beispielsweise während der Zusatzkompilierung mehr Informationen auf der Konsole ausgeben zu lassen, muss die folgende Paketoption verwendet werden:
-\begin{verbatim}
-\usepackage[latex={-interaction=nonstopmode}]{auto-pst-pdf}
-\end{verbatim}
-
-Alle unbekannten Paketoptionen werden an \pkg{pst-pdf} weitergegeben. Beispielsweise lädt
-|\usepackage[final]{auto-pst-pdf}|
-\pkg{pst-pdf} mit der Paketoption \texttt{final}, wodurch die \texttt{draft}-Option vom Laden der Klasse möglichst aufgehoben wird.
-
-\section{Danksagung}
-
-Vielen Dank an die Autoren von \pkg{pst-pdf}, \pkg{psfrag}, \pkg{laprint}, \pkg{MathPSfrag} und \pkg{pdfcrop}. Ohne ihre vereinten Bemühungen über Jahre hinweg würde dieses Paket nicht existieren. Schließlich gebührt Gernot \textsc{Hassenfplug} besonderer Dank für ausführliche Prüfungen, Vorschläge zu Paketfunktionen und die moralische Unterstützung :) Danke Dir.
-
-
-
-%\StopEventually{}
-
-
-
-
-\part{\pkg{auto-pst-pdf} Implementation}
-
-\section{Setup Code}
-
-Das ist das Paket.
-
-\begin{verbatim}
-\ProvidesPackage{auto-pst-pdf}[2009/04/26 v0.6 Wrapper for pst-pdf]
-\end{verbatim}
-
-\paragraph*{Change History}
-\begin{itemize}
-
-\item v0.3
- \begin{itemize}
- \item Zuviel, um es hier aufzulisten. Ausführung von Befehlen komplett neu geschrieben.
- \end{itemize}
-\item v0.4
- \begin{itemize}
- \item Johannes hat an dem Code rumgebastelt. Will wirds richten. :-)
- \item Will hat alles hingebogen.
- \end{itemize}
-\item v0.5
- \begin{itemize}
- \item Allgemein: \texttt{delay}-Option entfernt. Es soll einfach sein, Mensch!!
- \item \cs{ifdefined} entfernt, um e-\TeX zu vermeiden.
- \item Das Herumgekaspere mit den Image-Erweiterungen wurde unterbunden.
- \item \texttt{matlabfig} \cmd\resizebox\ für \texttt{laprint} neu definiert.
- \item \texttt{app@convert}: Package Error gefixt (sollte eine Warnung gewesen sein.)
- \item \cmd\psfragfig\ erweitern, damit willkürlicher Input für zusätzliche \cmd\psfrag\ Befehle akzeptiert wird.
- \end{itemize}
-\item v0.6
- \begin{itemize}
- \item Unbekannte Optionen werden an \pkg{pst-pdf} weitergegeben.
- \item \texttt{runs} Option hinzugefügt (Danke Joseph!!)
- \end{itemize}
-\end{itemize}
-
-
-\paragraph{Benötigte Pakete}
-\pkg{pst-pdf} wird später geladen.
-\begin{verbatim}
-\RequirePackage{ifpdf,xkeyval,ifplatform}
-\end{verbatim}
-
-\paragraph{Dinge, die wir brauchen}
-\begin{verbatim}
-\newif\if@app@off@
-\newif\if@app@crop@
-\newcounter{app@runs}
-\def\app@suffix{autopp}
-\edef\app@jobname{\jobname-\app@suffix}
-\edef\app@pics{\jobname-pics.pdf}
-\end{verbatim}
-
-\paragraph{Verarbeitung von Optionen}
-\begin{verbatim}
-\DeclareOptionX{off}[]{\@app@off@true}
-\define@choicekey{auto-pst-pdf.sty}{crop}[\@tempa\@tempb]{on,off}{%
-\ifcase\@tempb\relax
-\@app@crop@true
-\or
-\@app@crop@false
-\fi}
-\DeclareOptionX{on}[]{\@app@off@false}
-\DeclareOptionX{ext}{\def\app@ext{#1}}
-\DeclareOptionX{latex}{%
-\def\app@latex@opts{%
-\ifwindows
--disable-write18
-\else
--no-shell-escape
-\fi
--jobname="\app@jobname"
--interaction=batchmode
-#1}}
-\DeclareOptionX{dvips}{\def\app@dvips@opts{#1}}
-\DeclareOptionX{pspdf}{\def\app@pspdf@opts{#1}}
-\DeclareOptionX{pdfcrop}{\def\app@pdfcrop@opts{#1}}
-
-\DeclareOptionX{cleanup}{%
- \let\app@rm@files\@empty
- \@for\@ii:=#1\do{%
- \edef\app@rm@files{\app@rm@files,\app@jobname.\@ii}}}
-
-\DeclareOptionX{runs}{%
- \setcounter{app@runs}{#1}% support calc
- \ifnum\c@app@runs > \z@
- \else
- \app@PackageWarning{The number of runs must be at least one.}%
- \c@app@runs\@ne
- \fi}
-
-\DeclareOptionX*{\PassOptionsToPackage{\CurrentOption}{pst-pdf}}
-
-\ExecuteOptionsX{%
- ext=tex,
- crop=on,
- latex={},
- dvips={-Ppdf},
- pdfcrop={},
- cleanup={log,aux,dvi,ps,pdf},
- runs=1
-}
-\ifwindows
- \ExecuteOptionsX{pspdf={}}
-\else
- \ExecuteOptionsX{pspdf={-dAutoRotatePages=/None}}
-\fi
-\ProcessOptionsX
-\end{verbatim}
-
-\paragraph{Kurzschrift}
-\begin{verbatim}
-\def\app@exe{\immediate\write18}
-\def\app@nl{^^J\space\space\space\space}
-\newcommand\app@PackageError[2]{%
- \PackageError{auto-pst-pdf}{\app@nl #1^^J}{#2}}
-\newcommand\app@PackageWarning[1]{%
- \PackageWarning{auto-pst-pdf}{\app@nl #1^^JThis warning occured}}
-\newcommand\app@PackageInfo[1]{\PackageInfo{auto-pst-pdf}{#1}}
-\end{verbatim}
-
-Die hier sind niedlich:
-\begin{verbatim}
-\newcommand\OnlyIfFileExists[2]{\IfFileExists{#1}{#2}{}}
-\newcommand\NotIfFileExists[2]{\IfFileExists{#1}{}{#2}}
-\end{verbatim}
-
-\begin{enumerate}
- \item Name des Befehls
- \item Quelldatei
- \item Zieldatei
-\end{enumerate}
-Überprüfe, ob die Quelldatei existiert und den Befehl zur Generierung der Zieldatei aufruft. Wenn die Datei nicht erstellt wird, gib einen Fehler aus.
-\begin{lstlisting}
-\def\app@convert#1#2#3{%
- \OnlyIfFileExists{#2}{%
- \app@exe{\csname app@cmd@#1\endcsname{#2}{#3}}%
- \NotIfFileExists{#3}{\app@PackageWarning{Creation of #3 failed.}}}}
-\end{lstlisting}\par
-
-
- Zuerst wird die Befehlssequenz |latex| $\to$ |dvips| $\to$ |ps2pdf| ($\to$ |pdfcrop|) im Ganzen definiert. Das Kompilierungsmakro wird hiernach aufgerufen. Innerhalb dieses Makros wird der eigentliche \texttt{pdf}-Container erzeugt. Jeder Verarbeitungsschritt ist in einem einzelnen Makro enthalten, um die Modifikation zu erleichtern.
-\begin{lstlisting}
-\def\app@compile{
- \app@cleanup
- \app@remove@container
- \loop\ifnum\c@app@runs > \@ne
- \app@convert{extralatex}{\jobname.\app@ext}{\app@jobname.dvi}
- \advance\c@app@runs\m@ne
- \repeat
- \app@convert{latex}{\jobname.\app@ext}{\app@jobname.dvi}
- \app@convert{dvips}{\app@jobname.dvi}{\app@jobname.ps}
- \if@app@crop@
- \app@convert{pstopdf}{\app@jobname.ps}{\app@jobname.pdf}
- \app@convert{pdfcrop}{\app@jobname.pdf}{\app@pics}
- \else
- \app@convert{pstopdf}{\app@jobname.ps}{\app@pics}
- \fi
- \IfFileExists{\app@pics}
- {\app@cleanup}
- {\app@PackageWarning{Could not create \app@pics.
- Auxiliary files not deleted.}}}
-\end{lstlisting}
-
-
-Kommandozeilenprogramm, mit dem Dateien gelöscht werden:
-\begin{lstlisting}
-\edef\app@rm{\ifwindows del \else rm -- \fi}
-\end{lstlisting}
-
-Makro, das Dateien löscht (durch Kommata getrennt) sofern diese existieren:
-\begin{lstlisting}
-\newcommand\app@try@rm[1]{%
- \@for\@tempa:=#1\do{%
- \OnlyIfFileExists{\@tempa}{\app@exe{\app@rm "\@tempa"}}}}
-\end{lstlisting}
-
-
- \texttt{PDF}-Bild-Containter entfernen:
-\begin{lstlisting}
-\def\app@remove@container{\app@try@rm{\app@pics}}
-\end{lstlisting}
-Hilfsdateien löschen: (\cmd\app@rm@files\ durch die Paketoption |cleanup| definiert)
-\begin{lstlisting}
-\def\app@cleanup{\app@try@rm{\app@rm@files}}
-\end{lstlisting}
-\LaTeX:
-\begin{lstlisting}
-\def\app@cmd@latex#1#2{latex \app@latex@opts\space
- "\unexpanded{\let\APPmakepictures\empty\input} #1"}
-\def\app@cmd@extralatex#1#2{latex \app@latex@opts\space
- "\unexpanded{\let\APPmakepictures\undefined\input} #1"}
-\end{lstlisting}
-|dvips|:
-\begin{lstlisting}
-\def\app@cmd@dvips#1#2{dvips \app@dvips@opts\space -o "#2" "#1"}
-\end{lstlisting}
- |ps2pdf|:
-\begin{lstlisting}
-\def\app@cmd@pstopdf#1#2{ps2pdf \app@pspdf@opts\space "#1" "#2"}
-\end{lstlisting}
-|pdfcrop|:
-\begin{lstlisting}
-\def\app@cmd@pdfcrop#1#2{pdfcrop \app@pdfcrop@opts\space "#1" "#2"}
-\end{lstlisting}
-
-\subsection{Grundfunktionalität}
-
-Für die Kompilierung wird |[notightpage]| als Option von |pst-pdf| und das |pdfcrop|-Perlscript verwendet, da \EPS\-Abbildungen Elemente außerhalb ihrer Bounding-Box enthalten können und dabei abgeschnittener Inhalt nach |ps2pdf| entstehen kann. Andernfalls würde das script |ps4pdf| vollkommen ausreichen.
-
-\paragraph{pdf\/\LaTeX\\ Kompilierung}
-Zusätzliche Verarbeitung mit \pkg{pst-pdf} ist nötig:
-\begin{lstlisting}
-\ifpdf
- \if@app@off@\else
- \ifshellescape
- \app@exe{echo " "}
- \app@exe{echo "-------------------------------------------------"}
- \app@exe{echo "auto-pst-pdf: Auxiliary LaTeX compilation"}
- \app@exe{echo "-------------------------------------------------"}
- \app@compile
- \app@exe{echo "-------------------------------------------------"}
- \app@exe{echo "auto-pst-pdf: End auxiliary LaTeX compilation"}
- \app@exe{echo "-------------------------------------------------"}
- \else
- \app@PackageError{%
- "shell escape" (or "write18") is not enabled:\app@nl
- auto-pst-pdf will not work!}
- {You need to run LaTeX with the equivalent of
- "pdflatex -shell-escape"\app@nl
- Or turn off auto-pst-pdf.}%
- \fi
- \fi
- \if@app@crop@
- \PassOptionsToPackage{notightpage}{pst-pdf}
- \fi
-\end{lstlisting}
-
-\paragraph{\LaTeX\ Compilation}
-Entweder |latex| wird innerhalb eines pdf\/\LaTeX\-Durchlaufs aufgerufen (siehe oben) oder das Dokument wird ganz normal kompiliert.
-\begin{lstlisting}
-\else
-\end{lstlisting}
-\LaTeX\ Kompilierung bei Null anfangen (wie in `|latex| \meta{document}|.tex|`) --- in diesem Fall tut die |postscript|-Umgebung nichts und das Dokument wird "normal" verarbeitet:
-
-\begin{lstlisting}
- \ifx\APPmakepictures\@undefined
- \PassOptionsToPackage{inactive}{pst-pdf}
-\end{lstlisting}
-
-\LaTeX\ Kompilierung wird durch dieses Paket induziert:
-\begin{lstlisting}
- \else
- \if@app@crop@
- \PassOptionsToPackage{notightpage}{pst-pdf}
- \fi
- \fi
-\fi
-\end{lstlisting}
-
-Nachdem die erforderlichen Paketoptionen deklariert wurden, je nach Modus der Applikation, ist es nun an der Zeit das Paket zu laden:
-\begin{lstlisting}
-\RequirePackage{pst-pdf}
-\end{lstlisting}
-
-\subsection{Extras für externe Pakete}
-
-Es werden Befehle zur Verfügung gestellt, die \cmd\includegraphics\ für die Ausgabe verschiedener \texttt{psfrag}-bezogener Pakete imitieren (und ebenso wahlweise ein Argument akzeptieren). Dadurch wird ein konsistenter und einfacher Weg geboten, der solche Abbildungen in das Dokument einbindet.
-Vorschläge für Wrapper anderer Pakete, die \texttt{psfrag}-Abbildungen ausgeben, sind gewünscht (z.\,B.: SciLab, R, Maple, LabView, Sage, \ldots{} ?)
-
-
-Die Skalierung, die \texttt{labprint} hier für \cmd\includegraphics\ verwendet, muss deaktiviert werden, andernfalls werden Label, die die Bounding-Box überschreiten, die angegebene Breite der Grafik verändern.
-\begin{lstlisting}
-\let\app@ig\includegraphics
-\newcommand\matlabfig[2][]{%
- \begin{postscript}
- \renewcommand\resizebox[3]{##3}%
- \renewcommand\includegraphics[2][]{\app@ig[#1]{##2}}%
- \input{#2}%
- \end{postscript}}
-\end{lstlisting}
-
-Für Mathematicas \pkg{MathPSfrag}-Ausgabe
-\begin{lstlisting}
-\newcommand\mathfig[2][]{%
- \begin{postscript}
- \input{#2-psfrag}%
- \includegraphics[#1]{#2-psfrag}%
- \end{postscript}}
-\end{lstlisting}
-
-\EPS\ Grafiken via \pkg{psfrag}.
-Einfach die \pkg{psfrag}-Befehle in die Datei \meta{document}-psfrag.tex und/oder \meta{figname}-psfrag.tex einfügen. \meta{document} steht hier für den Dateinamen des Hauptdokuments und \meta{figname} ist der Dateiname, der eingefügten Grafik.
-\begin{lstlisting}
-\newcommand\psfragfig[2][]{%
- \@ifnextchar[
- {\app@psfragfig[#1]{#2}}
- {\app@psfragfig[#1]{#2}[]}}
-\def\app@psfragfig[#1]#2[#3]{%
- \begin{postscript}
- \InputIfFileExists{#2-psfrag}{}{}%
- #3
- \includegraphics[#1]{#2}%
- \end{postscript}}
-\end{lstlisting}
-
-Zu guter Letzt, alle \pkg{psfrag}-Befehle, die mit dem Dokument in Verbindung stehen eingeben:
-\begin{lstlisting}
-\InputIfFileExists{\jobname-psfrag}{}{}
-\end{lstlisting}
-
-\end{document}
diff --git a/macros/latex/contrib/auto-pst-pdf/auto-pst-pdf.dtx b/macros/latex/contrib/auto-pst-pdf/auto-pst-pdf.dtx index 51f2ebb2b8..1853b12f4a 100644 --- a/macros/latex/contrib/auto-pst-pdf/auto-pst-pdf.dtx +++ b/macros/latex/contrib/auto-pst-pdf/auto-pst-pdf.dtx @@ -1,69 +1,11 @@ -% \iffalse +% \iffalse %<*internal> -\iffalse -%</internal> -%<*readme> -________________________ -The auto-pst-pdf package -v0.6 2009/04/26 - -This package uses -shell-escape (or "write18") to -automatically perform the extra compilations -required for the "pst-pdf" package. - -This makes it especially easy to integrate into the -workflow of an editor with just "LaTeX" and "pdfLaTeX" -buttons. - -Wrappers are provided for various psfrag-related -features so that Matlab figures via laprint, Mathematica -figures via MathPSfrag, and regular psfrag figures can -all be input consistently and easily. - -Will Robertson - wspr 81 at gmail dot com -Johannes Große - -Copyright 2007 -Distributed under the LaTeX Project Public License -%</readme> -%<*internal> -\fi \begingroup -%</internal> -%<*batchfile> \input docstrip.tex -\keepsilent -\preamble - __________________________________ - Copyright (C) 2007 Will Robertson - License information appended. -\endpreamble -\postamble -Copyright (C) 2007 by Will Robertson & Johannes Große - -Distributable under the LaTeX Project Public License, -version 1.3c or higher (your choice). The latest version of -this license is at: http://www.latex-project.org/lppl.txt - -This work is "maintained" (as per LPPL maintenance status) -by Will Robertson. - -This work consists of the file auto-pst-pdf.dtx - and the derived files auto-pst-pdf.pdf, - auto-pst-pdf.sty, and - auto-pst-pdf.ins. -\endpostamble -\askforoverwritefalse -\generate{\file{\jobname.sty}{\from{\jobname.dtx}{package}}} -%</batchfile> -%<batchfile>\endbatchfile -%<*internal> -\generate{\file{\jobname.ins}{\from{\jobname.dtx}{batchfile}}} +\keepsilent\askforoverwritefalse \nopreamble\nopostamble -\generate{\file{README.txt}{\from{\jobname.dtx}{readme}}} \generate{\file{dtx-style.sty}{\from{\jobname.dtx}{dtx-style}}} \endgroup -\immediate\write18{mv README.txt README} \immediate\write18{makeindex -s gind.ist -o \jobname.ind \jobname.idx} \immediate\write18{makeindex -s gglo.ist -o \jobname.gls \jobname.glo} %</internal> @@ -95,7 +37,7 @@ This work consists of the file auto-pst-pdf.dtx % \maketitle % % \section{Future plans} -% This package is no longer being actively developed +% This package is no longer being actively developed % (although I'm happy to add small features and fix bugs). I (Will Robertson) first % wrote \pkg{auto-pst-pdf} to aid the use of \pkg{psfrag} in pdf\LaTeX\ documents. The newer % \pkg{pstool} package does this in a more efficient and convenient manner, @@ -107,7 +49,7 @@ This work consists of the file auto-pst-pdf.dtx % This package provides a wrapper around \pkg{pst-pdf} to automatically % accomodate for typesetting either with \DVI\ or \PDF\ output. With % default package option |[on]|, typesetting under pdf\/\LaTeX\ will -% automatically initiate an auxiliary compilation of \LaTeX $\to$ |dvips| +% automatically initiate an auxiliary compilation of \LaTeX $\to$ |dvips| % $\to$ |ps2pdf| $\to$ |pdfcrop| to generate the required \PDF\ figures for the document. % % After this has been done and the figures no longer need to be @@ -124,43 +66,43 @@ This work consists of the file auto-pst-pdf.dtx % Requires the following packages: \pkg{ifplatform}, \pkg{pst-pdf}, \pkg{xkeyval}. % % Heiko Oberdiek's |pdfcrop| Perl script -% \note{\url{http://www.ctan.org/tex-archive/support/pdfcrop/}} +% \note{\url{http://www.ctan.org/tex-archive/support/pdfcrop/}} % must be installed for the default {\color{niceblue}|crop=on|} option (see section~\ref{sec:opt}). -% Under Windows, a Perl installation -% \note{Freely available: \url{http://www.activestate.com/Products/activeperl/index.plex}} +% Under Windows, a Perl installation +% \note{Freely available: \url{http://www.activestate.com/Products/activeperl/index.plex}} % will also need to be installed even though |pdfcrop| itself is part of MiK\TeX. % % \section{Provided macros for including graphics} % Macros are provided to easily facilitate figures created by the % \textsc{Matlab} package \pkg{laprint} -% \note{\url{http://www.uni-kassel.de/fb16/rat/matlab/laprint/}} +% \note{\url{http://www.uni-kassel.de/fb16/rat/matlab/laprint/}} % and the Mathematica package \pkg{MathPSfrag} % \note{\url{http://wwwth.mppmu.mpg.de/members/jgrosse/mathpsfrag/}}. Also, % a generic \pkg{psfrag} -% \note{\url{http://www.ctan.org/tex-archive/help/Catalogue/entries/psfrag.html}} +% \note{\url{http://www.ctan.org/tex-archive/help/Catalogue/entries/psfrag.html}} % wrapper is provided. % % \begin{trivlist}\item[] % \begin{tabular}{@{\hskip 2em}lp{7cm}} -% \cmd\mathfig\marg{filename} & \raggedright +% \cmd\mathfig\marg{filename} & \raggedright % insert a Mathematica graphic from \pkg{MathPSfrag} % (without |-psfrag| suffix)\arraybackslash \\ -% \cmd\matlabfig\marg{filename} & +% \cmd\matlabfig\marg{filename} & % insert a \textsc{Matlab} graphic from \pkg{laprint} \\ -% \cmd\psfragfig\marg{filename} & +% \cmd\psfragfig\marg{filename} & % insert an \EPS\ with \pkg{psfrag} % \end{tabular} % \end{trivlist} % -% \noindent The above commands all accept an optional argument +% \noindent The above commands all accept an optional argument % which is passed to the underlying \cmd\includegraphics\ macro. % % The \cmd\matlabfig\ command meddles slightly with the output of -% \pkg{laprint}; the font sizes in the figure will always be as +% \pkg{laprint}; the font sizes in the figure will always be as % originally defined. (This is unavoidable I'm afraid.) % -% For the \cmd\psfragfig\ command, \pkg{psfrag} statements are input -% from either or both of the files \meta{document}|-psfrag.tex| and +% For the \cmd\psfragfig\ command, \pkg{psfrag} statements are input +% from either or both of the files \meta{document}|-psfrag.tex| and % \meta{filename}|-psfrag.tex| if they exist. Furthermore, supplementary % \cmd\psfrag\ statements can be added in a trailing optional argument: % @@ -198,11 +140,11 @@ This work consists of the file auto-pst-pdf.dtx % {\color{gray}|\usepackage[|\color{niceblue}|latex={-interaction=nonstopmode}|\color{gray}|]{auto-pst-pdf}|} % % \bigskip\noindent -% Any package options that are not recognised are passed on to \pkg{pst-pdf}. As an example, +% Any package options that are not recognised are passed on to \pkg{pst-pdf}. As an example, % % {\color{gray}|\usepackage[|\color{niceblue}|final|\color{gray}|]{auto-pst-pdf}|} % -% \noindent will load \pkg{pst-pdf} with the \texttt{final} package option, possibly overriding +% \noindent will load \pkg{pst-pdf} with the \texttt{final} package option, possibly overriding % a global \texttt{draft} option from the class loading. % % \section{Acknowledgements} @@ -223,10 +165,11 @@ This work consists of the file auto-pst-pdf.dtx % This is the package. % % \begin{macrocode} -\ProvidesPackage{auto-pst-pdf}[2009/04/26 v0.6 Wrapper for pst-pdf] +\ProvidesPackage{auto-pst-pdf}[2020/10/08 v0.7 Wrapper for pst-pdf] % \end{macrocode} % % \PrintChanges +% \changes{v0.7}{2020/10/07}{Security fix for Windows.} % \changes{v0.6}{2009/04/26}{Pass unknown options to \pkg{pst-pdf}.} % \changes{v0.6}{2009/04/26}{\texttt{runs} option added (thanks Joseph!!)} % \changes{v0.5}{2007/11/22}{\texttt{delay} option removed. Keep it simple, stupid!!} @@ -254,19 +197,19 @@ This work consists of the file auto-pst-pdf.dtx % \begin{macrocode} \DeclareOptionX{off}[]{\@app@off@true} \define@choicekey{auto-pst-pdf.sty}{crop}[\@tempa\@tempb]{on,off}{% - \ifcase\@tempb\relax + \ifcase\@tempb\relax \@app@crop@true - \or - \@app@crop@false + \or + \@app@crop@false \fi} \DeclareOptionX{on}[]{\@app@off@false} \DeclareOptionX{ext}{\def\app@ext{#1}} \DeclareOptionX{latex}{% \def\app@latex@opts{% \ifwindows - -disable-write18 + -disable-write18 \else - -no-shell-escape + -no-shell-escape \fi -jobname="\app@jobname" -interaction=batchmode @@ -282,7 +225,7 @@ This work consists of the file auto-pst-pdf.dtx \DeclareOptionX{runs}{% \setcounter{app@runs}{#1}% support calc - \ifnum\c@app@runs > \z@ + \ifnum\c@app@runs > \z@ \else \app@PackageWarning{The number of runs must be at least one.}% \c@app@runs\@ne @@ -350,7 +293,7 @@ This work consists of the file auto-pst-pdf.dtx \repeat \app@convert{latex}{\jobname.\app@ext}{\app@jobname.dvi}% \app@convert{dvips}{\app@jobname.dvi}{\app@jobname.ps}% - \if@app@crop@ + \if@app@crop@ \app@convert{pstopdf}{\app@jobname.ps}{\app@jobname.pdf}% \app@convert{pdfcrop}{\app@jobname.pdf}{\app@pics}% \else @@ -358,12 +301,12 @@ This work consists of the file auto-pst-pdf.dtx \fi \IfFileExists{\app@pics} {\app@cleanup} - {\app@PackageWarning{Could not create \app@pics. + {\app@PackageWarning{Could not create \app@pics. Auxiliary files not deleted.}}} % \end{macrocode} % \end{macro} -% -% Command-line program to delete files: +% +% Command-line program to delete files: % \begin{macrocode} \edef\app@rm{\ifwindows del \else rm -- \fi} % \end{macrocode} @@ -373,7 +316,11 @@ This work consists of the file auto-pst-pdf.dtx % \begin{macrocode} \newcommand\app@try@rm[1]{% \@for\@tempa:=#1\do{% - \OnlyIfFileExists{\@tempa}{\app@exe{\app@rm "\@tempa"}}}} + \edef\@tempa{\@tempa}% + \ifx\@tempa\@empty\else + \OnlyIfFileExists{\@tempa}{\app@exe{\app@rm "\@tempa"}}% + \fi + }} % \end{macrocode} % \end{macro} % @@ -428,10 +375,10 @@ This work consists of the file auto-pst-pdf.dtx \app@exe{echo "-------------------------------------------------"} \else \app@PackageError{% - "shell escape" (or "write18") is not enabled:\app@nl + "shell escape" (or "write18") is not enabled:\app@nl auto-pst-pdf will not work!} - {You need to run LaTeX with the equivalent of - "pdflatex -shell-escape"\app@nl + {You need to run LaTeX with the equivalent of + "pdflatex -shell-escape"\app@nl Or turn off auto-pst-pdf.}% \fi \fi @@ -449,7 +396,7 @@ This work consists of the file auto-pst-pdf.dtx % \LaTeX\ compilation from scratch (as in `|latex| \meta{document}|.tex|`) --- here the |postscript| environment does nothing and document is processed `normally': % \changes{v0.5}{2007/11/22}{Removed \cs{ifdefined} to avoid e-\TeX.} % \begin{macrocode} - \ifx\APPmakepictures\@undefined + \ifx\APPmakepictures\@undefined \PassOptionsToPackage{inactive}{pst-pdf} % \end{macrocode} % \LaTeX\ compilation induced by this package: @@ -478,7 +425,7 @@ This work consists of the file auto-pst-pdf.dtx % % Please suggest wrappers for other packages that output psfrag figures % (for example: SciLab, R, Maple, LabView, Sage, ... ?) -% +% % \begin{macro}{\matlabfig} % We need to disable the scaling that laprint applies % to \cmd\includegraphics\ in here, because otherwise labels that extend @@ -545,8 +492,8 @@ This work consists of the file auto-pst-pdf.dtx \renewenvironment{theglossary} {\small\list{}{} \item\relax - \glossary@prologue\GlossaryParms - \let\item\@idxitem \ignorespaces + \glossary@prologue\GlossaryParms + \let\item\@idxitem \ignorespaces \def\pfill{\hspace*{\fill}}} {\endlist} @@ -559,7 +506,7 @@ This work consists of the file auto-pst-pdf.dtx \linespread{1.1} % A bit more space between lines \frenchspacing % Remove ugly extra space after punctuation - + \definecolor{niceblue}{rgb}{0.2,0.4,0.8} \def\theCodelineNo{\textcolor{niceblue}{\sffamily\tiny\arabic{CodelineNo}}} diff --git a/macros/latex/contrib/auto-pst-pdf/auto-pst-pdf.ins b/macros/latex/contrib/auto-pst-pdf/auto-pst-pdf.ins index 2ac6a85140..d9c3bff35b 100644 --- a/macros/latex/contrib/auto-pst-pdf/auto-pst-pdf.ins +++ b/macros/latex/contrib/auto-pst-pdf/auto-pst-pdf.ins @@ -1,22 +1,14 @@ -%% -%% This is file `auto-pst-pdf.ins', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% auto-pst-pdf.dtx (with options: `batchfile') -%% __________________________________ -%% Copyright (C) 2007 Will Robertson -%% License information appended. + \input docstrip.tex \keepsilent \preamble __________________________________ - Copyright (C) 2007 Will Robertson + Copyright (C) 2007-2020 Will Robertson License information appended. \endpreamble \postamble -Copyright (C) 2007 by Will Robertson & Johannes Große +Copyright (C) 2007-2020 by Will Robertson & Johannes Große +Copyright (C) 2007 Johannes Große Distributable under the LaTeX Project Public License, version 1.3c or higher (your choice). The latest version of @@ -25,26 +17,9 @@ this license is at: http://www.latex-project.org/lppl.txt This work is "maintained" (as per LPPL maintenance status) by Will Robertson. -This work consists of the file auto-pst-pdf.dtx - and the derived files auto-pst-pdf.pdf, - auto-pst-pdf.sty, and - auto-pst-pdf.ins. +This work consists of the files auto-pst-pdf.dtx and auto-pst-pdf.ins, + and the derived file auto-pst-pdf.sty. \endpostamble \askforoverwritefalse \generate{\file{\jobname.sty}{\from{\jobname.dtx}{package}}} \endbatchfile -%% Copyright (C) 2007 by Will Robertson & Johannes Große -%% -%% Distributable under the LaTeX Project Public License, -%% version 1.3c or higher (your choice). The latest version of -%% this license is at: http://www.latex-project.org/lppl.txt -%% -%% This work is "maintained" (as per LPPL maintenance status) -%% by Will Robertson. -%% -%% This work consists of the file auto-pst-pdf.dtx -%% and the derived files auto-pst-pdf.pdf, -%% auto-pst-pdf.sty, and -%% auto-pst-pdf.ins. -%% -%% End of file `auto-pst-pdf.ins'. diff --git a/macros/latex/contrib/auto-pst-pdf/auto-pst-pdf.pdf b/macros/latex/contrib/auto-pst-pdf/auto-pst-pdf.pdf Binary files differindex c94da943e8..7134702ce4 100644 --- a/macros/latex/contrib/auto-pst-pdf/auto-pst-pdf.pdf +++ b/macros/latex/contrib/auto-pst-pdf/auto-pst-pdf.pdf diff --git a/macros/latex/contrib/auto-pst-pdf/example.eps b/macros/latex/contrib/auto-pst-pdf/example.eps index 67b4e045d4..372bc45176 100644 --- a/macros/latex/contrib/auto-pst-pdf/example.eps +++ b/macros/latex/contrib/auto-pst-pdf/example.eps @@ -1,977 +1,977 @@ -%!PS-Adobe-3.0 EPSF-3.0
-%%BoundingBox: 98 740 293 814
-%%LanguageLevel: 1
-%%Creator: CorelDRAW 10
-%%Title: LMS_VS.eps
-%%CreationDate: Wed Oct 25 12:32:49 2006
-%%For: School of Mechanical Engineering
-%%DocumentProcessColors: Black
-%%DocumentSuppliedResources: (atend)
-%%EndComments
-%%BeginProlog
-/AutoFlatness false def
-/AutoSteps 0 def
-/CMYKMarks true def
-/UseLevel 1 def
-%Build: CorelDRAW 10 Version 10.410
-%Color profile: Disabled
-/CorelIsEPS true def
-%%BeginResource: procset wCorel10Dict 10.0 0
-/wCorel10Dict 300 dict def wCorel10Dict begin
-% Copyright (c)1992-2000 Corel Corporation
-% All rights reserved. v10.0 r0.2
-/bd{bind def}bind def/ld{load def}bd/xd{exch def}bd/_ null def/rp{{pop}repeat}
-bd/@cp/closepath ld/@gs/gsave ld/@gr/grestore ld/@np/newpath ld/Tl/translate ld
-/$sv 0 def/@sv{/$sv save def}bd/@rs{$sv restore}bd/spg/showpage ld/showpage{}
-bd currentscreen/@dsp xd/$dsp/@dsp def/$dsa xd/$dsf xd/$sdf false def/$SDF
-false def/$Scra 0 def/SetScr/setscreen ld/@ss{2 index 0 eq{$dsf 3 1 roll 4 -1
-roll pop}if exch $Scra add exch load SetScr}bd/SepMode_5 where{pop}{/SepMode_5
-0 def}ifelse/CorelIsSeps where{pop}{/CorelIsSeps false def}ifelse
-/CorelIsInRIPSeps where{pop}{/CorelIsInRIPSeps false def}ifelse/CorelIsEPS
-where{pop}{/CorelIsEPS false def}ifelse/CurrentInkName_5 where{pop}
-{/CurrentInkName_5(Composite)def}ifelse/$ink_5 where{pop}{/$ink_5 -1 def}
-ifelse/$c 0 def/$m 0 def/$y 0 def/$k 0 def/$t 1 def/$n _ def/$o 0 def/$fil 0
-def/$C 0 def/$M 0 def/$Y 0 def/$K 0 def/$T 1 def/$N _ def/$O 0 def/$PF false
-def/s1c 0 def/s1m 0 def/s1y 0 def/s1k 0 def/s1t 0 def/s1n _ def/$bkg false def
-/SK 0 def/SM 0 def/SY 0 def/SC 0 def/$op false def matrix currentmatrix/$ctm xd
-/$ptm matrix def/$ttm matrix def/$stm matrix def/$ffpnt true def
-/CorelDrawReencodeVect[16#0/grave 16#5/breve 16#6/dotaccent 16#8/ring
-16#A/hungarumlaut 16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle
-16#60/grave 16#7C/bar
-16#82/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl
-16#88/circumflex/perthousand/Scaron/guilsinglleft/OE
-16#91/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash
-16#98/tilde/trademark/scaron/guilsinglright/oe 16#9F/Ydieresis
-16#A1/exclamdown/cent/sterling/currency/yen/brokenbar/section
-16#a8/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/minus/registered/macron
-16#b0/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered
-16#b8/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown
-16#c0/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
-16#c8/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
-16#d0/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply
-16#d8/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
-16#e0/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
-16#e8/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
-16#f0/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide
-16#f8/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
-/L2?/languagelevel where{pop languagelevel 2 ge}{false}ifelse def/Comp?{
-/LumSepsDict where{pop false}{/AldusSepsDict where{pop false}{1 0 0 0 @gs
-setcmykcolor currentcmykcolor @gr add add add 0 ne 0 1 0 0 @gs setcmykcolor
-currentcmykcolor @gr add add add 0 ne 0 0 1 0 @gs setcmykcolor currentcmykcolor
-@gr add add add 0 ne 0 0 0 1 @gs setcmykcolor currentcmykcolor @gr add add add
-0 ne and and and}ifelse}ifelse}bd/@PL{/LV where{pop LV 2 ge L2? not and{@np
-/Courier findfont 12 scalefont setfont 72 144 m
-(The PostScript level set in the Corel application is higher than)show 72 132 m
-(the PostScript level of this device. Change the PS Level in the Corel)show 72
-120 m(application to Level 1 by selecting the PostScript tab in the print)show
-72 108 m(dialog, and selecting Level 1 from the Compatibility drop down list.)
-show flush spg quit}if}if}bd/@BeginSysCorelDict{systemdict/Corel30Dict known
-{systemdict/Corel30Dict get exec}if systemdict/CorelLexDict known{1 systemdict
-/CorelLexDict get exec}if}bd/@EndSysCorelDict{systemdict/Corel30Dict known
-{end}if/EndCorelLexDict where{pop EndCorelLexDict}if}bd AutoFlatness{/@ifl{dup
-currentflat exch sub 10 gt{
-([Error: PathTooComplex; OffendingCommand: AnyPaintingOperator]\n)print flush
-@np exit}{currentflat 2 add setflat}ifelse}bd/@fill/fill ld/fill{currentflat{
-{@fill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd/@eofill/eofill ld/eofill
-{currentflat{{@eofill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd/@clip
-/clip ld/clip{currentflat{{@clip}stopped{@ifl}{exit}ifelse}bind loop setflat}
-bd/@eoclip/eoclip ld/eoclip{currentflat{{@eoclip}stopped{@ifl}{exit}ifelse}
-bind loop setflat}bd/@stroke/stroke ld/stroke{currentflat{{@stroke}stopped
-{@ifl}{exit}ifelse}bind loop setflat}bd}if L2?{/@ssa{true setstrokeadjust}bd}{
-/@ssa{}bd}ifelse/d/setdash ld/j/setlinejoin ld/J/setlinecap ld/M/setmiterlimit
-ld/w/setlinewidth ld/O{/$o xd}bd/R{/$O xd}bd/W/eoclip ld/c/curveto ld/C/c ld/l
-/lineto ld/L/l ld/rl/rlineto ld/m/moveto ld/n/newpath ld/N/newpath ld/P{11 rp}
-bd/u{}bd/U{}bd/A{pop}bd/q/@gs ld/Q/@gr ld/&{}bd/@j{@sv @np}bd/@J{@rs}bd/g{1
-exch sub/$k xd/$c 0 def/$m 0 def/$y 0 def/$t 1 def/$n _ def/$fil 0 def}bd/G{1
-sub neg/$K xd _ 1 0 0 0/$C xd/$M xd/$Y xd/$T xd/$N xd}bd/k{1 index type
-/stringtype eq{/$t xd/$n xd}{/$t 0 def/$n _ def}ifelse/$k xd/$y xd/$m xd/$c xd
-/$fil 0 def}bd/K{1 index type/stringtype eq{/$T xd/$N xd}{/$T 0 def/$N _ def}
-ifelse/$K xd/$Y xd/$M xd/$C xd}bd/x/k ld/X/K ld/sf{1 index type/stringtype eq{
-/s1t xd/s1n xd}{/s1t 0 def/s1n _ def}ifelse/s1k xd/s1y xd/s1m xd/s1c xd}bd/i{
-dup 0 ne{setflat}{pop}ifelse}bd/v{4 -2 roll 2 copy 6 -2 roll c}bd/V/v ld/y{2
-copy c}bd/Y/y ld/@w{matrix rotate/$ptm xd matrix scale $ptm dup concatmatrix
-/$ptm xd 1 eq{$ptm exch dup concatmatrix/$ptm xd}if 1 w}bd/@g{1 eq dup/$sdf xd
-{/$scp xd/$sca xd/$scf xd}if}bd/@G{1 eq dup/$SDF xd{/$SCP xd/$SCA xd/$SCF xd}
-if}bd/@D{2 index 0 eq{$dsf 3 1 roll 4 -1 roll pop}if 3 copy exch $Scra add exch
-load SetScr/$dsp xd/$dsa xd/$dsf xd}bd/$ngx{$SDF{$SCF SepMode_5 0 eq{$SCA}
-{$dsa}ifelse $SCP @ss}if}bd/@MN{2 copy le{pop}{exch pop}ifelse}bd/@MX{2 copy ge
-{pop}{exch pop}ifelse}bd/InRange{3 -1 roll @MN @MX}bd/@sqr{dup 0 rl dup 0 exch
-rl neg 0 rl @cp}bd/currentscale{1 0 dtransform matrix defaultmatrix idtransform
-dup mul exch dup mul add sqrt 0 1 dtransform matrix defaultmatrix idtransform
-dup mul exch dup mul add sqrt}bd/@unscale{}bd/wDstChck{2 1 roll dup 3 -1 roll
-eq{1 add}if}bd/@dot{dup mul exch dup mul add 1 exch sub}bd/@lin{exch pop abs 1
-exch sub}bd/cmyk2rgb{3{dup 5 -1 roll add 1 exch sub dup 0 lt{pop 0}if exch}
-repeat pop}bd/rgb2cmyk{3{1 exch sub 3 1 roll}repeat 3 copy @MN @MN 3{dup 5 -1
-roll sub neg exch}repeat}bd/rgb2g{2 index .299 mul 2 index .587 mul add 1 index
-.114 mul add 4 1 roll pop pop pop}bd/WaldoColor_5 where{pop}{/SetRgb
-/setrgbcolor ld/GetRgb/currentrgbcolor ld/SetGry/setgray ld/GetGry/currentgray
-ld/SetRgb2 systemdict/setrgbcolor get def/GetRgb2 systemdict/currentrgbcolor
-get def/SetHsb systemdict/sethsbcolor get def/GetHsb systemdict
-/currenthsbcolor get def/rgb2hsb{SetRgb2 GetHsb}bd/hsb2rgb{3 -1 roll dup floor
-sub 3 1 roll SetHsb GetRgb2}bd/setcmykcolor where{pop/LumSepsDict where{pop
-/SetCmyk_5{LumSepsDict/setcmykcolor get exec}def}{/AldusSepsDict where{pop
-/SetCmyk_5{AldusSepsDict/setcmykcolor get exec}def}{/SetCmyk_5/setcmykcolor ld
-}ifelse}ifelse}{/SetCmyk_5{cmyk2rgb SetRgb}bd}ifelse/currentcmykcolor where{
-pop/GetCmyk/currentcmykcolor ld}{/GetCmyk{GetRgb rgb2cmyk}bd}ifelse
-/setoverprint where{pop}{/setoverprint{/$op xd}bd}ifelse/currentoverprint where
-{pop}{/currentoverprint{$op}bd}ifelse/@tc_5{5 -1 roll dup 1 ge{pop}{4{dup 6 -1
-roll mul exch}repeat pop}ifelse}bd/@trp{exch pop 5 1 roll @tc_5}bd
-/setprocesscolor_5{SepMode_5 0 eq{SetCmyk_5}{0 4 $ink_5 sub index exch pop 5 1
-roll pop pop pop pop SepsColor true eq{$ink_5 3 gt{1 sub neg SetGry}{0 0 0 4
-$ink_5 roll SetCmyk_5}ifelse}{1 sub neg SetGry}ifelse}ifelse}bd
-/findcmykcustomcolor where{pop}{/findcmykcustomcolor{5 array astore}bd}ifelse
-/Corelsetcustomcolor_exists false def/setcustomcolor where{pop
-/Corelsetcustomcolor_exists true def}if CorelIsSeps true eq CorelIsInRIPSeps
-false eq and{/Corelsetcustomcolor_exists false def}if
-Corelsetcustomcolor_exists false eq{/setcustomcolor{exch aload pop SepMode_5 0
-eq{pop @tc_5 setprocesscolor_5}{CurrentInkName_5 eq{4 index}{0}ifelse 6 1 roll
-5 rp 1 sub neg SetGry}ifelse}bd}if/@scc_5{dup type/booleantype eq{dup
-currentoverprint ne{setoverprint}{pop}ifelse}{1 eq setoverprint}ifelse dup _ eq
-{pop setprocesscolor_5 pop}{findcmykcustomcolor exch setcustomcolor}ifelse
-SepMode_5 0 eq{true}{GetGry 1 eq currentoverprint and not}ifelse}bd/colorimage
-where{pop/ColorImage{colorimage}def}{/ColorImage{/ncolors xd/$multi xd $multi
-true eq{ncolors 3 eq{/daqB xd/daqG xd/daqR xd pop pop exch pop abs{daqR pop
-daqG pop daqB pop}repeat}{/daqK xd/daqY xd/daqM xd/daqC xd pop pop exch pop abs
-{daqC pop daqM pop daqY pop daqK pop}repeat}ifelse}{/dataaq xd{dataaq ncolors
-dup 3 eq{/$dat xd 0 1 $dat length 3 div 1 sub{dup 3 mul $dat 1 index get 255
-div $dat 2 index 1 add get 255 div $dat 3 index 2 add get 255 div rgb2g 255 mul
-cvi exch pop $dat 3 1 roll put}for $dat 0 $dat length 3 idiv getinterval pop}{
-4 eq{/$dat xd 0 1 $dat length 4 div 1 sub{dup 4 mul $dat 1 index get 255 div
-$dat 2 index 1 add get 255 div $dat 3 index 2 add get 255 div $dat 4 index 3
-add get 255 div cmyk2rgb rgb2g 255 mul cvi exch pop $dat 3 1 roll put}for $dat
-0 $dat length ncolors idiv getinterval}if}ifelse}image}ifelse}bd}ifelse
-/setcmykcolor{1 5 1 roll _ currentoverprint @scc_5/$ffpnt xd}bd
-/currentcmykcolor{GetCmyk}bd/setrgbcolor{rgb2cmyk setcmykcolor}bd
-/currentrgbcolor{currentcmykcolor cmyk2rgb}bd/sethsbcolor{hsb2rgb setrgbcolor}
-bd/currenthsbcolor{currentrgbcolor rgb2hsb}bd/setgray{dup dup setrgbcolor}bd
-/currentgray{currentrgbcolor rgb2g}bd/InsideDCS false def/IMAGE/image ld/image
-{InsideDCS{IMAGE}{/EPSDict where{pop SepMode_5 0 eq{IMAGE}{dup type/dicttype eq
-{dup/ImageType get 1 ne{IMAGE}{dup dup/BitsPerComponent get 8 eq exch
-/BitsPerComponent get 1 eq or currentcolorspace 0 get/DeviceGray eq and{
-CurrentInkName_5(Black)eq{IMAGE}{dup/DataSource get/TCC xd/Height get abs{TCC
-pop}repeat}ifelse}{IMAGE}ifelse}ifelse}{2 index 1 ne{CurrentInkName_5(Black)eq
-{IMAGE}{/TCC xd pop pop exch pop abs{TCC pop}repeat}ifelse}{IMAGE}ifelse}
-ifelse}ifelse}{IMAGE}ifelse}ifelse}bd}ifelse/WaldoColor_5 true def/$fm 0 def
-/wfill{1 $fm eq{fill}{eofill}ifelse}bd/@Pf{@sv SepMode_5 0 eq $Psc 0 ne or
-$ink_5 3 eq or{0 J 0 j[]0 d $t $c $m $y $k $n $o @scc_5 pop $ctm setmatrix 72
-1000 div dup matrix scale dup concat dup Bburx exch Bbury exch itransform
-ceiling cvi/Bbury xd ceiling cvi/Bburx xd Bbllx exch Bblly exch itransform
-floor cvi/Bblly xd floor cvi/Bbllx xd $Prm aload pop $Psn load exec}{1 SetGry
-wfill}ifelse @rs @np}bd/F{matrix currentmatrix $sdf{$scf $sca $scp @ss}if $fil
-1 eq{CorelPtrnDoFill}{$fil 2 eq{@ff}{$fil 3 eq{@Pf}{$fil 4 eq
-{CorelShfillDoFill}{$t $c $m $y $k $n $o @scc_5{wfill}{@np}ifelse}ifelse}
-ifelse}ifelse}ifelse $sdf{$dsf $dsa $dsp @ss}if setmatrix}bd/f{@cp F}bd/S{
-matrix currentmatrix $ctm setmatrix $SDF{$SCF $SCA $SCP @ss}if $T $C $M $Y $K
-$N $O @scc_5{matrix currentmatrix $ptm concat stroke setmatrix}{@np}ifelse $SDF
-{$dsf $dsa $dsp @ss}if setmatrix}bd/s{@cp S}bd/B{@gs F @gr S}bd/b{@cp B}bd/_E{
-5 array astore exch cvlit xd}bd/@cc{currentfile $dat readhexstring pop}bd/@sm{
-/$ctm $ctm currentmatrix def}bd/@E{/Bbury xd/Bburx xd/Bblly xd/Bbllx xd}bd/@c{
-@cp}bd/@P{/$fil 3 def/$Psn xd/$Psc xd array astore/$Prm xd}bd/tcc{@cc}def/@B{
-@gs S @gr F}bd/@b{@cp @B}bd/@sep{CurrentInkName_5(Composite)eq{/$ink_5 -1 def}
-{CurrentInkName_5(Cyan)eq{/$ink_5 0 def}{CurrentInkName_5(Magenta)eq{/$ink_5 1
-def}{CurrentInkName_5(Yellow)eq{/$ink_5 2 def}{CurrentInkName_5(Black)eq
-{/$ink_5 3 def}{/$ink_5 4 def}ifelse}ifelse}ifelse}ifelse}ifelse}bd/@whi{@gs
--72000 dup m -72000 72000 l 72000 dup l 72000 -72000 l @cp 1 SetGry fill @gr}
-bd/@neg{[{1 exch sub}/exec cvx currenttransfer/exec cvx]cvx settransfer @whi}
-bd/deflevel 0 def/@sax{/deflevel deflevel 1 add def}bd/@eax{/deflevel deflevel
-dup 0 gt{1 sub}if def deflevel 0 gt{/eax load}{eax}ifelse}bd/eax{{exec}forall}
-bd/@rax{deflevel 0 eq{@rs @sv}if}bd systemdict/pdfmark known not{/pdfmark
-/cleartomark ld}if/wclip{1 $fm eq{clip}{eoclip}ifelse}bd
-/z{exch findfont exch scalefont setfont}bd/ZB{9 dict dup begin 4 1 roll
-/FontType 3 def/FontMatrix xd/FontBBox xd/Encoding 256 array def 0 1 255{
-Encoding exch/.notdef put}for/CharStrings 256 dict def CharStrings/.notdef{}
-put/Metrics 256 dict def Metrics/.notdef 3 -1 roll put/BuildChar{exch dup
-/$char exch/Encoding get 3 index get def dup/Metrics get $char get aload pop
-setcachedevice begin Encoding exch get CharStrings exch get end exec}def end
-definefont pop}bd/ZBAddChar{findfont begin dup 4 1 roll dup 6 1 roll Encoding 3
-1 roll put CharStrings 3 1 roll put Metrics 3 1 roll put end}bd/Z{findfont dup
-maxlength 2 add dict exch dup{1 index/FID ne{3 index 3 1 roll put}{pop pop}
-ifelse}forall pop dup dup/Encoding get 256 array copy dup/$fe xd/Encoding exch
-put dup/Fontname 3 index put 3 -1 roll dup length 0 ne{0 exch{dup type 0 type
-eq{exch pop}{$fe exch 2 index exch put 1 add}ifelse}forall pop}if dup 256 dict
-dup/$met xd/Metrics exch put dup/FontMatrix get 0 get 1000 mul 1 exch div 3
-index length 256 eq{0 1 255{dup $fe exch get dup/.notdef eq{pop pop}{5 index 3
--1 roll get 2 index mul $met 3 1 roll put}ifelse}for}if pop definefont pop pop
-}bd/CorelIsValidCharpath{pathbbox 3 -1 roll sub abs 0.5 ge 3 1 roll sub abs 0.5
-ge and}bd/@ftx{{currentpoint 3 -1 roll(0)dup 3 -1 roll 0 exch put dup @gs true
-charpath $ctm setmatrix CorelIsValidCharpath{@@txt}if @gr @np stringwidth pop 3
--1 roll add exch m}forall}bd/@ft{matrix currentmatrix exch $sdf{$scf $sca $scp
-@ss}if $fil 1 eq{/@@txt/@pf ld @ftx}{$fil 2 eq{/@@txt/@ff ld @ftx}{$fil 3 eq
-{/@@txt/@Pf ld @ftx}{$fil 4 eq{/@@txt/CorelShfillDoFill ld @ftx}{$t $c $m $y $k
-$n $o @scc_5{show}{pop}ifelse}ifelse}ifelse}ifelse}ifelse $sdf{$dsf $dsa $dsp
-@ss}if setmatrix}bd/@st{matrix currentmatrix exch $SDF{$SCF $SCA $SCP @ss}if $T
-$C $M $Y $K $N $O @scc_5{{currentpoint 3 -1 roll(0)dup 3 -1 roll 0 exch put dup
-@gs true charpath $ctm setmatrix $ptm concat stroke @gr @np stringwidth pop 3
--1 roll add exch m}forall}{pop}ifelse $SDF{$dsf $dsa $dsp @ss}if setmatrix}bd
-/@te{@ft}bd/@tr{@st}bd/@ta{dup @gs @ft @gr @st}bd/@t@a{dup @gs @st @gr @ft}bd
-/@tm{@sm concat}bd/e{/t{@te}def}bd/r{/t{@tr}def}bd/o{/t{pop}def}bd/a{/t{@ta}
-def}bd/@a{/t{@t@a}def}bd/t{@te}def/T{@np $ctm setmatrix/$ttm matrix def}bd/ddt
-{t}def/@t{/$stm $stm currentmatrix def 3 1 roll m $ttm concat ddt $stm
-setmatrix}bd/@n{/$ttm exch matrix rotate def}bd/@s{}bd/@l{}bd/_lineorientation
-0 def/_bitfont null def/_bitlobyte 0 def/_bitkey null def/_bithibyte 0 def
-/@ii{concat 3 index 3 index m 3 index 1 index l 2 copy l 1 index 3 index l 3
-index 3 index l clip pop pop pop pop}bd/@i{@sm @gs @ii 6 index 1 ne{/$frg true
-def pop pop}{1 eq{s1t s1c s1m s1y s1k s1n $O @scc_5/$frg xd}{/$frg false def}
-ifelse 1 eq{@gs $ctm setmatrix F @gr}if}ifelse @np/$ury xd/$urx xd/$lly xd
-/$llx xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul 8 div ceiling cvi string
-def $bkg $frg or{$SDF{$SCF $SCA $SCP @ss}if $llx $lly Tl $urx $llx sub $ury
-$lly sub scale $bkg{$t $c $m $y $k $n $o @scc_5 pop}if $wid $hei abs $bts 1 eq
-{$bkg}{$bts}ifelse[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]/tcc load $bts
-1 eq{imagemask}{image}ifelse $SDF{$dsf $dsa $dsp @ss}if}{$hei abs{tcc pop}
-repeat}ifelse @gr $ctm setmatrix}bd/@I{@sm @gs @ii @np/$ury xd/$urx xd/$lly xd
-/$llx xd/$ncl xd/$bts xd/$hei xd/$wid xd $ngx $llx $lly Tl $urx $llx sub $ury
-$lly sub scale $wid $hei abs $bts[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse
-]$msimage false eq $ncl 1 eq or{/$dat $wid $bts mul $ncl mul 8 div ceiling cvi
-string def/@cc load false $ncl ColorImage}{$wid $bts mul 8 div ceiling cvi $ncl
-3 eq{dup dup/$dat1 exch string def/$dat2 exch string def/$dat3 exch string def
-/@cc1 load/@cc2 load/@cc3 load}{dup dup dup/$dat1 exch string def/$dat2 exch
-string def/$dat3 exch string def/$dat4 exch string def/@cc1 load/@cc2 load
-/@cc3 load/@cc4 load}ifelse true $ncl ColorImage}ifelse $SDF{$dsf $dsa $dsp
-@ss}if @gr $ctm setmatrix}bd/@cc1{currentfile $dat1 readhexstring pop}bd/@cc2{
-currentfile $dat2 readhexstring pop}bd/@cc3{currentfile $dat3 readhexstring pop
-}bd/@cc4{currentfile $dat4 readhexstring pop}bd/$msimage false def/COMP 0 def
-/MaskedImage false def L2?{/@I_2{@sm @gs @ii @np/$ury xd/$urx xd/$lly xd/$llx
-xd/$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul $ncl mul 8 div ceiling
-cvi string def $ngx $ncl 1 eq{/DeviceGray}{$ncl 3 eq{/DeviceRGB}{/DeviceCMYK}
-ifelse}ifelse setcolorspace $llx $lly Tl $urx $llx sub $ury $lly sub scale 8
-dict begin/ImageType 1 def/Width $wid def/Height $hei abs def/BitsPerComponent
-$bts def/Decode $ncl 1 eq{[0 1]}{$ncl 3 eq{[0 1 0 1 0 1]}{[0 1 0 1 0 1 0 1]}
-ifelse}ifelse def/ImageMatrix[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]def
-/DataSource currentfile/ASCII85Decode filter COMP 1 eq{/DCTDecode filter}{COMP
-2 eq{/RunLengthDecode filter}if}ifelse def currentdict end image $SDF{$dsf $dsa
-$dsp @ss}if @gr $ctm setmatrix}bd}{/@I_2{}bd}ifelse/@I_3{@sm @gs @ii @np/$ury
-xd/$urx xd/$lly xd/$llx xd/$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul
-$ncl mul 8 div ceiling cvi string def $ngx $ncl 1 eq{/DeviceGray}{$ncl 3 eq
-{/DeviceRGB}{/DeviceCMYK}ifelse}ifelse setcolorspace $llx $lly Tl $urx $llx sub
-$ury $lly sub scale/ImageDataDict 8 dict def ImageDataDict begin/ImageType 1
-def/Width $wid def/Height $hei abs def/BitsPerComponent $bts def/Decode $ncl 1
-eq{[0 1]}{$ncl 3 eq{[0 1 0 1 0 1]}{[0 1 0 1 0 1 0 1]}ifelse}ifelse def
-/ImageMatrix[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]def/DataSource
-currentfile/ASCII85Decode filter COMP 1 eq{/DCTDecode filter}{COMP 2 eq{
-/RunLengthDecode filter}if}ifelse def end/MaskedImageDict 7 dict def
-MaskedImageDict begin/ImageType 3 def/InterleaveType 3 def/MaskDict
-ImageMaskDict def/DataDict ImageDataDict def end MaskedImageDict image $SDF
-{$dsf $dsa $dsp @ss}if @gr $ctm setmatrix}bd/@SetMask{/$mbts xd/$mhei xd/$mwid
-xd/ImageMaskDict 8 dict def ImageMaskDict begin/ImageType 1 def/Width $mwid def
-/Height $mhei abs def/BitsPerComponent $mbts def/DataSource maskstream def
-/ImageMatrix[$mwid 0 0 $mhei neg 0 $mhei 0 gt{$mhei}{0}ifelse]def/Decode[1 0]
-def end}bd/@daq{dup type/arraytype eq{{}forall}if}bd/@BMP{/@cc xd UseLevel 3 eq
-MaskedImage true eq and{7 -2 roll pop pop @I_3}{12 index 1 gt UseLevel 2 eq
-UseLevel 3 eq or and{7 -2 roll pop pop @I_2}{11 index 1 eq{12 -1 roll pop @i}{
-7 -2 roll pop pop @I}ifelse}ifelse}ifelse}bd
-end
-%%EndResource
-%%EndProlog
-%%BeginSetup
-wCorel10Dict begin
-@BeginSysCorelDict
-2.6131 setmiterlimit
-1.00 setflat
-/$fst 128 def
-%%EndSetup
-
-%%Page: 1 1
-%LogicalPage: 1
-%%BeginPageSetup
-@sv
-@sm
-%%BeginResource: font TimesNewRoman
-%!FontType1-1.0: TimesNewRoman 001.003
-%%Creator: Corel PostScript Engine
-10 dict begin
-/FontName /TimesNewRoman def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array 0 1 255 {1 index exch /.notdef put} for
-dup 43 /plus put
-dup 95 /underscore put
-dup 91 /bracketleft put
-dup 101 /e put
-dup 112 /p put
-dup 98 /b put
-dup 93 /bracketright put
-dup 118 /v put
-dup 104 /h put
-dup 115 /s put
-dup 77 /M put
-readonly def
-/FontBBox {0 0 0 0} readonly def
-currentdict end
-currentfile eexec
-
-A22DD33CB9A1B84FC323D538B9AE6C6014672C02872FAD31037218C4EC2B7124C58AFC4A0E2584B50A778936CFE1053450FEC35486F87A4DA48EF5124EE42DE6
-9DDB8A5C33C2868DDADC1C9B4725483A678DFD1BEF77D7BDC50D39DB17FF02031F39030455C675716EB1B292EA6078E9937BB936698E457C365396CC5708EAAB
-921AD0271E16D4A5F1689C7D8DEDA69051F9EA8B689EDEA8949F2C93CE777268FD3CE5D1713388D0E33A640C77DFB1D300C88E302BEFDF0083AF060D407FD007
-23D3F76465C679461FC0471E7F6EFFFCB5A8E513C1661D98B93E8667005CB8B30093BCB089336AFAB7D61973B6F27AC993F52C52238826E221A63575C2C867DB
-E9C0264C99B65994DB79F83B4627E129923C7C8B2B1AA151D4BCABD1D45DDAEF20FC93DC3E74EA7E80159C16E0BB8F3CB46B99949EDFC075E6BBED3F3C2DAD60
-541A0E397F9CBEA3BF7EEECDBCCB8CF8A11CBCE55E00BD221BB1599EFDF9DD6DD9AEA493EC72A3F81C6A29338A1E92375A7FC0E882448530F420BDD411153925
-0290C929A065ABBF1D0A1A2D683F8F113822976DE21E570480178C363560CC3FF8A2E2A6A54F03E4E8DD535776CA14C576DC4C4CD1931F113CE4E57CAE02695C
-73AEA67F1C8624AE39934B00A8A8C0438EA6CDE17F2B55DC642EC774E58D79CBE0FB62DD13B984A78CC5C8331CAAC8689969D631437DBDEFC1C5F308BD9B8AF1
-AC5BB84A3F75FEC63DAB4DFFDE3ABD2FDE11194680A7F34F64DA94E3371450985FE12BB787F9BEE2C7535148C327BFC304E196E917A2C24F2BD46F7B08D41A89
-03365BA4ED47327250F31A1CD411E646B38BD867961EAFA0CDFCA2C8F90D3D776B8CBAB39366C212F2A32FAB71CD778CAE97170149B1B7869BA18B82E242F3F2
-8CDC47407C7C6B33E1DEC16798608905EFECFF66C930F7C7546301362427A56B86C36A97B8C2F1839200B7E034FFED10A017B048B571F1DED3F11E04E43CDEE5
-81FAE978367396A3DEB8C1B3968E12D7224F963D6F60D8C8DD8D0725FF8FCB5349F9FEC3ABB268C59EF65A6E7FBD35446ED000DAC3D8A47FAA0F3ED01DCBB62E
-FAF873E34D7A88EDF957FCAC97D937F918BBAAA61AF822A5079582EAB26DE3AF4AEDB369CC777321C148952A47C5DB77A4F63E05BC5CF88640A612224B758230
-A0D98FC37B683333F26B5EAF87A97D1143673F1F7897AB326FDCDC82C83C8B8E03509E66377C15015E763C2E65CAB36BC69E5497BDB2E123492460C95B1DB19D
-DBFCAA94E6A1B50F77175B3DD32EEDAC5BE852D6A1D84C70938A1FF3C1AD2B3AAC50EA7019B7E3359E1EA1CC052084547C4F16D0DFE0AB31279ACA06FBD6F43D
-1B49C6C49275826C7EC1AC58AC0E740396E835FB8F5DD241A50FEA596776DD5F05E3247E8D79DC9A16A1968AF159324C05876A7A2CDA6504BDD4B404FFDBF282
-90BECA041BCA87EDB5711F7470A99FD87E08D10E03515F52AEDD1A71E3F01E0434CDD66BF85BCD858134DBB154AF5BD3C26B0C30DA3A1FF9BEC42891F72D74EB
-2DF6B1120EFDB130E15A341C5EAE898B0F4FB00EA7792DF1BDF3C5EC7FAC80FA058DEE50C483229F2F4F4376ADFE918AC5AD8BC80DC92DA0808A69194389DDE9
-D923AF983F929B0522F6C8F3B114A9BAAAC89AD009E73EA889A6413B401FD8080BB9876D6D70A20F852B2C36A49A052D5AE5E0E94654EBE479D454CF314D6CF5
-EE51B2E21812B53E9ABF65971F4C4AD7C51FAC66B023A74AD73C872B3B2D3946F6ECE2C686F67F4AE250563135CEE01789CDE88B1FDD337B81D2512236DED648
-434D825C3F9B26834D9EA981622BD9D3078BBCE8EAC78BE56D0FFB469BAE72645649676676B286D101CBC081770062F134F7DE12AC6BCBCDCDE3F43005270ED7
-559A900BEA621DD447231449A9B93D3765FACC5A2100EE65922C968865B4E87EACBC1BFC619C57CCE4E196507CC020337873351B3B67FD565C7340E8B70F0DD1
-AE759086A6E27FAB5AFE28554DB6C32224459D4E99F8007F7805EDCAC6287B19767A14DFFCA7CFCA0156D41748958AAF6567165F5288AE0B3636E624BC6E4CFF
-204A01117BC2AE53FFCB64EEC996D8CB2F85D52854BBDA3AA6FEFA57125183B54A2E8DE5EF551026CF86C5A49CBE5D0FCDCC27EF7DED0B4911CCD48E0318EA33
-AF42F06B48496B6EB41E077500FE6EA74B49C745BE6B1098C52B1F32E14FB940A7725B32E16CCD50111606EF97F9495ADCB9BBABCD246F0209D1280528FA1717
-BEF21670A83A8094AFB67573CA520E35BBAFF0CA3CFACFCCBBD9757FBDA4351CA7F0835A5CFDC3354B610864C761A8384F618D5D65F69A8B4B7B1B671738728B
-F486181AAF33607C77D1E68D02C8480A383D2207CE5CFA7F72F56CF0E802C634708126F43873DCC7C7D0600D822F4CF9A33D241BB5F574A8D7A7519E1C81E27D
-605BC387CE066F3864D83BADBE96541E401A9986B96DBDAE03C2575AA412E381BEAC2CFBA67E9EA2687A5CBA1450612B0B7A8EDAC485C50CE048EAA929360AA3
-E99BF35887BB018D0128A88F3C5648AF0C5D692DD4C85F2B35D0C753EB49C33C1C92AB048411BA6B44114212CEAF8A8F61D68626F1CD03AE359901ACA2698D55
-3801DA70316BF648D78CD6B8A62DB32122E95E4E38AA0465276FAFB68C929F8DC7681D850A9F455E3512F4FE66FF1D506AA36DBFE778B924A6992346AAE6D49E
-1AF215A21F15A4D934846FB2AEBDABB1B68603AFD65FE82FFAE395DF6A2C3049DA7F54310572DE125282B6F5CDA569CCF53ABA97200B85D386593134E20A3203
-9F1557FB921F4640919371FF05DECFC1EFCE62B851BC86A58D5EB52154A8CEF1394A2C6D9ABEA8368B8107A7C210D65160DDFC592DDD392A48752D2FA59C39F7
-8CEF33E59BFAE4BB5162A93388DF176F75881769FFF8AAEC651863CAC90641CFDD7C770565C540180C76E23020A55D3AFBF0F03DEE3EC43CE4523A0B93D84365
-FEE4DABDA18BCF5661368DFB5F5114644015AA254A70E6B5F8CC67CC6AD2E8B78D3ECB62C36A0997F114A543D308
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-
-%%EndResource
-[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 778 778 250
-333 408 500 500 833 778 180 333 333 500 564 250 333 250 278 500
-500 500 500 500 500 500 500 500 500 278 278 564 564 564 444 921
-722 667 667 722 611 556 722 722 333 389 722 611 889 722 722 556
-722 667 556 611 722 722 944 722 722 611 333 278 333 469 500 333
-444 500 444 500 444 333 500 500 278 278 500 278 778 500 500 500
-500 333 389 278 500 500 722 500 500 444 480 200 480 541 778 500
-778 333 500 444 1000 500 500 333 1000 556 333 889 778 611 778 778
-333 333 444 444 350 500 1000 333 980 389 333 722 778 444 722 250
-333 500 500 500 500 200 500 333 760 276 500 564 333 760 500 400
-549 300 300 333 576 453 250 333 300 310 500 750 750 750 444 722
-722 722 722 722 722 889 667 611 611 611 611 333 333 333 333 722
-722 722 722 722 722 722 564 722 722 722 722 722 722 556 500 444
-444 444 444 444 444 667 444 444 444 444 444 278 278 278 278 500
-500 500 500 500 500 500 549 500 500 500 500 500 500 500 500 ]
-CorelDrawReencodeVect /_R6-TimesNewRoman /TimesNewRoman Z
-%%BeginResource: font PalatinoLinotype
-%!FontType1-1.0: PalatinoLinotype 001.003
-%%Creator: Corel PostScript Engine
-10 dict begin
-/FontName /PalatinoLinotype def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array 0 1 255 {1 index exch /.notdef put} for
-readonly def
-/FontBBox {0 0 0 0} readonly def
-currentdict end
-currentfile eexec
-A22DD33CB9A1B84FC323D538B9AE6C6014672C02872FAD31037218C4EC2B7124C58AFC4A0E2584B50A778936CFE1053450FEC35486F87A4DA48EF5124EE42DE6
-9DDB8A5C33C2868DDADC1C9B4725483A678DFD1BEF77D7BDC50D39DB17FF02031F39030455C675716EB1B292EA6078E9937BB936698E457C365396CC5708EAAB
-921AD0271E16D4A5F1689C7D8DEDA69051F9EA8B689EDEA8949F2C93CE777268FD3CE5D1713388D0E33A640C77DFB1D300C88E302BEFDF0083AF060D407FD007
-23D3F76465C679461FC0471E7F6EFFFCB5A8E513C1661D98B93E8667005CB8B30093BCB089336AFAB7D61973B6F27AC993F52C52238826E221A63575C2C867DB
-E9C0264C99B65994DB79F83B4627E129923C7C8B2B123FFCF8A870241E2A35E4877BF66DE00728B6A7250F981CA1F5F137525858405A1E22963F7A9AA87543D6
-249AC9918CFCC8DF307E539DB46C032AE36DDEF426AA7037BE33004A32FA9C0BE6C4BBF866461EED71DDA0425FFC6D90E7F691426A377E275176FD5245DE1EB3
-BCA3D8D48AF42014782FB0527DAFC2BCC73415B3BCEDE4D2852D1A94B17EFB7161BB78FD7615142FE2FFB22060B353B8109129CB0DD3FD40562CF968E39A3D2B
-049821F0214A998DF4AA387EB03CE5C3AAD65B2ABB59CB896DE8F7449BE3A63948FE9763ECAAB0F15B792A6B3C3B911B2259F74B3ED34084DD5A3237BF33D2D5
-B4B844FEDAA9762323175C9AE3138C5436402B4EFB2BB8633D7CBD592B741ED8F7F01EAB7B6EA788DF45ED982CB334AB4CD1640A6ABFDE7BD24BFC828E7EA3EF
-E5FF652DC16B37E8B6133FDCAF8CA8560B4923DAA0877E9FDE9D90580A6679051015420EE748D1184F8E074BF91A5202C6B2C65E149AEBD90C24F0BC346F3A39
-189E0B0A01077847B02300B5A67DF7631BAD45BA9747A9FA03440F5F42E54E0CE5D328728D3B4047F4684FB2F020B28ECA30FB87B2B1859C99A016440E581D80
-302DBC0EE1FB962261B8C397DE7EF3E3193765FD600D56B4BE21A98F7B860E29E8E3EAB16E05B53F6F6799E64B1AD40168C37F61629D74ACF577135ED15AC14F
-B7969FD7150061A7D77D20140587B2CD592803860C30BB2D6A3075572BC7D4B2E6CE89E67060487B5E6CF31A57D87D5CA32FA2A12FA5733EA293656C928C462F
-D60142F7351F51687678FBEFE37AE86EF867C22F16AAFBDF04D11B89AE7ABF3E8B3C138DEF562A85EC1F485D217BFC3D0255F2933ACD292CE5A4F953FF2FAFDD
-FB8747721CC9AF0435CCF4F000438E2349FB9B3DBDAFECD495C13B348553DD2CB0E07134F069FF05BEF16912B3143F794DC06E1802DAF259EA88018263084961
-6DA4148F9B802558A56CA6064BE90E1AA32ABBBB4FF9BCFA8BAB3224CF63C2B13913360A4F4B976F4B3C1C7112393C2D5161A3307AFAE4746103A22DC505683D
-4719339824F2302D6F35DF4FB9A276013BED9420804AF5CC126F8CD27A42283A22B2039D8CDCEECB18D53BE30858BF17A88265EF23ABB388200BF1D5C78D28CC
-0CFE054EA308C5FD87F28B21587BEA6DD29EAFF360BC6EBB4BCD75F842AB4309FF0BE1BEFD01BB2929577538F0B176BA4C90F99ACAB867CF39292399DF0BE73D
-435CF0D2F0DD3F80C337DC10D7FBF4F820710D8FCD7523B17708552B89278C081C9EC087DC4D355E278E4E082A850688781841EB3A0AA10E9D30AFE5FF5400FB
-FD15C66B4ABE69199FE9F661CA1BA7FCC93F593C67AD17297A452B805B52071DA9F41D0F241564A3189F786E97854BC6E162DE6DF967303875E9AD80D3B5CB3A
-B9EE7EB87863920143111D118894A7A4869C92CE23A793FD605CC4E2B328683E38E0C63E3F2CD413EC32B015311B2FEFDA9F232CE48B98EB677B3195DD7911DB
-94D87D41F9CDB761B3D4559D9DB868FBDAD8921ADF046A1913DB083866409CAA832F01C497969F0BA4EE1097E5EACDFDA244C35D13389048971E8FDA74E0B7C1
-D36A92FAE974B0C970037C5A9083B4B4A26F463244529F58EB549EEFCD843E7B046554C8ABE0CA5CDE2548CB00352427C094AC5C4FFEC73B9689652022E2B745
-A77375650DC98831940FAB4C7BE307BB796EA91BE7FF292037DBBFCB7533250FB23ECE026C6C4D1EAAAFB6E4A29F8866B36A9F769DCE78835BCBFF4B372674A8
-0E2E2246F6E634558500172BE89A9A555E174F13F2AF7F8728F1E2F122CD11B85694DC577C4267AA9A57EDA2217FFC9B5F7E2FA03C207458658B9AE8F3FEEFB4
-30143E6CEF08F9DD99AA980EC30959E3784DE4ACD484AC94E44A97BC9402D7218D50E7440050AC8419AFD7E3ADA5A6B1BF333A95143481679CCA6F1430943AEB
-1705EE48B87E2F39E62B35530AEE86CDE36EBD6EA1109E93CA3EEE87DF96930CC91574C7736A9F5785298C2BBB1DD0D0B973FD5B2253B37AD6E7C83FFBD39925
-77428EF4623D311DF70115B3DC31E5B1E3159837A4A9C66E0AACF4941CD16A2124D9FFBA243DEE16975E6FAEFA91ED36CA469324D485A65D0C098C84FAB8D493
-04002C1428E346D75DB0B99C8E3F0803F309814240E13D591EA8684B0ACDC3BA2E601C3848EBA9B0F685519D8CF0700DFBE5CA568A5053FD818B456CA48697A0
-B48442AE4DA618575DD5E4DB3B9C6728D775D0ED4DB6F8D58BCB2222F706CA755A078AD7481C7D4C69512E21F9C055D7A794C75FF09E7D2B84B92D8333BE2E09
-3CF3E8153CFB87CDEAC1354DC4E9382CE03D87544A9AFD77DCE15711A8D802139222A29A2E5658AE3CF5826685267FABF183E193935B045023040A33C17FB3F8
-04D93BE974CE5DBC76F2E9E012241ADF44C19561E8F75FA49C67BD763C3A69F9CD4BE804CD6982983C2493AB42EDF4653F7A6CD59D9CA664EC64D794D25E0555
-3A595FF91D950C29145D983C5D157175489588341D56EC84BE3387DE7341C0A749EEC3777BE947926C6A838F045E3A102E7C932C0A9A3927058682110C6AB1D1
-4599FC42E9AA8100857200BEEB72ECFA239CCF50A3BF911857B45616EBB2553B8FDA4D3730B5146699670E806AA29C876BE46B3AAC8DCB9BFB0545E510EF4847
-8DE6FF39EE6E849C4287CED69B541FD2E9BE70D8CBA3AE26F510C11397306DC61AF507BE00F9BB7729900EDD969BC35B36C5CF58F48764342FC7B61B5174C4DD
-AA63B02DBC19BDC339551A06100AC4CCE2AFCC66167A01D1248860510919E9107A73C100C61F222B8820ECCE20440677A65D7D87B08F38C54783C846D2D6B020
-5395939F1EAB52CD3F38ED39C959B88F21232237009B5CB1BCFDD8B0065626420EA9EA73AC14A8CF3E9F5B009EBEDA7906D8404FEF961557E4020CD9AA62E0F2
-4CE358CADC1AB2C8D7B21670AD1F49C516D1A4CA856871D969EDED6B898752077F1C9956A9002F45F3C16EB4198E9DE945E2648F23A1E3AAC7ABC4399394FD3C
-0050FEF18DD3C209879CB65B7BF2C731509B9566EB5B4A9F73D0203463FE94EBFF5B62363258BE297838DFC8BD63D85A0031B22E514FE2C121D0E25234B48B40
-4153738F41A48D629E6AE023D4531422465504ED207DE5A578314E51588B443F815DC954D5A29F9C9B4CC77F
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-
-%%EndResource
-[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 536 536 250
-278 371 479 500 840 778 208 333 333 389 500 250 333 250 320 500
-500 500 500 500 500 500 500 500 500 250 250 500 500 500 444 683
-778 611 709 774 611 556 763 832 337 333 726 611 946 831 786 604
-786 668 525 613 778 722 1000 667 667 667 333 606 333 500 500 333
-500 553 444 611 479 333 556 582 291 234 556 291 883 582 546 601
-560 395 424 326 603 565 834 516 556 500 333 500 333 500 536 500
-536 278 500 500 1000 500 500 333 1144 525 331 998 536 667 536 536
-278 278 500 500 606 500 1000 333 979 424 331 827 536 500 667 250
-278 500 500 500 500 500 500 333 747 333 500 500 333 747 333 400
-500 320 320 333 647 628 250 333 320 333 500 807 807 807 444 778
-778 778 778 778 778 944 709 611 611 611 611 337 337 337 337 774
-831 786 786 786 786 786 500 833 778 778 778 778 667 604 556 500
-500 500 500 500 500 758 444 479 479 479 479 291 291 291 291 546
-582 546 546 546 546 546 500 546 603 603 603 603 556 601 556 ]
-CorelDrawReencodeVect /_R15-PalatinoLinotype /PalatinoLinotype Z
-%%BeginResource: font Symbol
-%!FontType1-1.0: Symbol 001.003
-%%Creator: Corel PostScript Engine
-10 dict begin
-/FontName /Symbol def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array 0 1 255 {1 index exch /.notdef put} for
-dup 32 /c32 put
-dup 33 /c33 put
-dup 34 /c34 put
-dup 35 /c35 put
-dup 36 /c36 put
-dup 37 /c37 put
-dup 38 /c38 put
-dup 39 /c39 put
-dup 40 /c40 put
-dup 41 /c41 put
-dup 42 /c42 put
-dup 43 /c43 put
-dup 44 /c44 put
-dup 45 /c45 put
-dup 46 /c46 put
-dup 47 /c47 put
-dup 48 /c48 put
-dup 49 /c49 put
-dup 50 /c50 put
-dup 51 /c51 put
-dup 52 /c52 put
-dup 53 /c53 put
-dup 54 /c54 put
-dup 55 /c55 put
-dup 56 /c56 put
-dup 57 /c57 put
-dup 58 /c58 put
-dup 59 /c59 put
-dup 60 /c60 put
-dup 61 /c61 put
-dup 62 /c62 put
-dup 63 /c63 put
-dup 64 /c64 put
-dup 65 /c65 put
-dup 66 /c66 put
-dup 67 /c67 put
-dup 68 /c68 put
-dup 69 /c69 put
-dup 70 /c70 put
-dup 71 /c71 put
-dup 72 /c72 put
-dup 73 /c73 put
-dup 74 /c74 put
-dup 75 /c75 put
-dup 76 /c76 put
-dup 77 /c77 put
-dup 78 /c78 put
-dup 79 /c79 put
-dup 80 /c80 put
-dup 81 /c81 put
-dup 82 /c82 put
-dup 83 /c83 put
-dup 84 /c84 put
-dup 85 /c85 put
-dup 86 /c86 put
-dup 87 /c87 put
-dup 88 /c88 put
-dup 89 /c89 put
-dup 90 /c90 put
-dup 91 /c91 put
-dup 92 /c92 put
-dup 93 /c93 put
-dup 94 /c94 put
-dup 95 /c95 put
-dup 96 /c96 put
-dup 97 /c97 put
-dup 98 /c98 put
-dup 99 /c99 put
-dup 100 /c100 put
-dup 101 /c101 put
-dup 102 /c102 put
-dup 103 /c103 put
-dup 104 /c104 put
-dup 105 /c105 put
-dup 106 /c106 put
-dup 107 /c107 put
-dup 108 /c108 put
-dup 109 /c109 put
-dup 110 /c110 put
-dup 111 /c111 put
-dup 112 /c112 put
-dup 113 /c113 put
-dup 114 /c114 put
-dup 115 /c115 put
-dup 116 /c116 put
-dup 117 /c117 put
-dup 118 /c118 put
-dup 119 /c119 put
-dup 120 /c120 put
-dup 121 /c121 put
-dup 122 /c122 put
-dup 123 /c123 put
-dup 124 /c124 put
-dup 125 /c125 put
-dup 126 /c126 put
-dup 127 /c127 put
-dup 128 /c128 put
-dup 129 /c129 put
-dup 130 /c130 put
-dup 131 /c131 put
-dup 132 /c132 put
-dup 133 /c133 put
-dup 134 /c134 put
-dup 135 /c135 put
-dup 136 /c136 put
-dup 137 /c137 put
-dup 138 /c138 put
-dup 139 /c139 put
-dup 140 /c140 put
-dup 141 /c141 put
-dup 142 /c142 put
-dup 143 /c143 put
-dup 144 /c144 put
-dup 145 /c145 put
-dup 146 /c146 put
-dup 147 /c147 put
-dup 148 /c148 put
-dup 149 /c149 put
-dup 150 /c150 put
-dup 151 /c151 put
-dup 152 /c152 put
-dup 153 /c153 put
-dup 154 /c154 put
-dup 155 /c155 put
-dup 156 /c156 put
-dup 157 /c157 put
-dup 158 /c158 put
-dup 159 /c159 put
-dup 160 /c160 put
-dup 161 /c161 put
-dup 162 /c162 put
-dup 163 /c163 put
-dup 164 /c164 put
-dup 165 /c165 put
-dup 166 /c166 put
-dup 167 /c167 put
-dup 168 /c168 put
-dup 169 /c169 put
-dup 170 /c170 put
-dup 171 /c171 put
-dup 172 /c172 put
-dup 173 /c173 put
-dup 174 /c174 put
-dup 175 /c175 put
-dup 176 /c176 put
-dup 177 /c177 put
-dup 178 /c178 put
-dup 179 /c179 put
-dup 180 /c180 put
-dup 181 /c181 put
-dup 182 /c182 put
-dup 183 /c183 put
-dup 184 /c184 put
-dup 185 /c185 put
-dup 186 /c186 put
-dup 187 /c187 put
-dup 188 /c188 put
-dup 189 /c189 put
-dup 190 /c190 put
-dup 191 /c191 put
-dup 192 /c192 put
-dup 193 /c193 put
-dup 194 /c194 put
-dup 195 /c195 put
-dup 196 /c196 put
-dup 197 /c197 put
-dup 198 /c198 put
-dup 199 /c199 put
-dup 200 /c200 put
-dup 201 /c201 put
-dup 202 /c202 put
-dup 203 /c203 put
-dup 204 /c204 put
-dup 205 /c205 put
-dup 206 /c206 put
-dup 207 /c207 put
-dup 208 /c208 put
-dup 209 /c209 put
-dup 210 /c210 put
-dup 211 /c211 put
-dup 212 /c212 put
-dup 213 /c213 put
-dup 214 /c214 put
-dup 215 /c215 put
-dup 216 /c216 put
-dup 217 /c217 put
-dup 218 /c218 put
-dup 219 /c219 put
-dup 220 /c220 put
-dup 221 /c221 put
-dup 222 /c222 put
-dup 223 /c223 put
-dup 224 /c224 put
-dup 225 /c225 put
-dup 226 /c226 put
-dup 227 /c227 put
-dup 228 /c228 put
-dup 229 /c229 put
-dup 230 /c230 put
-dup 231 /c231 put
-dup 232 /c232 put
-dup 233 /c233 put
-dup 234 /c234 put
-dup 235 /c235 put
-dup 236 /c236 put
-dup 237 /c237 put
-dup 238 /c238 put
-dup 239 /c239 put
-dup 240 /c240 put
-dup 241 /c241 put
-dup 242 /c242 put
-dup 243 /c243 put
-dup 244 /c244 put
-dup 245 /c245 put
-dup 246 /c246 put
-dup 247 /c247 put
-dup 248 /c248 put
-dup 249 /c249 put
-dup 250 /c250 put
-dup 251 /c251 put
-dup 252 /c252 put
-dup 253 /c253 put
-dup 254 /c254 put
-dup 255 /c255 put
-readonly def
-/FontBBox {0 0 0 0} readonly def
-currentdict end
-currentfile eexec
-
-A22DD33CB9A1B84FC323D538B9AE6C6014672C02872FAD31037218C4EC2B7124C58AFC4A0E2584B50A778936CFE1053450FEC35486F87A4DA48EF5124EE42DE6
-9DDB8A5C33C2868DDADC1C9B4725483A678DFD1BEF77D7BDC50D39DB17FF02031F39030455C675716EB1B292EA6078E9937BB936698E457C365396CC5708EAAB
-921AD0271E16D4A5F1689C7D8DEDA69051F9EA8B689EDEA8949F2C93CE777268FD3CE5D1713388D0E33A640C77DFB1D300C88E302BEFDF0083AF060D407FD007
-23D3F76465C679461FC0471E7F6EFFFCB5A8E513C1661D98B93E8667005CB8B30093BCB089336AFAB7D61973B6F27AC993F52C52238826E221A63575C2C867DB
-E9C0264C99B65994DB79F83B4627E129923C7C8B2B18D54F9E0F0F9280A6425EED2E2B7BB29DA8D3D977AE0F4D887F72309ABE6CB09B8D1F5600779F7C13696C
-8F3E4BF69127EC72FD447C37CF4AB75A587241DBD67A93BC2D95C3E730B03ABD098B4875980FDAF138A689459A018531616478E696F4045125DBEE06D2C7FED9
-09F8CA2637B4E370F0A55DAE7CBA60CCF3808B2EB20FB25A3D4CD370443183E3DF4B48B424BE0327D27E7A1567BE7F2193FA79A5EAFF2E1AD5723BA958E0D588
-396F1B7EDC503FC63A9C6B41764F3A67DA9F2B071264C7151A002557252BC817A6F1B1E4F70AF963CBD653C58F0D7C520D2832D0F62A5B88A182DB874D24A338
-1C8A311CE30018EA97ED9B5152E73AF3092E1F1950F2E48E01FDB94F21BE43700D3D5F6FF722D87385AD97
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-
-%%EndResource
-@sv
-%%EndPageSetup
-@rax %Note: Object
-147.40157 756.85039 192.75591 779.52756 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.50003 0.50003 0.00000 @w
-/$fm 0 def
-147.40157 779.52756 m
-192.75591 779.52756 L
-192.75591 756.85039 L
-147.40157 756.85039 L
-147.40157 779.52756 L
-@c
-S
-
-@rax %Note: Object
-192.75591 768.18841 232.44094 768.18898 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.50003 0.50003 0.00000 @w
-/$fm 0 def
-228.89480 768.18898 m
-192.75591 768.18841 L
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-232.44094 768.18898 m
-225.38494 765.16498 L
-226.39294 767.18098 226.39294 769.19698 225.38494 771.21298 C
-232.44094 768.18898 L
-f
-@J
-
-@rax %Note: Object
-104.88189 768.18784 147.40157 768.18898 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.50003 0.50003 0.00000 @w
-/$fm 0 def
-143.85543 768.18841 m
-104.88189 768.18841 L
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-147.40157 768.18841 m
-140.34557 765.16441 L
-141.35357 767.18041 141.35357 769.19641 140.34557 771.21241 C
-147.40157 768.18841 L
-f
-@J
-
-@rax %Note: Object
-232.44094 759.68504 249.44882 776.69291 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.50003 0.50003 0.00000 @w
-/$fm 0 def
-240.94488 759.68504 m
-236.26091 759.68504 232.44094 763.50501 232.44094 768.18898 c
-232.44094 772.87294 236.26091 776.69291 240.94488 776.69291 c
-245.62885 776.69291 249.44882 772.87294 249.44882 768.18898 c
-249.44882 763.50501 245.62885 759.68504 240.94488 759.68504 c
-@c
-S
-
-@rax %Note: Object
-240.94431 776.69291 240.94545 807.87402 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.50003 0.50003 0.00000 @w
-/$fm 0 def
-240.94488 780.23906 m
-240.94488 807.87402 L
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-240.94488 776.69291 m
-237.92088 783.74891 L
-239.93688 782.74091 241.95288 782.74091 243.96888 783.74891 C
-240.94488 776.69291 L
-f
-@J
-
-@rax %Note: Object
-249.44882 768.18898 286.53307 768.18954 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.50003 0.50003 0.00000 @w
-/$fm 0 def
-286.53307 768.18954 m
-249.44882 768.18898 L
-S
-
-@rax 116.22047 774.34072 138.53225 784.33058 @E
-[0.00028346 0.00000000 0.00000000 0.00028346 116.22046819 776.69288497] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-/_R6-TimesNewRoman 38806.00000 z
-0 0 (\133epb\135) @t
-T
-@rax 202.06772 774.50769 224.37950 784.33058 @E
-[0.00028346 0.00000000 0.00000000 0.00028346 202.06770914 776.69288497] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-/_R6-TimesNewRoman 38806.00000 z
-0 0 (\133evh\135) @t
-T
-@rax 249.44882 797.18485 266.26054 806.81896 @E
-[0.00028346 0.00000000 0.00000000 0.00028346 249.44880977 799.37004950] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-/_R6-TimesNewRoman 38806.00000 z
-0 0 (\133ev\135) @t
-T
-@rax 164.40945 763.16910 181.83912 772.99200 @E
-[0.00028346 0.00000000 0.00000000 0.00028346 164.40944280 765.35430271] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-/_R6-TimesNewRoman 38806.00000 z
-0 0 (\133hb\135) @t
-T
-@rax 264.00813 774.42406 290.60079 784.22513 @E
-[0.00028346 0.00000000 0.00000000 0.00028346 264.00811633 776.77622355] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-/_R6-TimesNewRoman 38806.00000 z
-0 0 (\133epsv\135) @t
-T
-@rax 150.41764 740.96787 188.28935 752.00655 @E
-[0.00028346 0.00000000 0.00000000 0.00028346 168.03041905 744.05165782] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-T
-@rax 150.41764 740.96787 188.28935 752.00655 @E
-[0.00028346 0.00000000 0.00000000 0.00028346 168.03041905 744.05165782] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-/_R15-PalatinoLinotype 38806.00000 z
--62134 0 (w) @t
--30436 0 (eights) @t
-T
-@rax 237.69553 763.95742 244.36318 771.90321 @E
-[0.00028346 0.00000000 0.00000000 0.00028346 237.69551886 763.95738938] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-/Symbol 42332.00000 z
-0 0 (S) @t
-T
-@rax 248.34557 775.69795 253.24611 781.05458 @E
-[0.00028346 0.00000000 0.00000000 0.00028346 248.34556572 775.69792438] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-/_R6-TimesNewRoman 31750.00000 z
-0 0 (+) @t
-T
-@rax 228.17820 774.90992 232.83269 776.85250 @E
-[0.00028346 0.00000000 0.00000000 0.00028346 228.25331449 776.85247552] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-/_R6-TimesNewRoman 31750.00000 z
-0 0 (_) @t
-T
-@rax %Note: Object
-286.29921 765.78321 291.96850 771.02362 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.50003 0.50003 0.00000 @w
-/$fm 0 def
-289.13386 771.02362 m
-290.69518 771.02362 291.96850 769.84668 291.96850 768.40328 c
-291.96850 766.96016 290.69518 765.78321 289.13386 765.78321 c
-287.57254 765.78321 286.29921 766.96016 286.29921 768.40328 c
-286.29921 769.84668 287.57254 771.02362 289.13386 771.02362 c
-@c
-S
-
-@rax %Note: Object
-238.11024 807.87402 243.77953 813.54331 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.50003 0.50003 0.00000 @w
-/$fm 0 def
-240.94488 813.54331 m
-242.50620 813.54331 243.77953 812.26998 243.77953 810.70838 c
-243.77953 809.14734 242.50620 807.87402 240.94488 807.87402 c
-239.38356 807.87402 238.11024 809.14734 238.11024 810.70838 c
-238.11024 812.26998 239.38356 813.54331 240.94488 813.54331 c
-@c
-S
-
-@rax %Note: Object
-99.21260 765.35433 104.72882 771.02362 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.50003 0.50003 0.00000 @w
-/$fm 0 def
-101.97071 771.02362 m
-103.48980 771.02362 104.72882 769.75030 104.72882 768.18869 c
-104.72882 766.62765 103.48980 765.35433 101.97071 765.35433 c
-100.45162 765.35433 99.21260 766.62765 99.21260 768.18869 c
-99.21260 769.75030 100.45162 771.02362 101.97071 771.02362 c
-@c
-S
-
-@rax %Note: Object
-121.88976 765.35433 127.55906 771.02362 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.50003 0.50003 0.00000 @w
-/$fm 0 def
-121.88976 765.35433 m
-127.55906 771.02362 L
-S
-
-@rax 119.05512 748.82891 140.76567 758.62998 @E
-[0.00028346 0.00000000 0.00000000 0.00028346 119.05511376 751.18107488] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-/_R6-TimesNewRoman 38806.00000 z
-0 0 (\133Mp\135) @t
-T
- @gs spg @gr
-%%PageTrailer
-@rs
-@rs
-
-%%Page: 2 2
-%LogicalPage: 2
-%%BeginPageSetup
-@sv
-@sm
-@sv
-%%EndPageSetup
-%%PageTrailer
-@rs
-@rs
-%%Trailer
-@EndSysCorelDict
-end
-%%DocumentSuppliedResources: procset wCorel10Dict 10.0 0
-%%+ font TimesNewRoman
-%%+ font PalatinoLinotype
-%%+ font Symbol
+%!PS-Adobe-3.0 EPSF-3.0 +%%BoundingBox: 98 740 293 814 +%%LanguageLevel: 1 +%%Creator: CorelDRAW 10 +%%Title: LMS_VS.eps +%%CreationDate: Wed Oct 25 12:32:49 2006 +%%For: School of Mechanical Engineering +%%DocumentProcessColors: Black +%%DocumentSuppliedResources: (atend) +%%EndComments +%%BeginProlog +/AutoFlatness false def +/AutoSteps 0 def +/CMYKMarks true def +/UseLevel 1 def +%Build: CorelDRAW 10 Version 10.410 +%Color profile: Disabled +/CorelIsEPS true def +%%BeginResource: procset wCorel10Dict 10.0 0 +/wCorel10Dict 300 dict def wCorel10Dict begin +% Copyright (c)1992-2000 Corel Corporation +% All rights reserved. v10.0 r0.2 +/bd{bind def}bind def/ld{load def}bd/xd{exch def}bd/_ null def/rp{{pop}repeat} +bd/@cp/closepath ld/@gs/gsave ld/@gr/grestore ld/@np/newpath ld/Tl/translate ld +/$sv 0 def/@sv{/$sv save def}bd/@rs{$sv restore}bd/spg/showpage ld/showpage{} +bd currentscreen/@dsp xd/$dsp/@dsp def/$dsa xd/$dsf xd/$sdf false def/$SDF +false def/$Scra 0 def/SetScr/setscreen ld/@ss{2 index 0 eq{$dsf 3 1 roll 4 -1 +roll pop}if exch $Scra add exch load SetScr}bd/SepMode_5 where{pop}{/SepMode_5 +0 def}ifelse/CorelIsSeps where{pop}{/CorelIsSeps false def}ifelse +/CorelIsInRIPSeps where{pop}{/CorelIsInRIPSeps false def}ifelse/CorelIsEPS +where{pop}{/CorelIsEPS false def}ifelse/CurrentInkName_5 where{pop} +{/CurrentInkName_5(Composite)def}ifelse/$ink_5 where{pop}{/$ink_5 -1 def} +ifelse/$c 0 def/$m 0 def/$y 0 def/$k 0 def/$t 1 def/$n _ def/$o 0 def/$fil 0 +def/$C 0 def/$M 0 def/$Y 0 def/$K 0 def/$T 1 def/$N _ def/$O 0 def/$PF false +def/s1c 0 def/s1m 0 def/s1y 0 def/s1k 0 def/s1t 0 def/s1n _ def/$bkg false def +/SK 0 def/SM 0 def/SY 0 def/SC 0 def/$op false def matrix currentmatrix/$ctm xd +/$ptm matrix def/$ttm matrix def/$stm matrix def/$ffpnt true def +/CorelDrawReencodeVect[16#0/grave 16#5/breve 16#6/dotaccent 16#8/ring +16#A/hungarumlaut 16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle +16#60/grave 16#7C/bar +16#82/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl +16#88/circumflex/perthousand/Scaron/guilsinglleft/OE +16#91/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash +16#98/tilde/trademark/scaron/guilsinglright/oe 16#9F/Ydieresis +16#A1/exclamdown/cent/sterling/currency/yen/brokenbar/section +16#a8/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/minus/registered/macron +16#b0/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered +16#b8/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown +16#c0/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +16#c8/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis +16#d0/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply +16#d8/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls +16#e0/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla +16#e8/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis +16#f0/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide +16#f8/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def +/L2?/languagelevel where{pop languagelevel 2 ge}{false}ifelse def/Comp?{ +/LumSepsDict where{pop false}{/AldusSepsDict where{pop false}{1 0 0 0 @gs +setcmykcolor currentcmykcolor @gr add add add 0 ne 0 1 0 0 @gs setcmykcolor +currentcmykcolor @gr add add add 0 ne 0 0 1 0 @gs setcmykcolor currentcmykcolor +@gr add add add 0 ne 0 0 0 1 @gs setcmykcolor currentcmykcolor @gr add add add +0 ne and and and}ifelse}ifelse}bd/@PL{/LV where{pop LV 2 ge L2? not and{@np +/Courier findfont 12 scalefont setfont 72 144 m +(The PostScript level set in the Corel application is higher than)show 72 132 m +(the PostScript level of this device. Change the PS Level in the Corel)show 72 +120 m(application to Level 1 by selecting the PostScript tab in the print)show +72 108 m(dialog, and selecting Level 1 from the Compatibility drop down list.) +show flush spg quit}if}if}bd/@BeginSysCorelDict{systemdict/Corel30Dict known +{systemdict/Corel30Dict get exec}if systemdict/CorelLexDict known{1 systemdict +/CorelLexDict get exec}if}bd/@EndSysCorelDict{systemdict/Corel30Dict known +{end}if/EndCorelLexDict where{pop EndCorelLexDict}if}bd AutoFlatness{/@ifl{dup +currentflat exch sub 10 gt{ +([Error: PathTooComplex; OffendingCommand: AnyPaintingOperator]\n)print flush +@np exit}{currentflat 2 add setflat}ifelse}bd/@fill/fill ld/fill{currentflat{ +{@fill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd/@eofill/eofill ld/eofill +{currentflat{{@eofill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd/@clip +/clip ld/clip{currentflat{{@clip}stopped{@ifl}{exit}ifelse}bind loop setflat} +bd/@eoclip/eoclip ld/eoclip{currentflat{{@eoclip}stopped{@ifl}{exit}ifelse} +bind loop setflat}bd/@stroke/stroke ld/stroke{currentflat{{@stroke}stopped +{@ifl}{exit}ifelse}bind loop setflat}bd}if L2?{/@ssa{true setstrokeadjust}bd}{ +/@ssa{}bd}ifelse/d/setdash ld/j/setlinejoin ld/J/setlinecap ld/M/setmiterlimit +ld/w/setlinewidth ld/O{/$o xd}bd/R{/$O xd}bd/W/eoclip ld/c/curveto ld/C/c ld/l +/lineto ld/L/l ld/rl/rlineto ld/m/moveto ld/n/newpath ld/N/newpath ld/P{11 rp} +bd/u{}bd/U{}bd/A{pop}bd/q/@gs ld/Q/@gr ld/&{}bd/@j{@sv @np}bd/@J{@rs}bd/g{1 +exch sub/$k xd/$c 0 def/$m 0 def/$y 0 def/$t 1 def/$n _ def/$fil 0 def}bd/G{1 +sub neg/$K xd _ 1 0 0 0/$C xd/$M xd/$Y xd/$T xd/$N xd}bd/k{1 index type +/stringtype eq{/$t xd/$n xd}{/$t 0 def/$n _ def}ifelse/$k xd/$y xd/$m xd/$c xd +/$fil 0 def}bd/K{1 index type/stringtype eq{/$T xd/$N xd}{/$T 0 def/$N _ def} +ifelse/$K xd/$Y xd/$M xd/$C xd}bd/x/k ld/X/K ld/sf{1 index type/stringtype eq{ +/s1t xd/s1n xd}{/s1t 0 def/s1n _ def}ifelse/s1k xd/s1y xd/s1m xd/s1c xd}bd/i{ +dup 0 ne{setflat}{pop}ifelse}bd/v{4 -2 roll 2 copy 6 -2 roll c}bd/V/v ld/y{2 +copy c}bd/Y/y ld/@w{matrix rotate/$ptm xd matrix scale $ptm dup concatmatrix +/$ptm xd 1 eq{$ptm exch dup concatmatrix/$ptm xd}if 1 w}bd/@g{1 eq dup/$sdf xd +{/$scp xd/$sca xd/$scf xd}if}bd/@G{1 eq dup/$SDF xd{/$SCP xd/$SCA xd/$SCF xd} +if}bd/@D{2 index 0 eq{$dsf 3 1 roll 4 -1 roll pop}if 3 copy exch $Scra add exch +load SetScr/$dsp xd/$dsa xd/$dsf xd}bd/$ngx{$SDF{$SCF SepMode_5 0 eq{$SCA} +{$dsa}ifelse $SCP @ss}if}bd/@MN{2 copy le{pop}{exch pop}ifelse}bd/@MX{2 copy ge +{pop}{exch pop}ifelse}bd/InRange{3 -1 roll @MN @MX}bd/@sqr{dup 0 rl dup 0 exch +rl neg 0 rl @cp}bd/currentscale{1 0 dtransform matrix defaultmatrix idtransform +dup mul exch dup mul add sqrt 0 1 dtransform matrix defaultmatrix idtransform +dup mul exch dup mul add sqrt}bd/@unscale{}bd/wDstChck{2 1 roll dup 3 -1 roll +eq{1 add}if}bd/@dot{dup mul exch dup mul add 1 exch sub}bd/@lin{exch pop abs 1 +exch sub}bd/cmyk2rgb{3{dup 5 -1 roll add 1 exch sub dup 0 lt{pop 0}if exch} +repeat pop}bd/rgb2cmyk{3{1 exch sub 3 1 roll}repeat 3 copy @MN @MN 3{dup 5 -1 +roll sub neg exch}repeat}bd/rgb2g{2 index .299 mul 2 index .587 mul add 1 index +.114 mul add 4 1 roll pop pop pop}bd/WaldoColor_5 where{pop}{/SetRgb +/setrgbcolor ld/GetRgb/currentrgbcolor ld/SetGry/setgray ld/GetGry/currentgray +ld/SetRgb2 systemdict/setrgbcolor get def/GetRgb2 systemdict/currentrgbcolor +get def/SetHsb systemdict/sethsbcolor get def/GetHsb systemdict +/currenthsbcolor get def/rgb2hsb{SetRgb2 GetHsb}bd/hsb2rgb{3 -1 roll dup floor +sub 3 1 roll SetHsb GetRgb2}bd/setcmykcolor where{pop/LumSepsDict where{pop +/SetCmyk_5{LumSepsDict/setcmykcolor get exec}def}{/AldusSepsDict where{pop +/SetCmyk_5{AldusSepsDict/setcmykcolor get exec}def}{/SetCmyk_5/setcmykcolor ld +}ifelse}ifelse}{/SetCmyk_5{cmyk2rgb SetRgb}bd}ifelse/currentcmykcolor where{ +pop/GetCmyk/currentcmykcolor ld}{/GetCmyk{GetRgb rgb2cmyk}bd}ifelse +/setoverprint where{pop}{/setoverprint{/$op xd}bd}ifelse/currentoverprint where +{pop}{/currentoverprint{$op}bd}ifelse/@tc_5{5 -1 roll dup 1 ge{pop}{4{dup 6 -1 +roll mul exch}repeat pop}ifelse}bd/@trp{exch pop 5 1 roll @tc_5}bd +/setprocesscolor_5{SepMode_5 0 eq{SetCmyk_5}{0 4 $ink_5 sub index exch pop 5 1 +roll pop pop pop pop SepsColor true eq{$ink_5 3 gt{1 sub neg SetGry}{0 0 0 4 +$ink_5 roll SetCmyk_5}ifelse}{1 sub neg SetGry}ifelse}ifelse}bd +/findcmykcustomcolor where{pop}{/findcmykcustomcolor{5 array astore}bd}ifelse +/Corelsetcustomcolor_exists false def/setcustomcolor where{pop +/Corelsetcustomcolor_exists true def}if CorelIsSeps true eq CorelIsInRIPSeps +false eq and{/Corelsetcustomcolor_exists false def}if +Corelsetcustomcolor_exists false eq{/setcustomcolor{exch aload pop SepMode_5 0 +eq{pop @tc_5 setprocesscolor_5}{CurrentInkName_5 eq{4 index}{0}ifelse 6 1 roll +5 rp 1 sub neg SetGry}ifelse}bd}if/@scc_5{dup type/booleantype eq{dup +currentoverprint ne{setoverprint}{pop}ifelse}{1 eq setoverprint}ifelse dup _ eq +{pop setprocesscolor_5 pop}{findcmykcustomcolor exch setcustomcolor}ifelse +SepMode_5 0 eq{true}{GetGry 1 eq currentoverprint and not}ifelse}bd/colorimage +where{pop/ColorImage{colorimage}def}{/ColorImage{/ncolors xd/$multi xd $multi +true eq{ncolors 3 eq{/daqB xd/daqG xd/daqR xd pop pop exch pop abs{daqR pop +daqG pop daqB pop}repeat}{/daqK xd/daqY xd/daqM xd/daqC xd pop pop exch pop abs +{daqC pop daqM pop daqY pop daqK pop}repeat}ifelse}{/dataaq xd{dataaq ncolors +dup 3 eq{/$dat xd 0 1 $dat length 3 div 1 sub{dup 3 mul $dat 1 index get 255 +div $dat 2 index 1 add get 255 div $dat 3 index 2 add get 255 div rgb2g 255 mul +cvi exch pop $dat 3 1 roll put}for $dat 0 $dat length 3 idiv getinterval pop}{ +4 eq{/$dat xd 0 1 $dat length 4 div 1 sub{dup 4 mul $dat 1 index get 255 div +$dat 2 index 1 add get 255 div $dat 3 index 2 add get 255 div $dat 4 index 3 +add get 255 div cmyk2rgb rgb2g 255 mul cvi exch pop $dat 3 1 roll put}for $dat +0 $dat length ncolors idiv getinterval}if}ifelse}image}ifelse}bd}ifelse +/setcmykcolor{1 5 1 roll _ currentoverprint @scc_5/$ffpnt xd}bd +/currentcmykcolor{GetCmyk}bd/setrgbcolor{rgb2cmyk setcmykcolor}bd +/currentrgbcolor{currentcmykcolor cmyk2rgb}bd/sethsbcolor{hsb2rgb setrgbcolor} +bd/currenthsbcolor{currentrgbcolor rgb2hsb}bd/setgray{dup dup setrgbcolor}bd +/currentgray{currentrgbcolor rgb2g}bd/InsideDCS false def/IMAGE/image ld/image +{InsideDCS{IMAGE}{/EPSDict where{pop SepMode_5 0 eq{IMAGE}{dup type/dicttype eq +{dup/ImageType get 1 ne{IMAGE}{dup dup/BitsPerComponent get 8 eq exch +/BitsPerComponent get 1 eq or currentcolorspace 0 get/DeviceGray eq and{ +CurrentInkName_5(Black)eq{IMAGE}{dup/DataSource get/TCC xd/Height get abs{TCC +pop}repeat}ifelse}{IMAGE}ifelse}ifelse}{2 index 1 ne{CurrentInkName_5(Black)eq +{IMAGE}{/TCC xd pop pop exch pop abs{TCC pop}repeat}ifelse}{IMAGE}ifelse} +ifelse}ifelse}{IMAGE}ifelse}ifelse}bd}ifelse/WaldoColor_5 true def/$fm 0 def +/wfill{1 $fm eq{fill}{eofill}ifelse}bd/@Pf{@sv SepMode_5 0 eq $Psc 0 ne or +$ink_5 3 eq or{0 J 0 j[]0 d $t $c $m $y $k $n $o @scc_5 pop $ctm setmatrix 72 +1000 div dup matrix scale dup concat dup Bburx exch Bbury exch itransform +ceiling cvi/Bbury xd ceiling cvi/Bburx xd Bbllx exch Bblly exch itransform +floor cvi/Bblly xd floor cvi/Bbllx xd $Prm aload pop $Psn load exec}{1 SetGry +wfill}ifelse @rs @np}bd/F{matrix currentmatrix $sdf{$scf $sca $scp @ss}if $fil +1 eq{CorelPtrnDoFill}{$fil 2 eq{@ff}{$fil 3 eq{@Pf}{$fil 4 eq +{CorelShfillDoFill}{$t $c $m $y $k $n $o @scc_5{wfill}{@np}ifelse}ifelse} +ifelse}ifelse}ifelse $sdf{$dsf $dsa $dsp @ss}if setmatrix}bd/f{@cp F}bd/S{ +matrix currentmatrix $ctm setmatrix $SDF{$SCF $SCA $SCP @ss}if $T $C $M $Y $K +$N $O @scc_5{matrix currentmatrix $ptm concat stroke setmatrix}{@np}ifelse $SDF +{$dsf $dsa $dsp @ss}if setmatrix}bd/s{@cp S}bd/B{@gs F @gr S}bd/b{@cp B}bd/_E{ +5 array astore exch cvlit xd}bd/@cc{currentfile $dat readhexstring pop}bd/@sm{ +/$ctm $ctm currentmatrix def}bd/@E{/Bbury xd/Bburx xd/Bblly xd/Bbllx xd}bd/@c{ +@cp}bd/@P{/$fil 3 def/$Psn xd/$Psc xd array astore/$Prm xd}bd/tcc{@cc}def/@B{ +@gs S @gr F}bd/@b{@cp @B}bd/@sep{CurrentInkName_5(Composite)eq{/$ink_5 -1 def} +{CurrentInkName_5(Cyan)eq{/$ink_5 0 def}{CurrentInkName_5(Magenta)eq{/$ink_5 1 +def}{CurrentInkName_5(Yellow)eq{/$ink_5 2 def}{CurrentInkName_5(Black)eq +{/$ink_5 3 def}{/$ink_5 4 def}ifelse}ifelse}ifelse}ifelse}ifelse}bd/@whi{@gs +-72000 dup m -72000 72000 l 72000 dup l 72000 -72000 l @cp 1 SetGry fill @gr} +bd/@neg{[{1 exch sub}/exec cvx currenttransfer/exec cvx]cvx settransfer @whi} +bd/deflevel 0 def/@sax{/deflevel deflevel 1 add def}bd/@eax{/deflevel deflevel +dup 0 gt{1 sub}if def deflevel 0 gt{/eax load}{eax}ifelse}bd/eax{{exec}forall} +bd/@rax{deflevel 0 eq{@rs @sv}if}bd systemdict/pdfmark known not{/pdfmark +/cleartomark ld}if/wclip{1 $fm eq{clip}{eoclip}ifelse}bd +/z{exch findfont exch scalefont setfont}bd/ZB{9 dict dup begin 4 1 roll +/FontType 3 def/FontMatrix xd/FontBBox xd/Encoding 256 array def 0 1 255{ +Encoding exch/.notdef put}for/CharStrings 256 dict def CharStrings/.notdef{} +put/Metrics 256 dict def Metrics/.notdef 3 -1 roll put/BuildChar{exch dup +/$char exch/Encoding get 3 index get def dup/Metrics get $char get aload pop +setcachedevice begin Encoding exch get CharStrings exch get end exec}def end +definefont pop}bd/ZBAddChar{findfont begin dup 4 1 roll dup 6 1 roll Encoding 3 +1 roll put CharStrings 3 1 roll put Metrics 3 1 roll put end}bd/Z{findfont dup +maxlength 2 add dict exch dup{1 index/FID ne{3 index 3 1 roll put}{pop pop} +ifelse}forall pop dup dup/Encoding get 256 array copy dup/$fe xd/Encoding exch +put dup/Fontname 3 index put 3 -1 roll dup length 0 ne{0 exch{dup type 0 type +eq{exch pop}{$fe exch 2 index exch put 1 add}ifelse}forall pop}if dup 256 dict +dup/$met xd/Metrics exch put dup/FontMatrix get 0 get 1000 mul 1 exch div 3 +index length 256 eq{0 1 255{dup $fe exch get dup/.notdef eq{pop pop}{5 index 3 +-1 roll get 2 index mul $met 3 1 roll put}ifelse}for}if pop definefont pop pop +}bd/CorelIsValidCharpath{pathbbox 3 -1 roll sub abs 0.5 ge 3 1 roll sub abs 0.5 +ge and}bd/@ftx{{currentpoint 3 -1 roll(0)dup 3 -1 roll 0 exch put dup @gs true +charpath $ctm setmatrix CorelIsValidCharpath{@@txt}if @gr @np stringwidth pop 3 +-1 roll add exch m}forall}bd/@ft{matrix currentmatrix exch $sdf{$scf $sca $scp +@ss}if $fil 1 eq{/@@txt/@pf ld @ftx}{$fil 2 eq{/@@txt/@ff ld @ftx}{$fil 3 eq +{/@@txt/@Pf ld @ftx}{$fil 4 eq{/@@txt/CorelShfillDoFill ld @ftx}{$t $c $m $y $k +$n $o @scc_5{show}{pop}ifelse}ifelse}ifelse}ifelse}ifelse $sdf{$dsf $dsa $dsp +@ss}if setmatrix}bd/@st{matrix currentmatrix exch $SDF{$SCF $SCA $SCP @ss}if $T +$C $M $Y $K $N $O @scc_5{{currentpoint 3 -1 roll(0)dup 3 -1 roll 0 exch put dup +@gs true charpath $ctm setmatrix $ptm concat stroke @gr @np stringwidth pop 3 +-1 roll add exch m}forall}{pop}ifelse $SDF{$dsf $dsa $dsp @ss}if setmatrix}bd +/@te{@ft}bd/@tr{@st}bd/@ta{dup @gs @ft @gr @st}bd/@t@a{dup @gs @st @gr @ft}bd +/@tm{@sm concat}bd/e{/t{@te}def}bd/r{/t{@tr}def}bd/o{/t{pop}def}bd/a{/t{@ta} +def}bd/@a{/t{@t@a}def}bd/t{@te}def/T{@np $ctm setmatrix/$ttm matrix def}bd/ddt +{t}def/@t{/$stm $stm currentmatrix def 3 1 roll m $ttm concat ddt $stm +setmatrix}bd/@n{/$ttm exch matrix rotate def}bd/@s{}bd/@l{}bd/_lineorientation +0 def/_bitfont null def/_bitlobyte 0 def/_bitkey null def/_bithibyte 0 def +/@ii{concat 3 index 3 index m 3 index 1 index l 2 copy l 1 index 3 index l 3 +index 3 index l clip pop pop pop pop}bd/@i{@sm @gs @ii 6 index 1 ne{/$frg true +def pop pop}{1 eq{s1t s1c s1m s1y s1k s1n $O @scc_5/$frg xd}{/$frg false def} +ifelse 1 eq{@gs $ctm setmatrix F @gr}if}ifelse @np/$ury xd/$urx xd/$lly xd +/$llx xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul 8 div ceiling cvi string +def $bkg $frg or{$SDF{$SCF $SCA $SCP @ss}if $llx $lly Tl $urx $llx sub $ury +$lly sub scale $bkg{$t $c $m $y $k $n $o @scc_5 pop}if $wid $hei abs $bts 1 eq +{$bkg}{$bts}ifelse[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]/tcc load $bts +1 eq{imagemask}{image}ifelse $SDF{$dsf $dsa $dsp @ss}if}{$hei abs{tcc pop} +repeat}ifelse @gr $ctm setmatrix}bd/@I{@sm @gs @ii @np/$ury xd/$urx xd/$lly xd +/$llx xd/$ncl xd/$bts xd/$hei xd/$wid xd $ngx $llx $lly Tl $urx $llx sub $ury +$lly sub scale $wid $hei abs $bts[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse +]$msimage false eq $ncl 1 eq or{/$dat $wid $bts mul $ncl mul 8 div ceiling cvi +string def/@cc load false $ncl ColorImage}{$wid $bts mul 8 div ceiling cvi $ncl +3 eq{dup dup/$dat1 exch string def/$dat2 exch string def/$dat3 exch string def +/@cc1 load/@cc2 load/@cc3 load}{dup dup dup/$dat1 exch string def/$dat2 exch +string def/$dat3 exch string def/$dat4 exch string def/@cc1 load/@cc2 load +/@cc3 load/@cc4 load}ifelse true $ncl ColorImage}ifelse $SDF{$dsf $dsa $dsp +@ss}if @gr $ctm setmatrix}bd/@cc1{currentfile $dat1 readhexstring pop}bd/@cc2{ +currentfile $dat2 readhexstring pop}bd/@cc3{currentfile $dat3 readhexstring pop +}bd/@cc4{currentfile $dat4 readhexstring pop}bd/$msimage false def/COMP 0 def +/MaskedImage false def L2?{/@I_2{@sm @gs @ii @np/$ury xd/$urx xd/$lly xd/$llx +xd/$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul $ncl mul 8 div ceiling +cvi string def $ngx $ncl 1 eq{/DeviceGray}{$ncl 3 eq{/DeviceRGB}{/DeviceCMYK} +ifelse}ifelse setcolorspace $llx $lly Tl $urx $llx sub $ury $lly sub scale 8 +dict begin/ImageType 1 def/Width $wid def/Height $hei abs def/BitsPerComponent +$bts def/Decode $ncl 1 eq{[0 1]}{$ncl 3 eq{[0 1 0 1 0 1]}{[0 1 0 1 0 1 0 1]} +ifelse}ifelse def/ImageMatrix[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]def +/DataSource currentfile/ASCII85Decode filter COMP 1 eq{/DCTDecode filter}{COMP +2 eq{/RunLengthDecode filter}if}ifelse def currentdict end image $SDF{$dsf $dsa +$dsp @ss}if @gr $ctm setmatrix}bd}{/@I_2{}bd}ifelse/@I_3{@sm @gs @ii @np/$ury +xd/$urx xd/$lly xd/$llx xd/$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul +$ncl mul 8 div ceiling cvi string def $ngx $ncl 1 eq{/DeviceGray}{$ncl 3 eq +{/DeviceRGB}{/DeviceCMYK}ifelse}ifelse setcolorspace $llx $lly Tl $urx $llx sub +$ury $lly sub scale/ImageDataDict 8 dict def ImageDataDict begin/ImageType 1 +def/Width $wid def/Height $hei abs def/BitsPerComponent $bts def/Decode $ncl 1 +eq{[0 1]}{$ncl 3 eq{[0 1 0 1 0 1]}{[0 1 0 1 0 1 0 1]}ifelse}ifelse def +/ImageMatrix[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]def/DataSource +currentfile/ASCII85Decode filter COMP 1 eq{/DCTDecode filter}{COMP 2 eq{ +/RunLengthDecode filter}if}ifelse def end/MaskedImageDict 7 dict def +MaskedImageDict begin/ImageType 3 def/InterleaveType 3 def/MaskDict +ImageMaskDict def/DataDict ImageDataDict def end MaskedImageDict image $SDF +{$dsf $dsa $dsp @ss}if @gr $ctm setmatrix}bd/@SetMask{/$mbts xd/$mhei xd/$mwid +xd/ImageMaskDict 8 dict def ImageMaskDict begin/ImageType 1 def/Width $mwid def +/Height $mhei abs def/BitsPerComponent $mbts def/DataSource maskstream def +/ImageMatrix[$mwid 0 0 $mhei neg 0 $mhei 0 gt{$mhei}{0}ifelse]def/Decode[1 0] +def end}bd/@daq{dup type/arraytype eq{{}forall}if}bd/@BMP{/@cc xd UseLevel 3 eq +MaskedImage true eq and{7 -2 roll pop pop @I_3}{12 index 1 gt UseLevel 2 eq +UseLevel 3 eq or and{7 -2 roll pop pop @I_2}{11 index 1 eq{12 -1 roll pop @i}{ +7 -2 roll pop pop @I}ifelse}ifelse}ifelse}bd +end +%%EndResource +%%EndProlog +%%BeginSetup +wCorel10Dict begin +@BeginSysCorelDict +2.6131 setmiterlimit +1.00 setflat +/$fst 128 def +%%EndSetup + +%%Page: 1 1 +%LogicalPage: 1 +%%BeginPageSetup +@sv +@sm +%%BeginResource: font TimesNewRoman +%!FontType1-1.0: TimesNewRoman 001.003 +%%Creator: Corel PostScript Engine +10 dict begin +/FontName /TimesNewRoman def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array 0 1 255 {1 index exch /.notdef put} for +dup 43 /plus put +dup 95 /underscore put +dup 91 /bracketleft put +dup 101 /e put +dup 112 /p put +dup 98 /b put +dup 93 /bracketright put +dup 118 /v put +dup 104 /h put +dup 115 /s put +dup 77 /M put +readonly def +/FontBBox {0 0 0 0} readonly def +currentdict end +currentfile eexec + +A22DD33CB9A1B84FC323D538B9AE6C6014672C02872FAD31037218C4EC2B7124C58AFC4A0E2584B50A778936CFE1053450FEC35486F87A4DA48EF5124EE42DE6 +9DDB8A5C33C2868DDADC1C9B4725483A678DFD1BEF77D7BDC50D39DB17FF02031F39030455C675716EB1B292EA6078E9937BB936698E457C365396CC5708EAAB +921AD0271E16D4A5F1689C7D8DEDA69051F9EA8B689EDEA8949F2C93CE777268FD3CE5D1713388D0E33A640C77DFB1D300C88E302BEFDF0083AF060D407FD007 +23D3F76465C679461FC0471E7F6EFFFCB5A8E513C1661D98B93E8667005CB8B30093BCB089336AFAB7D61973B6F27AC993F52C52238826E221A63575C2C867DB +E9C0264C99B65994DB79F83B4627E129923C7C8B2B1AA151D4BCABD1D45DDAEF20FC93DC3E74EA7E80159C16E0BB8F3CB46B99949EDFC075E6BBED3F3C2DAD60 +541A0E397F9CBEA3BF7EEECDBCCB8CF8A11CBCE55E00BD221BB1599EFDF9DD6DD9AEA493EC72A3F81C6A29338A1E92375A7FC0E882448530F420BDD411153925 +0290C929A065ABBF1D0A1A2D683F8F113822976DE21E570480178C363560CC3FF8A2E2A6A54F03E4E8DD535776CA14C576DC4C4CD1931F113CE4E57CAE02695C +73AEA67F1C8624AE39934B00A8A8C0438EA6CDE17F2B55DC642EC774E58D79CBE0FB62DD13B984A78CC5C8331CAAC8689969D631437DBDEFC1C5F308BD9B8AF1 +AC5BB84A3F75FEC63DAB4DFFDE3ABD2FDE11194680A7F34F64DA94E3371450985FE12BB787F9BEE2C7535148C327BFC304E196E917A2C24F2BD46F7B08D41A89 +03365BA4ED47327250F31A1CD411E646B38BD867961EAFA0CDFCA2C8F90D3D776B8CBAB39366C212F2A32FAB71CD778CAE97170149B1B7869BA18B82E242F3F2 +8CDC47407C7C6B33E1DEC16798608905EFECFF66C930F7C7546301362427A56B86C36A97B8C2F1839200B7E034FFED10A017B048B571F1DED3F11E04E43CDEE5 +81FAE978367396A3DEB8C1B3968E12D7224F963D6F60D8C8DD8D0725FF8FCB5349F9FEC3ABB268C59EF65A6E7FBD35446ED000DAC3D8A47FAA0F3ED01DCBB62E +FAF873E34D7A88EDF957FCAC97D937F918BBAAA61AF822A5079582EAB26DE3AF4AEDB369CC777321C148952A47C5DB77A4F63E05BC5CF88640A612224B758230 +A0D98FC37B683333F26B5EAF87A97D1143673F1F7897AB326FDCDC82C83C8B8E03509E66377C15015E763C2E65CAB36BC69E5497BDB2E123492460C95B1DB19D +DBFCAA94E6A1B50F77175B3DD32EEDAC5BE852D6A1D84C70938A1FF3C1AD2B3AAC50EA7019B7E3359E1EA1CC052084547C4F16D0DFE0AB31279ACA06FBD6F43D +1B49C6C49275826C7EC1AC58AC0E740396E835FB8F5DD241A50FEA596776DD5F05E3247E8D79DC9A16A1968AF159324C05876A7A2CDA6504BDD4B404FFDBF282 +90BECA041BCA87EDB5711F7470A99FD87E08D10E03515F52AEDD1A71E3F01E0434CDD66BF85BCD858134DBB154AF5BD3C26B0C30DA3A1FF9BEC42891F72D74EB +2DF6B1120EFDB130E15A341C5EAE898B0F4FB00EA7792DF1BDF3C5EC7FAC80FA058DEE50C483229F2F4F4376ADFE918AC5AD8BC80DC92DA0808A69194389DDE9 +D923AF983F929B0522F6C8F3B114A9BAAAC89AD009E73EA889A6413B401FD8080BB9876D6D70A20F852B2C36A49A052D5AE5E0E94654EBE479D454CF314D6CF5 +EE51B2E21812B53E9ABF65971F4C4AD7C51FAC66B023A74AD73C872B3B2D3946F6ECE2C686F67F4AE250563135CEE01789CDE88B1FDD337B81D2512236DED648 +434D825C3F9B26834D9EA981622BD9D3078BBCE8EAC78BE56D0FFB469BAE72645649676676B286D101CBC081770062F134F7DE12AC6BCBCDCDE3F43005270ED7 +559A900BEA621DD447231449A9B93D3765FACC5A2100EE65922C968865B4E87EACBC1BFC619C57CCE4E196507CC020337873351B3B67FD565C7340E8B70F0DD1 +AE759086A6E27FAB5AFE28554DB6C32224459D4E99F8007F7805EDCAC6287B19767A14DFFCA7CFCA0156D41748958AAF6567165F5288AE0B3636E624BC6E4CFF +204A01117BC2AE53FFCB64EEC996D8CB2F85D52854BBDA3AA6FEFA57125183B54A2E8DE5EF551026CF86C5A49CBE5D0FCDCC27EF7DED0B4911CCD48E0318EA33 +AF42F06B48496B6EB41E077500FE6EA74B49C745BE6B1098C52B1F32E14FB940A7725B32E16CCD50111606EF97F9495ADCB9BBABCD246F0209D1280528FA1717 +BEF21670A83A8094AFB67573CA520E35BBAFF0CA3CFACFCCBBD9757FBDA4351CA7F0835A5CFDC3354B610864C761A8384F618D5D65F69A8B4B7B1B671738728B +F486181AAF33607C77D1E68D02C8480A383D2207CE5CFA7F72F56CF0E802C634708126F43873DCC7C7D0600D822F4CF9A33D241BB5F574A8D7A7519E1C81E27D +605BC387CE066F3864D83BADBE96541E401A9986B96DBDAE03C2575AA412E381BEAC2CFBA67E9EA2687A5CBA1450612B0B7A8EDAC485C50CE048EAA929360AA3 +E99BF35887BB018D0128A88F3C5648AF0C5D692DD4C85F2B35D0C753EB49C33C1C92AB048411BA6B44114212CEAF8A8F61D68626F1CD03AE359901ACA2698D55 +3801DA70316BF648D78CD6B8A62DB32122E95E4E38AA0465276FAFB68C929F8DC7681D850A9F455E3512F4FE66FF1D506AA36DBFE778B924A6992346AAE6D49E +1AF215A21F15A4D934846FB2AEBDABB1B68603AFD65FE82FFAE395DF6A2C3049DA7F54310572DE125282B6F5CDA569CCF53ABA97200B85D386593134E20A3203 +9F1557FB921F4640919371FF05DECFC1EFCE62B851BC86A58D5EB52154A8CEF1394A2C6D9ABEA8368B8107A7C210D65160DDFC592DDD392A48752D2FA59C39F7 +8CEF33E59BFAE4BB5162A93388DF176F75881769FFF8AAEC651863CAC90641CFDD7C770565C540180C76E23020A55D3AFBF0F03DEE3EC43CE4523A0B93D84365 +FEE4DABDA18BCF5661368DFB5F5114644015AA254A70E6B5F8CC67CC6AD2E8B78D3ECB62C36A0997F114A543D308 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndResource +[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 778 778 250 +333 408 500 500 833 778 180 333 333 500 564 250 333 250 278 500 +500 500 500 500 500 500 500 500 500 278 278 564 564 564 444 921 +722 667 667 722 611 556 722 722 333 389 722 611 889 722 722 556 +722 667 556 611 722 722 944 722 722 611 333 278 333 469 500 333 +444 500 444 500 444 333 500 500 278 278 500 278 778 500 500 500 +500 333 389 278 500 500 722 500 500 444 480 200 480 541 778 500 +778 333 500 444 1000 500 500 333 1000 556 333 889 778 611 778 778 +333 333 444 444 350 500 1000 333 980 389 333 722 778 444 722 250 +333 500 500 500 500 200 500 333 760 276 500 564 333 760 500 400 +549 300 300 333 576 453 250 333 300 310 500 750 750 750 444 722 +722 722 722 722 722 889 667 611 611 611 611 333 333 333 333 722 +722 722 722 722 722 722 564 722 722 722 722 722 722 556 500 444 +444 444 444 444 444 667 444 444 444 444 444 278 278 278 278 500 +500 500 500 500 500 500 549 500 500 500 500 500 500 500 500 ] +CorelDrawReencodeVect /_R6-TimesNewRoman /TimesNewRoman Z +%%BeginResource: font PalatinoLinotype +%!FontType1-1.0: PalatinoLinotype 001.003 +%%Creator: Corel PostScript Engine +10 dict begin +/FontName /PalatinoLinotype def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array 0 1 255 {1 index exch /.notdef put} for +readonly def +/FontBBox {0 0 0 0} readonly def +currentdict end +currentfile eexec +A22DD33CB9A1B84FC323D538B9AE6C6014672C02872FAD31037218C4EC2B7124C58AFC4A0E2584B50A778936CFE1053450FEC35486F87A4DA48EF5124EE42DE6 +9DDB8A5C33C2868DDADC1C9B4725483A678DFD1BEF77D7BDC50D39DB17FF02031F39030455C675716EB1B292EA6078E9937BB936698E457C365396CC5708EAAB +921AD0271E16D4A5F1689C7D8DEDA69051F9EA8B689EDEA8949F2C93CE777268FD3CE5D1713388D0E33A640C77DFB1D300C88E302BEFDF0083AF060D407FD007 +23D3F76465C679461FC0471E7F6EFFFCB5A8E513C1661D98B93E8667005CB8B30093BCB089336AFAB7D61973B6F27AC993F52C52238826E221A63575C2C867DB +E9C0264C99B65994DB79F83B4627E129923C7C8B2B123FFCF8A870241E2A35E4877BF66DE00728B6A7250F981CA1F5F137525858405A1E22963F7A9AA87543D6 +249AC9918CFCC8DF307E539DB46C032AE36DDEF426AA7037BE33004A32FA9C0BE6C4BBF866461EED71DDA0425FFC6D90E7F691426A377E275176FD5245DE1EB3 +BCA3D8D48AF42014782FB0527DAFC2BCC73415B3BCEDE4D2852D1A94B17EFB7161BB78FD7615142FE2FFB22060B353B8109129CB0DD3FD40562CF968E39A3D2B +049821F0214A998DF4AA387EB03CE5C3AAD65B2ABB59CB896DE8F7449BE3A63948FE9763ECAAB0F15B792A6B3C3B911B2259F74B3ED34084DD5A3237BF33D2D5 +B4B844FEDAA9762323175C9AE3138C5436402B4EFB2BB8633D7CBD592B741ED8F7F01EAB7B6EA788DF45ED982CB334AB4CD1640A6ABFDE7BD24BFC828E7EA3EF +E5FF652DC16B37E8B6133FDCAF8CA8560B4923DAA0877E9FDE9D90580A6679051015420EE748D1184F8E074BF91A5202C6B2C65E149AEBD90C24F0BC346F3A39 +189E0B0A01077847B02300B5A67DF7631BAD45BA9747A9FA03440F5F42E54E0CE5D328728D3B4047F4684FB2F020B28ECA30FB87B2B1859C99A016440E581D80 +302DBC0EE1FB962261B8C397DE7EF3E3193765FD600D56B4BE21A98F7B860E29E8E3EAB16E05B53F6F6799E64B1AD40168C37F61629D74ACF577135ED15AC14F +B7969FD7150061A7D77D20140587B2CD592803860C30BB2D6A3075572BC7D4B2E6CE89E67060487B5E6CF31A57D87D5CA32FA2A12FA5733EA293656C928C462F +D60142F7351F51687678FBEFE37AE86EF867C22F16AAFBDF04D11B89AE7ABF3E8B3C138DEF562A85EC1F485D217BFC3D0255F2933ACD292CE5A4F953FF2FAFDD +FB8747721CC9AF0435CCF4F000438E2349FB9B3DBDAFECD495C13B348553DD2CB0E07134F069FF05BEF16912B3143F794DC06E1802DAF259EA88018263084961 +6DA4148F9B802558A56CA6064BE90E1AA32ABBBB4FF9BCFA8BAB3224CF63C2B13913360A4F4B976F4B3C1C7112393C2D5161A3307AFAE4746103A22DC505683D +4719339824F2302D6F35DF4FB9A276013BED9420804AF5CC126F8CD27A42283A22B2039D8CDCEECB18D53BE30858BF17A88265EF23ABB388200BF1D5C78D28CC +0CFE054EA308C5FD87F28B21587BEA6DD29EAFF360BC6EBB4BCD75F842AB4309FF0BE1BEFD01BB2929577538F0B176BA4C90F99ACAB867CF39292399DF0BE73D +435CF0D2F0DD3F80C337DC10D7FBF4F820710D8FCD7523B17708552B89278C081C9EC087DC4D355E278E4E082A850688781841EB3A0AA10E9D30AFE5FF5400FB +FD15C66B4ABE69199FE9F661CA1BA7FCC93F593C67AD17297A452B805B52071DA9F41D0F241564A3189F786E97854BC6E162DE6DF967303875E9AD80D3B5CB3A +B9EE7EB87863920143111D118894A7A4869C92CE23A793FD605CC4E2B328683E38E0C63E3F2CD413EC32B015311B2FEFDA9F232CE48B98EB677B3195DD7911DB +94D87D41F9CDB761B3D4559D9DB868FBDAD8921ADF046A1913DB083866409CAA832F01C497969F0BA4EE1097E5EACDFDA244C35D13389048971E8FDA74E0B7C1 +D36A92FAE974B0C970037C5A9083B4B4A26F463244529F58EB549EEFCD843E7B046554C8ABE0CA5CDE2548CB00352427C094AC5C4FFEC73B9689652022E2B745 +A77375650DC98831940FAB4C7BE307BB796EA91BE7FF292037DBBFCB7533250FB23ECE026C6C4D1EAAAFB6E4A29F8866B36A9F769DCE78835BCBFF4B372674A8 +0E2E2246F6E634558500172BE89A9A555E174F13F2AF7F8728F1E2F122CD11B85694DC577C4267AA9A57EDA2217FFC9B5F7E2FA03C207458658B9AE8F3FEEFB4 +30143E6CEF08F9DD99AA980EC30959E3784DE4ACD484AC94E44A97BC9402D7218D50E7440050AC8419AFD7E3ADA5A6B1BF333A95143481679CCA6F1430943AEB +1705EE48B87E2F39E62B35530AEE86CDE36EBD6EA1109E93CA3EEE87DF96930CC91574C7736A9F5785298C2BBB1DD0D0B973FD5B2253B37AD6E7C83FFBD39925 +77428EF4623D311DF70115B3DC31E5B1E3159837A4A9C66E0AACF4941CD16A2124D9FFBA243DEE16975E6FAEFA91ED36CA469324D485A65D0C098C84FAB8D493 +04002C1428E346D75DB0B99C8E3F0803F309814240E13D591EA8684B0ACDC3BA2E601C3848EBA9B0F685519D8CF0700DFBE5CA568A5053FD818B456CA48697A0 +B48442AE4DA618575DD5E4DB3B9C6728D775D0ED4DB6F8D58BCB2222F706CA755A078AD7481C7D4C69512E21F9C055D7A794C75FF09E7D2B84B92D8333BE2E09 +3CF3E8153CFB87CDEAC1354DC4E9382CE03D87544A9AFD77DCE15711A8D802139222A29A2E5658AE3CF5826685267FABF183E193935B045023040A33C17FB3F8 +04D93BE974CE5DBC76F2E9E012241ADF44C19561E8F75FA49C67BD763C3A69F9CD4BE804CD6982983C2493AB42EDF4653F7A6CD59D9CA664EC64D794D25E0555 +3A595FF91D950C29145D983C5D157175489588341D56EC84BE3387DE7341C0A749EEC3777BE947926C6A838F045E3A102E7C932C0A9A3927058682110C6AB1D1 +4599FC42E9AA8100857200BEEB72ECFA239CCF50A3BF911857B45616EBB2553B8FDA4D3730B5146699670E806AA29C876BE46B3AAC8DCB9BFB0545E510EF4847 +8DE6FF39EE6E849C4287CED69B541FD2E9BE70D8CBA3AE26F510C11397306DC61AF507BE00F9BB7729900EDD969BC35B36C5CF58F48764342FC7B61B5174C4DD +AA63B02DBC19BDC339551A06100AC4CCE2AFCC66167A01D1248860510919E9107A73C100C61F222B8820ECCE20440677A65D7D87B08F38C54783C846D2D6B020 +5395939F1EAB52CD3F38ED39C959B88F21232237009B5CB1BCFDD8B0065626420EA9EA73AC14A8CF3E9F5B009EBEDA7906D8404FEF961557E4020CD9AA62E0F2 +4CE358CADC1AB2C8D7B21670AD1F49C516D1A4CA856871D969EDED6B898752077F1C9956A9002F45F3C16EB4198E9DE945E2648F23A1E3AAC7ABC4399394FD3C +0050FEF18DD3C209879CB65B7BF2C731509B9566EB5B4A9F73D0203463FE94EBFF5B62363258BE297838DFC8BD63D85A0031B22E514FE2C121D0E25234B48B40 +4153738F41A48D629E6AE023D4531422465504ED207DE5A578314E51588B443F815DC954D5A29F9C9B4CC77F +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndResource +[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 536 536 250 +278 371 479 500 840 778 208 333 333 389 500 250 333 250 320 500 +500 500 500 500 500 500 500 500 500 250 250 500 500 500 444 683 +778 611 709 774 611 556 763 832 337 333 726 611 946 831 786 604 +786 668 525 613 778 722 1000 667 667 667 333 606 333 500 500 333 +500 553 444 611 479 333 556 582 291 234 556 291 883 582 546 601 +560 395 424 326 603 565 834 516 556 500 333 500 333 500 536 500 +536 278 500 500 1000 500 500 333 1144 525 331 998 536 667 536 536 +278 278 500 500 606 500 1000 333 979 424 331 827 536 500 667 250 +278 500 500 500 500 500 500 333 747 333 500 500 333 747 333 400 +500 320 320 333 647 628 250 333 320 333 500 807 807 807 444 778 +778 778 778 778 778 944 709 611 611 611 611 337 337 337 337 774 +831 786 786 786 786 786 500 833 778 778 778 778 667 604 556 500 +500 500 500 500 500 758 444 479 479 479 479 291 291 291 291 546 +582 546 546 546 546 546 500 546 603 603 603 603 556 601 556 ] +CorelDrawReencodeVect /_R15-PalatinoLinotype /PalatinoLinotype Z +%%BeginResource: font Symbol +%!FontType1-1.0: Symbol 001.003 +%%Creator: Corel PostScript Engine +10 dict begin +/FontName /Symbol def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array 0 1 255 {1 index exch /.notdef put} for +dup 32 /c32 put +dup 33 /c33 put +dup 34 /c34 put +dup 35 /c35 put +dup 36 /c36 put +dup 37 /c37 put +dup 38 /c38 put +dup 39 /c39 put +dup 40 /c40 put +dup 41 /c41 put +dup 42 /c42 put +dup 43 /c43 put +dup 44 /c44 put +dup 45 /c45 put +dup 46 /c46 put +dup 47 /c47 put +dup 48 /c48 put +dup 49 /c49 put +dup 50 /c50 put +dup 51 /c51 put +dup 52 /c52 put +dup 53 /c53 put +dup 54 /c54 put +dup 55 /c55 put +dup 56 /c56 put +dup 57 /c57 put +dup 58 /c58 put +dup 59 /c59 put +dup 60 /c60 put +dup 61 /c61 put +dup 62 /c62 put +dup 63 /c63 put +dup 64 /c64 put +dup 65 /c65 put +dup 66 /c66 put +dup 67 /c67 put +dup 68 /c68 put +dup 69 /c69 put +dup 70 /c70 put +dup 71 /c71 put +dup 72 /c72 put +dup 73 /c73 put +dup 74 /c74 put +dup 75 /c75 put +dup 76 /c76 put +dup 77 /c77 put +dup 78 /c78 put +dup 79 /c79 put +dup 80 /c80 put +dup 81 /c81 put +dup 82 /c82 put +dup 83 /c83 put +dup 84 /c84 put +dup 85 /c85 put +dup 86 /c86 put +dup 87 /c87 put +dup 88 /c88 put +dup 89 /c89 put +dup 90 /c90 put +dup 91 /c91 put +dup 92 /c92 put +dup 93 /c93 put +dup 94 /c94 put +dup 95 /c95 put +dup 96 /c96 put +dup 97 /c97 put +dup 98 /c98 put +dup 99 /c99 put +dup 100 /c100 put +dup 101 /c101 put +dup 102 /c102 put +dup 103 /c103 put +dup 104 /c104 put +dup 105 /c105 put +dup 106 /c106 put +dup 107 /c107 put +dup 108 /c108 put +dup 109 /c109 put +dup 110 /c110 put +dup 111 /c111 put +dup 112 /c112 put +dup 113 /c113 put +dup 114 /c114 put +dup 115 /c115 put +dup 116 /c116 put +dup 117 /c117 put +dup 118 /c118 put +dup 119 /c119 put +dup 120 /c120 put +dup 121 /c121 put +dup 122 /c122 put +dup 123 /c123 put +dup 124 /c124 put +dup 125 /c125 put +dup 126 /c126 put +dup 127 /c127 put +dup 128 /c128 put +dup 129 /c129 put +dup 130 /c130 put +dup 131 /c131 put +dup 132 /c132 put +dup 133 /c133 put +dup 134 /c134 put +dup 135 /c135 put +dup 136 /c136 put +dup 137 /c137 put +dup 138 /c138 put +dup 139 /c139 put +dup 140 /c140 put +dup 141 /c141 put +dup 142 /c142 put +dup 143 /c143 put +dup 144 /c144 put +dup 145 /c145 put +dup 146 /c146 put +dup 147 /c147 put +dup 148 /c148 put +dup 149 /c149 put +dup 150 /c150 put +dup 151 /c151 put +dup 152 /c152 put +dup 153 /c153 put +dup 154 /c154 put +dup 155 /c155 put +dup 156 /c156 put +dup 157 /c157 put +dup 158 /c158 put +dup 159 /c159 put +dup 160 /c160 put +dup 161 /c161 put +dup 162 /c162 put +dup 163 /c163 put +dup 164 /c164 put +dup 165 /c165 put +dup 166 /c166 put +dup 167 /c167 put +dup 168 /c168 put +dup 169 /c169 put +dup 170 /c170 put +dup 171 /c171 put +dup 172 /c172 put +dup 173 /c173 put +dup 174 /c174 put +dup 175 /c175 put +dup 176 /c176 put +dup 177 /c177 put +dup 178 /c178 put +dup 179 /c179 put +dup 180 /c180 put +dup 181 /c181 put +dup 182 /c182 put +dup 183 /c183 put +dup 184 /c184 put +dup 185 /c185 put +dup 186 /c186 put +dup 187 /c187 put +dup 188 /c188 put +dup 189 /c189 put +dup 190 /c190 put +dup 191 /c191 put +dup 192 /c192 put +dup 193 /c193 put +dup 194 /c194 put +dup 195 /c195 put +dup 196 /c196 put +dup 197 /c197 put +dup 198 /c198 put +dup 199 /c199 put +dup 200 /c200 put +dup 201 /c201 put +dup 202 /c202 put +dup 203 /c203 put +dup 204 /c204 put +dup 205 /c205 put +dup 206 /c206 put +dup 207 /c207 put +dup 208 /c208 put +dup 209 /c209 put +dup 210 /c210 put +dup 211 /c211 put +dup 212 /c212 put +dup 213 /c213 put +dup 214 /c214 put +dup 215 /c215 put +dup 216 /c216 put +dup 217 /c217 put +dup 218 /c218 put +dup 219 /c219 put +dup 220 /c220 put +dup 221 /c221 put +dup 222 /c222 put +dup 223 /c223 put +dup 224 /c224 put +dup 225 /c225 put +dup 226 /c226 put +dup 227 /c227 put +dup 228 /c228 put +dup 229 /c229 put +dup 230 /c230 put +dup 231 /c231 put +dup 232 /c232 put +dup 233 /c233 put +dup 234 /c234 put +dup 235 /c235 put +dup 236 /c236 put +dup 237 /c237 put +dup 238 /c238 put +dup 239 /c239 put +dup 240 /c240 put +dup 241 /c241 put +dup 242 /c242 put +dup 243 /c243 put +dup 244 /c244 put +dup 245 /c245 put +dup 246 /c246 put +dup 247 /c247 put +dup 248 /c248 put +dup 249 /c249 put +dup 250 /c250 put +dup 251 /c251 put +dup 252 /c252 put +dup 253 /c253 put +dup 254 /c254 put +dup 255 /c255 put +readonly def +/FontBBox {0 0 0 0} readonly def +currentdict end +currentfile eexec + +A22DD33CB9A1B84FC323D538B9AE6C6014672C02872FAD31037218C4EC2B7124C58AFC4A0E2584B50A778936CFE1053450FEC35486F87A4DA48EF5124EE42DE6 +9DDB8A5C33C2868DDADC1C9B4725483A678DFD1BEF77D7BDC50D39DB17FF02031F39030455C675716EB1B292EA6078E9937BB936698E457C365396CC5708EAAB +921AD0271E16D4A5F1689C7D8DEDA69051F9EA8B689EDEA8949F2C93CE777268FD3CE5D1713388D0E33A640C77DFB1D300C88E302BEFDF0083AF060D407FD007 +23D3F76465C679461FC0471E7F6EFFFCB5A8E513C1661D98B93E8667005CB8B30093BCB089336AFAB7D61973B6F27AC993F52C52238826E221A63575C2C867DB +E9C0264C99B65994DB79F83B4627E129923C7C8B2B18D54F9E0F0F9280A6425EED2E2B7BB29DA8D3D977AE0F4D887F72309ABE6CB09B8D1F5600779F7C13696C +8F3E4BF69127EC72FD447C37CF4AB75A587241DBD67A93BC2D95C3E730B03ABD098B4875980FDAF138A689459A018531616478E696F4045125DBEE06D2C7FED9 +09F8CA2637B4E370F0A55DAE7CBA60CCF3808B2EB20FB25A3D4CD370443183E3DF4B48B424BE0327D27E7A1567BE7F2193FA79A5EAFF2E1AD5723BA958E0D588 +396F1B7EDC503FC63A9C6B41764F3A67DA9F2B071264C7151A002557252BC817A6F1B1E4F70AF963CBD653C58F0D7C520D2832D0F62A5B88A182DB874D24A338 +1C8A311CE30018EA97ED9B5152E73AF3092E1F1950F2E48E01FDB94F21BE43700D3D5F6FF722D87385AD97 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndResource +@sv +%%EndPageSetup +@rax %Note: Object +147.40157 756.85039 192.75591 779.52756 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.50003 0.50003 0.00000 @w +/$fm 0 def +147.40157 779.52756 m +192.75591 779.52756 L +192.75591 756.85039 L +147.40157 756.85039 L +147.40157 779.52756 L +@c +S + +@rax %Note: Object +192.75591 768.18841 232.44094 768.18898 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.50003 0.50003 0.00000 @w +/$fm 0 def +228.89480 768.18898 m +192.75591 768.18841 L +S +@j +0.00 0.00 0.00 1.00 K +0.00 0.00 0.00 1.00 k +0 @g +0 @G +[] 0 d 0 J 0 j +0 R 0 O +0 1.00800 1.00800 0 @w +232.44094 768.18898 m +225.38494 765.16498 L +226.39294 767.18098 226.39294 769.19698 225.38494 771.21298 C +232.44094 768.18898 L +f +@J + +@rax %Note: Object +104.88189 768.18784 147.40157 768.18898 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.50003 0.50003 0.00000 @w +/$fm 0 def +143.85543 768.18841 m +104.88189 768.18841 L +S +@j +0.00 0.00 0.00 1.00 K +0.00 0.00 0.00 1.00 k +0 @g +0 @G +[] 0 d 0 J 0 j +0 R 0 O +0 1.00800 1.00800 0 @w +147.40157 768.18841 m +140.34557 765.16441 L +141.35357 767.18041 141.35357 769.19641 140.34557 771.21241 C +147.40157 768.18841 L +f +@J + +@rax %Note: Object +232.44094 759.68504 249.44882 776.69291 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.50003 0.50003 0.00000 @w +/$fm 0 def +240.94488 759.68504 m +236.26091 759.68504 232.44094 763.50501 232.44094 768.18898 c +232.44094 772.87294 236.26091 776.69291 240.94488 776.69291 c +245.62885 776.69291 249.44882 772.87294 249.44882 768.18898 c +249.44882 763.50501 245.62885 759.68504 240.94488 759.68504 c +@c +S + +@rax %Note: Object +240.94431 776.69291 240.94545 807.87402 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.50003 0.50003 0.00000 @w +/$fm 0 def +240.94488 780.23906 m +240.94488 807.87402 L +S +@j +0.00 0.00 0.00 1.00 K +0.00 0.00 0.00 1.00 k +0 @g +0 @G +[] 0 d 0 J 0 j +0 R 0 O +0 1.00800 1.00800 0 @w +240.94488 776.69291 m +237.92088 783.74891 L +239.93688 782.74091 241.95288 782.74091 243.96888 783.74891 C +240.94488 776.69291 L +f +@J + +@rax %Note: Object +249.44882 768.18898 286.53307 768.18954 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.50003 0.50003 0.00000 @w +/$fm 0 def +286.53307 768.18954 m +249.44882 768.18898 L +S + +@rax 116.22047 774.34072 138.53225 784.33058 @E +[0.00028346 0.00000000 0.00000000 0.00028346 116.22046819 776.69288497] @tm + 0 O 0 @g +0.00 0.00 0.00 1.00 k +e +/_R6-TimesNewRoman 38806.00000 z +0 0 (\133epb\135) @t +T +@rax 202.06772 774.50769 224.37950 784.33058 @E +[0.00028346 0.00000000 0.00000000 0.00028346 202.06770914 776.69288497] @tm + 0 O 0 @g +0.00 0.00 0.00 1.00 k +e +/_R6-TimesNewRoman 38806.00000 z +0 0 (\133evh\135) @t +T +@rax 249.44882 797.18485 266.26054 806.81896 @E +[0.00028346 0.00000000 0.00000000 0.00028346 249.44880977 799.37004950] @tm + 0 O 0 @g +0.00 0.00 0.00 1.00 k +e +/_R6-TimesNewRoman 38806.00000 z +0 0 (\133ev\135) @t +T +@rax 164.40945 763.16910 181.83912 772.99200 @E +[0.00028346 0.00000000 0.00000000 0.00028346 164.40944280 765.35430271] @tm + 0 O 0 @g +0.00 0.00 0.00 1.00 k +e +/_R6-TimesNewRoman 38806.00000 z +0 0 (\133hb\135) @t +T +@rax 264.00813 774.42406 290.60079 784.22513 @E +[0.00028346 0.00000000 0.00000000 0.00028346 264.00811633 776.77622355] @tm + 0 O 0 @g +0.00 0.00 0.00 1.00 k +e +/_R6-TimesNewRoman 38806.00000 z +0 0 (\133epsv\135) @t +T +@rax 150.41764 740.96787 188.28935 752.00655 @E +[0.00028346 0.00000000 0.00000000 0.00028346 168.03041905 744.05165782] @tm + 0 O 0 @g +0.00 0.00 0.00 1.00 k +e +T +@rax 150.41764 740.96787 188.28935 752.00655 @E +[0.00028346 0.00000000 0.00000000 0.00028346 168.03041905 744.05165782] @tm + 0 O 0 @g +0.00 0.00 0.00 1.00 k +e +/_R15-PalatinoLinotype 38806.00000 z +-62134 0 (w) @t +-30436 0 (eights) @t +T +@rax 237.69553 763.95742 244.36318 771.90321 @E +[0.00028346 0.00000000 0.00000000 0.00028346 237.69551886 763.95738938] @tm + 0 O 0 @g +0.00 0.00 0.00 1.00 k +e +/Symbol 42332.00000 z +0 0 (S) @t +T +@rax 248.34557 775.69795 253.24611 781.05458 @E +[0.00028346 0.00000000 0.00000000 0.00028346 248.34556572 775.69792438] @tm + 0 O 0 @g +0.00 0.00 0.00 1.00 k +e +/_R6-TimesNewRoman 31750.00000 z +0 0 (+) @t +T +@rax 228.17820 774.90992 232.83269 776.85250 @E +[0.00028346 0.00000000 0.00000000 0.00028346 228.25331449 776.85247552] @tm + 0 O 0 @g +0.00 0.00 0.00 1.00 k +e +/_R6-TimesNewRoman 31750.00000 z +0 0 (_) @t +T +@rax %Note: Object +286.29921 765.78321 291.96850 771.02362 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.50003 0.50003 0.00000 @w +/$fm 0 def +289.13386 771.02362 m +290.69518 771.02362 291.96850 769.84668 291.96850 768.40328 c +291.96850 766.96016 290.69518 765.78321 289.13386 765.78321 c +287.57254 765.78321 286.29921 766.96016 286.29921 768.40328 c +286.29921 769.84668 287.57254 771.02362 289.13386 771.02362 c +@c +S + +@rax %Note: Object +238.11024 807.87402 243.77953 813.54331 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.50003 0.50003 0.00000 @w +/$fm 0 def +240.94488 813.54331 m +242.50620 813.54331 243.77953 812.26998 243.77953 810.70838 c +243.77953 809.14734 242.50620 807.87402 240.94488 807.87402 c +239.38356 807.87402 238.11024 809.14734 238.11024 810.70838 c +238.11024 812.26998 239.38356 813.54331 240.94488 813.54331 c +@c +S + +@rax %Note: Object +99.21260 765.35433 104.72882 771.02362 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.50003 0.50003 0.00000 @w +/$fm 0 def +101.97071 771.02362 m +103.48980 771.02362 104.72882 769.75030 104.72882 768.18869 c +104.72882 766.62765 103.48980 765.35433 101.97071 765.35433 c +100.45162 765.35433 99.21260 766.62765 99.21260 768.18869 c +99.21260 769.75030 100.45162 771.02362 101.97071 771.02362 c +@c +S + +@rax %Note: Object +121.88976 765.35433 127.55906 771.02362 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +0 0.50003 0.50003 0.00000 @w +/$fm 0 def +121.88976 765.35433 m +127.55906 771.02362 L +S + +@rax 119.05512 748.82891 140.76567 758.62998 @E +[0.00028346 0.00000000 0.00000000 0.00028346 119.05511376 751.18107488] @tm + 0 O 0 @g +0.00 0.00 0.00 1.00 k +e +/_R6-TimesNewRoman 38806.00000 z +0 0 (\133Mp\135) @t +T + @gs spg @gr +%%PageTrailer +@rs +@rs + +%%Page: 2 2 +%LogicalPage: 2 +%%BeginPageSetup +@sv +@sm +@sv +%%EndPageSetup +%%PageTrailer +@rs +@rs +%%Trailer +@EndSysCorelDict +end +%%DocumentSuppliedResources: procset wCorel10Dict 10.0 0 +%%+ font TimesNewRoman +%%+ font PalatinoLinotype +%%+ font Symbol %%EOF
\ No newline at end of file diff --git a/macros/latex/contrib/babel-contrib/russian/README b/macros/latex/contrib/babel-contrib/russian/README index f0b392a357..46fe0449e7 100644 --- a/macros/latex/contrib/babel-contrib/russian/README +++ b/macros/latex/contrib/babel-contrib/russian/README @@ -1,6 +1,6 @@ ---------------------------------------------------------------- -Russian language module for Babel, v1.3j +Russian language module for Babel, v1.3k Released under the LaTeX Project Public License v1.3c or later. See http://www.latex-project.org/lppl.txt @@ -13,14 +13,14 @@ The Current Maintainer is Igor A. Kotelnikov <kia999 at mail dot ru>. 1. INSTALLATION -- unpack babel-russian.zip -- run "xelatex.exe russianb.dtx" (recommended) +- Unpack babel-russian.zip. +- Run "xelatex.exe russianb.dtx" (recommended) or "pdflatex.exe russianb.dtx"; - run "tex.exe russianb.dtx" + alternatively run "tex.exe russianb.dtx" or "tex.exe russianb.ins", if you don't need documentation -- move "russianb.ldf" to <textmf>/tex/generic/babel/contrib/ -- move "russianb.pdf" and README to <textmf>/doc/latex/russian-babel/ -- update filename base (see documentation for your TeX system) +- Move "russianb.ldf" to <textmf>/tex/latex/babel-russian +- Move "russianb.pdf" and README to <textmf>/doc/latex/russian-babel/ +- Update filename base (see documentation for your TeX system) 2. USAGE @@ -32,7 +32,8 @@ a set of packages loaded in the preamble of a source TeX file. It is important to keep recommended order of the packages loaded, especially when running Unicode engines in a compatibility 8-bit mode. -In the examples below, it is assumed that a source file has utf8 input encoding. +In the examples below, it is assumed that a source file to be compile +has utf8 input encoding. 2.1. 8-bit mode @@ -65,8 +66,8 @@ In the examples below, it is assumed that a source file has utf8 input encoding. \usepackage[english,russian]{babel} Instead of the Computer Modern Unicode (CMU) fonts loaded in this example, -you may try any True Type or Open Type font installed on your computer provided -that that font came with Russian letters. +you may try any True Type or Open Type fonts installed on your computer provided +that those fonts came with Russian letters. 2.3 Typesetting ancient book @@ -107,11 +108,15 @@ might be absent. 5. CHANGES +2020-09-06 version 1.3k + + * Bug fixed in definition of \Russian command (thanks to Javier Bezos). + 2017-08-08 version 1.3j * TU encoding is set as default for X∃TeX and LuaTeX. - * \cyrdash now always prints dash 20% shorter than emdash. + * \cyrdash now always prints dash 20 percents shorter than emdash. 2017-01-12 version 1.3i @@ -180,7 +185,6 @@ Original source: russianb.dtx, 2008/03/21 v1.1r Russian support from the babel system. ---------------------------------------------------------------- - %% %% \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 diff --git a/macros/latex/contrib/babel-contrib/russian/russianb.dtx b/macros/latex/contrib/babel-contrib/russian/russianb.dtx index b843e43bd2..cf89bcd118 100644 --- a/macros/latex/contrib/babel-contrib/russian/russianb.dtx +++ b/macros/latex/contrib/babel-contrib/russian/russianb.dtx @@ -7,7 +7,7 @@ %<*readme> ---------------------------------------------------------------- -Russian language module for Babel, v1.3j +Russian language module for Babel, v1.3k Released under the LaTeX Project Public License v1.3c or later. See http://www.latex-project.org/lppl.txt @@ -21,15 +21,14 @@ The Current Maintainer is Igor A. Kotelnikov <kia999 at mail dot ru>. 1. INSTALLATION -- unpack babel-russian.zip -- run "xelatex.exe russianb.dtx" (recommended) +- Unpack babel-russian.zip. +- Run "xelatex.exe russianb.dtx" (recommended) or "pdflatex.exe russianb.dtx"; - run "tex.exe russianb.dtx" + alternatively run "tex.exe russianb.dtx" or "tex.exe russianb.ins", if you don't need documentation -- move "russianb.ldf" to <textmf>/tex/generic/babel/contrib/ -- move "russianb.pdf" and README to <textmf>/doc/latex/russian-babel/ -- update filename base (see documentation for your TeX system) - +- Move "russianb.ldf" to <textmf>/tex/latex/babel-russian +- Move "russianb.pdf" and README to <textmf>/doc/latex/russian-babel/ +- Update filename base (see documentation for your TeX system) 2. USAGE @@ -41,7 +40,8 @@ a set of packages loaded in the preamble of a source TeX file. It is important to keep recommended order of the packages loaded, especially when running Unicode engines in a compatibility 8-bit mode. -In the examples below, it is assumed that a source file has utf8 input encoding. +In the examples below, it is assumed that a source file to be compile +has utf8 input encoding. 2.1. 8-bit mode @@ -74,8 +74,8 @@ In the examples below, it is assumed that a source file has utf8 input encoding. \usepackage[english,russian]{babel} Instead of the Computer Modern Unicode (CMU) fonts loaded in this example, -you may try any True Type or Open Type font installed on your computer provided -that that font came with Russian letters. +you may try any True Type or Open Type fonts installed on your computer provided +that those fonts came with Russian letters. 2.3 Typesetting ancient book @@ -119,11 +119,16 @@ might be absent. 5. CHANGES +2020-09-06 version 1.3k + + * Bug fixed in definition of \Russian command (thanks to Javier Bezos). + + 2017-08-08 version 1.3j * TU encoding is set as default for X∃TeX and LuaTeX. - * \cyrdash now always prints dash 20% shorter than emdash. + * \cyrdash now always prints dash 20 percents shorter than emdash. 2017-01-12 version 1.3i @@ -215,7 +220,7 @@ See http://www.latex-project.org/lppl.txt \endpreamble \postamble ---------------------------------------------------------------- -Copyright 2011-2017 Igor A. Kotelnikov. +Copyright 2011-2020 Igor A. Kotelnikov. Copyright 1995-2008 Olga Lapko. Copyright 1989-2012 Johannes L. Braams. @@ -262,7 +267,7 @@ and the derived files russianb.ins, %</internal> %<*code> \NeedsTeXFormat{LaTeX2e} -%\ProvidesFile{russianb.ldf}[2017/08/08 1.3j Russian support for the Babel system] +\ProvidesFile{russianb.ldf}[2020/09/09 1.3k Russian support for the Babel system] %</code> %<*driver> \documentclass[a4paper]{ltxdoc} @@ -277,11 +282,18 @@ and the derived files russianb.ins, \usepackage{fontspec} \defaultfontfeatures{Ligatures={TeX}} \setmainfont{CMU Serif} - \setsansfont{CMU Sans Serif} - \setmonofont{CMU Typewriter Text} - %\setmonofont[Scale=MatchLowercase]{Courier New} - %\setmonofont[Scale=MatchUppercase]{Courier New} - %\setmonofont{Courier New} + %\setmainfont{STIX Two}[ + % UprightFont={* Math}, + % %UprightFont={* Text}, + % ItalicFont={* Text Italic}, + % BoldFont={* Text Bold}, + % BoldItalicFont={* Text Bold Italic}, + %] + %\setsansfont{CMU Sans Serif} + %\setmonofont{CMU Typewriter Text} + %%\setmonofont[Scale=MatchLowercase]{Courier New} + %%\setmonofont[Scale=MatchUppercase]{Courier New} + %%\setmonofont{Courier New} \else \usepackage[X2,T2A]{fontenc} \usepackage[utf8]{inputenc} @@ -416,11 +428,22 @@ and the derived files russianb.ins, % \DoNotIndex{\cyrp,\cyrs,\cyrshch,\cyru,\CYRV,\cyrya} % \DoNotIndex{\CYRA,\CYRB,\cyrch,\CYRE,\CYREREV,\CYRF,\cyrf,\CYRI,\cyrishrt} % \DoNotIndex{\CYRO,\CYRR,\cyrsftsn,\CYRYA,\cyryu,\cyrzh} -% \DoNotIndex{\CYRCH, \CYRG, \CYRL, \CYRZH} +% \DoNotIndex{\CYRSH,\cyrsh,\CYRSHCH,\CYRYU,\CYRZ,\CYRZH,\CYRG,\CYRH} % \DoNotIndex{\z@skip,\z@} -% \DoNotIndex{\|,\~,\ ,\,} +% \DoNotIndex{\|,\~,\ } +% \DoNotIndex{\\&,\',\(,\),\`,\\,\/,\.} +% \DoNotIndex{\begin,\DeclareUTFcharacter} +% \DoNotIndex{\csname,\def} +% \DoNotIndex{\else,\endcsname,\end} +% \DoNotIndex{\expandafter,\fi} +% \DoNotIndex{\hbox,\hss} +% \DoNotIndex{\iffalse,\ifx,\ignorespaces,\iflanguage} +% \DoNotIndex{\language,\lastskip,\ldots,\let,\natexlab,\newblock,\nobreak} +% \DoNotIndex{\providecommand,\ProvideTextCommandDefault,\relax,\renewcommand} +% \DoNotIndex{\selectlanguage,\selectlanguageifdefined,\small,\textemdash} +% \DoNotIndex{\or,\if,\fi,\unskip,\url,\UTFencname} +% \DoNotIndex{\,,\catcode,\cite,\citeauthor,\citet,\citeyear,\href,\hskip,\ifdim} % - %\GetFileInfo{russianb.dtx} %\GetFileInfo{russianb.ldf} % @@ -472,7 +495,7 @@ and the derived files russianb.ins, % (\file{.tex}) file. Output encoding is also known as the font encoding. It is % implemented within the font files. % -% Generally, the user may choose between different Cyrillic +% Generally, the user may choose between different available Cyrillic % encodings. The current support for Cyrillic uses LH family of MetaFont fonts % and theirs Postscript versions such as CM-super. Lua\LaTeX\ and Xe\LaTeX, % being the Unicode-based succeeders of \LaTeX, allow also for any Open Type @@ -719,11 +742,11 @@ and the derived files russianb.ins, % |\glqq| & |"`| & % German opening double quote (looks like ,\kern-0.08em,). \\ % |\grqq| & |"'| & -% German closing double quote (looks like ``). \\ +% German closing double quote (looks like ``). \\ % |\guillemotleft| & |"<| & % French opening double quote (looks like $<\!\!<$). \\ % |\guillemotright| & |">| & -% French closing double quote (looks like $>\!\!>$). \\ +% French closing double quote (looks like $>\!\!>$). \\ % |\dq| & & % Original quotes character (|"|). \\[0.5em] % |\babelhyphen{soft}| @@ -744,9 +767,9 @@ and the derived files russianb.ins, % equivalent to |\babelhyphen{hard}| in \pkg{babel} 3.9. \\ % |\babelhyphen{nobreak}| % & \verb="|= & Disables ligature at this position; -% equivalent to |\babelhyphen{nobreak}| (??) in \pkg{babel} 3.9. +% equivalent to |\babelhyphen{nobreak}| in \pkg{babel} 3.9. % \\[0.5em] -% |\cyrdash| & & Row Cyrillic emdash (does not care +% |\cyrdash| & & Raw Cyrillic emdash (does not care % spaces around). \\ % |\cdash---| & |"---| & % Cyrillic emdash in plain text. \\ @@ -886,6 +909,7 @@ and the derived files russianb.ins, % % \section{Implementation} % +% \changes{1.3k}{2020/09/06}{bug in definition of \cs{Russian} fixed} % \changes{1.3h}{2016/02/18}{\cs{cyrdash} is redefined} % \changes{1.3h}{2016/02/18}{Bugs fixed in captions for revtex4 and revtex4-1} % \changes{1.3g}{2015/05/01}{Added support for revtex4 and revtex4-1 classes} @@ -922,7 +946,7 @@ and the derived files russianb.ins, % argument of \cs{LdfInit}} % \begin{macrocode} \ProvidesLanguage{russian} - [2017/08/12 1.3j Russian support for the Babel system] + [2020/09/09 1.3k Russian support for the Babel system] \LdfInit{russian}{captionsrussian} % \end{macrocode} % @@ -1125,7 +1149,7 @@ and the derived files russianb.ins, % but redefine its meaning; now |\Russian| is simply an alias for % |\selectlanguage{russian}|. % \begin{macrocode} -\DeclareRobustCommand{\Russian}{\selectlanguage{\russian}} +\DeclareRobustCommand{\Russian}{\selectlanguage{russian}} % \end{macrocode} % % \Describe\cyrillictext{} @@ -2032,7 +2056,7 @@ and the derived files russianb.ins, % % % As of version 1.2 the macros |\cyrmath..| are not supported any more. They -% requires package \pkg{textmath} which is not available now. Instead of +% require package \pkg{textmath} which is not available now. Instead of % |\cyrmath..| it is advised to use corresponding |\text..| commands; they % do work in math mode. % \begin{macrocode} @@ -2076,23 +2100,41 @@ and the derived files russianb.ins, % macro |\th| that conflicts with the text symbol |\th| % defined in Latin~1 encoding: % -% \changes{1.2}{2004/05/21}{Change definition of \cs{th} -% only for this language} +% \changes{1.2}{2004/05/21}{Change definition of \cs{th}} +% \changes{1.3j}{2017/08/11}{Log-like functions made robust} % \begin{macrocode} -\def\sh{\mathop{\operator@font sh}\nolimits} -\def\ch{\mathop{\operator@font ch}\nolimits} -\def\tg{\mathop{\operator@font tg}\nolimits} -\def\ctg{\mathop{\operator@font ctg}\nolimits} -\def\arctg{\mathop{\operator@font arctg}\nolimits} -\def\arcctg{\mathop{\operator@font arcctg}\nolimits} -\addto\extrasrussian{% - \babel@save{\th}% - \let\ltx@th\th - \def\th{\textormath{\ltx@th}% - {\mathop{\operator@font th}\nolimits}}% - } -\def\cth{\mathop{\operator@font cth}\nolimits} -\def\cosec{\mathop{\operator@font cosec}\nolimits} +\AtBeginDocument{% + \@ifpackageloaded{amsopn} + {% + \DeclareMathOperator{\sh}{sh}%\MakeRobust\sh + \DeclareMathOperator{\ch}{ch}%\MakeRobust\ch + \DeclareMathOperator{\tg}{tg}%\MakeRobust\tg + \DeclareMathOperator{\ctg}{ctg}%\MakeRobust\ctg + \DeclareMathOperator{\arctg}{arctg}%\MakeRobust\arctg% + \DeclareMathOperator{\arcctg}{arcctg}%\MakeRobust\arcctg% + \DeclareMathOperator{\cth}{cth}%\MakeRobust\cth% + \DeclareMathOperator{\cosec}{cosec}%\MakeRobust\cosec% + \DeclareMathOperator{\math@th}{th}% + }{% + \DeclareRobustCommand\sh{\mathop{\operator@font sh}\nolimits}%\MakeRobust\sh% + \DeclareRobustCommand\ch{\mathop{\operator@font ch}\nolimits}%\MakeRobust\ch% + \DeclareRobustCommand\tg{\mathop{\operator@font tg}\nolimits}%\MakeRobust\tg% + \DeclareRobustCommand\ctg{\mathop{\operator@font ctg}\nolimits}%\MakeRobust\ctg% + \DeclareRobustCommand{\arctg}{\mathop{\operator@font arctg}\nolimits}% + \DeclareRobustCommand\arcctg{\mathop{\operator@font arcctg}\nolimits}%\MakeRobust\arcctg% + \DeclareRobustCommand\cth{\mathop{\operator@font cth}\nolimits}%\MakeRobust\cth% + \DeclareRobustCommand\cosec{\mathop{\operator@font cosec}\nolimits}%\MakeRobust\cosec% + \DeclareRobustCommand{\math@th}{\mathop{\operator@font arctg}\nolimits}% + }% +% \addto\extrasrussian{% +% \babel@save{\th}% +% \let\text@th\th +% %\def\th{\TextOrMath{\text@th}{\math@th}}% +% \DeclareRobustCommand{\th}{\TextOrMath{\text@th}{\math@th}} +% }% + \let\text@th\th + \DeclareRobustCommand{\th}{\TextOrMath{\text@th}{\math@th}} +} % \end{macrocode} % % \Describe\Prob{}% @@ -2114,11 +2156,6 @@ and the derived files russianb.ins, \def\NOK{\mathop{\mathrm{ÐОК}}\nolimits} \def\Proj{\mathop{\mathrm{Пр}}\nolimits} \else -% \def\nod{\mathop{\cyrmathrm{\cyrn.\cyro.\cyrd.}}\nolimits} -% \def\nok{\mathop{\cyrmathrm{\cyrn.\cyro.\cyrk.}}\nolimits} -% \def\NOD{\mathop{\cyrmathrm{\CYRN\CYRO\CYRD}}\nolimits} -% \def\NOK{\mathop{\cyrmathrm{\CYRN\CYRO\CYRK}}\nolimits} -% \def\Proj{\mathop{\cyrmathrm{\CYRP\cyrr}}\nolimits} \def\nod{\mathop{\textnormal{\cyrn.\cyro.\cyrd.}}\nolimits} \def\nok{\mathop{\textnormal{\cyrn.\cyro.\cyrk.}}\nolimits} \def\NOD{\mathop{\textnormal{\CYRN\CYRO\CYRD}}\nolimits} @@ -2135,15 +2172,14 @@ and the derived files russianb.ins, % loading a local configuration file, and preparing the language % to be activated at |\begin{document}| time. % -% \changes{1.1d}{1996/11/03}{Now use \cs{ldf@finish} to wrap -% up} +% \changes{1.1d}{1996/11/03}{Now use \cs{ldf@finish} to wrap up} % \begin{macrocode} \ldf@finish{russian} % \end{macrocode} %\iffalse %</code> %\fi -%\CheckSum{2327} +%\CheckSum{2353} %\Finale % %% diff --git a/macros/latex/contrib/babel-contrib/russian/russianb.ins b/macros/latex/contrib/babel-contrib/russian/russianb.ins index 1d77461d26..0f1d245f79 100644 --- a/macros/latex/contrib/babel-contrib/russian/russianb.ins +++ b/macros/latex/contrib/babel-contrib/russian/russianb.ins @@ -24,7 +24,7 @@ See http://www.latex-project.org/lppl.txt \endpreamble \postamble ---------------------------------------------------------------- -Copyright 2011-2017 Igor A. Kotelnikov. +Copyright 2011-2020 Igor A. Kotelnikov. Copyright 1995-2008 Olga Lapko. Copyright 1989-2012 Johannes L. Braams. @@ -52,7 +52,6 @@ and the derived files russianb.ins, \file{\jobname.ldf}{\from{\jobname.dtx}{code}} } \endbatchfile - %% %% \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 @@ -140,7 +139,7 @@ and the derived files russianb.ins, %% \cyrya=Ñ %% \cyrsftsn=ÑŒ %% ---------------------------------------------------------------- -%% Copyright 2011-2017 Igor A. Kotelnikov. +%% Copyright 2011-2020 Igor A. Kotelnikov. %% Copyright 1995-2008 Olga Lapko. %% Copyright 1989-2012 Johannes L. Braams. %% diff --git a/macros/latex/contrib/babel-contrib/russian/russianb.ldf b/macros/latex/contrib/babel-contrib/russian/russianb.ldf deleted file mode 100644 index 8c64872334..0000000000 --- a/macros/latex/contrib/babel-contrib/russian/russianb.ldf +++ /dev/null @@ -1,684 +0,0 @@ -%% -%% This is file `russianb.ldf', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% russianb.dtx (with options: `code') -%% ---------------------------------------------------------------- -%% Russian Language Support for the Babel package -%% E-mail: kia999@mail.ru -%% Released under the LaTeX Project Public License v1.3c or later -%% See http://www.latex-project.org/lppl.txt -%% ---------------------------------------------------------------- -\NeedsTeXFormat{LaTeX2e} - -\ProvidesLanguage{russian} - [2017/08/12 1.3j Russian support for the Babel system] -\LdfInit{russian}{captionsrussian} -\ifdefined\if@uni@ode - \PackageError{babel}{if@uni@ode already defined.\MessageBreak - Please contact author of russianb.ldf} - \relax -\fi -\newif\if@uni@ode -\ifdefined\luatexversion \@uni@odetrue \else -\ifdefined\XeTeXrevision \@uni@odetrue \fi\fi -\ifx\l@russian\@undefined - \@nopatterns{Russian} - \adddialect\l@russian0 -\fi -\def\@setcyrillicencoding{% - \def\sce@a##1##2{% - \edef\sce@b{##1}% - \edef\sce@c{##2}% - \ifx\sce@b\sce@c - \let\cyrillicencoding\sce@c - \fi}% - \def\cdp@elt##1##2##3##4{% - \sce@a{##1}{OT2}% - \sce@a{##1}{LCY}% - \sce@a{##1}{X2}% - \sce@a{##1}{T2C}% - \sce@a{##1}{T2B}% - \sce@a{##1}{T2A}% - \if@uni@ode - %\sce@a{##1}{EU1}% - %\sce@a{##1}{EU2}% - \sce@a{##1}{TU}% - \fi}% - \cdp@list -} -\ifx\cyrillicencoding\undefined - \@setcyrillicencoding -\fi -\@onlypreamble\@setcyrillicencoding -\@onlypreamble\sce@a -\@onlypreamble\sce@b -\@onlypreamble\sce@c -\ifx\cyrillicencoding\undefined - \if@uni@ode - %\ifdefined\XeTeXrevision - % \edef\cyrillicencoding{EU1} - %\else\ifdefined\luatexversion - % \edef\cyrillicencoding{EU2} - %\fi\fi - \edef\cyrillicencoding{TU} - \else - \edef\cyrillicencoding{T2A} - \fi - \PackageWarning{babel}% - {No Cyrillic font encoding has been loaded so far.\MessageBreak - A font encoding should be declared before babel.\MessageBreak - Default `\cyrillicencoding' encoding will be loaded - }% - \lowercase\expandafter{\expandafter\input\cyrillicencoding enc.def\relax}% - \AtBeginDocument{\@setcyrillicencoding} -\fi -\DeclareRobustCommand{\Russian}{\selectlanguage{\russian}} -\DeclareRobustCommand{\cyrillictext}{% - \fontencoding\cyrillicencoding\selectfont - \let\encodingdefault\cyrillicencoding - \expandafter\set@hyphenmins\russianhyphenmins - \language\l@russian}% -\let\cyr\cyrillictext -%%\DeclareRobustCommand{\English}{% -%% \fontencoding\latinencoding\selectfont -%% \let\encodingdefault\latinencoding -%% \expandafter\set@hyphenmins\englishhyphenmins -%% \language\l@english}% -%%\let\Eng\English -%%\DeclareRobustCommand{\latintext}{% -%% \fontencoding{\latinencoding}\selectfont -%% \def\encodingdefault{\latinencoding}} -%%\let\lat\latintext -\DeclareTextFontCommand{\textcyrillic}{\cyrillictext} -%%\expandafter\ifx\csname T@X2\endcsname\relax\else -%% \DeclareTextSymbolDefault{\AA}{OT1} -%% \DeclareTextSymbolDefault{\aa}{OT1} -%% \DeclareTextCommand{\aa}{OT1}{\r a} -%% \DeclareTextCommand{\AA}{OT1}{\r A} -%%\fi -%%\@ifpackageloaded{inputenc}{% -%%% \if@uni@ode -%%% \PackageWarning{babel}{inputenc should not be used with LuaTeX or XeTeX} -%%% \fi -%% \ifdefined\luatexversion -%% \PackageWarning{babel}{inputenc should not be used with LuaTeX} -%% \fi}{% -%% %\def\reserved@a{LWN}% -%% %\ifx\reserved@a\cyrillicencoding\else -%% \def\reserved@a{OT2}% -%% \ifx\reserved@a\cyrillicencoding\else -%% \def\reserved@a{TU}% -%% \ifx\reserved@a\cyrillicencoding\else -%% \PackageWarning{babel}% -%% {No input encoding specified for Russian language} -%% \fi\fi -%% %\fi -%%} -\initiate@active@char{"} -%%\def\mdqon{\bbl@activate{"}} -%%\def\mdqoff{\bbl@deactivate{"}} -\begingroup \catcode`\"12 -\def\reserved@a{\endgroup - \def\@SS{\mathchar"7019 } - \def\dq{"}} -\reserved@a -\declare@shorthand{russian}{"`}{\quotedblbase} -\declare@shorthand{russian}{"'}{\textquotedblleft} -\declare@shorthand{russian}{"<}{\guillemotleft} -\declare@shorthand{russian}{">}{\guillemotright} -\declare@shorthand{russian}{""}{\hskip\z@skip} -\declare@shorthand{russian}{"~}{\textormath{\leavevmode\hbox{-}}{-}} -\declare@shorthand{russian}{"=}{\nobreak-\hskip\z@skip} -\declare@shorthand{russian}{"|}{% - \textormath{\nobreak\discretionary{-}{}{\kern.03em}\allowhyphens}{}} -\declare@shorthand{russian}{"-}{% - \def\russian@sh@tmp{% - \if\russian@sh@next-\expandafter\russian@sh@emdash - \else\expandafter\russian@sh@hyphen\fi}% - \futurelet\russian@sh@next\russian@sh@tmp} -\def\russian@sh@hyphen{\nobreak\-\bbl@allowhyphens} -\def\russian@sh@emdash#1#2{\cdash-#1#2} -\def\cdash#1#2#3{\def\tempx@{#3}% -\def\tempa@{-}\def\tempb@{~}\def\tempc@{*}% - \ifx\tempx@\tempa@\@Acdash\else - \ifx\tempx@\tempb@\@Bcdash\else - \ifx\tempx@\tempc@\@Ccdash\else - \errmessage{Wrong usage of cdash}\fi\fi\fi} -\def\@Acdash{\ifdim\lastskip>\z@\unskip\nobreak\hskip.2em\fi - \cyrdash\hskip.2em\ignorespaces}% -\def\@Bcdash{\leavevmode\ifdim\lastskip>\z@\unskip\fi - \nobreak\cyrdash\penalty\exhyphenpenalty\hskip\z@skip\ignorespaces}% -\def\@Ccdash{\leavevmode - \nobreak\cyrdash\nobreak\hskip.35em\ignorespaces}% -\declare@shorthand{russian}{",}{\nobreak\hskip.2em\ignorespaces} -\PackageInfo{babel}{Default for \string\cyrdash\space is provided} -%%\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}% -%% {\hbox to.8em{--\hss--}}{\textemdash}} -\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}} -\if@uni@ode - %\captionsrussian@modern - \addto\captionsrussian{% - \def\prefacename{ПредиÑловие}% [babel] - \def\refname{СпиÑок литературы}% [only article] - \def\abstractname{ÐннотациÑ}% [only article, report] - \def\bibname{Литература}% [only book, report] - \def\chaptername{Глава}% [only book, report] - \def\appendixname{Приложение}% - \@ifundefined{thechapter} - {\def\contentsname{Содержание}}% - {\def\contentsname{Оглавление}}% - \let\tocname=\contentsname - \def\listfigurename{СпиÑок иллюÑтраций}% - \def\listtablename{СпиÑок таблиц}% - \def\indexname{Предметный указатель}% - \def\authorname{Именной указатель}% - \def\figurename{РиÑ.}% - \def\tablename{Таблица}% - \def\partname{ЧаÑÑ‚ÑŒ}% - \def\enclname{вкл.}% - \def\ccname{иÑÑ….}% - \def\headtoname{вх.}% - \def\pagename{Ñ.}% [letter] - \def\seename{Ñм.}% - \def\alsoname{Ñм.\ также}% - \def\proofname{ДоказательÑтво}% [amsthm] - \def\glossaryname{Словарь терминов}% - \def\acronymname{Ðббревиатуры}% [glossaries] {Acronyms} - \def\lstlistingname{ЛиÑтинг}% [listings] (the environment) {Listing} - \def\lstlistlistingname{ЛиÑтинги}% [listings] (the "List of") {Listings} - \def\notesname{Заметки}% [endnotes] {Notes} - }% - %% ========================================= - %% nomencl - \ifdefined\nomname - \addto\captionsrussian{% - \def\nomname{ОбозначениÑ}% - \def\eqdeclaration#1{, Ñм.\nobreakspace(#1)}% - \def\pagedeclaration#1{, ÑÑ‚Ñ€.\nobreakspace#1}% - }% - \fi - %% ========================================= - %% RevTeX4 & RevTeX4-1 - %%\@ifclassloaded{revtex4-1} - %%{<true code>} - %%{<false coode>}% - %\@ifclassloaded{revtex4-1} - %{% - \ifnum\@ifclassloaded{revtex4}{1}{\@ifclassloaded{revtex4-1}{1}{0}}>0 - \addto\captionsrussian{% - \def\lofname{\listfigurename} - \def\lotname{\listtablename} - \def\figuresname{РиÑунки}%{Figures}% - \def\tablesname{Таблицы}%{Tables}% - \def\appendixesname{ПриложениÑ}%{Appendixes}% - \def\acknowledgmentsname{БлагодарноÑти}%{Acknowledgments} - \def\andname{и}%{and} - \def\@pacs@name{PACS коды: }%{PACS numbers: }% - \def\@keys@name{Ключевые Ñлова: }%{Keywords: }% - \def\Dated@name{Дата: }%{Dated: }% - \def\Received@name{Получено }%{Received }% - \def\Revised@name{ИÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ }%{Revised }% - \def\Accepted@name{ПринÑто }%{Accepted }% - \def\Published@name{Опубликовано }%{Published }% - }% - %}{}% - \fi - \addto\captionsrussian@ancient{% - \def\prefacename{ПредиÑловіе}% - \def\refname{ПримѣчаніÑ}% - \def\abstractname{ÐннотаціÑ}% - \def\bibname{БибліографіÑ}% - \def\chaptername{Глава}% - \def\appendixname{Приложеніе}% - \@ifundefined{thechapter} - {\def\contentsname{Содержаніе}}% - {\def\contentsname{Оглавленіе}}% - \let\tocname=\contentsname - \def\listfigurename{СпиÑокъ иллюÑтрацій}% - \def\listtablename{СпиÑокъ таблицъ}% - \def\indexname{Предмѣтный указатель}% - \def\authorname{Именной указатель}% - \def\figurename{РиÑ.}% - \def\tablename{Таблица}% - \def\partname{ЧаÑÑ‚ÑŒ}% - \def\enclname{вкл.}% - \def\ccname{иÑÑ….}% - \def\headtoname{вх.}% - \def\pagename{Ñ.}% - \def\seename{Ñм.}% - \def\alsoname{Ñм.~также}% - \def\proofname{ДоказательÑтво}% - \def\glossaryname{Словарь терминов}% - \def\acronymname{Ðббревиатуры}% - \def\lstlistingname{ЛиÑтинг}% - \def\lstlistlistingname{ЛиÑтинги}% - %\ifdefined\nomname - % see http://old_russian.academic.ru/8433/%D0%BE%D0%B1%D1%8A%CB%AB%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%A5 - \def\nomname{ОбозначеніÑ}%{Объавлениѥ}% <-- #0465 - %\fi - \def\notesname{Заметки}% - } - %% ========================================= - %% RevTeX4 & RevTeX4-1 - %\@ifclassloaded{revtex4-1} - %{% - \ifnum\@ifclassloaded{revtex4}{1}{\@ifclassloaded{revtex4-1}{1}{0}}>0 - \addto\captionsrussian@ancient{% - \def\lofname{\listfigurename} - \def\lotname{\listtablename} - \def\figuresname{РиÑунки}%{Figures}% - \def\tablesname{Таблицы}%{Tables}% - \def\appendixesname{ПриложениÑ}%{Appendixes}% - \def\acknowledgmentsname{БлагодарноÑти}%{Acknowledgments} - \def\andname{и}%{and} - \def\@pacs@name{PACS коды: }%{PACS numbers: }% - \def\@keys@name{Ключевые Ñлова: }%{Keywords: }% - \def\Dated@name{Дата: }%{Dated: }% - \def\Received@name{Получено }%{Received }% - \def\Revised@name{ИÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ }%{Revised }% - \def\Accepted@name{ПринÑто }%{Accepted }% - \def\Published@name{Опубликовано }%{Published }% - }% - %}{}% - \fi - %% ========================================= -\else - %\def\captionsrussian@modern{% - \addto\captionsrussian{% - \def\prefacename{% - {\cyr\CYRP\cyrr\cyre\cyrd\cyri\cyrs\cyrl\cyro\cyrv\cyri\cyre}}% - \def\refname{% - {\cyr\CYRS\cyrp\cyri\cyrs\cyro\cyrk\ - \cyrl\cyri\cyrt\cyre\cyrr\cyra\cyrt\cyru\cyrr\cyrery}}% - \def\abstractname{% - {\cyr\CYRA\cyrn\cyrn\cyro\cyrt\cyra\cyrc\cyri\cyrya}}% - \def\bibname{% - {\cyr\CYRL\cyri\cyrt\cyre\cyrr\cyra\cyrt\cyru\cyrr\cyra}}% - \def\chaptername{{\cyr\CYRG\cyrl\cyra\cyrv\cyra}}% - \def\appendixname{% - {\cyr\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyre}}% - \@ifundefined{thechapter}% - {\def\contentsname{% - {\cyr\CYRS\cyro\cyrd\cyre\cyrr\cyrzh\cyra\cyrn\cyri\cyre}}}% - {\def\contentsname{% - {\cyr\CYRO\cyrg\cyrl\cyra\cyrv\cyrl\cyre\cyrn\cyri\cyre}}}% - \let\tocname=\contentsname - \def\listfigurename{% - {\cyr\CYRS\cyrp\cyri\cyrs\cyro\cyrk - \ \cyri\cyrl\cyrl\cyryu\cyrs\cyrt\cyrr\cyra\cyrc\cyri\cyrishrt}}% - \def\listtablename{% - {\cyr\CYRS\cyrp\cyri\cyrs\cyro\cyrk - \ \cyrt\cyra\cyrb\cyrl\cyri\cyrc}}% - \def\indexname{% - {\cyr\CYRP\cyrr\cyre\cyrd\cyrm\cyre\cyrt\cyrn\cyrery\cyrishrt - \ \cyru\cyrk\cyra\cyrz\cyra\cyrt\cyre\cyrl\cyrsftsn}}% - \def\authorname{% - {\cyr\CYRI\cyrm\cyre\cyrn\cyrn\cyro\cyrishrt - \ \cyru\cyrk\cyra\cyrz\cyra\cyrt\cyre\cyrl\cyrsftsn}}% - \def\figurename{{\cyr\CYRR\cyri\cyrs.}}% - \def\tablename{{\cyr\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyra}}% - \def\partname{{\cyr\CYRCH\cyra\cyrs\cyrt\cyrsftsn}}% - \def\enclname{{\cyr\cyrv\cyrk\cyrl.}}% - \def\ccname{{\cyr\cyri\cyrs\cyrh.}}% - \def\headtoname{{\cyr\cyrv\cyrh.}}% - \def\pagename{{\cyr\cyrs.}}% - \def\seename{{\cyr\cyrs\cyrm.}}% - \def\alsoname{{\cyr\cyrs\cyrm.\ \cyrt\cyra\cyrk\cyrzh\cyre}}% - \def\proofname{{\cyr\CYRD\cyro\cyrk\cyra\cyrz\cyra\cyrt - \cyre\cyrl\cyrsftsn\cyrs\cyrt\cyrv\cyro}}% - \def\glossaryname{{\cyr\CYRS\cyrl\cyro\cyrv\cyra\cyrr\cyrsftsn\ - \cyrt\cyre\cyrr\cyrm\cyri\cyrn\cyro\cyrv}}% - \def\acronymname{\CYRA\cyrb\cyrb\cyrr\cyre\cyrv\cyri\cyra\cyrt\cyru\cyrr\cyrery}% - \def\lstlistingname{\CYRL\cyri\cyrs\cyrt\cyri\cyrn\cyrg}% - \def\lstlistlistingname{\CYRL\cyri\cyrs\cyrt\cyri\cyrn\cyrg\cyri}% - \def\nomname{\CYRO\cyrb\cyro\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyri\cyrya}% - \def\notesname{\CYRZ\cyra\cyrm\cyre\cyrt\cyrk\cyri}% - }% - %% ========================================= - %% RevTeX4 & RevTeX4-1 - \ifnum \@ifclassloaded{revtex4}{1}{\@ifclassloaded{revtex4-1}{1}{0}}>0 - \addto\captionsrussian{% - \def\lofname{\listfigurename} - \def\lotname{\listtablename} - \def\figuresname{\CYRR\cyri\cyrs\cyru\cyrn\cyrk\cyri}%{Figures}% - \def\tablesname{\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyrery}%{Tables}% - \def\appendixesname{\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyrya}%{Appendixes}% - \def\acknowledgmentsname{\CYRB\cyrl\cyra\cyrg\cyro\cyrd\cyra\cyrr\cyrn\cyro\cyrs\cyrt\cyri}%{Acknowledgments} - \def\andname{\cyri}%{and} - \def\@pacs@name{PACS \cyrk\cyro\cyrd\cyrery: }%{PACS numbers: }% - \def\@keys@name{\CYRK\cyrl\cyryu\cyrch\cyre\cyrv\cyrery\cyre \cyrs\cyrl\cyro\cyrv\cyra: }%{Keywords: }% - \def\Dated@name{\CYRD\cyra\cyrt\cyra: }%{Dated: }% - \def\Received@name{\CYRP\cyro\cyrl\cyru\cyrch\cyre\cyrn\cyro }%{Received }% - \def\Revised@name{\CYRI\cyrs\cyrp\cyrr\cyra\cyrv\cyrl\cyre\cyrn\cyrn\cyra\cyrya \cyrv\cyre\cyrr\cyrs\cyri\cyrya }%{Revised }% - \def\Accepted@name{\CYRP\cyrr\cyri\cyrn\cyrya\cyrt\cyro }%{Accepted }% - \def\Published@name{\CYRO\cyrp\cyru\cyrb\cyrl\cyri\cyrk\cyro\cyrv\cyra\cyrn\cyro }%{Published }% - }% - \fi - %% ========================================= - \addto\captionsrussian@ancient{% - \def\prefacename{% - {\cyr\CYRP\cyrr\cyre\cyrd\cyri\cyrs\cyrl\cyro\cyrv\cyrii\cyre}}% - \def\refname{% - {\cyr\CYRP\cyrr\cyri\cyrm\cyryat\cyrch\cyra\cyrn\cyrii\cyrya}}% <-- ПримѣчаніÑ, нет \cyryat в кодировке T2* - \def\abstractname{% - {\cyr\CYRA\cyrn\cyrn\cyro\cyrt\cyra\cyrc\cyrii\cyrya}}% - \def\bibname{% - {\cyr\CYRB\cyri\cyrb\cyrl\cyrii\cyro\cyrg\cyrr\cyra\cyrf\cyrii\cyrya}}% <-- Ð‘Ð¸Ð±Ð»Ñ–Ð¾Ð³Ñ€Ð°Ñ„Ñ–Ñ - \def\chaptername{{\cyr\CYRG\cyrl\cyra\cyrv\cyra}}% - \def\appendixname{% - {\cyr\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyrii\cyre}}% - \@ifundefined{thechapter}% - {\def\contentsname{% - {\cyr\CYRS\cyro\cyrd\cyre\cyrr\cyrzh\cyra\cyrn\cyrii\cyre}}}% - {\def\contentsname{% - {\cyr\CYRO\cyrg\cyrl\cyra\cyrv\cyrl\cyre\cyrn\cyrii\cyre}}}% - \let\tocname=\contentsname - % СпиÑокъ иллюÑтрацій - \def\listfigurename{% - {\cyr\CYRS\cyrp\cyri\cyrs\cyro\cyrk\cyrhrdsn\ - \cyri\cyrl\cyrl\cyryu\cyrs\cyrt\cyrr\cyra\cyrc\cyrii\cyrishrt}} - % СпиÑокъ таблицъ - \def\listtablename{% - {\cyr\CYRS\cyrp\cyri\cyrs\cyro\cyrk\cyrhrdsn\ - \cyrt\cyra\cyrb\cyrl\cyri\cyrc\cyrhrdsn}}% - % Предмѣтный указатель, Ñ£ (\cyryat) in X2 encoding only - \def\indexname{% - {\cyr\CYRP\cyrr\cyre\cyrd\cyrm\cyryat\cyrt\cyrn\cyrery\cyrishrt\space - \cyru\cyrk\cyra\cyrz\cyra\cyrt\cyre\cyrl\cyrsftsn}}% - \def\authorname{% - {\cyr\CYRI\cyrm\cyre\cyrn\cyrn\cyro\cyrishrt\ - \cyru\cyrk\cyra\cyrz\cyra\cyrt\cyre\cyrl\cyrsftsn}}% - \def\figurename{{\cyr\CYRR\cyri\cyrs.}}% - \def\tablename{{\cyr\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyra}}% - \def\partname{{\cyr\CYRCH\cyra\cyrs\cyrt\cyrsftsn}}% - \def\enclname{{\cyr\cyrv\cyrk\cyrl.}}% - \def\ccname{{\cyr\cyri\cyrs\cyrh.}}% - \def\headtoname{{\cyr\cyrv\cyrh.}}% - \def\pagename{{\cyr\cyrs.}}% - \def\seename{{\cyr\cyrs\cyrm.}}% - \def\alsoname{{\cyr\cyrs\cyrm.\ \cyrt\cyra\cyrk\cyrzh\cyre}}% - \def\proofname{{\cyr\CYRD\cyro\cyrk\cyra\cyrz\cyra\cyrt - \cyre\cyrl\cyrsftsn\cyrs\cyrt\cyrv\cyro}}% - \def\glossaryname{{\cyr\CYRS\cyrl\cyro\cyrv\cyra\cyrr\cyrsftsn\ - \cyrt\cyre\cyrr\cyrm\cyri\cyrn\cyro\cyrv}}% <-- Needs translation - \def\acronymname{\CYRA\cyrb\cyrb\cyrr\cyre\cyrv\cyri\cyra\cyrt\cyru\cyrr\cyrery}% - \def\lstlistingname{\CYRL\cyri\cyrs\cyrt\cyri\cyrn\cyrg}% - \def\lstlistlistingname{\CYRL\cyri\cyrs\cyrt\cyri\cyrn\cyrg\cyri}% - \def\nomname{\CYRO\cyrb\cyro\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyrii\cyrya}% - \def\notesname{\CYRZ\cyra\cyrm\cyre\cyrt\cyrk\cyri}% - }% - %% ========================================= - %% RevTeX4 & RevTeX4-1 - \ifnum \@ifclassloaded{revtex4}{1}{\@ifclassloaded{revtex4-1}{1}{0}}>0 - \addto\captionsrussian@ancient{% - \def\lofname{\listfigurename} - \def\lotname{\listtablename} - \def\figuresname{\CYRR\cyri\cyrs\cyru\cyrn\cyrk\cyri}%{Figures}% - \def\tablesname{\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyrery}%{Tables}% - \def\appendixesname{\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyrya}%{Appendixes}% - \def\acknowledgmentsname{\CYRB\cyrl\cyra\cyrg\cyro\cyrd\cyra\cyrr\cyrn\cyro\cyrs\cyrt\cyri}%{Acknowledgments} - \def\andname{\cyri}%{and} - \def\@pacs@name{PACS \cyrk\cyro\cyrd\cyrery: }%{PACS numbers: }% - \def\@keys@name{\CYRK\cyrl\cyryu\cyrch\cyre\cyrv\cyrery\cyre \cyrs\cyrl\cyro\cyrv\cyra: }%{Keywords: }% - \def\Dated@name{\CYRD\cyra\cyrt\cyra: }%{Dated: }% - \def\Received@name{\CYRP\cyro\cyrl\cyru\cyrch\cyre\cyrn\cyro }%{Received }% - \def\Revised@name{\CYRI\cyrs\cyrp\cyrr\cyra\cyrv\cyrl\cyre\cyrn\cyrn\cyra\cyrya \cyrv\cyre\cyrr\cyrs\cyri\cyrya }%{Revised }% - \def\Accepted@name{\CYRP\cyrr\cyri\cyrn\cyrya\cyrt\cyro }%{Accepted }% - \def\Published@name{\CYRO\cyrp\cyru\cyrb\cyrl\cyri\cyrk\cyro\cyrv\cyra\cyrn\cyro }%{Published }% - }% - \fi - %% ========================================= -\fi -\if@uni@ode - \addto\daterussian{% - \def\today{\number\day~\ifcase\month\or - ÑнварÑ\or - февралÑ\or - марта\or - апрелÑ\or - маÑ\or - июнÑ\or - июлÑ\or - авгуÑта\or - ÑентÑбрÑ\or - октÑбрÑ\or - ноÑбрÑ\or - декабрÑ\fi - \space \number\year~г.}} - \def\daterussian@ancient{% - \def\today{\number\day~\ifcase\month\or% - ÑнварÑ\or - февралÑ\or - марта\or - апрелÑ\or - маÑ\or - іюнÑ\or - іюлÑ\or - авгуÑта\or - ÑентÑбрÑ\or - октÑбрÑ\or - ноÑбрÑ\or - декабрÑ\fi% - \space \number\year~г.}} -\else - \def\daterussian{% - \def\today{\number\day~\ifcase\month\or - \cyrya\cyrn\cyrv\cyra\cyrr\cyrya\or - \cyrf\cyre\cyrv\cyrr\cyra\cyrl\cyrya\or - \cyrm\cyra\cyrr\cyrt\cyra\or - \cyra\cyrp\cyrr\cyre\cyrl\cyrya\or - \cyrm\cyra\cyrya\or - \cyri\cyryu\cyrn\cyrya\or - \cyri\cyryu\cyrl\cyrya\or - \cyra\cyrv\cyrg\cyru\cyrs\cyrt\cyra\or - \cyrs\cyre\cyrn\cyrt\cyrya\cyrb\cyrr\cyrya\or - \cyro\cyrk\cyrt\cyrya\cyrb\cyrr\cyrya\or - \cyrn\cyro\cyrya\cyrb\cyrr\cyrya\or - \cyrd\cyre\cyrk\cyra\cyrb\cyrr\cyrya\fi - \space \number\year~\cyrg.}} - \def\daterussian@ancient{% - \def\today{\number\day~\ifcase\month\or - \cyrya\cyrn\cyrv\cyra\cyrr\cyrya\or - \cyrf\cyre\cyrv\cyrr\cyra\cyrl\cyrya\or - \cyrm\cyra\cyrr\cyrt\cyra\or - \cyra\cyrp\cyrr\cyre\cyrl\cyrya\or - \cyrm\cyra\cyrya\or - \cyrii\cyryu\cyrn\cyrya\or - \cyrii\cyryu\cyrl\cyrya\or - \cyra\cyrv\cyrg\cyru\cyrs\cyrt\cyra\or - \cyrs\cyre\cyrn\cyrt\cyrya\cyrb\cyrr\cyrya\or - \cyro\cyrk\cyrt\cyrya\cyrb\cyrr\cyrya\or - \cyrn\cyro\cyrya\cyrb\cyrr\cyrya\or - \cyrd\cyre\cyrk\cyra\cyrb\cyrr\cyrya\fi - \space \number\year~\cyrg.}} -\fi -\providehyphenmins{\CurrentOption}{\tw@\tw@} -\providehyphenmins{russian}{\tw@\tw@} -\addto\extrasrussian{\cyrillictext} -\addto\noextrasrussian{\latintext} -\addto\extrasrussian{\languageshorthands{russian}} -\addto\extrasrussian{\bbl@activate{"}} -\addto\noextrasrussian{\bbl@deactivate{"}} -\addto\extrasrussian{\bbl@frenchspacing} -\addto\noextrasrussian{\bbl@nonfrenchspacing} -\def\Asbuk#1{\expandafter\russian@Alph\csname c@#1\endcsname} -\if@uni@ode - \def\russian@Alph#1{\ifcase#1\or - Ð\or Б\or Ð’\or Г\or Д\or Е\or Ж\or - З\or И\or К\or Л\or Ðœ\or Ð\or О\or - П\or Ð \or С\or Т\or У\or Ф\or Ð¥\or - Ц\or Ч\or Ш\or Щ\or Ð\or Ю\or Я\else\@ctrerr\fi} -\else - \def\russian@Alph#1{\ifcase#1\or - \CYRA\or\CYRB\or\CYRV\or\CYRG\or\CYRD\or\CYRE\or\CYRZH\or - \CYRZ\or\CYRI\or\CYRK\or\CYRL\or\CYRM\or\CYRN\or\CYRO\or - \CYRP\or\CYRR\or\CYRS\or\CYRT\or\CYRU\or\CYRF\or\CYRH\or - \CYRC\or\CYRCH\or\CYRSH\or\CYRSHCH\or\CYREREV\or\CYRYU\or - \CYRYA\else\@ctrerr\fi} -\fi -\def\asbuk#1{\expandafter\russian@alph\csname c@#1\endcsname} -\if@uni@ode - \def\russian@alph#1{\ifcase#1\or - а\or б\or в\or г\or д\or е\or ж\or - з\or и\or к\or л\or м\or н\or о\or - п\or Ñ€\or Ñ\or Ñ‚\or у\or Ñ„\or Ñ…\or - ц\or ч\or ш\or щ\or Ñ\or ÑŽ\or Ñ\else\@ctrerr\fi} -\else - \def\russian@alph#1{\ifcase#1\or - \cyra\or\cyrb\or\cyrv\or\cyrg\or\cyrd\or\cyre\or\cyrzh\or - \cyrz\or\cyri\or\cyrk\or\cyrl\or\cyrm\or\cyrn\or\cyro\or - \cyrp\or\cyrr\or\cyrs\or\cyrt\or\cyru\or\cyrf\or\cyrh\or - \cyrc\or\cyrch\or\cyrsh\or\cyrshch\or\cyrerev\or\cyryu\or - \cyrya\else\@ctrerr\fi} -\fi -\bbl@declare@ttribute{russian}{ancient}{% - \PackageInfo{babel}{Russian attribute set to ancient}% - \let\captionsrussian=\captionsrussian@ancient - \let\daterussian=\daterussian@ancient -} -\@onlypreamble\captionsrussian@ancient -\@onlypreamble\daterussian@ancient -\def\sh{\mathop{\operator@font sh}\nolimits} -\def\ch{\mathop{\operator@font ch}\nolimits} -\def\tg{\mathop{\operator@font tg}\nolimits} -\def\ctg{\mathop{\operator@font ctg}\nolimits} -\def\arctg{\mathop{\operator@font arctg}\nolimits} -\def\arcctg{\mathop{\operator@font arcctg}\nolimits} -\addto\extrasrussian{% - \babel@save{\th}% - \let\ltx@th\th - \def\th{\textormath{\ltx@th}% - {\mathop{\operator@font th}\nolimits}}% - } -\def\cth{\mathop{\operator@font cth}\nolimits} -\def\cosec{\mathop{\operator@font cosec}\nolimits} -\def\Prob{\mathop{\kern\z@\mathsf{P}}\nolimits} -\def\Variance{\mathop{\kern\z@\mathsf{D}}\nolimits} -\if@uni@ode - \def\nod{\mathop{\mathrm{н.о.д.}}\nolimits} - \def\nok{\mathop{\mathrm{н.о.к.}}\nolimits} - \def\NOD{\mathop{\mathrm{ÐОД}}\nolimits} - \def\NOK{\mathop{\mathrm{ÐОК}}\nolimits} - \def\Proj{\mathop{\mathrm{Пр}}\nolimits} -\else - \def\nod{\mathop{\textnormal{\cyrn.\cyro.\cyrd.}}\nolimits} - \def\nok{\mathop{\textnormal{\cyrn.\cyro.\cyrk.}}\nolimits} - \def\NOD{\mathop{\textnormal{\CYRN\CYRO\CYRD}}\nolimits} - \def\NOK{\mathop{\textnormal{\CYRN\CYRO\CYRK}}\nolimits} - \def\Proj{\mathop{\textnormal{\CYRP\cyrr}}\nolimits} -\fi -\ldf@finish{russian} -%% -%% \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 \~} -%% - -%% Nonunicode Cyrillic Letters -%% \CYRA=Ð -%% \CYRB=Б -%% \CYRV=Ð’ -%% \CYRG=Г -%% \CYRGUP=Ò -%% \CYRD=Д -%% \CYRE=Е -%% \CYRIE=Є -%% \CYRZH=Ж -%% \CYRZ=З -%% \CYRI=И -%% \CYRII=I -%% \CYRYI=Ї -%% \CYRISHRT=Й -%% \CYRK=К -%% \CYRL=Л -%% \CYRM=Ðœ -%% \CYRN=Ð -%% \CYRO=О -%% \CYRP=П -%% \CYRR=Ð -%% \CYRS=С -%% \CYRT=Т -%% \CYRU=У -%% \CYRF=Ф -%% \CYRH=Ð¥ -%% \CYRC=Ц -%% \CYRCH=Ч -%% \CYRSH=Ш -%% \CYRSHCH=Щ -%% \CYRYU=Ю -%% \CYRYA=Я -%% \CYRSFTSN=Ь -%% -%% \cyra=а -%% \cyrb=б -%% \cyrv=в -%% \cyrg=г -%% \cyrgup=Ò‘ -%% \cyrd=д -%% \cyre=е -%% \cyrie=Ñ” -%% \cyrzh=ж -%% \cyrz=з -%% \cyri=и -%% \cyrii=i -%% \cyryi=Ñ— -%% \cyrishrt=й -%% \cyrk=к -%% \cyrl=л -%% \cyrm=м -%% \cyrn=н -%% \cyro=о -%% \cyrp=п -%% \cyrr=Ñ€ -%% \cyrs=Ñ -%% \cyrt=Ñ‚ -%% \cyru=у -%% \cyrf=Ñ„ -%% \cyrh=Ñ… -%% \cyrc=ц -%% \cyrch=ч -%% \cyrsh=ш -%% \cyrshch=щ -%% \cyryu=ÑŽ -%% \cyrya=Ñ -%% \cyrsftsn=ÑŒ -%% ---------------------------------------------------------------- -%% Copyright 2011-2017 Igor A. Kotelnikov. -%% Copyright 1995-2008 Olga Lapko. -%% Copyright 1989-2012 Johannes L. Braams. -%% -%% This file is a part of the Russian-Babel package. -%% -%% 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 -%% -%% The package is "maintained" (as per LPPL maintenance status) by -%% Igor A. Kotelnikov. -%% -%% The package consists of the file russianb.dtx -%% and the derived files russianb.ins, -%% russianb.ldf, -%% russianb.pdf, -%% README. -%% ---------------------------------------------------------------- -%% -%% End of file `russianb.ldf'. diff --git a/macros/latex/contrib/babel-contrib/russian/russianb.pdf b/macros/latex/contrib/babel-contrib/russian/russianb.pdf Binary files differindex 32025a01ef..ac043c91cf 100644 --- a/macros/latex/contrib/babel-contrib/russian/russianb.pdf +++ b/macros/latex/contrib/babel-contrib/russian/russianb.pdf diff --git a/macros/latex/contrib/hyperxmp/hyperxmp.dtx b/macros/latex/contrib/hyperxmp/hyperxmp.dtx index 08e6d2fab8..eab2cc3940 100644 --- a/macros/latex/contrib/hyperxmp/hyperxmp.dtx +++ b/macros/latex/contrib/hyperxmp/hyperxmp.dtx @@ -22,7 +22,7 @@ %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<package>\ProvidesPackage{hyperxmp} %<*package> - [2020/09/24 v5.5 Store hyperref metadata in XMP format] + [2020/10/05 v5.6 Store hyperref metadata in XMP format] %</package> % %<*driver> @@ -116,7 +116,7 @@ %</driver> % \fi % -% \CheckSum{2804} +% \CheckSum{2826} % % \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 @@ -191,6 +191,10 @@ % \protect\cs{AtEndPreamble}, as is done by % \protect\pkgname{doclicense}~v2.2.0. Thanks to Tommaso Pecorella % for the bug report and help testing} +% \changes{v5.6}{2020/10/05}{Make conditional the loading of the +% \protect\pkgname{ifdraft} package. Thanks to Tobias Pape for +% reporting the incompatibility between \protect\pkgname{hyperxmp} and +% \protect\pkgname{ifdraft}} % % ^^A \GetFileInfo{hyperxmp.dtx} % @@ -1612,6 +1616,28 @@ % \pkgname{hyperxmp}. Read this section only if you want to learn how % \pkgname{hyperxmp} is implemented. % +% \bigskip +% +% One thing to bear in mind when reading the \pkgname{hyperxmp} source +% code is that different actions occur at different times throughout +% document processing: +% +% \begin{enumerate} +% \item |\usepackage{hyperxmp}|: \pkgname{hyperxmp} parses package +% options, defines a number of commands, loads various helper +% packages, and assigns default values to most \acro{XMP} fields. +% +% \item |\begin{document}|: \pkgname{hyperxmp} loads certain packages +% such as \pkgname{hyperref} and \pkgname{ifdraft} and queries +% natural-language information from \pkgname{babel} and +% \pkgname{polyglossia} that becomes available only at the end of +% the preamble. +% +% \item |\end{document}|: \pkgname{hyperxmp} finalizes certain data +% that are known only at the end of the document, such as the page +% count, and writes the \acro{XMP} packet to the \acro{PDF} file. +% \end{enumerate} +% % \iffalse %<*package> % \fi @@ -2101,16 +2127,32 @@ % \end{macro} % % \begin{macro}{\ifdraft} +% \begin{macro}{\next} % Use the \pkgname{ifdraft} package to determine if this is a draft or -% final document. +% final document. The challenge here is that we want to use +% \pkgname{ifdraft} if it's already loaded, load it if not, and not +% break any incompatible, author-defined \cs{ifdraft} macros that may +% occur either before or after the |\usepackage{hyperxmp}|. Our +% solution begins by defining a new group. Then, if \pkgname{ifdraft} +% is not yet loaded, we locally undefine \cs{ifdraft} and load the +% package. In this case, we later ``unload'' the package by setting +% \cs{ver@ifdraft.sty} to \cs{relax}. % \changes{v5.2}{2020/04/18}{Define \protect\cs{ifdraft} only locally, at % Niklas Beisert's request} % \begin{macrocode} \begingroup -\let\ifdraft=\relax -\RequirePackage{ifdraft} + \@ifpackageloaded{ifdraft}{% + \let\next=\relax + }{% + \let\ifdraft=\relax + \RequirePackage{ifdraft}% + \def\next{% + \expandafter\global\expandafter\let\csname ver@ifdraft.sty\endcsname=\relax + }% + }% % \end{macrocode} % \end{macro} +% \end{macro} % % \begin{macro}{\@pdfrendition} % \changes{v5.0}{2020/02/27}{Added the \protect\optname{pdfrendition} @@ -2121,11 +2163,12 @@ % |\documentclass[draft]|, for which |\@pdfrendition| defaults to % |draft|. % \begin{macrocode} -\ifdraft{% - \gdef\@pdfrendition{draft}% -}{% - \gdef\@pdfrendition{default}% -} + \ifdraft{% + \gdef\@pdfrendition{draft}% + }{% + \gdef\@pdfrendition{default}% + } + \next \endgroup \define@key{Hyp}{pdfrendition}{\hyxmp@pdfstringdef\@pdfrendition{#1}} % \end{macrocode} @@ -5988,8 +6031,27 @@ ______</Iptc4xmpCore:CreatorContactInfo>^^J% % \end{macrocode} % \end{macro} % +% \begin{macro}{\hyxmp@prot@us} +% Define an underscore character that's protected from being converted +% into a space when passed to \cs{hyxmp@add@to@xml}. \cs{hyxmp@prot@us} +% is used within |write_xmp_font_list| (below) in particular to typeset +% filenames that may contain underscores. +% \begin{macrocode} +\bgroup + \catcode`\_=11 + \gdef\hyxmp@prot@us{_}% +\egroup +% \end{macrocode} +% \end{macro} +% % Here we define a Lua\index{Lua} function, |write_xmp_font_list|, that % writes font information to the \acro{XMP} packet. +% \changes{v5.6}{2020/10/02}{Make \protect\texttt{write\_xmp\_font\_list} +% robust to fonts loaded using +% \protect\href{https://en.wikipedia.org/wiki/HarfBuzz}{HarfBuzz}. +% Thanks to John Lienhard for the bug report} +% \changes{v5.6}{2020/10/02}{Don't inadvertently replace underscores in +% filenames when writing font-related metadata} % \begin{macrocode} \ifLuaTeX \begin{luacode*} @@ -6001,8 +6063,9 @@ function write_xmp_font_list (cct) local xml = string.gsub(val, "&", "&") xml = string.gsub(xml, "<", "<") xml = string.gsub(xml, ">", ">") + xml = string.gsub(xml, "_", "\\hyxmp@prot@us ") tex.print(cct, "____________<stFnt:" .. name .. ">" .. - val .. "</stFnt:" .. name .. ">^^J%") + xml .. "</stFnt:" .. name .. ">^^J%") return end end @@ -6013,11 +6076,14 @@ function write_xmp_font_list (cct) for i, f in font.each() do tex.print(cct, "__________<rdf:li rdf:parseType=\"Resource\">^^J%") if f.filename then - local info = fontloader.info(f.filename) - show_field("fontFace", info.fullname) - show_field("fontFamily", info.familyname) - show_field("fontName", info.fontname) - show_field("versionString", info.version) + local fname = string.gsub(f.filename, "^harfloaded:(.*)", "%1") + local info = fontloader.info(fname) + if info then + show_field("fontFace", info.fullname) + show_field("fontFamily", info.familyname) + show_field("fontName", info.fontname) + show_field("versionString", info.version) + end local baseName = string.gsub(f.filename, ".*[/\\](.*)", "%1") show_field("fontFileName", baseName) else diff --git a/macros/latex/contrib/hyperxmp/hyperxmp.pdf b/macros/latex/contrib/hyperxmp/hyperxmp.pdf Binary files differindex 713d57a2b6..23e5ed9f76 100644 --- a/macros/latex/contrib/hyperxmp/hyperxmp.pdf +++ b/macros/latex/contrib/hyperxmp/hyperxmp.pdf diff --git a/macros/latex/contrib/paresse/LISEZMOI b/macros/latex/contrib/paresse/LISEZMOI deleted file mode 100644 index 178de1082a..0000000000 --- a/macros/latex/contrib/paresse/LISEZMOI +++ /dev/null @@ -1,52 +0,0 @@ -% -*- coding: utf-8 -*- -% Time-stamp: <2013-02-16 10:25:05 novatux> - -====================================================================== - -PARESSE version 4.1 2013/02/16 - -====================================================================== - -Ce lot comprend - -LISEZMOI % ce fichier -README % la version anglaise - -Makefile % pour les utilisateurs de *nix -paresse.dtx % fichier source -paresse.ins % fichier d'installation -paresse.sty % le fichier de l'extension -paresseold.sto % fichier d'option -paresseutf8.sto % fichier d'option - - -paresse.pdf % code documenté en anglais -paresse-fr.pdf % documentation française -paresse-en.pdf % documentation anglaise -paresse-ex-fr.pdf % exemple en français -paresse-ex-en.pdf % le même en anglais - -paresse-TEST.zip -% archive contenant les fichiers de test: - ex-com-utf8-tame.tex - ex-com-utf8-wild.tex - test-latex-8bits-tame.tlx - test-latex-8bits-wild.tlx - test-latex-utf8-tame.tlx - test-latex-utf8-wild.tlx - test-lualatex-tame.llx - test-lualatex-wild.llx - test-xelatex-tame.xlx - test-xelatex-wild.xlx - -paresse.tds.zip % l'archive conforme à la TDS - -====================================================================== - -Cette extension est faite pour taper « facilement » les lettres -grecques avec un minimum d'effort ;) Elle ne concerne que les -lettres grecques qui ont un nom de macro comme \alpha ou \Omega. - --- -Le \TeX nicien de surface -Yvon.Henel@wanadoo.fr diff --git a/macros/latex/contrib/paresse/LISEZMOI.md b/macros/latex/contrib/paresse/LISEZMOI.md new file mode 100644 index 0000000000..c2aca51649 --- /dev/null +++ b/macros/latex/contrib/paresse/LISEZMOI.md @@ -0,0 +1,31 @@ +<!-- Time-stamp: <2020-10-06 14:12:28 administrateur> --> +<!-- Création : 2020-10-06T14:12:21+0200 --> + +# paresse + +Auteur: Yvon Henel, alias _Le TeXnicien de surface_ +([contact](le.texnicien.de.surface@yvon-henel.fr)) + +## LICENCE + +Le contenu de cette archive est placé sous la « LaTeX Project Public License ». +Voir http://www.ctan.org/license/lppl1.3c +pour la licence. + +© 2020 Yvon Henel (Le TeXnicien de surface) + +## Description de l’extension + +Cette extension est faite pour taper « facilement » les lettres +grecques avec un minimum d'effort ;) Elle ne concerne que les +lettres grecques qui ont un nom de macro comme `\alpha` ou `\Omega`. + +## Historique + +* Version 5.0 — 2020-10-06 + * abandon de l'extension <kbd>skeyval</kbd> ; + * gestion des clés avec <kbd>l3keys</kbd> ; + * deux *sous-extensions* <kbd>paresse-old</kbd> and <kbd>paresse-utf8</kbd>; + * passage partiel à <kbd>expl3</kbd>. + +* Version 4.1 — 2013-02-16 diff --git a/macros/latex/contrib/paresse/MANIFEST.md b/macros/latex/contrib/paresse/MANIFEST.md new file mode 100644 index 0000000000..080a0a96b8 --- /dev/null +++ b/macros/latex/contrib/paresse/MANIFEST.md @@ -0,0 +1,72 @@ +# Manifest for paresse + +This file is a listing of all files considered to be part of this package. +It is automatically generated with `texlua build.lua manifest`. + + +## Repository manifest + +The following groups list the files included in the development repository of the package. +Files listed with a ‘†’ marker are included in the TDS but not CTAN files, and files listed +with ‘‡’ are included in both. + +### Source files + +These are source files for a number of purposes, including the `unpack` process which +generates the installation files of the package. Additional files included here will also +be installed for processing such as testing. + +* paresse.dtx +* paresse.ins + +### Typeset documentation source files + +These files are typeset using LaTeX to produce the PDF documentation for the package. + +* paresse.dtx + +### Documentation files + +These files form part of the documentation but are not typeset. Generally they will be +additional input files for the typeset documentation files listed above. + +* LISEZMOI.md +* MANIFEST.md +* README.md +* paresse-fra.pdf +* paresse-eng.pdf + +### Text files + +Plain text files included as documentation or metadata. + +* LISEZMOI.md +* MANIFEST.md +* README.md + +### Derived files + +The files created by ‘unpacking’ the package sources. This typically includes +`.sty` and `.cls` files created from DocStrip `.dtx` files. + +* paresse-old.sty +* paresse-utf8.sty +* paresse.sty + +### Typeset documents + +The output files (PDF, essentially) from typesetting the various source, demo, +etc., package files. + +* paresse.pdf + + +## TDS manifest + +The following groups list the files included in the TeX Directory Structure used to install +the package into a TeX distribution. + + +## CTAN manifest + +The following group lists the files included in the CTAN package. diff --git a/macros/latex/contrib/paresse/Makefile b/macros/latex/contrib/paresse/Makefile deleted file mode 100644 index c36bb56210..0000000000 --- a/macros/latex/contrib/paresse/Makefile +++ /dev/null @@ -1,203 +0,0 @@ -# --------------------------------------------------------------- -# Time-stamp: <2013-02-16 10:51:17 novatux> -# Makefile for the paresse package by Y. Henel -# modified version of the Makefile of the kerntest package -# many thanks to Harald Harders whose kerntest.xml I have also -# hacked to obtain my paresse.xml -# --------------------------------------------------------------- -PKGNAME=paresse -VERSION=4.1 - -TESTSRCUTIL= \ - ex-com-utf8-tame.tex \ - ex-com-utf8-wild.tex \ - -TESTSRCTEX= \ - test-latex-8bits-tame.tlx \ - test-latex-8bits-wild.tlx \ - test-latex-utf8-tame.tlx \ - test-latex-utf8-wild.tlx \ - test-lualatex-tame.llx \ - test-lualatex-wild.llx \ - test-xelatex-tame.xlx \ - test-xelatex-wild.xlx - -TESTSRC= \ - $(TESTSRCUTIL) \ - $(TESTSRCTEX) - -SOURCE= Makefile \ - $(PKGNAME).dtx \ - $(PKGNAME)-doc.dtx \ - $(PKGNAME).ins \ - LISEZMOI \ - README - -PDFDOC= $(PKGNAME).pdf \ - $(PKGNAME)-fr.pdf \ - $(PKGNAME)-en.pdf \ - $(PKGNAME)-ex-fr.pdf \ - $(PKGNAME)-ex-en.pdf - -PDFDOCSUP = \ - test-latex-8bits-tame.pdf \ - test-latex-8bits-wild.pdf \ - test-latex-utf8-tame.pdf \ - test-latex-utf8-wild.pdf \ - test-lualatex-tame.pdf \ - test-lualatex-wild.pdf \ - test-xelatex-tame.pdf \ - test-xelatex-wild.pdf - -SRCDOC= $(PKGNAME)-doc.dtx - -TEXDOC= $(PKGNAME)-fr.ltx \ - $(PKGNAME)-en.ltx \ - $(PKGNAME)-ex-fr.elx \ - $(PKGNAME)-ex-en.elx - -CTANDOC= $(PDFDOC) - -DECHETS= \ - $(TEXDOC)\ - $(PDFDOC)\ - $(PDFDOCSUP) - -REPERTS = \ - doc \ - tex \ - source - -TEX = $(PKGNAME).sty \ - $(PKGNAME)utf8.sto \ - $(PKGNAME)old.sto - -GARBAGE= $(wildcard *.aux)\ - $(wildcard *.log)\ - $(wildcard *.toc)\ - $(wildcard *.out)\ - $(wildcard *.glo)\ - $(wildcard *.gls)\ - $(wildcard *.ilg)\ - $(wildcard *.ind)\ - $(wildcard *.idx)\ - $(wildcard *.hd)\ - $(wildcard *.ltx)\ - $(wildcard *.elx)\ - $(wildcard *~) - -# --------------------------------------------------------------- - -.SUFFIXES: .sty .ins .dtx .pdf .ltx .tex .llx .xlx .tlx .elx - -# --------------------------------------------------------------- -.ins.sty: - latex $< - -.dtx.pdf: - pdflatex $< - pdflatex $< - makeindex -s gind.ist $(*D)/$(*F) - makeindex -s gglo.ist -o $(*D)/$(*F).gls $(*D)/$(*F).glo - pdflatex $< - -.ltx.pdf: - pdflatex $< - pdflatex $< - makeindex -s gind.ist $(*D)/$(*F) - pdflatex $< - -.elx.pdf: - pdflatex $< - pdflatex $< - -.tlx.pdf: - pdflatex $< - -.llx.pdf: - lualatex $< - -.xlx.pdf: - xelatex $< - -# --------------------------------------------------------------- - -all: $(PKGNAME).sty $(PDFDOC) $(PDFDOCSUP)\ - $(TEXDOC) $(PKGNAME).ins - -# --------------------------------------------------------------- - -help: - @-echo "******************************************************" - @-echo "** Choisir une des options : *" - @-echo "== Choose one of the options: *" - @-echo "** 'all' pour produire tous les fichiers *" - @-echo "== 'all' to produce all the files *" - @-echo "** 'clean' suppression des fichiers auxiliaires *" - @-echo "== 'clean' delete the auxiliary files *" - @-echo "** 'distclean' pour ne conserver que les sources *" - @-echo "== 'distclean' to keep only the sources *" - @-echo "******************************************************" - -# --------------------------------------------------------------- - -dist: all clean - -# --------------------------------------------------------------- - -clean: - @-rm -f $(GARBAGE) - -distclean: clean - @-rm -f $(DECHETS) - @-rm -f $(TEX) - @-rm -f common.tex - -# --------------------------------------------------------------- - -texlive: dist - @-rm -rf $(REPERTS) - @-mkdir -p tex/latex/$(PKGNAME) - @-mkdir -p doc/latex/$(PKGNAME) - @-mkdir -p source/latex/$(PKGNAME) - @-mkdir -p TEST - @-cp $(TEX) tex/latex/$(PKGNAME) - @-cp $(CTANDOC) doc/latex/$(PKGNAME) - @-cp $(SOURCE) source/latex/$(PKGNAME) - @-cp $(TESTSRC) TEST - @-zip -r $(PKGNAME)-TEST TEST/ - @-mv $(PKGNAME)-TEST.zip source/latex/$(PKGNAME)/ - @-rm -rf TEST/ - @-mkdir -p $(PKGNAME) - @-cp $(CTANDOC) ./$(PKGNAME) - @-cp $(SOURCE) ./$(PKGNAME) - @-cp $(TEX) ./$(PKGNAME) - -# --------------------------------------------------------------- - -zip: texlive - @-rm -f $(PKGNAME).zip - @-zip -r $(PKGNAME) $(REPERTS) - @-rm -rf $(REPERTS) - @-mv $(PKGNAME).zip $(PKGNAME).tds.zip - @-zip -r $(PKGNAME) $(PKGNAME) - @-zip -r $(PKGNAME) $(PKGNAME).tds.zip - @-rm -rf $(PKGNAME) - @-rm -f $(PKGNAME).tds.zip - -# --------------------------------------------------------------- - -ctan: zip distclean - -# --------------------------------------------------------------- - -doc: $(PKGNAME).ins $(PKGNAME).pdf $(PKGNAME)-doc.dtx - -$(PKGNAME).sty: $(PKGNAME).ins $(PKGNAME).dtx -$(TEXDOC): $(PKGNAME).ins $(PKGNAME).dtx $(PKGNAME)-doc.dtx -$(PDFDOC): $(TEXDOC) -# --------------------------------------------------------------- -# echu e an abaden -# Le \TeX nicien de surface 2011/04/17, 2013/02/16 - - diff --git a/macros/latex/contrib/paresse/README b/macros/latex/contrib/paresse/README deleted file mode 100644 index d26dabd892..0000000000 --- a/macros/latex/contrib/paresse/README +++ /dev/null @@ -1,54 +0,0 @@ -% Time-stamp: <2013-02-16 10:28:53 novatux> - -====================================================================== - -PARESSE version 4.1 2013/02/16 - -====================================================================== - -This bundle should contain - -README % this file -LISEZMOI % French version - -Makefile % for *nix users -paresse.dtx -paresse.ins -paresse.sty % the style file -paresseold.sto % style option file -paresseutf8.sto % style option file - -paresse.pdf % code documented in English -paresse-en.pdf % English documentation -paresse-fr.pdf % French documentation -paresse-ex-en.pdf % English Example -paresse-ex-fr.pdf % French Example - -paresse-TEST.zip -% archive containing files for test: - ex-com-utf8-tame.tex - ex-com-utf8-wild.tex - test-latex-8bits-tame.tlx - test-latex-8bits-wild.tlx - test-latex-utf8-tame.tlx - test-latex-utf8-wild.tlx - test-lualatex-tame.llx - test-lualatex-wild.llx - test-xelatex-tame.xlx - test-xelatex-wild.xlx - -paresse.tds.zip % the tds compliant archive - -====================================================================== - -This package provides a means of typing "easily" greek letters -with the least possible effort ;) It takes care only of the -letters which have a macro name as \alpha or \Omega. - -====================================================================== - -Happy TeXing and all that. - --- -Le \TeX nicien de surface -le.texnicien.de.surface@wanadoo.fr diff --git a/macros/latex/contrib/paresse/README.md b/macros/latex/contrib/paresse/README.md new file mode 100644 index 0000000000..90b918cf8e --- /dev/null +++ b/macros/latex/contrib/paresse/README.md @@ -0,0 +1,34 @@ +<!-- Time-stamp: <2020-10-06 14:12:38 administrateur> --> +<!-- Création : 2020-10-06T14:12:21+0200 --> + +# paresse + +Author: Yvon Henel, aka Le TeXnicien de surface +([contact](le.texnicien.de.surface@yvon-henel.fr)) + +## LICENCE + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3c +for the details of that license. + +© 2020 Yvon Henel (Le TeXnicien de surface) + +## Description of the Package + +This package provides a means of typing “easily†greek letters +with the least possible effort ;) It takes care only of the +letters which have a macro name as `\alpha` or `\Omega`. + + +## History + +* Version 5.0 — 2020-10-06 + * doesn't use package <kbd>skeyval</kbd> anymore; + * use <kbd>l3keys</kbd> for managing keys; + * two *sub-packages* <kbd>paresse-old</kbd> and <kbd>paresse-utf8</kbd>; + * partial usage of <kbd>expl3</kbd>. + +* Version 4.1 — 2013-02-16 + + diff --git a/macros/latex/contrib/paresse/paresse-doc.dtx b/macros/latex/contrib/paresse/paresse-doc.dtx deleted file mode 100644 index 5bb0512419..0000000000 --- a/macros/latex/contrib/paresse/paresse-doc.dtx +++ /dev/null @@ -1,796 +0,0 @@ -% \iffalse meta-comment -%-*- coding: iso-8859-15 -*- -% Time-stamp: <2013-02-16 10:40:24 novatux> -% -------------------------------------------------------------------- -% -% Copyright (C) 2011, 2013 -% by Yvon Henel alias le TeXnicien de surface -% <le.texnicien.de.surface@wanadoo.fr> -% -% -------------------------------------------------------------------- -% -% 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: -% -% 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. -% \fi -% -% \iffalse -%<*doc> -\documentclass[a4paper]{ltxdoc} -\usepackage[latin1]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[tame]{paresse} -\usepackage{xspace,url,array,ifthen,hologo} -\IfFileExists{lmodern.sty}{\usepackage{lmodern}}{} -%<fr>\usepackage[english,frenchb]{babel} -%<en>\usepackage[frenchb,english]{babel} -\usepackage[colorlinks=true, - linkcolor=blue, - urlcolor=blue, - citecolor=blue]{hyperref} -\input{common} -\makeatletter -\newcommand\DescribeOption[1]{\@bsphack \marginpar{\raggedleft - \textsc{#1}}\index{#1 (option)}\@esphack} -\newcommand*\PS{\texttt{\S}\xspace} -\newcommand*\PSVerb[1]{\texttt{\S #1}} -%<*fr> -\GlossaryPrologue{% - \section*{{Changements}} - \markboth{{Changements}}{{Changements}}} -\IndexPrologue{% - \section*{Index}\markboth{Index}{Index}% - Les nombres en italique renvoient à la page où l'entrée est décrite; - les nombres soulignés renvoient à la ligne de code de la définition; - les nombres en caractères romains renvoient à la ligne de code où - l'entrée est utilisée.} -\def\generalname{Général} -\def\SpecialMainEnvIndex#1{% - \@bsphack\special@index{% - #1\actualchar - {\string\ttfamily\space#1} - (environnement)% - \encapchar main}% - \special@index{environnements:\levelchar#1\actualchar{% - \string\ttfamily\space#1}\encapchar - main}\@esphack} -\makeatother -\newcommand{\CAD}{c.-à-d.\xspace} -%</fr> -\newcommand{\TO}{\textemdash\ \ignorespaces} -\newcommand{\TF}{\unskip\ \textemdash\xspace} -\newcommand\BOP{\discretionary{}{}{}} -\newcommand\Option[1]{\textsc{#1}} -\newcommand\Pkg[1]{\textsf{#1}} -\newcommand\NOUVO[1][1]{% - \ifthenelse - {\equal{#1}{5}} - {\marginpar{\hspace*{\stretch{1}}% - \textbf{N (v5)}\hspace*{.5em}}}% - {}} - - -\EnableCrossrefs -\CodelineIndex - -\begin{document} - -%<*fr> -\title{Le module \Pkg{paresse}\thanks{Ce document correspond au - fichier \Pkg{paresse}~\fileversion, du \filedate.}} -%</fr> -%<*en> -\title{The package \Pkg{paresse}\thanks{This document corresponds - to the file \Pkg{paresse}~\fileversion, dated \filedate.} - \mbox{}\thanks{English translation by the author. Any comment - about the translation is welcome.}} -%</en> -\author{Le \TeX nicien de surface\\ - \href{mailto:le.texnicien.de.surface@wanadoo.fr}% - {le.texnicien.de.surface@wanadoo.fr}} -\maketitle{} - -%<*fr> -\begin{abstract} - Ce module, reprenant un exemple de T.~\textsc{Lachand-Robert} - dans~\cite{tlachand}, fournit un moyen de taper des lettres grecques - isolées à l'aide du caractère \PS actif et redéfini. Au lieu de - |\(\alpha\)| ou tape |§a| pour obtenir \(\alpha\). - - \textbf{Important} : Il doit être chargé \textbf{après} - \Pkg{inputenc} si ce dernier est utilisé. De plus, il faut que le - signe § soit une lettre pour \TeX. - - Le fichier \texttt{paresse.pdf} contient le code commenté en - anglais. -\end{abstract} -\begin{otherlanguage}{english} - \begin{abstract} - This is the French documentation for the final user of the package - \Pkg{paresse}. The English documentation for the final user is - available in the file \texttt{paresse-en.pdf}. - \end{abstract} -\end{otherlanguage} -%</fr> -%<*en> -\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 § activated and redefined. Instead of - |\(\alpha\)| one types |§a| to obtain \(\alpha\). - -\end{abstract} -\begin{otherlanguage}{french} - \begin{abstract} - La documentation française pour l'utilisateur de l'extension - \Pkg{paresse} est désormais disponible sous le nom de - \texttt{paresse-fr.pdf}. - - Le fichier \texttt{paresse.pdf} contient le code commenté en - anglais. - \end{abstract} -\end{otherlanguage} -%</en> - -\tableofcontents{} - -\newpage - -%<fr>\section{Introduction} -%<en>\section{Introduction} - -%<*fr> -Cette extension ne fournit qu'un accès \og rapide et économique \fg -aux lettres grecques qui s'obtiennent à l'aide d'une macro comme -\cs{alpha} ou \cs{Omega}. Elle fournit un environnement et une commande -qui permettent d'utiliser § pour taper ces lettres. Un \cs{ensuremath} -nous dispense de nous placer explicitement \TO c'est-à-dire en -tapant |$ $| ou bien |\( \)| ou encore |\[ \]| ou tout autre chose -ayant le même effet\TF en mode mathématique pour obtenir une lettre -grecque. -%</fr> -%<*en> -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. -%</en> - -%<*fr> -L'idée de la méthode est due à T.~\textsc{Lachand-Robert} et est -exposée dans~\cite{tlachand}. Je n'ai fait qu'ajouter le -\cs{ensuremath} bien agréable pour l'écriture de macros. -%</fr> -%<*en> -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. -%</en> - -%<*fr> -Bien entendu, on \textbf{ne} dispose \textbf{pas} de macros pour la -minuscule omicron ni pour les majuscules alpha, beta\dots{} qui -s'obtiennent à l'aide des latines romaines de même -apparence\footnote{Je ne ferai aucune remarque sur les problèmes de - codage que cela pose.}. Je ne me suis pas senti le courage ni la -force de fournir une solution qui permettent d'obtenir dans une -formule baignant dans un texte en italique gras un alpha majuscule -droit, romain, \&c. -%</fr> -%<*en> -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. -%</en> - -%<*fr> -Pour finir cette introduction, glosons le nom de cette -extension. |paresse| vient de ce que le signe § indique un \og -paragraphe \fg en ayant une forme lointainement apparentée au -S et n'a donc aucun lien avec le \emph{défaut} si fréquent, -encore que, à bien y réfléchir\dots -%</fr> -%<*en> -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{} -%</en> - - -%<fr>\section{Pourquoi une 4\ieme version?} -%<en>\section{Why a 4th Version?} - -%<*fr> -Je ne sais plus bien à quelle occasion \TO l'age et les pannes de -machine avec \og crachage\fg de disque aidant\TF et encore moins quand -\TO si ce n'est que cela remonte à plus d'un an maintenant\TF -Christian \textsc{Tellechea} me faisait part de son désir d'utiliser -\Pkg{paresse} avec des sources codées en utf-8 sous \hologo{LaTeX} \TO -et non \hologo{XeLaTeX} ou \hologo{LuaLaTeX}. - -Une discussion s'engagea, Christian me fit parvenir du matériel en -ordre de marche. Il me fit même cadeau de deux versions, la deuxième -améliorant la reconnaissance du codage déclaré avec -\Pkg{inputenc}. Toutefois, je procrastinais. Il se peut que ma vie -personnelle et mon travail aient interféré avec le développement de -cette extension. - -Enfin, voici la chose. -%</fr> -%<*en> -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\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. -%</en> - -%<*fr> -Le plus nouveau devrait échapper à l'utilisateur de \hologo{LuaLaTeX} -ou \hologo{XeLaTeX} et même de \hologo{LaTeX} chargeant \Pkg{inputenc} -avec une option comme \texttt{latin1} ou \texttt{latin9}. Cependant, -désormais, on peut utiliser cette extension avec \hologo{LaTeX} en -chargeant \Pkg{inputenc} avec l'option \texttt{utf8}. -%</fr> -%<*en> -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}. -%</en> - -%<*fr> -J'ai profité de cette nouvelle version pour ajouter une macro en \PS: -\NOUVO\PSVerb{Z} qui produit \S, symbole déjà accessible par |\S|, ce qui -fait que je n'ose pas vraiment parler de \og raccourci\fg. -%</fr> -%<*en> -I take advantage of this new version to add a \PS-macro: -\NOUVO\PSVerb{Z} which produces \S, symbol already available with -|\S|, so I don't dare to present it as a real ``shortcut''. -%</en> - -%<fr>\section{Pourquoi une 3\ieme version?} -%<en>\section{Why a 3rd Version?} - -%<*fr> -C'est par courriel que Claudio \textsc{Beccari} m'a signalé très -aimablement qu'il existait un codage de l'alphabet grec en lettres -latines près de 15~ans avant que je ne commette cette extension. Ce -codage était dû à Sylvio \textsc{Levi} qui l'avait mis au point, alors -qu'il dessinait les premières fontes grecques pour \TeX, en s'appuyant -sur la correspondance entre les claviers américain et grec. Il me -faisait remarquer à juste titre que si quelqu'un avait pris l'habitude -du codage de Sylvio \textsc{Levi}, il préférerait conserver ses -habitudes pour \Pkg{paresse}. -%</fr> -%<*en> -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}. -%</en> - -%<*fr> -J'ai donc décidé de fournir un nouveau couple d'options exclusives -l'une de l'autre que j'ai nommées, pour l'une, \Option{legacy} --- -pour \og héritage\fg --- qui assure le codage originel de cette -extension et qui est active par défaut et, pour l'autre, \Option{Levi} -qui assure le codage de Sylvio \textsc{Levi}. -%</fr> -%<*en> -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. -%</en> - -%<*fr> -J'en profite pour faire quelques changements cosmétiques: -désormais toutes les macros internes \emph{secrètes} ont un nom qui -commence par \cs{GA@}; -le fichier |.dtx| est réorganisé pour faciliter la tache de -traduction de la documentation. -%</fr> -%<*en> -I take advantage of this update to make some cosmetic changes: from -now on all inner \emph{secret} macros have a name which begins with -\cs{GA@}; the |.dtx| file is reorganised to facilitate the translation -of the documentation. -%</en> - -%<fr>\section{Utilisation} -%<en>\section{Usage} - -%<*fr> -On charge cette extension avec |\usepackage{paresse}| \textbf{après} -l'extension \Pkg{inputenc} quand on utilise \hologo{LaTeX}. Il faut -que la \og caractère \fg § soit reconnu par \TeX\ comme une lettre. On -pourra, par exemple, utiliser l'option |latin1| de \Pkg{inputenc} pour -obtenir cela. - -On obtiendra le même comportement, à l'exception signalée -page~\pageref{restriction} près, avec \Pkg{inputenc} et l'option -\texttt{utf8}.\NOUVO - -Il n'y a pas ce genre de restriction quand on travaille avec -\hologo{LuaLaTeX} ou \hologo{XeLaTeX} sur un source codé en -UTF-8.\NOUVO -%</fr> -%<*en> -One loads the package with |\usepackage{paresse}| \textbf{after} the -package \Pkg{inputenc} when using \hologo{LaTeX}. The sign § must be -recognised as a letter by \TeX. On can use for instance \Pkg{inputenc} -with option |latin1| for such a purpose. - -One will obtain the same behaviour, but for the exception -pointed out on page~\pageref{restriction}, with \Pkg{inputenc} and -option \texttt{utf8}.\NOUVO - -There is no such restriction when one compiles with \hologo{LuaLaTeX} -or \hologo{XeLaTeX} a source encoded in UTF-8.\NOUVO -%</en> - -%<*fr> -Par défaut, l'extension est chargée avec l'option |wild| ce qui -signifie que les macros de la forme |§a| sont disponibles. Si l'on -préfère, on peut passer à |paresse| l'option \Option{tame} avec -|\usepackage[tame]{paresse}|. Il faut alors utiliser la commande -\cs{ActiveLaParesse} ou l'environnement |ParesseActive| pour utiliser -les macros en §. -%</fr> -%<*en> -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]{paresse}|. One -must then use the command \cs{ActiveLaParesse} or the environment -|ParesseActive| to use the `§-macros'. -%</en> - -%<*fr> -Lorsque la \og paresse est active \fg, il suffit de taper |§a| pour -obtenir \(\alpha\). On a de même accès à toutes les lettres grecques -auxquelles sont consacrées une macro comme \cs{alpha}, -voyez~\ref{codageorig} et~\ref{codagelevi}. On obtient, de même, -\(\alpha^{\beta}\) avec |\(§a^{§b}\)| lorsque § est active. -%</fr> -%<*en> -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. -%</en> - -%<*fr> -On notera que les accolades sont optionelles et qu'on obtient un -résultat identique avec |\(§a^§b\)|, \textbf{à moins que} l'on utilise -un source codé en utf-8 avec \hologo{LaTeX}.\label{restriction} -%</fr> -%<*en> -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} -%</en> - -%<fr>\subsection{Les options} -%<en>\subsection{Options} - -\begin{itemize} -%<*fr> -\item \Option{tame}\DescribeOption{tame / wild} s'oppose à - \Option{wild} qui est l'option par défaut. Lorsque \Option{tame} - règne, il \textbf{faut} un environnement |ParesseActive| ou une - commande \cs{ActiveLaParesse} pour utiliser les macros à §. -%</fr> -%<*en> -\item \Option{tame}\DescribeOption{tame / 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. -%</en> - - -%<*fr> -\item \Option{Levi}\DescribeOption{legacy / Levi} s'oppose à - \Option{legacy} qui est l'option par défaut. Avec l'option - \Option{legacy} on utilise le codage \og originel\fg de - \Pkg{paresse.sty} tel que le donne la - table~\ref{codageorig}. Sinon, le codage est celui défini par Sylvio - \textsc{Levi}, cf. la table~\ref{codagelevi}. -%</fr> -%<*en> -\item \Option{Levi}\DescribeOption{legacy / Levi} is the - contrary of \Option{legacy} which is the default. With - \Option{legacy} one uses the original encoding of - \Pkg{paresse.sty} 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}. -%</en> - -%<*fr> -\item \Option{ttau}\DescribeOption{ttau / ttheta} s'oppose à - \Option{ttheta} qui est l'option par défaut. Lorsque \Option{ttheta} - est active |§t| donne \(\theta\) dans le cas contraire |§t| donne - \(\tau\). En tous cas, \(\theta\) est accessible par |§v| et - \(\tau\) par |§y|. Cette option est inopérante si l'option - \Option{Levi} a été choisie. -%</fr> -%<*en> -\item \Option{ttau}\DescribeOption{ttau / 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}. -%</en> - -%<*fr> - \textbf{Remarque :} quand l'option \Option{legacy} a été choisie, - \(\Theta\) est obtenu par |§V| de manière \og régulière \fg et - \emph{également} par |§T| quelle que soit l'option choisie. Dans - le cas de l'option \Option{Levi}, |§V| ne correspond à aucune lettre - grecque. -%</fr> -%<*en> -\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. -%</en> - -%<*fr> -\item \Option{epsilon}\DescribeOption{epsilon / varepsilon} s'oppose à - \Option{varepsilon} qui est l'option par défaut. Avec - \Option{epsilon}, |§e| donne \(\epsilon\) sinon |§e| donne - \(\varepsilon\). -%</fr> -%<*en> -\item \Option{epsilon}\DescribeOption{epsilon / varepsilon} is the - contrary of \Option{varepsilon} which is selected by default. With - \Option{epsilon}, |§e| gives \(\epsilon\) otherwise |§e| gives - \(\varepsilon\). -%</en> - -%<*fr> -\item Se comportent comme le couple \Option{epsilon}, - \Option{varepsilon} les couples suivants \Option{theta} et - \Option{vartheta} ; \Option{pi} et \Option{varpi} ; \Option{rho} et - \Option{varrho} ; \Option{sigma} et \Option{varsigma} \og |§s| donne - \(\varsigma\)\fg; \Option{phi} et \Option{varphi}. -%</fr> -%<*en> -\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}. -%</en> -\end{itemize} - -%<*fr> -Par défaut on a \Option{varepsilon}, \Option{theta}, \Option{pi}, -\Option{rho}, \Option{sigma}, \Option{varphi}, \Option{wild} et -\Option{legacy}. Cela assure que cette version~3, se comporte, -par défaut, comme la précédente. -%</fr> -%<*en> -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. -%</en> - -%<fr>\subsection{Commandes et environnement} -%<en>\subsection{Commands and Environment} - -\DescribeMacro{\makeparesseletter} -%<*fr> -Cette macro donne au \og caractère \fg § le catcode d'une -lettre. Après cela, on peut se servir de § dans un nom de macro, par -exemple. C'est le pendant de \cs{makeatletter}. -%</fr> -%<*en> -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|. -%</en> - -\DescribeMacro{\makeparesseother} -%<*fr> -Cette macro donne au caractère § le catcode \emph{other}. C'est le \og -contraire \fg de la précédente. Cela équivaut au \cs{makeatother}. - -Cette macro est inactive avec un codage utf-8 sous -\hologo{LaTeX}. Elle n'aurait d'ailleurs pas vraiment de sens. Son -utilisation produit un avertissement dans le fichier |.log|. -%</fr> -%<*en> -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. -%</en> - -\DescribeMacro{\ActiveLaParesse} -%<*fr> -Cette macro active le caractère § et permet ainsi d'accéder aux -macros dont le nom commence par § comme |§a|. Pour une liste de ces -macros et leurs significations, voyez les tableaux~\ref{codageorig} -et~\ref{codagelevi}. -%</fr> -%<*en> -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}. -%</en> - -\DescribeEnv{ParesseActive} -%<*fr> -Dans cet environnement le caractère § est actif ce qui permet -d'utiliser les macros en §. On utilisera cet environnement si l'on -veut utiliser les macros quand on a chargé l'extension -\Pkg{paresse} avec l'option \texttt{tame}. -%</fr> -%<*en> -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.sty} is loaded whith the option \texttt{tame}. -%</en> - -%<fr>\subsection{Tableaux des macros} -%<en>\subsection{Tables of the Macros} - -%<fr>\subsubsection{Codage originel de \Pkg{paresse.sty}} -%<en>\subsubsection{\Pkg{paresse.sty}'s Original Encoding} - -%<*fr> -C'est le codage actif lorsque l'on a choisit l'option \Option{legacy} qui -est l'option par défaut. -%</fr> -%<*en> -This is the active encoding when one choses the option \Option{legacy} -which is the default. -%</en> - -\begin{center}\Large -\begin{ParesseActive} \label{codageorig} -\begin{tabular}{*4{||>{\ttfamily \§}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 &\multicolumn{1}{c|}{}&\\ \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} - -%<*fr> -\paragraph{Remarques : } à l'exception de {\ActiveLaParesse §v, §y -et §q} les lettres utilisées dans les noms des macros sont chargées -de vertu mnémotechniques \texttt{:-)} et les majuscules grecques -s'obtiennent à l'aide de la majuscule correspondante. -%</fr> -%<*en> -\paragraph{Remarks : } all the latin letters used in the name of the -§-macros, but for {\ActiveLaParesse §v, §y and §q}, are loaded with -reminiscences, I hope \texttt{:-)} and the greek uppercases are -obtained with the (latin) corresponding uppercases. -%</en> - -\pagebreak[4] - -%<fr>\subsubsection{Codage de Sylvio \textsc{Levi}} -%<en>\subsubsection{Sylvio \textsc{Levi}'s Encoding} - -%<*fr> -On active ce codage avec l'option \Option{Levi}. -%</fr> -%<*en> -One make this encoding active with the option \Option{Levi}. -%</en> - -\begin{center}\Large -\begin{ParesseActive} \label{codagelevi} -\begin{tabular}{*4{||>{\ttfamily \§}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} - -%<*fr> -Le codage de Sylvio \textsc{Levi} donne accès directement à \cs{varsigma} -(\(\varsigma\)) avec |§c| et ne diffère du codage originel que pour -les lettres {\ActiveLaParesse §v, §y, §c et §q}. Voici un résumé de -ces différences: -%</fr> -%<*en> -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: -%</en> - -\begin{center} -\newcommand\CT[1]{\multicolumn{1}{c|}{\texttt{#1}}} -\begin{ParesseActive} -\begin{tabular}{|l|*{7}{c|}}\hline -%<fr>lettres grecques -%<en>greek letters -& §v & §y & §c & §q & §V & §Q & \(\varsigma\)\\\hline -%<fr>codage originel -%<en>original encoding -&\CT{\§v/\§t}&\CT{\§y/\§t}&\CT{\§c} -&\CT{\§q}&\CT{\§V/\§T}&\CT{\§Q}& --- \\\hline -%<fr>codage de S. \textsc{Levi} -%<en>S. \textsc{Levi}'s encoding -&\CT{\§j}&\CT{\§t}&\CT{\§q}&\CT{\§y} -&\CT{\§J}&\CT{\§Y} & \CT{\§c}\\\hline -\end{tabular} -\end{ParesseActive} -\end{center} - -\begin{thebibliography}{99} -%<fr>\addcontentsline{toc}{section}{Bibliographie} -%<en>\addcontentsline{toc}{section}{References} -\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} -\PrintIndex -\end{document} -%</doc> -%<*exemple> -\documentclass[a4paper,12pt]{article} -\usepackage[latin1]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[tame]{paresse} -% \usepackage{amsmath} -\usepackage{xspace,array,fancyvrb} -%<fr>\usepackage[frenchb]{babel} -%<en>\usepackage[english]{babel} -\IfFileExists{lmodern.sty}{\usepackage{lmodern}}{} -\setlength{\parindent}{0pt} -\newcommand\BOP{\discretionary{}{}{}} -\begin{document} -\pagestyle{empty} -\begin{center}\large -%<fr>Exemples d'utilisation de l'extension \texttt{paresse}.\\ -%<en>Examples of \texttt{paresse} package usage.\\ - le \TeX nicien de surface\\ - 2011-04-19 -\end{center} - -%<*fr> -Ce fichier charge -% les extensions \texttt{amsmath} et, -l'extension \texttt{lmodern} -si elle est disponible localement.%, \texttt{lmodern}. - -\textbf{Attention}: l'extension \texttt{paresse} est chargée avec -l'option \texttt{tame} pour montrer l'utilisation de la commande -\verb!\ActiveLaParesse! et de l'environnement -\verb!Pares!\BOP\verb!se!\BOP\verb!Ac!\BOP\verb!tive!. -%</fr> -%<*en> -This file loads %the \texttt{amsmath} package and, -the \texttt{lmodern} package if it locally exists. - -\textbf{Caution}: the \texttt{paresse} package is loaded with the -option \texttt{tame} to show the usage of macro -\verb!\ActiveLaParesse! and environment \verb!ParesseActive!. -%</en> - -\vspace{\baselineskip} - -%<fr>Avec la commande \verb!\ActiveLaParesse! pour activer le caractère §. -%<en>With the macro \verb!\ActiveLaParesse! to make the § character active. -%<*fr> -\begin{Verbatim}[frame=single] -{\ActiveLaParesse -\(§a^{§b}_{§g}\) et encore \(§D^§a_§d\) -} -\end{Verbatim} -%</fr> -%<*en> -\begin{Verbatim}[frame=single] -{\ActiveLaParesse -\(§a^{§b}_{§g}\) and also \(§D^§a_§d\) -} -\end{Verbatim} -%</en> -%<fr>pour obtenir : -%<en>to obtain: -{\ActiveLaParesse \(§a^{§b}_{§g}\) -%<fr> et encore -%<en> and also -\(§D^§a_§d\)} -\vspace{\baselineskip} - -%<fr>Avec l'environnement \verb!ParesseActive!. -%<en>With the environment \verb!ParesseActive!. - -\begin{Verbatim}[frame=single] -\begin{ParesseActive}\large -\begin{tabular}{*4{||>{\ttfamily \§}c|c}||} \hline -a & §a & b & §b & g & §g & d & §d\\ \hline -e & §e & z & §z & h & §h & v & §v\\ \hline -... -X & §X & P & §P & S & §S & U & §U\\ \hline -F & §F & Q & §Q & W & §W & Z & §Z\\ \hline -\end{tabular} -\end{ParesseActive} -\end{Verbatim} - -\medskip - -\begin{center} -\begin{ParesseActive}\large -\begin{tabular}{*4{||>{\ttfamily \§}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 &\multicolumn{1}{c|}{}& \\ \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} -\end{document} -%</exemple> -% \fi -\endinput -%%% Local Variables: -%%% mode: doctex -%%% fill-column: 70 -%%% coding: iso-8859-15 -%%% TeX-master: t -%%% End: diff --git a/macros/latex/contrib/paresse/paresse-en.pdf b/macros/latex/contrib/paresse/paresse-en.pdf Binary files differdeleted file mode 100644 index 707e4cf90b..0000000000 --- a/macros/latex/contrib/paresse/paresse-en.pdf +++ /dev/null diff --git a/macros/latex/contrib/paresse/paresse-eng.pdf b/macros/latex/contrib/paresse/paresse-eng.pdf Binary files differnew file mode 100644 index 0000000000..db9bc65168 --- /dev/null +++ b/macros/latex/contrib/paresse/paresse-eng.pdf diff --git a/macros/latex/contrib/paresse/paresse-ex-en.pdf b/macros/latex/contrib/paresse/paresse-ex-en.pdf Binary files differdeleted file mode 100644 index 01364d627e..0000000000 --- a/macros/latex/contrib/paresse/paresse-ex-en.pdf +++ /dev/null diff --git a/macros/latex/contrib/paresse/paresse-ex-fr.pdf b/macros/latex/contrib/paresse/paresse-ex-fr.pdf Binary files differdeleted file mode 100644 index e0af60738e..0000000000 --- a/macros/latex/contrib/paresse/paresse-ex-fr.pdf +++ /dev/null diff --git a/macros/latex/contrib/paresse/paresse-fr.pdf b/macros/latex/contrib/paresse/paresse-fr.pdf Binary files differdeleted file mode 100644 index b2444884bd..0000000000 --- a/macros/latex/contrib/paresse/paresse-fr.pdf +++ /dev/null diff --git a/macros/latex/contrib/paresse/paresse-fra.pdf b/macros/latex/contrib/paresse/paresse-fra.pdf Binary files differnew file mode 100644 index 0000000000..b43c4ce8eb --- /dev/null +++ b/macros/latex/contrib/paresse/paresse-fra.pdf diff --git a/macros/latex/contrib/paresse/paresse.dtx b/macros/latex/contrib/paresse/paresse.dtx index 7b413fdbcb..9e2b79c1da 100644 --- a/macros/latex/contrib/paresse/paresse.dtx +++ b/macros/latex/contrib/paresse/paresse.dtx @@ -1,414 +1,1230 @@ % \iffalse meta-comment -%-*- coding: iso-8859-15 -*- -% Time-stamp: <2013-02-16 10:32:18 novatux> -% -------------------------------------------------------------------- -% -% Copyright (C) 2011, 2013 -% by Yvon Henel alias le TeXnicien de surface -% <le.texnicien.de.surface@wanadoo.fr> -% -% -------------------------------------------------------------------- -% -% 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: % -% 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. -% \fi +%% 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 +%% % -% \iffalse -%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] -%<*common> -\def\fileversion{v4.1} -\def\filedate{2013/02/16} -\def\fileinfo{fichier paresse par le TeXnicien de surface} -%</common> -%<*package> -\ProvidesPackage{paresse} - [\filedate\space\fileversion\space\fileinfo] -%</package> -% \fi -% \iffalse +%<*driver|package|doc> +\RequirePackage{expl3}[2020/09/24] +\GetIdInfo$Id: paresse.dtx 5.0 2020-10-06 TdS $ + {} +%</driver|package|doc> %<*driver> -\documentclass[a4paper]{ltxdoc} -\usepackage[latin1]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[tame]{paresse} -\usepackage{xspace,url,array, ifthen} -\IfFileExists{lmodern.sty}{\usepackage{lmodern}}{} -\usepackage[frenchb,english]{babel} -\usepackage{hypdoc,hologo} +\documentclass[full, english, draft]{l3doc} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{amsmath} +\usepackage[french,main=english]{babel} +\usepackage{xspace} + +\usepackage{paresse}[2020-10-06] \newcommand*\PS{\texttt{\S}\xspace} \newcommand*\PSVerb[1]{\texttt{\S #1}} \newcommand\BOP{\discretionary{}{}{}} \newcommand\Option[1]{\textsc{#1}} -\newcommand\Pkg[1]{\textsf{#1}} -\newcommand\NOUVO[1][1]{% - \ifthenelse - {\equal{#1}{4.1}} - {\marginpar{\hspace*{\stretch{1}}% - \textbf{N (v4.1)}\hspace*{.5em}}}% - {}} - -% commentez la ligne suivante pour avoir un document avec le code -% \OnlyDescription -% comment the preceding line to obtain a document with the code -% puis cherchez \StopEventually pour d'éventuels réglages -% then look for \StopEventually to make a bit of setup -\EnableCrossrefs -\CodelineIndex -\RecordChanges \begin{document} - \DocInput{paresse.dtx} + \DocInput{\jobname.dtx} \end{document} %</driver> % \fi % -% \CheckSum{592} +% \title{^^A +% The \pkg{paresse} package^^A +% \thanks{This file describes v\ExplFileVersion, last revised \ExplFileDate.}^^A +% } % -% \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 \~} +% \author{^^A +% Yvon Henel\thanks^^A +% {^^A +% E-mail: +% \href{mailto:le.texnicien.de.surface@yvon-henel.fr} +% {le.texnicien.de.surface@yvon-henel.fr}^^A +% }^^A +% } % +% \date{Released \ExplFileDate} % -% \changes{v0.0}{2004/02/07}{New name, some redefinitions, -% first public version} +% \maketitle +% +% \changes{v0.0}{2004/02/07}{New name, some redefinitions, first public version} % \changes{v1}{2004/04/17}{Documentation updated} -% \changes{v1a}{2005/03/01}{Correction of a bug in Infofile which prevented the loading of the package} +% \changes{v1a}{2005/03/01}{Correction of a bug in Infofile which prevented the +% loading of the package} % \changes{v2}{2008/08/13}{A useless macro is deleted} % \changes{v2}{2008/08/13}{Documentation reorganised} % \changes{v2}{2008/08/13}{New wrapping to provide a tds.zip.} -% \changes{v2.1}{2008/08/16}{Correction of a bug in Infofile, once again} +% \changes{v2.1}{2008/08/16}{Correction of a bug in Infofile, once again} % \changes{v3}{2010/03/19}{Option for Sylvio \textsc{Levi}'s encoding} % \changes{v4}{2011/04/16}{Documentation of the code in English} % \changes{v4}{2011/04/16}{paresse goes utf8} % \changes{v4.1}{2013/02/16}{Using skeyval-bc instead of (moving forward) skeyval} +% \changes{v5.0}{2020/10/06}{Uses expl3 to replace skeyval.} +% \changes{v5.0}{2020/10/06}{Two sub-packages.} +% \changes{v5.0}{2020/10/06}{\cs{varsigma} is added as \PSVerb{j} to legacy encoding.} % -% \GetFileInfo{paresse.sty} +% \thispagestyle{empty} +% +% \noindent\hrulefill % -% \DoNotIndex{\newcommand,\newenvironment,\i,\ae,\oe,\DeclareOption,^^A -% \ifthenelse,\if,\else,\fi,\tr@@c,\ExecuteOptions,\ProcessOptions,^^A -% \relax,\MessageBreak,\CurrentOption,\RequirePackage,\PackageError,^^A -% \def,\endinput,\let,\boolean,\newboolean,\setboolean,\renewcommand,^^A -% \afterassignment,\global,\aftergroup,\bgroup,\egroup,\csname,^^A -% \endcsname,\emph,\catcode,\space,\string,\next,\active,\rmfamily,\rule,^^A -% \textsl,\upshape, \alpha, \beta, \gamma, \delta, \epsilon, ^^A -% \varepsilon, \zeta, \eta, \theta, \vartheta, \iota, \kappa, ^^A -% \lambda, \mu, \nu, \xi, \pi, \varpi, \rho, \varrho, \sigma, ^^A -% \varsigma, \tau, \upsilon, \phi, \varphi, \chi, \psi, \omega, ^^A -% \Delta, \Gamma, \Theta, \Lambda, \Xi, \Pi, \Sigma, \Upsilon, ^^A -% \ExecuteOptionsX,\ProcessOptionsX,\DeclareOptionX,^^A -% \DeclareUnicodeCharacter, \parse@XML@charref, ^^A -% \parse@UTFviii@a, \parse@UTFviii@b, \AtBeginDocument, ^^A -% \@eha, \@firstofone, \@gobble,\@toks, \@latex@error, ^^A -% \begingroup, \endgroup, \gdef, \IeC, \ifcat, \ifcsname, ^^A -% \ifluatex, \ifxetex, \iftogoff, \iftogon, \UTFviii@tmp, ^^A -% \UTFviii@four@octets, \UTFviii@three@octets, \UTFviii@two@octets,^^A -% \ifx, \the, \wlog, \togoff, \togon, \@ifpackageloaded, ^^A -% \expandafter, \futurelet, \makeatletter, \makeatother, ^^A -% \inputencodingname, \InputIfFileExists, \PackageInfo,^^A -% \PackageWarning, \newtog, \ProvidesFile, \PS, \PSVerb, ^^A -% \stop, \S, \usepackage, \temp@a, \define@bitogkeys, ^^A -% \Phi, \Psi, \Omega, \newif, \ifnum, \count@, \ensuremath, ^^A -% \~, \", \^} ^^A +% \bgroup +% \begin{otherlanguage}{french} +% \begin{abstract} +% Cette extension, reprenant un exemple de T.~\textsc{Lachand-Robert} +% dans~\cite{tlachand}, fournit un moyen de taper des lettres grecques isolées +% à l'aide du caractère \PS actif et redéfini. Au lieu de |\(\alpha\)| ou tape +% \PSVerb{a} pour obtenir \(\alpha\). % -% \title{The package \Pkg{paresse}\thanks{This document corresponds -% to file \Pkg{paresse.sty}~\fileversion, dated \filedate.}} -% \author{Le \TeX nicien de surface\\ -% \href{mailto:le.texnicien.de.surface@wanadoo.fr}% -% {le.texnicien.de.surface@wanadoo.fr}} +% \textbf{Important} : Il doit être chargé \textbf{après} \pkg{inputenc} si ce +% dernier est utilisé. De plus, il faut que le signe \PS soit une lettre pour +% \TeX. +% +% Depuis la version~4, on peut utiliser cette extension même dans un source +% codé en utf-8 avec \hologo{LaTeX}, \hologo{LuaLaTeX} ou \hologo{XeLaTeX}. +% +% 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} +% \egroup +% +% \noindent\hrulefill % -% \maketitle % \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\). +% 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. -% -% \textbf{New}: with this version~4, one can use this package even -% with utf8-encoded source for \hologo{LaTeX}, \hologo{LuaLaTeX}, or -% \hologo{XeLaTeX}. +% \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. % -% The English documentation for the final user of the package -% \Pkg{paresse} is available in the file \texttt{paresse-en.pdf}. +% Since version~4, one can use this package even with utf8-encoded source for +% \hologo{LaTeX}, \hologo{LuaLaTeX}, or \hologo{XeLaTeX}. % +% The English documentation for the final user of the package \pkg{paresse} is +% available in the file \texttt{paresse-eng}. % \end{abstract} -% \begin{otherlanguage}{french} -% \begin{abstract} -% Ce module, reprenant un exemple de T.~\textsc{Lachand-Robert} -% dans~\cite{tlachand}, fournit un moyen de taper des lettres -% grecques isolées à l'aide du caractère \PS actif et redéfini. Au -% lieu de |\(\alpha\)| ou tape \PSVerb{a} pour obtenir -% \(\alpha\). -% -% \textbf{Important} : Il doit être chargé \textbf{après} -% \Pkg{inputenc} si ce dernier est utilisé. De plus, il faut -% que le signe \PS soit une lettre pour \TeX. % -% \textbf{Nouveau}: avec cette version~4, on peut utiliser cette -% extension même dans un source codé en utf-8 avec \hologo{LaTeX}, -% \hologo{LuaLaTeX} ou \hologo{XeLaTeX}. +% \noindent\hrulefill % -% La documentation française pour l'utilisateur de l'extension -% \Pkg{paresse} est disponible sous le nom de -% \texttt{paresse-fr.pdf}. -% \end{abstract} -% \end{otherlanguage} +% \DisableDocumentation % -% \tableofcontents{} +% \begin{documentation} +% \end{documentation} % -% \StopEventually{ -% \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} -% \PrintChanges \PrintIndex} % \iffalse -%<*package> +%<*doc> +%<FRA>\documentclass[full, french]{l3doc} +%<ENG>\documentclass[full, english]{l3doc} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +%<FRA>\usepackage[english,main=french]{babel} +%<ENG>\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} +%<*FRA> +\title{Guide de l'utilisateur de \pkg{paresse}\thanks{Ce fichier décrit la + version~\ExplFileVersion, dernière révision~\ExplFileDate. Édition + \emph{Adieu à skeyval}.}} +%</FRA> +%<*ENG> +\title{\pkg{paresse} user guide\thanks{This file describes + version~\ExplFileVersion, last revised~\ExplFileDate. \emph{Adieu to + skeyval} edition.}} +%</ENG> +\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} +%<*FRA> + Cette extension, reprenant un exemple de T.~\textsc{Lachand-Robert} + dans~\cite{tlachand}, fournit un moyen de taper des lettres grecques isolées + à l'aide du caractère \PS actif et redéfini. Au lieu de |\(\alpha\)| ou tape + \PSVerb{a} pour obtenir \(\alpha\). + + \textbf{Important} : Il doit être chargé \textbf{après} \pkg{inputenc} si ce + dernier est utilisé. De plus, il faut que le signe \PS soit une lettre pour + \TeX. + + Depuis la version~4, on peut utiliser cette extension même dans un source + codé en utf-8 avec \hologo{LaTeX}, \hologo{LuaLaTeX} ou \hologo{XeLaTeX}. +%</FRA> +%<*ENG> + 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}. +%</ENG> +\end{abstract} + +\noindent\hrulefill + +%<FRA> \begin{otherlanguage}{english} +%<ENG> \begin{otherlanguage}{french} +\begin{abstract} +%<*FRA> +The English documentation for the final user of the package +\pkg{paresse} is available in the file \texttt{paresse-eng}. +%</FRA> +%<*ENG> +La documentation française pour l'utilisateur de l'extension +\pkg{paresse} est disponible sous le nom de \texttt{paresse-fra}. +%</ENG> +\end{abstract} +\end{otherlanguage} + +\noindent\hrulefill +\vspace{\baselineskip} + +\tableofcontents{} + +%<*FRA> +\section{Introduction} +\label{sec:introduction} + +Cette extension ne fournit qu'un accès \og rapide et économique \fg aux lettres +grecques qui s'obtiennent à l'aide d'une macro comme \cs{alpha} ou +\cs{Omega}. Elle fournit un environnement et une commande qui permettent +d'utiliser § pour taper ces lettres. Un \cs{ensuremath} nous dispense de nous +placer explicitement \TO c'est-à -dire en tapant |$ $| ou bien |\( \)| ou encore +|\[ \]| ou tout autre chose ayant le même effet\TF en mode mathématique pour +obtenir une lettre grecque. +%</FRA> + + +%<*ENG> +\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. +%</ENG> + +%<*FRA> +L'idée de la méthode est due à T.~\textsc{Lachand-Robert} et est +exposée dans~\cite{tlachand}. Je n'ai fait qu'ajouter le +\cs{ensuremath} bien agréable pour l'écriture de macros. +%</FRA> +%<*ENG> +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. +%</ENG> + +%<*FRA> +Bien entendu, on \textbf{ne} dispose \textbf{pas} de macros pour la +minuscule omicron ni pour les majuscules alpha, beta\dots{} qui +s'obtiennent à l'aide des latines romaines de même +apparence\footnote{Je ne ferai aucune remarque sur les problèmes de + codage que cela pose.}. Je ne me suis pas senti le courage ni la +force de fournir une solution qui permettent d'obtenir dans une +formule baignant dans un texte en italique gras un alpha majuscule +droit, romain, \&c. +%</FRA> +%<*ENG> +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. +%</ENG> + +%<*FRA> +Pour finir cette introduction, glosons le nom de cette +extension. |paresse| vient de ce que le signe § indique un \og +paragraphe \fg en ayant une forme lointainement apparentée au +S et n'a donc aucun lien avec le \emph{défaut} si fréquent, +encore que, à bien y réfléchir\dots +%</FRA> +%<*ENG> +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{} +%</ENG> + +%<FRA>\subsection{Pourquoi une 5\ieme version?} +%<ENG>\subsection{Why a 5th Version?} + +%<*FRA> +\emph{Sur mon brin de laurier, je dormais comme un loir} en utilisant +\pkg{paresse} presque quotidiennement quand il y a quelques jours, patatras! +Plus rien ne va, je me fais insulter rien qu'à charger l'extension. Je passe sur +les détails: la faute en revient à une modification du noyau qui vient perturber +le code acrobatique de \pkg{skeyval}. Comme la mise à jour de la dite extension +semble extrèmement improbable, j'ai décidé de réparer \pkg{paresse} en recourant +aux commandes de expl3. + +Ce n'est donc que pour remettre en marche ce dont je me sers souvent que je +viens soulever le capot de cette extension vieille de plus de 7~ans. +%</FRA> +%<*ENG> +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. +%</ENG> + +%<*FRA> +Avec cette 5\ieme version, apparaissent deux \emph{sous}-extensions: +\pkg{paresse-old} et \pkg{paresse-utf8} que l'on peut charger directement et qui +offrent les mêmes options et les mêmes commandes. De fait, \pkg{paresse} charge +l'une ou l'autre suivant la situation. +%</FRA> +%<*ENG> +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. +%</ENG> + +%<*FRA> +On utilisera \pkg{paresse-utf8} uniquement si le source est codé en utf-8 et que +l'on compile avec \texttt{latex} c.-à -d. avec le moteur \TeX{} et le format +\LaTeX{}. Dans tous les autres cas de figure on utilisera \pkg{paresse-old}. +%</FRA> +%<*ENG> +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}. +%</ENG> + +%<*FRA> +La documentation de \pkg{paresse} couvre donc l'utilisation des trois +extensions. +%</FRA> +%<*ENG> +The documentation of \pkg{paresse} covers the use of the three packages. +%</ENG> + +%<FRA>\subsection{Pourquoi une 4\ieme version?} +%<ENG>\subsection{Why a 4th Version?} + +%<*FRA> +Je ne sais plus bien à quelle occasion \TO l'age et les pannes de machine +avec \og crachage\fg de disque aidant\TF et encore moins quand \TO si ce +n'est que cela remonte à plus d'un an maintenant\footnote{J'ai écrit cette + section à l'occasion de la sortie de la 4\ieme version, en 2013.}\TF +Christian \textsc{Tellechea} me faisait part de son désir d'utiliser +\pkg{paresse} avec des sources codées en utf-8 sous \hologo{LaTeX} \TO et +non \hologo{XeLaTeX} ou \hologo{LuaLaTeX}. + +Une discussion s'engagea, Christian me fit parvenir du matériel en +ordre de marche. Il me fit même cadeau de deux versions, la deuxième +améliorant la reconnaissance du codage déclaré avec +\pkg{inputenc}. Toutefois, je procrastinais. Il se peut que ma vie +personnelle et mon travail aient interféré avec le développement de +cette extension. + +Enfin, voici la chose. +%</FRA> +%<*ENG> +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. +%</ENG> + +%<*FRA> +Le plus nouveau devrait échapper à l'utilisateur de \hologo{LuaLaTeX} +ou \hologo{XeLaTeX} et même de \hologo{LaTeX} chargeant \pkg{inputenc} +avec une option comme \texttt{latin1} ou \texttt{latin9}. Cependant, +désormais, on peut utiliser cette extension avec \hologo{LaTeX} en +chargeant \pkg{inputenc} avec l'option \texttt{utf8}. +%</FRA> +%<*ENG> +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}. +%</ENG> + +%<*FRA> +J'ai profité de cette nouvelle version pour ajouter une macro en \PS: +\PSVerb{Z} qui produit \S, symbole déjà accessible par |\S|, ce qui +fait que je n'ose pas vraiment parler de \og raccourci\fg. +%</FRA> +%<*ENG> +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''. +%</ENG> + +%<FRA>\subsection{Pourquoi une 3\ieme version?} +%<ENG>\subsection{Why a 3rd Version?} + +%<*FRA> +C'est par courriel que Claudio \textsc{Beccari} m'a signalé très +aimablement qu'il existait un codage de l'alphabet grec en lettres +latines près de 15~ans avant que je ne commette cette extension. Ce +codage était dû à Sylvio \textsc{Levi} qui l'avait mis au point, alors +qu'il dessinait les premières fontes grecques pour \TeX, en s'appuyant +sur la correspondance entre les claviers américain et grec. Il me +faisait remarquer à juste titre que si quelqu'un avait pris l'habitude +du codage de Sylvio \textsc{Levi}, il préférerait conserver ses +habitudes pour \pkg{paresse}. +%</FRA> +%<*ENG> +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}. +%</ENG> + +%<*FRA> +J'ai donc décidé de fournir un nouveau couple d'options exclusives +l'une de l'autre que j'ai nommées, pour l'une, \Option{legacy} --- +pour \og héritage\fg --- qui assure le codage originel de cette +extension et qui est active par défaut et, pour l'autre, \Option{Levi} +qui assure le codage de Sylvio \textsc{Levi}. +%</FRA> +%<*ENG> +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. +%</ENG> + +%<*FRA> +J'en profite pour faire quelques changements cosmétiques: +désormais toutes les macros internes \emph{secrètes}\footnote{À la mode + \LaTeXe{}, pour la version~5.0 j'utilise en partie expl3 et, dans ce cas, + le préfixe \texttt{paresse}.} ont un nom qui +commence par \cs{GA@}; +le fichier |.dtx| est réorganisé pour faciliter la tache de +traduction de la documentation. +%</FRA> +%<*ENG> +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. +%</ENG> + +%<FRA>\section{Utilisation} +%<ENG>\section{Usage} + +%<*FRA> +On charge cette extension avec |\usepackage{paresse}|. Quand on utilise +\hologo{LaTeX} avec un codage 8-bits (comme \texttt{latin9} par exemple), +on la charge \textbf{après} l'extension \pkg{inputenc} avec l'option +idoine. Avec un \hologo{LaTeX} moderne \TO post 2019\TF et un source codé +en utf-8, on n'a pas besoin de charger explicitement \pkg{inputenc}. Dans +ce cas, \pkg{paresse} suppose que le source est codé en utf-8. + +Dans tous les cas il faut que le \og caractère \fg § soit reconnu par \TeX\ +comme une lettre. + +% On pourra, par exemple, utiliser l'option \texttt{latin1} de +% \pkg{inputenc} pour obtenir cela. + +On obtiendra le même comportement, à l'exception \TO signalée dans le +paragraphe intitulé \textbf{restriction} page~\pageref{restriction}\TF +près, avec \pkg{inputenc} et l'option \texttt{utf8}. + +Il n'y a pas ce genre de restriction quand on travaille avec +\hologo{LuaLaTeX} ou \hologo{XeLaTeX} sur un source codé en utf-8. +%</FRA> +%<*ENG> +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. + +% On can use for instance \pkg{inputenc} with option |latin1| for such a +% purpose. + +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. +%</ENG> + +%<*FRA> +Par défaut, l'extension est chargée avec l'option |wild| ce qui +signifie que les macros de la forme |§a| sont disponibles. Si l'on +préfère, on peut passer à \pkg{paresse} l'option \Option{tame} avec +|\usepackage[tame]|\BOP|{paresse}|. Il faut alors utiliser la commande +\cs{ActiveLaParesse} ou l'environnement |ParesseActive| pour utiliser +les macros en~§. +%</FRA> +%<*ENG> +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'. +%</ENG> + +%<*FRA> +Lorsque la \og paresse est active \fg, il suffit de taper |§a| pour +obtenir \(\alpha\). On a de même accès à toutes les lettres grecques +auxquelles sont consacrées une macro comme \cs{alpha}, +voyez~\ref{codageorig} et~\ref{codagelevi}. On obtient, de même, +\(\alpha^{\beta}\) avec |\(§a^{§b}\)| lorsque § est active. +%</FRA> +%<*ENG> +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. +%</ENG> + +\paragraph{Restriction} +%<*FRA> +On notera que les accolades sont optionelles et qu'on obtient un +résultat identique avec |\(§a^§b\)|, \textbf{à moins que} l'on utilise +un source codé en utf-8 avec \hologo{LaTeX}.\label{restriction} +%</FRA> +%<*ENG> +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} +%</ENG> + +%<*ENG> +\section{The Package Options} +\label{sec:keys} + +%</ENG> + +%<*FRA> +\section{Les options de l'extension} +\label{sec:clefs} + +%</FRA> + +\begin{itemize} +%<*FRA> +\item \Option{tame} \DescribeOption{tame / wild} s'oppose à + \Option{wild} qui est l'option par défaut. Lorsque \Option{tame} + règne, il \textbf{faut} un environnement |ParesseActive| ou une + commande \cs{ActiveLaParesse} pour utiliser les macros à §. +%</FRA> +%<*ENG> +\item \Option{tame} \DescribeOption{tame / 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. +%</ENG> + + +%<*FRA> +\item \Option{Levi} \DescribeOption{legacy / Levi} s'oppose à + \Option{legacy} qui est l'option par défaut. Avec l'option + \Option{legacy} on utilise le codage \og originel\fg de + \pkg{paresse} tel que le donne la + table~\ref{codageorig}. Sinon, le codage est celui défini par Sylvio + \textsc{Levi}, cf. la table~\ref{codagelevi}. +%</FRA> +%<*ENG> +\item \Option{Levi} \DescribeOption{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}. +%</ENG> + +%<*FRA> +\item \Option{ttau} \DescribeOption{ttau / ttheta} s'oppose à + \Option{ttheta} qui est l'option par défaut. Lorsque \Option{ttheta} + est active |§t| donne \(\theta\) dans le cas contraire |§t| donne + \(\tau\). En tous cas, \(\theta\) est accessible par |§v| et + \(\tau\) par |§y|. Cette option est inopérante si l'option + \Option{Levi} a été choisie. +%</FRA> +%<*ENG> +\item \Option{ttau} \DescribeOption{ttau / 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}. +%</ENG> + +%<*FRA> + \textbf{Remarque :} quand l'option \Option{legacy} a été choisie, + \(\Theta\) est obtenu par |§V| de manière \og régulière \fg et + \emph{également} par |§T| quelle que soit l'option choisie. Dans + le cas de l'option \Option{Levi}, |§V| ne correspond à aucune lettre + grecque. +%</FRA> +%<*ENG> +\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. +%</ENG> + +%<*FRA> +\item \Option{epsilon} \DescribeOption{epsilon / varepsilon} s'oppose à + \Option{varepsilon} qui est l'option par défaut. Avec + \Option{epsilon}, |§e| donne \(\epsilon\) sinon |§e| donne + \(\varepsilon\). +%</FRA> +%<*ENG> +\item \Option{epsilon} \DescribeOption{epsilon / varepsilon} is the + contrary of \Option{varepsilon} which is selected by default. With + \Option{epsilon}, |§e| gives \(\epsilon\) otherwise |§e| gives + \(\varepsilon\). +%</ENG> + +%<*FRA> +\item Se comportent comme le couple \Option{epsilon}, + \Option{varepsilon} les couples suivants \Option{theta} et + \Option{vartheta} ; \Option{pi} et \Option{varpi} ; \Option{rho} et + \Option{varrho} ; \Option{sigma} et \Option{varsigma} \og |§s| donne + \(\varsigma\)\fg; \Option{phi} et \Option{varphi}. +%</FRA> +%<*ENG> +\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}. +%</ENG> +\end{itemize} + +%<*FRA> +Par défaut on a \Option{varepsilon}, \Option{theta}, \Option{pi}, +\Option{rho}, \Option{sigma}, \Option{varphi}, \Option{wild} et +\Option{legacy}. Cela assure que cette version~3, se comporte, +par défaut, comme la précédente. +%</FRA> +%<*ENG> +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. +%</ENG> + +%<FRA>\subsection{Commandes et environnement} +%<ENG>\subsection{Commands and Environment} + +\DescribeMacro{\makeparesseletter} +%<*FRA> +Cette macro donne au \og caractère \fg § le catcode d'une +lettre. Après cela, on peut se servir de § dans un nom de macro, par +exemple. C'est le pendant de \cs{makeatletter}. +%</FRA> +%<*ENG> +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|. +%</ENG> + +\DescribeMacro{\makeparesseother} +%<*FRA> +Cette macro donne au caractère § le catcode \emph{other}. C'est le \og +contraire \fg de la précédente. Cela équivaut au \cs{makeatother}. + +Cette macro est inactive avec un codage utf-8 sous +\hologo{LaTeX}. Elle n'aurait d'ailleurs pas vraiment de sens. Son +utilisation produit un avertissement dans le fichier |.log|. +%</FRA> +%<*ENG> +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. +%</ENG> + +\DescribeMacro{\ActiveLaParesse} +%<*FRA> +Cette macro active le caractère § et permet ainsi d'accéder aux +macros dont le nom commence par § comme |§a|. Pour une liste de ces +macros et leurs significations, voyez les tableaux~\ref{codageorig} +et~\ref{codagelevi}. +%</FRA> +%<*ENG> +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}. +%</ENG> + +\DescribeEnv{ParesseActive} +%<*FRA> +Dans cet environnement le caractère § est actif ce qui permet +d'utiliser les macros en §. On utilisera cet environnement si l'on +veut utiliser les macros quand on a chargé l'extension +\pkg{paresse} avec l'option \texttt{tame}. +%</FRA> +%<*ENG> +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}. +%</ENG> + +\newpage{} + +%<FRA>\subsection{Tableaux des macros} +%<ENG>\subsection{Tables of the Macros} + +%<FRA>\subsubsection{Codage originel de \pkg{paresse}} +%<ENG>\subsubsection{\pkg{paresse}'s Original Encoding} + +%<*FRA> +C'est le codage actif lorsque l'on a choisit les options \Option{legacy} et +\Option{ttheta} qui sont des options par défaut. + +Cette version~5.0 ajoute \(\varsigma\) obtenu avec \PSVerb{j}. +%</FRA> +%<*ENG> +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}. +%</ENG> + +\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 &\multicolumn{1}{c|}{}&\\ \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} + + +%<*FRA> +\paragraph{Remarques : } à l'exception de {\ActiveLaParesse §v, §y, §q et §j} +les lettres utilisées dans les noms des macros sont chargées de vertu +mnémotechniques \texttt{:-)} et les capitales grecques, quand elles différent +des capitales latines, s'obtiennent à l'aide de la majuscule correspondante. +%</FRA> +%<*ENG> +\paragraph{Remarks : } all the latin letters used in the name of the +§-macros, but for {\ActiveLaParesse §v, §y and §q}, are loaded with +reminiscences, I hope \texttt{:-)} and the greek uppercases are +obtained with the (latin) corresponding uppercases. +%</ENG> + +\pagebreak[4] + +%<FRA>\subsubsection{Codage de Sylvio \textsc{Levi}} +%<ENG>\subsubsection{Sylvio \textsc{Levi}'s Encoding} + +%<*FRA> +On active ce codage avec l'option \Option{Levi}. +%</FRA> +%<*ENG> +One make this encoding active with the option \Option{Levi}. +%</ENG> + +\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} + +%<*FRA> +Le codage de Sylvio \textsc{Levi} donne accès directement à \cs{varsigma} +(\(\varsigma\)) avec |§c| et ne diffère du codage originel que pour +les lettres {\ActiveLaParesse §v, §y, §c et §q}. Voici un résumé de +ces différences: +%</FRA> +%<*ENG> +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: +%</ENG> + +\begin{center} +\newcommand\CT[1]{\multicolumn{1}{c|}{\texttt{#1}}} +\begin{ParesseActive} +\begin{tabular}{|l|*{7}{c|}}\hline +%<FRA>lettres grecques +%<ENG>greek letters +& §v & §y & §c & §q & §V & §Q & \(\varsigma\)\\\hline +%<FRA>codage originel +%<ENG>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 +%<FRA>codage de S. \textsc{Levi} +%<ENG>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} +%</doc> % \fi -% \section{The code} -% -% -% \subsection{The sty file} -% -% From the 4th version, I have used \Pkg{skeyval} for it provides -% toggle-keys. But times are a-changing and so is \Pkg{skeyval}. -% From this version 4.1, I use \Pkg{skeyval-bc} which retains the old -% ways of \Pkg{skeyval}. \Pkg{skeyval-bc} loads \Pkg{xkeyval} the -% macros of which I use to manage options. +% \begin{implementation} +% +% \section{\pkg{paresse} implementation} % -% \Pkg{ifluatex} and \Pkg{ifxetex} are required to take care of -% \hologo{LuaLaTeX} and \hologo{XeLaTeX} respectively. +% Three packages are coded below: the main one \pkg{paresse} loads one of the +% other two \pkg{paresse-old} or \pkg{paresse-utf8} depending on the +% \TeX{}-engine used and the encoding of the source. % +% \iffalse +%<*package> +% \fi +% The prefix is \texttt{paresse} for the three packages. % \begin{macrocode} -\RequirePackage{skeyval-bc} -\RequirePackage{ifluatex} -\RequirePackage{ifxetex} +%<@@=paresse> % \end{macrocode} -% -% With \cmd{\define@bitogkeys}, from \Pkg{skeyval-bc}, I define nine -% pairs of complementary toggle keys. If one of the pair is set to -% \texttt{true}, the other will be automatically set to \texttt{false} -% and vice-versa. +% +% \iffalse +%<*MAIN> +% \fi +% The main package \pkg{paresse} begins here. % \begin{macrocode} -\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}{}{} +\ProvidesExplPackage + {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} % \end{macrocode} -% -% I set the behaviour of the package in case of an unknown option -% with \cmd{\DeclareOptionX*}, from \Pkg{xkeyval}. +% \iffalse +%</MAIN> +% \fi +% \iffalse +%<*OLD> +% \fi +% Header of \pkg{paresse-old}: % \begin{macrocode} -\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.}} +\ProvidesExplPackage + {\ExplFileName-old}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} % \end{macrocode} +% \iffalse +%</OLD> +% \fi +% \iffalse +%<*UTF> +% \fi +% Header of \pkg{paresse-utf8}: +% \begin{macrocode} +\ProvidesExplPackage + {\ExplFileName-utf8}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} +% \end{macrocode} +% \iffalse +%</UTF> +% \fi % -% The default options are: |legacy|, |wild|, |varepsilon|, -% |theta|, |pi|, |rho|, |sigma|, and |varphi|. -% \changes{v3}{2010/03/20}{Default option |legacy| added} +% The three packages require \pkg{xparse} and \pkg{l3keys2}: % \begin{macrocode} -\ExecuteOptionsX[GA]{legacy,wild,varepsilon,theta,pi,rho,sigma,varphi} -\ProcessOptionsX[GA]\relax +\RequirePackage{xparse} +\RequirePackage{l3keys2e} % \end{macrocode} +% \iffalse +%<*MAIN> +% \fi +% but the main \pkg{paresse} alone requires \pkg{iftex} to proceed according to +% the \TeX-engine. +% \begin{macrocode} +\RequirePackage{iftex} +% \end{macrocode} +% \iffalse +%</MAIN> +% \fi % -% The prefix of the \emph{secret} macros of this package is -% |GA@|. Here I define the macros which will print the correct -% character according to the chosen options. \cs{iftogon} is provided -% by \Pkg{skeyval-bc}. +% \iffalse +%<*!MAIN> +% \fi % \begin{macrocode} -\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}} +\cs_if_exist:NF \@@_main_package_loaded: +{ % \end{macrocode} +% \iffalse +%</!MAIN> +% \fi % +% \begin{macrocode} +\keys_define:nn {paresse} +{ + encoding_is_legacy .bool_set:N = \g_@@_encoding_is_legacy_bool, + encoding_is_levi .bool_set_inverse:N = + \g_@@_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_@@_mood_is_wild_bool, + mood_is_tame .bool_set_inverse:N = + \g_@@_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_@@_letter_t_is_theta_bool, + letter_t_is_tau .bool_set_inverse:N = + \g_@@_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_@@_letter_theta_is_theta_bool, + letter_theta_is_vartheta .bool_set_inverse:N = + \g_@@_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_@@_letter_pi_is_pi_bool, + letter_pi_is_varpi .bool_set_inverse:N = + \g_@@_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_@@_letter_rho_is_rho_bool, + letter_rho_is_varrho .bool_set_inverse:N = + \g_@@_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_@@_letter_sigma_is_sigma_bool, + letter_sigma_is_varsigma .bool_set_inverse:N = + \g_@@_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_@@_letter_epsilon_is_epsilon_bool, + letter_epsilon_is_varepsilon .bool_set_inverse:N = + \g_@@_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_@@_letter_phi_is_phi_bool, + letter_phi_is_varphi .bool_set_inverse:N = + \g_@@_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}, +} +% \end{macrocode} % -% I test the engine, it it is \hologo{XeTeX} or \hologo{LuaTeX}, the -% file \texttt{paresseold.sto} is loaded. % \begin{macrocode} -\ifluatex - \PackageInfo{paresse}{compiling with luatex} - \InputIfFileExists{paresseold.sto}{% - \PackageInfo{paresse}{paresseold loaded}}{% - \PackageInfo{paresse}{paresseold not loaded}} -\else - \ifxetex - \PackageInfo{paresse}{compiling with xetex} - \InputIfFileExists{paresseold.sto}{% - \PackageInfo{paresse}{paresseold loaded}}{% - \PackageInfo{paresse}{paresseold not loaded}} - \else +\ProcessKeysOptions {paresse} % \end{macrocode} -% We arrive here if the working engine is good old \hologo{TeX} (in -% fact, good not so old \hologo{eTeX} I hope for some things could -% depend on \hologo{eTeX}-nical internals). % -% First some useful macros to take care of the encoding. The macros -% have been given to me by Christian \textsc{Tellechea} I do heartily -% thank for his kindness. +% \begin{macrocode} +\bool_if:nTF {\g_@@_letter_epsilon_is_epsilon_bool} +{\cs_new:Npn \@@_epsilon {\epsilon}} +{\cs_new:Npn \@@_epsilon {\varepsilon}} + +\bool_if:nTF {\g_@@_letter_theta_is_theta_bool} +{\cs_new:Npn \@@_theta {\theta}} +{\cs_new:Npn \@@_theta {\vartheta}} + +\bool_if:nTF {\g_@@_letter_pi_is_pi_bool} +{\cs_new:Npn \@@_pi {\pi}} +{\cs_new:Npn \@@_pi {\varpi}} + +\bool_if:nTF {\g_@@_letter_rho_is_rho_bool} +{\cs_new:Npn \@@_rho {\rho}} +{\cs_new:Npn \@@_rho {\varrho}} + +\bool_if:nTF {\g_@@_letter_sigma_is_sigma_bool} +{\cs_new:Npn \@@_sigma {\sigma}} +{\cs_new:Npn \@@_sigma {\varsigma}} + +\bool_if:nTF {\g_@@_letter_phi_is_phi_bool} +{\cs_new:Npn \@@_phi {\phi}} +{\cs_new:Npn \@@_phi {\varphi}} + +\bool_new:c {g__paresse_file_encoding_is_utf8_bool} +% \end{macrocode} % -% The first one takes care of problems of encoding. +% \iffalse +%<*!MAIN> +% \fi +% \begin{macrocode} +} +% \end{macrocode} +% \iffalse +%</!MAIN> +% \fi +% \iffalse +%<*MAIN> +% \fi % \begin{macrocode} -\newcommand\encoding@error{% - \@latex@error{% - paresse needs inputenc loaded with option "utf8" - or option such as "latin1" (8 bits encodign).}{}\stop} +\cs_new:Nn \__paresse_main_package_loaded: {} % \end{macrocode} -% The second checks that \Pkg{inputenc} has been loaded before -% \Pkg{paresse}. +% % \begin{macrocode} -\@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}} +\ifluatex +% \end{macrocode} +% luatex specific code +% \begin{macrocode} +\PackageInfo{paresse}{compiling~with~luatex} +\RequirePackageWithOptions{paresse-old} +\else % \end{macrocode} -% The test for \Pkg{inputenc} and encoding is delayed at the beginning -% of the document where all things about encoding should be settled. +% code for other engines % \begin{macrocode} -\AtBeginDocument{% - \@ifpackageloaded{inputenc}\find@encoding\encoding@error} +\ifxetex % \end{macrocode} -% I create a new toggle |GA@utf8| and set it to \texttt{false}. It -% will be used later to chose the correct action. +% xetex specific code % \begin{macrocode} -\newtog[GA@]{utf8}[false] +\PackageInfo{paresse}{compiling~with~xetex} +\RequirePackageWithOptions{paresse-old} +\else % \end{macrocode} -% A bit of code to find the declared encoding and set up the toggle -% |GA@utf8| accordingly. There again work by Christian -% \textsc{Tellechea}. +% nor luatex nor xetex % \begin{macrocode} -\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} -% \end{macrocode} -% -% The main action is then delayed at the beginning of the document for -% reasons already given above. In case the utf8 encoding has been -% detected, the file \texttt{paresseutf8.sto} is loaded, otherwise it -% is \texttt{paresseold.sto} once again. -% -% \cs{makeatletter} is needed to mimic the loading of a \texttt{sty} -% file for, at the beginning of the document, |@| is no more a -% letter. Naturally, we must revert |@| to its non-letter status at -% the end of the loading. -% \begin{macrocode} -\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 % \end{macrocode} -% -% And that's all for the main file. % \iffalse -%</package> +%</MAIN> % \fi +% % \iffalse -%<*oldpack> +%<*OLD> % \fi -% -%\subsection{The file paresseold.sto} -% -% This file will be loaded in all cases except when the working engine is -% \hologo{LaTeX} with |[utf8]{inputenc}| loaded. |^^a7| is \TeX nical -% code for the character I type, on my French keypad, with key \S. -% -% This is almost the content of the version~3 of -% \texttt{paresse.sty}. The changes are the use of toggles provided by -% \Pkg{skeyval-bc} and the appearance of \PSVerb{Z} to obtain \S --- -% which is always available through \cs{S}\footnote{So could I speak -% of \PSVerb{Z} in terms of ``shortcut''?}. -% -% \begin{macrocode} -\ProvidesFile{paresseold.sto} -% \end{macrocode} -% Presentations made, I save the current category code (catcode) of -% the character \PS and its definition in \cs{GA@LaVieilleParesse}. % \begin{macrocode} \count@=\catcode`\^^a7 \let\GA@LaVieilleParesse= ^^a7 -% \end{macrocode} -% For sake of convienience, \PS is def'ed as |\S|. -% \begin{macrocode} \def\^^a7{\S} -% \end{macrocode} -% -% Come some end-user macros. \cs{makeparesseletter} changes the -% \DescribeMacro{\makeparesseletter} catcode of \PS to~\(11\) which is -% the code of letter and \DescribeMacro{\makeparesseother} -% \cs{makeparesseother} changes that code to~\(12\) the code of other -% characters. -% \begin{macrocode} \newcommand{\makeparesseletter}{\catcode `\^^a7=11\relax} \newcommand{\makeparesseother}{\catcode `\^^a7=12\relax} -% \end{macrocode} -% \cs{GA@MakeParesseActive} is an internal macro to activate \PS. -% \DescribeMacro{\GA@MakeParesseActive} -% Then come two macros to activate \PS for the remaining part of the -% file. On of them is applied according to the catcode of \PS at the -% beginning --- catcode saved in |\count@|. -% \begin{macrocode} \newcommand{\GA@MakeParesseActive}{\catcode `\^^a7=\active} \def\GA@ActiveLaParessexii{\catcode `\^^a7=\active} \def\GA@ActiveLaParessexiii{\catcode `\^^a7=\active @@ -418,27 +1234,15 @@ \else \let\GA@ActiveLaParesse \GA@ActiveLaParessexiii \fi -% \end{macrocode} -% -% It's time to provide one end-user macro and one environment useful -% \DescribeMacro{\ActiveLaParesse} -% \DescribeEnv{ParesseActive} -% when the package has been loaded with option \Option{tame} to -% locally activate \PS. -% \begin{macrocode} \newcommand{\ActiveLaParesse}{\GA@ActiveLaParesse} \newenvironment{ParesseActive}{\GA@ActiveLaParesse}{} -% \end{macrocode} -% -% Now come the definitions of the meanings of the \PS-macros. For -% these definitions to work, \PS is made a letter. -% \begin{macrocode} + \makeparesseletter \def\^^a7a {\alpha} \def\^^a7b {\beta} \def\^^a7g {\gamma} \def\^^a7d {\delta} -\def\^^a7e {\GA@epsilon} +\def\^^a7e {\__paresse_epsilon} \def\^^a7z {\zeta} \def\^^a7h {\eta} \def\^^a7i {\iota} @@ -447,39 +1251,35 @@ \def\^^a7m {\mu} \def\^^a7n {\nu} \def\^^a7x {\xi} -\def\^^a7p {\GA@pi} -\def\^^a7r {\GA@rho} -\def\^^a7s {\GA@sigma} +\def\^^a7p {\__paresse_pi} +\def\^^a7r {\__paresse_rho} +\def\^^a7s {\__paresse_sigma} \def\^^a7u {\upsilon} -\def\^^a7f {\GA@phi} +\def\^^a7f {\__paresse_phi} \def\^^a7w {\omega} -% \end{macrocode} -% In case of option \Option{legacy}, definitions of \PSVerb{v}, -% \PSVerb{y}, \PSVerb{c}, and \PSVerb{q} as in the first two versions -% of this package. -% \begin{macrocode} -\iftogon{GA@legacy}{% - \def\^^a7v {\GA@theta} + +\bool_if:nTF {\g__paresse_encoding_is_legacy_bool} +{ + \def\^^a7j {\varsigma} + \def\^^a7v {\__paresse_theta} \def\^^a7y {\tau} \def\^^a7c {\chi} \def\^^a7q {\psi} -% \end{macrocode} -% Care is taken of options \Option{ttau} and \Option{ttheta}. -% \begin{macrocode} - \iftogon{GA@ttau}{\def\^^a7t {\tau}}{\def\^^a7t {\GA@theta}}}{% -% \end{macrocode} -% Definitions of the same \PSVerb{v}, \PSVerb{y}, \PSVerb{c}, and -% \PSVerb{q} with option \Option{levi}. In that case, options -% \Option{ttau} and \Option{ttheta} are no-op. -% \begin{macrocode} - \def\^^a7j {\GA@theta} + \bool_if:nTF {\g__paresse_letter_t_is_theta_bool} + { + \def\^^a7t {\__paresse_theta} + } + { + \def\^^a7t {\tau} + } +} +{ + \def\^^a7j {\__paresse_theta} \def\^^a7t {\tau} \def\^^a7q {\chi} \def\^^a7y {\psi} - \def\^^a7c {\varsigma}} -% \end{macrocode} -% Upper case letters are treated thence: -% \begin{macrocode} + \def\^^a7c {\varsigma} +} \def\^^a7G {\Gamma} \def\^^a7D {\Delta} \def\^^a7L {\Lambda} @@ -489,74 +1289,32 @@ \def\^^a7F {\Phi} \def\^^a7X {\Xi} \def\^^a7W {\Omega} -% \end{macrocode} -% Once again \Option{legacy} vs. \Option{levi}: -% \begin{macrocode} -\iftogon{GA@legacy}{% +\bool_if:nTF {\g__paresse_encoding_is_legacy_bool} +{ \def\^^a7V {\Theta} \def\^^a7T {\Theta} \def\^^a7Q {\Psi} -}{% +} +{ \def\^^a7J {\Theta} \def\^^a7Y {\Psi} -}% -% \changes{va4}{2011/04/17}{\PSVerb{Z} added to produce \PS} +} \def\^^a7Z {\S} -% \end{macrocode} -% -% The end is near! \PS is made active and the \PS-macros defined. This -% is old code --- directly from~\cite{tlachand}. -% \begin{macrocode} \catcode `\^^a7=\active \def^^a7#1{\ensuremath{\csname \string^^a7#1\endcsname}} -% \end{macrocode} -% In case option \Option{tame} is chosen, \PS is given its first -% catcode and meaning back. -% \begin{macrocode} -\iftogon{GA@tame}{% + +\bool_if:nF {\g__paresse_mood_is_wild_bool} +{ \catcode`\^^a7=\count@ \ifnum\count@=13 \let ^^a7=\GA@LaVieilleParesse \fi -}% +} % \end{macrocode} -% -% And that's all for \texttt{paresseold.sto}. -% % \iffalse -%</oldpack> +%</OLD> % \fi % \iffalse -%<*utf8pack> +%<*UTF> % \fi -% -%\subsection{The file paresseutf8.sto} -% -% This part is brand new. It deals with the document encoded in utf8 -% via |\usepackage[utf8]{fontenc}| and compiled with \hologo{LaTeX}. -% -% It is at the request of Christian \textsc{Tellechea} that this -% package now deals with such source. Most of the macros of this part -% were created by the same Christian. -% -% First a bit of identification -% \begin{macrocode} -\ProvidesFile{paresseutf8.sto} -% \end{macrocode} -% followed by code partially taken from \texttt{utf8.def} for I wanted -% to implement the option \Option{tame} and, to do so, needed to -% redeclare the character \PS. Four macros are used in such a -% redeclaration and they are made unavailable outside preamble in -% \texttt{utf8.def}. -% -% The original \cs{DeclareUnicodeCharacter} depends on -% \cs{parse@XML@charref} which itself depends on \cs{parse@UTFviii@a} -% and \cs{parse@UTFviii@b}. Those two last macros are defined in terms -% of accessible macros. Therefore, I first create an alias of the last -% two and then define \cs{declareunicodecharacter} and -% \cs{GA@parse@XML@charref} in terms of the \emph{localised} version -% of \cs{parse@UTFviii@a} and \cs{parse@UTFviii@b}. -% -% To be on the safe side, I repeat the invocations of catcode of -% \texttt{utf8.def}. % \begin{macrocode} \begingroup \catcode`\"=12 @@ -568,125 +1326,68 @@ \catcode`\~=13 \global\let\GA@parse@UTFviii@a=\parse@UTFviii@a \global\let\GA@parse@UTFviii@b=\parse@UTFviii@b -\gdef\declareunicodecharacter#1#2{% +\gdef\declareunicodecharacter#1#2{ \count@"#1\relax - \wlog{\space\space Redefining Unicode char U+#1 (decimal \the\count@)}% + \wlog{\space\space Redefining~Unicode~char~U+#1~(decimal~\the\count@)} \begingroup \GA@parse@XML@charref - \def\UTFviii@two@octets##1##2{\csname u8:##1\string##2\endcsname}% - \def\UTFviii@three@octets##1##2##3{\csname u8:##1% - \string##2\string##3\endcsname}% - \def\UTFviii@four@octets##1##2##3##4{\csname u8:##1% - \string##2\string##3\string##4\endcsname}% + \def\UTFviii@two@octets##1##2{\csname u8:##1\string##2\endcsname} + \def\UTFviii@three@octets##1##2##3{\csname u8:##1 + \string##2\string##3\endcsname} + \def\UTFviii@four@octets##1##2##3##4{\csname u8:##1 + \string##2\string##3\string##4\endcsname} \expandafter\expandafter\expandafter \expandafter\expandafter\expandafter \expandafter - \gdef\UTFviii@tmp{\IeC{#2}}% + \gdef\UTFviii@tmp{\IeC{#2}} \endgroup} -\gdef\GA@parse@XML@charref{% +\gdef\GA@parse@XML@charref{ \ifnum\count@<"A0\relax \PackageError{inputenc}{Cannot\space define\space Unicode\space char\space value\space <\space 00A0}\@eha \else\ifnum\count@<"800\relax - \GA@parse@UTFviii@a,% - \GA@parse@UTFviii@b C\UTFviii@two@octets.,% + \GA@parse@UTFviii@a, + \GA@parse@UTFviii@b C\UTFviii@two@octets., \else\ifnum\count@<"10000\relax - \GA@parse@UTFviii@a;% - \GA@parse@UTFviii@a,% - \GA@parse@UTFviii@b E\UTFviii@three@octets.{,;}% + \GA@parse@UTFviii@a; + \GA@parse@UTFviii@a, + \GA@parse@UTFviii@b E\UTFviii@three@octets.{,;} \else - \GA@parse@UTFviii@a;% - \GA@parse@UTFviii@a,% - \GA@parse@UTFviii@a!% - \GA@parse@UTFviii@b F\UTFviii@four@octets.{!,;}% + \GA@parse@UTFviii@a; + \GA@parse@UTFviii@a, + \GA@parse@UTFviii@a! + \GA@parse@UTFviii@b F\UTFviii@four@octets.{!,;} \fi \fi \fi} \endgroup -% \end{macrocode} -% Here ends the \emph{localisation}. -% -% I provide the same macros as in the preceding case but in such a -% context \cs{makeparesseother} doesn't make sense. It just produces a -% warning. -% \begin{macrocode} \newcommand{\makeparesseletter}{\DeclareUnicodeCharacter{00A7}\S} -\newcommand{\makeparesseother}{% - \PackageWarning{paresse}{% - Command \string\makeparesseother disabled}{% +\newcommand{\makeparesseother}{ + \PackageWarning{paresse}{ + Command \string\makeparesseother disabled}{ The command \string\makeparesseother would have been meaningless in the current context}} -% \end{macrocode} -% -% The end-user macro \cs{ActiveLaParesse} and the corresponding -% environment |ParesseActive|. -% -% The Unicode character of code \texttt{00A7} is made equal to the -% macro \cs{@paresse}. -% \begin{macrocode} \newcommand{\ActiveLaParesse}{\declareunicodecharacter{00A7}\@paresse} \newenvironment{ParesseActive}{\ActiveLaParesse}{} -% \end{macrocode} -% -% It's time to prepare the definition of the \PS-macros. To begin with -% we activate the character \PS. -% \begin{macrocode} \ActiveLaParesse -% \end{macrocode} -% -% And now for the \emph{working} code: when the paresse is active, the -% byte \texttt{00A7} is an alias for \cs{@paresse} and, because of the -% following, the code \cs{@paresse}\meta{token} is changed into -% \cs{@i@paresse}\meta{token} with the side effect that \cs{@toks} is -% let to \meta{token}. -% \begin{macrocode} \def\@paresse{\futurelet\@toks\@i@paresse} -% \end{macrocode} -% Then if \meta{token}, now ``in'' \cs{@toks}, has the same category -% than \texttt{a} --- hopefully a letter --- then we obtain -% \cs{@ii@paresse} else \cs{S}. -% -% \begin{macrocode} -\def\@i@paresse{% +\def\@i@paresse{ \csname\ifcat a\@toks @ii@paresse\else S\fi\endcsname} -% \end{macrocode} -% At that point, the code which was \cs{@paresse}\meta{token} is -% either \cs{S}\meta{token} or \cs{@ii@paresse} which awaits for an -% argument. That argument will be the still present \meta{token}. -% -% If the command \cs{@paresse@}\meta{token} is defined then it does -% its job, else we obtain \cs{S}\meta{token}. -% \begin{macrocode} -\def\@ii@paresse#1{% +\def\@ii@paresse#1{ \ifcsname @paresse@#1\endcsname \csname @paresse@#1\endcsname\expandafter\@gobble \else \expandafter\@firstofone \fi{\S#1}} -% \end{macrocode} -% -% The next macro is used to define the \PS-macros. -% -% I have not used it in \texttt{paresseold.sto} for that definition -% prevent a feature I'm attached to, to wit, obtaining -% \(\alpha^{\beta}\) with |\(|\PSVerb{a}|^|\PSVerb{b}|\)|. I would -% have been loath to force some of the users to change their until now -% working sources. -% \begin{macrocode} -\def\define@paresse@car#1#2{% +\def\define@paresse@car#1#2{ \expandafter\def\csname @paresse@#1\endcsname{\ensuremath{#2}}} -% \end{macrocode} -% -% From now on, there are just definitions of \PS-macros. -% -% The first one, \PSVerb{Z} is new. -% \begin{macrocode} + \define@paresse@car Z\S \define@paresse@car a\alpha \define@paresse@car b\beta \define@paresse@car g\gamma \define@paresse@car d\delta -\define@paresse@car e\GA@epsilon +\define@paresse@car e\__paresse_epsilon \define@paresse@car z\zeta \define@paresse@car h\eta \define@paresse@car i\iota @@ -695,25 +1396,36 @@ \define@paresse@car m\mu \define@paresse@car n\nu \define@paresse@car x\xi -\define@paresse@car p\GA@pi -\define@paresse@car r\GA@rho -\define@paresse@car s\GA@sigma +\define@paresse@car p\__paresse_pi +\define@paresse@car r\__paresse_rho +\define@paresse@car s\__paresse_sigma \define@paresse@car u\upsilon -\define@paresse@car f\GA@phi +\define@paresse@car f\__paresse_phi \define@paresse@car w\omega -\iftogon{GA@legacy}{% - \define@paresse@car v\GA@theta + +\bool_if:nTF {\g__paresse_encoding_is_legacy_bool} +{ + \define@paresse@car j\varsigma + \define@paresse@car v\__paresse_theta \define@paresse@car y\tau \define@paresse@car c\chi \define@paresse@car q\psi - \iftogon{GA@ttau}{% - \define@paresse@car t\tau}{% - \define@paresse@car t\GA@theta}}{% - \define@paresse@car j\GA@theta + + \bool_if:nTF {\g__paresse_letter_t_is_theta_bool} + { + \define@paresse@car t\__paresse_theta + } + { + \define@paresse@car t\tau + } +} +{ + \define@paresse@car j\__paresse_theta \define@paresse@car t\tau \define@paresse@car q\chi \define@paresse@car y\psi - \define@paresse@car c\varsigma} + \define@paresse@car c\varsigma +} \define@paresse@car G\Gamma \define@paresse@car D\Delta \define@paresse@car L\Lambda @@ -723,30 +1435,44 @@ \define@paresse@car F\Phi \define@paresse@car X\Xi \define@paresse@car W\Omega -\iftogon{GA@legacy}{% + +\bool_if:nTF {\g__paresse_encoding_is_legacy_bool} +{ \define@paresse@car V\Theta \define@paresse@car T\Theta - \define@paresse@car Q\Psi}{% + \define@paresse@car Q\Psi +} +{ \define@paresse@car J\Theta - \define@paresse@car Y\Psi}% -% \end{macrocode} -% -% At the end of the package, if the option \Option{tame} is chosen, \PS -% is made a letter again. -% \begin{macrocode} -\iftogon{GA@tame}{\makeparesseletter} + \define@paresse@car Y\Psi +} + +\bool_if:nF {\g__paresse_mood_is_wild_bool}{\makeparesseletter} % \end{macrocode} -% -% And that's all for the file \texttt{paresseutf8.sto}. % \iffalse -%</utf8pack> +%</UTF> +% \fi +% +% \iffalse +%</package> % \fi +% +% \end{implementation} +% % \Finale +% \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} +% \PrintChanges\PrintIndex +% \endinput %%% Local Variables: %%% mode: doctex -%%% fill-column: 70 -%%% coding: iso-8859-15 +%%% coding: utf-8 +%%% fill-column: 80 %%% TeX-master: t %%% End: - diff --git a/macros/latex/contrib/paresse/paresse.ins b/macros/latex/contrib/paresse/paresse.ins index f5079fc407..89440093c4 100644 --- a/macros/latex/contrib/paresse/paresse.ins +++ b/macros/latex/contrib/paresse/paresse.ins @@ -1,64 +1,36 @@ -%% -%% Copyright (C) 2011, 2013 -%% by Yvon Henel alias Le TeXnicien de surface -%% <le.texnicien.de.surface@wanadoo.fr> -%% -%% 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: -%% -%% 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. -%% -\input docstrip.tex -\keepsilent -\preamble -This is a generated file. +\iffalse meta-comment -Copyright (C) 2011, 2013 -by Yvon Henel, alias le TeXnicien de surface -<le.texnicien.de.surface@wanadoo.fr> +File paresse.ins Copyright (C) 2020 Yvon Henel -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: +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. -\endpreamble +\fi +\input l3docstrip.tex \askforoverwritefalse + +\preamble + +Do not distribute this file without also distributing the +source files specified above. + +Do not distribute a modified version of this file. + +\endpreamble + +\keepsilent + \generate{ - \file{paresse.sty}{\from{paresse.dtx}{common,package}} - \file{paresseold.sto}{\from{paresse.dtx}{oldpack}} - \file{paresseutf8.sto}{\from{paresse.dtx}{utf8pack}} - \file{common.tex}{\from{paresse.dtx}{common}} - \file{paresse-en.ltx}{\from{paresse-doc.dtx}{doc,en}} - \file{paresse-fr.ltx}{\from{paresse-doc.dtx}{doc,fr}} - \file{paresse-ex-fr.elx}{\from{paresse-doc.dtx}{exemple,fr}} - \file{paresse-ex-en.elx}{\from{paresse-doc.dtx}{exemple,en}} - } -\obeyspaces -\Msg{*****************************************************************} -\Msg{* *} -\Msg{* To finish the installation you have to move the following *} -\Msg{* file into a directory searched by TeX: *} -\Msg{* paresse.sty *} -\Msg{*****************************************************************} -\Msg{* Pour finir l'installation vous devez placer *} -\Msg{* le fichier suivant dans un dossier parcouru par TeX: *} -\Msg{* paresse.sty *} -\Msg{* *} -\Msg{* To produce the documentation read the README file *} -\Msg{* Pour produire la documentation lire le fichier LISEZMOI *} -\Msg{* *} -\Msg{** Happy TeXing **} -\Msg{** TeXez dans la joie ! **} -\Msg{*****************************************************************} + \file{paresse.sty}{\from{paresse.dtx}{package,MAIN}} + \file{paresse-old.sty}{\from{paresse.dtx}{package,OLD}} + \file{paresse-utf8.sty}{\from{paresse.dtx}{package,UTF}} + \file{paresse-fra.tex}{\from{paresse.dtx}{doc,FRA}} + \file{paresse-eng.tex}{\from{paresse.dtx}{doc,ENG}} +} + \endbatchfile diff --git a/macros/latex/contrib/paresse/paresse.pdf b/macros/latex/contrib/paresse/paresse.pdf Binary files differindex fd9863db90..8ef2eb3e55 100644 --- a/macros/latex/contrib/paresse/paresse.pdf +++ b/macros/latex/contrib/paresse/paresse.pdf diff --git a/macros/latex/contrib/paresse/paresse.sty b/macros/latex/contrib/paresse/paresse.sty deleted file mode 100644 index 82e02574f6..0000000000 --- a/macros/latex/contrib/paresse/paresse.sty +++ /dev/null @@ -1,112 +0,0 @@ -%% -%% This is file `paresse.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% paresse.dtx (with options: `common,package') -%% This is a generated file. -%% -%% Copyright (C) 2011, 2013 -%% by Yvon Henel, alias le TeXnicien de surface -%% <le.texnicien.de.surface@wanadoo.fr> -%% -%% 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: -%% -%% 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}} -\ifluatex - \PackageInfo{paresse}{compiling with luatex} - \InputIfFileExists{paresseold.sto}{% - \PackageInfo{paresse}{paresseold loaded}}{% - \PackageInfo{paresse}{paresseold not loaded}} -\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{% - \begingroup - \def\utf@encoding{utf8}% - \def\temp@a{\togoff{GA@utf8}% - \PackageInfo{paresse}{8-bit encoding expected\@gobble}} - \ifx\utf@encoding\inputencodingname - \def\temp@a{\togon{GA@utf8}% - \PackageInfo{paresse}{utf8 encoding detected\@gobble}} - \fi - \expandafter\endgroup\temp@a} -\AtBeginDocument{% - \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 -\endinput -%% -%% End of file `paresse.sty'. diff --git a/macros/latex/contrib/paresse/paresseold.sto b/macros/latex/contrib/paresse/paresseold.sto deleted file mode 100644 index be2832354f..0000000000 --- a/macros/latex/contrib/paresse/paresseold.sto +++ /dev/null @@ -1,97 +0,0 @@ -%% -%% This is file `paresseold.sto', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% paresse.dtx (with options: `oldpack') -%% This is a generated file. -%% -%% Copyright (C) 2011, 2013 -%% by Yvon Henel, alias le TeXnicien de surface -%% <le.texnicien.de.surface@wanadoo.fr> -%% -%% 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: -%% -%% 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. -\ProvidesFile{paresseold.sto} -\count@=\catcode`\^^a7 -\let\GA@LaVieilleParesse= ^^a7 -\def\^^a7{\S} -\newcommand{\makeparesseletter}{\catcode `\^^a7=11\relax} -\newcommand{\makeparesseother}{\catcode `\^^a7=12\relax} -\newcommand{\GA@MakeParesseActive}{\catcode `\^^a7=\active} -\def\GA@ActiveLaParessexii{\catcode `\^^a7=\active} -\def\GA@ActiveLaParessexiii{\catcode `\^^a7=\active - \def^^a7##1{\ensuremath{\csname \string^^a7##1\endcsname}}} -\ifnum\count@=12 - \let\GA@ActiveLaParesse \GA@ActiveLaParessexii -\else - \let\GA@ActiveLaParesse \GA@ActiveLaParessexiii -\fi -\newcommand{\ActiveLaParesse}{\GA@ActiveLaParesse} -\newenvironment{ParesseActive}{\GA@ActiveLaParesse}{} -\makeparesseletter -\def\^^a7a {\alpha} -\def\^^a7b {\beta} -\def\^^a7g {\gamma} -\def\^^a7d {\delta} -\def\^^a7e {\GA@epsilon} -\def\^^a7z {\zeta} -\def\^^a7h {\eta} -\def\^^a7i {\iota} -\def\^^a7k {\kappa} -\def\^^a7l {\lambda} -\def\^^a7m {\mu} -\def\^^a7n {\nu} -\def\^^a7x {\xi} -\def\^^a7p {\GA@pi} -\def\^^a7r {\GA@rho} -\def\^^a7s {\GA@sigma} -\def\^^a7u {\upsilon} -\def\^^a7f {\GA@phi} -\def\^^a7w {\omega} -\iftogon{GA@legacy}{% - \def\^^a7v {\GA@theta} - \def\^^a7y {\tau} - \def\^^a7c {\chi} - \def\^^a7q {\psi} - \iftogon{GA@ttau}{\def\^^a7t {\tau}}{\def\^^a7t {\GA@theta}}}{% - \def\^^a7j {\GA@theta} - \def\^^a7t {\tau} - \def\^^a7q {\chi} - \def\^^a7y {\psi} - \def\^^a7c {\varsigma}} -\def\^^a7G {\Gamma} -\def\^^a7D {\Delta} -\def\^^a7L {\Lambda} -\def\^^a7P {\Pi} -\def\^^a7S {\Sigma} -\def\^^a7U {\Upsilon} -\def\^^a7F {\Phi} -\def\^^a7X {\Xi} -\def\^^a7W {\Omega} -\iftogon{GA@legacy}{% - \def\^^a7V {\Theta} - \def\^^a7T {\Theta} - \def\^^a7Q {\Psi} -}{% - \def\^^a7J {\Theta} - \def\^^a7Y {\Psi} -}% -\def\^^a7Z {\S} -\catcode `\^^a7=\active -\def^^a7#1{\ensuremath{\csname \string^^a7#1\endcsname}} -\iftogon{GA@tame}{% - \catcode`\^^a7=\count@ - \ifnum\count@=13 \let ^^a7=\GA@LaVieilleParesse \fi -}% -\endinput -%% -%% End of file `paresseold.sto'. diff --git a/macros/latex/contrib/paresse/paresseutf8.sto b/macros/latex/contrib/paresse/paresseutf8.sto deleted file mode 100644 index 0f232d83c4..0000000000 --- a/macros/latex/contrib/paresse/paresseutf8.sto +++ /dev/null @@ -1,140 +0,0 @@ -%% -%% This is file `paresseutf8.sto', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% paresse.dtx (with options: `utf8pack') -%% This is a generated file. -%% -%% Copyright (C) 2011, 2013 -%% by Yvon Henel, alias le TeXnicien de surface -%% <le.texnicien.de.surface@wanadoo.fr> -%% -%% 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: -%% -%% 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. -\ProvidesFile{paresseutf8.sto} -\begingroup -\catcode`\"=12 -\catcode`\<=12 -\catcode`\.=12 -\catcode`\,=12 -\catcode`\;=12 -\catcode`\!=12 -\catcode`\~=13 -\global\let\GA@parse@UTFviii@a=\parse@UTFviii@a -\global\let\GA@parse@UTFviii@b=\parse@UTFviii@b -\gdef\declareunicodecharacter#1#2{% - \count@"#1\relax - \wlog{\space\space Redefining Unicode char U+#1 (decimal \the\count@)}% - \begingroup - \GA@parse@XML@charref - \def\UTFviii@two@octets##1##2{\csname u8:##1\string##2\endcsname}% - \def\UTFviii@three@octets##1##2##3{\csname u8:##1% - \string##2\string##3\endcsname}% - \def\UTFviii@four@octets##1##2##3##4{\csname u8:##1% - \string##2\string##3\string##4\endcsname}% - \expandafter\expandafter\expandafter - \expandafter\expandafter\expandafter - \expandafter - \gdef\UTFviii@tmp{\IeC{#2}}% - \endgroup} -\gdef\GA@parse@XML@charref{% - \ifnum\count@<"A0\relax - \PackageError{inputenc}{Cannot\space define\space Unicode\space - char\space value\space <\space 00A0}\@eha - \else\ifnum\count@<"800\relax - \GA@parse@UTFviii@a,% - \GA@parse@UTFviii@b C\UTFviii@two@octets.,% - \else\ifnum\count@<"10000\relax - \GA@parse@UTFviii@a;% - \GA@parse@UTFviii@a,% - \GA@parse@UTFviii@b E\UTFviii@three@octets.{,;}% - \else - \GA@parse@UTFviii@a;% - \GA@parse@UTFviii@a,% - \GA@parse@UTFviii@a!% - \GA@parse@UTFviii@b F\UTFviii@four@octets.{!,;}% - \fi - \fi -\fi} -\endgroup -\newcommand{\makeparesseletter}{\DeclareUnicodeCharacter{00A7}\S} -\newcommand{\makeparesseother}{% - \PackageWarning{paresse}{% - Command \string\makeparesseother disabled}{% - The command \string\makeparesseother would have been meaningless - in the current context}} -\newcommand{\ActiveLaParesse}{\declareunicodecharacter{00A7}\@paresse} -\newenvironment{ParesseActive}{\ActiveLaParesse}{} -\ActiveLaParesse -\def\@paresse{\futurelet\@toks\@i@paresse} -\def\@i@paresse{% - \csname\ifcat a\@toks @ii@paresse\else S\fi\endcsname} -\def\@ii@paresse#1{% - \ifcsname @paresse@#1\endcsname - \csname @paresse@#1\endcsname\expandafter\@gobble - \else - \expandafter\@firstofone - \fi{\S#1}} -\def\define@paresse@car#1#2{% - \expandafter\def\csname @paresse@#1\endcsname{\ensuremath{#2}}} -\define@paresse@car Z\S -\define@paresse@car a\alpha -\define@paresse@car b\beta -\define@paresse@car g\gamma -\define@paresse@car d\delta -\define@paresse@car e\GA@epsilon -\define@paresse@car z\zeta -\define@paresse@car h\eta -\define@paresse@car i\iota -\define@paresse@car k\kappa -\define@paresse@car l\lambda -\define@paresse@car m\mu -\define@paresse@car n\nu -\define@paresse@car x\xi -\define@paresse@car p\GA@pi -\define@paresse@car r\GA@rho -\define@paresse@car s\GA@sigma -\define@paresse@car u\upsilon -\define@paresse@car f\GA@phi -\define@paresse@car w\omega -\iftogon{GA@legacy}{% - \define@paresse@car v\GA@theta - \define@paresse@car y\tau - \define@paresse@car c\chi - \define@paresse@car q\psi - \iftogon{GA@ttau}{% - \define@paresse@car t\tau}{% - \define@paresse@car t\GA@theta}}{% - \define@paresse@car j\GA@theta - \define@paresse@car t\tau - \define@paresse@car q\chi - \define@paresse@car y\psi - \define@paresse@car c\varsigma} -\define@paresse@car G\Gamma -\define@paresse@car D\Delta -\define@paresse@car L\Lambda -\define@paresse@car P\Pi -\define@paresse@car S\Sigma -\define@paresse@car U\Upsilon -\define@paresse@car F\Phi -\define@paresse@car X\Xi -\define@paresse@car W\Omega -\iftogon{GA@legacy}{% - \define@paresse@car V\Theta - \define@paresse@car T\Theta - \define@paresse@car Q\Psi}{% - \define@paresse@car J\Theta - \define@paresse@car Y\Psi}% -\iftogon{GA@tame}{\makeparesseletter} -\endinput -%% -%% End of file `paresseutf8.sto'. diff --git a/macros/latex/contrib/showexpl/README.md b/macros/latex/contrib/showexpl/README.md index 0c2fb4d52f..77db56836a 100644 --- a/macros/latex/contrib/showexpl/README.md +++ b/macros/latex/contrib/showexpl/README.md @@ -13,12 +13,9 @@ Recommended TDS locations: showexpl-test.tex, result-picture.pdf: doc/latex/showexpl ``` -For general installation advice, see -<http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages> - The showexpl package is also on CTAN:[macros/latex/contrib/showexpl](http://www.ctan.org/tex-archive/macros/latex/contrib/showexpl) Rolf Niepraschk, email: Rolf.Niepraschk@gmx.de, -2020-05-03 +2020-05-28 diff --git a/macros/latex/contrib/showexpl/doc/showexpl-test.pdf b/macros/latex/contrib/showexpl/doc/showexpl-test.pdf Binary files differindex 1d114a4b8c..027f9bc9b6 100644 --- a/macros/latex/contrib/showexpl/doc/showexpl-test.pdf +++ b/macros/latex/contrib/showexpl/doc/showexpl-test.pdf diff --git a/macros/latex/contrib/showexpl/doc/showexpl.pdf b/macros/latex/contrib/showexpl/doc/showexpl.pdf Binary files differindex ece9531dc4..9a3bfd6b57 100644 --- a/macros/latex/contrib/showexpl/doc/showexpl.pdf +++ b/macros/latex/contrib/showexpl/doc/showexpl.pdf diff --git a/macros/latex/contrib/showexpl/showexpl.dtx b/macros/latex/contrib/showexpl/showexpl.dtx index 6219774f7b..c2e2a99df2 100644 --- a/macros/latex/contrib/showexpl/showexpl.dtx +++ b/macros/latex/contrib/showexpl/showexpl.dtx @@ -22,7 +22,7 @@ %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<package>\ProvidesPackage{showexpl} %<*package> - [2020/05/26 v0.3q Typesetting example code (RN)] + [2020/10/08 v0.3r Typesetting example code (RN)] %</package> % %<*driver> @@ -318,6 +318,7 @@ % the user key ``|preset=...|''. % \changes{v0.3e}{2006/04/05}{More redefinitions added (RN).} % \changes{v0.3p}{2020/05/04}{Remove extra treatment of `figure'/`table' (RN).} +% \changes{v0.3r}{2020/10/08}{letting \cmd{\refstepcounter} be \cmd{\stepcounter} (RN).} % \begin{macrocode} \newcommand*\SX@@preset{% \renewcommand\documentclass[2][]{\SX@eat@version}% @@ -328,7 +329,7 @@ \let\listoftables\relax \let\printindex\relax \let\listfiles\relax \let\nofiles\relax \let\index\@gobble \let\label\@gobble - \let\refstepcounter=\@gobble + \let\refstepcounter=\stepcounter \let\bibliography\@gobble \let\pagestyle\@gobble \let\thispagestyle\@gobble %%\let\immediate\relax \let\write\@gobbletwo |