-
Notifications
You must be signed in to change notification settings - Fork 2
/
churchslavonic.tex
993 lines (827 loc) · 59 KB
/
churchslavonic.tex
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
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
\usepackage{fontspec,metalogo}
\newfontfamily\englishfont[Script=Latin,Ligatures=TeX,HyphenChar=-]{Linux Libertine O}
\newfontfamily\russianfont[Script=Cyrillic,Ligatures=TeX]{Linux Libertine O}
\setmonofont[Scale=MatchLowercase]{Fira Slav}
\newfontfamily\russianfonttt[Scale=MatchLowercase]{Fira Slav}
\newfontfamily\russianfontsf[Script=Cyrillic,Ligatures=TeX]{Linux Biolinum O}
\newfontfamily\churchslavonicfont[Script=Cyrillic,Ligatures=TeX,Scale=MatchLowercase,HyphenChar=_]{Ponomar Unicode}
\newfontfamily\churchslavonicfonttt[Scale=MatchLowercase]{Fira Slav}
\newfontfamily\musicFont[Scale=1.5]{Mezenets Unicode}
\usepackage{churchslavonic}
\usepackage{doc}
\usepackage{lettrine}
\usepackage[unicode,
pdftitle={churchslavonic: a package for typesetting Church Slavonic documents in TeX},
pdfauthor={Aleksandr Andreev and Mike Kroutikov},
pdfkeywords={Church Slavonic, Old Church Slavonic, Church Slavic, Znamenny Notation, LaTeX, TeX, XeTeX, LuaTeX, OpenType, Unicode, церковнославянский, старославянский, знаменная нотация, крюки, столповая нотация}
]{hyperref}
\def\fileversion{v0.2.4}
\def\filedate{June 22, 2023}
\let\cuKrukFont=\musicFont
\def\pkg#1{\textsf{#1}}
\def\cs#1{\texttt{\textbackslash #1}}
%
\cuDefineDateFormat{long}{%
\cuDayName{\cuDOW},
\cuNum{\cuDAY}\textunderscore гѡ~%
\cuMonthName{\cuMONTH},~%
лѣ́та ѿ сотворе́нїѧ мі́ра~\cuNum{\cuYEARAM}%
}
%
\makeatletter
\def\cu@lettrine{\lettrine[lines=3,findent=0pt,nindent=0pt]}
\def\cuLettrine{\cu@tokenizeletter\cu@lettrine}
\renewcommand{\LettrineFontHook}{\cuKinovarColor}
\makeatother
\begin{document}
\begin{EN}
\title{\pkg{churchslavonic} package --- Church Slavonic Typography in \LaTeX}
\author{Aleksandr Andreev and Mike Kroutikov\\version~\fileversion}
\end{EN}
\begin{RU}
\title{Пакет \pkg{churchslavonic} --- верстка церковнославянских текстов в системе \LaTeX}
\author{Александр Андреев и Михаил Крутиков\\версия~\fileversion}
\end{RU}
\date{\today}
\maketitle
\begin{EN}
\begin{abstract}
Package \pkg{churchslavonic} provides fonts, hyphenation patterns and supporting macros to typeset
Church Slavonic texts.
\end{abstract}
\end{EN}
\begin{RU}
\begin{abstract}
Пакет \pkg{churchslavonic} позволяет верстать церковнославянские документы. В пакет включены шаблоны переносов,
шрифты и набор необходимых макрокоманд.
\end{abstract}
\end{RU}
\tableofcontents
\begin{EN}
\section*{Introduction}
Church Slavonic (also called Church Slavic, Old Church Slavonic
or Old Slavonic; ISO 639-2 code \texttt{cu}) is a literary language used by
the Slavic peoples; presently it is used as a liturgical language by the
Russian Orthodox Church, other local Orthodox Churches, as well
as various Byzantine-Rite Catholic and Old Ritualist communities.
The package \texttt{churchslavonic} provides fonts, hyphenation
patterns and supporting macros to typeset
Church Slavonic texts in \TeX{}.
The package is designed to support Unicode text encoded in UTF-8.
Texts encoded in legacy codepages (such as HIP and UCS) may be
converted to Unicode using a separate bundle of utilities.
See the \href{http://sci.ponomar.net/}
{Slavonic Computing Initiative website} for more information.
To use the tools in this package, you will need a Unicode-aware \TeX{}
engine such as \XeTeX{} or \LuaTeX{}.
\end{EN}
\begin{RU}
\section*{Введение}
Церковнославянский язык (ISO 639-2 код \texttt{cu}) --
древний литературный язык славянских народов,
который теперь используется в основном как богослужебный язык
в Русской Православной Церкви, других поместных православных
церквях, а также в грекокатолических и старообрядческих общинах.
Пакет \pkg{churchslavonic} позволяет верстать церковнославянские тексты
в системе \TeX{}. В пакет включены шаблоны переносов,
шрифты и набор необходимых макрокоманд.
Данный пакет поддерживает только набор в стандарте Юникод.
Тексты, набранные в устаревших кодировках HIP и UCS,
можно конвертировать в Юникод (точнее -- в UTF-8) с помощью
отдельных утилит, которые можно найти на сайте
\href{http://sci.ponomar.net/}
{Инициативной группы славянской информатики}.
Для того, чтобы использовать возможности этого пакета Вам
понадобится система верстки \TeX{}, поддерживающая Юникод,
например, \XeTeX{} или \LuaTeX{}.
\end{RU}
\begin{EN}
\section{How to use the package}
To use the \pkg{churchslavonic} package one needs to include the following
declarations into the document preamble:
\end{EN}
\begin{RU}
\section{Как пользоваться пакетом}
Добавьте следующие определения в преамбулу вашего документа:
\end{RU}
\begin{verbatim}
\usepackage{polyglossia}
\setmainlanguage{churchslavonic}
\usepackage{churchslavonic}
\end{verbatim}
\begin{EN}
This makes the Church Slavonic hyphenation patterns immediately available.
After that, use the standard \pkg{polyglossia} commands to control current language.
Church Slavonic fonts are provided by the \pkg{fonts-churchslavonic} package,
which should have been installed automatically when you installed this package.
See the \pkg{fonts-churchslavonic} documentation for information about fonts.
\end{EN}
\begin{RU}
Сразу станут доступны церковнославянские шаблоны переноса слов.
После чего переключайтесь между языками стандартными средствами пакета \pkg{polyglossia}.
Церковнославянские шрифты предоставлены в отдельном пакете \pkg{fonts-churchslavonic},
который должен был установиться, когда вы установили этот пакет.
Подробности о шрифтах смотрите в документации к пакету \pkg{fonts-churchslavonic}.
\end{RU}
\begin{EN}
\subsection{Options \texttt{color}, \texttt{gray} (= \texttt{grey}), and \texttt{bw}}
These options control what color is actually being used for text coloring commands like \cs{cuKinovar}.
\begin{itemize}
\item \texttt{color} this is the default option; it indicates the original color (a shade of red).
\item \texttt{gray} (\texttt{grey}) replaces the red color with gray - useful if you are printing on media that
does not support color, but is capable of grayscale.
\item \texttt{bw} replaces the red color with black (effectively turning off
commands like \cs{cuKinovar} and \cs{cuKinovarColor}). Use
this option to generate a document that will be printed in black-and-white.
\end{itemize}
Example:
\end{EN}
\begin{RU}
\subsection{Опции \texttt{color}, \texttt{gray} (= \texttt{grey}) и \texttt{bw}}
Опции позволяют отключать цвет раскраски текста в командах типа \cs{cuKinovar}.
Полезны для создания версий для печати на
устройствах, которые не поддерживают цветности.
\begin{itemize}
\item \texttt{color} эта опция используется по умолчанию и означает,
что используется нормальный красный цвет.
\item \texttt{gray} (\texttt{grey}) заменяет красный цвет серым --- используйте эту опцию, если
ваше устройство печати не поддерживает цветности, но может качественно передавать градации серого цвета.
\item \texttt{bw} отключает всякую раскраску --- используйте для создания черно-белой версии документа.
\end{itemize}
Пример:
\end{RU}
\begin{verbatim}
\usepackage[gray]{churchslavonic}
\end{verbatim}
\begin{EN}
\subsection{Underscore}
The underscore symbol (\texttt{\textunderscore}, U+005F \textsc{Low Line})
is a valid text symbol in Church Slavonic (it has roughly the same role
as the hyphen in English). The package \pkg{churchslavonic} redefines the
underscore in a way that it can be directly entered in text mode, for example:
\end{EN}
%
\begin{RU}
\subsection{Знак подчеркивания}
Знак подчеркивания (\texttt{\textunderscore}, U+005F \textsc{Low Line}))
в церковнославянском языке играет примерно ту же роль, что и дефис в русском.
Пакет \pkg{churchslavonic} переопределяет знак подчеркивания так, что его можно
набирать и в текстовой моде, например:
\end{RU}
%
\begin{center}
\begin{churchslavonic}
\begin{tabular}{l}
Послѣ́дованїе моле́бнагѡ пѣ́нїѧ ст҃ы̑мъ мч҃камъ к҃_гѡ вѣ́ка, \\
въ Са́нктъ_Петербꙋ́ржстѣй дꙋхо́внѣй а҆каде́мїи \\
нача̑льствовавшимъ, ᲂу҆чи̑вшимъ и҆ ᲂу҆чи̑вшимсѧ \\
\end{tabular}
\end{churchslavonic}
\end{center}
\begin{EN}
\cuKinovar{Attention:} if you have an older version of the \pkg{fontspec} package installed on your system,
the redefined underscore symbol cannot be used in font names and font options in \pkg{fontspec} commands like
\cs{setXXXfont} and \cs{newfontfamily}.
Typically you need to set underscore as the hyphenation character for Church Slavonic fonts: \texttt{HyphenChar=_}.
With older versions of \pkg{fontspec} this will cause errors. This problem exists in \TeX\ \texttt{Live 2013} and in \pkg{fontspec v2.3c}.
We recommend upgrading your \TeX\ distribution to at least \TeX\ \texttt{Live 2015}. Alternatively you can selectively
upgrade the \pkg{fontspec} package to version \texttt{v2.4c} or better.
If upgrading is not an option, you can work around this problem by either specifying the hexadecimal code for the hyphenation
character: \texttt{HyphenChar="005F}, or by declaring all fonts before loading \pkg{churchslavonic}.
\end{EN}
\begin{RU}
\cuKinovar{Внимание:} если у вас установлена старая версия пакета \pkg{fontspec},
переопределенный знак подчеркивания нельзя использовать при задании имен и параметров шрифтов в командах \pkg{fontspec} типа
\cs{setXXXfont} и \cs{newfontfamily}.
Обычно для церковнославянских шрифтов требуется установить подчеркивание как символ переноса, указав параметр:
\texttt{HyphenChar=_}. Старые версии \pkg{fontspec} выдадут ошибку.
Эта проблема присутствует в \TeX\ \texttt{Live 2013} и в \pkg{fontspec v2.3c}.
Мы рекомендуем обновить систему \TeX\ до \TeX\ \texttt{Live 2015} или свежее.
Или же обновить только пакет \pkg{fontspec} до
версии \texttt{2.4c} или более новой.
Если же вы не можете установить обновления, то можно
обойти проблему, указав символ переноса как код в шестнадцатиричном представлении:
\texttt{HyphenChar="005F}. Другой подход --- это декларировать все шрифты до загрузки пакета \pkg{churchslavonic}.
\end{RU}
\begin{EN}
\section{Numbers}
The Church Slavonic numbering system (Cyrillic numerals)
is based on Greek Ionian numerals and uses letters as digits.
For more information on the implementation, consult the appropriate section of \cite{UN41}.
\end{EN}
\begin{RU}
\section{Числа}
Способ записи чисел в церковнославянском языке (кириллическая цифирь)
основывается на древнегреческом и в
качестве цифр использует буквы.
За подробностями отсылаем интересующегося читателя к
соответствующей главе \cite{UN41}.
\end{RU}
\begin{EN}
\subsection{\cs{cuNum}}
Use this command to typeset a Cyrillic numeral.
The command takes a single argument that should expand to a number.
\end{EN}
\begin{RU}
\subsection{\cs{cuNum}}
Команда печатает число кириллической цифирью.
Она принимает единственный аргумент. Аргументом может быть текст или
командная последовательность. Единственное условие --- аргумент должен раскрыться в число.
\end{RU}
\begin{center}
\begin{churchslavonic}
\begin{tabular}{| l | l |}
\hline
\verb+\cuNum{1}+ & \cuNum{1} \\
\verb+\cuNum{12}+ & \cuNum{12} \\
\verb+\cuNum{123}+ & \cuNum{123} \\
\verb+\cuNum{1234}+ & \cuNum{1234} \\
\verb+\cuNum{10345}+ & \cuNum{10345} \\
\verb+\cuNum{12345}+ & \cuNum{12345} \\
\verb+\cuNum{123456}+ & \cuNum{123456} \\
\verb+\cuNum{800456}+ & \cuNum{800456} \\
\verb+\cuNum{1234567}+ & \cuNum{1234567} \\
\verb+\cuNum{1500567}+ & \cuNum{1500567} \\
\verb+\cuNum{12345678}+ & \cuNum{12345678} \\
\verb+\cuNum{123456789}+ & \cuNum{123456789} \\
\hline
\end{tabular}
\end{churchslavonic}
\end{center}
\begin{EN}
\section{Dates}
\end{EN}
\begin{RU}
\section{Даты}
\end{RU}
\begin{center}
\begin{churchslavonic}
\begin{tabular}[]{ | l | l | }
\hline
\verb+\cuDate{2016-4-21}+ & \cuDate{2016-4-21} \\
\verb+\cuDateJulian{2016-4-21}+ & \cuDateJulian{2016-4-21} \\
\verb+\cuDate{\cuToday}+ & \cuDate{\cuToday} \\
\hline
\end{tabular}
\end{churchslavonic}
\end{center}
\begin{EN}
\subsection{\cs{cuDate}}
This command formats the date (according to the current format).
The argument is a triplet of numbers \texttt{YYYY-MM-DD} specifying
the date. The output will be something like this: \textchurchslavonic{\cuDate{2016-04-22}}.
Note that \texttt{YYYY-MM-DD} values are not being normalized or interpreted in any way. Thus, it is totally fine to
call \verb+\cuDate{2016-4-32}+ even though April 32 is not a valid date. It will be formatted and printed as April 32. This
makes it possible to use this macro in a phrase like ``the date \verb+\cuDate{2016-4-32}+ is not a valid date in any calendar''.
However, if your date format uses \cs{cuDOW} (day of the week) or \cs{cuYEARAM} (year Anno Mundi), the later quantities are computed by
interpreting the date as a Gregorian calendar date. In this case, if the input date is not a valid date, it will be normalized via extrapolation.
For example, April 32 will be interpreted as May 2 for the purpose of determining values of the day of the week and year Anno Mundi.
If your format uses \cs{cuDOW} or \cs{cuYEARAM}, and you specify a date according to the Julian, not Gregorian, calendar, you must use \cs{cuDateJulian} to
correctly format days of the week and year Anno Mundi.
The best practice is to always use \cs{cuDate} with Gregorian calendar dates and use \cs{cuDateJulian} with Julian calendar dates regardless
of the current date format. This way you can switch the date formatting style without worrying about getting the wrong output.
\subsection{\cs{cuDateJulian}}
Formats the date, just like \cs{cuDate} does, but the argument is interpreted as a date on the Julian calendar (``old style'') instead of the Gregorian calendar.
This makes a difference only if your format is using symbolic names \cs{cuDOW} and/or \cs{cuYEARAM}.
\end{EN}
\begin{RU}
\subsection{\cs{cuDate}}
Команда форматирует дату (в соответствии с текущим форматом). Аргумент должен иметь вид \texttt{YYYY-MM-DD}. Результат
может выглядеть примерно так: \textchurchslavonic{\cuDate{2016-04-22}}.
Отметим, что значение даты никоем образом не интерпретируется и не нормализируется. Поэтому можно вызывать макрокоманду и с
невозможными датами, например 32 апреля --- такая дата будет отформатирована как 32 апреля. Так что команду \cs{cuDate} можно
использовать для набора фраз вроде <<дата \verb+\cuDate{2016-04-32}+ не существует ни в одном календаре>>.
Однако, если вы используете свой формат даты и в этом формате задействованы символические переменные \cs{cuDOW} (день недели)
или \cs{cuYEARAM} (год от сотворения мира), то значения этих переменных будут вычислены исходя из заданной даты --- и дата интерпретируется
как дата по григорианскому календарю (<<новому стилю>>). В этом случае, невозможные даты будут нормализованы методом экстраполяции. Например, 32 апреля
будет интерпретировано как 2 мая для целей определения дня недели и года от сотворения мира.
Если ваш формат использует день недели (\cs{cuDOW}) или год от сотворения мира (\cs{cuYEARAM}), и вы указываете дату по юлианскому календарю (<<старому стилю>>),
вы должны вместо \cs{cuDate} пользоваться макрокомандой \cs{cuDateJulian} для правильной обработки дня недели и года от сотворения мира.
Лучше всего всегда использовать \cs{cuDate} для форматирования дат по григорианскому календарю и всегда использовать \cs{cuDateJulian} для
форматирования дат по юлианскому календарю --- вне зависимости от значения текущего формата. Таким образом вы можете впоследствии изменить
формат даты (например, добавив в него день недели) и результат останется правильным.
\subsection{\cs{cuDateJulian}}
Форматирует дату в соответствии с текущим форматом подобно команде \cs{cuDate}. Отличие заключается в том, что аргумент
интерпретируется как дата по юлианскому, а не григорианскому календарю. Это имеет значение только если текущий формат даты
использует символические имена \cs{cuDOW} (день недели) или \cs{cuYEARAM} (год от сотворения мира).
\end{RU}
\begin{EN}
\subsection{\cs{cuDefineDateFormat}}
This command allows you to define your own date format.
It does not change how \cs{cuDate} formats its output (for that, use \cs{cuUseDateFormat}).
Example:
\end{EN}
\begin{RU}
\subsection{\cs{cuDefineDateFormat}}
Команда определяет формат даты. Она никак не влияет на то, как \cs{cuDate} форматирует свой вывод (для этого используется \cs{cuUseDateFormat}).
Пример:
\end{RU}
\begin{center}
\begin{churchslavonic}
\begin{tabular}{l}
\verb+\cuDefineDateFormat{long}{%+\\
\verb+ \cuDayName{\cuDOW},+\\
\verb+ \cuNum{\cuDAY}\textunderscore +гѡ\verb+~%+\\
\verb+ \cuMonthName{\cuMONTH},~%+\\
\verb+ +лѣ́та ѿ сотворе́нїѧ мі́ра\verb+~%+\\
\verb+ \cuNum{\cuYEARAM}%+\\
\verb+}+\\
\end{tabular}
\end{churchslavonic}
\end{center}
%
\begin{EN}
defines a format with name \texttt{long}. If we use this format to print the same date as before, we will get:
\textchurchslavonic{\cuUseDateFormat{long}\cuDate{2016-04-22}}.
\end{EN}
%
\begin{RU}
определяет новый формат с именем \texttt{long}. Если мы напечатаем дату этим форматом, то получим:
\textchurchslavonic{\cuUseDateFormat{long}\cuDate{2016-04-22}}.
\end{RU}
\begin{EN}
The following symbolic names can be used when formatting the date:
\begin{itemize}
\item \cs{cuYEAR} --- the year part of a date (a number, like \texttt{2016})
\item \cs{cuYEARAM}\footnotemark[1] --- the year Anno Mundi, that is, since the creation of the world accoding to the Byzantine reckoning (aka ``the Byzantine era''; a number, like \texttt{7525})
\item \cs{cuMONTH} --- the month part of a date (a number from 1 to 12, with January set to 1)
\item \cs{cuDAY} --- the day of the month
\item \cs{cuDOW}\footnotemark[1] --- the day of the week (number from 0 to 6, where 0 means ``Sunday'')
\footnotetext[1]{If your format uses this value, make sure that you format the date with the correct macro:
you must use \cs{cuDate} for dates on the Gregorian calendar and
\cs{cuDateJulian} for dates on the Julian calendar.}
\footnotetext[2]{See \url{https://en.wikipedia.org/wiki/Indiction}.}
\item \cs{cuINDICTION} --- the indiction\footnotemark[2] (a number from 1 to 15)
\end{itemize}
\end{EN}
\begin{RU}
При определении формата можно пользоваться следующими символическими именами:
\begin{itemize}
\item \cs{cuYEAR} --- год (число, например \texttt{2016})
\item \cs{cuYEARAM}\footnotemark[1] --- год от сотворения мира по византийскому летоисчеслению (число, например \texttt{7525}).
\item \cs{cuMONTH} --- месяц (число от 1 до 12, где 1 означает <<январь>>)
\item \cs{cuDAY} --- день месяца
\item \cs{cuDOW}\footnotemark[1] --- день недели (число от 0 to 6, где 0 означает <<воскресенье>>)
\item \cs{cuINDICTION} --- индикт\footnotemark[2] (число от 1 до 15)
\footnotetext[1]{Если ваш формат
пользуется этим значением, вы должны форматировать дату правильной макрокомандой: \cs{cuDate}
для дат по григорианскому календарю и \cs{cuDateJulian} для дат по юлианскому календарю.}
\footnotetext[2]{См.~\url{https://ru.wikipedia.org/wiki/\%D0\%98\%D0\%BD\%D0\%B4\%D0\%B8\%D0\%BA\%D1\%82}}
\end{itemize}
\end{RU}
\begin{EN}
\subsection{\cs{cuUseDateFormat}}
This command sets the date format to be used by the subsequent \cs{cuDate} and \cs{cuDateJulian}.
\subsection{\cs{cuMonthName}}
This command expands a numeric argument (month number) into textual representation. It is typically used when defining a date format.
For example, a date format named \texttt{default} is defined as:
\end{EN}
\begin{RU}
\subsection{\cs{cuUseDateFormat}}
Макрокоманда устанавливает имя текущего формата даты. Этот формат будет использоваться при последующих вызовах макрокоманд
\cs{cuDate} и \cs{cuDateJulian}.
\subsection{\cs{cuMonthName}}
Команда раскрывает числовой аргумент в текстовое представление месяца. Команда обычно используется при задании формата
даты. Например, формат с именем \texttt{default} определен так:
\end{RU}
%
\begin{center}
\begin{churchslavonic}
\begin{tabular}{l}
\verb+\cuDefineDateFormat{default}{%+\\
\verb+ \cuNum{\cuDAY}~\cuMonthName{\cuMONTH},%+\\
\verb+ ~+лѣ́та\verb+~\cuNum{\cuYEAR}%+\\
\verb+}%+\\
\end{tabular}
\end{churchslavonic}
\end{center}
\begin{EN}
\subsection{\cs{cuDayName}}
Expands a numeric argument into a textual representation of the day of the week in the nominative case.
\subsection{\cs{cuDayNameAccusative}}
Expands a numeric argument into a textual representation of the day of the week in the accusative case.
\subsection{\cs{cuToday}}
This macro expands to a triplet \texttt{YYYY-MM-DD}. The date is generated according to the Gregorian calendar.
\subsection{\cs{cuTodayJulian}}
This macro expands to a triplet \texttt{YYYY-MM-DD}. The date is generated according to the Julian calendar.
It is a shortcut for \verb+\cuAsJulian{\cuToday}+.
\subsection{\cs{cuAsJulian}}
Converts a date on the Gregorian calendar to a date on the Julian calendar. Input and output use numeric triplet format \texttt{YYYY-MM-DD}.
Useful when the same date needs to be formatted both according to the Gregorian and Julian calendars.
\subsection{\cs{cuAsGregorian}}
Converts a date according to the Julian calendar to a date according to the Gregorian calendar. Input and output use numeric triplet format \texttt{YYYY-MM-DD}.
\end{EN}
\begin{RU}
\subsection{\cs{cuDayName}}
Команда раскрывает числовой аргумент в текстовое представление дня недели в именительном падеже.
\subsection{\cs{cuDayNameAccusative}}
Команда раскрывает числовой аргумент в текстовое представление дня недели в винительном падеже.
\subsection{\cs{cuToday}}
Эта макрокоманда раскрывается в текущую дату в виде триплета \texttt{YYYY-MM-DD}. Дата выводится по григорианскиму календарю (<<новому стилю>>).
\subsection{\cs{cuTodayJulian}}
Эта макрокоманда раскрывается в текущую дату в виде триплета \texttt{YYYY-MM-DD}. Дата выводится по юлианскиму календарю (<<старому стилю>>).
Команда просто раскрывается в: \verb+\cuAsJulian{\cuToday}+.
\subsection{\cs{cuAsJulian}}
Преобразует дату по григорианскому календарю в дату по юлианскому календарю.
Дата задается и выводится как числовой триплет \texttt{YYYY-MM-DD}.
Команда полезна, когда одну и ту же дату надо написать и по григорианскому, и по юлианскому календарю.
\subsection{\cs{cuAsGregorian}}
Преобразует дату по юлианскому календарю в дату по григорианскому календарю. Дата задается и выводится как числовой триплет \texttt{YYYY-MM-DD}.
\end{RU}
\begin{EN}
\section{Kinovar}
Printed and hand-written Church Slavonic texts often use color to highlight sectional
and paragraph structure and to indicate liturgical rubrics, section names, comments,
and marginal notes. The first letter of each paragraph is also often colored red.
\subsection{\cs{cuKinovar}}
Takes a single argument and prints it using red color.
For example, explicitly specifying its argument one gets the expected result:
\end{EN}
\begin{RU}
\section{Киноварь}
Печатные и рукописные книги на церковнославянском языке часто пользуются
красным цветом (<<киноварью>>) для выделения структурных элементов текста.
Обычно богослужебные указания (<<рубрики>>), заголовки, замечания и пометы
на полях печатаются красным цветом. Кроме того, первая буква каждого параграфа тоже
часто выделяется красным цветом.
\subsection{\cs{cuKinovar}}
Команда печатает свой аргумент красным цветом. Например, если мы явно зададим текст аргумента, то получим ожидаемый результат:
\end{RU}
\begin{center}
\begin{churchslavonic}
\begin{tabular}[]{ | l | l | }
\hline
\verb+\cuKinovar{+ли́къ:\verb+}+ гдⷭ҇и поми́лꙋй. & \cuKinovar{ли́къ:} гдⷭ҇и поми́лꙋй. \\
\hline
\end{tabular}
\end{churchslavonic}
\end{center}
\begin{EN}
If one uses the \TeX\ mechanism of implicit argument detection,
then the first character of the text after this command will be printed in red.
However, a non-trivial feature of this command is that it will also ``collect'' all
of the diacritical marks that belong to this first character,
and thus all accents will also be colored in red!
Use this command in the indirect parameter mode to print in red the first letter
of each paragraph.\footnote{You can also experiment
with the \TeX\ command \cs{everypar} to automate this, but the success or failure of this technique critically depends on the
\LaTeX\ class used and packages loaded. We found it very fragile and thus the \pkg{churchslavonic} package does not offer
any automation for this task. It may be easier and more robust to use the Find/Replace functionality embedded in any non-trivial text
editor to just automatically place a \cs{cuKinovar} command before every paragraph of the source text.}
\end{EN}
\begin{RU}
Если же используется механизм \TeX{} неявного задания аргумента, то команда будет применена к первой букве последующего текста.
При этом команда ``соберет'' все необходимые выносные символы, так что все надстрочные знаки первой буквы будут также корректно раскрашены!
Поэтому очень удобно использовать эту команду с неявным заданием аргумента для раскраски первой буквы параграфа.\footnote{Вы также
можете поэкспериментировать со встроенной командой \TeX\ \cs{everypar} с целью полностью автоматизировать раскраску первой буквы
каждого параграфа. Однако успех сильно зависит от того, какой класс системы \LaTeX\ используется и от того, какие пакеты подгружаются.
Мы не нашли надежного способа заставить \cs{everypar} работать, и поэтому пакет \pkg{churchslavonic} не предлагает никаких
макрокоманд для дальнейшей автоматизации этого процесса. На практике, часто проще и надежнее воспользоваться функцией
текстового редактора Найти/Заменить для вставки макрокоманды \cs{cuKinovar} перед каждым параграфом.}
\end{RU}
\begin{center}
\begin{churchslavonic}
\begin{tabular}[]{ | l | l | }
\hline
\verb+\cuKinovar+ Пои́мъ гдⷭ҇ви пѣ́снь но́вꙋю &
\cuKinovar Пои́мъ гдⷭ҇ви пѣ́снь но́вꙋю \\
\verb+\cuKinovar+ Ꙗ҆́кѡ тꙋ́ча на тро́скотъ & \cuKinovar Ꙗ҆́кѡ тꙋ́ча на тро́скотъ \\
\hline
\end{tabular}
\end{churchslavonic}
\end{center}
\begin{EN}
\subsection{\cs{cuKinovarColor}}
Switches the current color to red. One would typically use this command
inside a group that limits the scope of red text, unless
you want all subsequent text to be colored red.
\cuKinovar{Information:} The shade of red used by the \cs{cuKinovar} is declared in the package as a new color called \verb+kinovar+, and is set to (205, 8, 3) in the RGB color space, which has a hexadecimal representation of \verb+#CC0502+.
\end{EN}
\begin{RU}
\subsection{\cs{cuKinovarColor}}
Команда переключает текущий цвет на красный. Должна использоваться
внутри группы, которая ограничит ее действие (если вы не хотите
чтобы весь последующий текст был напечатан красным цветом).
\cuKinovar{Справка:} Оттенок красного цвета, используемый командой \cs{cuKinovar} объявляется в пакете новым цветом с названием \verb+kinovar+, и задан как (205, 8, 3) в RGB-цветовом пространстве, что равно \verb+#CC0502+ в шестнадцатиразрядном представлении.
\end{RU}
\begin{EN}
\section{Miscellaneous}
\subsection{\cs{cuMarginMark}, \cs{cuMarginMarkSkip}, \& \cs{cuMarginMarkText}}
The command \cs{cuMarginMark} is used to place short text in the margin
at the same level as the line where the macro is placed.
Example:
\end{EN}
%
\begin{RU}
\section{Разное}
\subsection{\cs{cuMarginMark}, \cs{cuMarginMarkSkip} и \cs{cuMarginMarkText}}
Команда \cs{cuMarginMark} используется для печати значков на полях,
напротив строки, где вызвана эта команда.
Например:
\end{RU}
%
\begin{center}
\begin{churchslavonic}
\begin{tabular}{l}
\verb+\cuMarginMark{+в҃\verb+}\cuKinovar+ Бл҃гословѝ дꙋшѐ моѧ̀ гдⷭ҇а и҆ не забыва́й\\
всѣ́хъ воздаѧ́нїй є҆гѡ̀. \verb+\cuMarginMark{+а҃\verb+}\cuKinovar+ Ѡ҆чища́ющаго \\
всѧ̑ беззакѡ́нїѧ твоѧ̑, и҆сцѣлѧ́ющаго всѧ̑ недꙋ́ги твоѧ̑: \\
\verb+\cuMarginMark{+в҃\verb+}\cuKinovar+ И҆збавлѧ́ющаго ѿ и҆стлѣ́нїѧ живо́тъ тво́й,\\
вѣнча́ющаго тѧ̀ млⷭ҇тїю и҆ щедро́тами: \verb+\cuMarginMark{+а҃\verb+}\cuKinovar+\\
И҆сполнѧ́ющаго во бл҃ги́хъ жела́нїе твоѐ, ѡ҆бнови́тсѧ ꙗ҆́кѡ ѻ҆́рлѧ \\
ю҆́ность твоѧ̀.
\end{tabular}
\end{churchslavonic}
\end{center}
\begin{EN}
\noindent
Will result in:
\end{EN}
%
\begin{RU}
\noindent
Получим такой результат:
\end{RU}
\begin{center}
\begin{churchslavonic}
\let\hMn=\cuMarginMark
\let\hKv=\cuKinovar
\parbox{0.75\textwidth}{%
\textwidth=0.75\textwidth
\hMn{в҃}\hKv Бл҃гословѝ дꙋшѐ моѧ̀ гдⷭ҇а и҆ не забыва́й всѣ́хъ воздаѧ́нїй є҆гѡ̀.
\hMn{а҃}\hKv Ѡ҆чища́ющаго всѧ̑ беззакѡ́нїѧ твоѧ̑, и҆сцѣлѧ́ющаго всѧ̑ недꙋ́ги твоѧ̑:
\hMn{в҃}\hKv И҆збавлѧ́ющаго ѿ и҆стлѣ́нїѧ живо́тъ тво́й, вѣнча́ющаго тѧ̀ млⷭ҇тїю и҆ щедро́тами:
\hMn{а҃}\hKv И҆сполнѧ́ющаго во бл҃ги́хъ жела́нїе твоѐ, ѡ҆бнови́тсѧ ꙗ҆́кѡ ѻ҆́рлѧ ю҆́ность твоѧ̀.
}
\end{churchslavonic}
\end{center}
\begin{EN}
The marginal mark is placed on the right margin for odd pages
and on the left margin for even pages (e.g.~the mark is placed on the
``outer'' margin, not the spine margin), which is usualy the desired behavior.
The distance between the mark and the text is controlled by the value
of \cs{cuMarginMarkSkip}. The default is:
\end{EN}
%
\begin{RU}
Помета помещается на <<внешнее>> поле, то есть справа от текста для нечетных страниц и слева от текста для четных.
Расстояние между пометой и текстом задается через значение \cs{cuMarginMarkSkip}. По умолчанию это:
\end{RU}
%
\begin{verbatim}
\def\cuMarginMarkSkip{0.6em}
\end{verbatim}
\begin{EN}
To globally customize the font and color of the margin mark use \cs{cuMarginMarkText}.
For example, to make margin marks appear in red color, redefine \cs{cuMarginMarkText} in the preamble of your
document like this:
\end{EN}
%
\begin{RU}
Шрифт и цвет пометы можно изменить, переопределив команду \cs{cuMarginMarkText}.
Например, если Вы хотите чтобы все пометы печатались красным цветом, то достаточно поместить
в преамбулу вашего документа следующее определение:
\end{RU}
\begin{verbatim}
\def\cuMarginMarkText#1{\cuKinovar{#1}}
\end{verbatim}
\begin{EN}
If you need to change the font/size/color just for a single mark, you can do it directly with \cs{cuMarginMark}:
\end{EN}
\begin{RU}
Если надо поменять размер, цвет, или шрифт для какой-то одной пометы, то проще всего это сделать при
вызове \cs{cuMarginMark}:
\end{RU}
\begin{verbatim}
\cuMarginMark{{\tiny *}}
\end{verbatim}
\begin{EN}
\subsection{Superscripts}
The \cs{cuSup} macro can be used to place arbitrary superscript text above the
baseline text, a feature that can be useful in editing Slavonic manuscripts.
The macro takes two parameters: the first parameter is the superscripted text,
the second parameter is the baseline text. For example:
\end{EN}
\begin{RU}
\subsection{Надстрочный текст}
Макрокоманда \cs{cuSup} может быть использована для размещения произвольного
надстрочного текста над текстом в строке, что бывает необходимо при издании текстов
из славянских рукописей. Макрокоманда принимает два параметра: первый параметр --
надстрочный текст, второй параметр -- текст в строке. Например:
\end{RU}
\begin{verbatim}
мол\cuSup{ва}{и́т}
\end{verbatim}
\begin{churchslavonic}
мол\cuSup{ва}{и́т}
\end{churchslavonic}
\begin{EN}
The macro accepts an optional parameter \verb+raise+, which controls the vertical
space between the base characters and the superscript. The formatting of the
base and superscript texts can also be controlled directly:
\end{EN}
\begin{RU}
Макрокоманда принимает необязательный параметр \verb+raise+, который управляет
вертикальным пространством между текстом в строке и надстрочным текстом.
Форматирование строчного и надстрочного текстов также можно контролировать напрямую:
\end{RU}
\begin{verbatim}
по\cuSup[raise=0.75ex]{\kern2em \cuKinovar{лага́етъ}}{\cuKinovar{ложѝ}} на́мъ
\end{verbatim}
\begin{churchslavonic}
по\cuSup[raise=0.75ex]{\kern2em \cuKinovar{лага́етъ}}{\cuKinovar{ложѝ}} на́мъ
\end{churchslavonic}
\begin{EN}
\subsection{Dropcaps}
The mechanism that the \cs{cuKinovar} macro is using to collect all accents
(when the argument is specified implicitly) can be useful for
many other purposes. One example is to typeset a dropletter at the beginning of a chapter
(this is often used in Church Slavonic texts). For this purpose, the standard \LaTeX\ package
\pkg{lettrine} works just fine. The only nuisance is that one has to be careful to
pass to \cs{lettrine} not just the first letter, but also any diacritical marks that
attach to this letter. Naturally, we want to reuse the
clever mechanism that \cs{cuKinovar} uses, and automatically collect the diacritical marks!
Here is an example of how to accomplish this:
\end{EN}
\begin{RU}
\subsection{Буквицы}
Механизм, используемый командой \cs{cuKinovar} для сбора выносных символов (при неявном задании аргумента), может оказаться полезен
в некоторых других случаях. Один из примеров --- это ``буквицы'' в начале разделов. Для набора буквицы отлично работает стандартный
пакет \pkg{lettrine}. Единственное неудобство --- это необходимость задавать явно первую букву вместе со всеми ее выносными символами.
Естественно желание упростить и автоматизировать эту работу задействовав тот же механизм, что и в \cs{cuKinovar}.
Вот как можно добиться этого:
\end{RU}
\begin{center}
\begin{churchslavonic}
\begin{tabular}{l}
\verb+\def\cu@lettrine{\lettrine[lines=3,findent=0pt,nindent=0pt]}+\\
\verb+\def\cuLettrine{\cu@tokenizeletter\cu@lettrine}+\\
\verb+\renewcommand{\LettrineFontHook}{\cuKinovarColor}+\\
\end{tabular}
\end{churchslavonic}
\end{center}
%
\begin{EN}
Once this definition of \verb+\cuLettrine+ is created (somewhere in the preamble, between the declarations \cs{makeatletter} and \cs{makeatother}),
you can create drop capitals like this:
\end{EN}
%
\begin{RU}
Поместите это определение команды \verb+\cuLettrine+ в преамбулу вашего документа (и не забудьте окружить его командами \cs{makeatletter} и \cs{makeatother}).
После этого можно набирать буквицы так:
\end{RU}
%
\begin{center}
\begin{churchslavonic}
\begin{tabular}{l}
\verb+\cuLettrine+ И҆́же дх҃а си́ла въ не́мощи соверша́етсѧ\ldots\\
\end{tabular}
\end{churchslavonic}
\end{center}
\begin{center}
\begin{churchslavonic}
\parbox{0.75\textwidth}{%
\textwidth=0.75\textwidth
\cuLettrine
И҆́же дх҃а си́ла въ не́мощи соверша́етсѧ, ꙗ҆́коже пи́сано є҆́сть, и҆ вѣ́рꙋемъ: въ не́мощи же не тѣлесѐ то́чїю, но ᲂу҆́бѡ и҆ сло́ва,
и҆ премꙋ́дрости на ѧ҆зы́цѣ лежа́ща. И҆ сѐ ꙗ҆́вѣ ѿ мно́гихъ ᲂу҆́бѡ и҆ны́хъ, па́че же ѿ и҆́же ѡ҆ вели́комъ бг҃осло́вѣ, и҆ бра́тѣ хрⷭ҇то́вѣ,
благода́тїю зри́мѣмъ.
}%
\end{churchslavonic}
\end{center}
\begin{EN}
\section{Znamenny Notation}
\subsection{Typesetting Znamenny Notation}
The package offers two commands for typesetting liturgical music in Znamenny Notation and other neumatic notation systems. To use these macro commands, you will need to declare the font that will be used to typeset the musical notation symbols and set the \cs{cuKrukFont} parameter, which is usually done in the preamble of the document. Example:
\end{EN}
%
\begin{RU}
\section{Знаменная нотация}
\subsection{Набор Знаменной нотации}
Пакет предлагает две макрокоманды для набора литургических песнопений в знаменной или других невменных музыкальных нотациях. Для начала следует декларировать шрифт, которым будут набираться символы нотации, и установить параметр \cs{cuKrukFont}; это обычно делается в преамбуле документа. Например:
\end{RU}
\label{znamenny}
\begin{verbatim}
\newfontfamily\musicFont[Scale=1.5]{Mezenets Unicode}
\let\cuKrukFont=\musicFont
\end{verbatim}
\begin{EN}
The command \cs{cuKruk} is used to typeset a syllable of text with a musical neume above it. It takes the neume as its first argument and the text as its second argument. This can be used to typeset Znamenny notation inline with text or to typeset relatively short passages, for example, the code:
\verb+Here is a Podchashie: \textchurchslavonic{\cuKruk{𜽰𜼅}{Тво}}+
will produce:
Here is a Podchashie: \textchurchslavonic{\cuKruk{𜽰𜼅}{Тво}}
The \cs{cuKrukPara} command is used to typeset longer, independent passages of music in Znamenny Notation. The command takes as an argument a line of neumes, followed by \verb+\\+, followed by a line of lyrics. Groups of neumes are separated by spaces and syllables are separated by the hyphen (\verb+-+) character. Here we use the command to typeset a piece in Znamenny Notation:
\end{EN}
%
\begin{RU}
Команда \cs{cuKruk} используется для набора одного слога с размещением над ним символов невменной нотации. Команда принимает два аргумента: в первом аргументе указываются невмы, во втором аргументе -- текст. Этот подход может быть использован для набора текста и знаменной нотации в строке или для набора достаточно кратких музыкальных отрывков. Например, набор команд:
Вот подчашие: \verb+\textchurchslavonic{\cuKruk{𜽰𜼅}{Тво}}+
\noindent дает такой результат:
Вот подчашие: \textchurchslavonic{\cuKruk{𜽰𜼅}{Тво}}
Команда \cs{cuKrukPara} используется для набора более длинных песнопений, нотированных Знаменной нотацией. В качестве аргумента команда принимает строку невм, затем разрыв \verb+\\+ и, затем, строку текста. Группы невм разделяются пробелами, а слоги разделяются символом дефиса (\verb+-+). Приведем пример того, как набрать песнопение в Знаменной нотации:
\end{RU}
\medskip
\begin{verbatim}
\cuKrukPara{𜽟 𜾆𜼱𜼇 𜽗𜼆 𜽐𜼱𜼢 𜽖𜼅 𜽜𜼄𜼦 𜾖𜼆𜼤 𜽝𜼅𜼤𜽘 𜾆𜼱𜼈 𜽞 𜾬𜼈𜼤 𜽖𜼅
𜾒𜼰𜼺𜼆𜼣 𜾖𜼆𜼤 𜾋𜼅 𜾆𜼄 𜽝𜼄 𜽐𜼅 𜽗𜼄 𜽞 𜽐𜼰𜼅 𜽖𜼢 𜽗𜼢 𜾆𜾅𜼇 𜽝𜼄𜼤𜽘 𜾆𜼱𜼇
𜾒𜼱𜼈𜼤 𜽗𜼇 𜽐𜼱𜼢 𜽖𜼆 𜽗𜼅 𜽞 𜾒𜼰𜼺𜼆 𜽝𜼄 𜽜𜼅 𜾆𜼄 𜽗𜼅 𜽞 𜽐𜼱𜼇 𜽜𜼆 𜾆𜼅 𜽞
𜽐𜼱𜼈 𜽗𜼇 𜽞 𜽐𜼱𜼇 𜽖𜼆 𜽗𜼅 𜽐𜼱𜼆 𜽖𜼅 𜽜𜼄𜼶 𜾖𜼆𜼤 𜾋𜼅 𜾁 \\
Хри-сто́съ ра-жда́-ет-сѧ, сла́-ви-те: Хри-сто́съ съ нб҃съ, срѧ́-щи-те:
Хри-сто́съ на зе-млѝ, воз-но-си́-те-сѧ. по́й-те Го́-спо-де-ви всѧ̀-~ зе-млѧ̀,
и҆ ве-се́-лї-емъ вос-по--йте лю́-дї-е, ꙗ҆́-кѡ про-сла́-ви-сѧ.}
\end{verbatim}
\medskip
\begin{churchslavonic}
\noindent
\cuKrukPara{
𜽟 𜾆𜼱𜼇 𜽗𜼆 𜽐𜼱𜼢 𜽖𜼅 𜽜𜼄𜼦 𜾖𜼆𜼤 𜽝𜼅𜼤𜽘 𜾆𜼱𜼈 𜽞 𜾬𜼈𜼤 𜽖𜼅 𜾒𜼰𜼺𜼆𜼣 𜾖𜼆𜼤 𜾋𜼅 𜾆𜼄 𜽝𜼄 𜽐𜼅 𜽗𜼄 𜽞 𜽐𜼰𜼅 𜽖𜼢 𜽗𜼢 𜾆𜾅𜼇 𜽝𜼄𜼤𜽘 𜾆𜼱𜼇 𜾒𜼱𜼈𜼤 𜽗𜼇 𜽐𜼱𜼢 𜽖𜼆 𜽗𜼅 𜽞 𜾒𜼰𜼺𜼆 𜽝𜼄 𜽜𜼅 𜾆𜼄 𜽗𜼅 𜽞 𜽐𜼱𜼇 𜽜𜼆 𜾆𜼅 𜽞 𜽐𜼱𜼈 𜽗𜼇 𜽞 𜽐𜼱𜼇 𜽖𜼆 𜽗𜼅 𜽐𜼱𜼆 𜽖𜼅 𜽜𜼄𜼶 𜾖𜼆𜼤 𜾋𜼅 𜾁
\\
Хри-сто́съ ра-жда́-ет-сѧ, сла́-ви-те: Хри-сто́съ съ нб҃съ, срѧ́-щи-те: Хри-сто́съ на зе-млѝ, воз-но-си́-те-сѧ. по́й-те Го́-спо-де-ви всѧ̀-~ зе-млѧ̀, и҆ ве-се́-лї-емъ вос-по́--йте лю́-дї-е, ꙗ҆́-кѡ про-сла́-ви-сѧ.
}
\end{churchslavonic}
\medskip
\begin{EN}
\cuKinovar{Note 1}: the number of neume groups needs to equal the number of syllables, otherwise the \cs{cuKrukPara} command will return a compile-time error, such as: \verb+! Too many kruk groups.+
\cuKinovar{Note 2}: In both the \cs{cuKruk} and \cs{cuKrukPara} commands, the \verb+~+ character can be used when a neume appears without any syllable below it. The command will draw an underline under the relevant neume. Leaving a syllable empty will produce the same result. An empty neume block or the \verb+~+ character can also be used to produce a syllable with no neume above it (in this case, the neume block is left blank). To produce a neume with empty space (and no underline) below it, use any other command that is rendered as a space (for example, \cs{thinspace}). The following examples demonstrate the functionality:
\end{EN}
%
\begin{RU}
\cuKinovar{Примечание 1}: количество групп невм должно равняться количеству слогов, в противном случае при компиляции макрокоманда выдаст ошибку, например: \verb+! Too many kruk groups.+
\cuKinovar{Примечание 2}: Как в макрокоманде \cs{cuKruk}, так и в макрокоманде \cs{cuKrukPara}, символ \verb+~+ может быть использован, если какая-то невма стоит самостоятельно, а не над слогом текста. В этом случае под невмой будет нарисована горизонтальная черта. Горизонтальная черта также будет нарисована, если указан пустой слог. Если символ \verb+~+ введен в блок для невмы (или блок для невмы оставлен пустым), команды производят слог без невмы над ним (в этом случае, место для невмы остается пустым). Чтобы расположить невму над пустым текстовым блоком (без горизонтальной черты), можно ввести любую другую макрокоманду, раскрывающуюся в пробел (например, \cs{thinspace}). Следующие примеры иллюстрируют эти возможности:
\end{RU}
\begin{tabular}{ll}
\verb+\cuKruk{𜽐}{}+ & \cuKruk{𜽐}{} \\
\verb+\cuKruk{𜽐}{~}+ & \cuKruk{𜽐}{~} \\
\verb+\cuKruk{𜽐}{\thinspace}+ & \cuKruk{𜽐}{\thinspace} \\
\verb+\cuKruk{~}{text}+ & \cuKruk{~}{text} \\
\end{tabular}
\begin{EN}
\cuKinovar{Note 3}: fonts for Znamenny Notation usually provide color information for certain glyphs (such as the cinnabar marks) via data in the COLR and CPAL tables. However, COLR / CPAL technology is presently not supported in \XeTeX{} or \LuaTeX{}. When the \pkg{churchslavonic} package is loaded with the \texttt{autocolormarks} option, the \cs{cuKruk} and \cs{cuKrukPara} commands will automatically typeset the cinnabar marks in red by internally invoking the \cs{cuKinovar} macro. Additionally, if the \pkg{churchslavonic} package is loaded with the \texttt{gray} or \texttt{bw} options, the cinnabar marks will be typeset in grayscale or black, respectively.
\cuKinovar{Limitations}: When a document is processed using \XeTeX{}, attempting to render marks in color breaks normal OpenType glyph positioning rules. Loading the \pkg{churchslavonic} package with the \texttt{autocolormarks} option when \XeTeX{} is used will produce a warning. Presently, you can only render marks in red and maintain correct positioning when using \LuaTeX{}. When a document is processed using \LuaTeX{}, the \pkg{churchslavonic} package by default loads with the \texttt{autocolormarks} option. If automatic coloring is not desired, it can be turned off in this case by loading the \pkg{churchslavonic} package with the \texttt{noautocolormarks} option.
The \cs{cuKruk} commands may be nested, which can be used to produce `explanatory marks' (\textrussian{<<подобные пометы>>}):
\end{EN}
%
\begin{RU}
\cuKinovar{Примечание 3}: шрифты для Знаменной нотации обычно предоставляют информацию о цветах некоторых глифов (например, киноварных помет) в таблицах COLR и CPAL. Однако технология COLR и CPAL на данный момент не поддерживается в \XeTeX{} и \LuaTeX{}. Если пакет \pkg{churchslavonic} загружен с опцией \texttt{autocolormarks}, команды \cs{cuKruk} и \cs{cuKrukPara} автоматически раскрашивают киноварные пометы, внутренне вызывая для этого команду \cs{cuKinovar}. К тому же, если пакет \pkg{churchslavonic} также загружен с опциями \texttt{gray} или \texttt{bw}, киноварные пометы будут набраны в оттенках серого или черным цветом, соответственно.
\cuKinovar{Ограничения}: автоматическая раскраска киноварных помет в \XeTeX{} нарушает работу правил позиционирования глифов в таблицах OpenType. Попытка загрузить пакет \pkg{churchslavonic} с опцией \texttt{autocolormarks} когда используется \XeTeX{} выдаст предупреждение. Правильного позиционирования раскрашенных помет можно достичь в \LuaTeX{}. Когда для верстки документа используется \LuaTeX{}, пакет \pkg{churchslavonic} загружается с опцией \texttt{autocolormarks} по умолчанию. В этом случае автоматическое раскрашивание помет можно отключить, загрузив пакет \pkg{churchslavonic} с опцией \texttt{noautocolormarks}.
Макрокоманды \cs{cuKruk} могут вкладываться друг в друга, что позволяет набирать текст с <<подобными пометами>>:
\end{RU}
\begin{tabular}{lc}
\verb+\cuKruk{\cuKruk{\cuKinovar{\tiny 𜽗}}} + & \textchurchslavonic{\cuKruk{\cuKruk[krukRaise=0.5em]{\cuKinovar{\tiny 𜽗 }}{\Large 𜽮}}{ла}} \\
\verb+{\Large 𜽮}}{ла}+ & \\
\end{tabular}
\medskip
\begin{EN}
\subsection{Controlling the Appearance of Znamenny Notation}
A number of parameters may be used to control the positioning and appearance of Znamenny neumes:
\begin{center}
\begin{tabular}{lp{3.5in}}
\hline
\verb+krukFont+ & Specifies the font that is used to typeset the neumes \\
\verb+sylSpace+ & Specifies the amount of spacing around a syllable (default is \verb+0.2em+) \\
\verb+topMargin+ & Specifies the amount of space (margin) above the neumes (default is \verb+0.3em+) \\
\verb+krukRaise+ & Specifies the amount of space between the neumes and lyrics (default is \verb+1em+) \\
\verb+sylRuleHeight+ & Specifies the thickness of the rule used when no syllable appears below a neume (default is \verb+0.08em+) \\
\hline
\end{tabular}
\end{center}
\noindent The parameters are passed as options to the \cs{cuKruk} and \cs{cuKrukPara} commands, separated by commas. For example, we can modify the spacing of neumes in the above example:
\end{EN}
%
\begin{RU}
\subsection{Управление внешним видом знаменных текстов}
Значение некоторых параметров может быть изменено, чтобы повлиять на позиционирование и внешний вид текстов со Знаменной нотацией:
\begin{center}
\begin{tabular}{lp{3.5in}}
\hline
\verb+krukFont+ & Указывает шрифт, используемый для отображения невм \\
\verb+sylSpace+ & Контролирует количество пустого пространства вокруг слога (по умолчанию: \verb+0.2em+) \\
\verb+topMargin+ & Контролирует количество пустого пространства (поле) над невмами (по умолчанию: \verb+0.3em+) \\
\verb+krukRaise+ & Контролирует длину разрыва между текстом и невмами (по умолчанию: \verb+1em+) \\
\verb+sylRuleHeight+ & Указывает толщину горизонтальной черты, используемой, когда под невмой нет слога (по умолчанию: \verb+0.08em+) \\
\hline
\end{tabular}
\end{center}
\noindent Эти параметры могут быть заданы как опции к макрокомандам \cs{cuKruk} и \cs{cuKrukPara}, разделенные запятыми. К примеру, повлияем на разрывы и поля в приведенном выше примере:
\end{RU}
\begin{verbatim}
\cuKrukPara[krukRaise=1.5em,topMargin=0.6em,sylRuleHeight=0.02em]{𜽟 𜾆𜼱𜼇 ... \\
Хри-сто́съ ... }
\end{verbatim}
\medskip
\begin{churchslavonic}
\noindent
\cuKrukPara[krukRaise=1.5em,topMargin=0.6em,sylRuleHeight=0.02em]{
𜽟 𜾆𜼱𜼇 𜽗𜼆 𜽐𜼱𜼢 𜽖𜼅 𜽜𜼄𜼦 𜾖𜼆𜼤 𜽝𜼅𜼤𜽘 𜾆𜼱𜼈 𜽞 𜾬𜼈𜼤 𜽖𜼅 𜾒𜼰𜼺𜼆𜼣 𜾖𜼆𜼤 𜾋𜼅 𜾆𜼄 𜽝𜼄 𜽐𜼅 𜽗𜼄 𜽞 𜽐𜼰𜼅 𜽖𜼢 𜽗𜼢 𜾆𜾅𜼇 𜽝𜼄𜼤𜽘 𜾆𜼱𜼇 𜾒𜼱𜼈𜼤 𜽗𜼇 𜽐𜼱𜼢 𜽖𜼆 𜽗𜼅 𜽞 𜾒𜼰𜼺𜼆 𜽝𜼄 𜽜𜼅 𜾆𜼄 𜽗𜼅 𜽞 𜽐𜼱𜼇 𜽜𜼆 𜾆𜼅 𜽞 𜽐𜼱𜼈 𜽗𜼇 𜽞 𜽐𜼱𜼇 𜽖𜼆 𜽗𜼅 𜽐𜼱𜼆 𜽖𜼅 𜽜𜼄𜼶 𜾖𜼆𜼤 𜾋𜼅 𜾁
\\
Хри-сто́съ ра-жда́-ет-сѧ, сла́-ви-те: Хри-сто́съ съ нб҃съ, срѧ́-щи-те: Хри-сто́съ на зе-млѝ, воз-но-си́-те-сѧ. по́й-те Го́-спо-де-ви всѧ̀-~ зе-млѧ̀, и҆ ве-се́-лї-емъ вос-по́--йте лю́-дї-е, ꙗ҆́-кѡ про-сла́-ви-сѧ.
}
\end{churchslavonic}
\begin{thebibliography}{9}
\bibitem{UN41}
Aleksandr Andreev, Yuri Shardt, and Nikita Simmons.
\emph{Church Slavonic Typography in Unicode},
Uncode Technical Note~41. 2015.
\url{http://www.unicode.org/notes/tn41/}
\end{thebibliography}
\end{document}