summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/babel-latin
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-06-28 20:35:47 +0000
committerKarl Berry <karl@freefriends.org>2021-06-28 20:35:47 +0000
commit2ed3ed36e3f3c4b550390d0e26e641a19ac46c3a (patch)
tree5aaeaff7ff4b3935fe5e0ea27f4c3ace833759a1 /Master/texmf-dist/tex/generic/babel-latin
parentacec65f91662d3a566827dc250ad2f9235d81f06 (diff)
babel-latin (28jun21)
git-svn-id: svn://tug.org/texlive/trunk@59736 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel-latin')
-rw-r--r--Master/texmf-dist/tex/generic/babel-latin/classiclatin.ldf35
-rw-r--r--Master/texmf-dist/tex/generic/babel-latin/ecclesiasticlatin.ldf35
-rw-r--r--Master/texmf-dist/tex/generic/babel-latin/latin.ldf955
-rw-r--r--Master/texmf-dist/tex/generic/babel-latin/medievallatin.ldf35
4 files changed, 866 insertions, 194 deletions
diff --git a/Master/texmf-dist/tex/generic/babel-latin/classiclatin.ldf b/Master/texmf-dist/tex/generic/babel-latin/classiclatin.ldf
new file mode 100644
index 00000000000..b1d7b8ea7df
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel-latin/classiclatin.ldf
@@ -0,0 +1,35 @@
+%%
+%% This is file `classiclatin.ldf',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% latin.dtx (with options: `classic')
+%%
+%% Copyright (C) 1989-2008 by Johannes L. Braams
+%% Copyright (C) 2009-2020 by Claudio Beccari
+%% Copyright (C) 2021 by Keno Wehr
+%% All rights reserved.
+%%
+%% This file is part of the babel-latin package.
+%% ----------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is Keno Wehr.
+%%
+%% Please report errors to: https://github.com/wehro/babel-latin/issues
+%%
+\ProvidesLanguage{classiclatin}
+\input latin.ldf\relax
+\endinput
+%%
+%% End of file `classiclatin.ldf'.
diff --git a/Master/texmf-dist/tex/generic/babel-latin/ecclesiasticlatin.ldf b/Master/texmf-dist/tex/generic/babel-latin/ecclesiasticlatin.ldf
new file mode 100644
index 00000000000..fa80aa9de06
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel-latin/ecclesiasticlatin.ldf
@@ -0,0 +1,35 @@
+%%
+%% This is file `ecclesiasticlatin.ldf',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% latin.dtx (with options: `ecclesiastic')
+%%
+%% Copyright (C) 1989-2008 by Johannes L. Braams
+%% Copyright (C) 2009-2020 by Claudio Beccari
+%% Copyright (C) 2021 by Keno Wehr
+%% All rights reserved.
+%%
+%% This file is part of the babel-latin package.
+%% ----------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is Keno Wehr.
+%%
+%% Please report errors to: https://github.com/wehro/babel-latin/issues
+%%
+\ProvidesLanguage{ecclesiasticlatin}
+\input latin.ldf\relax
+\endinput
+%%
+%% End of file `ecclesiasticlatin.ldf'.
diff --git a/Master/texmf-dist/tex/generic/babel-latin/latin.ldf b/Master/texmf-dist/tex/generic/babel-latin/latin.ldf
index 49d2a77ea86..aa1d947006f 100644
--- a/Master/texmf-dist/tex/generic/babel-latin/latin.ldf
+++ b/Master/texmf-dist/tex/generic/babel-latin/latin.ldf
@@ -4,215 +4,782 @@
%%
%% The original source files were:
%%
-%% latin.dtx (with options: `code')
+%% latin.dtx (with options: `latin')
%%
-%% This is a generated file.
+%% Copyright (C) 1989-2008 by Johannes L. Braams
+%% Copyright (C) 2009-2020 by Claudio Beccari
+%% Copyright (C) 2021 by Keno Wehr
+%% All rights reserved.
%%
-%% Copyright 1989-2000 Johannes L. Braams and any individual authors
-%% listed elsewhere in this file. All rights reserved.
+%% This file is part of the babel-latin package.
+%% ----------------------------------------------
%%
-%% This file is part of the Babel system release 3.7.
-%% --------------------------------------------------
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
%%
-%% It may be distributed under the terms of the LaTeX Project Public
-%% License, as described in lppl.txt in the base LaTeX distribution.
-%% Either version 1.1 or, at your option, any later version.
-\ProvidesLanguage{latin}
- [2015/08/20 v.3.5 Latin support from the babel system]
-%% File `babel-latin.dtx'
-%% Babel package for LaTeX2e
-%% Copyright (C) 1989 - 2008 by Johannes Braams, TeXniek
-%% Copyright (C) 2009 - 2015 by Claudio Beccari
-%% Please report errors to: Claudio Beccari
-%% claudio.beccari at gmail.com
-\LdfInit{latin}{captionslatin}
-\ifx\undefined\l@latin
- \@nopatterns{Latin}
- \adddialect\l@latin0\fi
-\bbl@declare@ttribute{latin}{medieval}{%
- \addto\captionslatin{\def\prefacename{Pr{\ae}fatio}}%
- \expandafter\addto\expandafter\extraslatin
- \expandafter{\extrasmedievallatin}%
- }
-\bbl@declare@ttribute{latin}{withprosodicmarks}{%
- \expandafter\addto\expandafter\extraslatin
- \expandafter{\extraswithprosodicmarks}%
- }
-\bbl@declare@ttribute{latin}{classic}{%
- \expandafter\addto\expandafter\extraslatin
- \expandafter{\extrasclassic}%
- }
-\ifx\l@classiclatin\undefined
- \let\l@classiclatin\l@latin
- \PackageWarningNoLine{babel}{%
- Attention: hyphenation patterns for language\MessageBreak
- classiclatin have not been loaded.\MessageBreak
- I go on using the modern Latin hyphenation patterns.\MessageBreak
- Please, load the suitable patterns or upgrade your TeX distribution}
-\fi
-\addto\extrasclassic{\let\l@latin\l@classiclatin}
-\@namedef{captionslatin}{%
- \def\prefacename{Praefatio}%
- \def\refname{Conspectus librorum}%
- \def\abstractname{Summarium}%
- \def\bibname{Conspectus librorum}%
- \def\chaptername{Caput}%
- \def\appendixname{Additamentum}%
- \def\contentsname{Index}%
- \def\listfigurename{Conspectus descriptionum}%
- \def\listtablename{Conspectus tabularum}%
- \def\indexname{Index rerum notabilium}%
- \def\figurename{Descriptio}%
- \def\tablename{Tabula}%
- \def\partname{Pars}%
- \def\enclname{Adduntur}% Or " Additur" ? Or simply Add.?
- \def\ccname{Exemplar}% Use the recipient's dative
- \def\headtoname{\ignorespaces}% Use the recipient's dative
- \def\pagename{Charta}%
- \def\seename{cfr.}%
- \def\alsoname{cfr.}% Tabacco never saw "cfr" + `atque' or similar forms
- \def\proofname{Demonstratio}%
- \def\glossaryname{Glossarium}%
- }
-\addto\extraslatin{\def\november{Novembris}}
-\addto\extrasmedievallatin{\def\november{Nouembris}}
-\addto\extrasclassiclatin{\def\november{Nouembris}}
-\def\datelatin{%
- \def\today{%
- {\check@mathfonts\fontsize\sf@size\z@\math@fontsfalse\selectfont
- \uppercase\expandafter{\romannumeral\day}}~\ifcase\month\or
- Ianuarii\or Februarii\or Martii\or Aprilis\or Maii\or Iunii\or
- Iulii\or Augusti\or Septembris\or Octobris\or \november\or
- Decembris\fi
- \space{\uppercase\expandafter{\romannumeral\year}}}}
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is Keno Wehr.
+%%
+%% Please report errors to: https://github.com/wehro/babel-latin/issues
+%%
+\ProvidesLanguage{latin}[2021-06-27 v4.0 Latin support from the babel system]
+\LdfInit\CurrentOption{captions\CurrentOption}
+\def\babellatin@classic{classiclatin}
+\def\babellatin@medieval{medievallatin}
+\def\babellatin@ecclesiastic{ecclesiasticlatin}
\providehyphenmins{\CurrentOption}{\tw@\tw@}
-\addto\extraslatin{%
- \babel@savevariable\clubpenalty
- \babel@savevariable\@clubpenalty
- \babel@savevariable\widowpenalty
- \clubpenalty3000\@clubpenalty3000\widowpenalty3000}
-\addto\extraslatin{%
- \babel@savevariable\finalhyphendemerits
- \finalhyphendemerits50000000}
-\addto\extrasmedievallatin{%
-\babel@savevariable{\lccode`\V}%
-\babel@savevariable{\uccode`\u}%
-\lccode`\V=`\u \uccode`\u=`\V}
-\addto\extrasclassiclatin{%
-\babel@savevariable{\lccode`\V}%
-\babel@savevariable{\uccode`\u}%
-\lccode`\V=`\u \uccode`\u=`\V}
-\addto\extrasmedievallatin{%
- \babel@savevariable{\lccode`\^^e6}% T1 \ae
- \babel@savevariable{\uccode`\^^e6}% T1 \ae
- \babel@savevariable{\lccode`\^^c6}% T1 \AE
- \babel@savevariable{\lccode`\^^f7}% T1 \oe
- \babel@savevariable{\uccode`\^^f7}% T1 \OE
- \babel@savevariable{\lccode`\^^d7}% T1 \OE
- \babel@savevariable{\lccode`\^^1a}% OT1 \ae
- \babel@savevariable{\uccode`\^^1a}% OT1 \ae
- \babel@savevariable{\lccode`\^^1d}% OT1 \AE
- \babel@savevariable{\lccode`\^^1b}% OT1 \oe
- \babel@savevariable{\uccode`\^^1b}% OT1 \OE
- \babel@savevariable{\lccode`\^^1e}% OT1 \OE
- \SetLatinLigatures}
-
-\providecommand\SetLatinLigatures{%
- \def\@tempA{T1}\ifx\@tempA\f@encoding
- \catcode`\^^e6=11 \lccode`\^^e6=`\^^e6 \uccode`\^^e6=`\^^c6 % \ae
- \catcode`\^^c6=11 \lccode`\^^c6=`\^^e6 % \AE
- \catcode`\^^f7=11 \lccode`\^^f7=`\^^f7 \uccode`\^^f7=`\^^d7 % \oe
- \catcode`\^^d7=11 \lccode`\^^d7=`\^^f7 % \OE
+\def\babellatin@test@modern@patterns{%
+ \ifx\l@latin\undefined
+ \@nopatterns{latin}%
+ \adddialect\l@latin0
+ \fi}%
+\def\babellatin@test@classic@patterns{%
+ \ifx\l@classiclatin\undefined
+ \PackageWarningNoLine{babel-latin}{%
+ No hyphenation patterns were found for the\MessageBreak
+ classiclatin language. Now I will use the\MessageBreak
+ patterns for modern Latin instead}%
+ \babellatin@test@modern@patterns
+ \adddialect\l@classiclatin\l@latin
+ \fi}%
+\ifx\CurrentOption\babellatin@classic
+ \babellatin@test@classic@patterns
+\else
+ \ifx\CurrentOption\babellatin@ecclesiastic
+ \babellatin@test@modern@patterns
+ \adddialect\l@ecclesiasticlatin\l@latin
\else
- \catcode`\^^1a=11 \lccode`\^^1a=`\^^1a \uccode`\^^1a=`\^^1d % \ae
- \catcode`\^^1d=11 \lccode`\^^1d=`\^^1a % \AE
- \catcode`\^^1b=11 \lccode`\^^1b=`\^^1b \uccode`\^^1b=`\^^1e % \oe
- \catcode`\^^1e=11 \lccode`\^^1e=`\^^1b % \OE
+ \ifx\CurrentOption\babellatin@medieval
+ \babellatin@test@modern@patterns
+ \adddialect\l@medievallatin\l@latin
+ \else
+ \babellatin@test@modern@patterns
+ \fi
\fi
- \let\@tempA\@undefined
- }
-\addto\extraslatin{\def\ProsodicMarksOn{%
-\GenericError{(latin)\@spaces\@spaces\@spaces\@spaces}%
- {Latin language error: \string\ProsodicMarksOn\space
- is defined by setting the\MessageBreak
- language attribute to `withprosodicmarks'\MessageBreak
- If you continue you are likely to encounter\MessageBreak
- fatal errors that I can't recover}%
- {See the Latin language description in the babel
- documentation for explanation}{\@ehd}}}
-\addto\extraslatin{\let\ProsodicMarksOff\relax}
-\catcode`\= \active
-\catcode`\^ \active
-\addto\extraslatin{\languageshorthands{latin}}%
-\addto\extraswithprosodicmarks{\bbl@activate{^}}%
-\addto\extraswithprosodicmarks{\bbl@activate{=}}%
-\addto\noextraswithprosodicmarks{\bbl@deactivate{^}}%
-\addto\noextraswithprosodicmarks{\bbl@deactivate{=}}%
-\addto\extraswithprosodicmarks{\ProsodicMarks}
-\def\ProsodicMarks{%
-\def\ProsodicMarksOn{\catcode`\^ 13\catcode`\= 13\relax}%
-\def\ProsodicMarksOff{\catcode`\^ 7\catcode`\= 12\relax}%
-}
-\initiate@active@char{^}%
-\initiate@active@char{=}%
-\declare@shorthand{latin}{^a}{%
- \textormath{\u{a}\bbl@allowhyphens}{\hat{a}}}%
-\declare@shorthand{latin}{^e}{%
- \textormath{\u{e}\bbl@allowhyphens}{\hat{e}}}%
-\declare@shorthand{latin}{^i}{%
- \textormath{\u{\i}\bbl@allowhyphens}{\hat{\imath}}}%
-\declare@shorthand{latin}{^o}{%
- \textormath{\u{o}\bbl@allowhyphens}{\hat{o}}}%
-\declare@shorthand{latin}{^u}{%
- \textormath{\u{u}\bbl@allowhyphens}{\hat{u}}}%
-\declare@shorthand{latin}{=a}{%
- \textormath{\={a}\bbl@allowhyphens}{\bar{a}}}%
-\declare@shorthand{latin}{=e}{%
- \textormath{\={e}\bbl@allowhyphens}{\bar{e}}}%
-\declare@shorthand{latin}{=i}{%
- \textormath{\={\i}\bbl@allowhyphens}{\bar{\imath}}}%
-\declare@shorthand{latin}{=o}{%
- \textormath{\={o}\bbl@allowhyphens}{\bar{o}}}%
-\declare@shorthand{latin}{=u}{%
- \textormath{\={u}\bbl@allowhyphens}{\bar{u}}}%
-\catcode`\= 12\relax
-\catcode`\^ 7\relax
-\addto\extraslatin{\def\LatinMarksOn{\shorthandon{^}\shorthandon{=}}}
-\addto\extraslatin{\def\LatinMarksOff{\shorthandoff{^}\shorthandoff{=}}}
-\bbl@declare@ttribute{latin}{ecclesiastic}{%
-\AtEndOfPackage{%
- \AtBeginDocument{\RequirePackage{ecclesiastic}[2015/08/20]}%
+\fi
+\newif\ifbabellatin@useligatures
+\addto\extrasmedievallatin{\babellatin@useligaturestrue}%
+\addto\noextrasmedievallatin{\babellatin@useligaturesfalse}%
+\addto\extrasecclesiasticlatin{\babellatin@useligaturestrue}%
+\addto\noextrasecclesiasticlatin{\babellatin@useligaturesfalse}%
+\StartBabelCommands*{\CurrentOption}{captions}
+ \SetString\prefacename{\ifbabellatin@useligatures Pr\ae fatio\else Praefatio\fi}
+ \SetString\refname{Conspectus librorum}
+ \SetString\abstractname{Summarium}
+ \SetString\bibname{Conspectus librorum}
+ \SetString\chaptername{Caput}
+ \SetString\appendixname{Additamentum}
+ \SetString\contentsname{Index}
+ \SetString\listfigurename{Conspectus descriptionum}
+ \SetString\listtablename{Conspectus tabularum}
+ \SetString\indexname{Index rerum notabilium}
+ \SetString\figurename{Descriptio}
+ \SetString\tablename{Tabula}
+ \SetString\partname{Pars}
+ \SetString\enclname{Adduntur}% Or "Additur"? Or simply Add.?
+ \SetString\ccname{Exemplar}% Use the recipient's dative
+ \SetString\headtoname{\ignorespaces}% Use the recipient's dative
+ \SetString\pagename{Charta}
+ \SetString\seename{cfr.}
+ \SetString\alsoname{cfr.}% Tabacco never saw "cfr" + "atque" or similar forms
+ \SetString\proofname{Demonstratio}
+ \SetString\glossaryname{Glossarium}
+\StartBabelCommands*{classiclatin,medievallatin}{}
+ \SetCase{\uccode`u=`V}{\lccode`V=`u}
+ \SetHyphenMap{\BabelLower{`V}{`u}}
+\StartBabelCommands{classiclatin,medievallatin}{}[unicode,fontenc=TU,charset=utf8]
+ \SetCase{\uccode`u=`V \uccode`ú=`V \uccode`ū=`V \uccode`ŭ=`V}{\lccode`V=`u}
+\EndBabelCommands
+\newif\ifbabellatin@usev
+\newif\ifbabellatin@usej
+\newif\ifbabellatin@lowercasemonth
+\babellatin@usevtrue
+\addto\extrasclassiclatin{\babellatin@usevfalse}%
+\addto\noextrasclassiclatin{\babellatin@usevtrue}%
+\addto\extrasmedievallatin{\babellatin@usevfalse}%
+\addto\noextrasmedievallatin{\babellatin@usevtrue}%
+\def\babellatin@monthname{%
+ \ifcase\month\or\ifbabellatin@usej Januarii\else Ianuarii\fi
+ \or Februarii%
+ \or Martii%
+ \or Aprilis%
+ \or\ifbabellatin@usej Maji\else Maii\fi
+ \or\ifbabellatin@usej Junii\else Iunii\fi
+ \or\ifbabellatin@usej Julii\else Iulii\fi
+ \or Augusti%
+ \or Septembris%
+ \or Octobris%
+ \or\ifbabellatin@usev Novembris\else Nouembris\fi
+ \or Decembris%
+ \fi}%
+\expandafter\def\csname date\CurrentOption\endcsname{%
+ \def\today{%
+ \uppercase\expandafter{\romannumeral\day}~%
+ \ifbabellatin@lowercasemonth
+ \lowercase\expandafter{\babellatin@monthname}%
+ \else
+ \babellatin@monthname
+ \fi
+ \space
+ \uppercase\expandafter{\romannumeral\year}%
}%
-}
-
-\initiate@active@char{"}%
-\addto\extraslatin{\bbl@activate{"}%
-}
-\declare@shorthand{latin}{"}{%
- \textormath{\def\lt@@next{\futurelet\lt@temp\lt@cwm}}%
- {\def\lt@@next{''}}%
- \lt@@next
}%
-\def\lt@allowhyphens{\bbl@allowhyphens\discretionary{-}{}{}\bbl@allowhyphens}
-
-\newcommand*{\lt@cwm}{\let\lt@n@xt\relax
- \ifcat\noexpand\lt@temp a%
- \let\lt@n@xt\lt@allowhyphens
+\def\babellatin@latex{LaTeX2e}%
+\ifx\fmtname\babellatin@latex
+ \initiate@active@char{"}%
+ \@ifpackagewith{babel}{activeacute}{\initiate@active@char{'}}{}%
+ \providecommand\texorpdfstring[2]{#1}%
+ \ExplSyntaxOn
+ \declare@shorthand {latin} {"}
+ {
+ \mode_if_math:TF { \token_to_str:N " }
+ {
+ \texorpdfstring { \babellatin_apply_quotemark:N } { }
+ }
+ }
+ \cs_set_protected:Npn \babellatin@declare@apostrophe@shorthands
+ {
+ \declare@shorthand {latin} {'}
+ {
+ \mode_if_math:TF { \active@math@prime }
+ {
+ \texorpdfstring { \babellatin_put_acute:N } { \' }
+ }
+ }
+ }
+ \cs_set_protected:Npn \babellatin@declare@prosodic@shorthands
+ {
+ \declare@shorthand {latin} {=}
+ {
+ \mode_if_math:TF { \token_to_str:N = }
+ {
+ \texorpdfstring { \babellatin_put_macron:N } { \= }
+ }
+ }
+ \declare@shorthand {latin} {^}
+ {
+ \mode_if_math:TF { \token_to_str:N ^ } { \babellatin_put_breve:N }
+ }
+ }
+ \cs_set_protected:Npn \babellatin_apply_quotemark:N #1
+ {
+ \str_case:nnF {#1}
+ {
+ {A} { \babellatin_ligature_shorthand:Nnn E { \AE }
+ {
+ \babellatin_ligature_shorthand:Nnn e { \AE }
+ {
+ \babellatin_allowhyphens: A
+ }
+ }
+ }
+ {a} { \babellatin_ligature_shorthand:Nnn e { \ae }
+ {
+ \babellatin_allowhyphens: a
+ }
+ }
+ {O} { \babellatin_ligature_shorthand:Nnn E { \OE }
+ {
+ \babellatin_ligature_shorthand:Nnn e { \OE }
+ {
+ \babellatin_allowhyphens: O
+ }
+ }
+ }
+ {o} { \babellatin_ligature_shorthand:Nnn e { \oe }
+ {
+ \babellatin_allowhyphens: o
+ }
+ }
+ {|} { \babellatin_allowhyphens: }
+ {<} { \babellatin@guillemetleft }
+ {>} { \babellatin@guillemetright }
+ }
+ {
+ \tl_if_single_token:nTF {#1}
+ {
+ \token_if_letter:NTF #1 { \babellatin_allowhyphens: }
+ {
+ \babellatin_if_ligature_command:NTF #1 { \babellatin_allowhyphens: }
+ {
+ \token_to_str:N "
+ }
+ }
+ }
+ {
+ \token_to_str:N "
+ }
+ #1
+ }
+ }
+ \cs_set_protected:Npn \babellatin_put_acute:N #1
+ {
+ \str_case:nnF {#1}
+ {
+ {A} { \babellatin_ligature_shorthand:Nnn E { \'\AE }
+ {
+ \babellatin_ligature_shorthand:Nnn e { \'\AE } { Á }
+ }
+ }
+ {a} { \babellatin_ligature_shorthand:Nnn e { \'\ae } { á } }
+ {E} { É }
+ {e} { é }
+ {I} { Í }
+ {i} { í }
+ {O} { \babellatin_ligature_shorthand:Nnn E { \'\OE }
+ {
+ \babellatin_ligature_shorthand:Nnn e { \'\OE } { Ó }
+ }
+ }
+ {o} { \babellatin_ligature_shorthand:Nnn e { \'\oe } { ó } }
+ {U} { Ú }
+ {u} { ú }
+ {V} { \'V }
+ {Y} { \'Y }
+ {y} { \'y }
+ {Æ} { \'\AE }
+ {æ} { \'\ae }
+ {Œ} { \'\OE }
+ {œ} { \'\oe }
+ }
+ {
+ \tl_if_single_token:nTF {#1}
+ {
+ \babellatin_if_ligature_command:NTF #1 { \' }
+ {
+ \token_to_str:N '
+ }
+ }
+ {
+ \token_to_str:N '
+ }
+ #1
+ }
+ }
+ \cs_set_protected:Npn \babellatin_put_macron:N #1
+ {
+ \str_case:nnF {#1}
+ {
+ {A} { \babellatin_ligature_macron:NNnn AE { \=\AE }
+ {
+ \babellatin_ligature_macron:NNnn Ae { \=\AE }
+ {
+ \babellatin_diphthong_macron:NNn AU
+ {
+ \babellatin_diphthong_macron:NNn Au { \=A }
+ }
+ }
+ }
+ }
+ {a} { \babellatin_ligature_macron:NNnn ae { \=\ae }
+ {
+ \babellatin_diphthong_macron:NNn au { \=a }
+ }
+ }
+ {E} { \babellatin_diphthong_macron:NNn EU
+ {
+ \babellatin_diphthong_macron:NNn Eu { \=E }
+ }
+ }
+ {e} { \babellatin_diphthong_macron:NNn eu { \=e } }
+ {I} { \=I }
+ {i} { \=\i }
+ {O} { \babellatin_ligature_macron:NNnn OE { \=\OE }
+ {
+ \babellatin_ligature_macron:NNnn Oe { \=\OE } { \=O }
+ }
+ }
+ {o} { \babellatin_ligature_macron:NNnn oe { \=\oe } { \=o } }
+ {U} { \=U }
+ {u} { \=u }
+ {V} { \=V }
+ {Y} { \=Y }
+ {y} { \=y }
+ }
+ {
+ \tl_if_single_token:nTF {#1}
+ {
+ \babellatin_if_ligature_command:NTF #1 { \= }
+ {
+ \token_to_str:N =
+ }
+ }
+ {
+ \token_to_str:N =
+ }
+ #1
+ }
+ }
+ \cs_set:Npn \babellatin_put_breve:N #1
+ {
+ \str_case:nnF {#1}
+ {
+ {A} { \u{A} }
+ {a} { \u{a} }
+ {E} { \u{E} }
+ {e} { \u{e} }
+ {I} { \u{I} }
+ {i} { \u{\i} }
+ {O} { \u{O} }
+ {o} { \u{o} }
+ {U} { \u{U} }
+ {u} { \u{u} }
+ {V} { \u{V} }
+ {Y} { \u{Y} }
+ {y} { \u{y} }
+ }
+ {
+ \token_to_str:N ^
+ #1
+ }
+ }
+ \cs_set:Npn \babellatin_allowhyphens:
+ {
+ \bbl@allowhyphens
+ \discretionary {-} {} {}
+ \bbl@allowhyphens
+ }
+ \ExplSyntaxOff
+ \def\babellatin@test@for@ligatures{%
+ \ifbabellatin@useligatures
+ \chardef\babellatin@useligatures@bool=1
+ \else
+ \chardef\babellatin@useligatures@bool=0
+ \fi
+ }%
+ \ExplSyntaxOn
+ \cs_set_protected:Npn \babellatin_ligature_shorthand:Nnn #1#2#3
+ {
+ \babellatin@test@for@ligatures
+ \bool_if:NTF \babellatin@useligatures@bool
+ {
+ \peek_meaning_remove:NTF #1 {#2} {#3}
+ }
+ {
+ #3
+ }
+ }
+ \cs_set_protected:Npn \babellatin_diphthong_macron:NNn #1#2#3
+ {
+ \peek_meaning:NTF #2
+ {
+ #1
+ \bool_lazy_or:nnTF { \sys_if_engine_xetex_p: } { \sys_if_engine_luatex_p: }
+ {
+ \iffontchar \font "35E \relax
+ \char "35E \relax
+ \else
+ \msg_warning:nn {babel-latin} {no-double-macron-font}
+ \fi
+ }
+ {
+ \msg_warning:nn {babel-latin} {no-double-macron-engine}
+ }
+ }
+ {
+ #3
+ }
+ }
+ \msg_set:nnn {babel-latin} {no-double-macron-font}
+ {
+ The~combining~double~macron~(U+035E)~is~not~available~in~the~current~
+ font.~The~diphthong~is~typeset~without~macron~ \msg_line_context: .
+ }
+ \msg_set:nnn {babel-latin} {no-double-macron-engine}
+ {
+ The~combining~double~macron~(U+035E)~is~not~available~with~
+ \c_sys_engine_str . ~ The~diphthong~is~typeset~without~macron~
+ \msg_line_context: .
+ }
+ \cs_set_protected:Npn \babellatin_ligature_macron:NNnn #1#2#3#4
+ {
+ \babellatin_ligature_shorthand:Nnn #2 {#3}
+ {
+ \babellatin_diphthong_macron:NNn #1 #2 {#4}
+ }
+ }
+ \prg_set_conditional:Npnn \babellatin_if_ligature_command:N #1 {TF}
+ {
+ \token_if_eq_meaning:NNTF #1 \AE { \prg_return_true: }
+ {
+ \token_if_eq_meaning:NNTF #1 \ae { \prg_return_true: }
+ {
+ \token_if_eq_meaning:NNTF #1 \OE { \prg_return_true: }
+ {
+ \token_if_eq_meaning:NNTF #1 \oe { \prg_return_true: }
+ {
+ \prg_return_false:
+ }
+ }
+ }
+ }
+ }
+ \ExplSyntaxOff
+ \let\babellatin@guillemetleft\guillemetleft
+ \let\babellatin@guillemetright\guillemetright
+ \expandafter\addto\csname extras\CurrentOption\endcsname{%
+ \bbl@activate{"}%
+ \languageshorthands{latin}%
+ }%
+ \expandafter\addto\csname noextras\CurrentOption\endcsname{%
+ \bbl@deactivate{"}%
+ }%
+ \@ifpackagewith{babel}{activeacute}{%
+ \babellatin@declare@apostrophe@shorthands
+ \expandafter\addto\csname extras\CurrentOption\endcsname{%
+ \bbl@activate{'}%
+ }%
+ \expandafter\addto\csname noextras\CurrentOption\endcsname{%
+ \bbl@deactivate{'}%
+ }%
+ }{}%
+\fi
+\newif\ifbabellatin@luatex
+\newif\ifbabellatin@xetex
+\ifnum\bbl@engine=1
+ \babellatin@luatextrue
+\else
+ \ifnum\bbl@engine=2
+ \babellatin@xetextrue
+ \fi
+\fi
+\def\babellatin@prepare@punctuation@spacing{%
+ \ifbabellatin@luatex
+ \directlua{require('ecclesiasticlatin')}%
\else
- \ifx\lt@temp\ae
- \let\lt@n@xt\lt@allowhyphens
+ \def\babellatin@insert@punctuation@space{%
+ \kern0.08333\fontdimen6\font
+ }%
+ \def\babellatin@replace@preceding@space{%
+ \ifdim\lastskip>\z@\unskip\fi
+ \babellatin@insert@punctuation@space
+ }%
+ \def\babellatin@replace@following@space{%
+ \babellatin@insert@punctuation@space
+ \ignorespaces
+ }%
+ \ifbabellatin@xetex
+ \newXeTeXintercharclass\babellatin@qmark@class
+ \newXeTeXintercharclass\babellatin@colon@class
+ \newXeTeXintercharclass\babellatin@oguill@class
+ \newXeTeXintercharclass\babellatin@cguill@class
+ \newXeTeXintercharclass\babellatin@obracket@class
+ \let\babellatin@boundary@class\e@alloc@intercharclass@top
+ \XeTeXinterchartoks\babellatin@qmark@class\babellatin@cguill@class={%
+ \babellatin@insert@punctuation@space}%
+ \XeTeXinterchartoks\babellatin@qmark@class\babellatin@colon@class={%
+ \babellatin@insert@punctuation@space}%
+ \XeTeXinterchartoks\babellatin@colon@class\babellatin@cguill@class={%
+ \babellatin@insert@punctuation@space}%
+ \XeTeXinterchartoks\babellatin@oguill@class\babellatin@boundary@class={%
+ \babellatin@replace@following@space}%
+ \XeTeXinterchartoks\babellatin@oguill@class\babellatin@oguill@class={%
+ \babellatin@insert@punctuation@space}%
+ \XeTeXinterchartoks\babellatin@oguill@class\z@={%
+ \babellatin@insert@punctuation@space}%
+ \XeTeXinterchartoks\babellatin@cguill@class\babellatin@cguill@class={%
+ \babellatin@insert@punctuation@space}%
+ \XeTeXinterchartoks\babellatin@cguill@class\babellatin@qmark@class={%
+ \babellatin@insert@punctuation@space}%
+ \XeTeXinterchartoks\babellatin@cguill@class\babellatin@colon@class={%
+ \babellatin@insert@punctuation@space}%
+ \XeTeXinterchartoks\babellatin@boundary@class\babellatin@qmark@class={%
+ \babellatin@replace@preceding@space}%
+ \XeTeXinterchartoks\babellatin@boundary@class\babellatin@colon@class={%
+ \babellatin@replace@preceding@space}%
+ \XeTeXinterchartoks\babellatin@boundary@class\babellatin@cguill@class={%
+ \babellatin@replace@preceding@space}%
+ \XeTeXinterchartoks\z@\babellatin@qmark@class={%
+ \babellatin@insert@punctuation@space}%
+ \XeTeXinterchartoks\z@\babellatin@colon@class={%
+ \babellatin@insert@punctuation@space}%
+ \XeTeXinterchartoks\z@\babellatin@cguill@class={%
+ \babellatin@insert@punctuation@space}%
\else
- \ifx\lt@temp\oe
- \let\lt@n@xt\lt@allowhyphens
+ \initiate@active@char{;}%
+ \initiate@active@char{:}%
+ \initiate@active@char{!}%
+ \initiate@active@char{?}%
+ \declare@shorthand{latin}{;}{%
+ \ifhmode
+ \babellatin@replace@preceding@space
+ \string;%
+ \else
+ \string;%
+ \fi
+ }%
+ \declare@shorthand{latin}{:}{%
+ \ifhmode
+ \babellatin@replace@preceding@space
+ \string:%
\else
- \if\noexpand\lt@temp\string|%
- \def\lt@n@xt{\lt@allowhyphens\@gobble}%
- \fi
+ \string:%
\fi
+ }%
+ \declare@shorthand{latin}{!}{%
+ \ifhmode
+ \babellatin@replace@preceding@space
+ \string!%
+ \else
+ \string!%
+ \fi
+ }%
+ \declare@shorthand{latin}{?}{%
+ \ifhmode
+ \babellatin@replace@preceding@space
+ \string?%
+ \else
+ \string?%
+ \fi
+ }%
\fi
\fi
- \lt@n@xt}%
-\ldf@finish{latin}
+}%
+\ifx\CurrentOption\babellatin@ecclesiastic
+ \babellatin@prepare@punctuation@spacing
+\fi
+\def\babellatin@punctuation@spacing{%
+ \ifbabellatin@luatex
+ \directlua{ecclesiasticlatin.activate_spacing()}%
+ \else
+ \ifbabellatin@xetex
+ \XeTeXinterchartokenstate = 1
+ \XeTeXcharclass `\! \babellatin@qmark@class
+ \XeTeXcharclass `\? \babellatin@qmark@class
+ \XeTeXcharclass `\‼ \babellatin@qmark@class
+ \XeTeXcharclass `\⁇ \babellatin@qmark@class
+ \XeTeXcharclass `\⁈ \babellatin@qmark@class
+ \XeTeXcharclass `\⁉ \babellatin@qmark@class
+ \XeTeXcharclass `\‽ \babellatin@qmark@class
+ \XeTeXcharclass `\; \babellatin@colon@class
+ \XeTeXcharclass `\: \babellatin@colon@class
+ \XeTeXcharclass `\« \babellatin@oguill@class
+ \XeTeXcharclass `\» \babellatin@cguill@class
+ \XeTeXcharclass `\‹ \babellatin@oguill@class
+ \XeTeXcharclass `\› \babellatin@cguill@class
+ \XeTeXcharclass `\( \babellatin@obracket@class
+ \XeTeXcharclass `\[ \babellatin@obracket@class
+ \XeTeXcharclass `\{ \babellatin@obracket@class
+ \XeTeXcharclass `\⟨ \babellatin@obracket@class
+ \else
+ \bbl@activate{;}%
+ \bbl@activate{:}%
+ \bbl@activate{!}%
+ \bbl@activate{?}%
+ \def\babellatin@guillemetleft{%
+ \guillemetleft
+ \babellatin@replace@following@space
+ }%
+ \def\babellatin@guillemetright{%
+ \babellatin@replace@preceding@space
+ \guillemetright
+ }%
+ \fi
+ \fi
+}%
+\def\babellatin@no@punctuation@spacing{%
+ \ifbabellatin@luatex
+ \directlua{ecclesiasticlatin.deactivate_spacing()}%
+ \else
+ \ifbabellatin@xetex
+ \XeTeXcharclass `\! \z@
+ \XeTeXcharclass `\? \z@
+ \XeTeXcharclass `\‼ \z@
+ \XeTeXcharclass `\⁇ \z@
+ \XeTeXcharclass `\⁈ \z@
+ \XeTeXcharclass `\⁉ \z@
+ \XeTeXcharclass `\‽ \z@
+ \XeTeXcharclass `\; \z@
+ \XeTeXcharclass `\: \z@
+ \XeTeXcharclass `\« \z@
+ \XeTeXcharclass `\» \z@
+ \XeTeXcharclass `\‹ \z@
+ \XeTeXcharclass `\› \z@
+ \XeTeXcharclass `\( \z@
+ \XeTeXcharclass `\[ \z@
+ \XeTeXcharclass `\{ \z@
+ \XeTeXcharclass `\⟨ \z@
+ \XeTeXinterchartokenstate = 0
+ \else
+ \bbl@deactivate{;}%
+ \bbl@deactivate{:}%
+ \bbl@deactivate{!}%
+ \bbl@deactivate{?}%
+ \let\babellatin@guillemetleft\guillemetleft
+ \let\babellatin@guillemetright\guillemetright
+ \fi
+ \fi
+}%
+\addto\extrasecclesiasticlatin{\babellatin@punctuation@spacing}%
+\addto\noextrasecclesiasticlatin{\babellatin@no@punctuation@spacing}%
+\bbl@declare@ttribute\CurrentOption{usej}{%
+ \expandafter\addto\csname extras\CurrentOption\endcsname{%
+ \babellatin@usejtrue}%
+ \expandafter\addto\csname noextras\CurrentOption\endcsname{%
+ \babellatin@usejfalse}%
+}%
+\bbl@declare@ttribute\CurrentOption{lowercasemonth}{%
+ \expandafter\addto\csname extras\CurrentOption\endcsname{%
+ \babellatin@lowercasemonthtrue}%
+ \expandafter\addto\csname noextras\CurrentOption\endcsname{%
+ \babellatin@lowercasemonthfalse}%
+}%
+\ifx\fmtname\babellatin@latex
+ \bbl@declare@ttribute\CurrentOption{withprosodicmarks}{%
+ \initiate@active@char{=}%
+ \initiate@active@char{^}%
+ \AtBeginDocument{%
+ \bbl@shorthandoff\z@{=}%
+ \bbl@shorthandoff\tw@{^}%
+ }%
+ \babellatin@declare@prosodic@shorthands
+ \expandafter\addto\csname extras\CurrentOption\endcsname{%
+ \bbl@activate{=}%
+ \bbl@activate{^}%
+ \def\ProsodicMarksOn{%
+ \shorthandon{=}%
+ \shorthandon{^}%
+ }%
+ \def\ProsodicMarksOff{%
+ \shorthandoff{=}%
+ \shorthandoff*{^}%
+ }%
+ }%
+ \expandafter\addto\csname noextras\CurrentOption\endcsname{%
+ \bbl@deactivate{=}%
+ \bbl@deactivate{^}%
+ }%
+ }%
+ \expandafter\addto\csname extras\CurrentOption\endcsname{%
+ \def\ProsodicMarksOn{%
+ \PackageWarning{babel-latin}{%
+ The \protect\ProsodicMarksOn\space command is only\MessageBreak
+ available using the withprosodicmarks\MessageBreak
+ modifier}%
+ }%
+ \def\ProsodicMarksOff{%
+ \PackageWarning{babel-latin}{%
+ The \protect\ProsodicMarksOff\space command is only\MessageBreak
+ available using the withprosodicmarks\MessageBreak
+ modifier}%
+ }%
+ }%
+\fi
+\bbl@declare@ttribute\CurrentOption{ecclesiasticfootnotes}{%
+ \let\babellatin@footnote@lang\CurrentOption
+ \AtEndOfPackage{%
+ \ifx\bbl@main@language\babellatin@footnote@lang
+ \let\@makefntext\babellatin@variant@footnote
+ \else
+ \PackageWarningNoLine{babel-latin}{%
+ \babellatin@footnote@lang\space is not the main language.\MessageBreak
+ The `ecclesiasticfootnotes' modifier\MessageBreak
+ is ineffective}%
+ \fi
+ }%
+}%
+\def\babellatin@variant@footnote#1{%
+ \parindent 1em%
+ \noindent
+ \hbox{\normalfont\@thefnmark.}%
+ \enspace #1%
+}%
+\def\babellatin@outdated@modifier#1{%
+ \PackageWarningNoLine{babel-latin}{%
+ The `#1' modifier is outdated. Please\MessageBreak
+ consult the babel-latin manual and consider\MessageBreak
+ to load the language `#1latin' instead\MessageBreak
+ of `latin.#1'}%
+}%
+\bbl@declare@ttribute{latin}{classic}{%
+ \babellatin@outdated@modifier{classic}%
+ \addto\extraslatin{\babellatin@usevfalse}%
+ \addto\noextraslatin{\babellatin@usevtrue}%
+ \babellatin@test@classic@patterns
+ \let\l@latin\l@classiclatin
+ \StartBabelCommands*{latin}{}%
+ \SetCase{\uccode `u=`V}{\lccode `V=`u}%
+ \EndBabelCommands
+}%
+\bbl@declare@ttribute{latin}{medieval}{%
+ \babellatin@outdated@modifier{medieval}%
+ \addto\extraslatin{%
+ \babellatin@usevfalse
+ \def\prefacename{Pr\ae fatio}%
+ }%
+ \addto\noextraslatin{%
+ \babellatin@usevtrue
+ }%
+ \StartBabelCommands*{latin}{}%
+ \SetCase{\uccode `u=`V}{\lccode `V=`u}%
+ \EndBabelCommands%
+}%
+\bbl@declare@ttribute{latin}{ecclesiastic}{%
+ \babellatin@outdated@modifier{ecclesiastic}%
+ \babellatin@prepare@punctuation@spacing
+ \babellatin@ecclesiastic@outdated@commands
+ \initiate@active@char{'}%
+ \babellatin@declare@apostrophe@shorthands
+ \addto\extraslatin{%
+ \bbl@activate{'}%
+ \babellatin@punctuation@spacing
+ \babellatin@useligaturestrue
+ }%
+ \addto\noextraslatin{%
+ \bbl@deactivate{'}%
+ \babellatin@no@punctuation@spacing
+ \babellatin@useligaturesfalse
+ }%
+ \addto\extraslatin{%
+ \babel@save\@makefntext
+ \let\@makefntext\babellatin@variant@footnote
+ }%
+}%
+\providecommand\SetLatinLigatures{%
+ \PackageWarning{babel-latin}{%
+ The \protect\SetLatinLigatures\space command is obsolete.\MessageBreak
+ Please remove it}}%
+\providecommand\ProsodicMarks{%
+ \PackageWarning{babel-latin}{%
+ The \protect\ProsodicMarks\space command is obsolete.\MessageBreak
+ Please remove it}}%
+\def\babellatin@ecclesiastic@outdated@commands{%
+ \providecommand*\FrenchGuillemetsFrom[4]{%
+ \PackageWarning{babel-latin}{%
+ The \protect\FrenchGuillemetsFrom\space command is obsolete.\MessageBreak
+ Please remove it and use \protect\usepackage[T1]{fontenc}\MessageBreak
+ if compiling with pdfLaTeX}}%
+ \let\FrenchGuillemotsFrom\FrenchGuillemetsFrom
+ \providecommand\ToneGuillemets{%
+ \PackageWarning{babel-latin}{%
+ The \protect\ToneGuillemets\space command is obsolete.\MessageBreak
+ Please remove it and use \protect\usepackage[T1]{fontenc}\MessageBreak
+ if compiling with pdfLaTeX}}%
+ \expandafter\addto\csname extras\CurrentOption\endcsname{%
+ \babel@save\og
+ \babel@save\fg
+ \DeclareRobustCommand\og{%
+ \babellatin@guillemetleft
+ \PackageWarning{babel-latin}{%
+ The \protect\og\space command is obsolete.\MessageBreak
+ Please replace it by "<}}%
+ \DeclareRobustCommand\fg{%
+ \babellatin@guillemetright
+ \PackageWarning{babel-latin}{%
+ The \protect\fg\space command is obsolete.\MessageBreak
+ Please replace it by ">}}%
+ }%
+}%
+\ifx\CurrentOption\babellatin@ecclesiastic
+ \babellatin@ecclesiastic@outdated@commands
+\fi
+\ldf@finish\CurrentOption
\endinput
%%
%% End of file `latin.ldf'.
diff --git a/Master/texmf-dist/tex/generic/babel-latin/medievallatin.ldf b/Master/texmf-dist/tex/generic/babel-latin/medievallatin.ldf
new file mode 100644
index 00000000000..f8c95ecbd95
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel-latin/medievallatin.ldf
@@ -0,0 +1,35 @@
+%%
+%% This is file `medievallatin.ldf',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% latin.dtx (with options: `medieval')
+%%
+%% Copyright (C) 1989-2008 by Johannes L. Braams
+%% Copyright (C) 2009-2020 by Claudio Beccari
+%% Copyright (C) 2021 by Keno Wehr
+%% All rights reserved.
+%%
+%% This file is part of the babel-latin package.
+%% ----------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is Keno Wehr.
+%%
+%% Please report errors to: https://github.com/wehro/babel-latin/issues
+%%
+\ProvidesLanguage{medievallatin}
+\input latin.ldf\relax
+\endinput
+%%
+%% End of file `medievallatin.ldf'.