From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Mon, 2 Sep 2019 13:46:59 +0900
Subject: Initial commit

---
 macros/latex/contrib/liturg/liturg.sty | 429 +++++++++++++++++++++++++++++++++
 1 file changed, 429 insertions(+)
 create mode 100644 macros/latex/contrib/liturg/liturg.sty

(limited to 'macros/latex/contrib/liturg/liturg.sty')

diff --git a/macros/latex/contrib/liturg/liturg.sty b/macros/latex/contrib/liturg/liturg.sty
new file mode 100644
index 0000000000..44e7427824
--- /dev/null
+++ b/macros/latex/contrib/liturg/liturg.sty
@@ -0,0 +1,429 @@
+% \iffalse
+% +AMDG  This document was begun on 17 Jan 2008, the Feast of St.
+% Antonius the Abbot, and it is humbly dedicated to him, to St.
+% Gregory the Great, and to the Immaculate Heart of Mary for their
+% prayers, and to the Sacred Heart of Jesus for His mercy, and to
+% all those who died for the integrity of the Catholic liturgy, and
+% for the aid and succor of those who fight for it today.
+% \fi
+%
+% \maketitle
+% \begin{abstract}
+% The |liturg| package is a simple package which makes easy the
+% typesetting of Catholic liturgical texts.  It requires all the
+% packages necessary to typeset Latin properly; it also takes care of
+% appropriate color management and headings, providing commands for
+% both Missal and Breviary constructs.  For the typesetting of entire
+% liturgical books, most of the higher-level issues are left to the
+% user, as the typesetting of something as complex as an entire
+% Missal or Breviary is best quite individualized, though the forms
+% are well-settled and definite.  However, for selections, even
+% long selections, including headings and instructions, this
+% package is ideal, and would be a great help even in the large
+% works mentioned above.
+% \end{abstract}
+% 
+% \tableofcontents
+% 
+% \section{Introduction}
+% \label{sect:intro}
+% 
+% \LaTeX\ had, prior to this package, absolutely no facility for the
+% easy and beautiful typesetting of liturgical texts whatsoever, much
+% less the Catholic liturgical texts at which this package is
+% particularly aimed.  This package aims to rectify that
+% circumstance, and I believe that it largely succeeds.
+% 
+% Those interested in a package to automate the typesetting of entire
+% liturgical books---missals or breviaries, for example---will
+% probably be disappointed.  This package does nothing to solve the
+% many problems of doing so:  several different streams of
+% pagination being the only one not basically trivial.  However, such
+% persons should not be disappointed.  Missals and breviaries are
+% ordered texts; thus, the contents, indices, and similar structures
+% are minimal, if not nonexistent.  Just search through the days
+% until you get to the right one.  The most difficult part of
+% typesetting such texts is getting each individual feast correct.
+% This package has automated that process for you; it is now easy.
+% 
+% This document was typeset in accordance with the \LaTeX\
+% \textsc{docstrip} utility.
+% 
+% \section{Language Commands}
+% \label{sect:lang}
+% 
+% |liturg|'s first contribution to the facilitation of typesetting
+% liturgical texts is allowing the liturgical language to be selected
+% easily.  The |babel| and |ecclesiastic|\footnote{If you don't have
+% |ecclesiastic| --- it's default in neither \TeX Live nor % Mik\TeX\
+% --- do download it and put it in your tree.  It makes the
+% typesetting of liturgical Latin immensely easier.} packages take
+% care of the innards of the process; this package merely provides a
+% wrapper, making the commands less cumbersome when they must be
+% entered frequently, as in bilingual liturgical texts.
+% 
+% \DescribeMacro{\latin}|\latin| very simply and easily changes the text
+% enclosed in its braces to Latin, typeset according to the
+% guidelines of the |ecclesiastic| package.  The command is properly
+% issued as follows:
+% \begin{quote}
+% \cs{latin}\marg{latin text}
+% \end{quote}
+% The other language-control macros offered by |liturg| are
+% \DescribeMacro{\latinpart}|\latinpart| and
+% \DescribeMacro{\englishpart}|\englishpart|.  These two, rather than
+% requiring one to enclose a rather short text in braces, allow
+% simply issuing the command, which will then cause the text to be
+% typeset in that language until another language command is reached.
+% This command \emph{must} be used whenever, for example, there are
+% paragraph breaks in the Latin text.
+% 
+% Now, we can move on to some of |liturg|'s other commands.
+% 
+% \section{Missal Texts}
+% \label{sect:missal}
+% 
+% Missal texts generally contain two things:  prayers and
+% instructions.  This package provides for both eventualities.
+% 
+% For instructions, the command is simple:
+% \DescribeMacro{\instruct}|\instruct| typesets the instructions in a
+% small size (with |\small|) and in red, as is the general practice.
+% There is no indent, as the small size and variant color is
+% generally sufficient reason to consider it a separate text even in
+% the absence of indentation.  Furthermore, it's not unheard of for
+% texts to include instructions flowed into the paragraph, so all in
+% all an indentation and a full |\par| construct seemed in
+% appropriate.  Simply include the instruction text in braces
+% following this command; it takes one argument, the text of the
+% instruction.
+% 
+% For prayers, there are two main commands and some associated ones.
+% The first main command is \DescribeMacro{\priest}|\priest|, which 
+% takes one
+% argument; namely, the text that is going to be stated by the
+% priest.  Since most text is stated by the priest, this is generally
+% only used in sections with a response, which leads us to the next
+% command, \DescribeMacro{\server}|\server|, which gives the text
+% stated in response by the server.
+% 
+% By default these commands print the text of its first argument,
+% preceded by ``S.'' and ``M.'' respectively.  These stand for
+% \textit{Sacerdos} (priest) and \textit{Minister} (server).  They
+% can be changed by redefining the macros
+% \DescribeMacro{\priestword}|\priestword| and
+% \DescribeMacro{\serverword}|\serverword| if, say, English
+% typesetting is desired.  Simply issue the appropriate redefinition
+% commands, as in the following:
+% \begin{quote}
+% |\renewcommand\priestword{P.  }| \\
+% |\renewcommand\serverword{S.  }| \\
+% \end{quote}
+% Indeed, this is taken up automatically by the |\massenglish| macro,
+% which will be discussed shortly.
+% 
+% |liturg| presumes Latin typesetting as the norm, that being the
+% normative language even for the newer rites; therefore, typesetting 
+% liturgical texts in English may be somewhat difficult.
+% Consequently, the package provides a simple command,
+% \DescribeMacro{\massenglish}|\massenglish|, to take care of these
+% issues for the user.  This, among other things, alters the
+% definitions of |\priestword| and |\serverword| appropriately.  No
+% facilities for other languages are currently supported; we would
+% be happy to add them should they be provided.
+% 
+% \section{Breviary Texts}
+% \label{sect:brev}
+% 
+% This package was developed with the old liturgy in mind, and
+% consequently does not contain any provisions for automatically
+% typesetting breviary texts in English.  That said, most of these
+% commands should work equally well for translations of breviary
+% texts.  
+% 
+% For starters, there are a number of simple commands which provide
+% simple but commonly required output.  The first of these is
+% \DescribeMacro{\markup}|\markup|.  The Breviary contains many
+% portions of text which are not instructions, yet not text; it is
+% simply markup; for example, antiphons contain a label indicating
+% their status as antiphons, with a number at the starter antiphon.
+% No automatic numbering has been provided, as I can't forsee any
+% situation in which an author would be producing original texts
+% rather than typesetting existing, inalterable ones.  However, such
+% antiphon text qualifies as |\markup| within the |liturg| package.
+% The command takes one argument, the text of the markup.  So an
+% antiphon may be typeset as:
+% \begin{quote}
+% \markup{Ant.\ 1}  Followed by the text of the antiphon.
+% \end{quote}
+% produced by
+% \begin{quote}
+% |\markup{Ant.\ 1}  Followed by the text of the antiphon.|\\
+% \end{quote}
+% By default, |\markup| produces normal sized text in red.  It makes
+% no effort to suppress indentation.  This seemed to be normal
+% practice in the Roman Breviary.
+% 
+% Also available, for instructions, is the |\instruct| command
+% discussed under missal texts.\footnote{\textit{See supra}, Section
+% \ref{sect:missal}, at \pageref{sect:missal}.}  As a corollary, also
+% available is \DescribeMacro{\blackinstruct}|\blackinstruct|, which
+% provides the same functionality but colored in black.  A more
+% general name would have been desirable, but I was unable to find a
+% consistent reason for preferring one color over the other for
+% entire citations.  Within instructions (and |\markup|s, for that
+% matter) there are frequently page numbers, which are always printed
+% in black, rather than red.  For this requirement, use the
+% \DescribeMacro{\page}|\page| command within the argument of
+% |\instruct| or |\markup|.
+% 
+% Also commonly necessary are psalm titles, prayer titles, lesson
+% titles, and so on.  The package provides a number of commands to
+% cover these needs.  For prayer titles (generally simply ``Oratio,''
+% but sometimes other things), the command
+% \DescribeMacro{\prayerheading}|\prayerheading| is used.  For psalms, use
+% \DescribeMacro{\psalmheading}|\psalmheading|.  All take a single
+% argument, the text of the heading.  Once again, this is generally
+% simply ``Oratio,'' ``Psalmus 22,'' or something similar, but this
+% is not universal.
+% 
+% The lessons especially, but also many prayers and other parts of
+% the Breviary, begin with a lettrine; that is, a large letter which
+% takes up two lines, printed in red.  The |lettrine| package does
+% all the work in the case, but a more or less trivial wrapper for it
+% is provided by the package for this purpose, namely,
+% \DescribeMacro{\leslettrine}|\leslettrine|.  It takes one argument,
+% the letter to be enlarged, as the second argument to |\lettrine| is
+% not applicable here.  It also prints the letter in red, as is the
+% normal case.  In third readings, however, often there are two texts
+% used, the Gospel and a commentary by a great Church Father or
+% doctor.  The second of these readings will begin with a lettrine,
+% but not in red.  For this purpose, the macro
+% \DescribeMacro{\caplettrine}|\caplettrine|, because this second
+% reading is also called the ``chapter'' (Latin ``caput''), is
+% provided.
+% 
+% Lesson headings also present some unique typesetting requirements.
+% Generally they will include the number of the lesson (or
+% ``reading'') in romanettes, one through nine; the word ``Lectio''
+% (for ``lesson'' or ``reading''), with the number, all in red.  This
+% much is universal; even brief statements of the lives of the saints
+% (as from Lectio iii in the office of St. Thomas Aquinas, to be seen
+% in test.pdf, will show) contain at least this.  However, often more
+% information is present.  For example, if the reading is Scriptural
+% (quite often, of course), the source of the reading will be printed
+% below the lesson heading, in red.  The book, however, as opposed to
+% the chapter and verse of that book, will be in black, but only in
+% the first reading from that source; further readings from that
+% source will contain only the chapter and verse citations.  Rather
+% than try to automate all this, and again presuming that users will
+% not be composing original texts, I have provided simple commands
+% for these circumstances.
+% 
+% \DescribeMacro{\lessonheading}|\lessonheading| prints the simple
+% ``Lectio iii'' (or whatever text is entered as its one and only
+% argument).  This is the universal part and thus seemed to deserve
+% the title of ``heading.''
+% \DescribeMacro{\lessontitle}|\lessontitle| give that optional part
+% which generally contains the book of Holy Scripture from which the
+% lesson is drawn, e.g., ``De Epistola beati Pauli Apostoli ad
+% Colossenses.''  \DescribeMacro{\lessonsource}|\lessonsource| gives the 
+% citation to
+% the particular part of the book in red; e.g., ``Cap.\ 1, 3--23.''
+% These macros are easily adjustable to those readings drawn from
+% other sources; e.g., papal encyclicals, writings of the Fathers.
+% In the event some black text is required within the red text, the
+% use of the |\page| command is probably best.  This makes semantic
+% sense, as most of these, while not page references, do identify
+% with particularity a reference.  E.g.,
+% \begin{quote}
+% \lessonsource{Litt.\ % Encycl.\ \page{Quas Primas,} diei 
+% 11 decembris 1925}
+% \end{quote}
+% 
+% Hours themselves (e.g., Matins, Lauds, \textit{et cetera}) must
+% also be headed, and the command
+% \DescribeMacro{\hourheading}|\hourheading| provides amply for this
+% need.  Simply include the hour's name in the mandatory
+% argument for |\hourheading| and you've got yourself a
+% heading (e.g., |\hourheading{Ad Matutinum}|).
+% 
+% For typesetting the actual entries in the breviary (as in,
+% individual feast entries), the command
+% \DescribeMacro{\feasttitle}|\feasttitle| is provided.  This command
+% is considerably more complex to use than the rest offered thus far.
+% Specifically, it takes four mandatory arguments and one optional;
+% if nothing else, it taxes the memory more.  Its formatting is
+% simple, however:
+% \begin{quote}
+% \cs{feasttitle}\oarg{miscellaneous}\marg{date}\marg{saint}\marg{type}\marg{class}
+% \end{quote}
+% The mandatory arguments mostly speak for themselves.  The date of
+% the feast; the saint (or event, such as the translation of some
+% relics) celebrated; the type of the saint (such as bishop and
+% confessor, martyr, and so on); and the class of the feast (just the
+% number, in Roman numerals).  For the class, I have actually
+% provided some generalization.  By default, the macro prints the
+% class of the feast entered, followed by ``classis,'' the Latin.
+% However, by redefining the macro
+% \DescribeMacro{\classword}|\classword|, this can be altered.  As I
+% hardcoded in some text here, I felt that options were appropriate.
+% 
+% The optional argument contains ``other''; things that don't quite
+% fit in the other category.  Generally, this will be a reference to
+% the Common for the particular type of saint, plus a reference
+% (e.g., ``Commune vide (132),'' as in the example test.pdf).  Many
+% feasts will not have such a line, but most will; so it was made
+% optional.
+% 
+% This provides a general interface for saints' feasts; however, a
+% much simpler one is provided for the simpler cases:  that of great
+% feasts, which are generally headed by only a line or two
+% identifying the feast and its class.  This is the command
+% \DescribeMacro{\greatfeast}|\greatfeast|, which is much
+% simpler than the |\feasttitle| macro.  It simply prints,
+% in all caps, the name of the feast in slightly larger
+% type, followed by the class in the normal type.  It
+% utilizes \DescribeMacro{\greatsize}|\greatsize| for the
+% size of the title (by default it's just |\Large|), and
+% also |\classword|, already discussed.
+% 
+% \section{Implementation}
+% \label{implement}
+% 
+% Here's the implementation of the package.  It's so basic
+% that it will probably be uninteresting to everyone, but
+% it's standard practice to include it, so here it is.  It's
+% also easier to read than the raw code, so if you want to
+% hack any of the macros, this is a good place to look at
+% them beforehand to see how they tick.
+%    \begin{macrocode}
+\ProvidesPackage{liturg}
+
+\RequirePackage[latin,english]{babel}
+\RequirePackage{color}
+\RequirePackage{lettrine}
+\RequirePackage{ecclesiastic}
+
+\newcommand{\latin}[1]{%
+\foreignlanguage{latin}{#1}%
+}
+
+\newcommand{\latinpart}{%
+\selectlanguage{latin}%
+}
+
+\newcommand\englishpart{%
+\selectlanguage{english}%
+}
+
+\renewcommand{\LettrineFontHook}{\color{red}}
+
+\newcommand{\leslettrine}[1]{%
+\lettrine{#1}{}
+}
+
+\newcommand{\caplettrine}[1]{%
+\lettrine{\textcolor{black}{#1}}{}
+}
+
+\newcommand\classword{classis}
+
+% 1: optional stuff; 2: date; 3: saint; 4: type; 5: class
+\newcommand\feasttitle[5][]{%
+\begin{center}
+\noindent\normalsize\textcolor{red}{#2}\\%
+\uppercase{#3}\\%
+#4\\%
+\textcolor{red}{#5 \classword}\\%
+\small\textcolor{red}{#1}%
+\end{center}
+}
+
+\newcommand\page[1]{%
+\textcolor{black}{#1}%
+}
+
+\newcommand\hourheading[1]{%
+\begin{center}
+\normalsize\textbf{#1}\\%
+\end{center}
+}
+
+\newcommand\versic[1]{%
+\textcolor{red}{V.  }#1%
+}
+
+\newcommand\response[1]{%
+\textcolor{red}{R.  }#1%
+}
+
+\newcommand{\lessontitle}[1]{%
+\begin{center}
+\vspace{-2em}
+\noindent\normalsize\textcolor{black}{#1}
+\end{center}
+}
+
+\newcommand{\psalmheading}[1]{%
+\begin{center}
+\noindent\normalsize\textcolor{red}{#1}
+\end{center}
+}
+
+\newcommand{\lessonheading}[1]{%
+\begin{center}
+\noindent\normalsize\textcolor{red}{#1}
+\end{center}
+}
+
+\newcommand{\prayerheading}[1]{%
+\begin{center}
+\noindent\normalsize\textcolor{red}{#1}
+\end{center}
+}
+
+\newcommand{\lessonsource}[1]{%
+\begin{center}
+\vspace{-1em}
+\noindent\footnotesize\textcolor{red}{#1}
+\end{center}
+}
+
+\newcommand\instruct[1]{%
+\noindent\footnotesize\textcolor{red}{#1}\normalsize\\% 
+}
+
+\newcommand\blackinstruct[1]{%
+\small\textcolor{black}{#1}\normalsize%
+}
+
+\newcommand\markup[1]{%
+\noindent\normalsize\textcolor{red}{#1}%
+}
+
+\newcommand\priestword{S.  }
+\newcommand\serverword{M.  }
+
+\newcommand{\massenglish}{%
+\renewcommand\priestword{P.  }
+\renewcommand\serverword{S.  }
+}
+
+\newcommand\priest[1]{%
+\noindent\textcolor{red}{\priestword}{#1}\\%
+}
+
+\newcommand\server[1]{%
+\noindent\textcolor{red}{\serverword}{#1}\\%
+}
+
+\newcommand\greatsize{\Large}
+
+\newcommand\greatfeast[2]{%
+\begin{center}%
+\noindent\greatsize\uppercase{#1}\\%
+\normalsize\vspace*{0.5em}\textcolor{red}{#2 \classword}%
+\end{center}
+}
+%    \end{macrocode}
-- 
cgit v1.2.3

