From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining 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