summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2008-01-08 14:56:01 +0000
committerNorbert Preining <preining@logic.at>2008-01-08 14:56:01 +0000
commitef9f02e1332e604eb441b2a8ff6bca6a8f3c55a1 (patch)
treed01e6302cd616c901a72124fdcb7a83cee594635
parent7e3e36b12cab7ec0e5c883fc86e92f4a9009c0e2 (diff)
add new package ecclesiastic (to latexextra), one pdf without source removed
git-svn-id: svn://tug.org/texlive/trunk@6145 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/ecclesiastic/README7
-rw-r--r--Master/texmf-dist/doc/latex/ecclesiastic/README.TEXLIVE6
-rw-r--r--Master/texmf-dist/doc/latex/ecclesiastic/ecclesiastic.pdfbin0 -> 139996 bytes
-rw-r--r--Master/texmf-dist/doc/latex/ecclesiastic/manifest.txt34
-rw-r--r--Master/texmf-dist/source/latex/ecclesiastic/ecclesiastic.dtx481
-rw-r--r--Master/texmf-dist/source/latex/ecclesiastic/ecclesiastic.ins61
-rw-r--r--Master/texmf-dist/tex/latex/ecclesiastic/ecclesiastic.sty182
-rw-r--r--Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/ecclesiastic.tlpsrc2
9 files changed, 774 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/ecclesiastic/README b/Master/texmf-dist/doc/latex/ecclesiastic/README
new file mode 100644
index 00000000000..cab34673666
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/ecclesiastic/README
@@ -0,0 +1,7 @@
+This style file is for modifying the way the latin option to the babel
+package operates when typesetting Latin. The style is in some way
+"frenchizied" for what concerns punctuation spacings and footnote
+style, and shortcuts are available in order to set accents on all
+vowels, including y and the diphthongs ae and oe.
+
+The license is the LaTeX Project Public License. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/ecclesiastic/README.TEXLIVE b/Master/texmf-dist/doc/latex/ecclesiastic/README.TEXLIVE
new file mode 100644
index 00000000000..56f47f97925
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/ecclesiastic/README.TEXLIVE
@@ -0,0 +1,6 @@
+The following files have been removed in the TeX Live installation of
+the current package, typically due to duplication, lack of space, or
+missing source code. You can find these files on CTAN. If questions or
+concerns, email tex-live.org.
+
+ ecclesiastic-sample.pdf
diff --git a/Master/texmf-dist/doc/latex/ecclesiastic/ecclesiastic.pdf b/Master/texmf-dist/doc/latex/ecclesiastic/ecclesiastic.pdf
new file mode 100644
index 00000000000..f9ed9927c37
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/ecclesiastic/ecclesiastic.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/ecclesiastic/manifest.txt b/Master/texmf-dist/doc/latex/ecclesiastic/manifest.txt
new file mode 100644
index 00000000000..de6fde8a3c1
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/ecclesiastic/manifest.txt
@@ -0,0 +1,34 @@
+This package contains the following files besides this file manifest.txt:
+
+ecclesiastic.dtx the Work and source code
+ecclesiastic.ins the installation file
+ecclesiastic.pdf the documentation obtained by LaTeXing the dtx file
+ecclesiastic.sty the style file extracted from the dtx file with the ins file
+ecclesiastic-sample.pdf a sample text obtained by running LaTex with this extension
+
+The Work is distributed under the LPPL licence:
+
+It may be distributed and/or modified under the conditions of the
+LaTeX Project Public License, either version 1.3 of this license
+or (at your option) any later version. The latest version of this
+license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2003/12/01 or later.
+
+
+It is author-maintained by Claudio Beccari (claudio dot beccari at alice dot it)
+
+The copyright (c) 2008 holders are Claudio Beccari and Donald Goodman
+
+Installation
+
+Install ecclesiastic.sty in your personal/local texmf tree rooted in <root>, in a folder named <root>/tex/latex/ecclesiastic/
+
+Install ecclesiastic.dtx and ecclesiastic.ins in <root>/source/latex/ecclesiastic/
+
+Install ecclesiastic.pdf and ecclesiastic-sample.pdf in <root./doc/latex/ecclesiastic/
+
+Refresh the file name database if required by your distribution of the TeX system.
+
+6 January 2008 \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/ecclesiastic/ecclesiastic.dtx b/Master/texmf-dist/source/latex/ecclesiastic/ecclesiastic.dtx
new file mode 100644
index 00000000000..c5a92649e16
--- /dev/null
+++ b/Master/texmf-dist/source/latex/ecclesiastic/ecclesiastic.dtx
@@ -0,0 +1,481 @@
+% \iffalse meta-comment
+%
+% Copyright 2008 Claudio Beccari
+%
+% This file is part of the ecclesiastic bundle
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This file has the LPPL maintenance status "author-maintained".
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% \iffalse
+%<package>\NeedsTeXFormat{LaTeX2e}[1996/12/01]%
+%<package>\ProvidesPackage{ecclesiastic}%
+%<package> [2007/09/28 v.0.1 Ecclesiastic composition of Latin]
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage[latin,english]{babel}
+\usepackage[latin1]{inputenc}
+\usepackage{ecclesiastic}
+\begin{document}
+\DocInput{ecclesiastic.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+%
+% \GetFileInfo{ecclesiastic.sty}
+%
+%
+% \title{Package \texttt{ecclesiastic.sty}\thanks{This document corresponds
+% to \textsf{ecclesiastic.sty}~\fileversion, dated~\filedate.\newline
+% Claudio Beccari (\texttt{claudio dot beccari at alice dot it}) did the
+% programming.
+% Donald Goodman (\texttt{dgoodmaniii at gmail dot com}) asked for this
+% extension, produced the requirements, and
+% tested the results.}}
+% %\date{\fileversion\space\filedate}
+% \author{Claudio Beccari \and Donald Goodman}
+% \maketitle
+%
+% \begin{abstract}
+% This package extends the typesetting facilities of the \textsl{latin} option
+% to the \textsf{babel} package for typesetting Latin according to the
+% tradition of ecclesiastic documents; these documents are mainly the
+% devotional books used by the Roman Catholic clergy, but not limited to them,
+% that are being published not only by the Vatican Typography, but also by many
+% Printing Companies around the world.
+%
+% \end{abstract}
+%
+% \section{Introduction}
+% This small extension package extends the features of \texttt{latin.ldf}
+% by adding a certain level of "frenchization" to the way of typesetting
+% Ecclesiastical Latin; in particular all punctuation marks, except comma
+% and full stop are preceded by a small space. The guillemets are also
+% accompanied by small spaces to the right of the opening marks and to the
+% left of the closing ones, with the provision of removing spurious previous
+% spaces. Footnotes are not indented and their reference number is not an
+% exponent, although footnote marks in the text keep being exponents.
+%
+% The acute accent (actually the apostrophe sign) is made active
+% so as to set an acute accent over the following vowel (notice that in Latin
+% there is no elision, so there cannot be any conflict between the acute accent
+% and the elision apostrophe). Ecclesiastical Latin uses the
+% \ae\ and \oe\ ligatures. Goodman asked to declare `a' and `o' as active
+% characters so that the spelling |ae| and |oe| would automatically produce the
+% equivalent of |\ae| and |\oe| respectively.
+%
+% In practice Beccari found serious programming problems with this solution and
+% adopted an alternative one; specifically the adopted solution was to type in
+% |"ae| and |"oe| respectively, and \ae\ and \oe\ would be inserted in the
+% source text without the need of leaving blancks after the control sequences or
+% the need of inserting extra braces; therefore one types in |c"aelum| and this
+% is equivalent to \verb*|c\ae lum| or |c{\ae}lum| or |c\ae{}lum|; the saving in the
+% input stream is evident and misstypings are likely less frequent.
+%
+% The active apostrophe for the acute accent behaves properly also with y
+% and |'ae| and |'oe| produce the accented diphthongs.
+%
+% Of course, when using the OT1 encoding all accents interfere with
+% hyphenation and kerning. When using the T1 encoding this interference
+% takes place only with the accented diphthongs \ae\ and \oe; no visible
+% problems for the lack of kerning, but no hyphenation takes place after
+% the accented diphthong until the end of the word, even if the grammar
+% allowed it.
+%
+%\section{Usage}
+% Besides loading this package with the usual
+%\begin{verbatim}
+% \usepackage{ecclesiastic}
+%\end{verbatim}
+% after loading \textsf{babel} with the option \textsl{latin} (possibly among
+% other ones) all you have to do is to input your source code the usual way,
+% except that for guillemets and accents you are supposed to use the |"| and
+% the |'| active characters. The input code
+%\begin{verbatim}
+%Ita enim fit, ut regn'are is "< in m'entibus h'ominum "> dic'atur non
+%tam ob mentis 'aciem scienti'aeque su"ae amplit'udinem, quam quod ipse est
+%V'eritas, et verit'atem ab eo mort'ales haur'ire atque obedi'enter acc'ipere
+%nec'esse est; "< in volunt'atibus "> item "< h'ominum ">, quia \dots
+%\end{verbatim}
+% will produce the following text:
+%\begin{quote}\otherlanguage{latin}
+%Ita enim fit, ut regn'are is "< in m'entibus h'ominum "> dic'atur non
+%tam ob mentis 'aciem scienti'aeque su"ae amplit'udinem, quam quod ipse est
+%V'eritas, et verit'atem ab eo mort'ales haur'ire atque obedi'enter acc'ipere
+%nec'esse est; "< in volunt'atibus "> item "< h'ominum ">, quia \dots
+%\end{quote}
+% Notice that the source text has spaces around the guillemets, but the
+% typeset code has the right small and constant space, irrespective of
+% justification. Notice the use of the `acute' accent (actually the
+% apostrophe) for accented vowels and diphthongs. Notice the space in the
+% typeset text before the semicolon.
+%
+% \section{Documented code}
+% Some checks in order to use this package together with the one it
+% should extend.
+% \begin{macrocode}
+%<*package>
+\def\CheckLatin{\expandafter\ifx\csname captionslatin\endcsname\relax
+ \PackageWarning{ecclesiastic}{\MessageBreak
+ latin must be specified as a global option\MessageBreak
+ or it must be passed as an option to babel\MessageBreak
+ \MessageBreak
+ Nothing done}\expandafter\endinput\fi}
+
+\@ifpackageloaded{babel}{\CheckLatin}{%
+ \PackageWarning{ecclesiastic}{\MessageBreak
+ Package babel must be loaded before this package\MessageBreak
+ \MessageBreak
+ Nothing will be done}\endinput}
+% \end{macrocode}
+%
+% The following code was borrowed from \textsf{frenchle.sty} by Bernard Gaule,
+% but there
+% are several modifications; in particular the Cyrillic guillemets are
+% effectively chosen as possible candidates before resorting to the horrible
+% patch made up with the `much smaller' and `much larger' scriptsize signs.
+% The Latin Modern fonts are preferred if they are available.
+% When the T1 encoding is in force the guillemets are taken from the
+% current font.
+% The first macro specifies a common interface for chosing where to get
+% guillemets from.
+% \begin{macrocode}
+\let\og\empty\let\fg\empty%
+ \def\FrenchGuillemetsFrom#1#2#3#4{%
+ \DeclareFontEncoding{#1}{}{}%
+ \DeclareFontSubstitution{#1}{#2}{m}{n}%
+ \DeclareTextCommand{\guillemotleft}{OT1}{%
+ {\fontencoding{#1}\fontfamily{#2}\selectfont\char#3}}%
+ \DeclareTextCommand{\guillemotright}{OT1}{%
+ {\fontencoding{#1}\fontfamily{#2}\selectfont\char#4}}}
+% \end{macrocode}
+% Then come the macros for selecting various type of guillemets: the first macro
+%|\CyrillicGuillemets| selects them from the Cyrillic fonts; the second macro
+% |\PolishGuillemets| selects them from the Latin Modern fonts, who were
+% assembled by the Polish TUG, from which the name; the |\LasyGuillemets|
+% represent the poor man solution, which represents the last resort:
+% \begin{macrocode}
+ \def\CyrillicGuillemets{\FrenchGuillemetsFrom{OT2}{wncyr}{60}{62}}
+ \def\PolishGuillemets{\FrenchGuillemetsFrom{T1}{lmr}{19}{20}}
+ \def\LasyGuillemets{%
+ \DeclareTextCommand{\guillemotleft}{OT1}{\hbox{%
+ \fontencoding{U}\fontfamily{lasy}\selectfont(\kern-0.20em(}}%
+ \DeclareTextCommand{\guillemotright}{OT1}{\hbox{%
+ \fontencoding{U}\fontfamily{lasy}\selectfont)\kern-0.20em)}}}
+% \end{macrocode}
+% Now the previous macros are executed depending on what is available on the
+% particular computer the code is executed on. Thinking to end up with a PDF
+% file, we prefer the T1 encodec latin Modern fonts; if these are not
+% installed we resort to the Cyrillic one, since the OT2 encoded Cyrillic
+% fonts from the University o Wisconsin are generally installed by default
+% also in pfb format; should htese be missing, then the poor man solution
+% of the \LaTeX\ simbols is chosen. At the same time, since the latter are
+% the last resort, they are chosen as the default solution, although its
+% difficult to find an installation where either the Latin Modern or the
+% Wisconsin University fonts are not installed.
+% \begin{macrocode}
+ \IfFileExists{t1lmr.fd}{\PolishGuillemets}{%
+ \IfFileExists{ot2wncyr.fd}{\CyrillicGuillemets}{\LasyGuillemets}}
+ \DeclareTextSymbolDefault{\guillemotleft}{OT1}
+ \DeclareTextSymbolDefault{\guillemotright}{OT1}
+% \end{macrocode}
+% Having defined the symbols, we now think to the spacing; we chose a smaller
+% space than in French typography, but, essencially this glue is without
+% stretch and shrink components, so that this space remains constant and
+% does not stretch or shrink for helping in line justification.
+% \begin{macrocode}
+ \def\guill@spacing{\penalty\@M\hskip.3\fontdimen2\font
+ \@plus\z@\@minus\z@}
+% \end{macrocode}
+%
+% Now we are in the position to define the opening and the closing
+% guillemet commands.
+%
+% The spacings on the interior of the guillements and the spacings before the
+% "high" pucntuation marks are smaller than with the \texttt{frenchle.sty}
+% settings
+% for the French typography. This has been made following Robert Bringhurst
+% reccomendations of tight spacings, in particular before the punctuation
+% marks and within the French quotes.
+%
+% Since Beccari is not used to such spacings, forbidden in Italian typography,
+% he finds the traditional French spacings very large, too large for his taste.
+% Bringhurst reccomendations come in very handy to justify the chosen spacings.
+% May be who is used to wider spacings finds them too tight. We think we found
+% a compromise.
+% \begin{macrocode}
+ \DeclareRobustCommand*{\begin@guill}{\leavevmode
+ \guillemotleft\penalty\@M\guill@spacing
+ \ignorespaces}
+ \DeclareRobustCommand*{\end@guill}{\ifdim\lastskip>\z@\unskip\fi
+ \penalty\@M\guill@spacing\guillemotright{}}
+% \end{macrocode}
+%
+% We add the definition of |\og| (ouvrir guillemets) and |\fg| (fermer
+% guillements) to the |\extraslatin| list, as well as we add their
+% `emptiness' to the |\noextrnolatin| one.
+% \begin{macrocode}
+ \addto\extraslatin{%
+ \renewcommand{\og}{\begin@guill}\renewcommand{\fg}{\end@guill}%
+ }
+ \addto\noextraslatin{\let\og\empty\let\fg\empty}
+% \end{macrocode}
+%
+% Therefore open guillemets may be input with the |\og| macro and the
+% closed ones with the |\fg| macro. This might be inconvenient, so that
+% the |"<| and |">| shortcuts should be preferred; these shortcuts assure
+% that the spaces after these shortcuts are really spaces and are not
+% used to terminate the macro name. B.~Gaulle uses the |\xspace| macro from
+% the xspace package, but if this package is not loaded or is not available, the
+% |\xspace| macro behaves as |\relax| and does not produce what is intended to
+% do. See below the extended defintion of the |"| shortcut active character.
+%
+% Here we make the apostrophe an active char and define the shortcuts for
+% Latin that introduce the acute accent over the specified vowels, lower
+% and upper case. Probably upper case is useless, but it does not harm.
+% \begin{macrocode}
+\initiate@active@char{'}%
+\addto\extraslatin{\bbl@activate{'}}%
+\addto\noextraslatin{\bbl@deactivate{'}}%
+
+\declare@shorthand{latin}{'a}{\@ifnextchar e{\'\ae\@gobble}{\'a}}
+\declare@shorthand{latin}{'e}{\'e}
+\declare@shorthand{latin}{'i}{\'i}
+\declare@shorthand{latin}{'o}{\@ifnextchar e{\'\oe\@gobble}{\'o}}
+\declare@shorthand{latin}{'u}{\'u}
+\declare@shorthand{latin}{'y}{\'y}
+\declare@shorthand{latin}{'A}{\@ifnextchar E{\'\AE\@gobble}{\'A}}
+\declare@shorthand{latin}{'E}{\'E}
+\declare@shorthand{latin}{'I}{\'I}
+\declare@shorthand{latin}{'O}{\@ifnextchar E{\'\OE\@gobble}{\'O}}
+\declare@shorthand{latin}{'U}{\'U}
+\declare@shorthand{latin}{'Y}{\'Y}
+% \end{macrocode}
+%
+% Here we redeclare the definition of the |"| shortcut active character;
+% it is borrowed from \textsf{italian.ldf}, but a new |\LT@cwm| macro is
+% added to the existing |\lt@@cwm| one so as to cope also with |"ae| and |"oe|,
+% besides the guillemet commands.
+%
+% The following declaration is probably a repetition of what is already in
+% \textsf{latin.ldf}
+% \begin{macrocode}
+\declare@shorthand{latin}{"}{%
+\ifmmode
+ \def\lt@next{''}%
+\else
+ \def\lt@next{\futurelet\lt@temp\lt@cwm}%
+\fi
+\lt@next
+}%
+% \end{macrocode}
+%
+% This also should already be in \textsf{latin.ldf}; it is the command that
+% inserts a discretionary break, but does not inhibit hyphenation in the
+% rest of the word.
+% \begin{macrocode}
+\def\lt@@cwm{\nobreak\discretionary{-}{}{}\nobreak\hskip\z@skip}%
+% \end{macrocode}
+%
+% This, for what concerns Latin, is new as an interface with the definitions
+% of the guillemets
+% \begin{macrocode}
+\def\lt@@ocap#1{\begin@guill}\def\lt@@ccap#1{\end@guill}%
+% \end{macrocode}
+%
+% This is completely new; il deals with |\ae| and |\oe|; since |\ae| is much
+% more frequent than |\oe|, we start with testing for an `a' followed by
+% an `e', otherwise we test about the presence of an `o':
+% \begin{macrocode}
+\DeclareRobustCommand\LT@cwm[2]{%
+ \ifx#1a\bbl@afterelse
+ \maybeae#1#2%
+ \else\bbl@afterfi
+ \testoe#1#2%
+ \fi}
+% \end{macrocode}
+%
+% If a sequence |ae| was detected, then |\ae| is inserted in the input stream
+% in place of that sequence, otherwise the two tokens are inserted in the input
+% stream preceded by the discretionary break implied by the presence of the
+% |"| sign that thriggered the whole process.
+%
+% \begin{macrocode}
+\def\maybeae#1#2{%
+ \ifx#2e\bbl@afterelse
+ \ae%
+ \else\bbl@afterfi
+ \lt@@cwm#1#2%
+ \fi
+}
+% \end{macrocode}
+%
+% The same procedure is valid for the sequence |oe|
+% \begin{macrocode}
+\def\maybeoe#1#2{%
+ \ifx#2e\bbl@afterelse
+ \oe%
+ \else\bbl@afterfi
+ \lt@@cwm#1#2%
+ \fi
+}
+% \end{macrocode}
+%
+% But the presence of an `o' must be checked before activating the previous
+% macro:
+% \begin{macrocode}
+\def\testoe#1#2{%
+ \ifx#1o\bbl@afterelse
+ \maybeoe#1#2%
+ \else\bbl@afterfi
+ \lt@@cwm#1#2%
+ \fi}
+% \end{macrocode}
+%
+% This is the real execution of the |"| shortcut; remember that |\lt@csw|
+% is an alias for |\lt@next|, the action associated with |"| when outside
+% the math mode; furthermore |\lt@temp| contains the token following
+% the |"| sign. Notice that the category code of the |\lt@temp| is compared
+% to that of a generic letter; the choice of `e' is absolutely irrelevant,
+% because it is a generic letter; any other letter would have done the same.
+% So, first the temporary token is compared to a letter; if it's a letter the
+% |\LT@cwm| is executed; the latter on turn looks for an `a' or an `o' and
+% possibly inserts a diphthong or a discretionary break; otherwise the
+% temporary token is compared to \verb+|+, so that the shortcut \verb+"|+
+% is possibly executed by inserting a discretionary break and by gobbling
+% the bar; otherwise it checks for a `less than' sign and
+% possibly inserts double open guillemets; otherwise it checks for a
+% `greater than' sign and possibly inserts double closed guillemets;
+% otherwise it checks for the slash and possibly it inserts a breakable
+% slash |\slash|; otherwise it checks for another double straight quotes
+% sign and possibly it inserts double open high quotes (this is useful
+% for those keyboards that do not have the `back tick' sign |`|).
+% \begin{macrocode}
+\DeclareRobustCommand*{\lt@cwm}{\let\lt@@next\relax
+\ifcat\noexpand\lt@temp e%
+ \def\lt@@next{\LT@cwm}%
+\else
+ \if\noexpand\lt@temp \string|%
+ \def\lt@@next{\lt@@cwm\@gobble}%
+ \else
+ \if\noexpand\lt@temp \string<%
+ \def\lt@@next{\lt@@ocap}%
+ \else
+ \if\noexpand\lt@temp \string>%
+ \def\lt@@next{\lt@@ccap}%
+ \else
+ \if\noexpand\lt@temp\string/%
+ \def\lt@@next{\slash\@gobble}%
+ \else
+ \ifx\lt@temp"%
+ \def\lt@@next{``\@gobble}%
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+\fi
+\lt@@next}%
+% \end{macrocode}
+%
+% This done let's take care of the punctuation. First we create the aliases
+% of the puntuation marks with their original category codes
+% \begin{macrocode}
+\edef\puntoevirgola{\string;}\edef\cc@pv{\the\catcode`;}%
+\edef\duepunti{\string:}\edef\cc@dp{\the\catcode`:}%
+\edef\puntoesclamativo{\string!}\edef\cc@pe{\the\catcode`!}%
+\edef\puntointerrogativo{\string?}\edef\cc@pi{\the\catcode`?}%
+% \end{macrocode}
+%
+% Then we make those puctuation marks active and add their activeness to
+% |\extraslatin|, and also their ``deactiveness'' to the |\noextraslatin| list.
+% In this way we are sure that there is no interference with other languages.
+% \begin{macrocode}
+\initiate@active@char{;}
+\initiate@active@char{:}
+\initiate@active@char{!}
+\initiate@active@char{?}
+\addto\extraslatin{\bbl@activate{;}}
+\addto\extraslatin{\bbl@activate{:}}
+\addto\extraslatin{\bbl@activate{!}}
+\addto\extraslatin{\bbl@activate{?}}
+\addto\noextraslatin{\bbl@deactivate{;}}
+\addto\noextraslatin{\bbl@deactivate{:}}
+\addto\noextraslatin{\bbl@deactivate{!}}
+\addto\noextraslatin{\bbl@deactivate{?}}
+% \end{macrocode}
+%
+% Here we define the space before punctuation; again the glue that is inserted
+% in the French typography is too large according to our taste; the glue we
+% want to put in front of the high punctuation marks should be smaller
+% and we chose a smaller compromise value, but again we fix the stretch
+% and shrink components to zero.
+% \begin{macrocode}
+\def\punct@spacing{\penalty\@M\hskip.4\fontdimen2\font
+ \@plus\z@\@minus\z@}
+% \end{macrocode}
+%
+% When then we give a definition to these actie characters; in each definition
+% we start by eliminating aby previous spacing inserted by the typist, then
+% we insert our space and finally the punctuation mark.
+% \begin{macrocode}
+\declare@shorthand{latin}{;}{\ifdim\lastskip>\z@\unskip\fi
+ \punct@spacing\puntoevirgola}
+\declare@shorthand{latin}{:}{\ifdim\lastskip>\z@\unskip\fi
+ \punct@spacing\duepunti}
+\declare@shorthand{latin}{!}{\ifdim\lastskip>\z@\unskip\fi
+ \punct@spacing\puntoesclamativo}
+\declare@shorthand{latin}{?}{\ifdim\lastskip>\z@\unskip\fi
+ \punct@spacing\puntointerrogativo}
+% \end{macrocode}
+%
+% For footnotes we require that the footnote mark be tiped flush to the
+% left margin and that it is typed normalsize; this rquires the
+% redefinition % of the |\@makefntext| macro that must call a different
+% version of |\@makefnmark|.
+% \begin{macrocode}
+%
+\let\lt@ori@makefntext\@makefntext
+\newcommand\lt@makefntext[1]{%
+ \parindent 1em%
+ \noindent
+ \lt@Makefnmark\enspace #1}
+\newcommand\lt@Makefnmark{\hbox{\normalfont\@thefnmark.}}
+% \end{macrocode}
+% We add these commands to the |\extraslatin| and |\noextraslatin| lists.
+% \begin{macrocode}
+\addto\extraslatin{\let\@makefntext\lt@makefntext}
+\addto\noextraslatin{\let\@makefntext\lt@ori@makefntext}
+% \end{macrocode}
+%
+% Is this correct? May be not! In a mixed language text footnotes get labelled
+% in a different way depending on which language was in force when the
+% |\footnote| command was issued. Any solution?
+%
+% In order to leave the category codes clean we re-establish the default codes
+% reassigning the active cars their initial meaning; we do this by executing
+% \noextraslatin. If Latin is the default language, or when Latin is
+% selected, the \extraslatin macro is automatically executed and active
+% catcodes reassigned to the active characters.
+%
+% \begin{macrocode}
+\noextraslatin
+%</package>
+% \end{macrocode}
+%
+% \Finale
+\endinput
diff --git a/Master/texmf-dist/source/latex/ecclesiastic/ecclesiastic.ins b/Master/texmf-dist/source/latex/ecclesiastic/ecclesiastic.ins
new file mode 100644
index 00000000000..258356e0484
--- /dev/null
+++ b/Master/texmf-dist/source/latex/ecclesiastic/ecclesiastic.ins
@@ -0,0 +1,61 @@
+%%
+%% This file is necessary to extract from file registro07.dtx the following file:
+%% registro07.cls,
+%% that is strictly speaking the component of the registro07 package and form
+%% the Work. The extraction is performed by means of the doctrip utility
+%% that extracts practically only the uncommented lines so that their loading
+%% becomes very quick. The package documentations is in Italian and may be
+%% obtained by LaTeX processing the documented TeX source file registro07.dtx.
+%%
+%% ----------------------------------------
+%%
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% IMPORTANT NOTICE:
+%%
+%% Copyright 2007 Claudio Beccari
+%% All rights reserved.
+%%
+%% Permission is granted to distribute verbatim copies of this file
+%% together with toptesi.dtx.
+%%
+%% No other permissions to copy or distribute this file in any form
+%% are granted and in particular no permission to modify its contents.
+%%
+%% --------------- start of docstrip commands ------------------
+%%
+\def\batchfile{ecclesiastic.ins}
+\input docstrip.tex
+\preamble
+
+Copyright 2007 Claudio Beccari All rights reserved.
+
+ This system is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+
+IMPORTANT NOTICE:
+
+This file is subject to the LPPL licence, version 1.3 or any subsequent
+version. Copy of the LaTeX Project Public Licence is downloadable from
+any CTAN archive.
+
+
+\endpreamble
+
+\keepsilent
+
+\Msg{*** Generazione del file ecclesiastic.sty ***}
+
+\generateFile{ecclesiastic.sty}{t}{\from{ecclesiastic.dtx}{package}}
+
+\ifToplevel{%
+\Msg{***********************************************************}
+\Msg{Happy TeXing!}
+\Msg{***********************************************************}
+}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/ecclesiastic/ecclesiastic.sty b/Master/texmf-dist/tex/latex/ecclesiastic/ecclesiastic.sty
new file mode 100644
index 00000000000..24f76fe48f6
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/ecclesiastic/ecclesiastic.sty
@@ -0,0 +1,182 @@
+%%
+%% This is file `ecclesiastic.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ecclesiastic.dtx (with options: `package')
+%%
+%% Copyright 2007 Claudio Beccari All rights reserved.
+%%
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This file is subject to the LPPL licence, version 1.3 or any subsequent
+%% version. Copy of the LaTeX Project Public Licence is downloadable from
+%% any CTAN archive.
+%%
+%%
+\NeedsTeXFormat{LaTeX2e}[1996/12/01]%
+\ProvidesPackage{ecclesiastic}%
+ [2007/09/28 v.0.1 Ecclesiastic composition of Latin]
+\def\CheckLatin{\expandafter\ifx\csname captionslatin\endcsname\relax
+ \PackageWarning{ecclesiastic}{\MessageBreak
+ latin must be specified as a global option\MessageBreak
+ or it must be passed as an option to babel\MessageBreak
+ \MessageBreak
+ Nothing done}\expandafter\endinput\fi}
+
+\@ifpackageloaded{babel}{\CheckLatin}{%
+ \PackageWarning{ecclesiastic}{\MessageBreak
+ Package babel must be loaded before this package\MessageBreak
+ \MessageBreak
+ Nothing will be done}\endinput}
+\let\og\empty\let\fg\empty%
+ \def\FrenchGuillemetsFrom#1#2#3#4{%
+ \DeclareFontEncoding{#1}{}{}%
+ \DeclareFontSubstitution{#1}{#2}{m}{n}%
+ \DeclareTextCommand{\guillemotleft}{OT1}{%
+ {\fontencoding{#1}\fontfamily{#2}\selectfont\char#3}}%
+ \DeclareTextCommand{\guillemotright}{OT1}{%
+ {\fontencoding{#1}\fontfamily{#2}\selectfont\char#4}}}
+ \def\CyrillicGuillemets{\FrenchGuillemetsFrom{OT2}{wncyr}{60}{62}}
+ \def\PolishGuillemets{\FrenchGuillemetsFrom{T1}{lmr}{19}{20}}
+ \def\LasyGuillemets{%
+ \DeclareTextCommand{\guillemotleft}{OT1}{\hbox{%
+ \fontencoding{U}\fontfamily{lasy}\selectfont(\kern-0.20em(}}%
+ \DeclareTextCommand{\guillemotright}{OT1}{\hbox{%
+ \fontencoding{U}\fontfamily{lasy}\selectfont)\kern-0.20em)}}}
+ \IfFileExists{t1lmr.fd}{\PolishGuillemets}{%
+ \IfFileExists{ot2wncyr.fd}{\CyrillicGuillemets}{\LasyGuillemets}}
+ \DeclareTextSymbolDefault{\guillemotleft}{OT1}
+ \DeclareTextSymbolDefault{\guillemotright}{OT1}
+ \def\guill@spacing{\penalty\@M\hskip.3\fontdimen2\font
+ \@plus\z@\@minus\z@}
+ \DeclareRobustCommand*{\begin@guill}{\leavevmode
+ \guillemotleft\penalty\@M\guill@spacing
+ \ignorespaces}
+ \DeclareRobustCommand*{\end@guill}{\ifdim\lastskip>\z@\unskip\fi
+ \penalty\@M\guill@spacing\guillemotright{}}
+ \addto\extraslatin{%
+ \renewcommand{\og}{\begin@guill}\renewcommand{\fg}{\end@guill}%
+ }
+ \addto\noextraslatin{\let\og\empty\let\fg\empty}
+\initiate@active@char{'}%
+\addto\extraslatin{\bbl@activate{'}}%
+\addto\noextraslatin{\bbl@deactivate{'}}%
+
+\declare@shorthand{latin}{'a}{\@ifnextchar e{\'\ae\@gobble}{\'a}}
+\declare@shorthand{latin}{'e}{\'e}
+\declare@shorthand{latin}{'i}{\'i}
+\declare@shorthand{latin}{'o}{\@ifnextchar e{\'\oe\@gobble}{\'o}}
+\declare@shorthand{latin}{'u}{\'u}
+\declare@shorthand{latin}{'y}{\'y}
+\declare@shorthand{latin}{'A}{\@ifnextchar E{\'\AE\@gobble}{\'A}}
+\declare@shorthand{latin}{'E}{\'E}
+\declare@shorthand{latin}{'I}{\'I}
+\declare@shorthand{latin}{'O}{\@ifnextchar E{\'\OE\@gobble}{\'O}}
+\declare@shorthand{latin}{'U}{\'U}
+\declare@shorthand{latin}{'Y}{\'Y}
+\declare@shorthand{latin}{"}{%
+\ifmmode
+ \def\lt@next{''}%
+\else
+ \def\lt@next{\futurelet\lt@temp\lt@cwm}%
+\fi
+\lt@next
+}%
+\def\lt@@cwm{\nobreak\discretionary{-}{}{}\nobreak\hskip\z@skip}%
+\def\lt@@ocap#1{\begin@guill}\def\lt@@ccap#1{\end@guill}%
+\DeclareRobustCommand\LT@cwm[2]{%
+ \ifx#1a\bbl@afterelse
+ \maybeae#1#2%
+ \else\bbl@afterfi
+ \testoe#1#2%
+ \fi}
+\def\maybeae#1#2{%
+ \ifx#2e\bbl@afterelse
+ \ae%
+ \else\bbl@afterfi
+ \lt@@cwm#1#2%
+ \fi
+}
+\def\maybeoe#1#2{%
+ \ifx#2e\bbl@afterelse
+ \oe%
+ \else\bbl@afterfi
+ \lt@@cwm#1#2%
+ \fi
+}
+\def\testoe#1#2{%
+ \ifx#1o\bbl@afterelse
+ \maybeoe#1#2%
+ \else\bbl@afterfi
+ \lt@@cwm#1#2%
+ \fi}
+\DeclareRobustCommand*{\lt@cwm}{\let\lt@@next\relax
+\ifcat\noexpand\lt@temp e%
+ \def\lt@@next{\LT@cwm}%
+\else
+ \if\noexpand\lt@temp \string|%
+ \def\lt@@next{\lt@@cwm\@gobble}%
+ \else
+ \if\noexpand\lt@temp \string<%
+ \def\lt@@next{\lt@@ocap}%
+ \else
+ \if\noexpand\lt@temp \string>%
+ \def\lt@@next{\lt@@ccap}%
+ \else
+ \if\noexpand\lt@temp\string/%
+ \def\lt@@next{\slash\@gobble}%
+ \else
+ \ifx\lt@temp"%
+ \def\lt@@next{``\@gobble}%
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+\fi
+\lt@@next}%
+\edef\puntoevirgola{\string;}\edef\cc@pv{\the\catcode`;}%
+\edef\duepunti{\string:}\edef\cc@dp{\the\catcode`:}%
+\edef\puntoesclamativo{\string!}\edef\cc@pe{\the\catcode`!}%
+\edef\puntointerrogativo{\string?}\edef\cc@pi{\the\catcode`?}%
+\initiate@active@char{;}
+\initiate@active@char{:}
+\initiate@active@char{!}
+\initiate@active@char{?}
+\addto\extraslatin{\bbl@activate{;}}
+\addto\extraslatin{\bbl@activate{:}}
+\addto\extraslatin{\bbl@activate{!}}
+\addto\extraslatin{\bbl@activate{?}}
+\addto\noextraslatin{\bbl@deactivate{;}}
+\addto\noextraslatin{\bbl@deactivate{:}}
+\addto\noextraslatin{\bbl@deactivate{!}}
+\addto\noextraslatin{\bbl@deactivate{?}}
+\def\punct@spacing{\penalty\@M\hskip.4\fontdimen2\font
+ \@plus\z@\@minus\z@}
+\declare@shorthand{latin}{;}{\ifdim\lastskip>\z@\unskip\fi
+ \punct@spacing\puntoevirgola}
+\declare@shorthand{latin}{:}{\ifdim\lastskip>\z@\unskip\fi
+ \punct@spacing\duepunti}
+\declare@shorthand{latin}{!}{\ifdim\lastskip>\z@\unskip\fi
+ \punct@spacing\puntoesclamativo}
+\declare@shorthand{latin}{?}{\ifdim\lastskip>\z@\unskip\fi
+ \punct@spacing\puntointerrogativo}
+\let\lt@ori@makefntext\@makefntext
+\newcommand\lt@makefntext[1]{%
+ \parindent 1em%
+ \noindent
+ \lt@Makefnmark\enspace #1}
+\newcommand\lt@Makefnmark{\hbox{\normalfont\@thefnmark.}}
+\addto\extraslatin{\let\@makefntext\lt@makefntext}
+\addto\noextraslatin{\let\@makefntext\lt@ori@makefntext}
+\noextraslatin
+\endinput
+%%
+%% End of file `ecclesiastic.sty'.
diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
index 2675d21ddeb..ccc36a735f5 100644
--- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
@@ -124,6 +124,7 @@ depend dvdcoll
depend eCards
depend easy
depend ebezier
+depend ecclesiastic
depend ecv
depend ed
depend eemeir
diff --git a/Master/tlpkg/tlpsrc/ecclesiastic.tlpsrc b/Master/tlpkg/tlpsrc/ecclesiastic.tlpsrc
new file mode 100644
index 00000000000..f651059aa6c
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/ecclesiastic.tlpsrc
@@ -0,0 +1,2 @@
+name ecclesiastic
+category Package