summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
Diffstat (limited to 'macros')
-rw-r--r--macros/latex/contrib/exesheet/README.md2
-rw-r--r--macros/latex/contrib/exesheet/exesheet.dtx2014
-rw-r--r--macros/latex/contrib/exesheet/exesheet.pdfbin234368 -> 281361 bytes
-rw-r--r--macros/latex/contrib/gradient-text/README.md10
-rw-r--r--macros/latex/contrib/gradient-text/gradient-text.pdfbin84781 -> 131484 bytes
-rw-r--r--macros/latex/contrib/gradient-text/gradient-text.sty47
-rw-r--r--macros/latex/contrib/gradient-text/gradient-text.tex97
-rw-r--r--macros/latex/contrib/photobook/photobook.cls24
-rw-r--r--macros/latex/contrib/photobook/photobook.pdfbin137550 -> 138172 bytes
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdfbin858132 -> 859565 bytes
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex6
-rw-r--r--macros/latex/contrib/proflycee/tex/ProfLycee.sty6
-rw-r--r--macros/latex/contrib/ufrgscca/README.md7
-rw-r--r--macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf1529
-rw-r--r--macros/latex/contrib/ufrgscca/doc/ufrgscca.tex7
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty9
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty8
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty8
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty8
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty8
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty8
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty8
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def11
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def11
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def11
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def11
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty8
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty8
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty8
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty8
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def11
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def11
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def11
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def11
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca.cls8
-rw-r--r--macros/latex/contrib/writeongrid/README.md7
-rw-r--r--macros/latex/contrib/writeongrid/doc/WriteOnGrid-doc-en.pdfbin0 -> 376053 bytes
-rw-r--r--macros/latex/contrib/writeongrid/doc/WriteOnGrid-doc-en.tex359
-rw-r--r--macros/latex/contrib/writeongrid/doc/WriteOnGrid-doc-fr.pdfbin0 -> 400100 bytes
-rw-r--r--macros/latex/contrib/writeongrid/doc/WriteOnGrid-doc-fr.tex359
-rw-r--r--macros/latex/contrib/writeongrid/tex/WriteOnGrid.sty116
-rw-r--r--macros/xetex/latex/bidi/README6
-rw-r--r--macros/xetex/latex/bidi/bidi-doc-intro.ltx4
-rw-r--r--macros/xetex/latex/bidi/bidi-doc-title.ltx4
-rw-r--r--macros/xetex/latex/bidi/bidi-doc.ltx2
-rw-r--r--macros/xetex/latex/bidi/bidi-doc.pdfbin176755 -> 176570 bytes
-rw-r--r--macros/xetex/latex/bidi/bidi.dtx1922
-rw-r--r--macros/xetex/latex/bidi/bidi.pdfbin3470931 -> 3683556 bytes
48 files changed, 5087 insertions, 1626 deletions
diff --git a/macros/latex/contrib/exesheet/README.md b/macros/latex/contrib/exesheet/README.md
index f04b134515..45896d7bb0 100644
--- a/macros/latex/contrib/exesheet/README.md
+++ b/macros/latex/contrib/exesheet/README.md
@@ -10,7 +10,7 @@ The package provides:
- macros to mark out exercises and subparts,
- specific settings for enumeration lists,
- environments for questions and answers, with conditional display,
-- macros for marking scheme with detailed comments.
+- macros for displaying a marking scheme with detailed comments in margins.
## Installation
diff --git a/macros/latex/contrib/exesheet/exesheet.dtx b/macros/latex/contrib/exesheet/exesheet.dtx
index a90d6da6b7..04cdd77b5b 100644
--- a/macros/latex/contrib/exesheet/exesheet.dtx
+++ b/macros/latex/contrib/exesheet/exesheet.dtx
@@ -23,17 +23,17 @@
%<class>\ProvidesClass{exesheet}
%<package>\ProvidesPackage{exesheet}
%<*class|package>
-[2021/11/15 v1.3 .dtx exesheet file]
+[2023/01/16 v2.0 .dtx exesheet file]
%</class|package>
-%
%<*driver>
\documentclass{ltxdoc}
+%
% uncomment the following lines if you want to use the exesheet class instead of ltxdoc
%\usepackage{doc}
%\AtBeginDocument{\MakeShortVerb{\|}}
%\providecommand\marg[1]{{\ttfamily\{}\meta{#1}{\ttfamily\}}}
%\providecommand\oarg[1]{{\ttfamily[}\meta{#1}{\ttfamily]}}
-\usepackage[notoc]{exesheet}
+\usepackage[exetoc=false,marginwidth=unset,display=notes]{exesheet}
\usepackage{schooldocs}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
@@ -43,37 +43,30 @@
\usepackage{hyperref}
\usepackage{sectsty}
\usepackage{pstricks}
+\usepackage{array}
+\usepackage{spacingtricks}
+\usepackage{centeredline}
+%
\psset{unit=1cm}
\geometry{textwidth=355pt,vmarginratio=1:1,hmarginratio=3:2}
-% altered by schoodocs, now very close from the default geometry used by ltxdoc
-
+% altered by schoodocs, now very close from the default geometry used by ltxdoc.
+% The following instruction gives the same margin width
+% as with display=notes without altering the margin ratio
+\leftnotemarginwidth{0.55} % special setting here
\newcommand{\ds}{\displaystyle}
\newcommand{\bs}{\textbackslash}
-
\definecolor{darkbrown}{rgb}{0.5,0.1,0.1}
\allsectionsfont{\sffamily\color{darkbrown}}
\renewcommand{\labelexercisestyle}{\rmfamily\color{black}}
\renewcommand{\labelsubpartstyle}{\rmfamily\color{black}}
\renewcommand{\annexstyle}{\rmfamily\color{black}\MakeUppercase}
\renewcommand{\correctionstyle}{\rmfamily\color{correctioncolor}}
-
-\displaypts
-%\diplaynotes gives a non desired margin ratio here
-% following instructions simulate \displaynotes without altering the margin ratio
-\setlength{\marginparwidth}{\oddsidemargin}
-\addtolength{\marginparwidth}{1in}
-\addtolength{\marginparwidth}{-\marginparsep}
-\setlength{\marginparwidth}{0.8\marginparwidth}
-\setboolean{marginpoints}{true}
-\setboolean{marginfullnotes}{true}
-
+\renewcommand{\titlestyle}{\LARGE\sffamily\bfseries}
+%
\DisableCrossrefs
%\CodelineIndex
%\RecordChanges
-
-\title{The \textsf{exesheet} class and package}%\thanks{This document
-% corresponds to \textsf{exesheet}~\fileversion, dated \filedate.}}
-%\author{Antoine Missier \\ \texttt{antoine.missier@ac-toulouse.fr}}
+\title{The \textsf{exesheet} class and package}
\subject{Antoine Missier \\
\texttt{antoine.missier@ac-toulouse.fr}}
\date{\filedate, \fileversion}
@@ -84,13 +77,14 @@
pdfsubject={LaTeX class and package},
pdfauthor={Antoine Missier}
}
+
\begin{document}
\DocInput{exesheet.dtx}
\end{document}
%</driver>
% \fi
%
-% \CheckSum{613}
+% \CheckSum{1118}
%
% \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
@@ -108,19 +102,46 @@
% Grave accent \` Left brace \{ Vertical bar \|
% Right brace \} Tilde \~}
%
-%
% \changes{v0.0}{2010/09/01}{Initial personal version}
% \changes{v0.9}{2020/01/02}{Initial documentation in french}
% \changes{v1.0}{2020/07/22}{Initial public version with documentation in english}
-% \changes{v1.1}{2021/08/30}{Macro tablenum replaced by tablenum1, small modifications due
-% to changes in tasks package}
-% \changes{v1.2}{2021/09/18}{Bug correction in macros tablenum1 and tablenuma, using the translations package for internationalization}
-%\changes{v1.3}{2021/11/15}{Bad spacing in the exe macro and bug correction in the starred version of this macro}
+% \changes{v1.1}{2021/08/30}{
+% Macro tablenum (also used by siunitx) replaced by tablenum1,
+% small modifications due to changes in tasks package}
+%
+% \changes{v1.2}{2021/09/18}{
+% Bug correction in macros tablenum1 and tablenuma,
+% using the translations package for internationalization}
+%
+% \changes{v1.3}{2021/11/15}{
+% Bad spacing in the exe macro and bug correction in the starred version of this macro}
+%
+% \changes{v2.0}{2022/12/28}{
+% options toc and setlist with kvoptions (instead of notoc and nosetlist),
+% introducing the key 'output' instead of old commands questionsonly, answersonly,
+% introducing the key 'display' instead of old command displaypts, displaypoints,
+% displaynotes,
+% introducing the keys 'margin' and 'noteragged' to set how the notes are displayed,
+% introducing the key 'correct'}
+% \changes{v2.0}{2023/01/02}{
+% documentation update,
+% new option checkpts}
+% \changes{v2.0}{2023/01/09}{
+% new option 'marginwidth',
+% modifying hmarginratio from 5:1 to 3:1 when display=notes,
+% correct management of two side mode documents}
+% \changes{v2.0}{2023/01/16}{
+% \enskip between titles and their optional argument,
+% simplifying macros markingstyle and notestyle,
+% use of ragged2e package,
+% code revision and simplification,
+% documentation update}
%
% \GetFileInfo{exesheet.dtx}
%
% \maketitle
% \tableofcontents
+% \enlargethispage{1ex}
%
% \section{Introduction}
%
@@ -130,43 +151,53 @@
% with particular header and footer, appropriate for exercise sheets (among others).
% See the \textsf{schooldocs} documentation for more details.
% The \textsf{exesheet} \emph{class} is based on \textsf{article}
-% and has the same options.
+% and passes to it its unknown options.
%
% Many other packages are dedicated to exercise sheets.
% Most propose to encapsulate each exercise in an environment
-% while \textsf{exesheet} begins each exercise with the |\exercise| command,
-% which works like a subsection (with same features)
+% whereas \textsf{exesheet} begins each exercise with |\exercise|,
+% which works like a subsection (with the same features)
% and is suitable for documents consisting exclusively of exercises.
% The package provides also alternative formatting,
% more relevant for short exercises.
%
-% Another specificity of the \textsf{exesheet} package is specific settings
-% for enumeration lists, different from \LaTeX\ standard settings,
+% Another specificity of the \textsf{exesheet} package is the particular settings
+% for enumeration lists,
% useful for the numbering of questions or answers inside an exercise.
%
% Other packages provide often more or less elaborate mechanisms
% to manage the placement of answers.
-% \textsf{exesheet} has no such ambitions:
-% for all exercises of the sheet, we can display subject only,
-% answer only or both, but always at the place they are inserted
+% \textsf{exesheet} has no such ambitions, however,
+% for all exercises of the sheet, you can display questions only,
+% answers only or both, but always at the place they are inserted
% in the source file. On the other hand this choice may be very flexible:
-% we can do a correct version for all exercises together, or a correct version per exercise,
+% you can do a correct version for all exercises together, or a correction per exercise,
% per part (subpart of exercise), per question, per sub-question.
%
-% Finally the original functionality of this package is the display
-% of a detailed marking scheme,
-% with optional explanations, in the margin of exercise answers.
-%
-% There are two possible options: \texttt{notoc} (see \ref{par:notoc})
-% and \texttt{nosetlist} (see \ref{par:nosetlist}).
+% Finally this package enables to display
+% a detailed marking scheme in the margin,
+% with optional explanations or remarks,
+% and with consistency control.
+%
+% Many settings can be changed and several options manage the output document.
+% These options are based on the keyval mechanism: \texttt{key=value}
+% (thanks to Maxime Chupin and Denis Bitouzé for their wise ideas to improve this package).
+% The options can be passed to class or package, \eg
+% \begin{center}
+% |\documentclass[a4paper,11pt,output=answers,display=pts]{exesheet}|
+% \end{center}
+% or later with the |\exesheetset|\marg{options} command.
+% In the example above, \texttt{a4paper,11pt} are options
+% passed to the underlying class \textsf{article}.
%
%\medskip
-% In the current document, a frame is used to highlight
-% examples beside the rest of the documentation.
+% \emph{In the current document, a frame is used to highlight
+% examples output.}
%
% \section{Titles}
+%
% \subsection{The \texttt{\bs exercise} command}
-
+%
% \DescribeMacro{\exercise}
% Each exercise begins with the |\exercise|\oarg{opt} command.
% This command typesets \textbf{\exercisename}, as a document
@@ -174,33 +205,35 @@
% unique for the whole document.
% The optional parameter \meta{opt} is used to put additional text
% on the same title line, for example to precise a subject or a marking scheme.
-% |\exercise[ (to begin)]| yields:
+% |\exercise[(to begin)]| yields:
%
-% \exercise[ (to begin)]
-% \psframe(-0.25,1.3)(12.75,-0.4)
+% \exercise[(to begin)]
+% \psframe(-0.25,1.3)(12.75,-0.3)
% Try to use this first command now, it's easy.
%
% \bigskip
-% |\hrulefill| can be put in the optional argument to produce an horizontal rule.
-%
% To bring additional text closer to the exercise number,
-% we can use the |\unskip| command
-% which eliminates preceding space, see the following example, obtained with
-% |\exercise[\unskip : calculation\ \hrulefill]|:
-% \exercise[\unskip: calculation \ \hrulefill]
-% \psframe(-0.25,1.3)(12.75,-0.4)
+% we can use |\unskip| which eliminates preceding space,
+% and also |\hrulefill| can be put in the optional argument
+% to produce an horizontal rule.
+% See the following example, obtained with \\
+% |\exercise[\unskip*** (difficult)]|:
+% \exercise[\unskip*** (difficult)]
+% \psframe(-0.25,1.3)(12.75,-0.3)
% Calculate $1+1$.
%
% \bigskip
+% Several settings can be changed by refining the following commands.
+%
+% \medskip
% \DescribeMacro{\exercisename}
-% The word \emph{\exercisename} has automatic translation
-% in a few languages\footnote{Translation
-% is currently integrated into the package for the following languages: French,
-% German, Spanish, Italian, Portuges.}
+% The word ``\exercisename'' has automatic translation in a few languages
+% \footnote{Translation is currently integrated into the package
+% for the following languages: French, German, Spanish, Italian, Portuges.}
% according to the loaded language (by \textsf{babel} or \textsf{polyglossia}).
% It can be redefined, with |\renewcommand|,
-% or else we can use macros from the \textsf{translations}
-% package (allowing dynamic language change), e.g. (in the preamble)\\
+% or better you can use (in the preamble) macros from the \textsf{translations}
+% package (allowing dynamic language change), \eg \\
% |\DeclareTranslation{Swedish}{exesheet-exercise}{\"Ovning}}|.
%
% \DescribeMacro{\labelexercise}
@@ -215,19 +248,19 @@
% \DescribeMacro{\labelexercisestyle}
% This macro (which is empty by default) allows to define a particular style
% for exercise titles. In the present document, we defined in the preamble:
-% |\renewcommand{\labelexercisestyle}{\rmfamily\color{black}}|\footnote{In the
-% present document, to highlight real sections and subsections titles,
+% |\renewcommand{\labelexercisestyle}{\rmfamily\color{black}}|
+% \footnote{In the present document, to highlight real sections and subsections titles,
% their color and font have been modified with the
% \texttt{\bs allsectionsfont} macro from the \textsf{sectsty} package.}.
%
-% \bigskip
+% \medskip
% \DescribeMacro{\exercise*}
% The starred version |\exercise*|\oarg{opt}\marg{label}
% allows to choose another \meta{label} for a particular exercise
% and removes the numbering. For instance:
-% |\exercise*[(Fermat theorem)]{Problem}| yields:
+% |\exercise*[(Fermat's theorem)]{Problem}| yields:
%
-% \exercise*[(Fermat theorem)]{Problem}
+% \exercise*[(Fermat's theorem)]{Problem}
% \psframe(-0.25,1.3)(12.75,-0.7)
% Prove that there are no positive integers $x, y, z$ such that $x^n+y^n=z^n$
% for any integer $n$ greater than 2.
@@ -239,25 +272,28 @@
% with the |\subpart|\oarg{opt} command, typeset like a sub-subsection.
% \exercise
% \subpart[(preliminary)]
-% \psframe(-0.25,1.95)(12.75,-1.9)
+% \psframe(-0.25,1.95)(12.75,-1.85)
% First of all, prepare your cup of tea.
% \subpart
% Now you are ready to make the current exercise.
%
% \bigskip
+% The following macros manage formatting in the same way as for |\exercise|.
+%
+% \medskip
% \DescribeMacro{\thesubpart}
% By default, the subpart numbering uses letters : A, B, C, etc.
% This numbering type can be redefined with the |\thesubpart| command based on
% the |subpart| counter, for instance |\renewcommand\thesubpart{\arabic{subpart}}|.
%
-% \pagebreak
% \DescribeMacro{\subpartname} \DescribeMacro{\labelsubpart}
% \DescribeMacro{\labelsubpartstyle}
-% As for |\exercise|, the |\subpart| command
+% The |\subpart| command
% uses |\subpartname| (with automatic translation in a few languages
% according to the selected language),
-% |\labelsubpart| and |\labelsubpartstyle|, which are editable.
+% |\labelsubpart| and |\labelsubpartstyle|, which can be changed.
%
+% \medskip
% \DescribeMacro{\subpart*}
% Like |\exercise*|, the starred version |\subpart*|\oarg{opt}\marg{label}
% allows to freely typeset the subpart \marg{label}, for instance
@@ -271,11 +307,12 @@
% with an optional parameter, added on the same line.
%
% \vspace{-\baselineskip}
-% \noindent\psframe(-0.25,-0.3)(12.75,-1.25)
+% \noindent\psframe(-0.25,-0.3)(12.75,-1.3)
% \annex[(to return)]
%
+% \bigskip
% \DescribeMacro{\annexname}
-% The word \emph{\annexname} has automatic translation in a few languages.
+% The word ``\annexname'' has automatic translation in a few languages.
% It can be extended to other languages or modified by redefining |\annexname|
% or with macros from the \textsf{translations} package.
%
@@ -284,14 +321,12 @@
% defined as follows: |\newcommand\annexstyle{\MakeUppercase}|.
% This command may be redefined as one wants.
%
-% \subsection{Exercise titles in table of contents
-% (notoc package option)} \label{par:notoc}
-% \DescribeMacro{notoc}
-% By default, the titles \emph{\exercisename}, \emph{\subpartname} or \emph{\annexname},
-% appear in the table of contents
+% \subsection{Exercise titles in table of contents} \label{toc}
+% \DescribeMacro{[exetoc=\meta{bool}]}
+% By default, the titles \textbf{\exercisename}, \textbf{\subpartname}
+% or \textbf{\annexname}, appear in the table of contents
% (or in the pdf file summary when \textsf{hyperref} package is used).
-% To avoid this, you can set the boolean \texttt{notoc} to \texttt{true}
-% or call the \textsf{exesheet} package (or class) with \texttt{notoc} option.
+% To avoid this, you can set the option \texttt{exetoc=false} (default is \texttt{true}).
% But notice that title optional arguments will always be ignored in the table of contents.
%
% \subsection{Short exercises: the \texttt{\bs exe} command}
@@ -310,70 +345,47 @@
%
% \bigskip
% \DescribeMacro{\exname} \DescribeMacro{\exlabel} \DescribeMacro{\exsepmark}
-% The abbreviation \emph{\exname} may be changed by
+% The abbreviation \textbf{\exname} may be changed by
% redefining |\exname| or with macros from the \textsf{translations} package.
% The |\exlabel| macro calls |\exname| following by a period then the exercise number,
% and |\exsepmark| typesets a long dash.
-% We may change these features by redefining these commands.
+% One can change these features by redefining these commands.
%
-% \bigskip
+% \medskip
% \DescribeMacro{\exe*}
% The starred version prints no separator as shown below:
%
% \vspace{-\baselineskip}
% \noindent\psframe(-0.25,-0.35)(12.75,-1.1)
% \exe* Another short exercise without separator.
-%
-% \subsection{The \texttt{\bs points} command}
-% \DescribeMacro{\points}
-% The |\points|\marg{pts} command displays the number of points awarded to an exercise.
-% It is intended to be entered in the optional argument of the
-% |\exercise| command\footnote{This command which has to be used
-% in the optional argument of \texttt{\bs exercise}, as several others presented below,
-% is incompatible with
-% the \textsf{memoir} class which redefines section commands.}.
-% |\exercise[\points{5}]| yields:
-% \exercise[\points{5}]
-% \psframe(-0.25,1.3)(12.75,-0.4)
-% Try to read this whole document without drinking tea and you get five points.
-%
-% \bigskip
-% \DescribeMacro{\pointsname} \DescribeMacro{\pointname}
-% Like before, the word \emph{points} and in the singular \emph{point}
-% (if \meta{pts} is inferior to 2)
-% get automatic translation in a few languages
-% and are modifiable.
-%
-% \DescribeMacro{\pointsstyle} \DescribeMacro{pointscolor}
-% The style used by the |\points| command may be redefined with |\pointsstyle|.
-% The color is set by |pointscolor| with the |\definecolor| command
-% (from the \textsf{xcolor} package by Uwe Kern, loaded by \textsf{exesheet}),
-% for instance: \\ |\definecolor{pointscolor}{named}{blue}|.
-%
%
% \section{Enumerations and lists}
%
-% \subsection{List settings (nosetlist package option)} \label{par:nosetlist}
+% \subsection{List settings} \label{setlist}
+% \DescribeEnv{enumerate} \DescribeMacro{\item}
% Enumeration lists are intended to represent questions and sub-questions
% inside exercises. For a good highlight,
% labels are typeset in bold.
% Moreover, they are left aligned, at the start of the line,
% without indentation, and the vertical space between items
% is increased compared with \LaTeX\ standard lists.
-% These settings are done by the |\setlist| command\footnote{Labels
-% may also be changed by the \texttt{\bs labelenumi} and \texttt{\bs labelenumii} commands.}
-% from the \textsf{enumitem} package by Javier Bezos.
-% Lists with \texttt{itemize} environment are kept in their default configuration\footnote{The
-% \texttt{french} option of the \textsf{babel} package
-% alters \texttt{itemize} lists behavior and uses long dash
+% These settings are done by the |\setlist| command
+% \footnote{Labels may also be changed occasionally in an optional argument
+% \eg \texttt{\bs begin\{enumerate\}[A.]},
+% or globally thanks to \texttt{\bs labelenumi}
+% and \texttt{\bs labelenumii} commands.}
+% from the \textsf{enumitem} package of Javier Bezos.
+% Lists with \texttt{itemize} environment are kept in their default
+% configuration
+% \footnote{The \texttt{french} option of the \textsf{babel} package
+% alters \texttt{itemize} lists behavior and uses long dashes
% as labels for each list level.
% This behavior is problematic when mathematics follows the dash
% symbol because the latter may be confused with the minus sign.
-% Modifications of the \texttt{french} option (which supersedes \texttt{frenchb}
-% of \textsf{babel}) are canceled to restore \LaTeX\ default settings.}.
+% Default \texttt{itemize} lists are restored.}.
%
% \vspace{-\baselineskip}
-% \noindent\psframe(-0.25,-0.35)(12.75,-3.9)
+% \noindent\psframe(-0.25,-0.35)(12.75,-3.6)
% \exercise
% \begin{enumerate}
% \item First question
@@ -384,47 +396,47 @@
% \item Second question
% \end{enumerate}
%
-% \DescribeMacro{nosetlist}
-% We can avoid enumeration list modifications and restore the \LaTeX\
-% default settings by passing the option
-% \texttt{nosetlist} to the \texttt{exesheet} class or package.
+% \smallskip
+% \DescribeMacro{[setlist=\meta{bool}]}
+% One can avoid enumeration list alterations and restore \LaTeX\
+% default settings with the option |[setlist=false]|
+% (default value is \texttt{true} of course).
%
% \subsection{List of exercises : the \texttt{exenumerate} environment}
% \DescribeEnv{exenumerate}
-% When an exercise sheet is made of short independent exercises,
-% it would be ill-advised to display the complete title \emph{\exercisename} for each.
+% When an exercise sheet is made of short independent questions,
+% it would be ill-advised to display the complete title \textbf{\exercisename} for each.
% In addition to the |\exe| command, previously presented,
-% we provide an even lighter solution with the |exenumerate| environment,
-% which is only an enumeration list in which
-% spaces between items are further increased compared with those of \texttt{enumerate}.
-% Here is an example (the main list is an \texttt{exenumerate} environment but
-% sub-lists are produced with regular \texttt{enumerate} environments):
+% we provide an even lighter solution with the |exenumerate| environment.
+% It's only an enumeration list in which
+% spaces between items are further increased compared to those of \texttt{enumerate}.
+% Below is an example (the main list is an \texttt{exenumerate} environment but the
+% sub-list is produced with common \texttt{enumerate} environments):
%
% \vspace{-\baselineskip}
-% \noindent\psframe(-0.25,-0.3)(12.75,-6.75)
+% \noindent\psframe(-0.25,-0.3)(12.75,-5.3)
% \begin{exenumerate}
-% \item Translate the following sentences in english:
+% \item Translate the following sentences in English:
% \begin{enumerate}
% \item Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi.
% \item Nam lacus libero, pretium at, lobortis vitae, ultricies et, tellus.
% \end{enumerate}
-% \item Translate the following sentence in german:
+% \item Translate the following sentence in German:
% \par Donec aliquet, tortor sed accumsan bibendum, erat ligula aliquet magna,
% vitae ornare odio metus a mi.
-% \item Translate the following sentences in french:
-% \begin{enumerate}
-% \item Cum sociis natoque penatibus
+% \item Translate the following sentences in French:
+% Cum sociis natoque penatibus
% et magnis dis parturient montes, nascetur ridiculus mus.
-% \item Nulla ullamcorper vestibulum turpis.
-% \end{enumerate}
% \end{exenumerate}
+%
+% \medskip
% The environment takes an optional parameter, like \texttt{enumerate},
% which enables, among others,
-% to typeset alternative list labels, e.g.
+% to typeset alternative list labels, \eg
% |\begin{exenumerate}[A.]|.
% There are many other options (see the \textsf{enumitem} package documentation).
%
-% \subsection{Items aligned by lines}
+% \subsection{Items aligned by row: \texttt{tablenum1$\mid$a}, \texttt{tablitem}}
% \DescribeEnv{tablenum1}
% \DescribeEnv{tablenuma}
% \DescribeEnv{tablitem}
@@ -440,7 +452,7 @@
% |\NewTasksEnvironment| macro, from the \textsf{tasks} package by Clemens Niederberger.
% They take an optional argument \meta{opt}
% explained in the documentation of this package,
-% e.g.\ |label=\arabic*)| produces an Arabic numbering
+% \eg |label=\arabic*)| produces an Arabic numbering
% following by a closing parenthesis (like in \texttt{enumitem} package).
% There are also many possibilities to place items in an original way,
% for instance, the |\item*| command allows to
@@ -461,23 +473,25 @@
% \item $\ds l(x) = \int_{\frac{1}{x}}^{x}\frac{1}{\ln t}\, \mathrm{d}t$.
% \end{tablenum1}
%
+% \smallskip
% For \texttt{tablenuma}, labels are
% letters (a, b, c, \ldots) surrounded
-% by parentheses. This cannot be modified globally
-% (except by redefining the environment with |\RenewTasksEnvironment|).
-% If the \textsf{exesheet} package is called with option \texttt{nosetlist},
+% by parentheses. This cannot be modified globally,
+% except by redefining the environment with |\RenewTasksEnvironment|.
+% If the \textsf{exesheet} package is called with the option \texttt{setlist=false},
% labels of \texttt{tablenum1} and \texttt{tablenuma} environments
-% are displayed in normal font instead of boldface, with indentation.
+% are displayed with indentation and in normal font instead of bold.
%
-% \subsection{Items aligned by columns: \texttt{colsenum}}
+% \subsection{Items aligned by column: \texttt{colsenum}, \texttt{colsitem}}
% \DescribeEnv{colsenum}
-% To get numbering of items by columns, we have the
+% To get numbering of items by column, we provide the
% \texttt{colsenum} environment: |\begin{colsenum}|\oarg{opt}\marg{cols}.
% The mandatory parameter is the number of columns
% and the optional one will be passed to \texttt{enumerate},
% allowing, for example, to change the type of numbering (a, A, etc.).
% To use this environment, we have to load the
% \textsf{multicol} package in the preamble.
+% Here an example with |\begin{colsenum}{3}|:
%
% \exercise
% \psframe(-0.25,1.3)(12.75,-2.65)
@@ -489,15 +503,17 @@
% \item $\ds k(x) = \sum_{i=1}^{\infty}\frac{1}{x^i}$,
% \item $\ds l(x) = \int_{\frac{1}{x}}^{x}\frac{1}{\ln t}\, \mathrm{d}t$.
% \end{colsenum}
+%
+% \medskip
% \DescribeEnv{colsenum*}
% We will notice that, on each line, items are not necessarily well
-% aligned, what can produce inelegant effects.
+% aligned, which can produce inelegant effects.
% On the other hand, the \texttt{colsenum} environment doesn't try to align columns
% from the bottom by adjusting space between items.
% If we want to get this
-% (which is the default option in \textsf{multicol}) we have the
+% (which is the default option in \textsf{multicol}), we have the
% \texttt{colsenum*} environment (same syntax than \texttt{colsenum}).
-% Here what we get in that case, with the same exercise.
+% Here what we get in that case, with the same exercise:
%
% \exercise
% \psframe(-0.25,1.3)(12.75,-2.65)
@@ -509,18 +525,21 @@
% \item $\ds k(x) = \sum_{i=1}^{\infty}\frac{1}{x^i}$,
% \item $\ds l(x) = \int_{\frac{1}{x}}^{x}\frac{1}{\ln t}\, \mathrm{d}t$.
% \end{colsenum*}
+%
+% \medskip
% We can see that these alignments are less good than those
-% obtained by numbering of items by line. The numbering of items by columns
+% obtained by row numbering. The column numbering
% may nevertheless be preferable when there are many items with variable heights,
% and a number of items which can be different from one column to the other.
% Moreover, an advantage of \texttt{colsenum} is that the choice of labels
% is automatic depending on the list level (and the language),
% unlike \texttt{tablenum1} or \texttt{tablenuma}.
%
+% \bigskip
% \DescribeEnv{colsitem}
% \DescribeEnv{colsitem*}
% For \texttt{itemize} lists, the environment \texttt{colsitem}
-% produces items aligned by columns rather than by lines as for
+% produces items aligned by column rather than by lines as for
% \texttt{tablitem}:
% |\begin{colsitem}|\oarg{opt}\marg{cols}. The optional parameter,
% which is passed to the underlying \texttt{itemize} environment,
@@ -530,18 +549,20 @@
%
% \section{Questions and solutions}
%
-% \subsection{The \texttt{questions} and \texttt{answers} environments}
+% \subsection{Environments \texttt{questions} and \texttt{answers}}
+% \label{output}
+%
% \DescribeEnv{questions} \DescribeEnv{answers}
% The package provides the two environments \texttt{questions} and \texttt{answers}
-% to make appear or disappear questions and answers of exercises.
-% Display is controlled by two booleans: \texttt{questions} and \texttt{answers}.
-% Their default value is \texttt{true}.
+% to make optionally appear or disappear questions and answers of exercises.
%
-% \DescribeMacro{\questionsonly} \DescribeMacro{\answersonly}
-% The |\questionsonly| command allows to display the questions without the answers
-% and |\answersonly| displays the solutions without the questions\footnote{Of course
-% we can also assign the booleans \texttt{questions} and \texttt{answers}
-% directly with the \LaTeX\ command \texttt{\bs setboolean}.}.
+% \bigskip
+% \DescribeMacro{[output=\meta{opt}]}
+% The output is controlled by the \texttt{output} key option: it takes three
+% recognized values: \texttt{questions}, \texttt{answers}, \texttt{both}.
+% The \texttt{questions} value allows to display questions without answers,
+% \texttt{answers} displays answers without questions,
+% \texttt{both} (the default option) displays both.
%
% \bigskip
% \DescribeMacro{\correctionstyle} \DescribeMacro{correctioncolor}
@@ -549,24 +570,24 @@
% In the case (by default) where questions and answers are displayed both,
% answers are then typeset in the style
% |\correctionstyle|, which uses the color \texttt{correctioncolor}.
-% This color may be chosen with the |\definecolor| macro
+% This color may be changed with the |\definecolor| macro
+% \footnote{from the \textsf{xcolor} package by Uwe Kern
+% which is loaded by \textsf{exesheet}.}
% (by default |\definecolor{correctioncolor}{rgb}{0,0.2,0.6}| = kind of dark blue).
-% Moreover, in that case,
+% Moreover, with \texttt{output=both}
% the title \textbf{\correctionname} is displayed at the beginning
-% of the \texttt{answers} environment.
+% of \texttt{answers} environments.
% It is defined by the |\correctionname| macro (with translation in a few languages
-% and that we can change:\footnote{Except for English, if you want to change package
-% keywords you have to do it \emph{after} \texttt{\bs begin\{document\}}
-% because \textsf{babel} will modify these definitions at the end of the preamble.}
-% for example we may prefer \emph{Solution}
-% than \emph{\correctionname}).
+% and that can changed:
+% for example you may prefer ``Solution''
+% than ``\correctionname'').
% The style defined by |\correctionstyle| will apply to the title
-% but also to the whole environment.
+% as for the whole environment.
% Here an example.
%
% \vspace{-\baselineskip}
-% \noindent\psframe(-0.25,-0.25)(12.75,-6.6)
-% \exercise[\points{3}] \label{points}
+% \noindent\psframe(-0.25,-0.25)(12.75,-6.7)
+% \exercise
% \begin{questions}
% \begin{enumerate}
% \item Is the \textsf{exesheet} package useful ?
@@ -575,7 +596,7 @@
% \end{questions}
% \begin{answers}
% \begin{enumerate}
-% \item Yes, the \textsf{exesheet} package is very useful.
+% \item Yes, the \textsf{exesheet} package is useful for teachers.
% \item There are many other packages that deal with exercises, and
% give the ability to produce separately questions and solutions, for example
% \textsf{exercise} by Paul Pichaureau, \textsf{exercises} by Roger Jud,
@@ -587,14 +608,11 @@
% \end{enumerate}
% \end{answers}
%
-% \DescribeMacro{\points}
-% When only answers are displayed, the text color remains black,
-% the word \emph{\correctionname} is not displayed and the
-% |\points| macro is patched to suppress the display of points.
-% An extended solution for a variable display of points will be discussed
-% in section \ref{totalpoints} with the |\totalpoints| macro.
+% \medskip
+% When only answers are displayed, the text color remains black and
+% the word ``\correctionname'' is not displayed.
%
-% \subsection{More about \texttt{answers} environment}
+% \subsection{About the title ``\correctionname'' in \texttt{answers} environments}
% Internally, we have used the |\comment| and |\endcomment| macros
% from the \textsf{versions} package by Uwe LĂĽck.
% Other excellent packages allow to manage
@@ -604,135 +622,232 @@
% \textsf{optional} by Donald Arseneau
% and \textsf{codesection} by Matthias Pospiech.
%
-% The \textsf{versions} package used provides furthermore
+% The \textsf{versions} package provides furthermore
% the |\includeversion|\marg{env} and
% |\excludeversion|\marg{env} macros who allow to make appear or disappear
% any environment \meta{env} and these optional environments
-% may be nested\footnote{The \textsf{codesection} package also allows
-% such nesting, including in the preamble,
-% as well as the \textsf{optional} package, but the latter only manages short optional code.}.
+% may be nested
+% \footnote{The \textsf{codesection} package also allows
+% such nesting, including in the preamble, as well as
+% the \textsf{optional} package, but the latter manages only short optional code.}.
%
% However the \texttt{questions} and \texttt{answers} environments
% perform another task, not only making appear or disappear piece of text.
-% Indeed, there is a problem with the title \emph{\correctionname}.
-% In which format to typeset it and at which level to put it in the table of contents
+% In what format should the output yield the title \textbf{\correctionname}
+% and at which level should it be put in the table of contents
% (or in the summary of the pdf file)?
% In fact it depends on which level the environment has been nested.
-% We can make a single \texttt{answers} environment for all the
-% exercises of the sheet or an \texttt{answers} environment
+% We can make a single \texttt{answers} environment for the whole
+% sheet or an \texttt{answers} environment
% for each exercise, for each exercise part, for each question or sub-question.
-% In fact, the typeset of the title \emph{\correctionname}
-% and his level in the table of contents will be adjusted automatically.
+% In fact, the typeset of the title \textbf{\correctionname}
+% and his level in the table of contents will be computed by the environment.
%
-% \DescribeEnv{\oarg{level}}
-% Nevertheless, we can imagine twisted situations in which
-% the title level will not be correctly calculated.
-% It is then possible to force the level of the title \emph{\correctionname}
+% \medskip
+% \DescribeEnv{answers\oarg{level}}
+% Nevertheless, one can imagine twisted situations in which
+% the title level will not be correct.
+% Moreover, the user may want to change the level of the title.
+% It is then possible to force the level of the title ``\correctionname''
% with |\begin{answers}|\oarg{level}.
% The optional \meta{level} parameter is defined as follows:
% 1 for section level titles,
-% 2 for subsections (like \emph{\exercisename}),
-% 3 for sub-subsections (like \emph{\partname}),
+% 2 for subsections (like \textbf{\exercisename}),
+% 3 for sub-subsections (like \textbf{\partname}),
% another number for lower levels
-% (then they will not appear in the table of contents).
+% (that will not appear in the table of contents).
%
-% \bigskip
+% \pagebreak
% \DescribeMacro{answers*}
-% The starred version \texttt{answers*} allows to make the title
+% The starred version \texttt{answers*} makes the title
% \textbf{\correctionname} completely disappear.
%
-% \subsection{The \texttt{\bs question} command}
-% \DescribeMacro{\question}
-% Instead of the \texttt{questions} and \texttt{answers} environments,
-% we can also use the simple |\question|\marg{ques}\marg{ans} macro
+% \subsection{Commands \texttt{\bs question}, \texttt{\bs answer} and \texttt{\bs answerspace}}
+% \label{answerspace}
+% \DescribeMacro{\question}\DescribeMacro{\answer}
+% Instead of \texttt{questions} and \texttt{answers} environments,
+% we can also use simple |\question|\marg{ques} and |\answer|\marg{ans} macros
% in which display of \meta{ques} and \meta{ans} arguments
-% is controlled by the same previous commands |\questionsonly| and |\answersonly|.
-% It can be more readable (in the source code) when questions and answers are short.
-% In the case of displaying both questions and answers,
-% the \emph{\correctionname} title will appear on a new line, in bold,
-% as for levels lower than sub-subsection in the \texttt{answers} environment
-% (and without entries in the table of contents).
-% But this command doesn't work with \texttt{verbatim} inside.
+% are controlled by the same previous key option \texttt{output=\meta{opt}}.
+% It may be more suitable when questions and answers are short, for instance
+% if you want to display the answer after each question item.
+% The title ``\correctionname'' will not appear on the beginning
+% of each answer; answers are typeset with |\correctionstyle|
+% if \texttt{output=both}.
+% But these commands don't work with \texttt{verbatim} text inside,
+% whereas \texttt{questions} and \texttt{answers} environments allow that.
%
-% \section{Marginal notes for marking scheme}
+% \bigskip
+% \DescribeMacro{\answerspace}
+% Some teachers are used to give to their students documents in which questions are typeset
+% but instead of answers you have blank space, so that the paper is intended to be
+% fulfilled by the students.
+% For this purpose, thanks to a suggestion of Maxime Chupin,
+% we provide the macro |\answerspace|\oarg{height},
+% in which the parameter height is a valid length, \eg |\answerspace{3cm}|.
+%
+% \DescribeMacro{[answerspace=\meta{bool}]}
+% This vertical space display is optional and is controlled by the key
+% \texttt{answerspace} which can be \texttt{true} or \texttt{false} (by default).
+% Of course this macro is not intended to be placed inside \texttt{answers}
+% environments, but anywhere else.
+%
+% \section{Marginal notes for marking scheme}
+%
+% The \textsf{exesheet} package allows to display in margins a marking
+% scheme with comments and explanations about answers.
+%
+% \subsection{The \texttt{\bs points} command}\label{points}
+% \DescribeMacro{\points}
+% The |\points|\marg{pts} command displays the number of points awarded for an exercise.
+% It is intended to be entered in the optional argument of the
+% |\exercise| command
+% \footnote{Using this command in the optional argument of
+% \texttt{\bs exercise} is incompatible with
+% the \textsf{memoir} class which redefines section commands.}.
+% For instance
+% |\exercise[\points{5}]| yields:
+% \exercise[\points{5}]
+% \psframe(-0.25,1.3)(12.75,-0.4)
+% Try to read this document to the end without drinking tea and you get five points.
%
-% The \textsf{exesheet} package allows the display of a marking
-% scheme with comments and explanations for answers.
+% \bigskip
+% When only correction is displayed in an exercise, the |\points| macro is patched
+% to suppress the display of points.
+% An extended solution for printing answers with the scale will be presented
+% in section \ref{totalpoints}, including a new |\totalpoints| macro.
%
-% \pagebreak
-% \subsection{The \texttt{\bs pts} command}
+% \bigskip
+% \DescribeMacro{\pointsname} \DescribeMacro{\pointname}
+% The word ``\pointsname'' (or in the singular ``\pointname''
+% if \meta{pts} is inferior to 2), is added and, like before,
+% gets automatic translation in a few languages
+% (and can be changed).
+%
+% \DescribeMacro{\pointsstyle} \DescribeMacro{pointscolor}
+% The style used by the |\points| command may be redefined with |\pointsstyle|.
+% The color is set by |pointscolor| with the |\definecolor| command,
+% and you can change it,
+% \eg: |\definecolor{pointscolor}{named}{blue}|.
+%
+% \subsection{The \texttt{\bs pts} command} \label{pts}
% \DescribeMacro{\pts}
% When exercises are typeset with the |\exe| macro,
% or as a list with the \texttt{exenumerate} environment,
-% the marking scheme is displayed in the margin, on the line where
+% the marking scheme can be displayed in the margin, on the line where
% we put the |\pts|\marg{num} command (in general the first line of the exercise).
% The \meta{num} parameter is the number of points assigned to the exercise.
+% Below what we obtain with with |\exe\pts{3}... \exe\pts{1.5}...|
%
% \vspace{-\baselineskip}
-% \noindent\psframe(-3.5,-0.25)(12.75,-2)
-% \exe \pts{3} The first exercise with marking scheme.
+% \noindent\psframe(-3.0,-0.25)(12.75,-1.95)
+% \exe \pts{3} The first exercise with a marking scheme.
% \exe \pts{1.5} The second one.
%
% \bigskip
% \DescribeMacro{\ptsname} \DescribeMacro{\ptname}
% \DescribeMacro{ptscolor} \DescribeMacro{\ptsstyle}
-% The abbreviation \textsf{\ptsname} (or \textsf{\ptname}
+% The abbreviation ``\ptsname'' (or ``\ptname''
% when the number of points is inferior to 2)
-% is automatically added thanks to the macro |\ptsname| or |\ptname|
-% (translated in a few languages if \textsf{babel} is loaded).
-% The display color of the points is defined by \texttt{ptscolor} which can be changed
+% is automatically added with macros |\ptsname| or |\ptname|
+% (translated in a few languages if \textsf{babel} ore \textsf{polyglossia} are loaded).
+% The display color of the points is defined by \texttt{ptscolor}, which can be changed
% with |\definecolor|: by default |\definecolor{ptscolor}{named}{red}|.
-% The display style is defined by |\ptsstyle|.
-%
-% \DescribeMacro{\displaypts}
-% The display of the marking scheme, as above, is internally controlled by the
-% \texttt{marginpts} boolean.
-% The |\displaypts| command, which has to be placed in the preamble,
-% defines \texttt{marginpts} to \texttt{true},
-% places marginal notes to the left (and not to the right which
-% is the default behavior of \LaTeX)
-% and shifts the text body right to increase the left margin compared
-% with the right one, with a ratio 3:2,
-% as it is in the present document.
-% This ratio is defined by the
-% |geometry| macro from the \textsf{geometry} package (by Hideo Umeki)
-% and is valid for the whole document.
+% The display style is defined by |\ptsstyle|: among other things, it adds parenthesis around.
+%
+% \bigskip
+% \DescribeMacro{[display=\meta{opt}]}
+% The display of the marking scheme is controlled by the
+% option key \texttt{display}.
+% By default |display=none| and the marking scheme will not be displayed.
+% Use |display=pts| to make it appear.
+% More details about this key are given in \ref{margin}.
+%
+% \medskip
+% \DescribeMacro{[marginpos=\meta{opt}]}
+% The side where to place the scale is controlled by the |marginpos| key option
+% whose possible values are (first) \texttt{left} or \texttt{right}.
+% The default is \texttt{left}
+% (although the default behavior of \LaTeX{} is to place marginal notes on the right side).
+% This option has no effect when
+% |display=none|.
+%
+% For a \emph{two side} document, the default behavior is to typeset text in the outer margin
+% which will be enlarged relatively to the inner margin (that contains the binding).
+% The outer margin is on the right hand side for odd pages and on the left hand side
+% for even pages. So the \texttt{marginpos} key option can take those two additional
+% values.
+% When you give a \texttt{left} or \texttt{right} value with a two side document,
+% it will be converted to default value, \texttt{outer}, with a warning message.
+%
+% \medskip
+% \DescribeMacro{twoside mode}
+% For a document is in twoside mode, marginal notes sometimes appear on the wrong
+% side of a page. This is a known bug of \LaTeX\ for which the solution
+% is to call the package \textsf{mparhack} (what is done by \textsf{exesheet}
+% for a twoside mode document) and to \emph{run \LaTeX\ twice}.
+% If necessary you get a warning message to rerun.
%
-% \subsection{The \texttt{\bs totalexe}, \texttt{\bs note}
-% and \texttt{\bs totalpoints} commands}
-% \label{totalpoints}
+% \subsection{Commands \texttt{\bs totalexe}, \texttt{\bs note*} and \texttt{\bs note}}
+%
+% \label{note}
+% To give a more detailed marking scheme, we get
+% the following commands.
+%
+% \medskip
% \DescribeMacro{\totalexe}
+% |\totalexe|\marg{num} displays the total number of points of an exercise,
+% by default inside an oval box, with the word ``\ptsname'' (or ``\ptname'')
+% added and in bold red.
+% In the next example, the exercise title has been obtained with |\exercise[\totalexe{4}]|.
+%
+% \medskip
+% \DescribeMacro{\note*}
+% For each answer or solution in the correct version, the command
+% |\note*|\marg{num} states the number of points of that question.
+% The appearance is somewhat different from the one obtained with |\pts|:
+% by default the number is displayed without being followed by ``\ptsname'' or ``\ptname'',
+% without parenthesis, and in bold.
+% In the answer 3 of the next example, just after |\item|, we used: |\note*{1.5}|.
+%
+% \medskip
% \DescribeMacro{\note}
-% To give a more detailed marking scheme, the \textsf{exesheet} package
-% provides some extended commands:
-% |\totalexe|\marg{num} to display the total number of points of an exercise
-% and especially |\note|\oarg{pts}\marg{comment},
-% to indicate some marking detail in answers.
-% The optional parameter \meta{pts} is the number of points of the question
-% and the mandatory parameter \meta{comment} is used to give details about the marking scheme.
-% Below the title has been obtained with |\exercise[\totalexe{4}]|
-% and the first comment (on next page) with \\
-% |\note[1]{0,5 for the anti-derivative\\0,5 for simplification of $\ln$}|.
+% The |\note|\marg{comment} macro is used to give details about the marking scheme
+% and to indicate how points are awarded.
+% In a comment argument you can use |\\| to get a line break,
+% or even |\\[|\meta{height}|]| to increase the line break from \meta{height}.
+%
+% \DescribeMacro{\note\oarg{num}}
+% It is often convenient to put |\note*|\marg{num}|\note|\marg{comment}
+% at the beginning of an answer. In that case \LaTeX\ will place the margin
+% notes one under the other and will protest with:
+% \texttt{LaTeX Warning: Marginpar on page \ldots\@ moved.} \\
+% This is not a real problem because generally \LaTeX\ is able to
+% manage the placement of these
+% marginal notes, one below the other. Nevertheless, one can avoid unnecessary protests by
+% compacting both commands in a single one and typing the number of points
+% as an optional argument of note:
+% |\note|\oarg{num}\marg{comment}.
+%
+% The first comment on the following example is obtained (just after |\item|) with\\
+% |\note[1]{0.5 for the anti-derivative\\0.5 for simplifying}|.
%
% \exercise[\totalexe{4}] \label{totalexe}
% \begin{questions}
-% \psframe(-3.5,1.3)(12.75,-3.1)
+% \psframe(-3.5,1.3)(12.75,-14)
% For each following question, say if the assertion is true or false.
% Justify the answer carefully.
% \begin{tablenum1}
% \item $\ds \int_{0}^{\sqrt{3}}\frac{1}{x+\sqrt{3}} \,\mathrm{d}x = \ln 2$,
% \item $\ds \int_{2}^{\mathrm{e}} \frac{1}{x\ln x} \,\mathrm{d}x = -\ln 2$,
% \item* The function $F$ defined on $\mathbf{R}$ by
-% $F(x) = \ds \int_{0}^{x}\frac{1}{,t^2+t+1}\,\mathrm{d} t$ is increasing on $\mathbf{R}$.
+% $F(x) = \ds \int_{0}^{x}\frac{1}{t^2+t+1}\,\mathrm{d} t$ is increasing on $\mathbf{R}$.
% \end{tablenum1}
% \end{questions}
%
-% \pagebreak
% \begin{answers}
-% \vspace{-\baselineskip}
-% \noindent\psframe(-4.7,0.9)(12.75,-10.25)
% \begin{enumerate}
-% \item \note[1]{0,5 for the anti-derivative\\0,5 for simplification of $\ln$}
+% \item \note[1]{0.5 for the anti-derivative\\0.5 for simplifying}
% We calculate:
% \[ \int_{0}^{\sqrt{3}}\frac{1}{x+\sqrt{3}}\,\mathrm{d}x
% = \bigg[ \ln\left(x+\sqrt{3}\right) \bigg]_0^{\sqrt{3}}
@@ -742,9 +857,9 @@
% \]
% \textbf{TRUE}.
%
-% \item \note[1.5]{1 for the anti-derivative \\0.5 for the integral value \\[2ex]
-% we could also see that $\frac{1}{x \ln x} >0$ on $[2, \mathrm{e}]$
-% while $-\ln2<0$
+% \item \note[1.5]{1 for the anti-derivative \\0.5 for final value \\[2ex]
+% other method: $\frac{1}{x \ln x} >0$ on $[2, \mathrm{e}]$
+% whereas $-\ln2<0$
% }
% We have $\ds\frac{1}{x \ln x}= \frac{\frac{1}{x}}{\ln x}= \frac{u'(x)}{u(x)}$
% with $u(x)=\ln x$, which is positive on $[2, \mathrm{e}]$. Hence
@@ -768,96 +883,260 @@
% \end{enumerate}
% \end{answers}
% In the comment of answer 2, a wider vertical space is produced at line break
-% with the optional argument |\\[2ex]|\footnote{When a marginal note at the end of a page,
-% is followed by another one at the top of the next page,
-% the latter is shifted down.
-% We can raise this note, by adding at the line break
-% a negative vertical space : \texttt{\bs note*\{\bs\bs[-5ex] 2\}}.}.
+% with the optional argument |\\[2ex]|.
% The last comment, not placed beside the number of points of answer 3,
% has been produced by placing on the first line after the formula:
% |\note{0.5 for $F'$\\1 for the sign of $F'$ and conclusion}|.
%
-% \DescribeMacro{\note*}
-% If we don't want to add comment, we have the
-% |\note*|\marg{pts} command (better than |\note|\oarg{pts}|{}|),
-% used here in answer 3: |\note*{1.5}|.
-%
+% \medskip
% \DescribeMacro{markingcolor} \DescribeMacro{\markingstyle} \DescribeMacro{\ptsboxlength}
-% The display color of the points, in |\totalexe| and |\note|,
+% The points display color, in |\totalexe| and |\note*|,
% is defined by \texttt{markingcolor}
% and the style by |\markingstyle|, which are modifiable.
% The oval box produced by |\totalexe| is obtained with the |\ovalbox| command
-% of the \textsf{fancybox} package by Timothy Van Zandt,
+% of the \textsf{fancybox} package (by Timothy Van Zandt),
% with corner arcs set by |\cornersize{1}|.
-% The box length is not adjusted to content but depends of the value
-% of |\ptsboxlength| in order to keep a uniform appearance
+% The length of the box is not adjusted to content but depends on the value
+% of |\ptsboxlength| in order to keep uniform appearance
% from one exercise to the other.
%
-% \DescribeMacro{notecolor} \DescribeMacro{\notestyle} \DescribeMacro{\noteragged}
+% \medskip
+% \DescribeMacro{notecolor} \DescribeMacro{\notestyle}
% Comment notes are typeset by default in a dark green color
% defined by |\definecolor{notecolor}{rgb}{0.0,0.4,0.0}|.
-% The style of the comment is set by the |\notestyle| macro and itself uses the
-% |\noteragged| macro. The latter is set by default as |\raggedleft|
-% to obtain a \emph{right} alignment (what is customary for notes
-% in the left margin).
+% The style of the comment is set by the |\notestyle| macro.
+%
+% \subsection{Margin notes options} \label{margin}
+%
+% \DescribeMacro{[display=\meta{opt}]}
+% The \texttt{display} key option controls how the marking scheme
+% will be displayed: as seen previously (subsection \ref{pts}),
+% \texttt{display=none} displays nothing. With \texttt{display=pts}
+% the numbers passed as argument to |\pts|, |\totalexe|, |\note*|
+% or as optional argument of |\note|\oarg{num}\texttt{\{...\}} will be displayed.
+% The last possible value is \texttt{display=notes} which displays the full marginal
+% notes with points and comments (the mandatory argument of |\note|)
+% as seen in the previous example.
+%
+% \medskip
+% \DescribeMacro{[marginpos=\meta{opt}]}
+% As seen previously in subsection \ref{pts}, the side where to place the scale is controlled
+% by the \texttt{marginpos} key option
+% whose possible values are \texttt{left} and \texttt{right}
+% (or \texttt{inner} and \texttt{outer} if the document is in two side mode).
+%
+% \medskip
+% \DescribeMacro{[marginwidth=\meta{opt}]}
+% The key option \texttt{marginwidth} controls margins layout.
+% The possible values are
+% \texttt{standard}, \texttt{expand} or \texttt{unset}.
+%
+% This option has no effect when \texttt{display=none}.
+% In that case, left and right margins have same width,
+% except for a two side mode document for which the ratio between left and right
+% margin is 2:3.
+% Otherwise the key \texttt{marginwidth} acts as follow:
+% \begin{description}
+% \item[\texttt{standard}]
+% The left margin is enlarged and the
+% right one is reduced, with a ratio of 3:2 (or 2:3 if \texttt{marginpos=left}).
+% The text body is shifted without altering the text width.
+% The margin paragraph width remains relatively short; it depends also on page geometry.
+% This option is not suitable for verbose comments.
%
-% \DescribeMacro{\displaypoints}
-% Display of points and comments is optional. It is internally controlled by the booleans
-% \texttt{marginpoints} and \texttt{marginfullnotes}.
-% The |\displaypoints| macro, to place in the preamble, sets \texttt{marginpoints}
-% to \texttt{true}, chooses the left margin for display marginal notes
-% and sets the ratio between left and right margins to 3:2\footnote{So
-% that the effect on the margin ratio is correct, the
-% \texttt{\bs displaypoints} macro must be placed after other commands
-% that could alter the page geometry, for example the \texttt{\bs pagestyle}
-% of the \textsf{schooldocs} package.}.
-% Points will then be displayed without the comments.
+% \item[\texttt{expand}] It is the default value.
+% The behavior is the same than with the
+% \texttt{standard} value if \texttt{display=pts}, but if \texttt{display=notes}
+% the margin is expanded with a ratio of 3:1 (or 1:3) and margin paragraph width
+% is increased.
+%
+% \item[\texttt{unset}] The previous settings may not suit to anyone,
+% so you have this other option.
+% In that case, no setting will be proceeded on the margin width and you
+% can make your own setting. For that, you have the convenient macro |\geometry|
+% from the \textsf{geometry} package (by Hideo Umeki).
+% For example you can put in the preamble
+% \centeredline{|\geometry{hmarginratio=2:1,marginparwidth=2.5cm}|.}
+%
+% If \texttt{marginpos=right}, you must invert the ratio, \eg 1:2 instead of 2:1.
+% If \texttt{marginwidth} is not set to \texttt{unset},
+% such a command will have no effect.
+% \end{description}
+
+% The margin settings are valid
+% for the whole document and must be set in the preamble.
+%
+% \medskip
+% \DescribeMacro{[noteragged=\meta{opt}]}
+% For the mandatory argument of |\note|, text alignment in margins
+% is controlled by the package option \texttt{noteragged},
+% which can take the following values:
+% \texttt{left}, \texttt{right}, \texttt{center}, \texttt{justify} or \texttt{twoside}.
+% The default value is \texttt{noteragged=left}. It means that the text
+% is right aligned, which is a common behavior for text in the left margin;
+% \texttt{noteragged=right} yields a left aligned text;
+% \texttt{justify} means that the text is justified, which is the default setting
+% of \LaTeX\ marginal notes.
+% Finally \texttt{noteragged=twoside} is equivalent to \texttt{noteragged=left} for odd pages
+% and \texttt{noteragged=right} for even pages, if the document is in two side mode.
+% It has no effect otherwise (the default value \texttt{noteragged=left} will be taken
+% and a warning message appears in the shell).
+%
+% When \texttt{display} is not set to \texttt{notes}, the \texttt{noteragged} option
+% has no effect because it concerns only text put in mandatory argument of |\note|.
%
-% \DescribeMacro{\displaynotes}
-% The |\displaynotes|\oarg{align} macro, to be placed also in the preamble,
-% defines both booleans to \texttt{true} and allows then the complete display
-% of points and comments.
-% The ratio between left/right margins is then set to 5/1\footnote{The
-% present document kept a ratio of 3/2 because
-% the \textsf{ltxdoc} class, used here, leaves large enough margins
-% and previous examples are not concerned with display of comments.}.
-% The optional parameter \meta{align} is used to define alignment:
-% |\raggedleft| by default, but we could use |\centering| or
-% |\raggedright| (not recommended in left margin).
-%
-% \DescribeMacro{\displaynotesright}
-% The |\displaynotesright|\oarg{align} macro displays a detailed marking scheme
-% with comments in the right margin, with the same type of settings
-% as |\displaynotes| but an optional parameter \meta{align} set by default
-% to |\raggedleft|.
+% \subsection{The \texttt{\bs totalpoints} command} \label{totalpoints}
%
-% \bigskip
% \DescribeMacro{\totalpoints}
% The |\totalpoints|\marg{num} macro is intended
% to replace |\points| when using a detailed marking scheme.
-% When the scale is not displayed (\texttt{marginpoints} boolean to \texttt{false}),
-% it uses |\points| and when the scale is displayed,
-% it uses |\totalexe|.
+% When the scale is not displayed,
+% it is equivalent to |\points| and when the scale is displayed,
+% it is equivalent to |\totalexe|.
% For example, in the exercise \ref{totalexe}, we should use
% |\totalpoints| rather than |\totalexe|,
% because, when the detailed marking scheme is not displayed, the total points will be typeset
% as in the exercise \ref{points} rather than in the margin.
%
+% \subsection{Marking scheme consistency checking}\label{scale}
+%
+% \DescribeMacro{[checkpts=\meta{bool}]}
+% The marking scheme can be checked
+% \footnote{Thanks to Denis Bitouzé for his suggestion about this feature.}
+% with the keyval option \texttt{[checkpts=true]},
+% the default value is \texttt{false}.
+%
+% \medskip
+% For each exercise, the sum of points awarded for each question (with |\pts|, |\note*|
+% or |\note[ ]| is compared to the total of the exercise given in
+% |\points|, |\totalexe| or |totalpoints|.
+% A warning message appear in the shell to indicate if the scale is valid or not
+% for the exercise. For example:
+% \begin{center}
+% \texttt{Package exesheet warning: Exercise 3: sum of points is 4.5pt instead of 5pt.}
+% \end{center}
+% Depending on your language, you can use comma notation numbers (4,5 as well as 4.5).
+% The checking takes place at the beginning of the next exercise. If no points are specified
+% for the questions, no warning message will be displayed at this level.
+%
+% \medskip
+% \DescribeMacro{\totalsheet}
+% At the end of the sheet, the last exercise is checked, then a global checking
+% is made on the whole sheet. For that, the total points of the sheet must be specified
+% in the preamble with the |\totalsheet|\marg{total} macro
+% (else you get a warning message).
+% If subtotal points have been awarded for exercises, the global comparison
+% is between the sum of these subtotals and the total of points recorded
+% with the |\totalsheet| macro.
+% If not, the audit covers the sum of points awarded for each individual question.
+% A warning message indicates the result of this last checking.
+% Finally a last message indicate if all the scale controls have been successfully
+% passed or not.
+%
+% \section{Options} \label{options}
+%
+% \subsection{Summary of available options}
+%
+% Here we present a summary table of available options. Explanations of use
+% are given in the corresponding sections.
+% The default value is typeset in bold.
+%
+% \begin{center} \ttfamily
+% \setlength{\extrarowheight}{1pt}
+% \begin{tabular}{llc}
+% \hline
+% \textsf{Key} & \textsf{Possible values} & \textsf{See section} \\
+% \hline
+% exetoc & \textbf{true}, false & \ref{toc} \\
+% setlist & \textbf{true}, false & \ref{setlist} \\
+% output & questions, answers, \textbf{both} & \ref{output} \\
+% answerspace & true, \textbf{false} & \ref{answerspace}\\
+% display & \textbf{none}, pts, notes & \ref{pts}, \ref{margin} \\
+% marginpos & \textbf{left} (inner), right (\textbf{outer}) & \ref{pts}, \ref{margin} \\
+% marginwidth & standard, \textbf{expand}, unset & \ref{margin} \\
+% noteragged & \textbf{left}, right, center, justify, twoside & \ref{margin} \\
+% checkpts & true, \textbf{false} & \ref{scale} \\
+% correct & true, \textbf{false}, conditional & \hyperlink{correct}{see below} \\
+% \hline
+% \end{tabular}
+% \end{center}
+%
+% When an invalid key is passed, an error is produced, but
+% when a value is not recognized, a warning message occur:\\
+% \texttt{Value `\meta{value}'\ is not supported by option `\meta{key}'\
+% on input line \ldots} \\
+% For each option, you can set them with class or package calling: \eg \\
+% |\usepackage[output=answers,display=notes,noteragged=right]{exesheet}|
+%
+% \bigskip
+% \DescribeMacro{\exesheetset}
+% You can also use the |\exesheetset|\{list of \meta{key}=\meta{value} options\}
+% command.
+% Nevertheless, only the options \texttt{output}, \texttt{answerspace}, \texttt{display},
+% and \texttt{noteragged},
+% can be changed dynamically, even in the document body, although this is not really expected.
+% The others are usable in the preamble only.
+% Dynamic options are processed at each call, the others will be processed once,
+% at begin document.
+% \hypertarget{correct}{}
+%
+% \bigskip
+% \DescribeMacro{[correct=\meta{opt}]}
+% A special option, \texttt{correct}, can be used only when calling the \textsf{exesheet}
+% class or in combination with the \textsf{schooldocs} package.
+% Its effect is to add ``\correctname'' (or its translation)
+% in the document title and headers.
+% Possible values are: \texttt{true}, \texttt{false} (by default) or \texttt{conditional}.
+% The value \texttt{correct=conditional}, means \texttt{true} if answers are displayed,
+% \texttt{false} otherwise.
+%
+% \subsection{Alternative (deprecated) commands}
+%
+% Previously to version 2.0, we used some special commands to set output and display options.
+% Thanks to a suggestion of Maxime Chupin, keyval options have been implemented
+% in the package.
+% Although the latter is more convenient,
+% the old commands will be presented here
+% and maintained for now, for compatibility reasons.
+% When using them, a warning message will appear, but these commands still work.
+% However previous options \texttt{nosetlist} and \texttt{notoc}
+% are no longer supported.
+%
+% \bigskip
+% \DescribeMacro{\questionsonly} \DescribeMacro{\answersonly}
+% These two commands are equivalent to respectively \texttt{output=questions}
+% and \texttt{output=answers}.
+%
+% \medskip
+% \DescribeMacro{\displaypts} \DescribeMacro{\displaypoints}
+% These two commands are now equivalent to \texttt{display=pts}.
%
+% \medskip
+% \DescribeMacro{\displaynotes}\DescribeMacro{\displaynotesright}
+% These two commands mean \texttt{display=notes}
+% and moreover \texttt{marginpos=right} for the latter.
%
% \StopEventually{}
%
% \section{Implementation}
%
-% \subsection{Class and package basic instructions}
+% \subsection{Options and required packages}
% The \texttt{exesheet} class is based on the \texttt{article} class
-% and gives it all its options, except explicit options
-% \texttt{notoc} and \texttt{nosetlist}.
-%
+% and passes to it all its unknown options.
+% |\ProcessKeyvalOptions*| is useless in class, will be done by the package.
% \begin{macrocode}
%<*class>
-\DeclareOption{notoc}{\PassOptionsToPackage{notoc}{exesheet}}
-\DeclareOption{nosetlist}{\PassOptionsToPackage{nosetlist}{exesheet}}
+\RequirePackage{kvoptions}
+\DeclareBoolOption[true]{exetoc}
+\DeclareBoolOption[true]{setlist}
+\DeclareStringOption[both]{output}
+\DeclareStringOption[none]{display}
+\DeclareBoolOption[false]{answerspace}
+\DeclareStringOption[left]{marginpos}
+\DeclareStringOption[expand]{marginwidth}
+\DeclareStringOption[left]{noteragged}
+\DeclareBoolOption[false]{checkpts}
+\DeclareStringOption[false]{correct}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions \relax
\LoadClass{article}
@@ -866,40 +1145,100 @@
%</class>
% \end{macrocode}
%
-% Then we define initialization instructions of the \textsf{exesheet} package.
-%
-% \medskip
-% The \texttt{shortlabel} option in the \textsf{enumitem} package allows to use labels like in
-% the \textsf{enumerate} package e.g. 1., a), A. etc.
-%
+% Then options are defined thanks to \textsf{kvoptions} package (based on \textsf{keyval}).
+% String options are processed in separate macros
+% defined in the corresponding sections of each.
+% These process macros will be executed when package is loaded
+% (at end of package because |\exs@process...| aren't recognized at the beginning),
+% or at begin document for options whose
+% effect cannot be changed dynamically
+% and must be set in the preamble
+% (they will be processed once).
+%
+% A special case is \texttt{setlist} when used with \textsf{babel-french}.
+% It will then be processed immediately and disabled (see below for explanations).
+%
% \begin{macrocode}
%<*package>
+\@ifclassloaded{exesheet}{}{
+ \RequirePackage{kvoptions}
+ \DeclareBoolOption[true]{exetoc}
+ \DeclareBoolOption[true]{setlist}
+ \DeclareStringOption[both]{output}
+ \DeclareStringOption[none]{display}
+ \DeclareBoolOption[false]{answerspace}
+ \DeclareStringOption[left]{marginpos}
+ \DeclareStringOption[expand]{marginwidth}
+ \DeclareStringOption[left]{noteragged}
+ \DeclareBoolOption[false]{checkpts}
+ \DeclareStringOption[false]{correct}
+}
+
+\ProcessKeyvalOptions*
+
+\def\exs@process@dynoptions{
+ \exs@process@output
+ \exs@process@display
+ \exs@process@noteragged
+}
+
+\AtEndOfPackage{\exs@process@dynoptions}
+\AtBeginDocument{
+ \newif\ifexesheet@multicol
+ \@ifpackageloaded{multicol}{
+ \exesheet@multicoltrue}{\exesheet@multicolfalse}
+ % to set the rule to the right color in answers environments
+ \exs@process@setlist
+ \exs@process@marginpos
+ \exs@process@marginwidth
+ \exs@process@checkpts
+ \exs@process@correct
+ \DisableKeyvalOption[action=warning,package=exesheet]{exesheet}{setlist}
+ \DisableKeyvalOption[action=warning,package=exesheet]{exesheet}{marginpos}
+ \DisableKeyvalOption[action=warning,package=exesheet]{exesheet}{marginwidth}
+ \DisableKeyvalOption[action=warning,package=exesheet]{exesheet}{checkpts}
+ \DisableKeyvalOption[action=warning,package=exesheet]{exesheet}{correct}
+}
+
+% \end{macrocode}
+% \begin{macro}{\exesheetset}
+% The macro |\exesheetset| can receive keyval options.
+% It can be used anywhere in the document to modify some settings,
+% but has no effect on non dynamic options if called outside the preamble;
+% thanks to |\DisableKeyValOption| a warning message occur in that case.
+% \begin{macrocode}
+\def\exesheetset#1{\setkeys{exesheet}{#1}\exs@process@dynoptions}
+
+% \end{macrocode}
+% \end{macro}
+% Now we load several packages.
+% The \texttt{shortlabel} option in the \textsf{enumitem} package allows to use labels like in
+% the \textsf{enumerate} package \eg 1., a), A. etc.
+% The \textsf{mparhack} package (by Tom Sgouros and Stefan Ulrich)
+% is loaded only for two side mode documents.
+% \begin{macrocode}
\RequirePackage{ifthen}
-\newboolean{notoc}
-\newboolean{nosetlist}
-\DeclareOption{notoc}{\setboolean{notoc}{true}}
-\DeclareOption{nosetlist}{\setboolean{nosetlist}{true}}
-\ProcessOptions \relax
+\RequirePackage{geometry}
\RequirePackage{xcolor}
\RequirePackage[shortlabels]{enumitem}
\RequirePackage{tasks}
\RequirePackage{versions}
-%\@ifpackageloaded{doc}{}{\RequirePackage{verbatim}}
-\RequirePackage{geometry}
\RequirePackage{fancybox}
\RequirePackage{translations}
+\RequirePackage{ragged2e}
+\ifthenelse{\boolean{@twoside}}{\RequirePackage{mparhack}}{}
% \end{macrocode}
%
% \subsection{Internationalization}
-% Here we define the keywords and their translation in French, German, Spanish
+% Here we define keywords and their translation in French, German, Spanish
% Italian, Portuguese, thanks to macros of the \textsf{translations} package
% by Clemens Niederberger. It detects the used language
% loaded by \textsf{babel} or \textsf{polyglossia}.
%
% Accented characters cannot be used here because they are not recognized
% if \textsf{inputenc} is loaded after \textsf{exesheet}.
-% So we have used the basic \LaTeX\ commands to produce them.
+% So we have used basic \LaTeX\ control sequences to produce them.
%
% \begin{macrocode}
\DeclareTranslationFallback{exesheet-exercise}{Exercise}
@@ -939,8 +1278,8 @@
\DeclareTranslation{German}{exesheet-points}{Punkte}
\DeclareTranslation{German}{exesheet-point}{Punkt}
\DeclareTranslation{German}{exesheet-correction}{Verbesserung}
-\DeclareTranslation{German}{exesheet-pts}{Pkte}
-\DeclareTranslation{German}{exesheet-pt}{Pkt}
+\DeclareTranslation{German}{exesheet-pts}{P.}
+\DeclareTranslation{German}{exesheet-pt}{P.}
\DeclareTranslation{Spanish}{exesheet-exercise}{Ejercicio}
\DeclareTranslation{Spanish}{exesheet-subpart}{Parte}
@@ -984,61 +1323,51 @@
% \end{macrocode}
%
-% \subsection{Colors}
-% The color \texttt{pointscolor} is used by the macro |\points|
-% and \texttt{markingcolor} by the macros |\totalexe|, |\note*|
-% and also for the optional argument of |\note|;
-% \texttt{notecolor} is used by the mandatory argument of |\note|.
-%
-% \begin{macrocode}
-\definecolor{pointscolor}{named}{red}
-\definecolor{ptscolor}{named}{red}
-\definecolor{markingcolor}{named}{red}
-\definecolor{notecolor}{rgb}{0.0, 0.4, 0.0} % kind of dark green
-\definecolor{correctioncolor}{rgb}{0,0.2,0.6} % kind of dark blue
-
-% \end{macrocode}
-%
-% \medskip
% \subsection{Titles}
+%
% The \texttt{exercise} counter numbers exercises for the whole document
% regardless of any section.
% To reset the counter at some point, just write |\setcounter{exercise}{0}|
-% and if we want an automatic reset at each section,
+% and for an automatic reset at each section,
% add in the preamble \\
% |\makeatletter \@addtoreset{exercise}{section} \makeatother|.
%
% The parts counter depends on \texttt{exercise} and is reset
% at each new exercise.
%
-% The |\labelexercisestyle| and |\labelsubpartstyle| commands
-% are empty, but allow to customize the style, for instance:\\
+% Commands |\labelexercisestyle| and |\labelsubpartstyle|
+% are empty, but allow to personalize the style, for instance:\\
% |\renewcommand\labelexercisestyle{\sffamily}|.
%
-% By default, the table of contents displays the titles of exercises and parts.
-% The \texttt{notoc} boolean is used to modify this behavior.
-% If we want to display only exercise titles but not parts,
-% we can place in the preamble |\setcounter{tocdepth}{2}|.
+% The |\exe@check| macro checks the marking scheme, it will be defined
+% in section \ref{MSoptions}.
+% By default, the table of contents displays the titles of exercises and parts,
+% |\ifexesheet@exetoc| is \texttt{true}.
+% To display in it only exercise titles but not parts,
+% place in the preamble |\setcounter{tocdepth}{2}|.
%
% \begin{macro}{\exercise}
% \begin{macrocode}
\newcounter{exercise}
-\newcommand{\labelexercise}{\exercisename~\theexercise}
+\newcommand{\labelexercise}{\exercisename\space \theexercise}
\newcommand{\labelexercisestyle}{}
-\newcommand*{\@exercise}[1][]{%
+\newcommand*{\@exercise}[1][]{%
+ \ifexesheet@checkpts \exe@check{\labelexercise} \fi
+ % curiously the \execheck must be done before \refstepcounter !
\refstepcounter{exercise}
- \subsection*{\labelexercisestyle\labelexercise\ #1}
- \ifthenelse{\boolean{notoc}}{}{
+ \subsection*{\labelexercisestyle\labelexercise\enskip #1}
+ \ifexesheet@exetoc
\addcontentsline{toc}{subsection}{\labelexercise}
- }
+ \fi
}
\newcommand*{\@@exercise}[2][]{%
- \subsection*{\labelexercisestyle #2 #1}
+ \ifexesheet@checkpts \exe@check{#2} \fi
+ \subsection*{\labelexercisestyle #2\enskip #1}
\setcounter{subpart}{0} % resets the parts counter
- \ifthenelse{\boolean{notoc}}{}{
+ \ifexesheet@exetoc
\addcontentsline{toc}{subsection}{#2}
- }
+ \fi
}
\newcommand{\exercise}{\@ifstar{\@@exercise}{\@exercise}}
@@ -1052,17 +1381,17 @@
\newcommand{\labelsubpart}{\subpartname~\thesubpart}
\newcommand{\labelsubpartstyle}{}
\newcommand*{\@subpart}[1][]{%
- \refstepcounter{subpart}%
- \subsubsection*{\labelsubpartstyle\labelsubpart\ #1}
- \ifthenelse{\boolean{notoc}}{}{
+ \refstepcounter{subpart}%
+ \subsubsection*{\labelsubpartstyle\labelsubpart\enskip #1}
+ \ifexesheet@exetoc
\addcontentsline{toc}{subsubsection}{\labelsubpart}
- }
+ \fi
}
\newcommand*{\@@subpart}[2][]{%
- \subsubsection*{\labelsubpartstyle #2 #1}
- \ifthenelse{\boolean{notoc}}{}{
+ \subsubsection*{\labelsubpartstyle #2\enskip #1}
+ \ifexesheet@exetoc
\addcontentsline{toc}{subsubsection}{#2}
- }
+ \fi
}
\newcommand{\subpart}{\@ifstar{\@@subpart}{\@subpart}}
@@ -1073,9 +1402,9 @@
\newcommand{\annexstyle}{\MakeUppercase}
\newcommand*{\annex}[1][]{%
\subsection*{\mbox{}\hfill\annexstyle{\annexname} #1\hfill\mbox{}}
- \ifthenelse{\boolean{notoc}}{}{
+ \ifexesheet@exetoc
\addcontentsline{toc}{subsection}{\annexname}
- }
+ \fi
}
% \end{macrocode}
@@ -1092,58 +1421,13 @@
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\points (ini)}
-% \begin{macrocode}
-\newcommand{\pointsstyle}{%
- \small\mdseries\sffamily\color{pointscolor}\fbox}
-\newcommand*{\points}[1]{\hfill
- \pointsstyle{#1~%
- \ifthenelse{\lengthtest{#1 cm < 2cm}}{\pointname}{\pointsname}%
- }
-}
-
-% \end{macrocode}
-% Percent symbols are necessary to avoid spaces between the
-% |\fbox| and its inner text.
-% Note that, without |\lengthtest|, the test |#1 < 2| doesn't work with decimal numbers.
-% % \end{macro}
%
% \subsection{Enumerations and lists}
%
-% When using \textsf{babel} with the \texttt{french} option\footnote{The \texttt{french} option
-% of \textsf{babel} supersedes the \texttt{frenchb} option.},
-% \texttt{itemize} lists are modified with the same dash label for each list level.
-% These modifications are canceled here to restore default
-% \LaTeX\ \texttt{itemize} lists (labels and spaces).
-% As for |\exetranslate|,
-% we have create the |\standardfrenchlists| command who must be called into
-% |AtBeginDocument| or not, depending on whether
-% \textsf{exesheet} is loaded before \textsf{babel} or after.
-%
+% \begin{macro}{\exenumerate}
% The |\setlist| command comes from the \textsf{enumitem} package
-% (|\setenumerate| is deprecated). By default |itemsep=1ex| for lists of first level,
+% (|\setenumerate| is obsolete). By default |itemsep=1ex| for lists of first level,
% and |leftmargin=1.5em| allows to align labels on the start of lines.
-%
-% \begin{macrocode}
-\newcommand\standardfrenchlists{%
- \@ifpackagewith{babel}{frenchb}{
- \frenchbsetup{StandardLists=true}}{}
- \@ifpackagewith{babel}{french}{
- \@ifundefined{frenchsetup}{
- \frenchbsetup{StandardLists=true}}{
- \frenchsetup{StandardLists=True}}
- }{}
-}
-\ifthenelse{\boolean{nosetlist}}{}{
- \AtBeginDocument{% if loaded before babel package
- \standardfrenchlists}
- \standardfrenchlists % necessary when loaded after babel
- \setlist[enumerate]{font=\bfseries}
- \setlist[enumerate,1]{topsep=1.5ex plus 1ex minus 1ex,leftmargin=1.5em}
-}
-
-% \end{macrocode}
-% \begin{macro}{\exenumerate}
% \begin{macrocode}
\newenvironment{exenumerate}[1][]{%
\setlist[enumerate]{font=\bfseries}
@@ -1156,23 +1440,40 @@
% \end{macrocode}
% \end{macro}
+% When using \textsf{babel} with the option \texttt{french},
+% \texttt{itemize} lists are modified with the same dash label for each list level.
+% These modifications are canceled here to restore default
+% \LaTeX\ \texttt{itemize} lists (labels and spaces).
+% We have create the |\standardfrenchlists| command which must be called into
+% |AtBeginDocument| or not, depending on whether
+% \textsf{exesheet} is loaded before \textsf{babel} or after.
+% \begin{macrocode}
+\newcommand\standardfrenchlists{%
+ \@ifpackagewith{babel}{french}{
+ \frenchsetup{StandardLists=true}
+ }{}
+}
+\ifexesheet@setlist
+ \standardfrenchlists % necessary when exesheet is loaded after babel
+ \DisableKeyvalOption[action=warning,package=exesheet]{exesheet}{setlist}
+\fi
+
+\def\exs@process@setlist{% must be executed at begin document
+ \ifexesheet@setlist
+ \standardfrenchlists % if exesheet is loaded before babel package
+ \setlist[enumerate]{font=\bfseries}
+ \setlist[enumerate,1]{topsep=1.5ex plus 1ex minus 1ex,leftmargin=1.5em}
+ \fi
+% \end{macrocode}
+
% \DescribeEnv{tablenum1} \DescribeEnv{tablenuma}
% The |\NewTasks| command comes from the \textsf{tasks} package.
-% It allows to define the environments \texttt{tablenum1}, \texttt{tablenuma}
+% It allows to define environments \texttt{tablenum1}, \texttt{tablenuma}
% and \texttt{tablitem}.
-% The horizontal spaces are adjusted to get a good alignment with
+% Horizontal spaces are adjusted to get good alignments with
% items of other \texttt{enumerate} (or \texttt{itemize}) environments.
-%
% \begin{macrocode}
-\ifthenelse{\boolean{nosetlist}}{
- \NewTasksEnvironment[label=\arabic*.,
- column-sep=1em,
- after-item-skip=0.5ex plus 0.5ex minus 0.5ex]{tablenum1}[\item](2)
- \NewTasksEnvironment[label=(\alph*),
- column-sep=1em,label-align=right,
- item-indent=2.15em,label-width=1.6em,label-offset=0.5em,
- after-item-skip=0.5ex plus 0.5ex minus 0.5ex]{tablenuma}[\item](2)
-}{% by default
+ \ifexesheet@setlist
\NewTasksEnvironment[label=\arabic*.,label-format=\bfseries,
column-sep=1em,label-align=right,
item-indent=1.5em,label-width=1em,label-offset=0.5em,
@@ -1181,8 +1482,16 @@
column-sep=1em,label-align=right,
item-indent=2.15em,label-width=1.6em,label-offset=0.5em,
after-item-skip=0.5ex plus 0.5ex minus 0.5ex]{tablenuma}[\item](2)
-}
-\PackageWarning{exesheet}{Environment tablenum is deprecated and replaced by tablenum1}
+ \else
+ \NewTasksEnvironment[label=\arabic*.,
+ column-sep=1em,
+ after-item-skip=0.5ex plus 0.5ex minus 0.5ex]{tablenum1}[\item](2)
+ \NewTasksEnvironment[label=(\alph*),
+ column-sep=1em,label-align=right,
+ item-indent=2.15em,label-width=1.6em,label-offset=0.5em,
+ after-item-skip=0.5ex plus 0.5ex minus 0.5ex]{tablenuma}[\item](2)
+ \fi
+} % end of macro \exs@process@setlist
% \end{macrocode}
% \DescribeEnv{tablitem}
@@ -1193,46 +1502,52 @@
after-item-skip=0.5ex plus 0.5ex minus 0.5ex]{tablitem}[\item](2)
% \end{macrocode}
-% \DescribeEnv{colsenum} \DescribeEnv{colsenum*}
+% \DescribeEnv{colsenum}
% \begin{macrocode}
\newenvironment{colsenum}[2][]{%
\setlength{\multicolsep}{2ex}
\raggedcolumns % default is \flushcolumns
\begin{multicols}{#2} % #2 = number of columns
- \begin{enumerate}[#1] % #1 = options of enumerate
- }{
- \end{enumerate}
+ \begin{enumerate}[#1] % #1 = options of enumerate
+ }{
+ \end{enumerate}
\end{multicols}
}
+% \end{macrocode}
+% \DescribeEnv{colsenum*}
+% \begin{macrocode}
\newenvironment{colsenum*}[2][]{%
\setlength{\multicolsep}{2ex}
\begin{multicols}{#2} % #2 = number of columns
- \begin{enumerate}[#1] % #1 = options of enumerate
- }{
- \end{enumerate}
+ \begin{enumerate}[#1] % #1 = options of enumerate
+ }{
+ \end{enumerate}
\end{multicols}
}
% \end{macrocode}
-% \DescribeEnv{colsitem} \DescribeEnv{colsitem*}
+% \DescribeEnv{colsitem}
% \begin{macrocode}
\newenvironment{colsitem}[2][]{%
\setlength{\multicolsep}{2ex}
\raggedcolumns
\begin{multicols}{#2}
- \begin{itemize}[#1]
- }{
- \end{itemize}
+ \begin{itemize}[#1]
+ }{
+ \end{itemize}
\end{multicols}
}
+% \end{macrocode}
+% \DescribeEnv{colsitem*}
+% \begin{macrocode}
\newenvironment{colsitem*}[2][]{%
\setlength{\multicolsep}{2ex}
\begin{multicols}{#2}
- \begin{itemize}[#1]
- }{
- \end{itemize}
+ \begin{itemize}[#1]
+ }{
+ \end{itemize}
\end{multicols}
}
@@ -1240,55 +1555,73 @@
%
% \subsection{Questions and answers}
%
-% \DescribeMacro{\questionsonly} \DescribeMacro{\answersonly}
-% The \texttt{questions} and \texttt{answers} booleans
+% \begin{macro}{\exs@process@output}
+% |exesheet@questions| and |exesheet@answers| booleans
% control the display of corresponding environments.
-% When created, a boolean has the \texttt{false} value by default,
-% but we define them to \texttt{true}.
-% The |\questionsonly| and |\answersonly| macros are used as user interface
-% to display only one of the two environments.
+% They are set by the \texttt{output} key option in the
+% |\exs@process@output| macro.
% \begin{macrocode}
-\newboolean{questions}
-\newboolean{answers}
-\setboolean{questions}{true}
-\setboolean{answers}{true}
-\newcommand{\questionsonly}{
- \setboolean{questions}{true}\setboolean{answers}{false}}
-\newcommand{\answersonly}{
- \setboolean{questions}{false}\setboolean{answers}{true}}
+\newboolean{exesheet@questions}\setboolean{exesheet@questions}{true}
+\newboolean{exesheet@answers}\setboolean{exesheet@answers}{true}
+
+\def\exs@process@output{
+ \ifthenelse{\equal{\exesheet@output}{questions}}{
+ \setboolean{exesheet@questions}{true}
+ \setboolean{exesheet@answers}{false}
+ }{% else if
+ \ifthenelse{\equal{\exesheet@output}{answers}}{
+ \setboolean{exesheet@questions}{false}
+ \setboolean{exesheet@answers}{true}
+ }{% else if
+ \ifthenelse{\equal{\exesheet@output}{both}}{
+ \setboolean{exesheet@questions}{true}
+ \setboolean{exesheet@answers}{true}
+ }{% else
+ \PackageWarning{exesheet}{Value `\exesheet@output'
+ is not supported by option `output'}
+ }}}
+}
% \end{macrocode}
+% \end{macro}
%
% \begin{environment}{questions}
-% It is the |\comment| and |\endcomment| macros, provided by the \textsf{versions} package,
+% We use the \textsf{versions} package by Uwe LĂĽck
+% who provides |\comment| and |\endcomment| macros,
% that allow the magic of conditional displays (we can also find them
-% in the \textsf{verbatim} or \textsf{version} packages).
+% in \textsf{verbatim} or \textsf{version} packages).
% The noteworthy \textsf{codesection} package, allows to encapsulate
% optional code between the macros |\BeginCodeSection|\marg{skip}
% and |\EndCodeSection|\marg{skip},
% both in the text body and in the preamble,
% but these macros cannot be used inside an environment
% as we did here for |\comment| and |\endcomment|.
+%
+% Some tests are made by |\ifthenelse{\bolean{...}}|
+% because |\comment| and |\endcomment| causes some hassle
+% with the \TeX\ structure |\if| \ldots |\else| \ldots |\fi|.
+% The two counters |exe@ini| and |subpart@ini| are used in
+% the following |\set@toclevel| macro.
% \begin{macrocode}
\newcounter{exe@ini}
\newcounter{subpart@ini}
\newenvironment{questions}{
- \ifthenelse{\boolean{questions}}{
+ \ifthenelse{\boolean{exesheet@questions}}{%
\setcounter{exe@ini}{\value{exercise}}
\setcounter{subpart@ini}{\value{subpart}}
- }{\comment}}%
-{\ifthenelse{\boolean{questions}}{}{\endcomment}}
+ }{\comment}
+}{\ifthenelse{\boolean{exesheet@questions}}{}{\endcomment}}
% \end{macrocode}
% \end{environment}
% \begin{environment}{answers}
-% The internal macro |\set@toclevel| calculates the title level
-% of the word \emph{\correctionname} to display at the start of an
+% The internal macro |\set@toclevel| calculates the title level (counter |toc@level|)
+% to get a correct typesetting of the word ``\correctionname'' at the start of an
% \texttt{answers} environment (when \texttt{questions} and \texttt{answers} are
-% displayed together). The principle is to compare the state of the counters
+% displayed together). The principle is to compare the state of counters
% \texttt{exercise} and \texttt{subpart} with those saved at the time of
-% the call of \texttt{questions}. The |\@enumdepth| counter indicates the
+% the call of the \texttt{questions} environment. The |\@enumdepth| counter indicates the
% \texttt{enumerate} list level in which we are (0 = out of lists).
% The optional parameter of the \texttt{answers} environment allows to force this title level.
% \begin{macrocode}
@@ -1297,219 +1630,680 @@
\ifthenelse{\equal{#1}{}}{
\ifthenelse{\value{exercise} > \value{exe@ini}}{
\setcounter{@toclevel}{1}
- }{\ifthenelse{\equal{\the\@enumdepth}{0}}{
- % we're not in an enumerate environment
- \ifthenelse{\(\value{subpart} > \value{subpart@ini}\)
- \or \(\value{subpart} = 0\)}{
- \setcounter{@toclevel}{2}
- }{\setcounter{@toclevel}{3}}
- }{\setcounter{@toclevel}{4}}}
+ }{% else
+ \ifthenelse{\equal{\the\@enumdepth}{0}}{
+ % we're not in an enumerate environment
+ \ifthenelse{\(\value{subpart} > \value{subpart@ini}\)
+ \or \(\value{subpart} = 0\)}{
+ \setcounter{@toclevel}{2}
+ }{\setcounter{@toclevel}{3}}
+ }{\setcounter{@toclevel}{4}}}
}{\setcounter{@toclevel}{#1}}}
+% \end{macrocode}
+% The internal macro |\typeset@correctionname|,
+% typesets the word ``\correctionname'' at the right level.
+% \begin{macrocode}
+\definecolor{correctioncolor}{rgb}{0,0.2,0.6} % kind of dark blue
\newcommand{\correctionstyle}{\color{correctioncolor}}
+\newcommand{\typeset@correctionname}{
+ \ifthenelse{\value{@toclevel} = 1}{
+ \section*{\correctionstyle\correctionname}
+ \ifexesheet@exetoc
+ \addcontentsline{toc}{section}{\correctionname}
+ \fi
+ \setcounter{exercise}{0}
+ }{% else if
+ \ifthenelse{\value{@toclevel} = 2}{%
+ \subsection*{\correctionstyle\correctionname}
+ \ifexesheet@exetoc
+ \addcontentsline{toc}{subsection}{\correctionname}
+ \fi
+ \setcounter{subpart}{0}
+ }{% else if
+ \ifthenelse{\value{@toclevel} = 3}{%
+ \subsubsection*{\correctionstyle\correctionname}
+ \ifexesheet@exetoc
+ \addcontentsline{toc}{subsubsection}{\correctionname}
+ \fi
+ }{% else
+ \par\textbf{\correctionstyle\correctionname}\par
+ }}}
+}
+
+% \end{macrocode}
+% Then we can write the \texttt{answers} environment.
+% \begin{macrocode}
\newenvironment{answers}[1][]{% #1 is the optional level
- \ifthenelse{\boolean{answers}}{%
- \ifthenelse{\boolean{questions}}{%
+ \ifthenelse{\boolean{exesheet@answers}}{%
+ \ifthenelse{\boolean{exesheet@questions}}{
\set@toclevel[#1]
- \ifthenelse{\value{@toclevel} = 1}{
- \section*{\correctionstyle\correctionname}
- \ifthenelse{\boolean{notoc}}{}{
- \addcontentsline{toc}{section}{\correctionname}}
- \setcounter{exercise}{0}
- }{\ifthenelse{\value{@toclevel} = 2}{%
- \subsection*{\correctionstyle\correctionname}
- \ifthenelse{\boolean{notoc}}{}{
- \addcontentsline{toc}{subsection}{\correctionname}}
- \setcounter{subpart}{0}
- }{\ifthenelse{\value{@toclevel} = 3}{%
- \subsubsection*{\correctionstyle\correctionname}
- \ifthenelse{\boolean{notoc}}{}{
- \addcontentsline{toc}{subsubsection}{
- \correctionname}}
- }{\par\textbf{\correctionstyle\correctionname}\par
- }%
- }%
- }%
+ \typeset@correctionname
\correctionstyle%
- }{}%
+ \ifexesheet@multicol
+ \renewcommand{\columnseprulecolor}{\color{correctioncolor}}
+ \fi
+ }{}
}{\comment}
-}{\ifthenelse{\boolean{answers}}{}{\endcomment}}
+}{\ifthenelse{\boolean{exesheet@answers}}{}{\endcomment}}
-\newenvironment{answers*}{\ifthenelse{\boolean{answers}}{}{\comment}}%
-{\ifthenelse{\boolean{answers}}{}{\endcomment}}
+\newenvironment{answers*}{
+ \ifthenelse{\boolean{exesheet@answers}}{}{\comment}
+}{\ifthenelse{\boolean{exesheet@answers}}{}{\endcomment}}
% \end{macrocode}
-% In the \texttt{answers} environment, if we place |\correctionstyle|
-% before |\subsubsection|, the preceding vertical space may be too wide.
-%
+% In the \texttt{answers} environment, when placing |\correctionstyle|
+% before |\subsubsection| (case of |\typeset@correctionname|),
+% the preceding vertical space may be too wide.
% \end{environment}
+%
% \begin{macro}{\question}
% \begin{macrocode}
-\newcommand{\question}[2]{%
- \ifthenelse{\boolean{questions}}{#1}{}
- \bgroup
- \ifthenelse{\boolean{answers}}{
- \ifthenelse{\boolean{questions}}{
- \ifx#2\empty\else
- \par\correctionstyle\textbf{\correctionname}\par
- \fi
- }{}
- #2}{}
- \egroup
+\newcommand{\question}[1]{\ifexesheet@questions #1\fi}
+
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\answer}
+% \begin{macrocode}
+\newcommand{\answer}[1]{%
+ \ifexesheet@answers%
+ \ifexesheet@questions \correctionstyle #1\else #1\fi
+ \fi
+}
+
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\answerspace}
+% The \texttt{answerspace} macro was a suggestion of Maxime Chupin
+% to permit students to write answers on the given paper.
+% \begin{macrocode}
+\newcommand\answerspace[1]{
+ \ifexesheet@answerspace \par\vspace{#1} \fi}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Marking scheme options processing} \label{MSoptions}
+%
+% Options \texttt{display}, \texttt{marginpos}, \texttt{marginwidth}
+% and \texttt{noteragged} are processed with the following internal commands.
+%
+% \medskip
+% The \texttt{display} key option sets the value of the two booleans
+% |exesheet@pts| and |exesheet@notes|.
+% |exesheet@pts| controls the display of the content of |\pts| and of optional arguments
+% of |\note|,
+% whereas |exesheet@notes| controls mandatory arguments of |\note|.
+%
+% \begin{macro}{\exs@process@display}
+% \begin{macrocode}
+\newboolean{exesheet@pts}
+\newboolean{exesheet@notes}
+
+\def\exs@process@display{
+ \ifthenelse{\equal{\exesheet@display}{pts}}{
+ \setboolean{exesheet@pts}{true}
+ \setboolean{exesheet@notes}{false}
+ }{% else if
+ \ifthenelse{\equal{\exesheet@display}{notes}}{
+ \setboolean{exesheet@pts}{true}
+ \setboolean{exesheet@notes}{true}
+ }{% else if
+ \ifthenelse{\equal{\exesheet@display}{none}}{
+ \setboolean{exesheet@pts}{false}
+ \setboolean{exesheet@notes}{false}
+ }{% else
+ \PackageWarning{exesheet}{Value `\exesheet@display'
+ is not supported by option `display'}
+ }}}
}
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\points (patched)}
+% \begin{macro}{\exs@process@marginpos}
+% The \texttt{marginpos} key option takes value \texttt{left} (the default) or \texttt{right}
+% (or \texttt{inner} and \texttt{outer}). In practice \texttt{inner} is equivalent to
+% \texttt{left}
+% but, in two side mode, \texttt{left} (the default value) or \texttt{right}
+% are converted to \texttt{outer} (the default value for two side mode).
% \begin{macrocode}
-\let\@oldpoints\points
-\renewcommand*{\points}[1]{%
- \ifthenelse{\boolean{questions}}{\@oldpoints{#1}}{}}
+\newboolean{exesheet@leftmargin}
+
+\def\exs@process@marginpos{
+ \ifthenelse{\equal{\exesheet@marginpos}{left}}{
+ \if@twoside%
+ \PackageWarningNoLine{exesheet}{Default `marginpos' option
+ \MessageBreak
+ for two side documents is `outer'.\MessageBreak
+ Use `inner' to change the side}
+ \def\exesheet@marginpos{outer}
+ \setboolean{exesheet@leftmargin}{false}
+ \normalmarginpar
+ \else% default
+ \setboolean{exesheet@leftmargin}{true}
+ \reversemarginpar
+ \fi
+ }{% else if
+ \ifthenelse{\equal{\exesheet@marginpos}{right}}{
+ \if@twoside%
+ \PackageWarningNoLine{exesheet}{Default `marginpos' option
+ \MessageBreak
+ for two side documents is `outer'.\MessageBreak
+ Use `inner' to change the side}
+ \def\exesheet@marginpos{outer}
+ \fi
+ \setboolean{exesheet@leftmargin}{false}
+ \normalmarginpar
+ }{% else if
+ \ifthenelse{\equal{\exesheet@marginpos}{inner}}{
+ \setboolean{exesheet@leftmargin}{true}
+ \reversemarginpar
+ }{% else if
+ \ifthenelse{\equal{\exesheet@marginpos}{outer}}{
+ \setboolean{exesheet@leftmargin}{false}
+ \normalmarginpar
+ }{% else
+ \PackageWarningNoLine{exesheet}{Value `\exesheet@marginpos'
+ is not supported by option `marginpos'}
+ }}}}
+}
% \end{macrocode}
% \end{macro}
+% \begin{macro}{\exs@process@marginwidth}
+% The \texttt{marginwidth} option changes the ratio between left and right margins
+% depending on what has to be displayed in the margin (only points or full
+% notes)
+% \footnote{So that the effect on the margin ratio is correct, this option is processed
+% at begin document, after other commands
+% that also could alter page geometry.}.
+%
+% When \texttt{display=notes}, the additional length \texttt{1\,in} matches
+% the default free space to the left of |\oddsidemargin|.
+%
+% The macros |\standardmarginwidthfactor| and |\largemarginwidthfactor|
+% represent the ratio between total margin width and |\marginparwidth|.
%
-% \subsection{Marginal notes}
+% \begin{macrocode}
+\def\standardmarginwidthfactor{0.6}
+\def\largemarginwidthfactor{0.8}
+
+\newcommand*{\leftnotemarginwidth}[1]{
+ \setlength{\marginparwidth}{\oddsidemargin}
+ \addtolength{\marginparwidth}{1in}
+ \addtolength{\marginparwidth}{-\marginparsep}
+ \setlength{\marginparwidth}{#1\marginparwidth}
+}
+
+\newcommand*\rightnotemarginwidth[1]{
+ \setlength{\marginparwidth}{\paperwidth}
+ \addtolength{\marginparwidth}{-\textwidth}
+ \addtolength{\marginparwidth}{-\oddsidemargin}
+ \addtolength{\marginparwidth}{-\marginparsep}
+ \addtolength{\marginparwidth}{-1in}
+ \setlength{\marginparwidth}{#1\marginparwidth}
+}
+
+\def\exesheet@smallmargins{
+ \geometry{hmarginratio=1:1}
+ \leftnotemarginwidth{\standardmarginwidthfactor} % right gives the same
+}
+\def\exesheet@standardmargins{
+ \ifexesheet@leftmargin
+ \geometry{hmarginratio=3:2}
+ \leftnotemarginwidth{\standardmarginwidthfactor}
+ \else
+ \geometry{hmarginratio=2:3}
+ \rightnotemarginwidth{\standardmarginwidthfactor}
+ \fi
+}
+\def\exesheet@largemargins{
+ \ifexesheet@leftmargin
+ \geometry{hmarginratio=3:1}
+ \leftnotemarginwidth{\largemarginwidthfactor}
+ \else
+ \geometry{hmarginratio=1:3}
+ \rightnotemarginwidth{\largemarginwidthfactor}
+ \fi
+}
+
+\def\exs@process@marginwidth{
+ \ifthenelse{\equal{\exesheet@marginwidth}{standard}}{
+ \ifthenelse{\equal{\exesheet@display}{none}}{
+ \if@twoside
+ \exesheet@standardmargins
+ \else
+ \exesheet@smallmargins
+ \fi
+ }{% else display=pts or notes
+ \exesheet@standardmargins
+ }
+ }{% else if
+ \ifthenelse{\equal{\exesheet@marginwidth}{expand}}{
+ \ifthenelse{\equal{\exesheet@display}{none}}{
+ \if@twoside
+ \exesheet@standardmargins
+ \else
+ \exesheet@smallmargins
+ \fi
+ }{% else if
+ \ifthenelse{\equal{\exesheet@display}{pts}}{
+ \exesheet@standardmargins
+ }{% else display=notes
+ \exesheet@largemargins
+ }}
+ }{% else if
+ \ifthenelse{\equal{\exesheet@marginwidth}{unset}}{
+ % do nothing
+ }{% else
+ \PackageWarningNoLine{exesheet}{Value `\exesheet@marginwidth'
+ is not supported by option `marginwidth'}
+ }}}
+}
+
+% \end{macrocode}
+% \end{macro}
+% For a two side mode document, the package \textsf{geometry} doesn't set the margin
+% paragraph width correctly by default, it's too large. So we made here an explicit setting
+% useful in the case of \texttt{marginwidth=unset}. Otherwise, the setting is
+% made by the \texttt{marginwidth} key option.
+%
+% \begin{macrocode}
+\if@twoside \rightnotemarginwidth{0.5} \fi
+
+% \end{macrocode}
+% \begin{macro}{\exs@process@noteragged}
+% The noteragged option takes one of the following values:
+% \texttt{left}, \texttt{right}, \texttt{center}, \texttt{justify} or \texttt{twoside}.
+%
+% |\marginpar| with optional parameter makes the job for a two side document.
+% We then use |\noteraggedleft| and |\noteraggedright| instead of |\noteragged|.
+% % Commands |\RaggedLeft|, |\RaggedRight|, |\Centering| and |\justifying|
+% come from the \textsf{ragged2e} package by Martin Schröder.
+% They give better results as standard commands
+% |\raggedleft|, |\raggedright| (or |\centering|).
+% The default \LaTeX\ setting for marginal notes is justifying.
+% \begin{macrocode}
+\newcommand{\noteragged}{}
+\newcommand{\noteraggedleft}{}
+\newcommand{\noteraggedright}{}
+
+\def\exs@process@noteragged{
+ \ifthenelse{\equal{\exesheet@noteragged}{left}}{
+ \if@twoside
+ \renewcommand{\noteraggedleft}{\RaggedLeft}
+ \renewcommand{\noteraggedright}{\RaggedLeft}
+ \else
+ \renewcommand{\noteragged}{\RaggedLeft}
+ \fi
+ }{% else if
+ \ifthenelse{\equal{\exesheet@noteragged}{right}}{
+ \if@twoside
+ \renewcommand{\noteraggedleft}{\RaggedRight}
+ \renewcommand{\noteraggedright}{\RaggedRight}
+ \else
+ \renewcommand{\noteragged}{\RaggedRight}
+ \fi
+ }{% else if
+ \ifthenelse{\equal{\exesheet@noteragged}{center}}{
+ \if@twoside
+ \renewcommand{\noteraggedleft}{\Centering}
+ \renewcommand{\noteraggedright}{\Centering}
+ \else
+ \renewcommand{\noteragged}{\Centering}
+ \fi
+ }{% else if
+ \ifthenelse{\equal{\exesheet@noteragged}{justify}}{
+ \renewcommand{\noteraggedleft}{\justifying} % equiv to nothing
+ \renewcommand{\noteraggedright}{\justifying}
+ \renewcommand{\noteragged}{\justifying}
+ % justify is the default LaTeX setting
+ }{% else if
+ \ifthenelse{\equal{\exesheet@noteragged}{twoside}}{
+ \if@twoside
+ \renewcommand{\noteraggedleft}{\RaggedLeft}
+ \renewcommand{\noteraggedright}{\RaggedRight}
+ \else
+ \PackageWarning{exesheet}{Invalid option `noteragged=twoside'
+ when the document \MessageBreak is not in two side mode}
+ \fi
+ }{% else
+ \PackageWarning{exesheet}{Value `\exesheet@noteragged'
+ is not supported by option `noteragged'}
+ }}}}}
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\exs@process@checkpts}
+% The scale control option is based on length calculus.
+% By default these calculus are local but we need to make them global,
+% therefore the two first macros |\gsetlength| and |\gaddtolength|.
+% In them we must avoid to produce a too large space at the place
+% where |\marginpar| is called, therefore all \% symbols at end of lines.
+%
+% For each question, points assigned will be added in |\sum@pts|
+% and, for each exercise, points are accumulated in |\sum@exe|.
+% These lengths are compared to |\exe@total| and |\sheet@total|.
+% |\exe@check| is called at the beginning of each exercise
+% (when macro |\points|, |\totalexe| or |\totalpoints| is called)
+% to check the previous one,
+% and also in the |\exs@process@checkpts| at end of document
+% to check the last exercise.
+% \begin{macrocode}
+\newlength{\sheet@total}
+\newlength{\sum@exe}
+\newlength{\exe@total}
+\newlength{\sum@pts}
+\def\exe@label{none}
+\newboolean{scale@valid}
+\setboolean{scale@valid}{true}
+
+\gdef\gsetlength#1#2{% to get global length values
+ \begingroup
+ \setlength\skip@{#2}% local assignment to a scratch register
+ \global#1=\skip@% global assignment to #1
+ \endgroup % \skip@ is restored by end of group
+}
+
+\gdef\gaddtolength#1#2{% percent symbol necessary here !
+ \begingroup
+ \setlength\skip@{#1}%
+ \addtolength\skip@{#2}%
+ \global#1=\skip@%
+ \endgroup
+}
+
+\def\exe@check#1{
+ \ifthenelse{\lengthtest{\sum@pts = 0pt}\or\equal{\exe@label}{none}}{
+ % do not check, no \pts or first exercise begins
+ }{
+ \ifthenelse{\lengthtest{\exe@total = \sum@pts}}{
+ \PackageWarningNoLine{exesheet}{\exe@label:
+ scale \the\exe@total\space is valid}
+ }{
+ \PackageWarningNoLine{exesheet}{\exe@label:
+ sum of points is
+ \the\sum@pts\space instead of \the\exe@total}
+ \setboolean{scale@valid}{false}
+ }
+ \gsetlength{\sum@pts}{0pt}
+ }
+ \def\exe@label{#1} % for the next exercise
+}
+
+\def\exs@process@checkpts{
+ \ifexesheet@checkpts
+ \ifthenelse{\lengthtest{\sheet@total = 0pt}}{
+ \PackageWarningNoLine{exesheet}{Option checkpts is true;
+ \MessageBreak
+ but you didn't use \string\totalsheet\space
+ in the preamble. \MessageBreak
+ See the documentation for more information}
+ }{}
+ \gsetlength{\sum@exe}{0pt}
+ \gsetlength{\exe@total}{0pt}
+ \gsetlength{\sum@pts}{0pt}
+ \AtEndDocument{
+ \ifthenelse{\equal{\exe@label}{none}}{
+ \ifthenelse{\lengthtest{\sheet@total = \sum@pts}}{
+ \PackageWarningNoLine{exesheet}{Sum of points
+ is valid: \the\sheet@total}
+ }{
+ \PackageWarningNoLine{exesheet}{Inconsistent
+ sum of points:
+ \the\sum@pts\space instead of \the\sheet@total}
+ \setboolean{scale@valid}{false}
+ }
+ }{
+ \exe@check{end}
+ \ifthenelse{\lengthtest{\sheet@total = \sum@exe}}{
+ \PackageWarningNoLine{exesheet}{Sum of points
+ is valid: \the\sheet@total}
+ }{
+ \PackageWarningNoLine{exesheet}{Inconsistent
+ sum of points:
+ \the\sum@exe\space instead of \the\sheet@total}
+ \setboolean{scale@valid}{false}
+ }
+ }
+ \ifthenelse{\boolean{scale@valid}}{
+ \PackageWarningNoLine{exesheet}{Scale is valid}
+ }{
+ \PackageWarningNoLine{exesheet}{Scale is NOT valid !
+ See above}
+ }
+ }
+ \fi
+}
+
+% \end{macrocode}
+% \end{macro}
%
-% The commands |\displaypts|, |\displaypoints| and |\displaynotes|
-% change the ratio between left and right margins\footnote{So
-% that the effect on the margin ratio is correct, these
-% macros must be called, in the preamble, after other commands
-% that also could alter the page geometry.}.
+% \subsection{Margin notes commands}
%
-% \DescribeMacro{\pts} \DescribeMacro{\displaypts}
+% \begin{macro}{\points}
+% \begin{macrocode}
+\definecolor{pointscolor}{named}{red}
+\newcommand{\pointsstyle}{%
+ \small\mdseries\sffamily\color{pointscolor}\fbox}
+\newcommand*{\exesheet@points}[1]{\hfill
+ \pointsstyle{#1~%
+ \ifthenelse{\lengthtest{#1pt < 2pt}}{\pointname}{\pointsname}}
+ \ifexesheet@checkpts\gaddtolength{\sum@exe}{#1pt}\fi%
+}
+\newcommand*{\points}[1]{%
+ \ifthenelse{\boolean{exesheet@questions}}{\exesheet@points{#1}}{}}
+
+% \end{macrocode}
+% Percent symbols are necessary to avoid spaces between the
+% |\fbox| and its inner text.
+% Without |\lengthtest|, the test |#1 < 2| doesn't work with decimal numbers
+% but it works with lengths.
+% \end{macro}
+% \DescribeMacro{\pts}
% \begin{macrocode}
-\newboolean{marginpts}
-\newcommand*{\pointmark}[1]{%
- \ifthenelse{\lengthtest{#1 cm < 2cm}}{#1 \ptname}{#1 \ptsname}}
+\definecolor{ptscolor}{named}{red}
\newcommand{\ptsstyle}[1]{%
\footnotesize\centering\sffamily\color{ptscolor} (#1)}
+\newcommand*{\ptsmark}[1]{%
+ \ifthenelse{\lengthtest{#1pt < 2pt}}{#1 \ptname}{#1 \ptsname}}
\newcommand*{\pts}[1]{%
- \ifthenelse{\boolean{marginpts}}{%
- \mbox{}%
- \marginpar{\hspace{0pt}%
- \ptsstyle{\pointmark{#1}}}%
- }{}%
+ \ifexesheet@pts%
+ \mbox{}%
+ \marginpar{\hspace{0pt}\ptsstyle{\ptsmark{#1}}}%
+ \ifexesheet@checkpts%
+ \gaddtolength{\sum@pts}{#1pt}%
+ \fi%
+ \fi%
\ignorespaces
}
-\newcommand{\displaypts}{%
- \reversemarginpar
- \geometry{hmarginratio=3:2}
- \setboolean{marginpts}{true}
-}
% \end{macrocode}
%
% \begin{macro}{\totalexe}
% In the following macros using
% |\marginpar|, percent symbols and |\ignorespaces| are necessary
-% to avoid too much space in the text (or the margin)
+% to avoid an enlarged blank space in the text (or the margin)
% where these macros are inserted.
% \begin{macrocode}
+\definecolor{markingcolor}{named}{red}
+\newcommand{\markingstyle}[1]{\footnotesize\sffamily%
+ \centering\color{markingcolor}\textbf{#1}}
+ % inner arguments allow boxed styles
\newlength{\ptsboxlength}
\setlength{\ptsboxlength}{3.1em}
\cornersize{1}
-\newcommand*{\totalexe}[1]{%
- \ifthenelse{\boolean{marginpoints}}{%
+\newcommand*{\totalexe}[1]{%
+ \ifexesheet@pts%
\mbox{}%
- \marginpar{\markingstyle{\ovalbox{%
- \makebox[\ptsboxlength]{\pointmark{#1}}}%
- }}%
- }{}%
+ \marginpar{\hspace{0pt}\markingstyle{\ovalbox{%
+ \makebox[\ptsboxlength]{\ptsmark{#1}}}}}%
+ \fi%
+ \ifexesheet@checkpts%
+ \gsetlength{\exe@total}{#1pt}%
+ \gaddtolength{\sum@exe}{#1pt}%
+ \fi%
\ignorespaces
}
% \end{macrocode}
% \end{macro}
-%
-% \begin{macro}{\note}
-% The booleans \texttt{marginpoints} and \texttt{marginfullnotes} control
-% the display of marginal notes. If \texttt{marginpoints} is \texttt{false},
-% \texttt{marginfullnotes} will be ignored.
-% The |\noteragged| command is initialized outside |\displaynotes|
-% such that we can use the |\note| command without |\displaynotes| (see further).
+% \begin{macro}{\totalsheet}
% \begin{macrocode}
-\newboolean{marginpoints}
-\newboolean{marginfullnotes}
+\newcommand*{\totalsheet}[1]{
+ \gsetlength{\sheet@total}{#1pt}
+}
-\newcommand{\markingstyle}[1]{\hspace{0pt}\footnotesize\sffamily%
- \centering\color{markingcolor}\textbf{#1}}
-\newcommand{\noteragged}{\raggedleft}
-\newcommand{\notestyle}[1]{\hspace{0pt}\footnotesize\sffamily%
- \noteragged\noindent\color{notecolor} #1}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\note}
+% Boolean \texttt{exesheet@pts} and \texttt{exesheet@notes} control
+% the display of marginal notes. If \texttt{exesheet@pts} is \texttt{false},
+% \DescribeMacro{\note*}
+% \texttt{exesheet@notes} will be ignored.
+% |\noindent| is necessary when using |\justifying| from the \textsf{ragged2e}
+% package.
+% Inside the |\note@marginpar| macro, double braces around |\markingstyle|
+% avoid some unattended style in the mandatory argument of |\note|.
+% A vicious error occur when using |\if| \ldots |\fi| structure inside
+% the |\note@marginpar| macro instead of |\ifthenelse|
+% (but only if |@twoside| is \texttt{true}).
+% \begin{macrocode}
+\definecolor{notecolor}{rgb}{0.0, 0.4, 0.0} % kind of dark green
+\newcommand{\notestyle}[1]{\footnotesize\sffamily\color{notecolor} #1}
+\newcommand{\note@marginpar}[1]{%
+ \if@twoside%
+ \marginpar[\noteraggedleft #1]{\noteraggedright #1}%
+ \else%
+ \marginpar{\noteragged #1}%
+ \fi%
+}
\newcommand{\@note}[2][]{%
- \ifthenelse{\boolean{marginpoints}}{%
+ \ifexesheet@pts%
\mbox{}%
- \marginpar{%
- \ifthenelse{\equal{#1}{}}{}{\markingstyle{#1}\\}%
- \ifthenelse{\boolean{marginfullnotes}}{\notestyle #2}{}%
+ \note@marginpar{%
+ \ifthenelse{\equal{#1}{}}{}{{%
+ \noindent\hspace{0pt}\markingstyle{#1}\\}}%
+ \ifthenelse{\boolean{exesheet@notes}}{%
+ \noindent\hspace{0pt}\notestyle #2%
+ }{}%
}%
- }{}%
+ \fi%
+ \ifexesheet@checkpts%
+ \ifthenelse{\equal{#1}{}}{}{%
+ \gaddtolength{\sum@pts}{#1pt}}%
+ \fi%
\ignorespaces
}
\newcommand{\@@note}[1]{%
- \ifthenelse{\boolean{marginpoints}}{%
+ \ifexesheet@pts%
\mbox{}%
- \marginpar{\markingstyle{#1}}%
- }{}%
+ \marginpar{\noindent\hspace{0pt}\markingstyle{#1}}%
+ \fi%
+ \ifexesheet@checkpts%
+ \gaddtolength{\sum@pts}{#1pt}%
+ \fi%
\ignorespaces
}
\newcommand{\note}{\@ifstar{\@@note}{\@note}}
% \end{macrocode}
% \end{macro}
+% \begin{macro}{\totalpoints}
+% \begin{macrocode}
+\newcommand{\totalpoints}{%
+ \ifthenelse{\boolean{exesheet@pts}}{\totalexe}{\points}}
+
+% \end{macrocode}
+% \end{macro}
%
-% \DescribeMacro{\displaypoints} \DescribeMacro{\displaynotes}
-%\DescribeMacro{\displaynotesright}
-% In |\displaynotes|, the additional length \texttt{1\,in} matches
-% the default free space to the left of |\oddsidemargin|.
+% \subsection{The \texttt{correct} option and other (deprecated) commands}
%
+% \begin{macro}{\exs@process@correct}
% \begin{macrocode}
-\newcommand{\displaypoints}{%
- \reversemarginpar
- \geometry{hmarginratio=3:2}
- \setboolean{marginpoints}{true}
+\def\exs@process@correct{
+ \ifthenelse{\equal{\exesheet@correct}{false}}{
+ % do nothing
+ }{% else
+ \@ifpackageloaded{schooldocs}{
+ \ifthenelse{\equal{\exesheet@correct}{true}}{
+ \correct
+ }{% else
+ \ifthenelse{\equal{\exesheet@correct}{conditional}}{
+ \ifexesheet@answers \correct \fi
+ }{}}
+ }{
+ \PackageWarningNoLine{exesheet}{Package `schooldocs' must be loaded
+ \MessageBreak
+ to use the `correct' option}
+ }}
}
-\newcommand*{\displaynotes}[1][\raggedleft]{%
- \reversemarginpar
+% \end{macrocode}
+% \end{macro}
+%
+% The following macros are maintained for now
+% only for compatibility reasons.
+% \begin{macrocode}
+\newcommand{\questionsonly}{
+ \PackageWarning{exesheet}{Command \string\questionsonly\space
+ is deprecated, \MessageBreak
+ use `output=questions' as package option instead}
+ \renewcommand\exesheet@output{questions}
+ \exs@process@output
+}
+\newcommand{\answersonly}{
+ \PackageWarning{exesheet}{Command \string\answersonly\space
+ is deprecated, \MessageBreak
+ use `output=answers' as package option instead}
+ \renewcommand\exesheet@output{answers}
+ \exs@process@output
+}
+\newcommand{\displaypts}{%
+ \PackageWarning{exesheet}{Command \string\displaypts\space
+ is deprecated, \MessageBreak
+ use `display=pts' as package option instead}
+ \renewcommand\exesheet@display{pts}
+ \exs@process@display
+}
+\newcommand{\displaypoints}{%
+ \PackageWarning{exesheet}{Command \string\displaypoints\space
+ is deprecated, \MessageBreak
+ use `display=pts' as package option instead}
+ \renewcommand\exesheet@display{pts}
+ \exs@process@display
+}
+\newcommand*{\displaynotes}[1][\RaggedLeft]{%
+ % \renewcommand{\noteragged}{#1} no effect now!
+ \PackageWarning{exesheet}{Command \string\displaynotes\space
+ is deprecated, \MessageBreak
+ use `display=notes' as package option instead}
+ \renewcommand\exesheet@display{notes}
+ \exs@process@display
\renewcommand{\noteragged}{#1}
- \geometry{hmarginratio=5:1}
- \setlength{\marginparwidth}{\oddsidemargin}
- \addtolength{\marginparwidth}{1in}
- \addtolength{\marginparwidth}{-\marginparsep}
- \setlength{\marginparwidth}{0.8\marginparwidth}
- \setboolean{marginpoints}{true}
- \setboolean{marginfullnotes}{true}
}
-
-\newcommand*{\displaynotesright}[1][\raggedright]{%
- \normalmarginpar
+\newcommand*{\displaynotesright}[1][\RaggedRight]{%
+ % \renewcommand{\noteragged}{#1} no effect now!
+ \PackageWarning{exesheet}{Command \string\displaynotes\space
+ is deprecated, \MessageBreak
+ use `display=notes, margin=right' as package options instead}
+ \renewcommand\exesheet@display{notes}
+ \exs@process@display
+ \renewcommand\exesheet@margin{right}
\renewcommand{\noteragged}{#1}
- \geometry{hmarginratio=1:5}
- \setlength{\marginparwidth}{\paperwidth}
- \addtolength{\marginparwidth}{-\textwidth}
- \addtolength{\marginparwidth}{-\oddsidemargin}
- \addtolength{\marginparwidth}{-\marginparsep}
- \addtolength{\marginparwidth}{-1in}
- \setlength{\marginparwidth}{0.8\marginparwidth}
- \setboolean{marginpoints}{true}
- \setboolean{marginfullnotes}{true}
}
-% \end{macrocode}
-% The formatting of marginal notes can possibly be made more regular
-% with the \textsf{ragged2e} package, not loaded by \textsf{exesheet}.
-% We will then have to enter, as an optional parameter of |\displaypoints|:
-% |\RaggedLeft|, |\Centering|, |\RaggedRight| or |justifying|.
-%
-% \begin{macro}{\totalpoints}
-% \begin{macrocode}
-\newcommand{\totalpoints}{%
- \ifthenelse{\boolean{marginpoints}}{\totalexe}{\points}}
+
+\PackageInfo{exesheet}{Environment `tablenum' is deprecated \MessageBreak
+ and replaced by `tablenum1'. \MessageBreak
+ Options `notoc' and `nosetlist' \MessageBreak
+ are no longer supported\@gobble}
+ % gobble allow to suppress line number
%</package>
% \end{macrocode}
-% \end{macro}
%
% \Finale
\endinput
diff --git a/macros/latex/contrib/exesheet/exesheet.pdf b/macros/latex/contrib/exesheet/exesheet.pdf
index 78e61ad984..1a88d761cb 100644
--- a/macros/latex/contrib/exesheet/exesheet.pdf
+++ b/macros/latex/contrib/exesheet/exesheet.pdf
Binary files differ
diff --git a/macros/latex/contrib/gradient-text/README.md b/macros/latex/contrib/gradient-text/README.md
index 730fe264f0..528b853e49 100644
--- a/macros/latex/contrib/gradient-text/README.md
+++ b/macros/latex/contrib/gradient-text/README.md
@@ -15,7 +15,7 @@ You can read the package manual for some explanations.
Copyright and License
---------------------
- Copyright (C) 2022 by Sicheng Du <siddsc@foxmail.com>
+ Copyright (C) 2022-2023 by Sicheng Du <siddsc@foxmail.com>
-----------------------------------------------------------------
This work may be distributed and/or modified under the
@@ -32,7 +32,7 @@ Copyright and License
The Current Maintainer of this work is Sicheng Du.
- This package consists of the files gradient-text.tex,
- gradient-text.pdf,
- gradient-text.sty and
- README.md (this file). \ No newline at end of file
+ This package consists of the files gradient-text.tex,
+ gradient-text.pdf,
+ gradient-text.sty and
+ README.md (this file). \ No newline at end of file
diff --git a/macros/latex/contrib/gradient-text/gradient-text.pdf b/macros/latex/contrib/gradient-text/gradient-text.pdf
index 1956ba90ed..d0a42a61dc 100644
--- a/macros/latex/contrib/gradient-text/gradient-text.pdf
+++ b/macros/latex/contrib/gradient-text/gradient-text.pdf
Binary files differ
diff --git a/macros/latex/contrib/gradient-text/gradient-text.sty b/macros/latex/contrib/gradient-text/gradient-text.sty
index 62494481f4..56010b4c9b 100644
--- a/macros/latex/contrib/gradient-text/gradient-text.sty
+++ b/macros/latex/contrib/gradient-text/gradient-text.sty
@@ -1,31 +1,36 @@
+% Copyright (C) 2022-2023 by Sicheng Du <siddsc@foxmail.com>
+% This project is distributed under the LaTeX Project Public License, version 1.3c.
+%-------------------------%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{gradient-text}[2022/12/24]
+\ProvidesPackage{gradient-text}[2023/1/17]
\ExplSyntaxOn
-\clist_new:N\l_FirstRGB_int \clist_new:N\l_LastRGB_int
-\int_new:N\l_MaxIndex\int_new:N\l_Ratio
-\newcommand{\@radientR@B}[7]{
- \int_set:Nn\l_MaxIndex{\int_eval:n{\str_count:n{#1}}}
- \int_step_inline:nnn{1}{\l_MaxIndex}{
+\clist_new:N\l_gtext_FirstRGB_clist
+\clist_new:N\l_gtext_LastRGB_clist
+\int_new:N\l_gtext_MaxIndex_int
+\int_new:N\l_gtext_Ratio_int
+\newcommand{\gr@dientRGB}[7]{
+ \int_set:Nn\l_gtext_MaxIndex_int{\int_eval:n{\str_count:n{#1}}}
+ \int_step_inline:nnn{1}{\l_gtext_MaxIndex_int}{
\exp_args:Ne\str_if_eq:nnTF{\str_item:Nn{#1}{##1}}{~}{}{
- \int_set:Nn\l_Ratio{\int_eval:n{\l_Ratio+1}}
+ \int_set:Nn\l_gtext_Ratio_int{\int_eval:n{\l_gtext_Ratio_int+1}}
}
\color_select:nn{RGB}{
- \int_eval:n{(\int_use:N\l_Ratio*#5+(\l_MaxIndex-##1)*#2)/\l_MaxIndex},
- \int_eval:n{(\int_use:N\l_Ratio*#6+(\l_MaxIndex-##1)*#3)/\l_MaxIndex},
- \int_eval:n{(\int_use:N\l_Ratio*#7+(\l_MaxIndex-##1)*#4)/\l_MaxIndex}
+ \int_eval:n{(\int_use:N\l_gtext_Ratio_int*#5+(\l_gtext_MaxIndex_int-##1)*#2)/\l_gtext_MaxIndex_int},
+ \int_eval:n{(\int_use:N\l_gtext_Ratio_int*#6+(\l_gtext_MaxIndex_int-##1)*#3)/\l_gtext_MaxIndex_int},
+ \int_eval:n{(\int_use:N\l_gtext_Ratio_int*#7+(\l_gtext_MaxIndex_int-##1)*#4)/\l_gtext_MaxIndex_int}
}\str_item:Nn{#1}{##1}
}
}
-
\NewDocumentCommand\gradientRGB{mmm}{{
- \clist_set:Nn\l_FirstRGB_int #2
- \clist_set:Nn\l_LastRGB_int #3
- \@radientR@B{#1}
- {\clist_item:Nn\l_FirstRGB_int{1}}
- {\clist_item:Nn\l_FirstRGB_int{2}}
- {\clist_item:Nn\l_FirstRGB_int{3}}
- {\clist_item:Nn\l_LastRGB_int{1}}
- {\clist_item:Nn\l_LastRGB_int{2}}
- {\clist_item:Nn\l_LastRGB_int{3}}
+ \clist_set:Nn\l_gtext_FirstRGB_clist {#2}
+ \clist_set:Nn\l_gtext_LastRGB_clist {#3}
+ \gr@dientRGB{#1}
+ {\clist_item:Nn\l_gtext_FirstRGB_clist{1}}
+ {\clist_item:Nn\l_gtext_FirstRGB_clist{2}}
+ {\clist_item:Nn\l_gtext_FirstRGB_clist{3}}
+ {\clist_item:Nn\l_gtext_LastRGB_clist{1}}
+ {\clist_item:Nn\l_gtext_LastRGB_clist{2}}
+ {\clist_item:Nn\l_gtext_LastRGB_clist{3}}
}}
-\ExplSyntaxOff \ No newline at end of file
+\ExplSyntaxOff
+%---End of package code---% \ No newline at end of file
diff --git a/macros/latex/contrib/gradient-text/gradient-text.tex b/macros/latex/contrib/gradient-text/gradient-text.tex
index 59924a0a90..a00a0df80c 100644
--- a/macros/latex/contrib/gradient-text/gradient-text.tex
+++ b/macros/latex/contrib/gradient-text/gradient-text.tex
@@ -1,18 +1,30 @@
\documentclass{ltxdoc}
-\title{The \textsf{\gradientRGB{gradient-text}{{255,63,63}}{{6,60,255}}} package\footnote{This project is under the \LaTeX~Project Public License.}}
+\title{The \textsf{\gradientRGB{gradient-text}{255,63,63}{6,60,255}} package\footnote{This project is under the \LaTeX~Project Public License.}}
+\usepackage{listings}
+\lstset{
+ basicstyle=\fontspec{Consolas},numbers=left,
+ numberstyle=\small,stepnumber=1,numbersep=5pt
+}
+\usepackage{indentfirst}
\usepackage{fontspec}
+\setmainfont{Times New Roman}
\usepackage{tcolorbox}
\usepackage[misc,geometry]{ifsym}
-\author{Sicheng Du\thanks{\Letter~~\href{mailto:siddsc@foxmail.com}{\gradientRGB{siddsc@foxmail.com}{{0,224,238}}{{173,0,254}}}}}
-\date{2022/12/24~~~~v1.1}
-\setmainfont{Times New Roman}
+\author{Sicheng Du\thanks{\Letter~~\href{mailto:siddsc@foxmail.com}{\gradientRGB{siddsc@foxmail.com}{0,224,238}{173,0,254}}}}
+\date{\today~~~~v1.2}
\usepackage[colorlinks,linkcolor=purple]{hyperref}
\usepackage{gradient-text}
\begin{document}
\maketitle
+\section{Changes in this version}
+Thanks to the \TeX nicians who kindly gave valuable and earnest suggestions to this package, the version 1.2 is now released. The main changes include
+\begin{enumerate}
+\item Made the syntax of the user command more convenient;
+\item Modified the format in the source code to improve compatibility;
+\end{enumerate}
+\section{User instructions}
The \textsf{gradient-text} package enables writers to conveniently decorate text with linear gradient colors. It's effect can be seen from the title.
-%\DescribeMacro{\xxx}xxxx
\begin{macro}{\gradientRGB}
\marg{text}\marg{first RGB}\marg{last RGB}
This is the syntax of the command for putting gradient color on text . It takes three mandatory arguments.
@@ -22,29 +34,88 @@ This is the syntax of the command for putting gradient color on text . It takes
\begin{tcolorbox}[sidebyside,coltitle=black,colbacktitle=white,lower separated=false,title=A correct usage,oversize,boxrule=0.5pt]
\begin{verbatim}
\newcommand{\hello}{Hello!}
-\gradientRGB{\hello}{{0,255,0}}{{255,0,0}}
+\gradientRGB{\hello}{0,255,0}{255,0,0}
\end{verbatim}
\tcblower
-\hfill\gradientRGB{Hello!}{{0,255,0}}
-{{255,0,0}}
+\hfill\gradientRGB{Hello!}{0,255,0}{255,0,0}
\end{tcolorbox}
\begin{tcolorbox}[sidebyside,coltitle=orange,colbacktitle=white,lower separated=false,title=\SmallCross~An incorrect usage,oversize,boxrule=0.5pt]
\begin{verbatim}
\newcommand{\hello}{\textit{Hello!}}
-\gradientRGB{\hello}{{0,255,0}}{{255,0,0}}
+\gradientRGB{\hello}{0,255,0}{255,0,0}
\end{verbatim}
\tcblower
-\hfill\gradientRGB{\textit{Hello!}}{{0,255,0}}{{255,0,0}}
+\hfill\gradientRGB{\textit{Hello!}}{0,255,0}{255,0,0}
\end{tcolorbox}
+For this wrong example, the intended result can be obtained by
+\begin{quote}
+\verb|\textit{\gradientRGB{hello!}{0,255,0}{255,0,0}}|
+\end{quote}
+just like how I created the title by typing
+\begin{quote}
+\verb|\textsf{\gradientRGB{gradient-text}{255,63,63}{6,60,255}}|
+\end{quote}
+
In addition, for any space characters in \marg{text}, they will not be take a unique color, although they will still show up in their original position.
\begin{tcolorbox}[coltitle=black,colbacktitle=white,lower separated=false,title=Example of space characters,oversize,boxrule=0.5pt]
-\verb|\gradientRGB{Hello World}{{0,255,0}}{{255,0,0}}|\hfill\gradientRGB{Hello World}{{0,255,0}}{{255,0,0}}
+\verb|\gradientRGB{Hello World}{0,255,0}{255,0,0}|\hfill\gradientRGB{Hello World}{0,255,0}{255,0,0}
\tcblower
-\verb|\gradientRGB{HelloWorld}{{0,255,0}}{{255,0,0}}|\hfill\gradientRGB{HelloWorld}{{0,255,0}}{{255,0,0}}
+\verb|\gradientRGB{HelloWorld}{0,255,0}{255,0,0}|\hfill\gradientRGB{HelloWorld}{0,255,0}{255,0,0}
\end{tcolorbox}
\item[\marg{first RGB}] specifies the RGB value given to the first character of the \marg{text}. It should be formatted as a three-item comma list in brackets \verb|{}|, of which each item is a natural number not exceeding 255.
-All of \verb|{{13,28,176}}|, \verb|{{0,59,2}}| and \verb|{{255,34,5}}| are correct examples.
+All of \verb|{13,28,176}|, \verb|{0,59,2}| and \verb|{255,34,5}| are correct examples.
\item[\marg{last RGB}] is similar to \marg{first RGB} except that it controls the RGB color of the last character in the \marg{text}.
\end{description}
+
+\emph{\gradientRGB{Notice.}{11,45,14}{191,98,10}} The syntax of \marg{first RGB} and \marg{last RGB} have changed. Version 1.1 required an additional pair of curly brackets.
+
+\section{Code implementation}
+Here is the heading,
+\begin{lstlisting}[firstnumber=4]
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{gradient-text}[2022/12/24]
+\ExplSyntaxOn
+\end{lstlisting}
+
+Then we define some variables
+\begin{lstlisting}[firstnumber=last]
+\clist_new:N\l_gtext_FirstRGB_clist
+\clist_new:N\l_gtext_LastRGB_clist
+\int_new:N\l_gtext_MaxIndex_int % max index (detach spaces)
+\int_new:N\l_gtext_Ratio_int
+\end{lstlisting}
+
+Now we define the internal command \cs{gr@dientRGB}
+\begin{lstlisting}[firstnumber=last,breaklines=true]
+\newcommand{\gr@dientRGB}[7]{
+ \int_set:Nn\l_gtext_MaxIndex_int{\int_eval:n{\str_count:n{#1}}}
+ \int_step_inline:nnn{1}{\l_gtext_MaxIndex_int}{
+ \exp_args:Ne\str_if_eq:nnTF{\str_item:Nn{#1}{##1}}{~}{}{
+ \int_set:Nn\l_gtext_Ratio_int{\int_eval:n{\l_gtext_Ratio_int+1}}
+ }
+ \color_select:nn{RGB}{
+ \int_eval:n{(\int_use:N\l_gtext_Ratio_int*#5+(\l_gtext_MaxIndex_int-##1)*#2)/\l_gtext_MaxIndex_int},
+ \int_eval:n{(\int_use:N\l_gtext_Ratio_int*#6+(\l_gtext_MaxIndex_int-##1)*#3)/\l_gtext_MaxIndex_int},
+ \int_eval:n{(\int_use:N\l_gtext_Ratio_int*#7+(\l_gtext_MaxIndex_int-##1)*#4)/\l_gtext_MaxIndex_int}
+ }\str_item:Nn{#1}{##1}
+ }
+}
+\end{lstlisting}
+
+Lastly we define the user command. The \textsf{l3clist} package is used to interpret the parameters into three integers.
+\begin{lstlisting}[firstnumber=last]
+\NewDocumentCommand\gradientRGB{mmm}{{
+ \clist_set:Nn\l_gtext_FirstRGB_clist {#2}
+ \clist_set:Nn\l_gtext_LastRGB_clist {#3}
+ \gr@dientRGB{#1}
+ {\clist_item:Nn\l_gtext_FirstRGB_clist{1}}
+ {\clist_item:Nn\l_gtext_FirstRGB_clist{2}}
+ {\clist_item:Nn\l_gtext_FirstRGB_clist{3}}
+ {\clist_item:Nn\l_gtext_LastRGB_clist{1}}
+ {\clist_item:Nn\l_gtext_LastRGB_clist{2}}
+ {\clist_item:Nn\l_gtext_LastRGB_clist{3}}
+}}
+\ExplSyntaxOff
+\end{lstlisting}
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/photobook/photobook.cls b/macros/latex/contrib/photobook/photobook.cls
index f2d75270ad..4fb5c623ae 100644
--- a/macros/latex/contrib/photobook/photobook.cls
+++ b/macros/latex/contrib/photobook/photobook.cls
@@ -19,9 +19,11 @@
% we strictly need to define macros before they are used thus meta-macros
% and other building blocks and components come before the user tools.
%
-% Docs are build by the Makefile, so reference it for more info.
+% Docs are built by the Makefile, so reference it for more info.
%
-% $ make doc
+% To make the reference use:
+
+% $ make pdf
%
%
% NOTE: in a stripped code install this file may contain only code and
@@ -31,8 +33,6 @@
% to edit it directly, edit the source instead.
%
%
-% XXX Q: do we add the pdf to the repo and if so, should it be
-% compressed (diff-able) or uncompressed (blob)??
% XXX revise \clearcaption / \captionclearpage...
% XXX unify API -- see CellContent env...
% XXX make this loadable both as a class and as a package...
@@ -43,7 +43,7 @@
% - templates -- \ImagePage{..}
% XXX see where we need to \ignorespaces...
% XXX might be a good idea to add a spine calculator...
-% XXX add list of dependencies to docs...
+% XXX might be fun to add a 'box' layout to build book boxes...
% XXX manual / book:
% - basic usage
% - setup
@@ -58,8 +58,8 @@
%%% NOTE: \def\<module-name>@[A-Z]+ macros will be visible to both the
%%% code and the generated docs...
-\edef\photobook@FILEVERSION{v0.1.5}
-\edef\photobook@FILEDATE{2022-11-14}
+\edef\photobook@FILEVERSION{v0.1.6}
+\edef\photobook@FILEDATE{2023-01-17}
%% \documentclass{ltxdoc}
@@ -234,7 +234,7 @@
%% + - - - - - - - - - - - - - - - - - - - - - + - + v
%% . .
%% | <-- textwidth --------------> . |
-%% ^ binding line
+%% ^ gutter
%%
%% \end{verbatim}
%% \end{minipage}
@@ -1628,15 +1628,17 @@
% XXX EXPERIMENTAL
+% XXX revise docs...
%% \DescribeEnv{zinlinecell}
%% \DescribeEnv{zinlinecell*}
%
%% \EXPERIMENTAL
%%
-%% Like |inlinecell| / |inlinecell*| but will take up zero space.
+%% Like |inlinecell| / |inlinecell*| but will take up zero space and
+%% sized to |\cellwidth| x |\cellheight|.
%%
-%% >> \begin{zinlinecell}{<width>}{<height>} ... \end{zinlinecell}
-%% >> \begin{zinlinecell}[<valign>]{<width>}{<height>} ... \end{zinlinecell}
+%% >> \begin{zinlinecell} ... \end{zinlinecell}
+%% >> \begin{zinlinecell}[<valign>] ... \end{zinlinecell}
%%
% XXX need to get rid of the raisebox here...
\NewEnviron{zinlinecell*}[1][]{%
diff --git a/macros/latex/contrib/photobook/photobook.pdf b/macros/latex/contrib/photobook/photobook.pdf
index a01a74485a..5772d347a9 100644
--- a/macros/latex/contrib/photobook/photobook.pdf
+++ b/macros/latex/contrib/photobook/photobook.pdf
Binary files differ
diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
index 46ea0f49ec..73bc0db237 100644
--- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
+++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
index 6709f9cd2f..31fe280f55 100644
--- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
+++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
@@ -5,8 +5,8 @@
% arara: lualatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
\documentclass{article}
-\def\PLversion{2.1.5}
-\def\PLdate{09 Janvier 2023}
+\def\PLversion{2.1.6}
+\def\PLdate{17 Janvier 2023}
\usepackage[pythontex]{ProfLycee}
\usepackage{mathtools}
\usepackage{lualatex-math}
@@ -6242,6 +6242,8 @@ La grille, créée en \TikZ, est portée par le rectangle de \og coins \fg{} $(0
\part{Historique}
+{\small \bverb|v 2.1.6|~:~~~~Correction d'un bug lié au chargement de \textsf{hvlogos}, remplacé par \textsf{hologo}
+
{\small \bverb|v 2.1.5|~:~~~~Combinatoire avec arrangements et combinaisons (page \pageref{combinatoire})
{\small \bverb|v 2.1.4|~:~~~~Résolution approchée d'équations $f(x)=k$ (page \pageref{resolapprox})
diff --git a/macros/latex/contrib/proflycee/tex/ProfLycee.sty b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
index 993b88709e..bca822d00c 100644
--- a/macros/latex/contrib/proflycee/tex/ProfLycee.sty
+++ b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
@@ -3,7 +3,8 @@
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfLycee}[2023/01/09 2.1.5 Aide pour l'utilisation de LaTeX en lycee]
+\ProvidesPackage{ProfLycee}[2023/01/17 2.1.6 Aide pour l'utilisation de LaTeX en lycee]
+% 2.1.6 Chargement de hologo Ă  la place de hvlogos (bug potentiel avec \bm)
% 2.1.5 Ajout de commandes pour calculer arrangements et combinaisons
% 2.1.4 Ajout d'une commande pour résoudre de manière approchée une équation f(x)=k
% 2.1.3 Ajout de l'option auto-tabs-gobble sur piton (v1.0) + correction d'un bug sur CodePiton
@@ -88,7 +89,8 @@
\RequirePackage{simplekv}
\RequirePackage{listofitems}
\RequirePackage{tabularray}
-\RequirePackage{hvlogos}
+%\RequirePackage{hvlogos}
+\RequirePackage{hologo}
\RequirePackage{fancyvrb}
\RequirePackage{siunitx} %test avec v3
\sisetup{%
diff --git a/macros/latex/contrib/ufrgscca/README.md b/macros/latex/contrib/ufrgscca/README.md
index f3547a3c6c..54013c974a 100644
--- a/macros/latex/contrib/ufrgscca/README.md
+++ b/macros/latex/contrib/ufrgscca/README.md
@@ -46,7 +46,7 @@ Please do not use the issue page for generic help on how to use the package.
* git: https://github.com/alceu-frigeri/ufrgscca
-------------
-Copyright 2022 by Alceu Frigeri
+Copyright 2022-23 by Alceu Frigeri
This work may be distributed and/or modified under the
conditions of
@@ -118,7 +118,10 @@ The Current Maintainer of this work is Alceu Frigeri
-------------
## Changelog
-* Version 1.0.6 (this)
+* Version 1.0.7 (this)
+ - fixed a counter bug when mixing annex with appendix environments
+
+* Version 1.0.6
- added a package option: nonrequired (ref. internship, see documentation)
- documentation update
diff --git a/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf b/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf
index a0bce191fe..3987c61a66 100644
--- a/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf
+++ b/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf
@@ -263,23 +263,33 @@ endobj
endobj
236 0 obj
<<
-/Length 4398
+/Length 4397
/Filter /FlateDecode
>>
stream
-xÚí]K“Ü6ľĎŻĐQ]eĘő>&ÎŘ›lU’ŤgsIrhwkĆ]釷±˝ż~IQ=#R
-ç˝XbŤK#ĆĎŚ¸†ĹjŽµůpa:ž¸0b¤ă…éYŢÂâÜ|uĚxnfĽ@ľ;7łR 㤠,•¦í™RiĆU"=3Ă*‘Žeµ_lzV"s–šI)‘aĄ•_,q±ŕČ+BŢúĺ×Á•ĽöË=3+uŁeEÄN´ŘŁQ‚PHAčł ĚAÖ$c~S„#„„„„~*,˙=|ž!.ńÎůúVEŢ‘•‘wbňČ;ŻFŚ6ůUé„G%Šľß¸B‘WeäS缍|Öב×úQă¶ů,Yöm—¸ń:‘Č炲:ň:¸Ü+NŰpż„÷öű~˙Ćᓶ>©gPţńΦ%žV1Ă6xĎţîŃżęůőÖŻô~‹ń››×TÍ,x‚¸RFľ÷/~çä÷l^Żčő¨O‡GżÝÔîWôą‰:Cďž'Š¦ '­  üR˘’I^ĺv:U>ĄS{ĄśU÷î¬9ěĂ~ⱪ*Ěsa~:Z(‡h!™Č©űŞÓµ8Űĺ±ç÷Ő‡Ýną_OÜZĂ‚0g”QXvY^í2źÚĺ?÷¦Bko~ý‡©S9ü:= •Á00˙f;xQ¨ą‡B•MR6>
-µjp…šgIQ;É"±|3”řąÔ)®ľ¦= \uÍž˛pnşjŠ+Żą\7P fN¦8™ŕ®DNFáŞkŞśŔÁÄŇTBtMqaVR¸üĘF8ż›Ŕ`p
-ÉÄ)ä$'0„Úśâ`ţw‚»R­$¦l§8ÉŔ‰YŔŠ l™@ÖÜścź%ÇQWLp€Yg
-Očkľ×?_o×-˛řˇ›śâCv#đ3MŃ…
-·xz‡ÄŁ=żÚŢčżŘá{{„ĚÂ\a~
-c–Yg)lÍůÄš_ÜeµŃriĺߣ󬳄AřZî"‹S‹SR%Ωf­˛ě¬ňq޵LŇvÖŰ ˛¶Nd6Íô©ú]5ÝŃ%Wy`”e…Ŕ(ÝŠ,F XŚq %' 0Jw
- S„»˘Í
-a&ÖÎ0v»p]íneân1˘,r)wâöiŻŹ\ËťlF¬}ŤłCr¶ZÓŇä%ůnAb¨őŕ¬+J
-;Ac‘úĘQ|ŽqL‘cÓ8‡ć†Řd„ŤfnĐOÇü„÷ÄÉ1÷4Cf`2Ě=_yŹW¬ »÷OWó»eH‚aţ•GŕĄÜę‘ór®ârŃMř÷A„Dj·ö¤vł:iręM‰}Ü2#µ+Ódl7§3™ŮµAČQÚÁ‡răď’)°ApÎÁĆ Ů „$B,’R±1HrĆ!y„¤Ś,–}˛AH"Ë!91g×, –§łAHĘĎÁÉC Ą!m’Ń´@XrÔU¤@‚ŹŞX¨– `MﮋŤ"×F°VŮs§Ĺ!Ś‚Bî°8(äîŠ"-K°ŚT°ěÝw9ĹA!ě’Ť˘ý™đp^Šr˛ľ['Šôüľ[&
-!ąły2» ¨˘úÎč:ś Ě(cBÁä!ľ-˘ŐÉşL´ˇÄphb[´i!™©‰Ĺű÷?On×uC´‚SwĎČpŚíb‘”äÄńÓ $I:ŮŽX;gŹäl¶4¦Ą1HfŰŤ#Č0B2 Ôşâą'Đ"ă,R_9ŠĎ± Ž)rl'~Ü(›
-˛‘Ô®öÓQ?á=q‚Í=ĎĐÇńsĎWŢă+łkМ̮Ěûׂ0?ì’ÄóľőcŢř3‚“×/Ö!É„A„źŢ›9W¬ÝśXm—G’Ż*Ăʼn ÂżŻsh N Ő*&R0–'ů,ú¬.YągÍRäŮ‚ä*Ç$é9…Lšc’†CŕtÇ$ż<‚`‰ę1ÉxŹ!Hę| Arđ#–ĚC’l A(˛1¦)F„í#Öd Ů—cqĆś„`śŘRŃé‡.¦b`Zń`¦öO± WA0ÖŇw±aŚAW Bh§`(ą`ŘŠ`ś`X®ď*…Y÷1„ňFľK Ćď}, á§=—,Roaa˝ÇCnŇßaŞżpÔ™=rňŔś,€đ.dD©śevt“TM8ĺíX
-e(Hޱ[Ňla:Ŕv"”A¨ ÇŁ‘-˘Ü"¶8NšňŃ÷ălŚť‡ŢżčMB´!éě=ť@řgž^=”˝´B"Â!4‘VgÚ&hâ­çŞí –a.ʧ©hÚëóđZ
+xÚí]K“ÜDľĎŻĐQá’Ą*=Ź`l/l°x– p»ĺqýđöŰűë·¤RϨJ™•© Ŕ­xFůµş^ůUV~)MÝGiôň&%ţýňîćé‹Ľ‰dš”Ą,˘»7QVŐ‰ŞŁ*K“J_XG?Ĺwo»[ˇR_ŢďO«UűÄüÚî×ýYÜŢŠ,>Ýę˙·BVńjÓž»őcüţV–q»ę˙˙k{ßťnąű&ĘŇ:©ë,2Oš´2ßóămUÇÝń´9ěÍGłD7bŔ‹˘L¤’#ľ4řźÓ"í>ś»ýş[›­űď/ăŐe×íű/<·g}3ŤËú»<}QČ(Ë•—˛ďjŮ$ąŠ„*’Ľ‘ć–_lWÝEßKöĹmťĹÇÍ}wÜ&d‰ŞJÝ‚*iĘqdľiő×TńĄ=~4’©T=z6ŇO_TJ÷Z7ľÉĚ0'2Ď#‘çIZ4ă—ż>ťŹíęŚÝ µn¤Rôµ(««DyT(•dŤŠîvämNşMużľě×Űa„Ş2ľ^l7»ëĄölţ}w4ł·ľôÓąŇÓąŮß´ľCwĽ?¶ë‹žXsétľ¬»ˇ÷çá–µž•ďŰ­i»±ú§úÚŘ*M
+ý[‘5I©G`hěű[YLJăŻOŹÝ;݆ţgÝ()Mă¤,âżřˇÇĽ|őôůs}%χŮľżßě;=C}Ce^ÄŻV=ęíÁÜdkßăܯ㥧¶;ÝĄv;Ţ˝ďń~óŰ­l†xîďň뉜tĄi˘"-“´)LOoô`äiüĂF·A©&~yÔnŇ™‹ëńګ˶_“OĚŐŐöp궍éMß’Ăv«G˙Đ7â˝™ űâËoď ćxŮv's±„/Źí7ŰM»7Ö/N§áĂhOŚ Ń˝Đ.ůŘ‹óŕ‚˛Vń›Ă±w©,ľĆlŐŹĐŰýf5Ś\YĹߎ»Sß™äVäJĹ_źÍő~ťÉZwî°gôÔŻ·ŢÔQ˙ok»v3|—ÔŃžNOĆŐź&J7ďŘ/~óăT–Ś]ČóT/|§W˛˛ĽÉ3y­§1«ě›č)’M600Š™3„š:›¦4źlűŮPń©ë˝Kĺfač íĺC?Yač_ßőĚXf|2~ä°ëĚOć3yüţíƬksye¦:Ź_ţÚ™_.Ă
+b= ÂáM‚pFáweA xD4$
+?…
+‚€ÁßăçćośŻmeäíYyFEŢq5fôć‘oRőšđ,‰|h7ľ ňČ»eä[ÎŞ‰|Ţ ŞČëLCŻq_Ś|ž,‡{8‹xI$ňQPVE^‚S^sÚDýěíç~˙Ćáł6>«§SţńŽ¦&g1Ă6xĎţîY=ţĄç_·ţEď÷ż»y]ŐŚ‚'+dä‹
+’…d"ç<öU××âlŰă ďë Ď»]»_Ďh-ÄaÁŚż3ĘČ-ż,®~©ć~ůĎ˝©ĐÚ›_˙aęTżÎHEpĚ` ƿٞCŞňH¨˛NŠÚ'ˇ–µ.“PU–ä•“,íë± ÄŻĄÎqŐ5íIŕĘkö”…sÓUs\qÍĺ¸Qň `°r2ÇÁ
+Ě wr2
+W^Sĺ–ć8X šáˇkŽł‚©«Aŕ@ýnUŔ9 ç8P“śÁisŽőßî*µ’8X˛ťă$'K.°aYc#pŤ}”\g1Ľr`„ 
+,÷żď '|÷î ŐôŹM‡ńĆ` F:ď_@Ę˝zPîźAČo›ăaż{xA†sź& ŚÁŚź.Š*a»:ÜőŹˇ÷ç¦×—m{4%ßvďÇ:đĂö˛â¨*Śx0ă_Ňß+¨°I%ůčď&Tąě6çngśüů‡ó±KťşŹ3gĎŇph
+Ć`üś™`R¸”ă…K˛Č) oĺR§lIĺ’,Ş$s‚«Ă±ŁŞ–, R±daj%
+AjŽ,Rbbaŕr•)«3˛0HÍŐY¤ÂÇÂH3­)Ş˝ ’s'ŞŮ‚ÓÁČIýňb¨‰őŐ Y ¤fČĆ őB6©˛AHťÂj„lĺÓľÚ DŚŕ•ŕ°ž`°§ŻČQtî©˙±1HíŹ ˘6*OÍ„)V“Ť†ŐYwéQ%câźŐ\pMŹ»\éŐ
+Ëô®‘ţ¸.M{4\Ňŕp I1HÍŽKz4çEŢÍĚS§ă˛9IćHi‹»żp6*ƆGBJŇDÔîKőŻÁ±C
+*˘ ¦­»±c$*DgéŘČxŤp†Ç1Ż­q"b¨®Ć ¬©¸©§q˘|*ȇëhś#yâ€ëgśďüĂŞ›Ŕóš `&čVÁŚźˇfÝŕ%3ůă»3x`řŰý›ýŻrüŔy.ó0čÁŚź(‘Ű@nţř‰~ą=Ľî˙b‡ďí2 cŚÁř)śYfeśĄ°7«™7ż˙¸ËjÓ˙ÉĄ•ŹVYF=ńôÜŰ,N-MuLA¸¦š5ÚłłŇ§©V2I›EoČš*‘Ů<˙1¤öďŞéŽ®¸ĘŁ*+FĺV dA 0*ŔB`LK€°¨8Qą
+QŮŁB° ^mD—‹Đě>ŠEĂ'ÍŚđ‰ţ ˝š„Ż,Łe ­›
+ăČ–ż`Ç—Ń’8…¦,iÄ’Ţ-¶%óń0ĎŠ»ňCW¬j ¶Ů±6ZÓźř‡¬
+ŁŚÁř˙I“ÇiKŹô›×I­Ďn>é7O˛¬\$ýYRÍNđo†NâyZ„$}m’G†@łs¤ B˛Ý6ÎźŰäť˙6Iň[ ěm˙6Q"l"nŘ D›µ@&k-Ö!¬ ‚•' HY6Çl,·YLŔłAŠÂŢ}oJHR ÁG•,TĂAaŇ¨Ş¨aśą¬Yö=pkŁŐß‘kX°ÜA°<K°śT°üÝ÷Ü­‚ĹKDó™O¬tPÉúľuP$ó{żu@Čó·ŠÜŮ<š#*¨¦Ó-‡ł¨łńd 'ć1ÄGôbÓÚłĚXŔ°D8ó+Ú­e`ćí g‡µ —‚hB´•/2h1˘ y(wFű4ë#ŹĺÎ6#ÖľĆŮ!9[-Ťih ň’|7Š 1Ô|pć…ť ‹Ś±ČőĘYřâ¸"ǧq Í ±ÉÍÜ źŽů öÄĹ1÷4Cf`1Ě=_yŹW¬vß<>šG<±[„$x0ă_9q>”[>h^ÎŁ¸ÜDtţÄ}0ă‘Ú­<©Ý¬JjE˝)q[¤vešĚB€íćt&3»69JŰ řPbüMB26Î9Ř${aDBR*6IÎŘ $Ďc”‘²O6IdŮ $'fŕěš…Áňt6IůŮ 8yha°4¤ B2šKŽÚ ’’HđQ% ŐP¬ađ=ëbŁČą¬Yö<ÓbEÁ!Ď°8(äŮEz–`9©`ů»ďá…¨K6Šć3áŃĽE˛ľ§NÉüľ§L"4:(rgódvAPIµťŃt80QĆ€‚É C|[D/$ë2[ĹŚE çfľE»’™šyĽ˙óäv]˘YNÝÍ‘AŚM±HJrFü4I’ζ#ÖÎĆŮ#9›-Ťih ’Ůvă2Ś 5Żxîß ´Č8‹\Żś…Ďń Ž+r|~Ü(›
+˛‘Ô®öÓQ?Áž¸Ŕćžgčă ¨řąç+ďńŠ•Ů5hNfWŞđîµ` ĆĎ0«$ńĽoő÷ţŚŕěő‹UHňc0ă§g3çďŠU“''VŰöHęUExp"ńďK­Ć´JÇDćÓĎT˘ÉgU‘ČŇ=kŢëŠϦ$W9… IĎ9dvĐśB4ě§s§$-<… ůĺ KTO!HĆ{
+ARçS’ź@°dţ‚dS"‘M!°L1A jǨ&S¬ľLŠ3…(‚ibSHIC¤"¸’ih ¦YĘ?Ä‚žÁKß S "ĽZbu
+Ć" _ — Ďő=Ę`a`Ő}
+ˇŘČ÷…ńSŁď Cđ´çá ‚Ô[Xbďń[
+ŃPD¤ł÷táyzöPőŇ
+q‡X‰ôr¦}‚v,Ú;q­Úb‰ѢěpšŠ¦˝ś‡×Řgęh
+Ć` Fu(đ3Ďďnţ¶’ʡ
endstream
endobj
177 0 obj
@@ -561,16 +571,10 @@ l@,t+¦0âć1*3°D°?
Ą™±TÉćŠ%˛&PšO…í‘š´(ęšźkF~*őăNá"2xFä<Ě ž UF?}&ÎDiĆ" 3ĹCŐ;H¬cŞ!‰
 ĹĚ9UŹgDŰ€…žfVŚÄ‚c3{K7âäů¬A6D ť˛hg,AĹ‘#CžśVi‡Uš8%Ś,´d=@V-‰ÄĂÔá!ů;Xpę•ť2ŠÚO$‚¦Î(ŃŤgަsÚ_¦‡[fŃ8+6¤ ‹:ç…ńţĄ Ě…QAÝG>‹
úK7|5
- VKA†E‡đore좙@ôGĹ®!ĽkăµńÚxmü[†žÝób’x‘Câĺ[kHŇ)—yĆĄąR˙ÚřŻT˙,‚ËîPŁr©´Ë·fL4y]űSëüüŇ«ďě[sÎťű1ŐíóÄČţÚ‡=$Á­aţ¶.ýA‰+8čéL•"×µpç¤ßżůá6’÷˝ÜW5ą®Txc÷ĽoÍł>R¬6ëűŕźwr_ţúĽ;űŹ6;ü°ŢďŰĂ˝{’.žŽŹľůĽ{ě»2çÁ®]ow'5ąz»{»ßď;XťŃţÉ!sóŮtůqß~ٵw,¶
-»ęÚ'óËŃŘľŤ|0OśOHoY©×XFvNlĚ×rőÔµl\÷?CŞßmɶŞó·¬}ăˇmÁőM•' \Tř0ĂÓĄđčô»O odި:ět¬ßÎTć VŞ°§×ź´a HI™ŇćصÔ)ɲ̕(?JR›
-Î*ź?ĄFç•áÉĺ)ŹÝ–ĚŢUmËŞ>{NŞÖyÍcĽôô´!s7(RN¨;»4ĺTŮ‚lpî‹,Čßäć\.«ŐíĂÎ?ç?Dŕs×™żk}ËÚĐz7Ŕ¶oZ纸ď¨}–ecL”ŤńYâÖy<m`¬\ÓFÍłµ]K+U^*Žç`śJŰcr0Ž±ĎvYż;Řv‡vß:żŢ}»>ťÇ¶o Éđ+ŤëÁ *QŰcµÖţ<ńýłóBŠ•(„xí>:‹\[‹ _×öŕ
-§ę“űîN´ÍjŰ‚)ďüíOA!/\8ú·ČŰ/Ďţ1xs·;q5`Ľßě-ě?Ďŕî Ćâ +–ôă•üÚ~$ËZÓ
-×u ŕlܧ¨Ě›A"_~‡9şńţÓɉuthg?:A^|sSGŽ¤µăGh^IŤ»Ă˝ş‹Ć J_Pż˘x\ď||řî‹“ż}
-®50Î.¦ĚŠű›«žÜ(–¦‡w#!eŕýąh„ż×ńČg•EÁaKäKO`9¤É;~¸h;Ęh+űÖÝ/áC‚]MŰšŇcőÎnç–TĂ–ähÜ—ńŞ‚3EĺĂżľö#Ś•üÜě2®«*&…ü
-ŽŘ}!Yä\ňx!˙e¦ĎŞj2«­ęIA_b ›ĹÂżisiv†śăÍ:Ҭ—J)‡VµX]?4ű:Ě:ŇĽXQ:V4‹µ©“§
-"#ű
-Pë{±Dw(wY®HźÔę—‘ľŐbťřPthvE®:2´p4Ń‘íđ•Ď:BßwdfÜEGÂýÝ‘‰űÍŚ6»ýĐÍB3Ł´#ÝłÄěXbq—ęr]ĆšU˘Ů–ŘV–ŕ
-†óKp$1t¤‘†Q5µR±ö¸$ŽĘ–elňšÇŐ
+ VKA†E‡đore좙@ôGĹ®!ĽkăµńÚxmü[†žÝób’x‘Câĺ[kHŇ)—yĆĄąR˙ÚřŻT˙,‚ËîPŁr©´Ë·fL4y]űSëüüŇ«ďě[sÎťű1ŐíóÄČţÚ‡=$Á­aţ¶.ýA‰+8čéL•"×µpç¤ßżůá6’÷˝ÜW5ą®Txc÷ĽoÍł>R¬6ëűŕźwr_ţúĽ;űŹ6;ü°ŢďŰĂ˝{’.žŽŹľůĽ{ě»2çÁ®]ow'5ąz»{»ßď;XťŃţÉ!sóŮtůqß~ٵw,¶
+ş×U~-xÇž˙żN Ł@áę:ćżDű ;'*óśKvŐµOć—Ł±};ř`ž8źŢ˛RŻ±Ś<<ěśŘŻĺę©kŮţ¸î†TżŰ’#lUçoYűĆCŰ‚ë˙š*O¸¨đa†§KáŃéwź@ŢČĽQuŘéYż=ś©Ě-*¬TaOŻ?iĂ’&2ĄÍ±k©S’e™+Q~ţ”¤6ťŇ»¶ŁÎ |\ż™Ti”HdJ`_Odµ$+›ˇůě)qu­€CKF”OćtßČĽdΓ~>‰•Ŕô‚üG&4řăĄü:Ł-?wN’»É—ç4{
+/|`ܡ“G˙)p…ŻŔďuóŕOíĐů¸O«ně®ŰÚ›Ö ˙§¬•’áěźźÎ'‘łĄÎ oĂn2”cń›ÁYOرJÖąŐ)d‘—˝ÖiIQU~j˝rAóéÜ‚4oMła uă÷
+ů±űBţ˛ČąäńBţË$LźUŐdV[Ő“"‚ľÄ@7‹…Óć*Ňě* 9Ç›u¤Y/•R­j±ş~höuu¤y±˘t(¬hkS'ODFö *Ö÷b‰îPî˛\‘>©Ő/#}«Ĺ:ńˇÜG/ţ4éĐěŠ\udháh˘#Űá+źu„(ľďČ̸#ŠŽ…ű»#÷›mvűˇ›…fFiGşg‰Ů±Äâ.Ő庌5«D;˛/,±­,Á ç)–ŕH6bčH3" ŁjjĄbíqI•-ËŘä5Ź«–P",ˇ®ÁXB˙±„úd íëY2ŞĽýýhsť%zG'WečÚt†QFe(]]i^t[2lSË&ĂxÂß©8C˘üaܬ–ŞŹ/­2C)ĂÄĐŐ|F…XڢǨv+Ł*DŘeĹ5ÚĘË Ó~ÜÖmF•gQáÍ"‹©îtkĽk|^ř˘‚Dlť'fĚNĆwßFśPţÁyď·<v AÎ3^^dô …śŁârŠĘ8®pĺ‚*&\©áU§A‰®Qę|^î §L"ŽŕQ'+ă,xŹň¶á]rÚţ-—Ť‹ş·ŮžÜďÔŔ‡˝ő@×6Fâűl_»ĹcÜĚaä ŽrŚ5x?°íÁ ŰsűÁ3křčj/ŽűqhĘ7î}%LŰŔ¶WͲçö°ń1ćpä°8¤°o5ŕRą2č>-}ˇŠŚü÷§gŰťýfšźĎwőpÚíM=‰˙ä§×îŰĂô’M˘Í/šČD׾^\Ă´¸‹ÂF†íü|QEŰuíęŘ*Ř–c_zxOńîÎů±;°k?”Ńĺ]Ć‹ĺ$ŤÎ图*‹ŐĆěsŘÎ%FUe.¤™6 ‘c$Ľ(a+}NúO&ą S3áµÖĚYkW×ĎLKgjK*>eđ>ň#«&z:şK¶~íŞŐ·­űÝŮö°u˘ [P÷q¸°ériľ §Ý0/±uˇVĎ'7Ę%d,-)ëýţŁ¸mP«!Ż®ě.ŽÝŁőű˘ěT>% VĺşQÁ_V( ¤¶3Ś{pÔ&ëóĺ^ĽÔ­áĄ;U•^-řŠWVŔžw>~}đ! ĄOŻ$)ÖáłVC\i»9Ź{<EŞäXzÜŽšŤ Vi#ú‚¤7~I’Ż\EŚËŔÜ%G9řеľĘ§;;„Żę±…fŽ’÷5yÜĂ}p5=Ţ]ĄwřĺŢ÷® mďgŕ‚Ķ R‘U}©§éĽŔřj'Ř›§ýóhoú};]ŢŢ˙Ž¨ßĺqµŐ¬ĐňëŰW˙ -kE
endstream
endobj
276 0 obj
@@ -3796,118 +3800,113 @@ endobj
endobj
658 0 obj
<<
-/Length1 2053
-/Length2 24334
+/Length1 2055
+/Length2 24198
/Length3 0
-/Length 25595
+/Length 25420
/Filter /FlateDecode
>>
stream
-xÚ´¸cx¤Űş5ŰV'«c۶ӱ*¶ťŽŤŽm[»ctlŁ“Žm}éµÎ>{í}Ţżß•+©Ś›cŢsĚůT9±˘
-ť‰ťPÜÎÖ™Ž‰ž‘ +§lgchËÄA§ 4s±6t0Ó32˛Â‘“‹8 ť-ělE ťÜ
-Ô¨©)«
-«¸ŘŰŰ9ţU5‰Ď
-tt˛řÓöż¸Q|0ü›ÚGŞ©ŁťÍ_
-@ÖÂhëü“$n÷·Óćc”Ivç˙%ö1ç?5­˙8˙ŃĆÜĐéŻ\YEEY€Ťˇ…­3ĐÖĐÖř#ĐŮĐŮĹ `đ—íăhBů7A @ÄĹŃńOąą˙·Íż¨ Ű}¬LÇÚËÇĐíżwĚĐÖĹÉółůĎeŰŮ:Y89;ý]0µ°ţaďôgĎ,l˙˛É ÉK‰‹©¨ŇÉ~Ď–NÎîc:¶ôÎîÎE˙©'$*Ë ŕdd0q±?D*fk"bgcóÁÚ îĎřD->ćälçčÁđ…mekçfëő˙pZŘšţ™˝‰‹=š­… PJôÂ?Lp˙¶™ťŚ
-üxór2tś]€>^˙tü'‚câ
-Î˙€ qů7dţ óď`VN
-¨aaňńĚüGśˇłŁ…»6ăǡeú°üüë?Ý˙h@ţďűćŮÂÂvî^t¬űJÇüˇ &ÎŹ%0łůüG®ńßWř_Ƈ¨˙…˙Üź
-Ő2ŹwźyZö,z0Xó-:ăËǬÉFxŮ!ÓśKô ÖX3_0ô:Đ˝÷Óç.şŮŞ‘ČwóšľH,"żµčÄ«@këB€im±Ęß›'6iËŐQ'ÁćÜÝa}ą %Ďi­űQ/‰šÜJ´@ÚE¦µ [Ć@#taŻŞ›ŃÖ  !eź ýÚjt6
-ĺeVçWľbéÓ3ŚŞöNV‹ ťŤ)Df¨­Ţ±~ck€y+Ýq«Ş’÷$ç⊡ §Ţji¦Ú ç}14.'Gßm˝9í*Ř>_‰OúăĆÖí°":<üňXDo Ö¤=Óç8Ś—TěÓ Źbž öv)—çĚ·N¸Ň 1Š|‘Ĺr)/‡Ţˇ{Ş·űjśx>yůG‡ŚŁ¤Ň„iFRnĄHIDÁ±GůŇmÝű‹e?‡ę›j­|Á$ÉO(Jć)B“üŇ ĆôŇá§"ú
-AÜÇ;SˇâŰöčěö϶9NřĐ:`źę/ÖP Ý.®řJX  ¦~iś›ŇÎâ=B†j˙ą6‰ †.ú=đj¦áäpç .x^O5*ëúśí ’ff‘žĐ~?„5§©ĄđmçY?^Ä®avXĎ‚»f)!z®ŤJ<7 Çż)č':ĘâËč9Îľˇ…?7ën:ŢŢŐ2Ö/?D(ăK ®du#‡ţz÷ÚÂĄě .ń#řÁűSžÇ5%×\ůxs¸ÁJ ę:ű†&S1WĂ͆]Ŕ|ďó6űá’˙x|‹s´źqŹ I–o8Ë=^Ťĺd_@…[gp‡­‰÷L62?> ˇ‚˛LG u6‰‘1~Ëäń¸V_Ú[rČją÷4«9ňŽ>}†„^ű,g~q˘Ó»ý˘ĽKQŘ üÄŢC@ÉÍ@ń”e|óS˙„j -ĺux4Űje«/Ă r Y84ú> L$@RJţ‰řať†eA©×Ąä7Ž Ä=«ťYŐh'X•Ĺ=YŠĄűW«yéŃO.v‚”ň_Ç\Ćt$Č˝ =öČ_D˘„ź ŢÇ`jËq?ą6‹!J0M7źý\r´äc–…ŮęśĚÇY$C§8řP-LĂ×ü†Âŕ­„úcŇMŮî6çŐ
-Ăzy•á!4[^Ôth¶W…¨’ĂZÎqbh%*€Ýř˛}űÁ—· +I”ŘČő•{yđµ@BěŰe–­Ň­Š+č5‚ßUG#ó‰w˙Ło‡ŠĆ …›c‚< ‚ Ďd0 ž7ť9÷;‹šošÄŮN«|xý—„.0Ç!Ch}Đľ;¨=23wč·9 äŕC3Ä–; j9 Üđ¤!˝Îť­÷Ňo÷ýÇáťčo¸äi·˝]ĘUŔűH(ŞšéŚbľ=ňARś÷k
-úź0íËĽľ”ḓ-)żY—P<\ Qo)`ťËh# Îł$ťÇá>„Jp%{ŘŤĐĺáăő–€Ţ'çëuŮR˛Ž§ź.dę­0i×+yŚBĦÎ[®ę~¸źÎČź˛ŞŤ bßů¤śŹň6ŞŻhdG N0‹ë2eL†Ź Ă>_6šÚ%ŐçdŕK!I
-$ŮR<řfLâaąË€ţâ,FRôâöĐ7wŤ8»Xĸ_ă×­cŮ@źî‹ Űw
-Ţq˛nđ#ôgě¶q€ać}Qi‚ Hnś€Q6ĘÉ·¨ Ă3ńĘŕ%V°)‡çL4“T{ÂĽŢ”ÂĺŔ!ş’]teş<čĂN T†Ľ}Ă/ ow·ŢDęĎiÖI#38«sLó2L^Ł‚¶ľéŻ*
-. –3!,ĚŹf˛aó»FĽ˝ë}ŤpE¬E»ĽĎ˙˛ĺ"$ČH´aLáębÚhC´Ł§Ć+F·ą'®“ü|x§f
-\3擬{`…§~ 6:GÚŻÜzµäŇ°E$űz¦aKĽCLDnÂţ‡řü‹ř‚˝/Eî°jšŻ`i$Xr#pl&3H’«Źp*—[`·®š<ďDgüS«>ůľŠÝpťÜ†®/;{P“,9P@›
-ŕ #˛ž]L[ ‚|ĹPżR>¶xň©Čŕe'´Ĺ–‹7@Ę`ó ¦»vUt‹ËT X‚ä\ÓdN~s`AÝŐvv·/‚Húâ–ďážü˛D¨Ć&Y)PÚÁ¤DźqxĄňgÄÖť†qĐśz‘5ČĐçÖńŁ őNôśëď•ňu”p\uúcÖ7¦#ëU;ď{-%I§;]ł` GůWĆCοȤĐ$ n1†7­§šiuR”-ťĆ~×O±8“Ň‚ľşń‡8–ĹČ=NÖ$Ë8˙öľ„±­ú¶ł±ýŞŕčQ.Ľ.¶«ýx3Ő„Eˇ-A‰Šxßp
-LĹaÝňťĹýę9JR·zÍ~ׂˇ‰´^Őł°ŮöôeĚ9Ô$ą-Ł°aĎ?IĚő;É{ĄŘßNݦ~$şŇuŠ;ş™tń“Gş›Ž7Çě4ŐY´'Í3ŞPŕŠXcÖo·‘•ŞşŁé(ęŃ…g…”á'ßVyĚ^^K( îL\b IČ5‰h”ŐĎĆéĚq^¶´†OAŚ{Üyň’ŘáKÍ'Ý7ÇcćůłäźÝ9 "BÂä ě‚É©ÂăBtČčcn͉7¶ş”lţĹ3A˘˘K€„gpIŞTŮö:B‰Ŕ‚8&5 ĂrÔV3ť!ëaFkŽ8ây{رžeö»;†•Ű&đ)Łw_˝ĎO)FK’šł4÷ňß%«WfšďíGŔ_Îý%+:fG•Č‰  ˘gi.dŮÄ.ZŇ ÖČ«ΡÖÇôĘujXśąyĐ5ťÜč¨Jqšü®Dć’=h !”%Ěn^C]ĐČÁE.ë5E%íźxťĐ’§u6#2˙imĐwä*ż€ĐĆ«Q=évČşŢß°nł؆hkŠĺKäÎ@˘ÜôĆ?' Ön¸Á_™”ˇ•’*ÚJçëß{źč»6ŇíŘ'u™ŢduXbMŞK`ĺś×o‚#RÚˇ>Óş°ÝšHÁ.~rÖ,˛Çi…ýaj[Xô Ţ“›{\Ťď×]9r'&†ŕÍŔ„ ·Ť žŔUů')Ťýw‡mż
-ő˘f•µ5€
-2˛Ë
-§ÜÄ”™¨°#ߎ…ÚO'śníó8Ĺ€ľćl0Ój2ôW 4çQ;Ş"U<qú"Ů–|ŐáÂZÇ{ÇÎĆ/ĐÓ–A±źNňIź˝jßŇ4P:vż{Äú©±e^BEťyéQSíńI»Ęß[˘E-­›Fó–E‰˛z«Wí‚!ř<¦Ż EŹŇS–›f_Ů‘WęeĂyş¶ş°[¨(¬[ Rúţ ö’W!ŁµdQßtłŔ¬ÎałńÍJyŹ!•a¸Lß=5¤Ŕo]ŽŤŚHKXu µ{8o©f).DPcמŠ¦Ł'VŠsâk˘Â©*Ź ÔnožA:Żů>ĆÜvô®’Ă<öŇ棵}q›Ý(¦Kč%x¤îzŰ÷E}‹éWR^ ĄŮ Ř:Íń™ĹŘľüŚVő&mli‡FDĘ›6ŻĆtóp–°˝' µř–ú«mĘr'»âNť®,˘ś=Wó·lŐ ćôÁÚřëÖ‡jFŽţĐSÖ\Ą^|Ó°y—?đďwą$z6wÖľLNÚzg~‡RŚ,ĆVHnűé˘U"Bvĺs
-;{1é ös@µŕ­¦˙–¬x¨
-63™oš˛Ęß3jNôᆰMĺżµ`9˘=ÓQŢę™­F€q„ň jžŐŘ F
-ŮĚÚ¸ďLĹamW8,ţ¤ŁhK߯­– 4'ŘĘŔ/o›ß¸ę9nž7~aµrËúń{@ĺÂ5ÔŢăí3ežš=‡Đ
-©ż˝]Íç;çŞĎwěő%rFíS.ô3żq”Á›ŘşyŰx»®·Oô§…ćíĹđ«.ŽKU—gjó=K f<â7młĄ”s O ŕ` ďL%×÷ÆîG‹Â2Ď$MţĹWwüŇň#řs7çnWî]{ą,ÜSłá^xŐé~{ݡiU
-=]"_ĄÖ5â{’F‡ĺ[ ýżŇ?ÇvÚÍ,渔ĺýFzŢ  ”âźóNÎwVűz:˘Q)üÍ . "mâlţŔj@m ˝ŞŠóŢÚs|żÄşę 5[kçŃÜĽ´căIŻ…îNÇĂ/Śb`úů@ ěţD(ÇŚ_ÖňjójǤUúžŃY<kt¬˘ü!Á幉,JÓ H5ł˝Îó}}?ćő+ľÍä~ńŹC4‘_]şŃö"ĹśĎ~lD4HđENýn9ŘQ˝uz,Däŕ¬÷<L •{lBĄ=Óđ)ßÁ/Ě\A 4H~ŘÖůÖ]jfíA–>÷ť1Á˛ß‘R*¶¨Ŕü”ą‚­R»ZüIěs5ŤôňîJ=}‡2c÷ž÷ů)^˘SáóďÄśěbHŁ˝ČÝâ¬Äý’ËDűď8NL ľT‰ŹĎ†ŇG0+R;đýź›¸«ČÄ=Ç“jŻÝH{ú» 7w_Ąs´‚“ŽBYU)|˝Nġ!t)sÇ13˛®¦QPěC)
->yŁe†˛E]&Ňp6Ł!ĹČ}.â˛Xo@ç4řĚú@˙‡X:1̧÷‰9j ˛±úv›>=ôÝviŻÚńŕYćZ:*Ę<mĄ}őNT€eîl µÚpńČ9+·eFŔ;Óm9îm"ę)ůŘđFŤµ˛–«[iGcĂ
-h·=GŇú‘ć'ńQ<ŔI‰j§íC
-*X›Cýůĺżžďů÷ąKćxAÓöBYÖűč—jC_*‚9Ň»5gEš&y_r RdH%޿ÀţŞQ%Žé¦pg|Í+Şđ]‘Ä?Üýmß™¸Cé¸1EíÝ'×’=dÁ8ĺPěqúÓ2·
-.ó~ě$‹úęí.˙©ßDÜĎ—'húĂ{*¦ŚrbM!ë° ąš¬¶pDͦ€ORO 5ňAQ5P[–ôYĎkT ˘L×yń7ĽHoŇz™U—[ÚC©’ó#ĎÔńňsÁ©S4^ů˘rÓµç+®A śÓfęťâÁÉŁľô"Štąč1ú`ÂŔ–X›Ů·Â2Wäě–Ýčar´=;t}UˇŻĽűd‹ŃĄđţĚ{mUćUłec …­1XgşĎ¶z˝nQ`W•ßü‹űY•v°m …PĎ˝MÄŕSË…t.€G‰đÁÓ8ĹúJ„ÝDËi1®,Ď÷ľe1ú†źí˛q Ĺ™ďÚˇ¸vĘ?µ_KŔĽ¶ŔRÁŃ<´
-S( ç60‰­ń˛¤3NŻŮÍ4:´ÚAÍ­~Š­%[jáÁŔqWsÖÓĹ«;Ľ÷B–ÖZ±¬”ľ­Ç…jú-SÎ(ßîp~¸¦ůB`SÎŮďňkÎiĽü¸4hAŠxí Ľď„…6C mÖ\2…˧;z”‰eő.ŕ®öÁÁ8,’Ńliü@ł1ŁŚ`]›ąnMĎ›~şäÔĹ"z‰h Éä™k
-ÖÓŐŮúV‘ďX&Ź;ŰŐ_›"3.ŔşRŔNńWm‚r—‘Ó!î«ęâ‹b"óąyžN|DľĄ?ἠ,µaiycŰĎŘá‹ŕČâ íÚË®Ěú"éAҨŞFôŻ›îAf
-bÂ:Ç|¶„Ëüv4ÔJaĚŔ”rfÉ,Ŕł;ą’đ¸Â_ľĄ;Ć„ăÁw…·\'ˆĺ§[÷Ážpęj“ű˘N" ebĽk˝Ęí±ŔůRWËJ}Őľ”wdĹŽZT9`s¸~&hżŽłJ©Â(VUĚbrc0G’ř©Đěť82'Á[ ¦6ĎpŞŃ™…ŮřňŐ˝¨ ŃČš€ě*©0-s7pH ä¨3jŻg\±kÝ×3yŕQp’:č>ëÚë§^nu8˝ä»CĽ>J), ˘ä»¨•»€ö^$nŚŻç”·„N˛ú'¨żďďRdRĐ­5é˛ăÖZ‡~†Ňüm ›úC]AxćţĘ
-ż)ZŢs]aÖ»Ŕüö=­şĘŰ´9§]¶gý‚ž®|q‡Ň¨­bŠOP
-}Zquż˛3Ž€ÖáľŇd'MĘUŮń)ĎLô@± Ći(x;~“éʧ×ďząčH _‹H‹ŮrÖ Á©hĚÜ"™™ś™ľÔDŁá•mô»EWŘTEߢ^ĂAż™éVńh~H,]"™ôÇÝI˘î)6Č=€¬ĂOĽ`Łp]7䥄žr%çč?ŻŽĎ=ëĚęĂ.4łľbřÖĂ‹LD¦ăÂzďSíÓzgß*Ió_šFţ…LÓ×µŢ6ęDdi)é×ĉ:MZVź‚g4H›ňö™×"]É©ąLs8ŁZ™V’8UŹ§Ţ©_ë•(V•Iő®w{&ëŇ€fźAą¸f3a7?wíźC•ez: \NYxżYۢ 2Ń”±% ôőž± ŮĎĹ·aRvF¦AfB#ŠW r;^îů"Şůµ”›}µĹIéŮ„°üuµ'ŕ—G®M73«ć×Č*Ä#YM@}…ó¤GvĂŕyľRűýä(f˝‚(ś`qN%ú. î‘ĎäŇď`ßç¬Ć©Ą…ąA‹zŁ@ĹÖ-¶xž¶Ăz‰ËĆkvˇn•‡ĎKű‹GK2R燻9;9ď=á‹´±fDY›”`ŻĎű_ŠYÉč-"«wFűÖX(‘ÓŹăË„{˝’Ä<´lŤp"Mxßßď2.†CˇÇĺ~µß™xN˙ĚžÍvVČ'ý˛ÚjyDeX­h/˝D@$\SÚ—ćű éŤŃOq÷ ×"­ŹÚ«°~ľ»6‡ĘR}ż¬«ŢĂoďďç$ĺoF ×A
-RŮ{ u˱K÷%^3ĂăĐŇĺj©ňą-ŔččőŐŚĎŞ4ürľĚVN}†^śś÷GęŽä)˝rY¸F?j<˛
- tőµîµŽęSŠ%1 ¸ßüôĽo·Úđ\= „đ‡„WHZşŐŤ0Ł±Á7śńRČ_¨şŽ×锊6ýkQĚŽ–~Cî¸óŐÇç–ŕňč,cJ
-ĂLWś…1DĆxëŮÝ)jľep·ęlŃąt2Ś»éQĄD•"¶+¨TôĽAŐ'ń&(ţrŐhp]fľš†Ö;ŹB#´J6Ř
-}ë:~“‚A9 n¨ŁőÂ.3¤‡Ű{Šh/ćx%Ł@‚“ÁRăJ”_=éol™‡5iËg‹Ă‡ÄFąă ŹţŐ&‹.Śş˘'Ѩ®7L®ĘŇw9˘Fu,ĎĐiǬt\Ż›Ź-«&uÓŕ45,ś3„§%Í/ö¤#ëP6F„2µî"«?Ýx|4ˇ¨w[Ô9ł>\‰‰l•'Ľß÷Čf^Ó¦@‰Í,ś…äĂ@^8‘Ź ç­
-q8ţŚ‚4Ś§Tc@Á‹ż
-˛>ľ;íŻ?ÜżÜBßË“ľtÎŐ|Oúýăâ÷čžő*şýV»öhQxëłřˇg-`ťsß+F—nޮʝę×ř5UU’V#KŞIJZmřnaB&&ÍĎŔC´1Ď™Żi)í\|ŢÁE/SiŠYđâާN6ŮŰ/ÖüÔ¬°ýńpz]N?LQíu/6\ÝÁhrłď1öş·óŘč|„ťÍĽPXÝ
-Ů"ť<ŰJó,ĄŇć‹ŇŹő«íŠKeľěh¤¤Ĺ(eŘ˙0CŚ„ÔJ·YšÝ…3&ăĎńé"%ŕŰĄ (ȨÚŕ°Ěˇ
-ŇibŘÔ|=Cć}´D”{đúv@Éĺ•ç6kĚü­Â`,E/:ĂEŘiJ^}ZO&<~“ţ®9úŮ ´v7ÍŚáü"iE’FA(—Ţ#ý1ëŘčň™Ó\íV-OÂhpű;Jđ•ymůě ŮjžĂţůčdÚşß°Ú|Ţ|"ź6’gö}ä6•|ďd±·ŔuąŤ •“_ŤoE†ŚKVŹC­’Ő'IµÍ}Á‰-@¨ ]§6Úk3˝’vk; =WTY
-[čmŐqĚwÓqßá1ÚÍŻfîp”ś_Ä›ÁšÓK2@‘Şxšát´<zpO&]±ĐŁµź]
- ĺ‹Ę`ŠţľoäN­fU[`kUőą_n~<ú´§~OĘ
-ŐÂôVnµ[kZ2odĘ6 “ŠsILZ<ëôCĺŇHkg%
-+śÁżŐź5¨a”XɲbńŃüĽđI—†ąic7Őú:´‚Y®ć­v@Éš'·<ú„P]ďŁăł¶Ĺ7^OÝ/îá‰â _đľó).-%»Ó…ž˝ôĺV¤gĽrą_Ół?Iń±˙BŤ<ď]e¤r´Číu.÷Çš‘ŘZ:znWIÝÓŹwň€Y¸«…Ë|°b:ÖŢ]ú™ďMN Îßż×Á(¸O¨EO-‘äYV¨6¦Î¬® ŽÓVăZQ°FÍ|8µŹłfąçÔól„´űÖ-€ ETšç:­ŹBL !SňÁl§\
-M~ŃYšT¤µ«!2‚ŞÜyt â{¦ăQb‡ľ$ës¬FH M…aAďÔyő4€ŔxCńŕűŤô93Ś'8bw|Çuî şŤD^Ú*÷-ÉźđAsÍ»e`ˇeTÚţ1¬A±ÄΗJű‰Z4EČŞ©‡F¤Í×H€ܤŁ#ÓĽHĆÄýŢC 4fwŐ-ěą>ÚŇ-@n­¤I´†ĹŘWŐ;:~G5®)úç\ĎüUł2é´zRÓ)ÔÁ3‹‚Ťö±,ÜŘ«{=o”"oeŚĐ áĎJćN#©ô”B˘wßßc·>$ئĹ.ôąńk— ąkHp^đÜ&ľ żj:çĘČż."Öqǵ4”†óˇ”؉°öűµFŇłµşç”ň­<ů]†Ý+Ŕ$,ËĽ÷±j𕣆·xňZb2k={©ľ›ÇÝćÜ`đĎě’' Ő`ňůHę'G
-èn`ÖP.¸łö*áňQ—Ű‚ŠOŞÚj®Śµ7_©‹Ş@Čô˝9Ô!F…ÖsôĚz&Rf镸ž‘Žµćm18n3~ÓÝ®Ńýqa3ý PGá…e˘˙Z[w6Bl„d (ë‘IŇĺdkčÂs&EŔAčŹBβÚ2pT5őâ ĐßS/Iç4â{ńropŐ&ř¦ Ź„’’TB*{A”i÷´?~^Ö<;‚JÉ}ě>ľ«~yí íˇű“\žŚâ0{ĘoF a§ĚPýXďđ±¬,II8”·I=Ĺ<<u®Ĺ<CťDD±ĚŮjĽŽŰśýĚť@ź…Óż—2^‚ŤLę]ÄÉş4vBžďöL˙5ŔV8ĺY„˙ÚZN~ŢÔő¤Ľí27 Ž^rLZ<Ú‚eý4Śă?qĺ çp%ÓÝ?b~N‘•w®-· *–4}”D ú:ĎŃ[w®şÍRK&PbÜ/É«4‡âÚ󖶶€¶Ńíľ2ĎŐmB:vMű¤¬ţČ\Č÷΋!ÇsҡzI(®Z@-®‚QĚÎ6ŠjĎŮ [(‹oÎQ"(u‡§tšŠmţ® Ł‘ş÷ĺűŁěŠHuîţŠőĄ´Ň—$&HńšSUçȧ_Ůßfw?{ŠK6hg=ďµĘZĂŻ7JŁ*íüąŕsđý™|Ě~7şálŹcă6¤qčDń(ă' bo$hě•Ůăa¶óąsÉoÉÚ„ż·„L†ŽÂW¶U"4Ł¤—”Q­í|1•?2`hEPł·PT›ČÄcŐ˙΢¦]Ô(PëçŐĄŚąâ„„ńpćŻO’
-ľR®ę yä ëÂl‚m„βӖ…Qąĺb-š Ë!
-ű3ŘJXôwxĂvŞSEDŮűNŐoÄ‚›Ł ŚŻî+>VmšŻú±<í…ť¸&éťůť_”FťNď="DR^¬¨î7›4“Š»KTxěJC‹CX\0ňnl´Ćqč©lä°ą~ɤ•==$Ézo/EvĄŃŢl@+ÝŻů°K˘d4€-9LnBLQV_†+B+-!¨jąŤŃÍÁćU”f†ŃýĆ”˝FîÇ+"$fͬ„éŻú¶h‹0O«“{Ů+:lP}° CżŠě.1ę+&)µŠP´¸ťIř¤_qď˝ęÇ~ǦM$1e”Á™¬%dź"úĂĄ5ż
-#ĄdCýřŮĄ2rúd=-ţđa’Ż•t^ęH•j~oęGobÂ’źřOůLOU“˛î ňrbK÷a„b”™íw¶‡˘I\î›|n[(hęŕ¦ć÷iĺšěú˘X|ÉíS8ľcüUib'wČ©ŢINţňńj€mĹí>aLS3^a]ÎWŽ ¸HÄ/űăäŢߍpYÖľPß‘ŽŰĎ6ţzňŽť±^tÖSצĄ®”ix˘L jf
-Ęë_˝ň˙DŁ*¸‹äQ]¤Ý©m÷“‘Ľáüă‚TÓ‡Í×iŠiá(p=™ ŁýörżźŘ~&ŐŤ’Ç _řžWš< O|Śâźoaq }Ae[ ˇh‚čĺĽF›. /ŚŢsAET‘š4{J PÂU˘ÎýtŁč 7ŚÍŠzŁáłI™d%–DaĂŤ»aÚŐ‹qŘR
-ˇßĵŰVţÎ[˛ĐÇwą~–ßážeŞĆÔ…#­ş§i~}0˛Ąü
-Yʸĺwáľk*żG–›D,H\R‹í8
-¦Y”—Ă«Ĺą;¬§vRÜ`ďˇnő}!Ç`Ěśşărk”đˇs*©×ŤďG`ÔB+<€SDOp·›‡Ó9č˙|ă_×ęf—p—¬ďHŔăasDÝĐNÜÎ"(Oa\îOľ :ô&ŐŰ
-ŤÓÓPÔ‡@3„űŽ×óͧŘf¶_xTDSÎť'ĐŢ먂m|P±ă§š„Ű129™vÔĺ)4v˘™đŮ°ë9á
-Ź´|Ä(®ý]
-•wsčůmvHc nę÷·3=˝áC˘ü˝çD0Ş!Aě™Ršfr')¬ýýŐ4ÚĎłŐHČ]¶¶Sýkăŕ±č¶±OĂH;SßLnxăLň¸†şŇ
-ű ‹"O\Â𪒇·d¬ÇÍbňIĘ®šÂâ|(Đ‘śŃi.ĄĹ”ö 8AĆ´öﱳ vĂE¦×ÍuľßR§šĄ¤túşép–Rą¤‰Ő#Š\¬
-µÄ~.ĎŃEŁl¬†x ˙‡Śţ¸¸¨ZL_ąś#:&ľ^e®Ń¦˙g†Ý=áÔéëŹ2ń"¦˘Éýę×iÉĘtyvp‡řQŕbä'řzĽ˛0ŘŔ×6ľ¢ýŁŁß7N¬.űăI¨ěČň%ľ"Ř#ň‘†jXŹ¦Î¶•3[úMé’GÉ[ÔÓüčŘ~ķ᫱łÝ7ß’Ţ‘‹«ź®ŢɆrŃńYú’#0üř6WµEµŔ䨱Ń7^c“4ť Á×Ĺ°˝ł1î˝@KćUÉÁśţZ±®Ú‰•ľ·ŚťGlý4­hĘĘŞy…·ć…ŨP)`EwŚhň,(˝Ž2;Ph&ŻÖŤę¸ł7żq1ŔĄâô 7M&ŚŚX —AžŠLjPb01ZÄţlJĄWľŚ=Ý ­@SF ĐÍ)'ů>éWś†IŞ’QŁ»qĂäYłŃîI•·ąTź ¬o/u›Kňň‘ě4hůlŁÖ›ýVÎóBÁë_<˙Ö<­·¨'Š’FËh¸Hřą¬ă×S{Š6آkáÜot˝Đ6*WňeÍ“,Q[öĄ +KźŤ
-U%ű §lĹ~8q «Vg ± ąˇdhő˝Ě†ĹŤ»rŃn‰ĚwÚwšßé±6ďˇŇ|zcgďě]ÍÔDϧŽľjľ‰D7“Úe•E·jZpU8.‚ĂblŹDĺ%”có靤-©4 •?o+;51Ľ»xx µ÷aVŢăvy¨ňôĹ{±ź*=•ľ}NuĎp 3ÎŕJŕł ®{í’YSśkýşR Ěšµž‰\&îoj âš`Ň4!ihRXć6I±1X^ZŤŚ|ňx'ąö÷˙Żm{~Ş`Ô8žm[[›m×ɶíÍnłq˛q˛]›ŰlŰŢ“ml›ßąsçţpgŢăű|žY+z–sü<S `á×é&Ý46
-ŤÄ„]»îßęR+›Ó»¤ŐAc<˛Üż(I­cÚë)Ižđl)c5y\ŁŽ_i%ČQë×ęC<=$[JiĄŁWá "›OÇ;'¶ČŁ›Řë¦áŚő#†”AŁýú‡2x‰ť‡†6!ßZzľ FKŁ˝B›'.óÂCě°ŞqjĚĺÖrÜüătńJň ă}ÓµËzmyđĚ‘©šµX §ęQ &žŽčJHűRoµíôŔ4uÔÖŠŮ ®@ěťçý_…”ĺ­á'óšŐź‘S\č×6ą4ÔŻH)[ĂĂ}¨źĐ™‚íWµ­8®Ü‘¶†đ™cIh vĂvö\µ—ZĽoz7ŃMŠtx˘).ŐŠé“čşsŽ BăăÖíATĆ I±_.lȨÇrl$–¤R›‰č˘¶b*Üä ‹¬ńVŹ%pˇŃLa8ł=úp”*H]AŘ"ŚWâłńe#hůŕv™¶ĹąŇËÓŞ†q+üŃš04˛ęÁÔzŢkÄÔĄ„ý ĎFGx2 zöŽ·8ę·1´6“Ä2ţEŚnšU٦F"m‚=[^-ŹĐţO?Bô}Â[•#5NţŤŞO–dKĚZ´ťd˝“ÇUŘŢŤ`ŤĚ„Ěçą»ĚÂ47Ę˝ˇµÝ¬•<â×nńŠĎŽ>†š‹ą Ôj‚*'ď3fK°­ ±Ú‚~Ž.¬“źÂ8&lâD…Q¶Ş= Ŕ‰–âÁ@ôH
-(›¸¶x§mĘ ˘aj6Wvč[ă@>çĂC1ĚŚąč?‰J|¨żí@nř o_4ë}e^Ö^ÚΩ’ÂuíCh’îtS±ýl<˝,|yäV0¸˝R€xpf:z´LľŽÔ8@OÄP’ó ‡‰JW\ŇU÷ŁŘđťsR¶bŽIÇ˙zŞ”qştL†‰pŘv• ŁS}!ęŢľŰĚCŽü;÷ĎŚĄŚ‘Ör‘·Ĺˇ
-Ŕ:CodýDBĄjśt»ŃŘę«… ÉbĽ÷ł1´Ç‘D^)ŰsĚ{zq ĚD4üÜä$r1ÜőţŘOĄ_»ţ?%eşůĆ’-węá 0@ŚŘ˙a&“±­ţjÚŕ€ZýUíU»s
-a&ÎÇÝĚ˙ý˘ČL\Ó;ÓfáŚn$ŇWΨmPq+ ÉĘ4#cUČľ÷J·XB ~ÂfŔč«A·!†ę”ő˙Ű
-Ľ¸\tÎi?ýďIA
-Śčˇ0÷ ­\
-K0ˇÍö‚€ŐŚu˛<¸|4XI’ĺ=(ęţđ:A˘ŤóGż­¶ Ěŧ/ Q-žFŤŠQÖĺO¶ÔśU8¶Ýľüč›yg)f“/!YF«'IÚăGé欥}‡\>7ÎJ‰Ľ,Cî8©5Hź¬Ě¨čCęÉé&%j5x'3 $K¸SG˝ŃUĺ˛+-±ŚCáIYU ńŃWx*üuł1©Gŕ"ň¸ŘÇ#¦‹Ë_Xm8'1-…@˝ţǡż<ŞĐzDłîׄiá kYzo
-
-Mý)÷ë8ĆĎľşńt›Ť¶Ü" Ĺ+B¬˛ g)éAuĺâ9%Ŕd[ě> m_´ďťIĺÄ×°%đAa7ˇ…LXŽQµĽÜP źŮË86ÉѢö\÷@č:űşí÷Ćŕ÷\gIů ‡¦wü‘űŤhî€AčÖy•—Ćp¬nÇËĵĄ8}$Ô,pk~ÇËÔmÉٽu˙‰¤00®ßĂKŇvQJ6°˛‚¶#ľ—9ß_ąÍş¤ŤźbZ fŐމŽ<ˇI (űŮ8uŁđ.d™ž,j^=¦=řL»t ÇUÂśÝëV¸Äµ+ĺL®?nęőÔ)îwPŻ›¶č~5˘řf\w­˘]äŹ%Lx޸ĂÝ‹­ř˛ř+ŚÉü±ô¸;{śĐŚŔŚ›¤¦˘=Łs§FYö]_ÝňŮ{Ş˙‚ż8‚yTĂ€±×F§Ł)ŰxáĆ\â$Có«ĂĄëFUëÎĽqęúCř7&z“źÜˇ"ND ýjyˇN^ý°)Kă%Hkă©ač$Y=Řv›xolX¨cG>•y˝nT¦“a•ĐĎSĚ$›{˝™öB+˘SpcÁĺÍÔ´ú­UlFkó`9HEÂ1žËÂt1ř7veo±ýĹéŻüčđ¸ZHé”ĆÁ€1“d yŤîŢÝô¨{[ßÄ/˝4”íŕb'8RVÓ ‘Đ’Ý»Ś#KÖĄIýłŞŤÖ—qqCi€G˘/‰Ha·tÉTuŤ=Ő‹H…WuX´a4OúČD6ŞqʆiÇ*–˝™žţ·¦éVďgç(?ˇ7‰ą ŁpÔŻV{©P„ŢŹµśőáŃc~ůĆx°ŃÓóôŠŮ¶o7_˘?
-J(Eݶ!–×álçźfJýĺď„Ą™Ć¨4şćŢřBŹ)ŹŇĐČŞŔŃż˝˛ŁRŠŤ!‹i6ş†“_|:ˇŤf¤%ÔGŮ­şz'{ú•ř0,ź:KĂ/ľ°Śí(w…ú¨Ţ‘=•”˙ Żˇß/ăJYň}.4sľYĎńgŤ'U?ÉJŃ%cbaŕ&BM!íÖŤ?WŃî OG±o}ë`ĎŠK%ýÚBTMËB±}ŔUJĹN´…ßÇ•_ŁűG> á®`|E&WŚ»Éýl ”Řdł6Tm|őô‡B.Ëú™9]Ł®S@‚^ĐCô/`ëMc@­Źiî*ËĂkň§¦8–“˝ ÜšN ńnL~ŹŤJ…š‰}¸ô1 Ď@¬FëŘŰ÷XĄUJÂňńÝ®ź—\± ’(G;GÉSßúUOĐ©mń)2k6ä[ 1~‰Š(˝ŚŻ(«z|Ř,ă§V˛ ćt«ťÁ9ý®š€¶łswseĚ›LnŽ¦ŞäO)"§ŻőÖż;lH·ČĚ˙ç˸Š¬Ó
-rĘÚ’zŘCX8¨¬gv"rˇ­ąGď„6áŻędÝWČ!^)Yâ'>NŤÓ}&¸ ŹD{ d"SÄ_?§NvË4®HđĽ0;"čůň¤Ç</ÄDÎÓ sý,uµ«K˙!Ł0óÂ!†‰'tđĺAě˛˙:~‘aAfšúËĚÖVެ˝€–ߢt|Źx{ýa3j–ů·Mq°%%^0ţ“:Iű9ţ{›Ä&LfŠÖŁs–ICşl‘úc7[xÝóńż9
-Ms×iŚ´eß!Şc%űK©Mćë2Ťq¦6Ş3¬?’óÂŔť*
-8«.’^žüĂ°›fž5Q{eĺxĺđ3 *Č˙2˙Ú»ErÚ?˙ß—[>{yX
-ńďíÓPÂíŢ[#…o&"ϸž÷öŤ=Tíw]2[:ŞLţ<<ó†0ŐíÔĄ­y ëyĽÖâTŮńď”.»FĎX‘mýP|Ç°¨I
-×`eúmÓöóŇ9ŢJłp’@ŻâůM~mÄňđAuK|…¸ÁëĘÜ׫sąÔˇţę2ďiůÝŹŮßąáí<2$ć9. ůđüŞ üe>„'Ô?q’Áˇ9ŤŠ*‹ĂÇ°~GO#DÔPnćę°°ľ§ĹBž8Fgż&đď×Â
-Ăâ›ČźŤR‘ŕą÷×) ~twŽTŹ]‰bÄUĐ(}Ž’®Ůy!4łP?Ńü˘h­}%Ő«ěŘěä*`=fa2ňąÂ4şY%-!Aŕ…<^Ęż}‹«©ňâ:L‹-Ćy±,´ŃŹ”EZġô.Ňř…"5;7qQ+UĎ%GÖÖŁpŕ¦FÍŠn!©ŽŘÁç˙ •b«›Ř«9pIz(s„{ľçú/­ŠĺVCC–‡É,Ŕ´“Ç{śŇ @“9ś'N‹f§Ůög
-€˛…{ŠvyňđĄe‹wťŇÚ'EO˘OW~,fćîÚ,tĽĹ•ުFP©'ú´GÝÁnuŁÇóµŹX¬ cş@HŇpIř]q´ÜÉŁ‡ĺćOĺ“@d›\T“]”—j)s dŔeµÔCdžt†˛p5őę8˙Ü=ćî<D¨±E¦J=BRôQó1ÂĺIB}I’iµWť)ä§%»o•ą…*÷[aŹ‡™ţ–Óc»¸ü·•BF¶Ě=âł«·|˙ʤ w9Že5¸ř„ÖeâTO:㧥®T{Xô‡»ŞŹ"côRŤ=Ö5|Ă*ÜsśźÜÁ5-Qhsnl ŐŻąjR\ ,]»ěmlÇL´źř_
-˛ťĎŠj¨•ąś
-ÁX.˘ńšĂ#×–vűűŕ}ď’šT˝Jďrĺd®_'”JsÓËëçÖ‚ ٢ß'VP˙P´ qáŃűcÂóěŹ}ůĆÁ`Łťščč‹uşS(9µÔ~ć–[;¸·J2é?DT*´)ĐnęŘů­sŁĐ™ć©ôŮ+XěsCČŹôźaHßµśę­Ëó\c ,ŕýálnÉ}Đő™'pGź7ĺî7¨¸wiťťű‰Şę8#6‹óvŔ¨ľsß»ŤśÂQ¦E=Ŕ¨BA–ÁĄ8Źľ¦Ô¸ěQ‚Ţë?‰ýČf•0ŔĹ; ě)%ąÜµ¦<śÖužc\źč%4Ô©źh©P˛˘öłq
-Ç ›ľe-ĺ!Ť7x뵑ś„„×ý
-đ˛-¦¨oBfq•u/Ödź— üéŇ©f¦ś˙9.Ćióg¸I s>xĐ’ý(Ó%¶¦¨\ágČó@Yü
-ÜŽý/ä]!¤ňîă°y‚iŻđ-1ő´ËcŠŰ=ŘŁ»ăóŢż8鱍¶ßębwňÇšÖP9µ(†ĐÍż ź~F[:¤AV˛­ÚH˝fô; ľ˝,ĄYĺöA¨´Ă$Nşb‘ß“đŘÔ,? ç`)'Ţ{ńS±ÚLŨWŤµĎ f^‹K‡E˙o$­rĚD¶(Ď,öÍ„‘x}§f;ó é(†#qV
-é×ÄOwü?óG~.d\Űźş-ú®Ëgŕ©h?éŐIA” ô»ăţ<śőă2HĐĘRŮ/:Ŕ3tďyó§˙I ýZQZŻÄtPUÚŽüŘÂ\eĐ čÓOB’ŐjyúďTČß"Äթ꣒7ďW™¸ ť(&|‘¬6âQ>ţç‚­ĆŠšIMŇPW<=őEż´ÓV´ě S·IÔ5lđć!»ä6l_Ňó^żˇÉ=ó4źÎČ>8ÜçD¶R­K¶ý„\¬k‹şüIîôŻŽĹ‘Ü÷®,Ĺ›Ś˝Ö Ź´Pî™#ŽNÂÉ&ŠČŽ<§ő4˘ Útp©Ŕe!÷üŹČ6¬űşx`—´©iP üçá5c¸Ž»ky3`¨bEyŰőŰĎ«Iá ˘K†“-A >ÚžkŞeçÜ˸†šŘŻü8…bĺv†ĚŻóĐ'íŞř>ŕŢŕŕçWů
-ˇ˘TLäl¬Z#¶ş4ż[ đ(věo™1şŔÜ0fXWýn”ŰÚČí«MZ»ćn#.o¤qž8ă
-ŽŚW$´Ń`}ěďŻÎŹ ]ȤŹi(U66· ©&í…·«
-ו!NrFGĽ‰­c÷Jţk ·ÇpďzŻŁšXŕßć@o¬C4‰J2’leś»oň1ô•řţĹô_śtúŕš”±Źp߼`±‰'gÍŐ€óĆĘ&ÎácŤ
-齣承žˇŮ9>.Ë“óüAŰÁfßHPz p t†t
-óř:kŕÄĐ^l̡‚\5Č4dÍ8bŚĄÝ•0njËEŰČźş5Ę^M§Ľ‘̸yC8#É
-šŰÇT‰[ĚĄC¬©tí9…?±Ř§˝›Ř“]Ťk
-Ťs]—RŻV˛Ň7’˝,Ľ@X
-Ş~M,™·i]żłv=ú=iâß <«ôëĄ"\íÂÜ$Ţůe¸‡p+ŕ *ażç˘®őuwę$
-ęµ®­zŁc+pšiTÔ$+W’ĘfĺUéđ˘ĘsŞĹhmÓăîű!GŻ¤Oß4]>:‚4Ľ$‘"Ş«Xŕ’Nđ3¸žG±ě 4bßTeN‚±=r벵¦E­ěC}wrdrFÖ»KKăŠüBÚĎPiÉd ˘p'M´t7ěN ‚ő$·2!÷~[\ĆÜRoĹu,|CB5¤‚J…ňJ#µ•Ă‰ÔofE‰˘Ťś°+B&0,jŚi·ţĺߤĂzÂě`ČčeŤjět;JSaČŤ÷÷˛ňR”L„8xęŁÁLxüI:ńŐc’M›Žae™Ţxf;D_sâ
-¬yŐ“I΋Ýqâ ŇŁB8ÄÄZCˇ°ż–8]YÓ c“~GÂk[Ěw˙äÂúkIÜDˇP»Đ±ŚUgŘkLXŕŔż„ṁ~LÓ!ň6^˙%Z‘
+xÚ´ąeTśËş5J°`ÁŤ»»—ŕ®ÁˇqhÜÝ!¸»wwwwwÜ—¬uöŮkďďü˝ŁÝĚGg=5«zŚ·Éä•čŤ@@1µ=#7@ZFdĄoÍÄA§4q´Ô·0Ó32˛Â‘‘ ŰőĚ@Ö"ú@n
+@ÚĚhmü“$úŰiő>Ę÷¤w»Ă˙{„Ăźš–‡ěŔ˙hcŞo˙W®´ĽĽ4ŔJßĚÚh­omřč ďŕhĐűËöţ4˘ř›  ěhg÷§‡Ěż\v˙Űć_Ô…@ď+Ó˛t÷ÔwţďÓ·v´wűÇlţsن k{3{űż+Ćf–Ŕ?ěí˙ě™™ő_6AY 1Q%e:éwáYÓɀާcMďŕâđWôźz‚"ŇÜ
+Hů˙Ěôżő­Ě,]˙3ôżBÔ€ŘRĘ‚ě¬ô-˙Ëgf/fć4’7s04ý{´Ű%ôßő/hmb |ß–żL*Ž”ĺ»vßďł?×€Ž™Ťůż|ď˛4´°ÚŰŘ˙NľâżżO˙_
+ÜďQů{%Ó2ő
+Ra˛Ë<ë]°˙ĄŹ#g¨:<Ş™ž¸9A¬ 9ĄNeÂĺŤpP"®‰’‹ÉÍ´Ł¬>— ŁĎM0Oź–T…H˘â`µY%©ČZ^’EŁ‘[Ž
+g†ří Ľ•„
+—KěĎÎ2aŇëpjÁĂúŻ$ĘŮ­3Ż2˝şĹ˘Ő°[4ĂS#Q Ę˝ĐeÔc%†ĆW’zÜ˝;ő)}žGýMznm|íŔjŚŃđ^%Rö
+oqOĂĚë@*`Bo»(Ĺz|MźSü;ŐĄzä¸Ţ+˝Ł@ –h{Ăëh(zÎÎ7ęďtŕŚ•ö#vĂ'´Ţě;ž`s¬žĎMÍÎK =ł~'‘§T~,¬”0„°7äÍJ}óŁ"ë48
+X°–bÓ˝M’äź
+BôľŇXdŽ5)™żx<™|Đ !±ˇY\Ú‰E<ĐNó«Ął7=Mµ˝[ŹĐN:úu‹hG©§EĂDáőâóIŤăőÖu=ˇ~Ś‹swâ'"źV4‰@ô›|^FõřKp˙î$¶XfŢĽĽqI¬LO6ÉÝčŢn@V=ňÍŽ/§é˝w‰w(hůUe>Ć#c™—¨o$ŃäéDwĚ{‡ó±‹[QGĚóÁA"ĐCŢ–K”Ôď¤Ö X5Ż¸´ ˇČ»zNJŘXö˘Ús€ ©&%¤a­íך Ĺőé|Đl€Ëä>Ncş&MůY63SzWLŻ°ˇ+ ŃMţYGéJŕ!/˙ž¬…ň.ˇ'p¸ÖÜq´™-™‹™úž©Âšú<Ď8q k~€1cvĎăňIäWKˇj˝Ş>XÇƤÓqsçě$Š8Ŕ+JMŽůćWľBúدĽ
+sČN]Ż)Ë! ¨ťnM‘{E{> …Ů=ËiQiŹnŔƸďMtÜ–anň&…ýFťÄ÷MÁĐčĹH<aR^ŹHŮ›ą0{}n甀9M®–ú·Á=V
+˝Äş ŚĽŕ3585lŻÉ®łŰî"6V¸ť2¨ńâ@Ćâä_cś2eĄÄÔţz3®}BuëĐńöďzHĎ“ůÝŃđ«(¨Z;=†ĚésŢL÷Í8$
+9/°‚-›&k8Ţë_Tĺ'ě•ß@$¤ŞŘŹgÄ$„ˇĆ_ŞĚb©če
+ţ”ńé‰VĐă¬Ë(r~DV”=»”Ł×^őŔńLc™3†PłHLő=n]žő<_şL·…klŔi}xEÔĺ<·
+ĚçęQÓž)X.0ßąţ¤~0ľcúŇ)4WýßČ=›MoË0¦ý(› }5 ]L0żęj0:lÚĆ-^QŽĂÚ>EŚ.Çż“bxµňQń¨e
+%ìf‡Ľ ć{ŚQ׿Ӻ–JŤHÉďçM‡Řç˝ŐÎąüb® š¶ŹÔër}í%aÔctămhc 1·çĂ5Š—’š&"xjęýqôŁ'…ÚęžrKY‡zc@ĐÉźCuzN×ôÂe÷ŞhîÉĚ'iţË"FôŢş)5X×p`WˇĆ·­ŮXM;…SWéč§ŕĽßŘ9·`¦^Âś±aY]űĘą—ĺx
+ĂŞěş_ÝŻýí.ÓW>Do7_ÄáČÄç‡óŻÉé"mgŁ“Zc…}CÁy„].Šď¨üIńŇŤGç^Ĺ3|ö˘ř‰ža>b<c`řµfTzň07'WËÚó‰Kă/Ć!Ţ×ý†ŘŞç;h§A¶DČ”˝zÓÁ”VâfŮć#â˝úr^Ňá›öZ|MN;"ó㯚0Y䮍€n8ÇxĂŕMŹ$·:ňË» Ďmš/Ŕ0‚#ytßy–š×´)íůHA}‹˘WąŤźG¸–ń¬î,`Ć<Ă€…łU'}˙*G«{C)Ödţ“··V#0>e¬ţVíş übhaÓěOˇ[Ň› vĽ4°žP*=áôŚgç†wÉíďq`UÇ Ŕ‹üň]Ő&Eol¨ńP¦ć¦¬ô–Ëę}·×~]CQ‚Ҷ%i°ľ˛–­śÓ€‚ňź9 m1">3L
+ ^ TóOâĆ_.˙ÖLؤVV°ďŠ6Uá +-â—"W˙H,,›Ł¸7akţAŽs—¶>űŔvX3eE‡ĽżĽ`6ým5/e$ÜŢߦ/ęíşu3|8§1ăZM1#ĄĂČh `´ĐĄ/X‡4Á§ŃvĽĽ†®µŰVł\= (,H}q _UM2ŚRóČ “~.°ýęqzË)ĘěĹŔ1żÎďl zőŁ‡KßRtÇë·YüočUב9‹b| éĺyJłăx Äw*ňş 9~e›ž<čé‰Ë˘…Ôź˛ô8}Ři‚"öoUëĎ3Ż‡Ű#}ú€|>WÂb˘ň$şó =ŁÔ^Ő[uâóWO0ŕ1sŠegýS?!H>ĄřóćÝÝŻ—qRň‰ńw3Dďt2éśÉ ™vşď1î§z…úáĐ›i"ÂóĽ*@†&t‡ÉŃ÷
+č[úĂ“Ťwk‚MŐŰĚľ ę-„,>c>źüĘuôńţ%ŠÉ+č#=>Ďťm›üŽ23„ŇţÚ ô˝“|>@<¬‚>»ë´±µ«nĄÂĂ
+'młx̲˙%7•=sřĺ“ßî`ŽŽů0›ůqMŰ%B.66{¦+
+?°FÔ×ţă~ÓO҉<Í…Íł}ľ% hůq˘çăůçlĽ§KŠ×®ZŃ™Ćn—a˙gVÚÂj.Mč>XWłšNý9Ű_ÄŃ°«_†GőF//«‡K^0Ë%>]şîÚ“ąůJG®ů¸ŔĺĽéßb“Ůî˛Eó: űîn6ňĹÂKzXy:ď}v3ŐŻ\*3ôm–[ćPł?ŞăOúůÇ =ëú2\?á)ަ˛lI„aץ(«Ł·ŃđĐĎĂä+{H}Ǧí Ĺ«§g}Díh1UQs#÷<ŽůŃCť”Ç:Ż÷"9ßŮJşÝp°lČüÖé%áZ‰“Hpź„¸F—UGSČŇĹ+të‰NUaBŠÔćwk˘đzŢL\ΓAÄÖL]I’2Ą±‘OaŚ<žNľ zĺÔ¤˘äV¨S.F(¤ŠÁFJŮ‚H C®H-©ĎP®URšô=t*ŽšĆ,QĚąâeÝ›Ą~˘đ’±$’Ťs0ÓA’)·Ă™B,UË:Ş€¬"ôô…öjDĚ…˝
+ű¤•˛„ź1śÎÂR¨ Ő˛ů:)ź˘ó™‡¨'XÚ»vňŃ'` ?…Ď·±ą/QvěȡT$Ĺ(psqŘ–Ó‘Đ…ôąđd7ŕ'ŇČ´±k5VĚl î‡N#Ȇ¦i Ĺ:zäö“}żhZ–a€ÖđF5ťÎk)¦¨D×ZŚ~iÁú'˛LjgĐ`ţr΋q‘÷\ÝÎhDóc0”L쟎ĺ@^•J®2|úXP:Z/ęÖđz†§Sż˘HŢę^,ap–ŐçAßÝ(oŽ{3¨A+NŘČ(~Ő#µŮYńŐô©ŕ®ĺD—í.y(Ůž-ˇLeE»Ż€ČM…gI›p.ăď2.ÉÝ~i(•M::îUi·ßsĺo\] Íޤu"{ą†ID§W¸8'—Bű¸})XÇmž#s•ú! Ą
+Ç'äf–sh_µyË'f±ëź„~ł©¬ ]—D
+<ËĄŞ}K÷źL *=‚’¦ă—w©N1O”Y,`®rŔ7©* ®žO€üŚÔM^˛ů)5–?ôë~Ń(;¬6µ|J×Ű×xÎŽĐůÎ2×”IŔ¦4äĆő4Ď`íöi]¨}re¬Z
+?ĹşbuB±a´mk‘}V¦%î9Ż’dšgQ¤^Ái˛n”7%)­ Ţ‚u[Q±ů±#,ÂÝ! ¬UßÍtFó3«Ä`˛±Őß—NnĆlaëWägźˇýÓŃħ‘¸ĺ&Ü„#c¨nV)MŠ_@<Vů„1!ëA´ż»î«I`REIÇ<jW>qéĚ Âáž
+ű ”cühIŃ$w—LÂż”-f¬h˝UÍ3†ŕÄ»ÎN‘gď9‡î\Ôv?Ľw&`đ-á@ů˛í˛¨-
+{h·#>‹Űc5Í—U T˝-“u'{“•í† ŁÁŻý˝$őä‚5”¨BÓ?•’ŮQ¤É„©bcUĦįZ3[„K[‹
+­GqEq
+Tâ5,łRiŻ°řë
+3ź¦MŘŐůú(—ô1Ćâ ¦,šo*ÖpĆ46`Öń$ŽmqÔŔäÚöä$=¬HŔkâ
+/˛üP7”˘ĺčjĄŮzóf¶6Z#Ë쵄EŁ†ő&€“÷©ôĐ›ľ‹á%ÇZˇ N!´z'×ĹWřmk¤š-nń áŽo'bgÉ]%ĺ9ÂąîB-=HŹK‚«—¨ŘSLdˇ%y-ä!RŽbnCłöFćŔ’sN‰ŁŠŐR÷sNśtÓĂ;:c˘LąŽfys2×qůÖż!ýRż;(9‰4ńĐ»`ě•ł,ApćÎVăöeJ7WçÂ6ĄŤLSóťXŮé"}V‚äüd'·­ż-7ťŤcf—îr0‚JcŠ-´AÝë—ZK×lŽÁÍŃrq˛’P×®Ż6#¸qôűFeI”ČŘ&~‡Yâ
+Ív?nś¬ÖQíŐ?áťf†Đ0¸áę;ű¶î>g`Ç–S×*Fzâ;·řbJ`›†ą>­tĄĂŰÜešĎ)[‡
+¨ŰUĐöĆŕńyp±wGKŰü`ź0č…Vń ća…Ă…źö~gy„˘Fç1ÂŢ÷ŕ"÷éĐĚö
+§+”ď‚]c’pędE(a˙–Ă?€uŽ/#Ž_*AÝţ}»đfBľţĺŁö8˘^Ň={đ`lvƮ߇ŹĄ8ŁŰô¨±ĺ!»ÝżjsSí.ł«eĄ …+EcÍŕůUҬđv ř˝ŠĘŻłmîđx;÷î_kÉ€çsím3Ëî`í·}‡ţ ĹőôO›™•%&Wş>µY’ęRq<‰tst¨¤…‚ľM*ÇÉŹ"açµá~}^×ů›‡Ź&\Ě­1¶8‰¨°Ç•^< Ą¨ĚĚń”č¨[, yeo
+vÔe‚őĄWţ]Ě”E»Yl"N×J2îIß̨n’eP€±=‚Šż’H®‡ęŁşĆLO‹]ëˇIśĐ.Ŕ“Č9OXZPwçn łĎ‹  l'W.$aĺÓR)ý6#˙Űż8ýŚ)ý^~’iwô’ĚbĺçŹţŃú=ÎBç"á;—ŇŻNÁ„ťB›‘őÎě,ĂDsh0;cKw˛Ní.:ŐwkçuŹeN÷ŽC~ç™Ŕ,zľÍ¶Ôp0ź÷ńŽ—ÝD"ç ÜGE ?č4é9,ôáK«×ĄTx‹Ę ůă FĹ,Ű&k>t|‘9@q_ EËŽ˛ 
+¶ü"\ Ď…‰”Š€Ťżü!á>Žń¶w÷yBi0l‰ľÁLń()Lůݬř0u¸ZƲ®†'2\€Óűł4jí«+ŻE‚ßuáɲZťúą†â¤|¨J3$í¦ń"„ßžŤˇ&Ý ń!Ĺ%ż/Ků„ηë*·Üęű6î
+»!ę®3!D©qoK×jĹ
+§QKřąÚăŻ>ŹC˝…Ř3N·ÎĂ~LˬĺŮsp»üavÜÁx„89óşcČŃëk×˙ŽţSëô‹!M˝}&ĎÂâŃßçxíŠĹg–ß
+DłÎđrřKÔ?eOŶ0:X¬ŤÎ˛OnRyPFŽĎýéK<żYÔ/ĎĚV ˘ľ¶úŐĚOŢPŇß‹‘ŤÎe`ÂGŹÜÔăľí#k1ŐŮ‘Ĺ­©çĘ
+ÝęÓŔK`é^$ÖRĽp±mĚľBQjžciY*“t%AWâDŔÄMš5)r›(1|X6‹˛Ý˘äµG:¶}EßâĂ$$¦íĎT°®â(mBĄ{ÇŞÁuí2b¨¬ä‚X/·Ő<†~´>–ršTŞä ¬xVý!tPB¶Ż?Šqlíń¨Ý"/u8NőĐeÜôŁ+ĄÉK2U~q“”bŽsřé¬yđ49tąq6-qx´n&DźDh.©‡łýľÉ˝ŐkÄŚ‡†€¸ô,
+ĎŤB‚ő)…ßÎm|âˇ]ź:.dWú:uT*ś8ęÄÔÇ«* k"LzYw !âŰŐá”äíŐKA:‡çFŘPý.¸“ €—črJˇbĺNwëR¦‰‹Üb€­&2Š"™Đu ń·ŤĘQ鏇(· žťÓ~&P@C“ü—_ś $<4Ęâ_
+Öî‚Ýŕ"čâ"xăő"g°Ĺ¶a8ŠÁ=G“VĎé÷^"w7{:#ˇ˝ôC‡ýÜ.ÝxĘ6hü¤Ť'pŇ!í‚ş÷Hđ·ţ±4~ű^ÔkŘZ˛Yŕb#-Lx¸|Ý©ŰQĘtź-ĽFŔoŹH ©éŐ'Ś2+
+{¤·ş">z˛~šĹóCô¤7Š^ě «"}Ěőß&ˇČ=eËHp=¨źü>‡"0ë&’uÍĎnCĺdŕ© E.ŹÜĂ~ý!A“dËŕ»Ĺ)ß„yŚ„ó9š P«*I3Đ’÷K‚\DIĂ‹ˇÇÔ«W§X1wÂďÖ݉ĽÇ Ó8cˇ Ěm„Ž€}ĐT˘šiÚýÖńł`cDn‡ĆLÔoµ‹hr›ČăĘÎá{ó¸óZĂçGř3ô<L™˘šxÚ|ęď_ŻżŔůzđ|9ńÓĎ—%`¸ě«˙)áT{'Ä7ĐĹ/ bđm±–‚Ŕp»aX%`Qóüam_„ÍÁ¬ćy$ąj3Q`Ën‡fhŃvř Ňj˛c‰©;€r&r gŹĚ•Ă‘Î!ĺ/kB`7Ůî<şU¬ňĺöŰ·Ü‹C‘˛I’ăÚá-a7”’5ÁÍ’ÖO|Ž‘ÓżÚí- yĂ:9±0C(›Jí˝ĽÉ×ëĹe»`RÁňNQ1ĹŃlE«Ď—2i^©Ő!dĽ$ÜV>vJJGú¸@.#…“˘Ź`š9d˘8DŠoeĹőzčöČÓ‹¦aźáLş•ľxŠĆ$§ßŢ©BPÚL
+©S‰I"‰‰Mý,ú8>®1žđşŮŚÜŔN<>eg¦5o“Ľ„fLöJ!m>]Ź9z)­ ßÓŘ`P š-Ľ7ťIQŔ´vłwH¸ćýlŻ©¨M UKçC/Ý.~0L’J]™ ©§Öř”ý<5Ö Uó 191Ş…ć-KÉ7CÜE-źkę­Ô#,¦É“Ţď§×îvĽÁW]Ĺ•b™f±!±ţŁ#qŐĺ’ěŻV·ż ť %ť”‡~÷ćłěÉ NĘ®^‰Z*ÜCM™Ŕ¸Ü—O·%® ‘¨“{ {µ˛QŢ:ă~śś˝«5ëgŚŰË .’$ÜňłňNa6ÄĐzqF
+rö=_ű7ŹĎ~'Cy®ń#9ű0X÷¶YgÜhç~uŢű!ýFű<Ú[«ĎrĂČüńIřcÔ……ş‚˛‘ŻřôXpŰ›®I‘cü9‡”č0U v"§ëc˝ ä`=rĽX™jDŰâ^÷uÍyx6X<a˙–ŁŚł
+jŹńzĺߥxy'‰‘Đ1+ž¤_><Óč;16Ç|(ÍzzćS“]śj)ůĄ“ʇą
+ąŢsk'†çS ďýµĄę2Í.– •)qÁ©ÖčŽ×1$áŰ=?gạZćn‰”{,»ÔŽž\ž(őqĂ‚*«R`¦ÎńűDŰ"žwö×]„‚ŞMŹ 1"ˇ?r)îŔ(D“¶ç;ş»vµdah‡pi`§âQÝóÁÎô°Ôżň
+2k÷çW-•×«˛…̆Ł(dŁ:gVÂ<ł8Ş—pErt&ËĹI'[Ňĺ#˙č_~¤ű]ÓĽG;>ťŐ,şL)(ëˇPů|[J¦y9jŐ O
+Ë[ü1ÇĂČÍęĄăŰC¦–ęLJ~Ţ6ÜóŻę˝ń=Ö-ŹźÂ:>ž?·'V‚ăX'ąWDéÜŤşpé‘ĆľVÔˤq_'ăÍ÷C÷©3JÓ¤ŃŘesJęYÜS2©ŕë>F. »*2íľ¦íe»Ě8îěŠa!«ź2ň4É!żśÔD‹fwŕk:Öí<2Aµ5~ýÍ[}Ýň‚Q{dĆIYŇÔ$ź–ęáimŤ, ó ĘÚ
+ĆćZ“ ç%FăĽf—“gu®ŔésVQ7°:¦uô}ę~K
+†Źâh,67I©~?<ÝDĆ~¨rĺ®(1Ő/Á6Ŕăc$‡·ŐWáAŢöfăńĚÇŁŽL Ne¤=¸9c‰´ćö(ţFň`Ý“Üf¨ĹćŘŕŔjůE8«gy0Âcj7:Űţľ>Rré†ÍaFpš”~×Wzj\ oĄ,ş†5«\2đŘôď ŔEĂ­¦¤.¬ŻĎŢḷěÎé˘kqÜÄ“ź,¨Đ1„8ýRĽ2«Şĺ™˙iűŽmóµ\5çőHâ'Żbꨳ±ßWÔU÷+d Ň'ÖĚ藝޼ AŁ‚i÷f\óµĂq¸˛ÚxT'źa„™ů T(8(Ŕ§;€®ČÜë:Ż”Ŕsއ]‘ď Ţ Ndř Yá cď^߸pn—¨łS‰ç†(„"BŰýç»ú}¸W%eÉPmcUS×· P‰4|)´R¸Ĺ#*ĄĎń
+ú…)ZÉ ą&ŐEŮ6{×Ý91ŻiîfčT)c2v+;Q–U˛ÁwÁ‰µ‚>16L“[W%¦3Ýy¸P–ŢÉâ˘*SĎH?wÜ>ťÁóaÚ¦şX]wîhę>"X““lŮ-* „aď´¬“"ţed$­»š;RęŤm•*^úxż—N¸p š®8l""çâŻM'„z‹bšŮ¸vonňg‘SťŮËE{ŔşŕŘWä ×,R|¦(×ýB{ĂYßK…*oŐy<Ť±Nţ5D¤ŮĆř·9Ä_ˇwBŚAĄ GAŐü€/ÜŠçTdĺą5…îbęř•“9oTÓăőgľ\u0Üž˝ŮČĄ™
+‡A‡¸tŠ´+„—Žď˝<zŰWjnvăáÚa¸‡PÔŘ?69YFŮ$ôB„&{ ®cű»ŤË{
+ ĺÂVůů”ë7ľ$ÚĚ2…/%k>ă\ ±–ÎLFf.9‚˛kş“ů‹ĚKÎŇ&ç3÷Á“L¦€Ź™ł@Wř 4< - ůÜ@eŚ˛Ó÷"3Ă3źC‚ˇ,8ëęţGôřŰĎĘżű0Öz˝ýÝý±7<ym¤(4Úę(
+ř2–:2ťă± F^}®Ö†…Cŕ š8RßÓ»ĽóT~|ÔD%d2Ř8iÁ‰±s/R™´8ţcńM6Bw“*†ßv"?„1'l»¨üËĽ¸s'9˙¸đcbfK{cńF«˝Í~ŮxŠN_ôwÖvąźB*UĘů…śŠÖ®ŮüŤI•JR××6# ˘íŘőÍŐw®öwŮŘÁ(Si÷@@§Ź( é“¤ž.0>3ĐC$†ĚpÖdedY>PhŐ«žu"F˝Ł¦"–+-=ňa|I^98‘,Ąť8ň#'ŮLÍÔ.ĹÄŻ¶Ţ"q¶ŽˇÁgž=$
+gá~iöçŔ(Ć˝čń“D-Ȣ_ý"–°BÔ%zO®
+Ú{-›ÉĹÝ­e­©¨éVŐóCČ"«ž¶¸®„íú š"6ŕ]Ă~_Ťáăs7~ĽjÝŁáO§€üŚóB=’¬ożŽŽx#>G<É­‰!˛1€žîUˇ!ďů<c˘Éo˛©Cd‰.yąxvť˛ü,zÔŤeŕŢßÝƬă–(Ň{]żčłÎßcG¤ Áć­ö)=ŹÄ0÷`6˛tI™¤?«/ËąuY·‰ČŽ':<U…˛Ýó`!zčČĘ^ńý>Šb/Ší::ŮŞžëË„­Tś­FZ°&Ëł|™LwŁˇ…Ťvß°4PăăM~ŁÄÜnCŃ2Ä ×ič-‘˛ÜóUZÎ) ń½'7ťöĆ‹P ŘřE¨­R=d’×8‡Íś·bű2
+Ŕe7Ňhi”ň:™nÔeŹj˘ß }CšŕňńÚŤ´1p
+M4|rćRŢ|‰8Ŕď÷ŐŹôčÚŠlß"Šç[†<…=“ÝN ˝m Č#ě Î’­ß´ę6Ó‘{W10ťŇľąNTs#GęŘ©U d ĺš­Ŕ•=sĽ{» 6TŰÄ*ŰŞŚç­@v iO~čSż#ď)÷ž«˛0cq).yŰ÷çUůfĄŘO(ÔĄÄ(íNjÔ÷E¨ĽI–VÁÂ÷SA®˝á^\iľuÍ´Boż•J+˝–!ŰÂvŕi0.łÂŔ(Ôg$vŘ'…×µuIĽŤâ;Ůó°V3ŐBěJ”f—¤Ű2›Űđ#§ řµČĆoHŐm:îĄ3ĺĐö985ŘăbŔŢd¸1§Yxó %ΑŃCăűŽ}ĺŽ<ć‘«J"s–ńľ_ÍWŞŮő|nř˘~Ť ¶PQĺ]yÍUcńá'ĄqaĚ‘d¬qÝa‘h>g› żŁŁ0»*śäq•'ď÷Jžá®DõŮÖ)‹ęR¸ăPM5Ľ±ęF8¶ëuzżŹbĎĘ$î!^á \ćŢ téÎţ¦ˇ#\{ˇ”®'V˝I&a8çř‡Fa÷F_)µéĘ<S<Áç`« 2rÂąťúěě{)ă®üŚ {+ˇTůa'5†=Ĺł“qę‹y+­Úe¸ź©ŮV¸S¬‘EÂSZ»·®čÝK˙×ÆX_Zg#(8$ME†OÓ8Ş^…i˘ü/- sĚ2ę9ĄÚ’â^Şt4
+řČţ˘Ćť©ů‡űÄ­žŔŞŽ„Y€[înűg3Ç4#rŐe•rĚýŠź_Ph‰ĄI—2 _ÝH  ç$S>G›Űü>ă\“śĆHş“űĐ˙!¶B@§Ü¨‚0n”Aú† 3v˪щşÔf&6¸ßď5—pU7• žo‡Ř’ĚŐM)¤kűK#řC8ăŮďo
+«8 G$Ś±·” …%^5zŐTJřÚl…Ön=ĹX¬{Ę|xŇ_Q3#swĆZđÍ•ÂęÂ=îőE éW-‚ól?Â@űÚYĘpxĄ¶ăťó¦-IB­ŁL÷]éoŚâKÉž+OË ĂqŐîöťůř"EÂ`?Áŕµ+Fˇx÷qYPµń.WGQ¦ZjGů@żR‹±Z‹ąó‘ѬŕßÉL/Ć{O1^°¦1ś¶3Ę^(ŠÎüÎŐîÔŁ Ó3“ML9˝7¦5účÜ é4™6Ç[ß·Ó¸Eręňji-cBŞřŰ.±4©îÚ÷˙kăśš+a%gbŰ۶m۶m›ŰÚ±věLl۶'şçőV} źWWŻjńűŤ‰¦§ÁN·ut»ąhˇ4¤ť˙!Š@“ip8ެ=‚ŹI [`§1Ľ[řk[3U1ŕéĘl‹"Ä +Ó÷. b ť\uťŃŤ—Ěí°4Ę\Clşg‘Şo™ń#čó07ěëćňŽg<qđőĽ“#„»ä/ßđF‘őőY‡{Tçď’|2UŘĹč F2‰SXUGLş&z[ŰťëÁrě«2Qcńľ°dŹ‹zVÍ;ÇX6‰ĘŐśLD×0˘°ç|Hi‡°/ě
+źr’”ĺ*éeŤŻđVšsÎ(˙XcÄ3ec'P‡öňŞâ
+9V4×y´Wąj\>÷í.Ρ>Kă%™®%ăGLLâîŕˇxö=ťĎX`á¶ăÖŘĺ'nöˇöi笞 ‡›—z^ >’'ÔčQúÜOË­wX<É ŕťŘŠ7Ĺ1ZüBéŔ›ŁVŞP}6şSˇn‰RËđŃ-˙ř·˙ ”?ëĹ~ţÝ`”‚˝T´ĽpŇ€Zy˛ 5áH wacŰŔ>JLź/Ąw:ýŽ
+t+„uěs ?3˙Ńű_MöwĘHő3Ľţ‰Í/‘dđ×”H<ÖŹ!÷Ĺ
+ łJ…%HYdâl"͇/XŇw®ś™µ§oĄ“ąP;
+Ki=bÇVŇîÝu‡ľ«~*ßĺź;-ś7 ?_ŢDA4FŘo&fÝńŘ?ĐšűűŔőNEY¤ŞÍÔ˛Uí¤L’.˘j3b<ý¤vFzGněl\č4Kâ!|}Tš×)¬äX8PRťĘ1Z0,µźî¤bÔąD×ĘÔ¨BhËŇíÂ\9ów¸é#චć)tj÷&®ŃćÇ´ć%¦&0ŻpřŹžGr;Í’HĎĆ|"Ó&˘<3±6ÇŹ1óŇäZ”K<â>
+í45ˇvxţzÁ㝯öuÝÎT7x‰ß¤¬¦aŻąůw™Í/ŠÂHÉÍ‚Â5ůl3żź=¸BGµ0,;ĄHšĎŐŚ;q{W%W™vŃ‚·3Đ6ő&ŠüÚ«7aqh*řá*‚'ȱ[«']×Ő¬ÚÍâď×I5l¦¦ĄôH+.ůCXĄ±ÖĎÁ4·1Y“iŃęщ;·Î żĘga$Ócřl/źnÎ.ęhĘÉzDg2\g>S˘Ňŕ.•S1đßxz?µÍ\
+V"®­¦Ů<LťÂh!śjŕĽzÓ©”oBŘýŵłŕłPßżęZÎ
+ÍŢ<ąm+ą`ÄěW˛,sŰm]»Ś@5y‚Šé9ć“ŞĚÇś<~ÍQ¶|ćçކkF"D¤[Ő}ńŁ–" kTĘë3˙Wîą.^—IÇöÝt”ŽůçľÄ´qđ0é$‰TLŰ“`ŔëĂq˝Ćs$O[íŢťPP]1Xď*zK¨hQâ6·Đ%Oçž!+†ťlö}ůB:“+ć5¶ÎömϢŚ ŻpI´ůź˙ę*éđÇb’y6że”m5”Ţ+» <·«ŃÓ?њϰŔ÷1–eTí…wĂň…Z˛Ŕ‹/
+Mk8Q¸
+a[+·é/ňů~TÜk˘¬ZÇbű]Â:¬gƱ™k3yóóÂ3îi—˦b¦
+Řĺ‚Oüg"7Ž"Ö†„+wvËp¨ž0oępĘç÷ü o˙nç µ%/,ę4Í‹;sśX·*5!=YzGŚé•&Ś!ťA¶„¤_¬L\?ŽÖ:J‰±+4 |Jqś­śď'Yř,Úňď4űšWÍŃć·hăŐ [›ľéţBs´ÜffmŠWĘ5ŁôÉţ"ĺî©%rŐŚLݱďńźiÔU"Ňż®ĆľÂČn»c†>IŮRMë«ţvG;O´¨[=+ý׏WtţjO9gŢÜEËş!X*\Ě]˘‰
+ôź«Lp@´[xbŻVt@Ą(ă,
+‚Úş(CƲů™đ˙ńđGçµÁ­é*.ÖüíQSăâ0€żP{ŘacŤŻYc\ e ˙×ÓŰÖ2ćÄÉF=E6#âÓý6đÂM†·xÚ x¶ „# ż|ůÉ.ý˘žq%ŐěÝĐĚúŤń1NC§!W`±ą¸!?3ÝĎÓ¦SuYĆz¬8Ô¶‰9™¸/ç¬ć™ÇÁŠß?ĚŻ¦
+–‡ú~ΕĽÖ 5úĆń÷›Ľó’UŻr Ě ŕĹ´JŐdŤ’s¨\5G{żĆ˝aI€§Íő„ťĚ" ]ÓÉ*ślŻeß@yEhLňvOĹQť¤,ítë'YĹ/ßxż{XN…Ai‡š„»l©Ŕ®~¸‡
+x¤~ÂoA~UźĹ>Gž$ő MŘ8[88˙N± šŮÂV`ÁGWxđdŘĽRí°Żż™7ŠýQĽń-\ú˘ě
+DÂĆw©÷Rďőd–Żőâ‘ĺ˛ń_¦ý¶•ĄŚ_·Á1’=чˇ.3ô!ÔpkßřNjI×Ŕ
+<kC&;Ţű –ĄË¨^@ü® 1ďg®żÁ„ťd,P‰Ő7‡gę˘úĽ*Ü&®Jµđ–c6mŐ6NS3ź &XÚĚ ŠÉĹ€%ţ-rIčŤ<í] "ŚM§MLđ„˘ä vŕáÍJ EŻľpäĆŤ>ă×ءI!č:Š±* ä@ňMŁ‹JŢ{ţö
+[9Úl@c"˙ú/sęYpiČ
+c9ůůĆů:·M#űußm“A! CZ4hÁVa™Sr)t—ÇIôţç­®űJÇ!,Ţ‹$«ŢU,w6>ăî† %ÔN·¨á%ĘŐ¸•˝Č‚‘©ć"~îËî#‘­vXŰ®!†Ę»#ĹĐÍHF>‡•F§˝źż;*F>Hă-ÄGuĺw_©´L=)Îwřk$5;Ű5WÂĘ ˝%+iv«ďžśHF\ý{ Ň3#ý•Ó)†{ÝAÓsˇ•Ăm^ °ęőą+GŇšďńT"\ŰFő8úaş¦,=]2†łAźýąV¬_ďㆠ3ş_n,ÄĎÓ g:ąbă/Îo[úWb¤QJý,ËI Öč/$ é.ř)?›–ČňiMdH¸xŰűŠTé†ĐSÇsTr´.Á{Js˙›*i»#Îżj9YŠE!‡ –ç>rŚ%çř>ź>ĂÓ9ĎUß—ŘKéö“M[íňl÷čk!ýjë‘YUŁEńŢÄ0 ý{•Üë÷şÜ˛Í21ß’A­é*1#©r¸x…şŐř&S·8 đÔ@:[,«Ś&@-űh›¨¨±ĚF!AKF®¬ˇÁ€©<—Ąó$c0=çaµ"9Ču-Ż¨ěÖësţý‘ĆäAXY|("¸ťĘ¦)ş8l{ÁÄ3“é^Ľ±/ý"ĹNE¸ ¶q]'pN… .ü şśîś4ęÎ$^9@wńpÄ{ÎRť•îčguÄ oĘuT-§¬8Tđ;Ó="zK'sC¸igţ“«óo”˙ýfâ{°bZ=iZ
+Ag9MGo#nˇčäß˝ÂŐjĄ;ś¤(ľő$:<ř˛WlGŃĹd<!‚ä^5=Ö˝3©ÝAWĆ;Ű„2\pZĆď`â2Í5N˘é‰ŐXp¬ťvę¤HnÎ|ü—®n"ŕţK\mM±O›„‘H+ęąJËĆť†ÁÂłčÁŇ„Ľ:gđDŔ¨Ľ@’8|ěť±Ö2Ż‹¶}±­ÖĎg‰B_łÝ0ÜŐKŃٵÝÄâÄ"ĐF‘Č~ͲăučdŢćO]fJiU>B ŻÁ‰JŽÝ¨nC+{µ""Ą¶P‰xÉaEÇBÁŢGí¸&fţ¤H—âđU[0Ű2@ŕ ąh!b(ŢăąK°2°ßŰ(2Őş)‰č×l
+Ń,FKh™8ÇGtŃ=5%ŐkŹf;ţúľĆŃł Ca˙9śÉËÖÍëáPjwţüäÎńOG*HM8˝ćU•üp&Š{d[áqź.GÉ}üŹýż˝é“ý<ŠśÍ,Ú€±FŞˇÎßE}[ş‰›îîäăĺó8˛ P멄Ÿ+\×ġ¦–eÖü›Łt Z)„0×é>yęžxˇ3{Ň7pq&ë+HÚŽ]ßp<NŚyćÍvŤOOéýüÔ×:äčëÖ”A&úZÔP1Śçá`.Rb?Ć #»˝Ô¨xG,óA'xgś Ńŕy©Ę/řG߂‡Z“kě-â1†¤Dťń­­ě/­JhX÷+›d`);zÓYx:NVWÔĂ.zçŕ„[Y®qÖ‡ˇĽ/źČFň^As–ś‹§i8˘i5Us÷*ś‰~çÍ,śgiűµ[ëN™ó-WĆĽEyZ
+·VĹ6ŤőüĐ%Ň
+ŻjŰĘ›Ë_^˝h4ŠhA‹Ű"wöf1†ć ¶8hŃą¶ś\8îët%Ţ}·śPJ .BjłÇĂ]pI›hc[duŰGj —_‡Íľą‡÷sŁëĘťNô]_KP^&$ĂÍRHg;}ÜňŘ)řF·Ő«(¦5M>m§šOXłśŞh0™ŐZRŐL[Ů&·Č Ž,g·H\7—µM9ú(ő !pŁpŠăď%ť#lî­đEüś nȎ䎓[q5@Tř¶ď\FÔđθŮîż“Äúg.AÄ=,]Ś!ňĹJuĆ:Đw¨`źĂAż?\{č˛<ůÖč»Xä’}A Ýą#lÚCSŤkÎ{ĄRáÉôüd±a1w‘°ńžu(kÍ©‰Ź<‚«şˇ‚Ľ¸jşŕáAAU ­©š\‰7÷2
+úî,hS›`LŐ·AČĚ€×Ů·ňÖĄDĺŁ0ŻűŚ7Îź¨”´Ę˛›„ÇÓ€Ül–¬rV4˘Ňs´FžăGó1ŹÚ€ë–s‡y'NpˇęEÇëAFŁíŮŃÍŠj®Ô
+ä2QFŰŘ7=.çŔ'›iRĎ·żÍuK‹»s¬)Ż?*wŢe;ć—ˇAH că`TčĎ1Ö•f<ę»vaqĽ`ý’Gĺib~Ş) ˝{fŻ:ĹcÖ
+ŰéŹ
+t˝ĘRxˇÓl^•^9–eV×8
+dŔ¤ě›ăôľNí 9ťŽq*Ż{ŢP|.G:mÇö%‘i›łeÇVÍBZĂŕP3ô¨ëzŃKżŁĂďăköÍËčIA{9s«|¸Ů¶ŤĂORŮ7&áĄd¶¨ŮL®3ņZďăpWg
+L©Ç36YĂT€ ‚ŻžOI—22‡çfŘŕgĂ;” ·×Ý:őé×^˙‘öżá8ÓH—úżh +ŐÓ–qËôHÚ^Éň4»_[ůó„§úe×â!€üÂú ’šíăäĚŽď°í/N
+…}<ëßňl—‹KXüBÁ›e˙ňÓđ.ƦĘŔ”ý}]!˘ŹrDBěˇjZĹŰ,kô¦Ńťoă[ÇëęýŮ+«­ZÎď;ýĘőGžB'˛ŢÂË?ô±šŮhôßË×gJņ=Ç+mNôv/źĆ©l‹jŕ´ÉůŰóN˝‹Ië]«ę¶7đ;…n2‚7µq˝ 5 Ü °\ ¸ńbfÁ)l'hR¶Ö@ëŘ»-ÓtśúďyÔ}Dňž¨©¦_©Ń“Š^©×#)Hś™*,Ť“Gî4LÇÁi†”ÜI?ńm6SCˇżo§ÜM¬Ś˙Ú€Ő!˘ÇlWOĄł˘ŐżXç˘]ŐĐ>ŐBžGś Ľ×ĹÖ(CîÝŻ3ÝŠrű_7™cťĆm"Ęú>…©ŕCú4ŮńŞę٢t\_Eä†ăĆ °÷Vľ¸b •rňł­"]…Ś¦{»Ńlýu2św‘ŹDyšŹMPú'eB¤ď}P„Źu3qIkǬlC¦Ł ŤÉlřd‡ôŇ”ŻN¸+qŕJ|©m|˝(‚˛2‘>'?ű{+,îĂTöč,^í‘g»†`oŐĐrŇ
+”3ŠZĽÝŔu×ĹüFШöţQĚľ­)B×* Ýé] ôN»Íĺ`Ҭ‘Ű‚Jô ߤjŤű;A›Ű'Ţćiăţ¬Źe»×É\3!(U.ČP8(×óź.~n ý6Öî`ăŮ.4ÍV9wa¤ŢmČa¸ăj?ç,j±>kN âOŚ W§V»Ŕ}źj.·g
+Óě§ÝŐAÝ!Ďő
+Źřşpä˘k¨ň0aröĺâxą¸łăČ€RR7o đ2|Ř|l­Í,4ůsÚZĽĘÇüz>IÄ+^4Gň ń0ăÂß}˝ňżBúů/ Ą˛ę ™ß— Ű«yądţIŇV
endstream
endobj
659 0 obj
<<
/Type /FontDescriptor
-/FontName /ZSYAVJ+LMRoman17-Regular
+/FontName /PVFVJD+LMRoman17-Regular
/Flags 4
/FontBBox [-400 -286 1338 1125]
/Ascent 683
@@ -3916,7 +3915,7 @@ endobj
/ItalicAngle 0
/StemV 18
/XHeight 430
-/CharSet (/P/T/V/a/c/comma/d/e/f/g/h/i/k/m/n/o/one/parenleft/parenright/period/r/s/six/t/u/x/zero)
+/CharSet (/P/T/V/a/c/comma/d/e/f/g/h/i/k/m/n/o/one/parenleft/parenright/period/r/s/seven/t/u/x/zero)
/FontFile 658 0 R
>>
endobj
@@ -5223,7 +5222,7 @@ endobj
<<
/Type /Font
/Subtype /Type1
-/BaseFont /ZSYAVJ+LMRoman17-Regular
+/BaseFont /PVFVJD+LMRoman17-Regular
/FontDescriptor 659 0 R
/FirstChar 40
/LastChar 120
@@ -6412,8 +6411,8 @@ endobj
<<
/Producer (MiKTeX pdfTeX-1.40.24)
/Author()/Title()/Subject()/Creator(LaTeX with hyperref)/Keywords()
-/CreationDate (D:20230113111724-03'00')
-/ModDate (D:20230113111724-03'00')
+/CreationDate (D:20230117125556-03'00')
+/ModDate (D:20230117125556-03'00')
/Trapped /False
/PTEX.Fullbanner (This is MiKTeX-pdfTeX 4.13.0 (1.40.24))
>>
@@ -6421,775 +6420,775 @@ endobj
xref
0 765
0000000178 65535 f
-0000125565 00000 n
-0000125585 00000 n
-0000125605 00000 n
+0000125564 00000 n
+0000125584 00000 n
+0000125604 00000 n
0000000015 00000 n
-0000026551 00000 n
-0000525249 00000 n
+0000026550 00000 n
+0000525075 00000 n
0000000060 00000 n
0000000146 00000 n
-0000026611 00000 n
-0000525190 00000 n
+0000026610 00000 n
+0000525016 00000 n
0000000194 00000 n
0000000299 00000 n
-0000026671 00000 n
-0000525066 00000 n
+0000026670 00000 n
+0000524892 00000 n
0000000345 00000 n
0000000445 00000 n
-0000031336 00000 n
-0000524992 00000 n
+0000031335 00000 n
+0000524818 00000 n
0000000494 00000 n
0000000589 00000 n
-0000035599 00000 n
-0000524905 00000 n
+0000035598 00000 n
+0000524731 00000 n
0000000638 00000 n
0000000786 00000 n
-0000035660 00000 n
-0000524831 00000 n
+0000035659 00000 n
+0000524657 00000 n
0000000835 00000 n
0000000953 00000 n
-0000035721 00000 n
-0000524706 00000 n
+0000035720 00000 n
+0000524532 00000 n
0000000999 00000 n
0000001134 00000 n
-0000040062 00000 n
-0000524632 00000 n
+0000040061 00000 n
+0000524458 00000 n
0000001183 00000 n
0000001288 00000 n
-0000045204 00000 n
-0000524545 00000 n
+0000045203 00000 n
+0000524371 00000 n
0000001338 00000 n
0000001425 00000 n
-0000048497 00000 n
-0000524458 00000 n
+0000048496 00000 n
+0000524284 00000 n
0000001475 00000 n
0000001603 00000 n
-0000048558 00000 n
-0000524384 00000 n
+0000048557 00000 n
+0000524210 00000 n
0000001653 00000 n
0000001781 00000 n
-0000059867 00000 n
-0000524259 00000 n
+0000059866 00000 n
+0000524085 00000 n
0000001829 00000 n
0000001964 00000 n
-0000059928 00000 n
-0000524185 00000 n
+0000059927 00000 n
+0000524011 00000 n
0000002015 00000 n
0000002143 00000 n
-0000063712 00000 n
-0000524098 00000 n
+0000063711 00000 n
+0000523924 00000 n
0000002194 00000 n
0000002327 00000 n
-0000063773 00000 n
-0000524024 00000 n
+0000063772 00000 n
+0000523850 00000 n
0000002378 00000 n
0000002521 00000 n
-0000063834 00000 n
-0000523899 00000 n
+0000063833 00000 n
+0000523725 00000 n
0000002569 00000 n
0000002709 00000 n
-0000067280 00000 n
-0000523825 00000 n
+0000067279 00000 n
+0000523651 00000 n
0000002760 00000 n
0000002865 00000 n
-0000067341 00000 n
-0000523751 00000 n
+0000067340 00000 n
+0000523577 00000 n
0000002916 00000 n
0000003026 00000 n
-0000067402 00000 n
-0000523626 00000 n
+0000067401 00000 n
+0000523452 00000 n
0000003074 00000 n
0000003214 00000 n
-0000067462 00000 n
-0000523565 00000 n
+0000067461 00000 n
+0000523391 00000 n
0000003265 00000 n
0000003408 00000 n
-0000071457 00000 n
-0000523440 00000 n
+0000071456 00000 n
+0000523266 00000 n
0000003456 00000 n
0000003596 00000 n
-0000071518 00000 n
-0000523366 00000 n
+0000071517 00000 n
+0000523192 00000 n
0000003647 00000 n
0000003729 00000 n
-0000072385 00000 n
-0000523292 00000 n
+0000072384 00000 n
+0000523118 00000 n
0000003780 00000 n
0000003895 00000 n
-0000072940 00000 n
-0000523164 00000 n
+0000072939 00000 n
+0000522990 00000 n
0000003943 00000 n
0000004210 00000 n
-0000073001 00000 n
-0000523086 00000 n
+0000073000 00000 n
+0000522912 00000 n
0000004262 00000 n
0000004368 00000 n
-0000077671 00000 n
-0000523008 00000 n
+0000077670 00000 n
+0000522834 00000 n
0000004420 00000 n
0000004531 00000 n
-0000078229 00000 n
-0000522877 00000 n
+0000078228 00000 n
+0000522703 00000 n
0000004580 00000 n
0000004858 00000 n
-0000078291 00000 n
-0000522798 00000 n
+0000078290 00000 n
+0000522624 00000 n
0000004910 00000 n
0000005051 00000 n
-0000083163 00000 n
-0000522680 00000 n
+0000083162 00000 n
+0000522506 00000 n
0000005103 00000 n
0000005214 00000 n
-0000083535 00000 n
-0000522601 00000 n
+0000083534 00000 n
+0000522427 00000 n
0000005269 00000 n
0000005388 00000 n
-0000090418 00000 n
-0000522508 00000 n
+0000090417 00000 n
+0000522334 00000 n
0000005443 00000 n
0000005567 00000 n
-0000097236 00000 n
-0000522429 00000 n
+0000097235 00000 n
+0000522255 00000 n
0000005622 00000 n
0000005781 00000 n
-0000108035 00000 n
-0000522297 00000 n
+0000108034 00000 n
+0000522123 00000 n
0000005830 00000 n
0000006142 00000 n
-0000108097 00000 n
-0000522218 00000 n
+0000108096 00000 n
+0000522044 00000 n
0000006194 00000 n
0000006300 00000 n
-0000108159 00000 n
-0000522125 00000 n
+0000108158 00000 n
+0000521951 00000 n
0000006352 00000 n
0000006463 00000 n
-0000117647 00000 n
-0000522046 00000 n
+0000117646 00000 n
+0000521872 00000 n
0000006515 00000 n
0000006603 00000 n
-0000117709 00000 n
-0000521914 00000 n
+0000117708 00000 n
+0000521740 00000 n
0000006652 00000 n
0000006969 00000 n
-0000121926 00000 n
-0000521835 00000 n
+0000121925 00000 n
+0000521661 00000 n
0000007021 00000 n
0000007221 00000 n
-0000121988 00000 n
-0000521756 00000 n
+0000121987 00000 n
+0000521582 00000 n
0000007273 00000 n
0000007427 00000 n
-0000125127 00000 n
-0000521624 00000 n
+0000125126 00000 n
+0000521450 00000 n
0000007476 00000 n
0000007818 00000 n
-0000125189 00000 n
-0000521559 00000 n
+0000125188 00000 n
+0000521385 00000 n
0000007870 00000 n
0000008049 00000 n
-0000125251 00000 n
-0000521441 00000 n
+0000125250 00000 n
+0000521267 00000 n
0000008098 00000 n
0000008450 00000 n
-0000125313 00000 n
-0000521376 00000 n
+0000125312 00000 n
+0000521202 00000 n
0000008502 00000 n
0000008666 00000 n
-0000013195 00000 n
+0000013194 00000 n
0000000180 00000 f
-0000013534 00000 n
+0000013533 00000 n
0000000182 00000 f
-0000013686 00000 n
+0000013685 00000 n
0000000184 00000 f
-0000013840 00000 n
+0000013839 00000 n
0000000186 00000 f
-0000013991 00000 n
+0000013990 00000 n
0000000188 00000 f
-0000014146 00000 n
+0000014145 00000 n
0000000190 00000 f
-0000014301 00000 n
+0000014300 00000 n
0000000192 00000 f
-0000014456 00000 n
+0000014455 00000 n
0000000194 00000 f
-0000014606 00000 n
+0000014605 00000 n
0000000196 00000 f
-0000014761 00000 n
+0000014760 00000 n
0000000198 00000 f
-0000014917 00000 n
+0000014916 00000 n
0000000200 00000 f
-0000015073 00000 n
+0000015072 00000 n
0000000202 00000 f
-0000015229 00000 n
+0000015228 00000 n
0000000204 00000 f
-0000015383 00000 n
+0000015382 00000 n
0000000206 00000 f
-0000015539 00000 n
+0000015538 00000 n
0000000208 00000 f
-0000015695 00000 n
+0000015694 00000 n
0000000210 00000 f
-0000015852 00000 n
+0000015851 00000 n
0000000212 00000 f
-0000016006 00000 n
+0000016005 00000 n
0000000214 00000 f
-0000016162 00000 n
+0000016161 00000 n
0000000216 00000 f
-0000016319 00000 n
+0000016318 00000 n
0000000218 00000 f
-0000016473 00000 n
+0000016472 00000 n
0000000220 00000 f
-0000016630 00000 n
+0000016629 00000 n
0000000222 00000 f
-0000016784 00000 n
+0000016783 00000 n
0000000224 00000 f
-0000016941 00000 n
+0000016940 00000 n
0000000226 00000 f
-0000017097 00000 n
+0000017096 00000 n
0000000228 00000 f
-0000017247 00000 n
+0000017246 00000 n
0000000230 00000 f
-0000017402 00000 n
+0000017401 00000 n
0000000232 00000 f
-0000023679 00000 n
+0000023678 00000 n
0000000234 00000 f
-0000023832 00000 n
+0000023831 00000 n
0000000247 00000 f
-0000017680 00000 n
+0000017679 00000 n
0000008716 00000 n
-0000017556 00000 n
-0000017618 00000 n
-0000505394 00000 n
-0000504280 00000 n
-0000500941 00000 n
-0000503166 00000 n
-0000515441 00000 n
-0000502055 00000 n
-0000520762 00000 n
-0000023989 00000 n
+0000017555 00000 n
+0000017617 00000 n
+0000505220 00000 n
+0000504106 00000 n
+0000500767 00000 n
+0000502992 00000 n
+0000515267 00000 n
+0000501881 00000 n
+0000520588 00000 n
+0000023988 00000 n
0000000249 00000 f
-0000024146 00000 n
+0000024145 00000 n
0000000251 00000 f
-0000024306 00000 n
+0000024305 00000 n
0000000253 00000 f
-0000024465 00000 n
+0000024464 00000 n
0000000255 00000 f
-0000024625 00000 n
+0000024624 00000 n
0000000257 00000 f
-0000024779 00000 n
+0000024778 00000 n
0000000259 00000 f
-0000024935 00000 n
+0000024934 00000 n
0000000261 00000 f
-0000025092 00000 n
+0000025091 00000 n
0000000263 00000 f
-0000025247 00000 n
+0000025246 00000 n
0000000265 00000 f
-0000025401 00000 n
+0000025400 00000 n
0000000267 00000 f
-0000025558 00000 n
+0000025557 00000 n
0000000269 00000 f
-0000025715 00000 n
+0000025714 00000 n
0000000271 00000 f
-0000025869 00000 n
+0000025868 00000 n
0000000273 00000 f
-0000026025 00000 n
+0000026024 00000 n
0000000000 00000 f
-0000026332 00000 n
-0000026732 00000 n
-0000023404 00000 n
-0000017869 00000 n
-0000026489 00000 n
-0000026179 00000 n
-0000507622 00000 n
-0000506508 00000 n
-0000514324 00000 n
-0000510971 00000 n
-0000509854 00000 n
-0000031397 00000 n
-0000031155 00000 n
-0000026937 00000 n
-0000031274 00000 n
-0000518625 00000 n
-0000517385 00000 n
-0000516318 00000 n
-0000035782 00000 n
-0000035418 00000 n
-0000031614 00000 n
-0000035537 00000 n
-0000512087 00000 n
-0000040309 00000 n
-0000039881 00000 n
-0000035987 00000 n
-0000040000 00000 n
-0000040123 00000 n
-0000040185 00000 n
-0000040247 00000 n
-0000520572 00000 n
-0000045761 00000 n
-0000044713 00000 n
-0000040554 00000 n
-0000044832 00000 n
-0000044894 00000 n
-0000044956 00000 n
-0000045018 00000 n
-0000045080 00000 n
-0000045142 00000 n
-0000045265 00000 n
-0000045327 00000 n
-0000045389 00000 n
-0000045451 00000 n
-0000045513 00000 n
-0000045575 00000 n
-0000045637 00000 n
-0000045699 00000 n
-0000050291 00000 n
-0000048316 00000 n
-0000045992 00000 n
-0000048435 00000 n
-0000048619 00000 n
-0000048681 00000 n
-0000048742 00000 n
-0000048804 00000 n
-0000048866 00000 n
-0000048928 00000 n
-0000048990 00000 n
-0000049052 00000 n
-0000049114 00000 n
-0000049176 00000 n
-0000049238 00000 n
-0000049300 00000 n
-0000049362 00000 n
-0000049424 00000 n
-0000049486 00000 n
-0000049548 00000 n
-0000049610 00000 n
-0000049672 00000 n
-0000049734 00000 n
-0000049796 00000 n
-0000049857 00000 n
-0000049919 00000 n
-0000049981 00000 n
-0000050043 00000 n
-0000050105 00000 n
-0000050167 00000 n
-0000050229 00000 n
-0000520879 00000 n
-0000053627 00000 n
-0000052271 00000 n
-0000050509 00000 n
-0000052390 00000 n
-0000052452 00000 n
-0000052514 00000 n
-0000052576 00000 n
-0000052638 00000 n
-0000052700 00000 n
-0000052762 00000 n
-0000052824 00000 n
-0000052886 00000 n
-0000052947 00000 n
-0000053009 00000 n
-0000053070 00000 n
-0000053132 00000 n
-0000053193 00000 n
-0000053255 00000 n
-0000053317 00000 n
-0000053379 00000 n
-0000053441 00000 n
-0000053503 00000 n
-0000053565 00000 n
-0000059989 00000 n
-0000056469 00000 n
-0000053818 00000 n
-0000056588 00000 n
-0000056650 00000 n
-0000056711 00000 n
-0000056773 00000 n
-0000056835 00000 n
-0000056897 00000 n
-0000056959 00000 n
-0000057021 00000 n
-0000057083 00000 n
-0000057145 00000 n
-0000057207 00000 n
-0000057269 00000 n
-0000057331 00000 n
-0000057393 00000 n
-0000057454 00000 n
-0000057516 00000 n
-0000057576 00000 n
-0000057638 00000 n
-0000057699 00000 n
-0000057761 00000 n
-0000057823 00000 n
-0000057885 00000 n
-0000057947 00000 n
-0000058009 00000 n
-0000058071 00000 n
-0000058133 00000 n
-0000058195 00000 n
-0000058257 00000 n
-0000058319 00000 n
-0000058381 00000 n
-0000058443 00000 n
-0000058504 00000 n
-0000058566 00000 n
-0000058628 00000 n
-0000058690 00000 n
-0000058752 00000 n
-0000058813 00000 n
-0000058875 00000 n
-0000058937 00000 n
-0000058999 00000 n
-0000059061 00000 n
-0000059123 00000 n
-0000059185 00000 n
-0000059247 00000 n
-0000059309 00000 n
-0000059371 00000 n
-0000059433 00000 n
-0000059495 00000 n
-0000059557 00000 n
-0000059619 00000 n
-0000059681 00000 n
-0000059743 00000 n
-0000059805 00000 n
-0000519597 00000 n
-0000063895 00000 n
-0000063531 00000 n
-0000060208 00000 n
-0000063650 00000 n
-0000067523 00000 n
-0000067099 00000 n
-0000064059 00000 n
-0000067218 00000 n
-0000513203 00000 n
-0000073063 00000 n
-0000071276 00000 n
-0000067727 00000 n
-0000071395 00000 n
-0000071579 00000 n
-0000071641 00000 n
-0000071703 00000 n
-0000071765 00000 n
-0000071827 00000 n
-0000071889 00000 n
-0000071951 00000 n
-0000072013 00000 n
-0000072075 00000 n
-0000072137 00000 n
-0000072199 00000 n
-0000072261 00000 n
-0000072323 00000 n
-0000072446 00000 n
-0000072508 00000 n
-0000072570 00000 n
-0000072632 00000 n
-0000072694 00000 n
-0000072755 00000 n
-0000072817 00000 n
-0000072878 00000 n
-0000077296 00000 n
-0000077452 00000 n
-0000078352 00000 n
-0000077149 00000 n
-0000073321 00000 n
-0000077609 00000 n
-0000077733 00000 n
-0000077795 00000 n
-0000077857 00000 n
-0000077919 00000 n
-0000077981 00000 n
-0000078043 00000 n
-0000078105 00000 n
-0000078167 00000 n
-0000520996 00000 n
-0000082632 00000 n
-0000082788 00000 n
-0000084527 00000 n
-0000082477 00000 n
-0000078570 00000 n
-0000083101 00000 n
-0000083225 00000 n
-0000083287 00000 n
-0000083349 00000 n
-0000083411 00000 n
-0000083473 00000 n
-0000082944 00000 n
-0000083597 00000 n
-0000083659 00000 n
-0000083721 00000 n
-0000083783 00000 n
-0000083845 00000 n
-0000083907 00000 n
-0000083969 00000 n
-0000084031 00000 n
-0000084093 00000 n
-0000084155 00000 n
-0000084217 00000 n
-0000084279 00000 n
-0000084341 00000 n
-0000084403 00000 n
-0000084465 00000 n
-0000508737 00000 n
-0000088725 00000 n
-0000089038 00000 n
-0000089194 00000 n
-0000089353 00000 n
-0000089669 00000 n
-0000089823 00000 n
-0000089978 00000 n
-0000090136 00000 n
-0000091717 00000 n
-0000088514 00000 n
-0000084760 00000 n
-0000090294 00000 n
-0000090356 00000 n
-0000088882 00000 n
-0000089512 00000 n
-0000090480 00000 n
-0000090542 00000 n
-0000090604 00000 n
-0000090666 00000 n
-0000090728 00000 n
-0000090790 00000 n
-0000090852 00000 n
-0000090914 00000 n
-0000090976 00000 n
-0000091038 00000 n
-0000091100 00000 n
-0000091162 00000 n
-0000091223 00000 n
-0000091285 00000 n
-0000091346 00000 n
-0000091408 00000 n
-0000091469 00000 n
-0000091531 00000 n
-0000091593 00000 n
-0000091655 00000 n
-0000097359 00000 n
-0000095695 00000 n
-0000091948 00000 n
-0000095814 00000 n
-0000095876 00000 n
-0000095938 00000 n
-0000096000 00000 n
-0000096062 00000 n
-0000096124 00000 n
-0000096186 00000 n
-0000096248 00000 n
-0000096310 00000 n
-0000096371 00000 n
-0000096433 00000 n
-0000096493 00000 n
-0000096555 00000 n
-0000096616 00000 n
-0000096678 00000 n
-0000096740 00000 n
-0000096802 00000 n
-0000096864 00000 n
-0000096926 00000 n
-0000096988 00000 n
-0000097050 00000 n
-0000097112 00000 n
-0000097174 00000 n
-0000097297 00000 n
-0000101619 00000 n
-0000101778 00000 n
-0000102095 00000 n
-0000102252 00000 n
-0000107345 00000 n
-0000107502 00000 n
-0000103493 00000 n
-0000101440 00000 n
-0000097564 00000 n
-0000102566 00000 n
-0000102628 00000 n
-0000102689 00000 n
-0000102750 00000 n
-0000102812 00000 n
-0000102874 00000 n
-0000102936 00000 n
-0000102998 00000 n
-0000103060 00000 n
-0000103122 00000 n
-0000103184 00000 n
-0000103246 00000 n
-0000103308 00000 n
-0000103370 00000 n
-0000103431 00000 n
-0000101937 00000 n
-0000102409 00000 n
-0000107659 00000 n
-0000107816 00000 n
-0000108221 00000 n
-0000107182 00000 n
-0000103685 00000 n
-0000107973 00000 n
-0000112970 00000 n
-0000112789 00000 n
-0000108425 00000 n
-0000112908 00000 n
-0000521113 00000 n
-0000117771 00000 n
-0000117344 00000 n
-0000113173 00000 n
-0000117463 00000 n
-0000117525 00000 n
-0000117586 00000 n
-0000122050 00000 n
-0000121745 00000 n
-0000117975 00000 n
-0000121864 00000 n
-0000125375 00000 n
-0000124946 00000 n
-0000122240 00000 n
-0000125065 00000 n
-0000499095 00000 n
-0000125658 00000 n
-0000126179 00000 n
-0000499917 00000 n
-0000126426 00000 n
-0000126571 00000 n
-0000126594 00000 n
-0000499673 00000 n
-0000126833 00000 n
-0000499748 00000 n
-0000126994 00000 n
-0000499854 00000 n
-0000127602 00000 n
-0000127627 00000 n
-0000128180 00000 n
-0000128725 00000 n
-0000129578 00000 n
-0000129603 00000 n
-0000130056 00000 n
-0000130501 00000 n
-0000130864 00000 n
-0000131400 00000 n
-0000131713 00000 n
-0000132287 00000 n
-0000132786 00000 n
-0000154292 00000 n
-0000154535 00000 n
-0000176070 00000 n
-0000176335 00000 n
-0000178920 00000 n
-0000179171 00000 n
-0000208130 00000 n
-0000208481 00000 n
-0000242210 00000 n
-0000242738 00000 n
-0000268454 00000 n
-0000268772 00000 n
-0000283321 00000 n
-0000283553 00000 n
-0000302528 00000 n
-0000302844 00000 n
-0000320381 00000 n
-0000320660 00000 n
-0000344956 00000 n
-0000345303 00000 n
-0000371285 00000 n
-0000371659 00000 n
-0000374330 00000 n
-0000374613 00000 n
-0000400511 00000 n
-0000400799 00000 n
-0000434513 00000 n
-0000434807 00000 n
-0000468365 00000 n
-0000469012 00000 n
-0000498721 00000 n
-0000500016 00000 n
-0000501130 00000 n
-0000502244 00000 n
-0000503358 00000 n
-0000504472 00000 n
-0000505586 00000 n
-0000506698 00000 n
-0000507813 00000 n
-0000508928 00000 n
-0000510045 00000 n
-0000511162 00000 n
-0000512277 00000 n
-0000513400 00000 n
-0000514515 00000 n
-0000515637 00000 n
-0000516514 00000 n
-0000517582 00000 n
-0000518816 00000 n
-0000519790 00000 n
-0000521214 00000 n
-0000521300 00000 n
-0000525358 00000 n
-0000525538 00000 n
-0000525716 00000 n
+0000026331 00000 n
+0000026731 00000 n
+0000023403 00000 n
+0000017868 00000 n
+0000026488 00000 n
+0000026178 00000 n
+0000507448 00000 n
+0000506334 00000 n
+0000514150 00000 n
+0000510797 00000 n
+0000509680 00000 n
+0000031396 00000 n
+0000031154 00000 n
+0000026936 00000 n
+0000031273 00000 n
+0000518451 00000 n
+0000517211 00000 n
+0000516144 00000 n
+0000035781 00000 n
+0000035417 00000 n
+0000031613 00000 n
+0000035536 00000 n
+0000511913 00000 n
+0000040308 00000 n
+0000039880 00000 n
+0000035986 00000 n
+0000039999 00000 n
+0000040122 00000 n
+0000040184 00000 n
+0000040246 00000 n
+0000520398 00000 n
+0000045760 00000 n
+0000044712 00000 n
+0000040553 00000 n
+0000044831 00000 n
+0000044893 00000 n
+0000044955 00000 n
+0000045017 00000 n
+0000045079 00000 n
+0000045141 00000 n
+0000045264 00000 n
+0000045326 00000 n
+0000045388 00000 n
+0000045450 00000 n
+0000045512 00000 n
+0000045574 00000 n
+0000045636 00000 n
+0000045698 00000 n
+0000050290 00000 n
+0000048315 00000 n
+0000045991 00000 n
+0000048434 00000 n
+0000048618 00000 n
+0000048680 00000 n
+0000048741 00000 n
+0000048803 00000 n
+0000048865 00000 n
+0000048927 00000 n
+0000048989 00000 n
+0000049051 00000 n
+0000049113 00000 n
+0000049175 00000 n
+0000049237 00000 n
+0000049299 00000 n
+0000049361 00000 n
+0000049423 00000 n
+0000049485 00000 n
+0000049547 00000 n
+0000049609 00000 n
+0000049671 00000 n
+0000049733 00000 n
+0000049795 00000 n
+0000049856 00000 n
+0000049918 00000 n
+0000049980 00000 n
+0000050042 00000 n
+0000050104 00000 n
+0000050166 00000 n
+0000050228 00000 n
+0000520705 00000 n
+0000053626 00000 n
+0000052270 00000 n
+0000050508 00000 n
+0000052389 00000 n
+0000052451 00000 n
+0000052513 00000 n
+0000052575 00000 n
+0000052637 00000 n
+0000052699 00000 n
+0000052761 00000 n
+0000052823 00000 n
+0000052885 00000 n
+0000052946 00000 n
+0000053008 00000 n
+0000053069 00000 n
+0000053131 00000 n
+0000053192 00000 n
+0000053254 00000 n
+0000053316 00000 n
+0000053378 00000 n
+0000053440 00000 n
+0000053502 00000 n
+0000053564 00000 n
+0000059988 00000 n
+0000056468 00000 n
+0000053817 00000 n
+0000056587 00000 n
+0000056649 00000 n
+0000056710 00000 n
+0000056772 00000 n
+0000056834 00000 n
+0000056896 00000 n
+0000056958 00000 n
+0000057020 00000 n
+0000057082 00000 n
+0000057144 00000 n
+0000057206 00000 n
+0000057268 00000 n
+0000057330 00000 n
+0000057392 00000 n
+0000057453 00000 n
+0000057515 00000 n
+0000057575 00000 n
+0000057637 00000 n
+0000057698 00000 n
+0000057760 00000 n
+0000057822 00000 n
+0000057884 00000 n
+0000057946 00000 n
+0000058008 00000 n
+0000058070 00000 n
+0000058132 00000 n
+0000058194 00000 n
+0000058256 00000 n
+0000058318 00000 n
+0000058380 00000 n
+0000058442 00000 n
+0000058503 00000 n
+0000058565 00000 n
+0000058627 00000 n
+0000058689 00000 n
+0000058751 00000 n
+0000058812 00000 n
+0000058874 00000 n
+0000058936 00000 n
+0000058998 00000 n
+0000059060 00000 n
+0000059122 00000 n
+0000059184 00000 n
+0000059246 00000 n
+0000059308 00000 n
+0000059370 00000 n
+0000059432 00000 n
+0000059494 00000 n
+0000059556 00000 n
+0000059618 00000 n
+0000059680 00000 n
+0000059742 00000 n
+0000059804 00000 n
+0000519423 00000 n
+0000063894 00000 n
+0000063530 00000 n
+0000060207 00000 n
+0000063649 00000 n
+0000067522 00000 n
+0000067098 00000 n
+0000064058 00000 n
+0000067217 00000 n
+0000513029 00000 n
+0000073062 00000 n
+0000071275 00000 n
+0000067726 00000 n
+0000071394 00000 n
+0000071578 00000 n
+0000071640 00000 n
+0000071702 00000 n
+0000071764 00000 n
+0000071826 00000 n
+0000071888 00000 n
+0000071950 00000 n
+0000072012 00000 n
+0000072074 00000 n
+0000072136 00000 n
+0000072198 00000 n
+0000072260 00000 n
+0000072322 00000 n
+0000072445 00000 n
+0000072507 00000 n
+0000072569 00000 n
+0000072631 00000 n
+0000072693 00000 n
+0000072754 00000 n
+0000072816 00000 n
+0000072877 00000 n
+0000077295 00000 n
+0000077451 00000 n
+0000078351 00000 n
+0000077148 00000 n
+0000073320 00000 n
+0000077608 00000 n
+0000077732 00000 n
+0000077794 00000 n
+0000077856 00000 n
+0000077918 00000 n
+0000077980 00000 n
+0000078042 00000 n
+0000078104 00000 n
+0000078166 00000 n
+0000520822 00000 n
+0000082631 00000 n
+0000082787 00000 n
+0000084526 00000 n
+0000082476 00000 n
+0000078569 00000 n
+0000083100 00000 n
+0000083224 00000 n
+0000083286 00000 n
+0000083348 00000 n
+0000083410 00000 n
+0000083472 00000 n
+0000082943 00000 n
+0000083596 00000 n
+0000083658 00000 n
+0000083720 00000 n
+0000083782 00000 n
+0000083844 00000 n
+0000083906 00000 n
+0000083968 00000 n
+0000084030 00000 n
+0000084092 00000 n
+0000084154 00000 n
+0000084216 00000 n
+0000084278 00000 n
+0000084340 00000 n
+0000084402 00000 n
+0000084464 00000 n
+0000508563 00000 n
+0000088724 00000 n
+0000089037 00000 n
+0000089193 00000 n
+0000089352 00000 n
+0000089668 00000 n
+0000089822 00000 n
+0000089977 00000 n
+0000090135 00000 n
+0000091716 00000 n
+0000088513 00000 n
+0000084759 00000 n
+0000090293 00000 n
+0000090355 00000 n
+0000088881 00000 n
+0000089511 00000 n
+0000090479 00000 n
+0000090541 00000 n
+0000090603 00000 n
+0000090665 00000 n
+0000090727 00000 n
+0000090789 00000 n
+0000090851 00000 n
+0000090913 00000 n
+0000090975 00000 n
+0000091037 00000 n
+0000091099 00000 n
+0000091161 00000 n
+0000091222 00000 n
+0000091284 00000 n
+0000091345 00000 n
+0000091407 00000 n
+0000091468 00000 n
+0000091530 00000 n
+0000091592 00000 n
+0000091654 00000 n
+0000097358 00000 n
+0000095694 00000 n
+0000091947 00000 n
+0000095813 00000 n
+0000095875 00000 n
+0000095937 00000 n
+0000095999 00000 n
+0000096061 00000 n
+0000096123 00000 n
+0000096185 00000 n
+0000096247 00000 n
+0000096309 00000 n
+0000096370 00000 n
+0000096432 00000 n
+0000096492 00000 n
+0000096554 00000 n
+0000096615 00000 n
+0000096677 00000 n
+0000096739 00000 n
+0000096801 00000 n
+0000096863 00000 n
+0000096925 00000 n
+0000096987 00000 n
+0000097049 00000 n
+0000097111 00000 n
+0000097173 00000 n
+0000097296 00000 n
+0000101618 00000 n
+0000101777 00000 n
+0000102094 00000 n
+0000102251 00000 n
+0000107344 00000 n
+0000107501 00000 n
+0000103492 00000 n
+0000101439 00000 n
+0000097563 00000 n
+0000102565 00000 n
+0000102627 00000 n
+0000102688 00000 n
+0000102749 00000 n
+0000102811 00000 n
+0000102873 00000 n
+0000102935 00000 n
+0000102997 00000 n
+0000103059 00000 n
+0000103121 00000 n
+0000103183 00000 n
+0000103245 00000 n
+0000103307 00000 n
+0000103369 00000 n
+0000103430 00000 n
+0000101936 00000 n
+0000102408 00000 n
+0000107658 00000 n
+0000107815 00000 n
+0000108220 00000 n
+0000107181 00000 n
+0000103684 00000 n
+0000107972 00000 n
+0000112969 00000 n
+0000112788 00000 n
+0000108424 00000 n
+0000112907 00000 n
+0000520939 00000 n
+0000117770 00000 n
+0000117343 00000 n
+0000113172 00000 n
+0000117462 00000 n
+0000117524 00000 n
+0000117585 00000 n
+0000122049 00000 n
+0000121744 00000 n
+0000117974 00000 n
+0000121863 00000 n
+0000125374 00000 n
+0000124945 00000 n
+0000122239 00000 n
+0000125064 00000 n
+0000498921 00000 n
+0000125657 00000 n
+0000126178 00000 n
+0000499743 00000 n
+0000126425 00000 n
+0000126570 00000 n
+0000126593 00000 n
+0000499499 00000 n
+0000126832 00000 n
+0000499574 00000 n
+0000126993 00000 n
+0000499680 00000 n
+0000127601 00000 n
+0000127626 00000 n
+0000128179 00000 n
+0000128724 00000 n
+0000129577 00000 n
+0000129602 00000 n
+0000130055 00000 n
+0000130500 00000 n
+0000130863 00000 n
+0000131399 00000 n
+0000131712 00000 n
+0000132286 00000 n
+0000132785 00000 n
+0000154291 00000 n
+0000154534 00000 n
+0000176069 00000 n
+0000176334 00000 n
+0000178919 00000 n
+0000179170 00000 n
+0000208129 00000 n
+0000208480 00000 n
+0000242209 00000 n
+0000242737 00000 n
+0000268278 00000 n
+0000268598 00000 n
+0000283147 00000 n
+0000283379 00000 n
+0000302354 00000 n
+0000302670 00000 n
+0000320207 00000 n
+0000320486 00000 n
+0000344782 00000 n
+0000345129 00000 n
+0000371111 00000 n
+0000371485 00000 n
+0000374156 00000 n
+0000374439 00000 n
+0000400337 00000 n
+0000400625 00000 n
+0000434339 00000 n
+0000434633 00000 n
+0000468191 00000 n
+0000468838 00000 n
+0000498547 00000 n
+0000499842 00000 n
+0000500956 00000 n
+0000502070 00000 n
+0000503184 00000 n
+0000504298 00000 n
+0000505412 00000 n
+0000506524 00000 n
+0000507639 00000 n
+0000508754 00000 n
+0000509871 00000 n
+0000510988 00000 n
+0000512103 00000 n
+0000513226 00000 n
+0000514341 00000 n
+0000515463 00000 n
+0000516340 00000 n
+0000517408 00000 n
+0000518642 00000 n
+0000519616 00000 n
+0000521040 00000 n
+0000521126 00000 n
+0000525184 00000 n
+0000525364 00000 n
+0000525542 00000 n
+0000525720 00000 n
0000525894 00000 n
-0000526068 00000 n
-0000526238 00000 n
-0000526422 00000 n
-0000526645 00000 n
-0000526868 00000 n
-0000527082 00000 n
-0000527300 00000 n
-0000527517 00000 n
-0000527735 00000 n
-0000527951 00000 n
-0000528169 00000 n
-0000528386 00000 n
-0000528604 00000 n
-0000528822 00000 n
-0000529039 00000 n
-0000529256 00000 n
-0000529474 00000 n
-0000529691 00000 n
-0000529907 00000 n
-0000530125 00000 n
-0000530343 00000 n
-0000530561 00000 n
-0000530777 00000 n
-0000530994 00000 n
-0000531207 00000 n
-0000531417 00000 n
-0000531627 00000 n
-0000531837 00000 n
-0000532047 00000 n
-0000532257 00000 n
-0000532467 00000 n
-0000532677 00000 n
-0000532887 00000 n
-0000533076 00000 n
-0000533246 00000 n
-0000533415 00000 n
-0000533577 00000 n
-0000533787 00000 n
-0000533978 00000 n
-0000534175 00000 n
-0000534385 00000 n
-0000534605 00000 n
-0000534827 00000 n
-0000535047 00000 n
-0000535268 00000 n
-0000535378 00000 n
-0000535496 00000 n
-0000535617 00000 n
-0000535738 00000 n
-0000535859 00000 n
-0000535979 00000 n
-0000536098 00000 n
-0000536216 00000 n
-0000536339 00000 n
-0000536428 00000 n
-0000536544 00000 n
-0000536644 00000 n
-0000536733 00000 n
-0000536771 00000 n
-0000536899 00000 n
+0000526064 00000 n
+0000526248 00000 n
+0000526471 00000 n
+0000526694 00000 n
+0000526908 00000 n
+0000527126 00000 n
+0000527343 00000 n
+0000527561 00000 n
+0000527777 00000 n
+0000527995 00000 n
+0000528212 00000 n
+0000528430 00000 n
+0000528648 00000 n
+0000528865 00000 n
+0000529082 00000 n
+0000529300 00000 n
+0000529517 00000 n
+0000529733 00000 n
+0000529951 00000 n
+0000530169 00000 n
+0000530387 00000 n
+0000530603 00000 n
+0000530820 00000 n
+0000531033 00000 n
+0000531243 00000 n
+0000531453 00000 n
+0000531663 00000 n
+0000531873 00000 n
+0000532083 00000 n
+0000532293 00000 n
+0000532503 00000 n
+0000532713 00000 n
+0000532902 00000 n
+0000533072 00000 n
+0000533241 00000 n
+0000533403 00000 n
+0000533613 00000 n
+0000533804 00000 n
+0000534001 00000 n
+0000534211 00000 n
+0000534431 00000 n
+0000534653 00000 n
+0000534873 00000 n
+0000535094 00000 n
+0000535204 00000 n
+0000535322 00000 n
+0000535443 00000 n
+0000535564 00000 n
+0000535685 00000 n
+0000535805 00000 n
+0000535924 00000 n
+0000536042 00000 n
+0000536165 00000 n
+0000536254 00000 n
+0000536370 00000 n
+0000536470 00000 n
+0000536559 00000 n
+0000536597 00000 n
+0000536725 00000 n
trailer
<< /Size 765
/Root 763 0 R
/Info 764 0 R
-/ID [<C9538CA1CF21543D35D755BBB491BEDC> <C9538CA1CF21543D35D755BBB491BEDC>] >>
+/ID [<ED4BAD1F122AADAD05D542AC9440BA63> <ED4BAD1F122AADAD05D542AC9440BA63>] >>
startxref
-537173
+536999
%%EOF
diff --git a/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex b/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex
index 61fce8c768..d02cdeae22 100644
--- a/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex
+++ b/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex
@@ -1,5 +1,5 @@
%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
+%% Copyright 2022-23 by Alceu Frigeri
%%
%% This work may be distributed and/or modified under the conditions of
%%
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.6 (2023/01/13)
+%% This is version 1.0.7 (2023/01/17)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -39,7 +39,8 @@
\fi
\dcAuthor{Alceu Frigeri}
-\dcDate{December 2022}
+%\dcDate{January 2023}
+\dcDate{\monthname\space\number\year}
\makeatletter
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty
index 40b21d272f..849379e0c9 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty
@@ -1,5 +1,5 @@
%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
+%% Copyright 2022-23 by Alceu Frigeri
%%
%% This work may be distributed and/or modified under the conditions of
%%
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.6 (2023/01/13)
+%% This is version 1.0.7 (2023/01/17)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-abnt}
\def\tc@tmp@altpackname{ufrgsccaabnt}
\def\tc@tmp@packdesc{UFRGS/CCA ABNT layout}
-\def\tc@tmp@packdate{2023/01/13}
-\def\tc@tmp@packversion{1.0.6}
+\def\tc@tmp@packdate{2023/01/17}
+\def\tc@tmp@packversion{1.0.7}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
@@ -217,6 +217,7 @@
\dottedcontents{figure}[\tc@lblmargin]{}{\tc@lblmargin}{\tc@dotspacing}
\dottedcontents{table}[\tc@lblmargin]{}{\tc@lblmargin}{\tc@dotspacing}
+\renewcommand{\restoreapp}{} % to reset appendix counters each time (from appendix doc)
\RenewDocumentEnvironment{appendix}{O{\defappendixpagename}O{\defappendixname}}{%
\titleformat{\chapter}{\bfseries\Large\sffamily}{#2 \thechapter\hspace{1.5ex}-}{2ex}{\MakeUppercase}%
\titlecontents{chapter}[\tc@lblmargin]{\vspace{3mm}\sc}{\hspace{-\tc@lblmargin}{#2~\thecontentslabel\ -\enspace}}{\hspace{-\tc@lblmargin}}{\titlerule*[\tc@dotspacing]{.}\normalsize\normalfont\contentspage}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
index ed6cd3a304..3ed99c18d1 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
@@ -1,5 +1,5 @@
%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
+%% Copyright 2022-23 by Alceu Frigeri
%%
%% This work may be distributed and/or modified under the conditions of
%%
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.6 (2023/01/13)
+%% This is version 1.0.7 (2023/01/17)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-coord}
\def\tc@tmp@altpackname{ufrgsccacoord}
\def\tc@tmp@packdesc{UFRGS/CCA coord commands}
-\def\tc@tmp@packdate{2023/01/13}
-\def\tc@tmp@packversion{1.0.6}
+\def\tc@tmp@packdate{2023/01/17}
+\def\tc@tmp@packversion{1.0.7}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty
index fce9b66cd6..8851d12122 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty
@@ -1,5 +1,5 @@
%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
+%% Copyright 2022-23 by Alceu Frigeri
%%
%% This work may be distributed and/or modified under the conditions of
%%
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.6 (2023/01/13)
+%% This is version 1.0.7 (2023/01/17)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-core}
\def\tc@tmp@altpackname{ufrgsccacore}
\def\tc@tmp@packdesc{UFRGS/CCA core commands}
-\def\tc@tmp@packdate{2023/01/13}
-\def\tc@tmp@packversion{1.0.6}
+\def\tc@tmp@packdate{2023/01/17}
+\def\tc@tmp@packversion{1.0.7}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty
index 0af3d8eab2..ac8cd4a7a3 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty
@@ -1,5 +1,5 @@
%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
+%% Copyright 2022-23 by Alceu Frigeri
%%
%% This work may be distributed and/or modified under the conditions of
%%
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.6 (2023/01/13)
+%% This is version 1.0.7 (2023/01/17)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-cover}
\def\tc@tmp@altpackname{ufrgsccacover}
\def\tc@tmp@packdesc{UFRGS/CCA cover commands}
-\def\tc@tmp@packdate{2023/01/13}
-\def\tc@tmp@packversion{1.0.6}
+\def\tc@tmp@packdate{2023/01/17}
+\def\tc@tmp@packversion{1.0.7}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty
index 62437c5456..d7861c137c 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty
@@ -1,5 +1,5 @@
%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
+%% Copyright 2022-23 by Alceu Frigeri
%%
%% This work may be distributed and/or modified under the conditions of
%%
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.6 (2023/01/13)
+%% This is version 1.0.7 (2023/01/17)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-curr-graph}
\def\tc@tmp@altpackname{tccurrgraph}
\def\tc@tmp@packdesc{UFRGS/CCA graph curricula commands}
-\def\tc@tmp@packdate{2023/01/13}
-\def\tc@tmp@packversion{1.0.6alpha}
+\def\tc@tmp@packdate{2023/01/17}
+\def\tc@tmp@packversion{1.0.7alpha}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty
index d3f7d6d2de..b53d7fa259 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty
@@ -1,5 +1,5 @@
%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
+%% Copyright 2022-23 by Alceu Frigeri
%%
%% This work may be distributed and/or modified under the conditions of
%%
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.6 (2023/01/13)
+%% This is version 1.0.7 (2023/01/17)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-curr-tab}
\def\tc@tmp@altpackname{ufrgsccacurrtab}
\def\tc@tmp@packdesc{UFRGS/CCA curricula tabular commands}
-\def\tc@tmp@packdate{2023/01/13}
-\def\tc@tmp@packversion{1.0.6alpha}
+\def\tc@tmp@packdate{2023/01/17}
+\def\tc@tmp@packversion{1.0.7alpha}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty
index 6a3cafa28d..631e66b950 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty
@@ -1,5 +1,5 @@
%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
+%% Copyright 2022-23 by Alceu Frigeri
%%
%% This work may be distributed and/or modified under the conditions of
%%
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.6 (2023/01/13)
+%% This is version 1.0.7 (2023/01/17)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-curr}
\def\tc@tmp@altpackname{ufrgsccacurr}
\def\tc@tmp@packdesc{UFRGS/CCA curricula commands}
-\def\tc@tmp@packdate{2023/01/13}
-\def\tc@tmp@packversion{1.0.6beta}
+\def\tc@tmp@packdate{2023/01/17}
+\def\tc@tmp@packversion{1.0.7beta}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def
index cf98baa641..b95e6805a7 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def
@@ -1,5 +1,5 @@
%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
+%% Copyright 2022-23 by Alceu Frigeri
%%
%% This work may be distributed and/or modified under the conditions of
%%
@@ -12,9 +12,9 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.6 (2023/01/13)
+%% This is version 1.0.7 (2023/01/17)
%%
-%% The list of files that compose this work can be found in the README.md file at
+%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
%%
%%%==============================================================================
@@ -23,12 +23,11 @@
%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
%%%==============================================================================
\makeatletter
-
\def\tc@tmp@packname{ufrgscca-en-base}
\def\tc@tmp@altpackname{ufrgsccaenbase}
\def\tc@tmp@packdesc{UFRGS/CCA English base defs}
-\def\tc@tmp@packdate{2023/01/13}
-\def\tc@tmp@packversion{1.0.6}
+\def\tc@tmp@packdate{2023/01/17}
+\def\tc@tmp@packversion{1.0.7}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def
index 737571226a..4f1a1452c1 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def
@@ -1,5 +1,5 @@
%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
+%% Copyright 2022-23 by Alceu Frigeri
%%
%% This work may be distributed and/or modified under the conditions of
%%
@@ -12,9 +12,9 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.6 (2023/01/13)
+%% This is version 1.0.7 (2023/01/17)
%%
-%% The list of files that compose this work can be found in the README.md file at
+%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
%%
%%%==============================================================================
@@ -23,12 +23,11 @@
%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
%%%==============================================================================
\makeatletter
-
\def\tc@tmp@packname{ufrgscca-en-coord}
\def\tc@tmp@altpackname{ufrgsccaencoord}
\def\tc@tmp@packdesc{UFRGS/CCA English coord defs}
-\def\tc@tmp@packdate{2023/01/13}
-\def\tc@tmp@packversion{1.0.6}
+\def\tc@tmp@packdate{2023/01/17}
+\def\tc@tmp@packversion{1.0.7}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def
index 1ee3b969ee..a4eb1e1c2f 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def
@@ -1,5 +1,5 @@
%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
+%% Copyright 2022-23 by Alceu Frigeri
%%
%% This work may be distributed and/or modified under the conditions of
%%
@@ -12,9 +12,9 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.6 (2023/01/13)
+%% This is version 1.0.7 (2023/01/17)
%%
-%% The list of files that compose this work can be found in the README.md file at
+%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
%%
%%%==============================================================================
@@ -23,12 +23,11 @@
%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
%%%==============================================================================
\makeatletter
-
\def\tc@tmp@packname{ufrgscca-en-core}
\def\tc@tmp@altpackname{ufrgsccaencore}
\def\tc@tmp@packdesc{UFRGS/CCA English core defs}
-\def\tc@tmp@packdate{2023/01/13}
-\def\tc@tmp@packversion{1.0.6}
+\def\tc@tmp@packdate{2023/01/17}
+\def\tc@tmp@packversion{1.0.7}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def
index e7530a66cf..07037e65a1 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def
@@ -1,5 +1,5 @@
%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
+%% Copyright 2022-23 by Alceu Frigeri
%%
%% This work may be distributed and/or modified under the conditions of
%%
@@ -12,9 +12,9 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.6 (2023/01/13)
+%% This is version 1.0.7 (2023/01/17)
%%
-%% The list of files that compose this work can be found in the README.md file at
+%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
%%
%%%==============================================================================
@@ -23,12 +23,11 @@
%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
%%%==============================================================================
\makeatletter
-
\def\tc@tmp@packname{ufrgscca-en-forms}
\def\tc@tmp@altpackname{ufrgsccaenforms}
\def\tc@tmp@packdesc{UFRGS/CCA English forms defs}
-\def\tc@tmp@packdate{2023/01/13}
-\def\tc@tmp@packversion{1.0.6}
+\def\tc@tmp@packdate{2023/01/17}
+\def\tc@tmp@packversion{1.0.7}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
index ad8ab1604b..f511db2c89 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
@@ -1,5 +1,5 @@
%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
+%% Copyright 2022-23 by Alceu Frigeri
%%
%% This work may be distributed and/or modified under the conditions of
%%
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.6 (2023/01/13)
+%% This is version 1.0.7 (2023/01/17)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-forms}
\def\tc@tmp@altpackname{ufrgsccaforms}
\def\tc@tmp@packdesc{UFRGS/CCA forms commands}
-\def\tc@tmp@packdate{2023/01/13}
-\def\tc@tmp@packversion{1.0.6}
+\def\tc@tmp@packdate{2023/01/17}
+\def\tc@tmp@packversion{1.0.7}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty
index 01374c129f..365ceea3c3 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty
@@ -1,5 +1,5 @@
%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
+%% Copyright 2022-23 by Alceu Frigeri
%%
%% This work may be distributed and/or modified under the conditions of
%%
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.6 (2023/01/13)
+%% This is version 1.0.7 (2023/01/17)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-gen}
\def\tc@tmp@altpackname{ufrgsccagen}
\def\tc@tmp@packdesc{UFRGS/CCA generic/miscellany commands}
-\def\tc@tmp@packdate{2023/01/13}
-\def\tc@tmp@packversion{1.0.6}
+\def\tc@tmp@packdate{2023/01/17}
+\def\tc@tmp@packversion{1.0.7}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty
index 27c9cb9484..e85b553335 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty
@@ -1,5 +1,5 @@
%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
+%% Copyright 2022-23 by Alceu Frigeri
%%
%% This work may be distributed and/or modified under the conditions of
%%
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.6 (2023/01/13)
+%% This is version 1.0.7 (2023/01/17)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-lists}
\def\tc@tmp@altpackname{ufrgsccalists}
\def\tc@tmp@packdesc{UFRGS/CCA auxiliary lists commands}
-\def\tc@tmp@packdate{2023/01/13}
-\def\tc@tmp@packversion{1.0.6}
+\def\tc@tmp@packdate{2023/01/17}
+\def\tc@tmp@packversion{1.0.7}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty
index d5e7e3bcbc..67d38ad08b 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty
@@ -1,5 +1,5 @@
%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
+%% Copyright 2022-23 by Alceu Frigeri
%%
%% This work may be distributed and/or modified under the conditions of
%%
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.6 (2023/01/13)
+%% This is version 1.0.7 (2023/01/17)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-ppc}
\def\tc@tmp@altpackname{ufrgsccappc}
\def\tc@tmp@packdesc{UFRGS/CCA PPC commands}
-\def\tc@tmp@packdate{2023/01/13}
-\def\tc@tmp@packversion{1.0.6}
+\def\tc@tmp@packdate{2023/01/17}
+\def\tc@tmp@packversion{1.0.7}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def
index c847f32159..393dcf9c99 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def
@@ -1,5 +1,5 @@
%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
+%% Copyright 2022-23 by Alceu Frigeri
%%
%% This work may be distributed and/or modified under the conditions of
%%
@@ -12,9 +12,9 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.6 (2023/01/13)
+%% This is version 1.0.7 (2023/01/17)
%%
-%% The list of files that compose this work can be found in the README.md file at
+%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
%%
%%%==============================================================================
@@ -23,12 +23,11 @@
%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
%%%==============================================================================
\makeatletter
-
\def\tc@tmp@packname{ufrgscca-ptBR-base}
\def\tc@tmp@altpackname{ufrgsccaptbrbase}
\def\tc@tmp@packdesc{UFRGS/CCA Portuguese base defs}
-\def\tc@tmp@packdate{2023/01/13}
-\def\tc@tmp@packversion{1.0.6}
+\def\tc@tmp@packdate{2023/01/17}
+\def\tc@tmp@packversion{1.0.7}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def
index 1e9c8b669d..45e2edb24f 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def
@@ -1,5 +1,5 @@
%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
+%% Copyright 2022-23 by Alceu Frigeri
%%
%% This work may be distributed and/or modified under the conditions of
%%
@@ -12,9 +12,9 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.6 (2023/01/13)
+%% This is version 1.0.7 (2023/01/17)
%%
-%% The list of files that compose this work can be found in the README.md file at
+%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
%%
%%%==============================================================================
@@ -23,12 +23,11 @@
%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
%%%==============================================================================
\makeatletter
-
\def\tc@tmp@packname{ufrgscca-ptBR-coord}
\def\tc@tmp@altpackname{ufrgsccaptbrcoord}
\def\tc@tmp@packdesc{UFRGS/CCA Portuguese coord defs}
-\def\tc@tmp@packdate{2023/01/13}
-\def\tc@tmp@packversion{1.0.6}
+\def\tc@tmp@packdate{2023/01/17}
+\def\tc@tmp@packversion{1.0.7}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def
index 61f7327009..b99093c89a 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def
@@ -1,5 +1,5 @@
%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
+%% Copyright 2022-23 by Alceu Frigeri
%%
%% This work may be distributed and/or modified under the conditions of
%%
@@ -12,9 +12,9 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.6 (2023/01/13)
+%% This is version 1.0.7 (2023/01/17)
%%
-%% The list of files that compose this work can be found in the README.md file at
+%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
%%
%%%==============================================================================
@@ -23,12 +23,11 @@
%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
%%%==============================================================================
\makeatletter
-
\def\tc@tmp@packname{ufrgscca-ptBR-core}
\def\tc@tmp@altpackname{ufrgsccaptbrcore}
\def\tc@tmp@packdesc{UFRGS/CCA Portuguese core defs}
-\def\tc@tmp@packdate{2023/01/13}
-\def\tc@tmp@packversion{1.0.6}
+\def\tc@tmp@packdate{2023/01/17}
+\def\tc@tmp@packversion{1.0.7}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def
index 1c33570339..f64f5a5956 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def
@@ -1,5 +1,5 @@
%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
+%% Copyright 2022-23 by Alceu Frigeri
%%
%% This work may be distributed and/or modified under the conditions of
%%
@@ -12,9 +12,9 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.6 (2023/01/13)
+%% This is version 1.0.7 (2023/01/17)
%%
-%% The list of files that compose this work can be found in the README.md file at
+%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
%%
%%%==============================================================================
@@ -23,12 +23,11 @@
%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
%%%==============================================================================
\makeatletter
-
\def\tc@tmp@packname{ufrgscca-ptBR-forms}
\def\tc@tmp@altpackname{ufrgsccaptbrforms}
\def\tc@tmp@packdesc{UFRGS/CCA Portuguese forms defs}
-\def\tc@tmp@packdate{2023/01/13}
-\def\tc@tmp@packversion{1.0.6}
+\def\tc@tmp@packdate{2023/01/17}
+\def\tc@tmp@packversion{1.0.7}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls b/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls
index a0516ace52..d3d95d7002 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls
@@ -1,5 +1,5 @@
%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
+%% Copyright 2022-23 by Alceu Frigeri
%%
%% This work may be distributed and/or modified under the conditions of
%%
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.6 (2023/01/13)
+%% This is version 1.0.7 (2023/01/17)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca}
\def\tc@tmp@altpackname{ufrgscca}
\def\tc@tmp@packdesc{UFRGS/CCA class}
-\def\tc@tmp@packdate{2023/01/13}
-\def\tc@tmp@packversion{1.0.6}
+\def\tc@tmp@packdate{2023/01/17}
+\def\tc@tmp@packversion{1.0.7}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/writeongrid/README.md b/macros/latex/contrib/writeongrid/README.md
new file mode 100644
index 0000000000..7d037bc12a
--- /dev/null
+++ b/macros/latex/contrib/writeongrid/README.md
@@ -0,0 +1,7 @@
+WriteOnGrid is a package to work with a grid, with text on the lines.
+-----------------------------------------------------------------------
+WriteOnGrid est un package pour Ă©crire sur les lignes d'un quadrillage.
+-----------------------------------------------------------------------
+Author : CĂ©dric Pierquet
+email : cpierquet@outlook.fr
+Licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt \ No newline at end of file
diff --git a/macros/latex/contrib/writeongrid/doc/WriteOnGrid-doc-en.pdf b/macros/latex/contrib/writeongrid/doc/WriteOnGrid-doc-en.pdf
new file mode 100644
index 0000000000..bcd238b1e0
--- /dev/null
+++ b/macros/latex/contrib/writeongrid/doc/WriteOnGrid-doc-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/writeongrid/doc/WriteOnGrid-doc-en.tex b/macros/latex/contrib/writeongrid/doc/WriteOnGrid-doc-en.tex
new file mode 100644
index 0000000000..624789e987
--- /dev/null
+++ b/macros/latex/contrib/writeongrid/doc/WriteOnGrid-doc-en.tex
@@ -0,0 +1,359 @@
+% !TeX TXS-program:compile = txs:///arara
+% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode}
+% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
+
+\documentclass[a4paper]{article}
+\usepackage[svgnames]{xcolor}
+\usepackage[french]{babel}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{WriteOnGrid}
+\usetikzlibrary{decorations.pathreplacing}
+\usepackage{amsmath,amssymb}
+\usepackage{fontawesome5}
+\usepackage{enumitem}
+\usepackage{frcursive}
+\usepackage{tabularray}
+\usepackage{fancyvrb}
+\usepackage{fancyhdr}
+\fancyhf{}
+\renewcommand{\headrulewidth}{0pt}
+\lfoot{\sffamily\small [WriteOnGrid]}
+\cfoot{\sffamily\small - \thepage{} -}
+\rfoot{\hyperlink{matoc}{\small\faArrowAltCircleUp[regular]}}
+
+\usepackage{hvlogos}
+\usepackage{hyperref}
+\urlstyle{same}
+\hypersetup{pdfborder=0 0 0}
+\usepackage[margin=1.5cm]{geometry}
+\setlength{\parindent}{0pt}
+\definecolor{LightGray}{gray}{0.9}
+
+\def\TPversion{0.1.0}
+\def\TPdate{16/01/2023}
+
+\usepackage[most]{tcolorbox}
+\tcbuselibrary{minted}
+\NewTCBListing{PresentationCode}{ O{blue} m }{%
+ sharp corners=downhill,enhanced,arc=12pt,skin=bicolor,%
+ colback=#1!1!white,colframe=#1!75!black,colbacklower=white,%
+ attach boxed title to top right={yshift=-\tcboxedtitleheight},title=Code \LaTeX,%
+ boxed title style={%
+ colframe=#1!75!black,colback=#1!15!white,%
+ ,sharp corners=downhill,arc=12pt,%
+ },%
+ fonttitle=\color{#1!90!black}\itshape\ttfamily\footnotesize,%
+ listing engine=minted,minted style=colorful,
+ minted language=tex,minted options={tabsize=4,fontsize=\footnotesize,autogobble},
+ #2
+}
+
+\newcommand\Cle[1]{{\bfseries\sffamily\textlangle #1\textrangle}}
+
+\begin{document}
+
+\pagestyle{fancy}
+
+\thispagestyle{empty}
+
+\vspace{2cm}
+
+\begin{center}
+ \begin{minipage}{0.75\linewidth}
+ \begin{tcolorbox}[colframe=yellow,colback=yellow!15]
+ \begin{center}
+ \begin{tabular}{c}
+ {\Huge \texttt{WriteOnGrid [en]}}\\
+ \\
+ {\LARGE To write on lines} \\
+ {\LARGE of a grid.}
+ \end{tabular}
+
+ \medskip
+
+ {\small \texttt{Version \TPversion{} -- \TPdate}}
+ \end{center}
+ \end{tcolorbox}
+\end{minipage}
+\end{center}
+
+\vspace{0.5cm}
+
+\begin{center}
+ \begin{tabular}{c}
+ \texttt{CĂ©dric Pierquet}\\
+ {\ttfamily c pierquet -- at -- outlook . fr}\\
+ \texttt{\url{https://github.com/cpierquet/WriteOnGrid}}
+\end{tabular}
+\end{center}
+
+\vspace{0.5cm}
+
+{$\blacktriangleright$~~Some commands to create a grid (5x5 or Seyes) and to write \og on \fg{} the lines.}
+
+\smallskip
+
+{$\blacktriangleright$~~Possibility to personnalize size, margins, ...}
+
+\vspace{1cm}
+
+\begin{center}
+ \begin{EnvGrid}[NumSquares=22x8]
+ \WriteLine{my text on line 1\ldots}
+ \WriteLine<center>{my centered text on line 2\ldots}
+ \WriteLine<right>{my right-align text on ligne 3\ldots}
+ \WriteLine[OffsetH=2]{my 2-squares shifted text on line 4\ldots}
+ \PassLine
+ \WriteLine{\sffamily my text, sans serif, on line 6\ldots}
+ \WriteLine[OffsetH=-1]{\small\cursive my -1-square shifted text on line 7\ldots}
+\end{EnvGrid}
+\end{center}
+
+\begin{EnvGrid}[NumSquares=24x5,Margin=1,Enlarge=2/2,Seyes]
+ \WriteLine[Scale=1.5]{\textcolor{red}{my text on line 1\ldots}}
+ \WriteLine[Scale=1.5]{\textcolor{blue}{my text on line 2\ldots}}
+ \WriteLine[Scale=1.5,OffsetH=-1]{$1+\frac{1}{2}=\frac32$ et $(1+x)^2=1+2x+x^2$ on line 3\ldots}
+ \WriteLine[Scale=1.5]{\cursive my text on line 4\ldots}
+\end{EnvGrid}
+
+\vspace{0.5cm}
+
+%\hfill{}\textit{Merci à Denis Bitouzé et à Patrick Bideault pour leurs retours et idées !}
+
+\vfill
+
+\hrule
+
+\medskip
+
+\begin{tblr}{width=\linewidth,colspec={X[c]X[c]X[c]X[c]X[c]X[c]},cells={font=\sffamily}}
+{\huge \LaTeX} & & & & &\\
+& {\huge \pdfLaTeX} & & & & \\
+& & {\huge \LuaLaTeX} & & & \\
+& & & {\huge \TikZ} & & \\
+& & & & {\huge \TeXLive} & \\
+& & & & & {\huge \MiKTeX} \\
+\end{tblr}
+
+\medskip
+
+\hrule
+
+\medskip
+
+\newpage
+
+\part*{Introduction}
+
+\section{The package}
+
+\subsection{Loading of the package, used packages}
+
+The package \textsf{writeongrid} loads within the preamble :
+
+\begin{PresentationCode}{listing only}
+\usepackage{writeongrid}
+\end{PresentationCode}
+
+It’s mostly compatible with \textsf{latex}, \textsf{pdflatex}, \textsf{lualatex} or \textsf{xelatex} compilation !
+
+\medskip
+
+It loads the following packages and libraries :
+
+\begin{itemize}
+ \item \texttt{tikz} with the librairies \Cle{calc} and \Cle{positionning} ;
+ \item \texttt{xstring}, \texttt{xparse} and \texttt{simplekv}.
+\end{itemize}
+
+\subsection{The package itself}
+
+The idea is to, thanks to TikZ, propose commands and environment to work with a grid, and to write on the lines.
+
+\begin{PresentationCode}{listing only}
+%environment, with keys to prepare the grid
+%commands to write or pass a line
+
+\begin{EnvGrid}[keys]<color>
+ \WriteLine[keys]<alignment>{text}
+ \PassLine
+\end{EnvGrid}
+\end{PresentationCode}
+
+\subsection{Overall functioning}
+
+The grid is given by the number of squares (nbCol$\times$nbRow), and after we can adjust with \textit{overtakings} to enlarge the grid onto the margins of the paper (left or right). We can also \textit{adjust} the global margin, to begin the lines differently.
+
+\medskip
+
+For example, a $5\times5$ grid :
+
+\begin{itemize}
+ \item with a size 24x5 squares ;
+ \item with an overtaking by \textcolor{red}{2 squares at the left} and \textcolor{blue}{3 squares at the right} ;
+ \item with a global margin of \textcolor{orange}{1 square} ;
+ \item with a \textcolor{ForestGreen}{\textit{border}} to show the \textit{basis} grid.
+\end{itemize}
+
+\medskip
+
+\begin{tikzpicture}
+ \useasboundingbox (0,0) rectangle ({0.5*24},{-0.5*5}) ;
+ \draw[xstep=0.5,ystep=0.5,thin,lightgray!75] ({-0.5*2},0) grid ({0.5*24+0.5*3},{-0.5*5}) ;
+ \draw[thick,decorate,decoration={brace,amplitude=8pt,mirror}](0,{-0.5*5-0.25})--({0.5*24},{-0.5*5-0.25}) node[midway,below=8pt,font=\small\sffamily] {24C} ;
+ \draw[red,thick,decorate,decoration={brace,amplitude=8pt,mirror}] ({-2*0.5},{-0.5*5-0.25})--({0},{-0.5*5-0.25}) node[midway,below=8pt,font=\small\sffamily] {2C} ;
+ \draw[blue,thick,decorate,decoration={brace,amplitude=8pt,mirror}] ({0.5*24},{-0.5*5-0.25})--({0.5*24+3*0.5},{-0.5*5-0.25}) node[midway,below=8pt,font=\small\sffamily] {3C} ;
+ \draw[thick,decorate,decoration={brace,amplitude=8pt}] ({0.5*24+3*0.5+0.25},0)--({0.5*24+3*0.5+0.25},{-0.5*5}) node[midway,right=8pt,font=\small\sffamily] {5C} ;
+ \draw[very thick,orange,densely dashed] ({0.5*1},0)--({0.5*1},{-0.5*5}) ;
+ \draw[ForestGreen,thick] (0,0) rectangle ({0.5*24},{-0.5*5}) ;
+\end{tikzpicture}
+
+\vspace{1.5cm}
+
+The \texttt{tikzpicture} is \textit{bounded} by the \textcolor{ForestGreen}{\textit{border}}, in order to specify overtakings or alignment.
+
+\medskip
+
+Le left-border of the \textcolor{ForestGreen}{\textit{border}} is aligned on the left-margin of the page, so take care of the \texttt{\textbackslash parindent}.
+
+\pagebreak
+
+\section{Commands, keys and options}
+
+\subsection{The environement}
+
+\begin{PresentationCode}{listing only}
+%environment, with keys to prepare the grid
+
+\begin{EnvGrid}[keys]<color>
+ ...
+\end{EnvGrid}
+\end{PresentationCode}
+
+The first argument, \textit{optional}, between \texttt{[...]} give the \Cle{keys} :
+
+\begin{itemize}
+ \item \Cle{NumSwuares} to specify the size of the grid, under \texttt{(nbCol)x(nbRow)} ; \hfill~default : \Cle{17x5}
+ \item \Cle{Unit} to specify the scale of the grid ; \hfill~default : \Cle{1}
+ \item \Cle{Margin} to specify the global \textcolor{orange}{margin} at the beginning of the lines ; \hfill~default : \Cle{0}
+ \item \Cle{Enlarge} to specify the squares-overtakings, globally with \texttt{\textcolor{red}{L}\textcolor{blue}{R}} or side by side with \texttt{\textcolor{red}{L}/\textcolor{blue}{R}} ;\hfill~default : \Cle{0}
+ \item the boolean \Cle{Border} to display the basis border of the grid ;\hfill~default : \Cle{false}
+ \item the boolean \Cle{Seyes} to work with a Seyes grid.\hfill~default : \Cle{false}
+\end{itemize}
+
+The second argument, \textit{optional}, between \texttt{<...>} is the major color of the grid, \Cle{lightgray} by default.
+
+\medskip
+
+\begin{PresentationCode}{listing only}
+%the borders are added to show the basis grid
+
+%30x5 small squares, w/o overtakings, basis color
+\begin{EnvGrid}[NumSquares=30x5]
+\end{EnvGrid}
+
+%36x8 small squares, overtakings 3/3, LightSteelBlue color
+\begin{EnvGrid}[NumSquares=36x8,Enlarge=3/3]<LightSteelBlue>
+\end{EnvGrid}
+
+%15x5 big squares, overtakings 1/2, orange, centered
+\begin{center}
+ \begin{EnvGrid}[NumSquares=15x5,Enlarge=1/2,Seyes]<orange>
+ \end{EnvGrid}
+\end{center}
+\end{PresentationCode}
+
+\medskip
+
+\begin{EnvGrid}[NumSquares=30x5,Border]
+\end{EnvGrid}
+
+\smallskip
+
+\begin{EnvGrid}[NumSquares=36x8,Enlarge=3/3,Border]<LightSteelBlue>
+\end{EnvGrid}
+
+\begin{center}
+ \begin{EnvGrid}[NumSquares=15x5,Enlarge=1/2,Seyes,Border]<orange>
+ \end{EnvGrid}
+\end{center}
+
+\pagebreak
+
+\subsection{Write on the lines}
+
+The idea is to write on the created grid. In order to write \textit{right} on the lines, we can :
+
+\begin{itemize}
+ \item give the lines one by one ;
+ \item avoid using multilines paragraps, items ;
+ \item pass a line.
+\end{itemize}
+
+\begin{PresentationCode}{listing only}
+...
+ %to write the lines, one by one
+ \WriteLine[keys]<alignment>{text}
+ %to pass the ligne
+ \PassLine
+...
+\end{PresentationCode}
+
+The fisrt argument, \textit{optional}, between \texttt{[...]} give the \Cle{keys} :
+
+\begin{itemize}
+ \item \Cle{OffsetH}, in squares, to shift the text from the \textcolor{orange}{margin} ; \hfill~default : \Cle{0}
+ \item \Cle{OffsetV} to shift vertically the line ; \hfill~default : \Cle{0pt}
+ \item \Cle{Scale} to specify the scale of the given text.\hfill~default : \Cle{1}
+\end{itemize}
+
+the second argument, \textit{optional}, between \texttt{<...>} is the horizontal alignment (\Cle{left/center/right}) of the text in the basis \textcolor{ForestGreen}{\textit{border}}, \Cle{left} by default.
+
+\medskip
+
+Le third argument, \textit{mandatory} and between \texttt{\{...\}} is the text, eventually with options.
+
+\begin{PresentationCode}{listing only}
+\begin{EnvGrid}[NumSquares=36x8]
+ \WriteLine{my text on ligne 1\ldots}
+ \WriteLine<center>{\ttfamily my tetetype text centered on line 2\ldots}
+ \WriteLine<right>{right-align text on line 3\ldots}
+ \WriteLine[OffsetH=0.1]{\textcolor{red}{red text, 1mm-shifted\ldots}}
+ \PassLine
+ \WriteLine[Scale=0.5]{\sffamily sans serif text, reduced by 50\,\%, on line 6\ldots}
+ \WriteLine[OffsetH=3]{\cursive 3 squares-shited text\ldots}
+\end{EnvGrid}
+\end{PresentationCode}
+
+\begin{EnvGrid}[NumSquares=36x8]
+ \WriteLine{my text on ligne 1\ldots}
+ \WriteLine<center>{\ttfamily my tetetype text centered on line 2\ldots}
+ \WriteLine<right>{right-align text on line 3\ldots}
+ \WriteLine[OffsetH=0.1]{\textcolor{red}{red text, 1mm-shifted\ldots}}
+ \PassLine
+ \WriteLine[Scale=0.5]{\sffamily sans serif text, reduced by 50\,\%, on line 6\ldots}
+ \WriteLine[OffsetH=3]{\cursive 3 squares-shited text\ldots}
+\end{EnvGrid}
+
+\begin{PresentationCode}{listing only}
+\begin{EnvGrid}[NumSquares=22x4,Margin=1,Enlarge=2/3,Seyes,Border]
+ \WriteLine[Scale=1.5]{\textcolor{red}{red text on line 1\ldots}}
+ \WriteLine[Scale=1.15,OffsetH=1]{$(1+x)^2=1+2x+x^2$ on line 2, with 1-square offset\ldots}
+ \WriteLine[OffsetH=-1]{\textcolor{blue}{blue text, back to left, on line 3\ldots}}
+\end{EnvGrid}
+
+\end{PresentationCode}
+\begin{EnvGrid}[NumSquares=22x4,Margin=1,Enlarge=2/3,Seyes,Border]
+ \WriteLine[Scale=1.5]{\textcolor{red}{red text on line 1\ldots}}
+ \WriteLine[Scale=1.15,OffsetH=1]{$(1+x)^2=1+2x+x^2$ on line 2, with 1-square offset\ldots}
+ \WriteLine[OffsetH=-1]{\textcolor{blue}{blue text, back to left, on line 3\ldots}}
+\end{EnvGrid}
+
+\newpage
+
+\part*{History}
+
+\verb|v0.1.0|~:~~~~Initial version
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/writeongrid/doc/WriteOnGrid-doc-fr.pdf b/macros/latex/contrib/writeongrid/doc/WriteOnGrid-doc-fr.pdf
new file mode 100644
index 0000000000..3604f845ea
--- /dev/null
+++ b/macros/latex/contrib/writeongrid/doc/WriteOnGrid-doc-fr.pdf
Binary files differ
diff --git a/macros/latex/contrib/writeongrid/doc/WriteOnGrid-doc-fr.tex b/macros/latex/contrib/writeongrid/doc/WriteOnGrid-doc-fr.tex
new file mode 100644
index 0000000000..57975ee6a6
--- /dev/null
+++ b/macros/latex/contrib/writeongrid/doc/WriteOnGrid-doc-fr.tex
@@ -0,0 +1,359 @@
+% !TeX TXS-program:compile = txs:///arara
+% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode}
+% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
+
+\documentclass[a4paper]{article}
+\usepackage[svgnames]{xcolor}
+\usepackage[french]{babel}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{WriteOnGrid}
+\usetikzlibrary{decorations.pathreplacing}
+\usepackage{amsmath,amssymb}
+\usepackage{fontawesome5}
+\usepackage{enumitem}
+\usepackage{frcursive}
+\usepackage{tabularray}
+\usepackage{fancyvrb}
+\usepackage{fancyhdr}
+\fancyhf{}
+\renewcommand{\headrulewidth}{0pt}
+\lfoot{\sffamily\small [WriteOnGrid]}
+\cfoot{\sffamily\small - \thepage{} -}
+\rfoot{\hyperlink{matoc}{\small\faArrowAltCircleUp[regular]}}
+
+\usepackage{hvlogos}
+\usepackage{hyperref}
+\urlstyle{same}
+\hypersetup{pdfborder=0 0 0}
+\usepackage[margin=1.5cm]{geometry}
+\setlength{\parindent}{0pt}
+\definecolor{LightGray}{gray}{0.9}
+
+\def\TPversion{0.1.0}
+\def\TPdate{16 Janvier 2023}
+
+\usepackage[most]{tcolorbox}
+\tcbuselibrary{minted}
+\NewTCBListing{PresentationCode}{ O{blue} m }{%
+ sharp corners=downhill,enhanced,arc=12pt,skin=bicolor,%
+ colback=#1!1!white,colframe=#1!75!black,colbacklower=white,%
+ attach boxed title to top right={yshift=-\tcboxedtitleheight},title=Code \LaTeX,%
+ boxed title style={%
+ colframe=#1!75!black,colback=#1!15!white,%
+ ,sharp corners=downhill,arc=12pt,%
+ },%
+ fonttitle=\color{#1!90!black}\itshape\ttfamily\footnotesize,%
+ listing engine=minted,minted style=colorful,
+ minted language=tex,minted options={tabsize=4,fontsize=\footnotesize,autogobble},
+ #2
+}
+
+\newcommand\Cle[1]{{\bfseries\sffamily\textlangle #1\textrangle}}
+
+\begin{document}
+
+\pagestyle{fancy}
+
+\thispagestyle{empty}
+
+\vspace{2cm}
+
+\begin{center}
+ \begin{minipage}{0.75\linewidth}
+ \begin{tcolorbox}[colframe=yellow,colback=yellow!15]
+ \begin{center}
+ \begin{tabular}{c}
+ {\Huge \texttt{WriteOnGrid [fr]}}\\
+ \\
+ {\LARGE Pour Ă©crire sur les} \\
+ {\LARGE lignes d'une grille.}
+ \end{tabular}
+
+ \medskip
+
+ {\small \texttt{Version \TPversion{} -- \TPdate}}
+ \end{center}
+ \end{tcolorbox}
+\end{minipage}
+\end{center}
+
+\vspace{0.5cm}
+
+\begin{center}
+ \begin{tabular}{c}
+ \texttt{CĂ©dric Pierquet}\\
+ {\ttfamily c pierquet -- at -- outlook . fr}\\
+ \texttt{\url{https://github.com/cpierquet/WriteOnGrid}}
+\end{tabular}
+\end{center}
+
+\vspace{0.5cm}
+
+{$\blacktriangleright$~~Quelques commandes créer une grille (5x5 ou Seyes) et écrire \og sur \fg{} les lignes.}
+
+\smallskip
+
+{$\blacktriangleright$~~Personnalisation de la taille de la grille, des marges, etc.}
+
+\vspace{1cm}
+
+\begin{center}
+ \begin{EnvQuadrillage}[NbCarreaux=22x8]
+ \EcrireLigne{mon texte sur la ligne 1\ldots}
+ \EcrireLigne<center>{mon texte centré sur la ligne 2\ldots}
+ \EcrireLigne<right>{mon texte aligné à droite sur la ligne 3\ldots}
+ \EcrireLigne[DecalH=2]{mon texte décalé de 2 carreaux sur la ligne 4\ldots}
+ \PasseLigne
+ \EcrireLigne{\sffamily mon texte sur la ligne 6\ldots}
+ \EcrireLigne[DecalH=-1]{\small\cursive mon texte, décalé à gauche de 1 carreau, sur la ligne 7\ldots}
+\end{EnvQuadrillage}
+\end{center}
+
+\begin{EnvQuadrillage}[NbCarreaux=24x5,Marge=1,Elargir=2/2,Seyes]
+ \EcrireLigne[Echelle=1.5]{\textcolor{red}{mon texte sur la ligne 1\ldots}}
+ \EcrireLigne[Echelle=1.5]{\textcolor{blue}{mon texte sur la ligne 2\ldots}}
+ \EcrireLigne[Echelle=1.5,DecalH=-1]{$1+\frac{1}{2}=\frac32$ et $(1+x)^2=1+2x+x^2$ sur la ligne 3\ldots}
+ \EcrireLigne[Echelle=1.5]{\cursive mon texte sur la ligne 4\ldots}
+\end{EnvQuadrillage}
+
+\vspace{0.5cm}
+
+%\hfill{}\textit{Merci à Denis Bitouzé et à Patrick Bideault pour leurs retours et idées !}
+
+\vfill
+
+\hrule
+
+\medskip
+
+\begin{tblr}{width=\linewidth,colspec={X[c]X[c]X[c]X[c]X[c]X[c]},cells={font=\sffamily}}
+{\huge \LaTeX} & & & & &\\
+& {\huge \pdfLaTeX} & & & & \\
+& & {\huge \LuaLaTeX} & & & \\
+& & & {\huge \TikZ} & & \\
+& & & & {\huge \TeXLive} & \\
+& & & & & {\huge \MiKTeX} \\
+\end{tblr}
+
+\medskip
+
+\hrule
+
+\medskip
+
+\newpage
+
+\part*{Introduction}
+
+\section{Le package writeongrid}
+
+\subsection{Chargement du package, packages utilisés}
+
+Le package \textsf{writeongrid} se charge dans le préambule via la commande :
+
+\begin{PresentationCode}{listing only}
+\usepackage{writeongrid}
+\end{PresentationCode}
+
+Il est compatible avec les compilations usuelles en \textsf{latex}, \textsf{pdflatex}, \textsf{lualatex} ou \textsf{xelatex}.
+
+\medskip
+
+Il charge les packages et librairies suivantes :
+
+\begin{itemize}
+ \item \texttt{tikz} avec les librairies \Cle{calc} et \Cle{positionning} ;
+ \item \texttt{xstring}, \texttt{xparse} et \texttt{simplekv}.
+\end{itemize}
+
+\subsection{\og Philosophie \fg{} du package}
+
+L'idée est de proposer, grâce à \TikZ, des \textsf{commandes} et \textsf{environnements} pour travailler sur un quadrillage et écrire \og sur les lignes \fg.
+
+\begin{PresentationCode}{listing only}
+%environnement francisé, avec clés en français pour préparer la grille
+%commandes pour placer ou passer une ligne
+
+\begin{EnvQuadrillage}[clés]<couleur>
+ \EcrireLigne[clés]<alignement>{texte}
+ \PasseLigne
+\end{EnvQuadrillage}
+\end{PresentationCode}
+
+\subsection{Fonctionnement global}
+
+La grille est créée en spécifiant le nombre de carreaux (sous la forme nbCol$\times$nbLig), et on peut ensuite spécifier des \textit{débordements} latéraux pour éventuellement étendre le quadrillage dans les marges (gauche et droite). On peut également \textit{jouer} sur la marge, pour commencer les lignes à un niveau donné.
+
+\medskip
+
+Ci-dessous on représente une grille $5\times5$ :
+
+\begin{itemize}
+ \item de taille 24x5 ;
+ \item avec un Ă©largissement de \textcolor{red}{2 carreaux Ă  gauche} et \textcolor{blue}{3 carreaux Ă  droite} ;
+ \item en commençant à écrire au niveau du \textcolor{orange}{1\up{er} carreau} ;
+ \item un \textcolor{ForestGreen}{\textit{cadre}} est rajouté pour visualiser la grille \textit{de base}.
+\end{itemize}
+
+\medskip
+
+\begin{tikzpicture}
+ \useasboundingbox (0,0) rectangle ({0.5*24},{-0.5*5}) ;
+ \draw[xstep=0.5,ystep=0.5,thin,lightgray!75] ({-0.5*2},0) grid ({0.5*24+0.5*3},{-0.5*5}) ;
+ \draw[thick,decorate,decoration={brace,amplitude=8pt,mirror}](0,{-0.5*5-0.25})--({0.5*24},{-0.5*5-0.25}) node[midway,below=8pt,font=\small\sffamily] {24C} ;
+ \draw[red,thick,decorate,decoration={brace,amplitude=8pt,mirror}] ({-2*0.5},{-0.5*5-0.25})--({0},{-0.5*5-0.25}) node[midway,below=8pt,font=\small\sffamily] {2C} ;
+ \draw[blue,thick,decorate,decoration={brace,amplitude=8pt,mirror}] ({0.5*24},{-0.5*5-0.25})--({0.5*24+3*0.5},{-0.5*5-0.25}) node[midway,below=8pt,font=\small\sffamily] {3C} ;
+ \draw[thick,decorate,decoration={brace,amplitude=8pt}] ({0.5*24+3*0.5+0.25},0)--({0.5*24+3*0.5+0.25},{-0.5*5}) node[midway,right=8pt,font=\small\sffamily] {5C} ;
+ \draw[very thick,orange,densely dashed] ({0.5*1},0)--({0.5*1},{-0.5*5}) ;
+ \draw[ForestGreen,thick] (0,0) rectangle ({0.5*24},{-0.5*5}) ;
+\end{tikzpicture}
+
+\vspace{1.5cm}
+
+Il est à noter que le figure \texttt{tikzpicture} est \textit{délimitée} par le \textcolor{ForestGreen}{\textit{cadre}}, afin de pouvoir gérer les débordements et l'alignement de l'environnement !
+
+\medskip
+
+De plus, le bord gauche du \textcolor{ForestGreen}{\textit{cadre}} est aligné sur la marge gauche de la page, donc la position du quadrillage dépend en partie de la configuration de \texttt{\textbackslash parindent}.
+
+\pagebreak
+
+\section{Commandes, clés et options}
+
+\subsection{L'environnement}
+
+\begin{PresentationCode}{listing only}
+%environnement francisé, avec clés en français pour préparer la grille
+
+\begin{EnvQuadrillage}[clés]<couleur>
+ ...
+\end{EnvQuadrillage}
+\end{PresentationCode}
+
+Le premier argument, \textit{optionnel}, entre \texttt{[...]} propose les \Cle{clés} :
+
+\begin{itemize}
+ \item \Cle{NbCarreaux} pour spécifier le nombre de carreaux, sous la forme \texttt{(nbCol)x(nbLig)} ; \hfill~défaut : \Cle{17x5}
+ \item \Cle{Unite} pour spécifier l'échelle de la figure ; \hfill~défaut : \Cle{1}
+ \item \Cle{Marge} pour spécifier la \textcolor{orange}{marge} du début des lignes ; \hfill~défaut : \Cle{0}
+ \item \Cle{Elargir} pour préciser les carreaux de débordements, sous la forme unique \texttt{\textcolor{red}{G}\textcolor{blue}{D}} ou par côté \texttt{\textcolor{red}{G}/\textcolor{blue}{D}} ;\hfill~défaut : \Cle{0}
+ \item le booléen \Cle{Cadre} pour afficher le cadre de base du quadrillage ;\hfill~défaut : \Cle{false}
+ \item le booléen \Cle{Seyes} pour afficher un quadrillage de type Seyes.\hfill~défaut : \Cle{false}
+\end{itemize}
+
+Le second argument, \textit{optionnel}, entre \texttt{<...>} est quant à lui la couleur de base du quadrillage, \Cle{lightgray} par défaut.
+
+\medskip
+
+\begin{PresentationCode}{listing only}
+%les cadres ont été rajoutés pour la sortie
+
+%30x5 petits carreaux, sans dépassement, couleur de base
+\begin{EnvQuadrillage}[NbCarreaux=30x5]
+\end{EnvQuadrillage}
+
+%36x8 petits carreaux, avec débordements 3/3, couleur LightSteelBlue
+\begin{EnvQuadrillage}[NbCarreaux=36x8,Elargir=3/3]<LightSteelBlue>
+\end{EnvQuadrillage}
+
+%15x5 grand carreaux, avec débordements 1/2, couleur orange, centré
+\begin{center}
+ \begin{EnvQuadrillage}[NbCarreaux=15x5,Elargir=1/2,Seyes]<orange>
+ \end{EnvQuadrillage}
+\end{center}
+\end{PresentationCode}
+
+\medskip
+
+\begin{EnvQuadrillage}[NbCarreaux=30x5,Cadre]
+\end{EnvQuadrillage}
+
+\smallskip
+
+\begin{EnvQuadrillage}[NbCarreaux=36x8,Elargir=3/3,Cadre]<LightSteelBlue>
+\end{EnvQuadrillage}
+
+\begin{center}
+ \begin{EnvQuadrillage}[NbCarreaux=15x5,Elargir=1/2,Seyes,Cadre]<orange>
+\end{EnvQuadrillage}
+\end{center}
+
+\pagebreak
+
+\subsection{Écrire sur les lignes}
+
+L'idée est maintenant de pouvoir écrire sur les lignes du quadrillage créé, et pour garantir le fait d'écrire \textit{pile} sur le ligne, on applique les recommandations suivantes :
+
+\begin{itemize}
+ \item les lignes doivent ĂŞtre saisies une par une, du \og haut \fg{} vers le \og bas \fg{} ;
+ \item pas de paragraphe \textit{multilignes}, pas de puce ou de numérotation ;
+ \item une ligne peut être passée.
+\end{itemize}
+
+\begin{PresentationCode}{listing only}
+...
+ %pour saisir les lignes, une par une
+ \EcrireLigne[clés]<alignement>{texte}
+ %pour passer la ligne
+ \PasseLigne
+...
+\end{PresentationCode}
+
+Le premier argument, entre \texttt{[...]} propose les \Cle{clés} :
+
+\begin{itemize}
+ \item \Cle{DecalH} pour spécifier le décalage horizontal (en carreaux) de la ligne, par rapport à la \textcolor{orange}{marge} ; \hfill~défaut : \Cle{0}
+ \item \Cle{DecalV} pour spécifier le décalage vertical du texte par rapport à la ligne ; \hfill~défaut : \Cle{0pt}
+ \item \Cle{Echelle} pour spécifier l'échelle du texte à écrire.\hfill~défaut : \Cle{1}
+\end{itemize}
+
+Le deuxième argument, \textit{optionnel}, entre \texttt{<...>} permet de spécifier l'alignement horizontal (parmi \Cle{left/center/right}) du texte dans le \textcolor{ForestGreen}{\textit{cadre}} de base, \Cle{left} par défaut.
+
+\medskip
+
+Le troisième argument, \textit{mandataire} et entre \texttt{\{...\}} est quant à lui le texte à saisir, avec possibilité de spécifier taille, couleur, fonte, etc
+
+\begin{PresentationCode}{listing only}
+\begin{EnvQuadrillage}[NbCarreaux=36x8]
+ \EcrireLigne{mon texte sur la ligne 1\ldots}
+ \EcrireLigne<center>{\ttfamily mon texte, en fonte teletype augmentée de 25\,\%, centré sur la ligne 2\ldots}
+ \EcrireLigne<right>{mon texte aligné à droite sur la ligne 3\ldots}
+ \EcrireLigne[DecalV=0.1]{\textcolor{red}{mon texte rouge sur la ligne 4, décalé de 1mm vers le haut\ldots}}
+ \PasseLigne
+ \EcrireLigne[Echelle=0.5]{\sffamily mon texte, en fonte sans réduite de 50\,\%, sur la ligne 6\ldots}
+ \EcrireLigne[DecalH=3]{\cursive mon texte sur la ligne 7, décalé de 3 carreaux\ldots}
+\end{EnvQuadrillage}
+\end{PresentationCode}
+
+\begin{EnvQuadrillage}[NbCarreaux=36x8]
+ \EcrireLigne{mon texte sur la ligne 1\ldots}
+ \EcrireLigne<center>{\ttfamily mon texte, en fonte teletype augmentée de 25\,\%, centré sur la ligne 2\ldots}
+ \EcrireLigne<right>{mon texte aligné à droite sur la ligne 3\ldots}
+ \EcrireLigne[DecalV=0.1]{\textcolor{red}{mon texte rouge sur la ligne 4, décalé de 1mm vers le haut\ldots}}
+ \PasseLigne
+ \EcrireLigne[Echelle=0.5]{\sffamily mon texte, en fonte sans réduite de 50\,\%, sur la ligne 6\ldots}
+ \EcrireLigne[DecalH=3]{\cursive mon texte sur la ligne 7, décalé de 3 carreaux\ldots}
+\end{EnvQuadrillage}
+
+\begin{PresentationCode}{listing only}
+\begin{EnvQuadrillage}[NbCarreaux=22x4,Marge=1,Elargir=2/3,Seyes,Cadre]
+ \EcrireLigne[Echelle=1.5]{\textcolor{red}{mon texte rouge, un peu agrandi,sur la ligne 1\ldots}}
+ \EcrireLigne[Echelle=1.15,DecalH=1]{$(1+x)^2=1+2x+x^2$ sur la l2, avec un décal de 1 en plus de la marge\ldots}
+ \EcrireLigne[DecalH=-1]{\textcolor{blue}{mon texte bleu, remis Ă  gauche, sur la ligne 3\ldots}}
+\end{EnvQuadrillage}
+
+\end{PresentationCode}
+\begin{EnvQuadrillage}[NbCarreaux=22x4,Marge=1,Elargir=2/3,Seyes,Cadre]
+ \EcrireLigne[Echelle=1.5]{\textcolor{red}{mon texte rouge, un peu agrandi,sur la ligne 1\ldots}}
+ \EcrireLigne[Echelle=1.15,DecalH=1]{$(1+x)^2=1+2x+x^2$ sur la ligne 2, avec un décalage de 1 carreau en plus de la marge\ldots}
+ \EcrireLigne[DecalH=-1]{\textcolor{blue}{mon texte bleu, remis Ă  gauche, sur la ligne 3\ldots}}
+\end{EnvQuadrillage}
+
+\newpage
+
+\part*{Historique}
+
+\verb|v0.1.0|~:~~~~Version initiale
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/writeongrid/tex/WriteOnGrid.sty b/macros/latex/contrib/writeongrid/tex/WriteOnGrid.sty
new file mode 100644
index 0000000000..096ea98be1
--- /dev/null
+++ b/macros/latex/contrib/writeongrid/tex/WriteOnGrid.sty
@@ -0,0 +1,116 @@
+% Author : C. Pierquet
+% licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{WriteOnGrid}[2023/01/16 v0.1.0 package to write on grid lines]
+% 0.1.0 Version initiale [fr] & [en]
+
+%------Packages utiles
+\RequirePackage{tikz}
+\RequirePackage{simplekv}
+\RequirePackage{xstring}
+\RequirePackage{xparse}
+%librairies tikz
+\usetikzlibrary{calc,positioning}
+
+%------Variables
+\newcounter{lgquadri}%compteur des lignes, qui sera incrémenté
+
+%------Commandes [fr]
+\newcommand\PasseLigne{\addtocounter{lgquadri}{1}}%passer une ligne
+
+\defKV[LigneQuadrill]{Echelle=\xdef\QuadEchelle{#1}}%déf des clés
+\setKVdefault[LigneQuadrill]{DecalV=0pt,DecalH=0,Sep=0pt,Echelle=1}%valeurs par défaut
+
+\NewDocumentCommand\EcrireLigne{ O{} D<>{left} m }{%écrire sur les lignes l'une après l'autre
+ \addtocounter{lgquadri}{1}
+ \useKVdefault[LigneQuadrill]
+ \setKV[LigneQuadrill]{#1}
+ \node[text width=\fpeval{\ValeurCarreau*\QuadNbCol-\ValeurCarreau*\useKV[Quadrill]{Marge}}cm,align=#2,scale=\QuadEchelle,anchor=base west,inner sep={\useKV[LigneQuadrill]{Sep}}] at ($({\ValeurCarreau*\useKV[Quadrill]{Marge}+\ValeurCarreau*\useKV[LigneQuadrill]{DecalH}},{-\ValeurCarreau*\thelgquadri})+(0,\useKV[LigneQuadrill]{DecalV})$) {\strut #3} ;
+}
+
+\defKV[Quadrill]{NbCarreaux=\xdef\QuadNbCar{#1},Elargir=\xdef\QuadElar{#1}}%déf des clés
+\setKVdefault[Quadrill]{NbCarreaux=17x5,Unite=1,Marge=0,Elargir=0,Cadre=false,Seyes=false}%valeurs par défaut (nbc x nbl)
+
+\NewDocumentEnvironment{EnvQuadrillage}{ O{} D<>{gray} }%créer le quadrillage
+{%
+ \setcounter{lgquadri}{0}%on réinitialise les lignes
+ \useKVdefault[Quadrill]%on met les clés par défaut
+ \setKV[Quadrill]{#1}%on lit les clés
+ \StrCut{\QuadNbCar}{x}{\QuadNbCol}{\QuadNbLig}%
+ \ifboolKV[Quadrill]{Seyes}%seyes ou 5x5
+ {\xdef\ValeurCarreau{0.8}}%
+ {\xdef\ValeurCarreau{0.5}}%
+ \IfSubStr{\QuadElar}{/}%on récupère les élargissements G et D
+ {\StrCut{\QuadElar}{/}{\QuadElarG}{\QuadElarD}}%
+ {\def\QuadElarG{\QuadElar}\def\QuadElarD{\QuadElar}}%
+ %\begin{tikzpicture}[xscale={\useKV[Quadrill]{Unite}},yscale={\useKV[Quadrill]{Unite}},trim left={(0,0)},trim right={({\QuadNbCol},0)}]
+ \begin{tikzpicture}[xscale={\useKV[Quadrill]{Unite}},yscale={\useKV[Quadrill]{Unite}}]
+ \useasboundingbox (0,0) rectangle ({\ValeurCarreau*\QuadNbCol},{-\ValeurCarreau*\QuadNbLig}) ;%on fixe la grille de base, avant Ă©largissement Ă©ventuel
+ \ifboolKV[Quadrill]{Seyes}%seyes ou 5x5
+ {%
+ \draw[xstep=0.8,ystep=0.2,thin,#2!50] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille seyes
+ \draw[xstep=0.8,ystep=0.8,#2!85] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille seyes
+
+ }%
+ {%
+ \draw[xstep=0.5,ystep=0.5,thin,#2!50] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille 5x5
+ }%
+
+ \ifboolKV[Quadrill]{Cadre}%cadre pour visualiser la "marge" (officielle)
+ {\draw[thick] (0,0) rectangle ({\ValeurCarreau*\QuadNbCol},{-\ValeurCarreau*\QuadNbLig}) ;}%
+ {}%
+ }%
+ {%
+ \end{tikzpicture}%
+}%
+
+%------Commandes [en]
+\newcommand\PassLine{\addtocounter{lgquadri}{1}}%passer une ligne
+
+\defKV[LineQuadril]{Scale=\xdef\QuadEchelle{#1}}%déf des clés
+\setKVdefault[LineQuadril]{OffsetV=0pt,OffsetH=0,Sep=0pt,Scale=1}%valeurs par défaut
+
+\NewDocumentCommand\WriteLine{ O{} D<>{left} m }{%écrire sur les lignes l'une après l'autre
+ \addtocounter{lgquadri}{1}
+ \useKVdefault[LineQuadril]
+ \setKV[LineQuadril]{#1}
+ \node[text width=\fpeval{\ValeurCarreau*\QuadNbCol-\ValeurCarreau*\useKV[Quadril]{Margin}}cm,align=#2,scale=\QuadEchelle,anchor=base west,inner sep={\useKV[LineQuadril]{Sep}}] at ($({\ValeurCarreau*\useKV[Quadril]{Margin}+\ValeurCarreau*\useKV[LineQuadril]{OffsetH}},{-\ValeurCarreau*\thelgquadri})+(0,\useKV[LineQuadril]{OffsetV})$) {\strut #3} ;
+}
+
+\defKV[Quadril]{NumSquares=\xdef\QuadNbCar{#1},Enlarge=\xdef\QuadElar{#1}}%déf des clés
+\setKVdefault[Quadril]{NumSquares=17x5,Unit=1,Margin=0,Enlarge=0,Border=false,Seyes=false}%valeurs par défaut
+
+\NewDocumentEnvironment{EnvGrid}{ O{} D<>{gray} }%créer le quadrillage
+{%
+ \setcounter{lgquadri}{0}%on réinitialise les lignes
+ \useKVdefault[Quadril]%on met les clés par défaut
+ \setKV[Quadril]{#1}%on lit les clés
+ \StrCut{\QuadNbCar}{x}{\QuadNbCol}{\QuadNbLig}%
+ \ifboolKV[Quadril]{Seyes}%seyes ou 5x5
+ {\xdef\ValeurCarreau{0.8}}%
+ {\xdef\ValeurCarreau{0.5}}%
+ \IfSubStr{\QuadElar}{/}%on récupère les élargissements G et D
+ {\StrCut{\QuadElar}{/}{\QuadElarG}{\QuadElarD}}%
+ {\def\QuadElarG{\QuadElar}\def\QuadElarD{\QuadElar}}%
+ %\begin{tikzpicture}[xscale={\useKV[Quadril]{Unit}},yscale={\useKV[Quadril]{Unit}},trim left={(0,0)},trim right={({\QuadNbCol},0)}]
+ \begin{tikzpicture}[xscale={\useKV[Quadrill]{Unite}},yscale={\useKV[Quadrill]{Unite}}]
+ \useasboundingbox (0,0) rectangle ({\ValeurCarreau*\QuadNbCol},{-\ValeurCarreau*\QuadNbLig}) ;%on fixe la grille de base, avant Ă©largissement Ă©ventuel
+ \ifboolKV[Quadril]{Seyes}%seyes ou 5x5
+ {%
+ \draw[xstep=0.8,ystep=0.2,thin,#2!75] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille seyes
+ \draw[xstep=0.8,ystep=0.8,#2] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille seyes
+
+ }%
+ {%
+ \draw[xstep=0.5,ystep=0.5,thin,#2!75] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille 5x5
+ }%
+
+ \ifboolKV[Quadril]{Border}%cadre pour la "marge"
+ {\draw[thick] (0,0) rectangle ({\ValeurCarreau*\QuadNbCol},{-\ValeurCarreau*\QuadNbLig}) ;}%
+ {}%
+ }%
+ {%
+ \end{tikzpicture}%
+}%
+\endinput \ No newline at end of file
diff --git a/macros/xetex/latex/bidi/README b/macros/xetex/latex/bidi/README
index 6f399323ad..60fcee8d1c 100644
--- a/macros/xetex/latex/bidi/README
+++ b/macros/xetex/latex/bidi/README
@@ -1,6 +1,6 @@
___________________
The bidi package
-v39.6
+v39.7
This package provides a convenient interface for typesetting
bidirectional texts in Plain TeX and LaTeX, using XeTeX engine.
@@ -25,12 +25,12 @@ The announcements for the new releases of the package will
also appear in the Discussions space under the Announcements
category.
-Current version release date: 2022/11/06
+Current version release date: 2023/01/18
___________________________________________
Vafa Khalighi
-Copyright (c) Vafa Khalighi 2007--2022
+Copyright (c) Vafa Khalighi 2007--2023
Copyright (c) bidi-tex GitHub Organization 2018--2020
It may be distributed and/or modified under the LaTeX Project Public License,
diff --git a/macros/xetex/latex/bidi/bidi-doc-intro.ltx b/macros/xetex/latex/bidi/bidi-doc-intro.ltx
index cb32bf3435..91de6e02ef 100644
--- a/macros/xetex/latex/bidi/bidi-doc-intro.ltx
+++ b/macros/xetex/latex/bidi/bidi-doc-intro.ltx
@@ -17,10 +17,10 @@ If you use \textsf{bidi} package to write any input \TeX\ document, and then run
* and LaTeX. The package includes adaptations
* for use with many other commonly-used packages.
*
-* Copyright (c) 2007--2022 Vafa Khalighi
+* Copyright (c) 2007--2023 Vafa Khalighi
* Copyright (c) 2018--2020 bidi-tex GitHub Organization
*
-* v39.6 (Release Women, Life, and Liberty), 2022/11/06
+* v39.7 (Release Serge Lang), 2023/01/18
*
* License: LaTeX Project Public License, version
* 1.3c or higher (your choice)
diff --git a/macros/xetex/latex/bidi/bidi-doc-title.ltx b/macros/xetex/latex/bidi/bidi-doc-title.ltx
index 8e73033544..49d6163ff2 100644
--- a/macros/xetex/latex/bidi/bidi-doc-title.ltx
+++ b/macros/xetex/latex/bidi/bidi-doc-title.ltx
@@ -3,7 +3,7 @@
\begin{document}
\title{\textcolor{blue!65!black}{\Huge The \textsf{bidi} \textit{Package}}\\
\LARGE Bidirectional typesetting in plain \TeX{} and \LaTeX, using \XeTeX{} engine\\[5pt]
-\large User documentation for \textcolor{blue!65!black}{version 39.6}}
+\large User documentation for \textcolor{blue!65!black}{version 39.7}}
\author{Vafa Khalighi\thanks{Thanks to the bidi-tex GitHub organization consisted of David Carlisle and other members of the {\LaTeX} team to maintain the package in the period 2018--2020.}}
\setcounter{page}{0}
\thispagestyle{empty}
@@ -13,7 +13,7 @@
\textcolor{blue!65!black}{\Huge The \textsf{bidi} \textit{Package}}
\Large
-User documentation for \textcolor{blue!65!black}{version 39.6}}
+User documentation for \textcolor{blue!65!black}{version 39.7}}
\vskip 0pt plus 3fill
\textit{\large to my Master, \textbf{Ferdowsi The Great}}
diff --git a/macros/xetex/latex/bidi/bidi-doc.ltx b/macros/xetex/latex/bidi/bidi-doc.ltx
index 4e7de4c0c0..76d56ae9ef 100644
--- a/macros/xetex/latex/bidi/bidi-doc.ltx
+++ b/macros/xetex/latex/bidi/bidi-doc.ltx
@@ -1,7 +1,7 @@
\documentclass{ltxdoc}
\input{bidi-doc-preamble.ltx}
\hypersetup{%
- pdftitle={User documentation for version 39.6 of the bidi
+ pdftitle={User documentation for version 39.7 of the bidi
package}%
}
\begin{document}
diff --git a/macros/xetex/latex/bidi/bidi-doc.pdf b/macros/xetex/latex/bidi/bidi-doc.pdf
index 441290ecf1..c861748d85 100644
--- a/macros/xetex/latex/bidi/bidi-doc.pdf
+++ b/macros/xetex/latex/bidi/bidi-doc.pdf
Binary files differ
diff --git a/macros/xetex/latex/bidi/bidi.dtx b/macros/xetex/latex/bidi/bidi.dtx
index 1eae23846f..a24d9572f4 100644
--- a/macros/xetex/latex/bidi/bidi.dtx
+++ b/macros/xetex/latex/bidi/bidi.dtx
@@ -5,7 +5,7 @@
%<*readme>
___________________
The bidi package
-v39.6
+v39.7
This package provides a convenient interface for typesetting
bidirectional texts in Plain TeX and LaTeX, using XeTeX engine.
@@ -30,12 +30,12 @@ The announcements for the new releases of the package will
also appear in the Discussions space under the Announcements
category.
-Current version release date: 2022/11/06
+Current version release date: 2023/01/18
___________________________________________
Vafa Khalighi
-Copyright (c) Vafa Khalighi 2007--2022
+Copyright (c) Vafa Khalighi 2007--2023
Copyright (c) bidi-tex GitHub Organization 2018--2020
It may be distributed and/or modified under the LaTeX Project Public License,
@@ -57,7 +57,7 @@ by Vafa Khalighi.
__________________________________________________
Vafa Khalighi
- Copyright (c) 2007--2022 Vafa Khalighi
+ Copyright (c) 2007--2023 Vafa Khalighi
Copyright (c) 2018--2020 bidi-tex GitHub Organization
It may be distributed and/or modified under the LaTeX Project Public License,
@@ -267,7 +267,7 @@ by Vafa Khalighi.
\documentclass{ltxdoc}
\input{bidi-doc-preamble.ltx}
\hypersetup{%
- pdftitle={Source documentation for version 39.6 of the bidi
+ pdftitle={Source documentation for version 39.7 of the bidi
package}%
}
\EnableCrossrefs
@@ -286,7 +286,7 @@ by Vafa Khalighi.
% \GetFileInfo{\jobname.dtx}
% \title{\textcolor{blue!65!black}{\Huge The \textsf{bidi} \textit{Package}}\\
%\LARGE Bidirectional typesetting in plain \TeX{} and \LaTeX, using \XeTeX{} engine\\[5pt]
-%\large Source documentation for \textcolor{blue!65!black}{version 39.6}}
+%\large Source documentation for \textcolor{blue!65!black}{version 39.7}}
% \author{Vafa Khalighi\thanks{Thanks to the bidi-tex GitHub organization consisted of David Carlisle and other members of the {\LaTeX} team to maintain the package in the period 2018--2020.}}
%\setcounter{page}{0}
%\thispagestyle{empty}
@@ -296,7 +296,7 @@ by Vafa Khalighi.
%\textcolor{blue!65!black}{\Huge The \textsf{bidi} \textit{Package}}
%
%\Large
-%Source documentation for \textcolor{blue!65!black}{version 39.6}}
+%Source documentation for \textcolor{blue!65!black}{version 39.7}}
%
%\vskip 0pt plus 3fill
%\textit{\large to my Master, \textbf{Ferdowsi The Great}}
@@ -329,7 +329,7 @@ by Vafa Khalighi.
%
%\vskip 0pt plus 3fill
%
-%Copyright (c) 2007--2022 Vafa Khalighi
+%Copyright (c) 2007--2023 Vafa Khalighi
%
%Copyright (c) 2018--2020 bidi-tex GitHub Organization
%
@@ -345,7 +345,7 @@ by Vafa Khalighi.
%\iffalse
%<*table>
%\fi
-%% \CheckSum{55469}
+%% \CheckSum{58794}
%% \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
@@ -2430,7 +2430,7 @@ by Vafa Khalighi.
%\fi
% \section{File \texttt{beamerbaseframecomponents-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{beamerbaseframecomponents-xetex-bidi.def}[2022/06/13 v0.4 bidi adaptations for beamerbaseframecomponents package for XeTeX engine]
+\ProvidesFile{beamerbaseframecomponents-xetex-bidi.def}[2023/01/18 v0.5 bidi adaptations for beamerbaseframecomponents package for XeTeX engine]
\renewcommand{\setbeamersize}[1]{%
\beamer@dogeometryfalse%
\setkeys{beamer@margin}{#1}%
@@ -2696,8 +2696,8 @@ by Vafa Khalighi.
\renewcommand<>\@mpfootnotetext[1]{%
\ifbidi@autofootnoterule\ifnum\c@mpfootnote=\@ne\if@RTL@footnote\global\let\bidi@mpfootnoterule\right@footnoterule\else\global\let\bidi@mpfootnoterule\left@footnoterule\fi\fi\fi
\global\setbox\@mpfootins\vbox{%
- \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
\unvbox\@mpfootins
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
\reset@font
\bidi@@footnotetext@font
\hsize\columnwidth
@@ -2712,8 +2712,8 @@ by Vafa Khalighi.
\renewcommand<>\@mpRTLfootnotetext[1]{%
\ifbidi@autofootnoterule\ifnum\c@mpfootnote=\@ne\global\let\bidi@mpfootnoterule\right@footnoterule\fi\fi
\global\setbox\@mpfootins\vbox{%
+ \unvbox\@mpfootins
\@RTLtrue
- \unvbox\@mpfootins
\reset@font
\bidi@@RTLfootnotetext@font
\hsize\columnwidth
@@ -2728,8 +2728,8 @@ by Vafa Khalighi.
\renewcommand<>\@mpLTRfootnotetext[1]{%
\ifbidi@autofootnoterule\ifnum\c@mpfootnote=\@ne\global\let\bidi@mpfootnoterule\left@footnoterule\fi\fi
\global\setbox\@mpfootins\vbox{%
+ \unvbox\@mpfootins
\@RTLfalse
- \unvbox\@mpfootins
\reset@font
\bidi@@LTRfootnotetext@font
\hsize\columnwidth
@@ -4589,9 +4589,9 @@ by Vafa Khalighi.
% \section{File \texttt{bidi.sty}}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\def\bididate{2022/11/06}
-\def\bidi@version{39.6}
-\def\bidi@releasename{Women, Life, and Liberty}
+\def\bididate{2023/01/18}
+\def\bidi@version{39.7}
+\def\bidi@releasename{Serge Lang}
\newcommand*{\bidireleasename}{\bidi@releasename}
\ProvidesPackage{bidi}[\bididate\space v\bidi@version\space (Release \bidi@releasename)\space
Bidirectional typesetting in plain TeX and LaTeX]
@@ -4605,7 +4605,7 @@ Bidirectional typesetting in plain TeX and LaTeX]
* and LaTeX. The package includes adaptations^^J%
* for use with many other commonly-used packages.^^J%
* ^^J%
-* Copyright (c) 2007--2022 Vafa Khalighi^^J%
+* Copyright (c) 2007--2023 Vafa Khalighi^^J%
* Copyright (c) 2018--2020 bidi-tex GitHub organization^^J%
* ^^J%
* v\bidi@version\space (Release \bidi@releasename), \bididate^^J%
@@ -4679,7 +4679,7 @@ Bidirectional typesetting in plain TeX and LaTeX]
}
\newcommand*{\@bidi@pdfcustomproperties}{%
This is the bidi package, Version \bidi@version\space (Release \bidi@releasename),
- Released November 6, 2022.
+ Released January 18, 2023.
}
\newcommand*{\bidi@beamer@ragged}{}
\@RTLmainfalse
@@ -4923,10 +4923,10 @@ Bidirectional typesetting in plain TeX and LaTeX]
%\fi
% \section{File \texttt{bidi.tex}}
% \begin{macrocode}
-\def\bididate{2022/11/06}
+\def\bididate{2023/01/18}
\catcode`@=11
-\def\bidi@version{39.6}
-\def\bidi@releasename{Women, Life, and Liberty}
+\def\bidi@version{39.7}
+\def\bidi@releasename{Serge Lang}
\def\bidireleasename{\bidi@releasename}
\let \protect \relax
\newlinechar`\^^J
@@ -4940,7 +4940,7 @@ Bidirectional typesetting in plain TeX and LaTeX]
* and LaTeX. The package includes adaptations^^J%
* for use with many other commonly-used packages.^^J%
* ^^J%
-* Copyright (c) 2007--2022 Vafa Khalighi^^J%
+* Copyright (c) 2007--2023 Vafa Khalighi^^J%
* Copyright (c) 2018--2020 bidi-tex GitHub organization^^J%
* ^^J%
* v\bidi@version\space (Release \bidi@releasename), \bididate^^J%
@@ -5029,7 +5029,7 @@ Bidirectional typesetting in plain TeX and LaTeX]
}
\def\@bidi@pdfcustomproperties{%
This is the bidi package, Version \bidi@version\space (Release \bidi@releasename),
- Released November 6, 2022.
+ Released January 18, 2023.
}
\def\bidi@pdfm@mark{%
\special{pdf:%
@@ -12545,12 +12545,11 @@ bidi implementation of tufte title]
%\fi
% \section{File \texttt{extrafootnotefeatures-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{extrafootnotefeatures-xetex-bidi.def}[2022/07/14 v2.4 bidi extra footnote features for XeTeX engine]
+\ProvidesFile{extrafootnotefeatures-xetex-bidi.def}[2023/01/18 v2.5 bidi extra footnote features for XeTeX engine]
\newdimen\bidi@columnwidth
\def\bidi@floathook{%
\bidi@columnwidth\columnwidth
}
-\newif\if@bidi@void@@mpfootins
\newcommand*{\@bidi@before@Hy@hyperfootnotes}{%
\if@bidi@csundef{ifHy@hyperfootnotes}{}{%
\if@bidi@csundef{HLTR@@LTRfootnotetext}{}{%
@@ -12628,6 +12627,23 @@ bidi implementation of tufte title]
\@normalfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\bidi@bidiold@footnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \bidi@reinsertfootnote\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \insert\footins{%
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font
+ \foottextfont
+ \@preamfntext
+ \hsize\columnwidth
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@normalfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+}
\renewcommand{\@RTLfootnotetext}[1]{%
\insert\footins{%
\@RTLtrue%
@@ -12642,6 +12658,23 @@ bidi implementation of tufte title]
\@normalRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\bidi@bidiold@RTLfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \bidi@reinsertfootnote\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \insert\footins{%
+ \@RTLtrue%
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font
+ \RTLfoottextfont
+ \@preamfntext
+ \hsize\columnwidth
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@normalRTLfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+}
\renewcommand{\@LTRfootnotetext}[1]{%
\insert\footins{%
\@RTLfalse%
@@ -12657,8 +12690,22 @@ bidi implementation of tufte title]
\color@endgroup}%
\m@mmf@prepare}
\renewcommand{\@mpfootnotetext}[1]{%
- \global\setbox\@mpfootins\vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+ \global\setbox\@mpfootins\vbox{%
\unvbox\@mpfootins
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font%
+ \foottextfont \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@normalfootfmt{#1}%
+ \color@endgroup}}
+\newcommand{\bidi@bidiold@mpfootnotetext}[1]{%
+ \bidi@joinmpfootnotes\@mpfootinsv@l\@footstartv@l\mp@LTRfootgroupv@l
+ \global\setbox\@mpfootins\vbox{%
+ \unvbox\@mpfootins
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font%
\foottextfont \hsize\columnwidth \@parboxrestore
@@ -12668,8 +12715,9 @@ bidi implementation of tufte title]
\@normalfootfmt{#1}%
\color@endgroup}}
\renewcommand{\@mpLTRfootnotetext}[1]{%
- \global\setbox\@mpfootins\vbox{\@RTLfalse%
+ \global\setbox\@mpfootins\vbox{%
\unvbox\@mpfootins
+ \@RTLfalse
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font%
\LTRfoottextfont \hsize\columnwidth \@parboxrestore
@@ -12679,8 +12727,22 @@ bidi implementation of tufte title]
\@normalLTRfootfmt{#1}%
\color@endgroup}}
\renewcommand{\@mpRTLfootnotetext}[1]{%
- \global\setbox\@mpfootins\vbox{\@RTLtrue%
+ \global\setbox\@mpfootins\vbox{%
+ \unvbox\@mpfootins
+ \@RTLtrue
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font%
+ \RTLfoottextfont \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@normalRTLfootfmt{#1}%
+ \color@endgroup}}
+\newcommand{\bidi@bidiold@mpRTLfootnotetext}[1]{%
+ \bidi@joinmpfootnotes\@mpfootinsv@l\@footstartv@l\mp@LTRfootgroupv@l
+ \global\setbox\@mpfootins\vbox{%
\unvbox\@mpfootins
+ \@RTLtrue
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font%
\RTLfoottextfont \hsize\columnwidth \@parboxrestore
@@ -12809,48 +12871,103 @@ bidi implementation of tufte title]
\fi
\fi
}
-\bidi@ensure@newcommand{\m@mdoextrafeetmini}{%
- \extrafeetminihook}
-\bidi@ensure@newcommand{\extrafeetendmini}{%
- \ifvoid\@mpfootinsv@r
- \ifvoid\@mpfootinsv@l
+\def\bidi@reinsertfootnote#1#2#3{%
+ \ifvoid#1
+ \else
+ \insert\footins{#2#3}%
+ \fi
+}
+\def\bidi@joinmpfootnotes#1#2#3{%
+ \ifvoid#1
+ \else
+ \@tempskipa\skip#1%
+ \bidi@ifmulticol{\divide\@tempskipa\col@number}{}%
+ \edef\bidi@footskip{\vskip\the\@tempskipa\relax}%
+ \bidi@removexfootskip
+ \ifvoid\@mpfootins
+ \global\setbox\@mpfootins\vbox{#2#3}%
\else
- \vskip\skip\@mpfootins
- \normalcolor
- \if@bidi@void@@mpfootins
- \footnoterule
- \fi
- \mp@LTRfootgroupv@l
+ \global\setbox\@mpfootins\vbox{%
+ \unvbox\@mpfootins
+ \bidi@footskip
+ #2#3%
+ }%
\fi
- \else
- \vskip\skip\@mpfootins
- \normalcolor
- \if@bidi@void@@mpfootins
- \footnoterule
+ \fi
+}
+\newcount\bidi@absolutepage@count
+\bidi@absolutepage@count\@ne
+\newcount\bidi@absolutefootnote@count
+\bidi@AfterOutputBoxOutputPage{%
+ \if@filesw
+ \edef\@tempa{%
+ \write\@auxout{%
+ \string\bidi@finalfootnoteperpage%
+ {\noexpand\number\noexpand\bidi@absolutepage@count}%
+ {\noexpand\number\noexpand\bidi@absolutefootnote@count}%
+ }%
+ }%
+ \@tempa
\fi
- \mp@footgroupv@r
- \ifvoid\@mpfootinsv@l
+}
+\bidi@AtEndOutputPage{%
+ \global\advance\bidi@absolutepage@count\@ne
+}
+\newcommand*{\bidi@finalfootnoteperpage}[2]{%
+ \expandafter\gdef\csname bidi@currentpagefinalfootnote@@#1\endcsname{#2}%
+}
+\newif\if@bidi@finalfootnoteperpage
+\newcommand{\bidi@ifafterfinalfootnoteperpage}[2]{%
+ \if@bidi@csundef{bidi@currentpagefinalfootnote@@\number\bidi@absolutepage@count}{%
+ \global\@bidi@finalfootnoteperpagetrue
+ }{%
+ \global\@bidi@finalfootnoteperpagefalse
+ \ifnum\bidi@absolutefootnote@count=\bidi@csuse{bidi@currentpagefinalfootnote@@\number\bidi@absolutepage@count}%
+ #1%
\else
- \vskip\skip\@mpfootins
- \normalcolor\mp@LTRfootgroupv@l
+ #2%
\fi
+ }%
+}
+\newcommand{\bidi@reinsertfinalfootnoteperpage}[3]{%
+ \bidi@ifafterfinalfootnoteperpage{%
+ \bidi@reinsertfootnote{#1}{#2}{#3}%
+ }{%
+ }%
+}
+\newcommand*{\bidi@step@absolutefootnote@count}{%
+ \global\advance\bidi@absolutefootnote@count\@ne
+}
+\bidi@AfterEndDocumentCheckLabelsRerun{%
+ \if@bidi@finalfootnoteperpage
+ \PackageWarningNoLine{bidi}{%
+ The absolute final footnote is not
+ known on every page of your
+ document. Rerun TeX to get the
+ absolute final footnote on every page
+ of your document%
+ }%
\fi
+}
+\bidi@ensure@newcommand{\m@mdoextrafeetmini}{%
+ \extrafeetminihook}
+\bidi@ensure@newcommand{\extrafeetendmini}{%
+\bidi@joinmpfootnotes\@mpfootinsv@r\@footstartv@r\mp@footgroupv@r
+ \bidi@joinmpfootnotes\@mpfootinsv@l\@footstartv@l\mp@LTRfootgroupv@l
\extrafeetendminihook}
\bidi@ensure@newcommand{\extrafeetendminihook}{}
\bidi@ensure@newcommand{\m@mdoextrafeetendmini}{\extrafeetendmini}
\def\endminipage{%
\par
\unskip
+ \m@mdoextrafeetendmini
\ifvoid\@mpfootins
- \global\@bidi@void@@mpfootinstrue
\else
- \global\@bidi@void@@mpfootinsfalse
\vskip\skip\@mpfootins
\normalcolor
\footnoterule
\unvbox\@mpfootins
\fi
- \m@mdoextrafeetendmini
\@minipagefalse
\color@endgroup
\egroup
@@ -12874,7 +12991,9 @@ bidi implementation of tufte title]
\m@make@footstart{v@l}
\bidi@ensure@newcommand{\@footgroupv@r}{}
\newinsert\@mpfootinsv@r
+\skip\@mpfootinsv@r\skip\@mpfootins
\newinsert\@mpfootinsv@l
+\skip\@mpfootinsv@l\skip\@mpfootins
\bidi@ensure@newcommand{\mp@footgroupv@r}{}
\newcount\m@m@k \newdimen\m@m@h
\bidi@ensure@newcommand*{\m@mrigidbalance}[3]{\setbox0=\box#1 \m@m@k=#2 \m@m@h=#3
@@ -12914,6 +13033,31 @@ bidi implementation of tufte title]
\let\mp@LTRfootgroupv@l\@mptwocol@LTRfootgroupv@l
\@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth
}
+\newcommand{\TwoColumnFootnotes}{%
+ \@namedef{foottextfontv@r}{\foottextfont}%
+ \@namedef{foottextfontv@l}{\LTRfoottextfont}%
+ \@bidi@before@Hy@hyperfootnotes
+ \let\@footnotetext\@TwoColfootnotetext
+ \let\@LTRfootnotetext\@TwoColLTRfootnotetext
+ \let\@RTLfootnotetext\@TwoColRTLfootnotetext
+ \dimen\footinsv@r=2\footinsdim
+ \count\footinsv@r=500\relax
+ \m@make@twocol@footgroup{v@r}%
+ \let\@footgroupv@r\@twocol@footgroupv@r
+ \dimen\footinsv@l=2\footinsdim
+ \count\footinsv@l=500\relax
+ \bidi@make@twocol@LTRfootgroup{v@l}%
+ \let\@LTRfootgroupv@l\@twocol@LTRfootgroupv@l
+ \let\@mpfootnotetext\@mpTwoColfootnotetext
+ \let\@mpLTRfootnotetext\@mpTwoColLTRfootnotetext
+ \let\@mpRTLfootnotetext\@mpTwoColRTLfootnotetext
+ \@bidi@after@Hy@hyperfootnotes
+ \m@make@mptwocol@footgroup{v@r}%
+ \let\mp@footgroupv@r\@mptwocol@footgroupv@r
+ \bidi@make@mptwocol@LTRfootgroup{v@l}%
+ \let\mp@LTRfootgroupv@l\@mptwocol@LTRfootgroupv@l
+ \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth
+}
\bidi@ensure@newcommand{\@twocolfootnotetext}[1]{\insert
\if@RTL@footnote
\footinsv@r
@@ -12930,6 +13074,42 @@ bidi implementation of tufte title]
\@twocolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\@TwoColfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \if@RTL@footnote
+ \bidi@reinsertfootnote\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \else
+ \bidi@reinsertfootnote\footinsv@r\@footstartv@r\@footgroupv@r
+ \fi
+ \global\setbox
+ \if@RTL@footnote
+ \footinsv@r
+ \else
+ \footinsv@l
+ \fi
+\vbox{%
+ \unvbox
+ \if@RTL@footnote
+ \footinsv@r
+ \else
+ \footinsv@l
+ \fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\foottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@twocolfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+ \if@RTL@footnote
+ \bidi@reinsertfinalfootnoteperpage\footinsv@r\@footstartv@r\@footgroupv@r
+ \else
+ \bidi@reinsertfinalfootnoteperpage\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \fi
+}
\bidi@ensure@newcommand{\@twocolLTRfootnotetext}[1]{\insert\footinsv@l{\@RTLfalse%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\LTRfoottextfont
@@ -12940,6 +13120,23 @@ bidi implementation of tufte title]
\@twocolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\@TwoColLTRfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+\bidi@reinsertfootnote\footinsv@r\@footstartv@r\@footgroupv@r
+ \global\setbox\footinsv@l\vbox{%
+ \unvbox\footinsv@l
+ \@RTLfalse
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\LTRfoottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@twocolLTRfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+ \bidi@reinsertfinalfootnoteperpage\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+}
\bidi@ensure@newcommand{\@twocolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\RTLfoottextfont
@@ -12950,6 +13147,23 @@ bidi implementation of tufte title]
\@twocolRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\@TwoColRTLfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+\bidi@reinsertfootnote\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \global\setbox\footinsv@r\vbox{%
+ \unvbox\footinsv@r
+ \@RTLtrue
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\RTLfoottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@twocolRTLfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+ \bidi@reinsertfinalfootnoteperpage\footinsv@r\@footstartv@r\@footgroupv@r
+}
\bidi@ensure@newcommand{\@preamtwofmt}{%
\hsize .45\hsize
\parindent=\z@
@@ -12971,13 +13185,43 @@ bidi implementation of tufte title]
\else
\@mpfootinsv@l
\fi
- \vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+ \vbox{%
+ \unvbox
+ \if@RTL@footnote
+ \@mpfootinsv@r
+ \else
+ \@mpfootinsv@l
+ \fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\foottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@twocolfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare}
+\newcommand{\@mpTwoColfootnotetext}[1]{%
+ \if@RTL@footnote
+ \bidi@joinmpfootnotes\@mpfootinsv@l\@footstartv@l\mp@LTRfootgroupv@l
+ \else
+ \bidi@joinmpfootnotes\@mpfootinsv@r\@footstartv@r\mp@footgroupv@r
+ \fi
+ \global\setbox
+ \if@RTL@footnote
+ \@mpfootinsv@r
+ \else
+ \@mpfootinsv@l
+ \fi
+ \vbox{%
\unvbox
\if@RTL@footnote
\@mpfootinsv@r
\else
\@mpfootinsv@l
\fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\foottextfont
\hsize\columnwidth \@parboxrestore
@@ -12988,8 +13232,23 @@ bidi implementation of tufte title]
\color@endgroup}%
\m@mmf@prepare}
\bidi@ensure@newcommand{\@mptwocolLTRfootnotetext}[1]{%
- \global\setbox\@mpfootinsv@l\vbox{\@RTLfalse%
+ \global\setbox\@mpfootinsv@l\vbox{%
\unvbox\@mpfootinsv@l
+ \@RTLfalse
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\LTRfoottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@twocolLTRfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare}
+\newcommand{\@mpTwoColLTRfootnotetext}[1]{%
+ \bidi@joinmpfootnotes\@mpfootinsv@r\@footstartv@r\mp@footgroupv@r
+ \global\setbox\@mpfootinsv@l\vbox{%
+ \unvbox\@mpfootinsv@l
+ \@RTLfalse
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\LTRfoottextfont
\hsize\columnwidth \@parboxrestore
@@ -13000,8 +13259,23 @@ bidi implementation of tufte title]
\color@endgroup}%
\m@mmf@prepare}
\bidi@ensure@newcommand{\@mptwocolRTLfootnotetext}[1]{%
- \global\setbox\@mpfootinsv@r\vbox{\@RTLtrue%
+ \global\setbox\@mpfootinsv@r\vbox{%
+ \unvbox\@mpfootinsv@r
+ \@RTLtrue
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\RTLfoottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@twocolRTLfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare}
+\newcommand{\@mpTwoColRTLfootnotetext}[1]{%
+ \bidi@joinmpfootnotes\@mpfootinsv@l\@footstartv@l\mp@LTRfootgroupv@l
+ \global\setbox\@mpfootinsv@r\vbox{%
\unvbox\@mpfootinsv@r
+ \@RTLtrue
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\RTLfoottextfont
\hsize\columnwidth \@parboxrestore
@@ -13058,6 +13332,31 @@ bidi implementation of tufte title]
\let\mp@LTRfootgroupv@l\@mpthreecol@LTRfootgroupv@l
\@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth
}
+\newcommand{\ThreeColumnFootnotes}{%
+ \@namedef{foottextfontv@r}{\foottextfont}% % [RS]
+ \@namedef{foottextfontv@l}{\LTRfoottextfont}%
+ \@bidi@before@Hy@hyperfootnotes
+ \let\@footnotetext\@ThreeColfootnotetext
+ \let\@LTRfootnotetext\@ThreeColLTRfootnotetext
+ \let\@RTLfootnotetext\@ThreeColRTLfootnotetext
+ \dimen\footinsv@r=3\footinsdim
+ \count\footinsv@r=333\relax
+ \m@make@threecol@footgroup{v@r}%
+ \let\@footgroupv@r\@threecol@footgroupv@r
+ \dimen\footinsv@l=3\footinsdim
+ \count\footinsv@l=333\relax
+ \bidi@make@threecol@LTRfootgroup{v@l}%
+ \let\@LTRfootgroupv@l\@threecol@LTRfootgroupv@l
+ \let\@mpfootnotetext\@mpThreeColfootnotetext
+ \let\@mpLTRfootnotetext\@mpThreeColLTRfootnotetext
+ \let\@mpRTLfootnotetext\@mpThreeColRTLfootnotetext
+ \@bidi@after@Hy@hyperfootnotes
+ \m@make@mpthreecol@footgroup{v@r}%
+ \let\mp@footgroupv@r\@mpthreecol@footgroupv@r
+ \bidi@make@mpthreecol@LTRfootgroup{v@l}%
+ \let\mp@LTRfootgroupv@l\@mpthreecol@LTRfootgroupv@l
+ \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth
+}
\bidi@ensure@newcommand{\@threecolfootnotetext}[1]{\insert
\if@RTL@footnote
\footinsv@r
@@ -13073,6 +13372,41 @@ bidi implementation of tufte title]
\color@begingroup
\@threecolfootfmt{#1}%
\color@endgroup}\m@mmf@prepare}
+\newcommand{\@ThreeColfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \if@RTL@footnote
+ \bidi@reinsertfootnote\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \else
+ \bidi@reinsertfootnote\footinsv@r\@footstartv@r\@footgroupv@r
+ \fi
+ \global\setbox
+ \if@RTL@footnote
+ \footinsv@r
+ \else
+ \footinsv@l
+ \fi
+\vbox{%
+ \unvbox
+ \if@RTL@footnote
+ \footinsv@r
+ \else
+ \footinsv@l
+ \fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\foottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@threecolfootfmt{#1}%
+ \color@endgroup}\m@mmf@prepare
+ \if@RTL@footnote
+ \bidi@reinsertfinalfootnoteperpage\footinsv@r\@footstartv@r\@footgroupv@r
+ \else
+ \bidi@reinsertfinalfootnoteperpage\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \fi
+}
\bidi@ensure@newcommand{\@threecolLTRfootnotetext}[1]{\insert\footinsv@l{\@RTLfalse%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\LTRfoottextfont
@@ -13082,6 +13416,22 @@ bidi implementation of tufte title]
\color@begingroup
\@threecolLTRfootfmt{#1}%
\color@endgroup}\m@mmf@prepare}
+\newcommand{\@ThreeColLTRfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \bidi@reinsertfootnote\footinsv@r\@footstartv@r\@footgroupv@r
+ \global\setbox\footinsv@l\vbox{%
+ \unvbox\footinsv@l
+ \@RTLfalse
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\LTRfoottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@threecolLTRfootfmt{#1}%
+ \color@endgroup}\m@mmf@prepare
+ \bidi@reinsertfinalfootnoteperpage\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+}
\bidi@ensure@newcommand{\@threecolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\RTLfoottextfont
@@ -13091,6 +13441,22 @@ bidi implementation of tufte title]
\color@begingroup
\@threecolRTLfootfmt{#1}%
\color@endgroup}\m@mmf@prepare}
+\newcommand{\@ThreeColRTLfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \bidi@reinsertfootnote\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \global\setbox\footinsv@r\vbox{%
+ \unvbox\footinsv@r
+ \@RTLtrue
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\RTLfoottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@threecolRTLfootfmt{#1}%
+ \color@endgroup}\m@mmf@prepare
+ \bidi@reinsertfinalfootnoteperpage\footinsv@r\@footstartv@r\@footgroupv@r
+}
\bidi@ensure@newcommand{\@preamthreefmt}{%
\hsize .3\hsize
\parindent=\z@
@@ -13112,13 +13478,42 @@ bidi implementation of tufte title]
\else
\@mpfootinsv@l
\fi
- \vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+ \vbox{%
\unvbox
\if@RTL@footnote
\@mpfootinsv@r
\else
\@mpfootinsv@l
\fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\foottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@threecolfootfmt{#1}%
+ \color@endgroup}\m@mmf@prepare}
+\newcommand{\@mpThreeColfootnotetext}[1]{%
+ \if@RTL@footnote
+ \bidi@joinmpfootnotes\@mpfootinsv@l\@footstartv@l\mp@LTRfootgroupv@l
+ \else
+ \bidi@joinmpfootnotes\@mpfootinsv@r\@footstartv@r\mp@footgroupv@r
+ \fi
+ \global\setbox
+ \if@RTL@footnote
+ \@mpfootinsv@r
+ \else
+ \@mpfootinsv@l
+ \fi
+ \vbox{%
+ \unvbox
+ \if@RTL@footnote
+ \@mpfootinsv@r
+ \else
+ \@mpfootinsv@l
+ \fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\foottextfont
\hsize\columnwidth \@parboxrestore
@@ -13128,8 +13523,22 @@ bidi implementation of tufte title]
\@threecolfootfmt{#1}%
\color@endgroup}\m@mmf@prepare}
\bidi@ensure@newcommand{\@mpthreecolLTRfootnotetext}[1]{%
- \global\setbox\@mpfootinsv@l\vbox{\@RTLfalse%
+ \global\setbox\@mpfootinsv@l\vbox{%
+ \unvbox\@mpfootinsv@l
+ \@RTLfalse
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\LTRfoottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@threecolLTRfootfmt{#1}%
+ \color@endgroup}\m@mmf@prepare}
+\newcommand{\@mpThreeColLTRfootnotetext}[1]{%
+ \bidi@joinmpfootnotes\@mpfootinsv@r\@footstartv@r\mp@footgroupv@r
+ \global\setbox\@mpfootinsv@l\vbox{%
\unvbox\@mpfootinsv@l
+ \@RTLfalse
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\LTRfoottextfont
\hsize\columnwidth \@parboxrestore
@@ -13139,8 +13548,22 @@ bidi implementation of tufte title]
\@threecolLTRfootfmt{#1}%
\color@endgroup}\m@mmf@prepare}
\bidi@ensure@newcommand{\@mpthreecolRTLfootnotetext}[1]{%
- \global\setbox\@mpfootinsv@r\vbox{\@RTLtrue%
+ \global\setbox\@mpfootinsv@r\vbox{%
\unvbox\@mpfootinsv@r
+ \@RTLtrue
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\RTLfoottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@threecolRTLfootfmt{#1}%
+ \color@endgroup}\m@mmf@prepare}
+\newcommand{\@mpThreeColRTLfootnotetext}[1]{%
+ \bidi@joinmpfootnotes\@mpfootinsv@l\@footstartv@l\mp@LTRfootgroupv@l
+ \global\setbox\@mpfootinsv@r\vbox{%
+ \unvbox\@mpfootinsv@r
+ \@RTLtrue
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\RTLfoottextfont
\hsize\columnwidth \@parboxrestore
@@ -13196,6 +13619,31 @@ bidi implementation of tufte title]
\let\mp@LTRfootgroupv@l\@mpfourcol@LTRfootgroupv@l
\@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth
}
+\newcommand{\FourColumnFootnotes}{%
+ \@namedef{foottextfontv@r}{\foottextfont}% % [RS]
+ \@namedef{foottextfontv@l}{\LTRfoottextfont}%
+ \@bidi@before@Hy@hyperfootnotes
+ \let\@footnotetext\@FourColfootnotetext
+ \let\@LTRfootnotetext\@FourColLTRfootnotetext
+ \let\@RTLfootnotetext\@FourColRTLfootnotetext
+ \dimen\footinsv@r=4\footinsdim
+ \count\footinsv@r=250\relax
+ \m@make@fourcol@footgroup{v@r}%
+ \let\@footgroupv@r\@fourcol@footgroupv@r
+ \dimen\footinsv@l=4\footinsdim
+ \count\footinsv@l=250\relax
+ \bidi@make@fourcol@LTRfootgroup{v@l}%
+ \let\@LTRfootgroupv@l\@fourcol@LTRfootgroupv@l
+ \let\@mpfootnotetext\@mpFourColfootnotetext
+ \let\@mpLTRfootnotetext\@mpFourColLTRfootnotetext
+ \let\@mpRTLfootnotetext\@mpFourColRTLfootnotetext
+ \@bidi@after@Hy@hyperfootnotes
+ \m@make@mpfourcol@footgroup{v@r}%
+ \let\mp@footgroupv@r\@mpfourcol@footgroupv@r
+ \bidi@make@mpfourcol@LTRfootgroup{v@l}%
+ \let\mp@LTRfootgroupv@l\@mpfourcol@LTRfootgroupv@l
+ \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth
+}
\bidi@ensure@newcommand{\@fourcolfootnotetext}[1]{\insert
\if@RTL@footnote
\footinsv@r
@@ -13212,6 +13660,42 @@ bidi implementation of tufte title]
\@fourcolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\@FourColfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \if@RTL@footnote
+ \bidi@reinsertfootnote\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \else
+ \bidi@reinsertfootnote\footinsv@r\@footstartv@r\@footgroupv@r
+ \fi
+ \global\setbox
+ \if@RTL@footnote
+ \footinsv@r
+ \else
+ \footinsv@l
+ \fi
+\vbox{%
+ \unvbox
+ \if@RTL@footnote
+ \footinsv@r
+ \else
+ \footinsv@l
+ \fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\foottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@fourcolfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+ \if@RTL@footnote
+ \bidi@reinsertfinalfootnoteperpage\footinsv@r\@footstartv@r\@footgroupv@r
+ \else
+ \bidi@reinsertfinalfootnoteperpage\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \fi
+}
\bidi@ensure@newcommand{\@fourcolLTRfootnotetext}[1]{\insert\footinsv@l{\@RTLfalse%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\LTRfoottextfont
@@ -13222,6 +13706,23 @@ bidi implementation of tufte title]
\@fourcolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\@FourColLTRfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \bidi@reinsertfootnote\footinsv@r\@footstartv@r\@footgroupv@r
+ \global\setbox\footinsv@l\vbox{%
+ \unvbox\footinsv@l
+ \@RTLfalse%
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\LTRfoottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@fourcolLTRfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+ \bidi@reinsertfinalfootnoteperpage\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+}
\bidi@ensure@newcommand{\@fourcolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\RTLfoottextfont
@@ -13232,6 +13733,23 @@ bidi implementation of tufte title]
\@fourcolRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\@FourColRTLfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \bidi@reinsertfootnote\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \global\setbox\footinsv@r\vbox{%
+ \unvbox\footinsv@r
+ \@RTLtrue
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\RTLfoottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@fourcolRTLfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+ \bidi@reinsertfinalfootnoteperpage\footinsv@r\@footstartv@r\@footgroupv@r
+}
\bidi@ensure@newcommand{\@preamfourfmt}{%
\hsize .25\hsize
\parindent=\z@
@@ -13253,13 +13771,43 @@ bidi implementation of tufte title]
\else
\@mpfootinsv@l
\fi
- \vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+ \vbox{%
\unvbox
\if@RTL@footnote
\@mpfootinsv@r
\else
\@mpfootinsv@l
\fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\foottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@fourcolfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare}
+\newcommand{\@mpFourColfootnotetext}[1]{%
+ \if@RTL@footnote
+ \bidi@joinmpfootnotes\@mpfootinsv@l\@footstartv@l\mp@LTRfootgroupv@l
+ \else
+ \bidi@joinmpfootnotes\@mpfootinsv@r\@footstartv@r\mp@footgroupv@r
+ \fi
+ \global\setbox
+ \if@RTL@footnote
+ \@mpfootinsv@r
+ \else
+ \@mpfootinsv@l
+ \fi
+ \vbox{%
+ \unvbox
+ \if@RTL@footnote
+ \@mpfootinsv@r
+ \else
+ \@mpfootinsv@l
+ \fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\foottextfont
\hsize\columnwidth \@parboxrestore
@@ -13270,8 +13818,23 @@ bidi implementation of tufte title]
\color@endgroup}%
\m@mmf@prepare}
\bidi@ensure@newcommand{\@mpfourcolLTRfootnotetext}[1]{%
- \global\setbox\@mpfootinsv@l\vbox{\@RTLfalse%
+ \global\setbox\@mpfootinsv@l\vbox{%
+ \unvbox\@mpfootinsv@l
+ \@RTLfalse
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\LTRfoottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@fourcolLTRfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare}
+\newcommand{\@mpFourColLTRfootnotetext}[1]{%
+ \bidi@joinmpfootnotes\@mpfootinsv@r\@footstartv@r\mp@footgroupv@r
+ \global\setbox\@mpfootinsv@l\vbox{%
\unvbox\@mpfootinsv@l
+ \@RTLfalse
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\LTRfoottextfont
\hsize\columnwidth \@parboxrestore
@@ -13282,8 +13845,23 @@ bidi implementation of tufte title]
\color@endgroup}%
\m@mmf@prepare}
\bidi@ensure@newcommand{\@mpfourcolRTLfootnotetext}[1]{%
- \global\setbox\@mpfootinsv@r\vbox{\@RTLtrue%
+ \global\setbox\@mpfootinsv@r\vbox{%
\unvbox\@mpfootinsv@r
+ \@RTLtrue
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\RTLfoottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@fourcolRTLfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare}
+\newcommand{\@mpFourColRTLfootnotetext}[1]{%
+ \bidi@joinmpfootnotes\@mpfootinsv@l\@footstartv@l\mp@LTRfootgroupv@l
+ \global\setbox\@mpfootinsv@r\vbox{%
+ \unvbox\@mpfootinsv@r
+ \@RTLtrue
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\RTLfoottextfont
\hsize\columnwidth \@parboxrestore
@@ -13340,6 +13918,31 @@ bidi implementation of tufte title]
\let\mp@LTRfootgroupv@l\@mpfivecol@LTRfootgroupv@l
\@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth
}
+\newcommand{\FiveColumnFootnotes}{%
+ \@namedef{foottextfontv@r}{\foottextfont}% % [RS]
+ \@namedef{foottextfontv@l}{\LTRfoottextfont}%
+ \@bidi@before@Hy@hyperfootnotes
+ \let\@footnotetext\@FiveColfootnotetext
+ \let\@LTRfootnotetext\@FiveColLTRfootnotetext
+ \let\@RTLfootnotetext\@FiveColRTLfootnotetext
+ \dimen\footinsv@r=5\footinsdim
+ \count\footinsv@r=200\relax
+ \m@make@fivecol@footgroup{v@r}%
+ \let\@footgroupv@r\@fivecol@footgroupv@r
+ \dimen\footinsv@l=5\footinsdim
+ \count\footinsv@l=200\relax
+ \bidi@make@fivecol@LTRfootgroup{v@l}%
+ \let\@LTRfootgroupv@l\@fivecol@LTRfootgroupv@l
+ \let\@mpfootnotetext\@mpFiveColfootnotetext
+ \let\@mpLTRfootnotetext\@mpFiveColLTRfootnotetext
+ \let\@mpRTLfootnotetext\@mpFiveColRTLfootnotetext
+ \@bidi@after@Hy@hyperfootnotes
+ \m@make@mpfivecol@footgroup{v@r}%
+ \let\mp@footgroupv@r\@mpfivecol@footgroupv@r
+ \bidi@make@mpfivecol@LTRfootgroup{v@l}%
+ \let\mp@LTRfootgroupv@l\@mpfivecol@LTRfootgroupv@l
+ \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth
+}
\bidi@ensure@newcommand{\@fivecolfootnotetext}[1]{\insert
\if@RTL@footnote
\footinsv@r
@@ -13356,6 +13959,42 @@ bidi implementation of tufte title]
\@fivecolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\@FiveColfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \if@RTL@footnote
+ \bidi@reinsertfootnote\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \else
+ \bidi@reinsertfootnote\footinsv@r\@footstartv@r\@footgroupv@r
+ \fi
+ \global\setbox
+ \if@RTL@footnote
+ \footinsv@r
+ \else
+ \footinsv@l
+ \fi
+\vbox{%
+ \unvbox
+ \if@RTL@footnote
+ \footinsv@r
+ \else
+ \footinsv@l
+ \fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\foottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@fivecolfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+ \if@RTL@footnote
+ \bidi@reinsertfinalfootnoteperpage\footinsv@r\@footstartv@r\@footgroupv@r
+ \else
+ \bidi@reinsertfinalfootnoteperpage\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \fi
+}
\bidi@ensure@newcommand{\@fivecolLTRfootnotetext}[1]{\insert\footinsv@l{\@RTLfalse%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\LTRfoottextfont
@@ -13366,6 +14005,23 @@ bidi implementation of tufte title]
\@fivecolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\@FiveColLTRfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \bidi@reinsertfootnote\footinsv@r\@footstartv@r\@footgroupv@r
+ \global\setbox\footinsv@l\vbox{%
+ \unvbox\footinsv@l
+ \@RTLfalse
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\LTRfoottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@fivecolLTRfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+ \bidi@reinsertfinalfootnoteperpage\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+}
\bidi@ensure@newcommand{\@fivecolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\RTLfoottextfont
@@ -13376,6 +14032,23 @@ bidi implementation of tufte title]
\@fivecolRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\@FiveColRTLfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \bidi@reinsertfootnote\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \global\setbox\footinsv@r\vbox{%
+ \unvbox\footinsv@r
+ \@RTLtrue
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\RTLfoottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@fivecolRTLfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+ \bidi@reinsertfinalfootnoteperpage\footinsv@r\@footstartv@r\@footgroupv@r
+}
\bidi@ensure@newcommand{\@preamfivefmt}{%
\hsize .2\hsize
\parindent=\z@
@@ -13397,13 +14070,43 @@ bidi implementation of tufte title]
\else
\@mpfootinsv@l
\fi
- \vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+ \vbox{%
\unvbox
\if@RTL@footnote
\@mpfootinsv@r
\else
\@mpfootinsv@l
\fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\foottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@fivecolfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare}
+\newcommand{\@mpFiveColfootnotetext}[1]{%
+ \if@RTL@footnote
+ \bidi@joinmpfootnotes\@mpfootinsv@l\@footstartv@l\mp@LTRfootgroupv@l
+ \else
+ \bidi@joinmpfootnotes\@mpfootinsv@r\@footstartv@r\mp@footgroupv@r
+ \fi
+ \global\setbox
+ \if@RTL@footnote
+ \@mpfootinsv@r
+ \else
+ \@mpfootinsv@l
+ \fi
+ \vbox{%
+ \unvbox
+ \if@RTL@footnote
+ \@mpfootinsv@r
+ \else
+ \@mpfootinsv@l
+ \fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\foottextfont
\hsize\columnwidth \@parboxrestore
@@ -13414,8 +14117,23 @@ bidi implementation of tufte title]
\color@endgroup}%
\m@mmf@prepare}
\bidi@ensure@newcommand{\@mpfivecolLTRfootnotetext}[1]{%
- \global\setbox\@mpfootinsv@l\vbox{\@RTLfalse%
+ \global\setbox\@mpfootinsv@l\vbox{%
\unvbox\@mpfootinsv@l
+ \@RTLfalse
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\LTRfoottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@fivecolLTRfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare}
+\newcommand{\@mpFiveColLTRfootnotetext}[1]{%
+ \bidi@joinmpfootnotes\@mpfootinsv@r\@footstartv@r\mp@footgroupv@r
+ \global\setbox\@mpfootinsv@l\vbox{%
+ \unvbox\@mpfootinsv@l
+ \@RTLfalse
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\LTRfoottextfont
\hsize\columnwidth \@parboxrestore
@@ -13426,8 +14144,23 @@ bidi implementation of tufte title]
\color@endgroup}%
\m@mmf@prepare}
\bidi@ensure@newcommand{\@mpfivecolRTLfootnotetext}[1]{%
- \global\setbox\@mpfootinsv@r\vbox{\@RTLtrue%
+ \global\setbox\@mpfootinsv@r\vbox{%
\unvbox\@mpfootinsv@r
+ \@RTLtrue
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\RTLfoottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@fivecolRTLfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare}
+\newcommand{\@mpFiveColRTLfootnotetext}[1]{%
+ \bidi@joinmpfootnotes\@mpfootinsv@l\@footstartv@l\mp@LTRfootgroupv@l
+ \global\setbox\@mpfootinsv@r\vbox{%
+ \unvbox\@mpfootinsv@r
+ \@RTLtrue
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\RTLfoottextfont
\hsize\columnwidth \@parboxrestore
@@ -13484,6 +14217,31 @@ bidi implementation of tufte title]
\let\mp@LTRfootgroupv@l\@mpsixcol@LTRfootgroupv@l
\@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth
}
+\newcommand{\SixColumnFootnotes}{%
+ \@namedef{foottextfontv@r}{\foottextfont}% % [RS]
+ \@namedef{foottextfontv@l}{\LTRfoottextfont}%
+ \@bidi@before@Hy@hyperfootnotes
+ \let\@footnotetext\@SixColfootnotetext
+ \let\@LTRfootnotetext\@SixColLTRfootnotetext
+ \let\@RTLfootnotetext\@SixColRTLfootnotetext
+ \dimen\footinsv@r=6\footinsdim
+ \count\footinsv@r=166\relax
+ \m@make@sixcol@footgroup{v@r}%
+ \let\@footgroupv@r\@sixcol@footgroupv@r
+ \dimen\footinsv@l=6\footinsdim
+ \count\footinsv@l=166\relax
+ \bidi@make@sixcol@LTRfootgroup{v@l}%
+ \let\@LTRfootgroupv@l\@sixcol@LTRfootgroupv@l
+ \let\@mpfootnotetext\@mpSixColfootnotetext
+ \let\@mpLTRfootnotetext\@mpSixColLTRfootnotetext
+ \let\@mpRTLfootnotetext\@mpSixColRTLfootnotetext
+ \@bidi@after@Hy@hyperfootnotes
+ \m@make@mpsixcol@footgroup{v@r}%
+ \let\mp@footgroupv@r\@mpsixcol@footgroupv@r
+ \bidi@make@mpsixcol@LTRfootgroup{v@l}%
+ \let\mp@LTRfootgroupv@l\@mpsixcol@LTRfootgroupv@l
+ \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth
+}
\bidi@ensure@newcommand{\@sixcolfootnotetext}[1]{\insert
\if@RTL@footnote
\footinsv@r
@@ -13500,6 +14258,42 @@ bidi implementation of tufte title]
\@sixcolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\@SixColfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \if@RTL@footnote
+ \bidi@reinsertfootnote\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \else
+ \bidi@reinsertfootnote\footinsv@r\@footstartv@r\@footgroupv@r
+ \fi
+ \global\setbox
+ \if@RTL@footnote
+ \footinsv@r
+ \else
+ \footinsv@l
+ \fi
+\vbox{%
+ \unvbox
+ \if@RTL@footnote
+ \footinsv@r
+ \else
+ \footinsv@l
+ \fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\foottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@sixcolfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+ \if@RTL@footnote
+ \bidi@reinsertfinalfootnoteperpage\footinsv@r\@footstartv@r\@footgroupv@r
+ \else
+ \bidi@reinsertfinalfootnoteperpage\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \fi
+}
\bidi@ensure@newcommand{\@sixcolLTRfootnotetext}[1]{\insert\footinsv@l{\@RTLfalse%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\LTRfoottextfont
@@ -13510,6 +14304,23 @@ bidi implementation of tufte title]
\@sixcolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\@SixColLTRfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \bidi@reinsertfootnote\footinsv@r\@footstartv@r\@footgroupv@r
+ \global\setbox\footinsv@l\vbox{%
+ \unvbox\footinsv@l
+ \@RTLfalse
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\LTRfoottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@sixcolLTRfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+ \bidi@reinsertfinalfootnoteperpage\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+}
\bidi@ensure@newcommand{\@sixcolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\RTLfoottextfont
@@ -13520,6 +14331,23 @@ bidi implementation of tufte title]
\@sixcolRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\@SixColRTLfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \bidi@reinsertfootnote\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \global\setbox\footinsv@r\vbox{%
+ \unvbox\footinsv@r
+ \@RTLtrue
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\RTLfoottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@sixcolRTLfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+ \bidi@reinsertfinalfootnoteperpage\footinsv@r\@footstartv@r\@footgroupv@r
+}
\bidi@ensure@newcommand{\@preamsixfmt}{%
\hsize .16\hsize
\parindent=\z@
@@ -13534,7 +14362,7 @@ bidi implementation of tufte title]
\bidi@ensure@newcommand{\@sixcolRTLfootfmt}[1]{%
\@preamsixfmt
{\RTLfootfootmark\strut {\RTLfoottextfont #1}\strut\par}\allowbreak}
-\bidi@ensure@newcommand{\@mpsixcolfootnotetext}[1]{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+\bidi@ensure@newcommand{\@mpsixcolfootnotetext}[1]{%
\global\setbox
\if@RTL@footnote
\@mpfootinsv@r
@@ -13548,6 +14376,36 @@ bidi implementation of tufte title]
\else
\@mpfootinsv@l
\fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\foottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@sixcolfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare}
+\newcommand{\@mpSixColfootnotetext}[1]{%
+ \if@RTL@footnote
+ \bidi@joinmpfootnotes\@mpfootinsv@l\@footstartv@l\mp@LTRfootgroupv@l
+ \else
+ \bidi@joinmpfootnotes\@mpfootinsv@r\@footstartv@r\mp@footgroupv@r
+ \fi
+ \global\setbox
+ \if@RTL@footnote
+ \@mpfootinsv@r
+ \else
+ \@mpfootinsv@l
+ \fi
+ \vbox{%
+ \unvbox
+ \if@RTL@footnote
+ \@mpfootinsv@r
+ \else
+ \@mpfootinsv@l
+ \fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\foottextfont
\hsize\columnwidth \@parboxrestore
@@ -13557,9 +14415,10 @@ bidi implementation of tufte title]
\@sixcolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\bidi@ensure@newcommand{\@mpsixcolLTRfootnotetext}[1]{\@RTLfalse%
+\bidi@ensure@newcommand{\@mpsixcolLTRfootnotetext}[1]{%
\global\setbox\@mpfootinsv@l\vbox{%
\unvbox\@mpfootinsv@l
+ \@RTLfalse
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\LTRfoottextfont
\hsize\columnwidth \@parboxrestore
@@ -13569,9 +14428,38 @@ bidi implementation of tufte title]
\@sixcolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\bidi@ensure@newcommand{\@mpsixcolRTLfootnotetext}[1]{\@RTLtrue%
+\newcommand{\@mpSixColLTRfootnotetext}[1]{%
+ \bidi@joinmpfootnotes\@mpfootinsv@r\@footstartv@r\mp@footgroupv@r
+ \global\setbox\@mpfootinsv@l\vbox{%
+ \unvbox\@mpfootinsv@l
+ \@RTLfalse
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\LTRfoottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@sixcolLTRfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare}
+\bidi@ensure@newcommand{\@mpsixcolRTLfootnotetext}[1]{%
+ \global\setbox\@mpfootinsv@r\vbox{%
+ \unvbox\@mpfootinsv@r
+ \@RTLtrue
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\RTLfoottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@sixcolRTLfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare}
+\newcommand{\@mpSixColRTLfootnotetext}[1]{%
+ \bidi@joinmpfootnotes\@mpfootinsv@l\@footstartv@l\mp@LTRfootgroupv@l
\global\setbox\@mpfootinsv@r\vbox{%
\unvbox\@mpfootinsv@r
+ \@RTLtrue
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\RTLfoottextfont
\hsize\columnwidth \@parboxrestore
@@ -13628,6 +14516,31 @@ bidi implementation of tufte title]
\let\mp@LTRfootgroupv@l\@mpsevencol@LTRfootgroupv@l
\@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth
}
+\newcommand{\SevenColumnFootnotes}{%
+ \@namedef{foottextfontv@r}{\foottextfont}% % [RS]
+ \@namedef{foottextfontv@l}{\LTRfoottextfont}%
+ \@bidi@before@Hy@hyperfootnotes
+ \let\@footnotetext\@SevenColfootnotetext
+ \let\@LTRfootnotetext\@SevenColLTRfootnotetext
+ \let\@RTLfootnotetext\@SevenColRTLfootnotetext
+ \dimen\footinsv@r=7\footinsdim
+ \count\footinsv@r=142\relax
+ \m@make@sevencol@footgroup{v@r}%
+ \let\@footgroupv@r\@sevencol@footgroupv@r
+ \dimen\footinsv@l=7\footinsdim
+ \count\footinsv@l=142\relax
+ \bidi@make@sevencol@LTRfootgroup{v@l}%
+ \let\@LTRfootgroupv@l\@sevencol@LTRfootgroupv@l
+ \let\@mpfootnotetext\@mpSevenColfootnotetext
+ \let\@mpLTRfootnotetext\@mpSevenColLTRfootnotetext
+ \let\@mpRTLfootnotetext\@mpSevenColRTLfootnotetext
+ \@bidi@after@Hy@hyperfootnotes
+ \m@make@mpsevencol@footgroup{v@r}%
+ \let\mp@footgroupv@r\@mpsevencol@footgroupv@r
+ \bidi@make@mpsevencol@LTRfootgroup{v@l}%
+ \let\mp@LTRfootgroupv@l\@mpsevencol@LTRfootgroupv@l
+ \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth
+}
\bidi@ensure@newcommand{\@sevencolfootnotetext}[1]{\insert
\if@RTL@footnote
\footinsv@r
@@ -13644,6 +14557,42 @@ bidi implementation of tufte title]
\@sevencolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\@SevenColfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \if@RTL@footnote
+ \bidi@reinsertfootnote\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \else
+ \bidi@reinsertfootnote\footinsv@r\@footstartv@r\@footgroupv@r
+ \fi
+ \global\setbox
+ \if@RTL@footnote
+ \footinsv@r
+ \else
+ \footinsv@l
+ \fi
+\vbox{%
+ \unvbox
+ \if@RTL@footnote
+ \footinsv@r
+ \else
+ \footinsv@l
+ \fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\foottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@sevencolfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+ \if@RTL@footnote
+ \bidi@reinsertfinalfootnoteperpage\footinsv@r\@footstartv@r\@footgroupv@r
+ \else
+ \bidi@reinsertfinalfootnoteperpage\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \fi
+}
\bidi@ensure@newcommand{\@sevencolLTRfootnotetext}[1]{\insert\footinsv@l{\@RTLfalse%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\LTRfoottextfont
@@ -13654,6 +14603,23 @@ bidi implementation of tufte title]
\@sevencolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\@SevenColLTRfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \bidi@reinsertfootnote\footinsv@r\@footstartv@r\@footgroupv@r
+ \global\setbox\footinsv@l\vbox{%
+ \unvbox\footinsv@l
+ \@RTLfalse
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\LTRfoottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@sevencolLTRfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+ \bidi@reinsertfinalfootnoteperpage\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+}
\bidi@ensure@newcommand{\@sevencolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\RTLfoottextfont
@@ -13664,6 +14630,23 @@ bidi implementation of tufte title]
\@sevencolRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\@SevenColRTLfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \bidi@reinsertfootnote\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \global\setbox\footinsv@r\vbox{%
+ \unvbox\footinsv@r
+ \@RTLtrue
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\RTLfoottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@sevencolRTLfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+ \bidi@reinsertfinalfootnoteperpage\footinsv@r\@footstartv@r\@footgroupv@r
+}
\bidi@ensure@newcommand{\@preamsevenfmt}{%
\hsize .142\hsize
\parindent=\z@
@@ -13678,7 +14661,7 @@ bidi implementation of tufte title]
\bidi@ensure@newcommand{\@sevencolRTLfootfmt}[1]{%
\@preamsevenfmt
{\RTLfootfootmark\strut {\RTLfoottextfont #1}\strut\par}\allowbreak}
-\bidi@ensure@newcommand{\@mpsevencolfootnotetext}[1]{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+\bidi@ensure@newcommand{\@mpsevencolfootnotetext}[1]{%
\global\setbox
\if@RTL@footnote
\@mpfootinsv@r
@@ -13692,6 +14675,7 @@ bidi implementation of tufte title]
\else
\@mpfootinsv@l
\fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\foottextfont
\hsize\columnwidth \@parboxrestore
@@ -13701,9 +14685,39 @@ bidi implementation of tufte title]
\@sevencolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\bidi@ensure@newcommand{\@mpsevencolLTRfootnotetext}[1]{\@RTLfalse%
+\newcommand{\@mpSevenColfootnotetext}[1]{%
+ \if@RTL@footnote
+ \bidi@joinmpfootnotes\@mpfootinsv@l\@footstartv@l\mp@LTRfootgroupv@l
+ \else
+ \bidi@joinmpfootnotes\@mpfootinsv@r\@footstartv@r\mp@footgroupv@r
+ \fi
+ \global\setbox
+ \if@RTL@footnote
+ \@mpfootinsv@r
+ \else
+ \@mpfootinsv@l
+ \fi
+ \vbox{%
+ \unvbox
+ \if@RTL@footnote
+ \@mpfootinsv@r
+ \else
+ \@mpfootinsv@l
+ \fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\foottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@sevencolfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare}
+\bidi@ensure@newcommand{\@mpsevencolLTRfootnotetext}[1]{%
\global\setbox\@mpfootinsv@l\vbox{%
\unvbox\@mpfootinsv@l
+ \@RTLfalse
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\LTRfoottextfont
\hsize\columnwidth \@parboxrestore
@@ -13713,9 +14727,38 @@ bidi implementation of tufte title]
\@sevencolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\bidi@ensure@newcommand{\@mpsevencolRTLfootnotetext}[1]{\@RTLtrue%
+\newcommand{\@mpSevenColLTRfootnotetext}[1]{%
+ \bidi@joinmpfootnotes\@mpfootinsv@r\@footstartv@r\mp@footgroupv@r
+ \global\setbox\@mpfootinsv@l\vbox{%
+ \unvbox\@mpfootinsv@l
+ \@RTLfalse
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\LTRfoottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@sevencolLTRfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare}
+\bidi@ensure@newcommand{\@mpsevencolRTLfootnotetext}[1]{%
\global\setbox\@mpfootinsv@r\vbox{%
\unvbox\@mpfootinsv@r
+ \@RTLtrue
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\RTLfoottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@sevencolRTLfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare}
+\newcommand{\@mpSevenColRTLfootnotetext}[1]{%
+ \bidi@joinmpfootnotes\@mpfootinsv@l\@footstartv@l\mp@LTRfootgroupv@l
+ \global\setbox\@mpfootinsv@r\vbox{%
+ \unvbox\@mpfootinsv@r
+ \@RTLtrue
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\RTLfoottextfont
\hsize\columnwidth \@parboxrestore
@@ -13772,6 +14815,31 @@ bidi implementation of tufte title]
\let\mp@LTRfootgroupv@l\@mpeightcol@LTRfootgroupv@l
\@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth
}
+\newcommand{\EightColumnFootnotes}{%
+ \@namedef{foottextfontv@r}{\foottextfont}% % [RS]
+ \@namedef{foottextfontv@l}{\LTRfoottextfont}%
+ \@bidi@before@Hy@hyperfootnotes
+ \let\@footnotetext\@EightColfootnotetext
+ \let\@LTRfootnotetext\@EightColLTRfootnotetext
+ \let\@RTLfootnotetext\@EightColRTLfootnotetext
+ \dimen\footinsv@r=8\footinsdim
+ \count\footinsv@r=125\relax
+ \m@make@eightcol@footgroup{v@r}%
+ \let\@footgroupv@r\@eightcol@footgroupv@r
+ \dimen\footinsv@l=8\footinsdim
+ \count\footinsv@l=125\relax
+ \bidi@make@eightcol@LTRfootgroup{v@l}%
+ \let\@LTRfootgroupv@l\@eightcol@LTRfootgroupv@l
+ \let\@mpfootnotetext\@mpEightColfootnotetext
+ \let\@mpLTRfootnotetext\@mpEightColLTRfootnotetext
+ \let\@mpRTLfootnotetext\@mpEightColRTLfootnotetext
+ \@bidi@after@Hy@hyperfootnotes
+ \m@make@mpeightcol@footgroup{v@r}%
+ \let\mp@footgroupv@r\@mpeightcol@footgroupv@r
+ \bidi@make@mpeightcol@LTRfootgroup{v@l}%
+ \let\mp@LTRfootgroupv@l\@mpeightcol@LTRfootgroupv@l
+ \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth
+}
\bidi@ensure@newcommand{\@eightcolfootnotetext}[1]{\insert
\if@RTL@footnote
\footinsv@r
@@ -13788,6 +14856,42 @@ bidi implementation of tufte title]
\@eightcolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\@EightColfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \if@RTL@footnote
+ \bidi@reinsertfootnote\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \else
+ \bidi@reinsertfootnote\footinsv@r\@footstartv@r\@footgroupv@r
+ \fi
+ \global\setbox
+ \if@RTL@footnote
+ \footinsv@r
+ \else
+ \footinsv@l
+ \fi
+\vbox{%
+ \unvbox
+ \if@RTL@footnote
+ \footinsv@r
+ \else
+ \footinsv@l
+ \fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\foottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@eightcolfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+ \if@RTL@footnote
+ \bidi@reinsertfinalfootnoteperpage\footinsv@r\@footstartv@r\@footgroupv@r
+ \else
+ \bidi@reinsertfinalfootnoteperpage\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \fi
+}
\bidi@ensure@newcommand{\@eightcolLTRfootnotetext}[1]{\insert\footinsv@l{\@RTLfalse%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\LTRfoottextfont
@@ -13798,6 +14902,23 @@ bidi implementation of tufte title]
\@eightcolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\@EightColLTRfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \bidi@reinsertfootnote\footinsv@r\@footstartv@r\@footgroupv@r
+ \global\setbox\footinsv@l\vbox{%
+ \unvbox\footinsv@l
+ \@RTLfalse
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\LTRfoottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@eightcolLTRfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+ \bidi@reinsertfinalfootnoteperpage\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+}
\bidi@ensure@newcommand{\@eightcolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\RTLfoottextfont
@@ -13808,6 +14929,23 @@ bidi implementation of tufte title]
\@eightcolRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\@EightColRTLfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \bidi@reinsertfootnote\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \global\setbox\footinsv@r\vbox{%
+ \unvbox\footinsv@r
+ \@RTLtrue%
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\RTLfoottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@eightcolRTLfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+ \bidi@reinsertfinalfootnoteperpage\footinsv@r\@footstartv@r\@footgroupv@r
+}
\bidi@ensure@newcommand{\@preameightfmt}{%
\hsize .125\hsize
\parindent=\z@
@@ -13829,13 +14967,43 @@ bidi implementation of tufte title]
\else
\@mpfootinsv@l
\fi
- \vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+ \vbox{%
+ \unvbox
+ \if@RTL@footnote
+ \@mpfootinsv@r
+ \else
+ \@mpfootinsv@l
+ \fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\foottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@eightcolfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare}
+\newcommand{\@mpEightColfootnotetext}[1]{%
+ \if@RTL@footnote
+ \bidi@joinmpfootnotes\@mpfootinsv@l\@footstartv@l\mp@LTRfootgroupv@l
+ \else
+ \bidi@joinmpfootnotes\@mpfootinsv@r\@footstartv@r\mp@footgroupv@r
+ \fi
+ \global\setbox
+ \if@RTL@footnote
+ \@mpfootinsv@r
+ \else
+ \@mpfootinsv@l
+ \fi
+ \vbox{%
\unvbox
\if@RTL@footnote
\@mpfootinsv@r
\else
\@mpfootinsv@l
\fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\foottextfont
\hsize\columnwidth \@parboxrestore
@@ -13846,8 +15014,23 @@ bidi implementation of tufte title]
\color@endgroup}%
\m@mmf@prepare}
\bidi@ensure@newcommand{\@mpeightcolLTRfootnotetext}[1]{%
- \global\setbox\@mpfootinsv@l\vbox{\@RTLfalse%
+ \global\setbox\@mpfootinsv@l\vbox{%
+ \unvbox\@mpfootinsv@l
+ \@RTLfalse
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\LTRfoottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@eightcolLTRfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare}
+\newcommand{\@mpEightColLTRfootnotetext}[1]{%
+ \bidi@joinmpfootnotes\@mpfootinsv@r\@footstartv@r\mp@footgroupv@r
+ \global\setbox\@mpfootinsv@l\vbox{%
\unvbox\@mpfootinsv@l
+ \@RTLfalse
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\LTRfoottextfont
\hsize\columnwidth \@parboxrestore
@@ -13858,8 +15041,23 @@ bidi implementation of tufte title]
\color@endgroup}%
\m@mmf@prepare}
\bidi@ensure@newcommand{\@mpeightcolRTLfootnotetext}[1]{%
- \global\setbox\@mpfootinsv@r\vbox{\@RTLtrue%
+ \global\setbox\@mpfootinsv@r\vbox{%
\unvbox\@mpfootinsv@r
+ \@RTLtrue
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\RTLfoottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@eightcolRTLfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare}
+\newcommand{\@mpEightColRTLfootnotetext}[1]{%
+ \bidi@joinmpfootnotes\@mpfootinsv@l\@footstartv@l\mp@LTRfootgroupv@l
+ \global\setbox\@mpfootinsv@r\vbox{%
+ \unvbox\@mpfootinsv@r
+ \@RTLtrue
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\RTLfoottextfont
\hsize\columnwidth \@parboxrestore
@@ -13916,6 +15114,31 @@ bidi implementation of tufte title]
\let\mp@LTRfootgroupv@l\@mpninecol@LTRfootgroupv@l
\@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth
}
+\newcommand{\NineColumnFootnotes}{%
+ \@namedef{foottextfontv@r}{\foottextfont}% % [RS]
+ \@namedef{foottextfontv@l}{\LTRfoottextfont}%
+ \@bidi@before@Hy@hyperfootnotes
+ \let\@footnotetext\@NineColfootnotetext
+ \let\@LTRfootnotetext\@NineColLTRfootnotetext
+ \let\@RTLfootnotetext\@NineColRTLfootnotetext
+ \dimen\footinsv@r=9\footinsdim
+ \count\footinsv@r=111\relax
+ \m@make@ninecol@footgroup{v@r}%
+ \let\@footgroupv@r\@ninecol@footgroupv@r
+ \dimen\footinsv@l=9\footinsdim
+ \count\footinsv@l=111\relax
+ \bidi@make@ninecol@LTRfootgroup{v@l}%
+ \let\@LTRfootgroupv@l\@ninecol@LTRfootgroupv@l
+ \let\@mpfootnotetext\@mpNineColfootnotetext
+ \let\@mpLTRfootnotetext\@mpNineColLTRfootnotetext
+ \let\@mpRTLfootnotetext\@mpNineColRTLfootnotetext
+ \@bidi@after@Hy@hyperfootnotes
+ \m@make@mpninecol@footgroup{v@r}%
+ \let\mp@footgroupv@r\@mpninecol@footgroupv@r
+ \bidi@make@mpninecol@LTRfootgroup{v@l}%
+ \let\mp@LTRfootgroupv@l\@mpninecol@LTRfootgroupv@l
+ \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth
+}
\bidi@ensure@newcommand{\@ninecolfootnotetext}[1]{\insert
\if@RTL@footnote
\footinsv@r
@@ -13932,6 +15155,42 @@ bidi implementation of tufte title]
\@ninecolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\@NineColfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \if@RTL@footnote
+ \bidi@reinsertfootnote\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \else
+ \bidi@reinsertfootnote\footinsv@r\@footstartv@r\@footgroupv@r
+ \fi
+ \global\setbox
+ \if@RTL@footnote
+ \footinsv@r
+ \else
+ \footinsv@l
+ \fi
+\vbox{%
+ \unvbox
+ \if@RTL@footnote
+ \footinsv@r
+ \else
+ \footinsv@l
+ \fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\foottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@ninecolfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+ \if@RTL@footnote
+ \bidi@reinsertfinalfootnoteperpage\footinsv@r\@footstartv@r\@footgroupv@r
+ \else
+ \bidi@reinsertfinalfootnoteperpage\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \fi
+}
\bidi@ensure@newcommand{\@ninecolLTRfootnotetext}[1]{\insert\footinsv@l{\@RTLfalse%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\LTRfoottextfont
@@ -13942,6 +15201,23 @@ bidi implementation of tufte title]
\@ninecolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\@NineColLTRfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \bidi@reinsertfootnote\footinsv@r\@footstartv@r\@footgroupv@r
+ \global\setbox\footinsv@l\vbox{%
+ \unvbox\footinsv@l
+ \@RTLfalse
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\LTRfoottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@ninecolLTRfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+ \bidi@reinsertfinalfootnoteperpage\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+}
\bidi@ensure@newcommand{\@ninecolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\RTLfoottextfont
@@ -13952,6 +15228,23 @@ bidi implementation of tufte title]
\@ninecolRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\@NineColRTLfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \bidi@reinsertfootnote\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \global\setbox\footinsv@r\vbox{%
+ \unvbox\footinsv@r
+ \@RTLtrue
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\RTLfoottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@ninecolRTLfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+ \bidi@reinsertfinalfootnoteperpage\footinsv@r\@footstartv@r\@footgroupv@r
+}
\bidi@ensure@newcommand{\@preamninefmt}{%
\hsize .1\hsize
\parindent=\z@
@@ -13973,13 +15266,43 @@ bidi implementation of tufte title]
\else
\@mpfootinsv@l
\fi
- \vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+ \vbox{%
+ \unvbox
+ \if@RTL@footnote
+ \@mpfootinsv@r
+ \else
+ \@mpfootinsv@l
+ \fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\foottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@ninecolfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare}
+\newcommand{\@mpNineColfootnotetext}[1]{%
+ \if@RTL@footnote
+ \bidi@joinmpfootnotes\@mpfootinsv@l\@footstartv@l\mp@LTRfootgroupv@l
+ \else
+ \bidi@joinmpfootnotes\@mpfootinsv@r\@footstartv@r\mp@footgroupv@r
+ \fi
+ \global\setbox
+ \if@RTL@footnote
+ \@mpfootinsv@r
+ \else
+ \@mpfootinsv@l
+ \fi
+ \vbox{%
\unvbox
\if@RTL@footnote
\@mpfootinsv@r
\else
\@mpfootinsv@l
\fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\foottextfont
\hsize\columnwidth \@parboxrestore
@@ -13990,8 +15313,23 @@ bidi implementation of tufte title]
\color@endgroup}%
\m@mmf@prepare}
\bidi@ensure@newcommand{\@mpninecolLTRfootnotetext}[1]{%
- \global\setbox\@mpfootinsv@l\vbox{\@RTLfalse%
+ \global\setbox\@mpfootinsv@l\vbox{%
\unvbox\@mpfootinsv@l
+ \@RTLfalse
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\LTRfoottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@ninecolLTRfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare}
+\newcommand{\@mpNineColLTRfootnotetext}[1]{%
+ \bidi@joinmpfootnotes\@mpfootinsv@r\@footstartv@r\mp@footgroupv@r
+ \global\setbox\@mpfootinsv@l\vbox{%
+ \unvbox\@mpfootinsv@l
+ \@RTLfalse
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\LTRfoottextfont
\hsize\columnwidth \@parboxrestore
@@ -14002,8 +15340,23 @@ bidi implementation of tufte title]
\color@endgroup}%
\m@mmf@prepare}
\bidi@ensure@newcommand{\@mpninecolRTLfootnotetext}[1]{%
- \global\setbox\@mpfootinsv@r\vbox{\@RTLtrue%
+ \global\setbox\@mpfootinsv@r\vbox{%
\unvbox\@mpfootinsv@r
+ \@RTLtrue
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\RTLfoottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@ninecolRTLfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare}
+\newcommand{\@mpNineColRTLfootnotetext}[1]{%
+ \bidi@joinmpfootnotes\@mpfootinsv@l\@footstartv@l\mp@LTRfootgroupv@l
+ \global\setbox\@mpfootinsv@r\vbox{%
+ \unvbox\@mpfootinsv@r
+ \@RTLtrue
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\RTLfoottextfont
\hsize\columnwidth \@parboxrestore
@@ -14060,6 +15413,31 @@ bidi implementation of tufte title]
\let\mp@LTRfootgroupv@l\@mptencol@LTRfootgroupv@l
\@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth
}
+\newcommand{\TenColumnFootnotes}{%
+ \@namedef{foottextfontv@r}{\foottextfont}% % [RS]
+ \@namedef{foottextfontv@l}{\LTRfoottextfont}%
+ \@bidi@before@Hy@hyperfootnotes
+ \let\@footnotetext\@TenColfootnotetext
+ \let\@LTRfootnotetext\@TenColLTRfootnotetext
+ \let\@RTLfootnotetext\@TenColRTLfootnotetext
+ \dimen\footinsv@r=10\footinsdim
+ \count\footinsv@r=100\relax
+ \m@make@tencol@footgroup{v@r}%
+ \let\@footgroupv@r\@tencol@footgroupv@r
+ \dimen\footinsv@l=10\footinsdim
+ \count\footinsv@l=100\relax
+ \bidi@make@tencol@LTRfootgroup{v@l}%
+ \let\@LTRfootgroupv@l\@tencol@LTRfootgroupv@l
+ \let\@mpfootnotetext\@mpTenColfootnotetext
+ \let\@mpLTRfootnotetext\@mpTenColLTRfootnotetext
+ \let\@mpRTLfootnotetext\@mpTenColRTLfootnotetext
+ \@bidi@after@Hy@hyperfootnotes
+ \m@make@mptencol@footgroup{v@r}%
+ \let\mp@footgroupv@r\@mptencol@footgroupv@r
+ \bidi@make@mptencol@LTRfootgroup{v@l}%
+ \let\mp@LTRfootgroupv@l\@mptencol@LTRfootgroupv@l
+ \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth
+}
\bidi@ensure@newcommand{\@tencolfootnotetext}[1]{\insert
\if@RTL@footnote
\footinsv@r
@@ -14076,6 +15454,42 @@ bidi implementation of tufte title]
\@tencolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\@TenColfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \if@RTL@footnote
+ \bidi@reinsertfootnote\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \else
+ \bidi@reinsertfootnote\footinsv@r\@footstartv@r\@footgroupv@r
+ \fi
+ \global\setbox
+ \if@RTL@footnote
+ \footinsv@r
+ \else
+ \footinsv@l
+ \fi
+\vbox{%
+ \unvbox
+ \if@RTL@footnote
+ \footinsv@r
+ \else
+ \footinsv@l
+ \fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\foottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@tencolfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+ \if@RTL@footnote
+ \bidi@reinsertfinalfootnoteperpage\footinsv@r\@footstartv@r\@footgroupv@r
+ \else
+ \bidi@reinsertfinalfootnoteperpage\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \fi
+}
\bidi@ensure@newcommand{\@tencolLTRfootnotetext}[1]{\insert\footinsv@l{\@RTLfalse%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\LTRfoottextfont
@@ -14086,6 +15500,23 @@ bidi implementation of tufte title]
\@tencolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\@TenColLTRfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \bidi@reinsertfootnote\footinsv@r\@footstartv@r\@footgroupv@r
+ \global\setbox\footinsv@l\vbox{%
+ \unvbox\footinsv@l
+ \@RTLfalse%
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\LTRfoottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@tencolLTRfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+ \bidi@reinsertfinalfootnoteperpage\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+}
\bidi@ensure@newcommand{\@tencolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\RTLfoottextfont
@@ -14096,6 +15527,23 @@ bidi implementation of tufte title]
\@tencolRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
+\newcommand{\@TenColRTLfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \bidi@reinsertfootnote\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \global\setbox\footinsv@r\vbox{%
+ \unvbox\footinsv@r
+ \@RTLtrue
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\RTLfoottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@tencolRTLfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare
+ \bidi@reinsertfinalfootnoteperpage\footinsv@r\@footstartv@r\@footgroupv@r
+}
\bidi@ensure@newcommand{\@preamtenfmt}{%
\hsize .1\hsize
\parindent=\z@
@@ -14117,13 +15565,43 @@ bidi implementation of tufte title]
\else
\@mpfootinsv@l
\fi
- \vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+ \vbox{%
\unvbox
\if@RTL@footnote
\@mpfootinsv@r
\else
\@mpfootinsv@l
\fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\foottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@tencolfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare}
+\newcommand{\@mpTenColfootnotetext}[1]{%
+ \if@RTL@footnote
+ \bidi@joinmpfootnotes\@mpfootinsv@l\@footstartv@l\mp@LTRfootgroupv@l
+ \else
+ \bidi@joinmpfootnotes\@mpfootinsv@r\@footstartv@r\mp@footgroupv@r
+ \fi
+ \global\setbox
+ \if@RTL@footnote
+ \@mpfootinsv@r
+ \else
+ \@mpfootinsv@l
+ \fi
+ \vbox{%
+ \unvbox
+ \if@RTL@footnote
+ \@mpfootinsv@r
+ \else
+ \@mpfootinsv@l
+ \fi
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\foottextfont
\hsize\columnwidth \@parboxrestore
@@ -14134,8 +15612,23 @@ bidi implementation of tufte title]
\color@endgroup}%
\m@mmf@prepare}
\bidi@ensure@newcommand{\@mptencolLTRfootnotetext}[1]{%
- \global\setbox\@mpfootinsv@l\vbox{\@RTLfalse%
+ \global\setbox\@mpfootinsv@l\vbox{%
\unvbox\@mpfootinsv@l
+ \@RTLfalse
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\LTRfoottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@tencolLTRfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare}
+\newcommand{\@mpTenColLTRfootnotetext}[1]{%
+ \bidi@joinmpfootnotes\@mpfootinsv@r\@footstartv@r\mp@footgroupv@r
+ \global\setbox\@mpfootinsv@l\vbox{%
+ \unvbox\@mpfootinsv@l
+ \@RTLfalse
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\LTRfoottextfont
\hsize\columnwidth \@parboxrestore
@@ -14146,8 +15639,23 @@ bidi implementation of tufte title]
\color@endgroup}%
\m@mmf@prepare}
\bidi@ensure@newcommand{\@mptencolRTLfootnotetext}[1]{%
- \global\setbox\@mpfootinsv@r\vbox{\@RTLtrue%
+ \global\setbox\@mpfootinsv@r\vbox{%
\unvbox\@mpfootinsv@r
+ \@RTLtrue
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\RTLfoottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@tencolRTLfootfmt{#1}%
+ \color@endgroup}%
+ \m@mmf@prepare}
+\newcommand{\@mpTenColRTLfootnotetext}[1]{%
+ \bidi@joinmpfootnotes\@mpfootinsv@l\@footstartv@l\mp@LTRfootgroupv@l
+ \global\setbox\@mpfootinsv@r\vbox{%
+ \unvbox\@mpfootinsv@r
+ \@RTLtrue
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\RTLfoottextfont
\hsize\columnwidth \@parboxrestore
@@ -14270,6 +15778,59 @@ bidi implementation of tufte title]
}
\@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth
}
+\newcommand{\ParagraphFootnotes}{%
+ \@namedef{foottextfontv@r}{\foottextfont}%
+ \@namedef{foottextfontv@l}{\LTRfoottextfont}%
+ \@bidi@before@Hy@hyperfootnotes
+ \let\@footnotetext\@Parafootnotetext
+ \let\@LTRfootnotetext\@ParaLTRfootnotetext
+ \let\@RTLfootnotetext\@ParaRTLfootnotetext
+ \dimen\footinsv@r=\footinsdim
+ \count\footinsv@r=1000\relax
+ \let\bidi@removexfootskip\bidi@removexparafootskip
+ \m@make@para@footgroup{v@r}%
+ \m@make@para@footstart{v@r}%
+ \let\@footgroupv@r\@para@footgroupv@r
+ \let\@footstartv@r\@para@footstartv@r
+ \dimen\footinsv@l=\footinsdim
+ \count\footinsv@l=1000\relax
+ \bidi@make@para@LTRfootgroup{v@l}%
+ \m@make@para@footstart{v@l}%
+ \let\@LTRfootgroupv@l\@para@LTRfootgroupv@l
+ \let\@footstartv@l\@para@footstartv@l
+ \let\@mpfootnotetext\@mpParafootnotetext
+ \let\@mpLTRfootnotetext\@mpParaLTRfootnotetext
+ \let\@mpRTLfootnotetext\@mpParaRTLfootnotetext
+ \@bidi@after@Hy@hyperfootnotes
+ \m@make@mppara@footgroup{v@r}%
+ \bidi@make@mppara@LTRfootgroup{v@l}%
+ \let\mp@footgroupv@r\@mppara@footgroupv@r
+ \let\mp@LTRfootgroupv@l\@mppara@LTRfootgroupv@l
+ \g@addto@macro\bidi@floathook{%
+ \begingroup
+ \foottextfont \@tempdima\normalbaselineskip
+ \multiply \@tempdima \@cclvi
+ \@tempdimb \columnwidth
+ \divide \@tempdimb \@cclvi
+ \divide \@tempdima \@tempdimb
+ \xdef\footfudgefactor{\strip@pt\@tempdima}%
+ \endgroup
+ }
+ \AtBeginDocument{%
+ \begingroup
+ \foottextfont
+ \@tempdima\footnotesep
+ \advance\@tempdima -\ht\strutbox
+ \ifdim\@tempdima<\z@ \@tempdima\z@ \fi
+ \advance\@tempdima.5\normalbaselineskip
+ \bidi@xparaskip
+ \xdef\bidi@paraskip{\the\@tempdima\relax}%
+ \endgroup
+ \bidi@startparafootskip\footinsv@r
+ \bidi@startparafootskip\footinsv@l
+ }
+ \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth
+}
\newcommand{\normalRTLparaLTRfootnotes}{%
\@namedef{foottextfontv@l}{\LTRfoottextfont}%
\@bidi@before@Hy@hyperfootnotes
@@ -14321,6 +15882,57 @@ bidi implementation of tufte title]
}
\@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth
}
+\newcommand{\NormalRTLParaLTRFootnotes}{%
+ \@namedef{foottextfontv@l}{\LTRfoottextfont}%
+ \@bidi@before@Hy@hyperfootnotes
+ \if@RTL@footnote
+ \let\@footnotetext\bidi@bidiold@footnotetext
+ \else
+ \let\@footnotetext\@Parafootnotetext
+ \fi
+ \let\@LTRfootnotetext\@ParaLTRfootnotetext
+ \let\@RTLfootnotetext\bidi@bidiold@RTLfootnotetext
+ \dimen\footinsv@l=\footinsdim
+ \count\footinsv@l=1000\relax
+ \let\bidi@removexfootskip\bidi@removexparafootskip
+ \bidi@make@para@LTRfootgroup{v@l}%
+ \m@make@para@footstart{v@l}%
+ \let\@LTRfootgroupv@l\@para@LTRfootgroupv@l
+ \let\@footstartv@l\@para@footstartv@l
+ \if@RTL@footnote
+ \let\@mpfootnotetext\bidi@bidiold@mpfootnotetext
+ \else
+ \let\@mpfootnotetext\@mpParafootnotetext
+ \fi
+ \let\@mpLTRfootnotetext\@mpParaLTRfootnotetext
+ \let\@mpRTLfootnotetext\bidi@bidiold@mpRTLfootnotetext
+ \@bidi@after@Hy@hyperfootnotes
+ \bidi@make@mppara@LTRfootgroup{v@l}%
+ \let\mp@LTRfootgroupv@l\@mppara@LTRfootgroupv@l
+ \g@addto@macro\bidi@floathook{%
+ \begingroup
+ \LTRfoottextfont \@tempdima\normalbaselineskip
+ \multiply \@tempdima \@cclvi
+ \@tempdimb \columnwidth
+ \divide \@tempdimb \@cclvi
+ \divide \@tempdima \@tempdimb
+ \xdef\footfudgefactor{\strip@pt\@tempdima}%
+ \endgroup
+ }
+ \AtBeginDocument{%
+ \begingroup
+ \LTRfoottextfont
+ \@tempdima\footnotesep
+ \advance\@tempdima -\ht\strutbox
+ \ifdim\@tempdima<\z@ \@tempdima\z@ \fi
+ \advance\@tempdima.5\normalbaselineskip
+ \bidi@xparaskip
+ \xdef\bidi@paraskip{\the\@tempdima\relax}%
+ \endgroup
+ \bidi@startparafootskip\footinsv@l
+ }
+ \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth
+}
\bidi@ensure@newcommand{\@parafootnotetext}[1]{\insert
\if@RTL@footnote
\footinsv@r
@@ -14339,6 +15951,43 @@ bidi implementation of tufte title]
\noindent \@parafootfmt{#1}%
\color@endgroup}%
\m@mungebox}\m@mmf@prepare}
+\newcommand{\@Parafootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \if@RTL@footnote
+ \bidi@reinsertfootnote\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \else
+ \bidi@reinsertfootnote\footinsv@r\@footstartv@r\@footgroupv@r
+ \fi
+ \global\setbox
+ \if@RTL@footnote
+ \footinsv@r
+ \else
+ \footinsv@l
+ \fi
+ \vbox{%
+ \unvbox
+ \if@RTL@footnote
+ \footinsv@r
+ \else
+ \footinsv@l
+ \fi
+ \let\bidi@RTL@everypar\@empty%
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\foottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \setbox0=\vbox{\hsize=\maxdimen
+ \color@begingroup
+ \noindent \@parafootfmt{#1}%
+ \color@endgroup}%
+ \m@mungebox}\m@mmf@prepare
+ \if@RTL@footnote
+ \bidi@reinsertfinalfootnoteperpage\footinsv@r\@footstartv@r\@footgroupv@r
+ \else
+ \bidi@reinsertfinalfootnoteperpage\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \fi
+}
\bidi@ensure@newcommand{\@paraLTRfootnotetext}[1]{\insert\footinsv@l{%
\let\bidi@RTL@everypar\@empty%
\def\baselinestretch{\m@m@footnote@spacing}%
@@ -14351,6 +16000,24 @@ bidi implementation of tufte title]
\noindent \@paraLTRfootfmt{#1}%
\color@endgroup}%
\m@mungebox}\m@mmf@prepare}
+\newcommand{\@ParaLTRfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \bidi@reinsertfootnote\footinsv@r\@footstartv@r\@footgroupv@r
+ \global\setbox\footinsv@l\vbox{%
+ \unvbox\footinsv@l
+ \let\bidi@RTL@everypar\@empty%
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\LTRfoottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \setbox0=\vbox{\hsize=\maxdimen
+ \color@begingroup
+ \noindent \@paraLTRfootfmt{#1}%
+ \color@endgroup}%
+ \m@mungebox}\m@mmf@prepare
+ \bidi@reinsertfinalfootnoteperpage\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+}
\bidi@ensure@newcommand{\@paraRTLfootnotetext}[1]{\insert\footinsv@r{%
\let\bidi@RTL@everypar\@empty%
\def\baselinestretch{\m@m@footnote@spacing}%
@@ -14363,6 +16030,24 @@ bidi implementation of tufte title]
\noindent \@paraRTLfootfmt{#1}%
\color@endgroup}%
\m@mungebox}\m@mmf@prepare}
+\newcommand{\@ParaRTLfootnotetext}[1]{%
+ \bidi@step@absolutefootnote@count
+ \bidi@reinsertfootnote\footinsv@l\@footstartv@l\@LTRfootgroupv@l
+ \global\setbox\footinsv@r\vbox{%
+ \unvbox\footinsv@r
+ \let\bidi@RTL@everypar\@empty%
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\RTLfoottextfont
+ \@preamfntext
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \setbox0=\vbox{\hsize=\maxdimen
+ \color@begingroup
+ \noindent \@paraRTLfootfmt{#1}%
+ \color@endgroup}%
+ \m@mungebox}\m@mmf@prepare
+ \bidi@reinsertfinalfootnoteperpage\footinsv@r\@footstartv@r\@footgroupv@r
+}
\bidi@ensure@newcommand{\@parafootfmt}[1]{%
\parindent=\z@
\parfillskip=0pt \@plus 1fil
@@ -14383,14 +16068,44 @@ bidi implementation of tufte title]
\@mpfootinsv@l
\fi
\vbox{%
- \let\bidi@RTL@everypar\@empty%
+ \unvbox
+ \if@RTL@footnote
+ \@mpfootinsv@r
+ \else
+ \@mpfootinsv@l
+ \fi
+ \let\bidi@RTL@everypar\@empty
\def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\foottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \setbox0=\vbox{\hsize=\maxdimen
+ \color@begingroup
+ \noindent \@parafootfmt{#1}%
+ \color@endgroup}%
+ \m@mungebox}\m@mmf@prepare}
+\newcommand{\@mpParafootnotetext}[1]{%
+ \if@RTL@footnote
+ \bidi@joinmpfootnotes\@mpfootinsv@l\@footstartv@l\mp@LTRfootgroupv@l
+ \else
+ \bidi@joinmpfootnotes\@mpfootinsv@r\@footstartv@r\mp@footgroupv@r
+ \fi
+ \global\setbox
+ \if@RTL@footnote
+ \@mpfootinsv@r
+ \else
+ \@mpfootinsv@l
+ \fi
+ \vbox{%
\unvbox
\if@RTL@footnote
\@mpfootinsv@r
\else
\@mpfootinsv@l
\fi
+ \let\bidi@RTL@everypar\@empty
+ \def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\foottextfont
\hsize\columnwidth \@parboxrestore
\protected@edef\@currentlabel{%
@@ -14402,9 +16117,24 @@ bidi implementation of tufte title]
\m@mungebox}\m@mmf@prepare}
\bidi@ensure@newcommand{\@mpparaLTRfootnotetext}[1]{%
\global\setbox\@mpfootinsv@l\vbox{%
- \let\bidi@RTL@everypar\@empty%
+ \unvbox\@mpfootinsv@l
+ \let\bidi@RTL@everypar\@empty
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\LTRfoottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \setbox0=\vbox{\hsize=\maxdimen
+ \color@begingroup
+ \noindent \@paraLTRfootfmt{#1}%
+ \color@endgroup}%
+ \m@mungebox}\m@mmf@prepare}
+\newcommand{\@mpParaLTRfootnotetext}[1]{%
+ \bidi@joinmpfootnotes\@mpfootinsv@r\@footstartv@r\mp@footgroupv@r
+ \global\setbox\@mpfootinsv@l\vbox{%
+ \unvbox\@mpfootinsv@l
+ \let\bidi@RTL@everypar\@empty
\def\baselinestretch{\m@m@footnote@spacing}%
- \unvbox\@mpfootinsv@l
\reset@font\LTRfoottextfont
\hsize\columnwidth \@parboxrestore
\protected@edef\@currentlabel{%
@@ -14416,9 +16146,24 @@ bidi implementation of tufte title]
\m@mungebox}\m@mmf@prepare}
\bidi@ensure@newcommand{\@mpparaRTLfootnotetext}[1]{%
\global\setbox\@mpfootinsv@r\vbox{%
- \let\bidi@RTL@everypar\@empty%
+ \unvbox\@mpfootinsv@r
+ \let\bidi@RTL@everypar\@empty
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\RTLfoottextfont
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \setbox0=\vbox{\hsize=\maxdimen
+ \color@begingroup
+ \noindent \@paraRTLfootfmt{#1}%
+ \color@endgroup}%
+ \m@mungebox}\m@mmf@prepare}
+\newcommand{\@mpParaRTLfootnotetext}[1]{%
+ \bidi@joinmpfootnotes\@mpfootinsv@l\@footstartv@l\mp@LTRfootgroupv@l
+ \global\setbox\@mpfootinsv@r\vbox{%
+ \unvbox\@mpfootinsv@r
+ \let\bidi@RTL@everypar\@empty
\def\baselinestretch{\m@m@footnote@spacing}%
- \unvbox\@mpfootinsv@r
\reset@font\RTLfoottextfont
\hsize\columnwidth \@parboxrestore
\protected@edef\@currentlabel{%
@@ -15146,7 +16891,7 @@ bidi implementation of tufte title]
%\fi
% \section{File \texttt{footnote-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{footnote-xetex-bidi.def}[2017/08/09 v1.1 bidi footnote macros for XeTeX engine]
+\ProvidesFile{footnote-xetex-bidi.def}[2023/01/18 v1.2 bidi footnote macros for XeTeX engine]
\if@RTLmain\@RTL@footnotetrue\else\@RTL@footnotefalse\fi
\newif\ifbidi@autofootnoterule
\def\bidi@mpfootnoterule{\footnoterule}
@@ -15384,8 +17129,9 @@ bidi implementation of tufte title]
\long\def\@mpRTLfootnotetext#1{%
\ifbidi@autofootnoterule\ifnum\c@mpfootnote=\@ne\global\let\bidi@mpfootnoterule\right@footnoterule\fi\fi%
- \global\setbox\@mpfootins\vbox{\@RTLtrue%
+ \global\setbox\@mpfootins\vbox{%
\unvbox\@mpfootins
+ \@RTLtrue
\reset@font%
\bidi@@RTLfootnotetext@font% \reset@font\footnotesize
\hsize\columnwidth
@@ -15398,8 +17144,9 @@ bidi implementation of tufte title]
\color@endgroup}}
\long\def\@mpLTRfootnotetext#1{%
\ifbidi@autofootnoterule\ifnum\c@mpfootnote=\@ne\global\let\bidi@mpfootnoterule\left@footnoterule\fi\fi%
- \global\setbox\@mpfootins\vbox{\@RTLfalse%
+ \global\setbox\@mpfootins\vbox{%
\unvbox\@mpfootins
+ \@RTLfalse
\reset@font%
\bidi@@LTRfootnotetext@font% \reset@font\footnotesize
\hsize\columnwidth
@@ -15412,8 +17159,9 @@ bidi implementation of tufte title]
\color@endgroup}}
\long\def\@mpfootnotetext#1{%
\ifbidi@autofootnoterule\ifnum\c@mpfootnote=\@ne\if@RTL@footnote\global\let\bidi@mpfootnoterule\right@footnoterule\else\global\let\bidi@mpfootnoterule\left@footnoterule\fi\fi\fi%
- \global\setbox\@mpfootins\vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+ \global\setbox\@mpfootins\vbox{%
\unvbox\@mpfootins
+ \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
\reset@font%
\bidi@@footnotetext@font% \reset@font\footnotesize
\hsize\columnwidth
diff --git a/macros/xetex/latex/bidi/bidi.pdf b/macros/xetex/latex/bidi/bidi.pdf
index 1f0376809e..7b6538b76f 100644
--- a/macros/xetex/latex/bidi/bidi.pdf
+++ b/macros/xetex/latex/bidi/bidi.pdf
Binary files differ