summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/liturg/liturg.sty
blob: 44e7427824f61ab42d690c64462f4b7ada449d20 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
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}