diff options
Diffstat (limited to 'Master/texmf-dist/source/generic/babel-latin/latin.dtx')
-rw-r--r-- | Master/texmf-dist/source/generic/babel-latin/latin.dtx | 266 |
1 files changed, 156 insertions, 110 deletions
diff --git a/Master/texmf-dist/source/generic/babel-latin/latin.dtx b/Master/texmf-dist/source/generic/babel-latin/latin.dtx index 9486fb74fb7..5c69e291b12 100644 --- a/Master/texmf-dist/source/generic/babel-latin/latin.dtx +++ b/Master/texmf-dist/source/generic/babel-latin/latin.dtx @@ -1,31 +1,29 @@ -% \CheckSum{511} +% \CheckSum{510} % \iffalse % Tell the \LaTeX\ system who we are and write an entry on the % transcript. -%<*dtx> -\ProvidesFile{latincla.dtx} -%</dtx> -%<code>\ProvidesFile{latin.ldf} -%\fi -%\ProvidesFile{latin.dtx}% - [2014/06/01 v.3.0 Latin support from the babel system] -%\iffalse -%% File `latin.dtx' -%% Babel package for LaTeX version 2e -%% Copyright (C) 1989 - 2008 -%% by Johannes Braams, TeXniek +%<*driver> +\ProvidesFile{latin.dtx} +%</driver> +%<code>\ProvidesLanguage{latin} +%<*code> + [2015/08/20 v.3.5 Latin support from the babel system] +%</code> +%% 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: J.L. Braams -%% babel at braams.xs4all.nl -%% Claudio Beccari -%% claudio.beccari at gmail.it +%% Please report errors to: Claudio Beccari +%% claudio.beccari at gmail.com % % This file is part of the babel system, it provides the source -% code for the Latin language definition file. +% code for the Latin language description file. % The original version of this file was written by % Claudio Beccari, (claudio.beccari at gmail.com) and includes contributions -% by Krzysztof Konrad \.Zelechowski, (\texttt{kkz@alfa.mimuw.edu.pl}). -%<*filedriver> +% by Krzysztof Konrad \.Zelechowski, (\texttt{kkz@alfa.mimuw.edu.pl}). It was +% modified and made compatible with the babel system by J.L. Braams +%<*driver> \documentclass{ltxdoc} \newcommand*\TeXhax{\TeX hax} \newcommand*\babel{\textsf{babel}} @@ -35,9 +33,9 @@ \newcommand*\file[1]{\texttt{#1}} \providecommand*\pkg[1]{\textsf{#1}} \begin{document} - \DocInput{latin.dtx} +\DocInput{latin.dtx} \end{document} -%</filedriver> +%</driver> %\fi % \GetFileInfo{latin.dtx} % @@ -63,26 +61,29 @@ % \changes{latin-2.0j}{2010/01/03}{Corrected sectioning} % \changes{latin-2.0k}{2014/02/18}{subsections turned into subsections*} %^^A -------------------------------- -% \changes{latin-3.0}{2014/06/01}{Added modifier for classical spelling and hyphenation} +% \changes{latin-3.0}{2014/06/01}{Added modifier for classical spelling +% and hyphenation} % \changes{latin-3.0}{2014/06/01}{Restored the subsection numbering} +% \changes{latin-3.5}{2015/08/17}{Added the modifier for the ecclesiastic +% Latin variety} % % \section{The Latin language} % % The file \file{\filename}\footnote{The file described in this % section has version number \fileversion\ and was last revised on -% \filedate. The original author is Claudio Beccari.}; defines all the +% \filedate. The original author is Claudio Beccari.} defines all the % language-specific macros for the Latin language including the classical -% spelling and hyphenation. +% spelling and hyphenation and the special ecclesiastic spelling. % % Without modifiers or attributes, this file describes the modern usage % of Latin; with this we mean the kind of Latin that is used as an official % language in the State of Vatican City, and in the teaching of Latin in -% modern schools. This file description language accepts three modifiers, -% in order to be adapted to other situations: +% modern schools. This file description language accepts several modifiers, +% in order to be adapted to other situations. %\begin{enumerate}\csname c@enumi\endcsname=-1 -%\item Modern spelling and hypheenation; this is the default setting; -%\item Modern spelling with prosodic marks: this is to be used mainly -% in modern grammars and dictionaries; +%^^A +%\item Modern spelling and hyphenation; this is the default setting. +%^^A %\item Medieval spelling and hyphenation: in this spelling the lower and % upper case alphabets become the following:\\ %\makebox[\linewidth]{\tabcolsep=2pt @@ -91,14 +92,15 @@ % A&\AE&B&C&D&E&F&G&H&I&K&L&M&N&O&\OE&P&Q&R&S&T&V&X&Y&Z %\end{tabular}} % It must be noted that this file description language does not make -% any spelling correction in order tu use only `u' in lower case and only +% any spelling correction in order to use only `u' in lower case and only % `V' in upper case: if the input text is wrongly typed in, it remains as % such; this means it's the typesetter's responsibility to correctly input % the source text to be typeset; in spite of this, when the transformation % from lower to upper case is performed (such as, for example, while -% typesetting headers with some classes) the correct capitalization is -% performed and `u' is capitalized to `V'; the reverse takes place when +% typesetting headers with some classes) the correct capitalisation is +% performed and `u' is capitalised to `V'; the reverse takes place when % transforming to lowercase. +%^^A %\item Classical Latin and classical hyphenation; the spelling is similar % to the medieval one, except for the ligatures \ae, \AE, \oe\ and \OE\ % that are missing; again it is the typesetter's responsibility to input the @@ -106,20 +108,34 @@ % modern and medieval Latin form a non contrasting set of patterns, this % is impossible with classical Latin and a different pattern set has been % prepared as explained below. -% \item Ecclesiastic Latin is a spelling variety of modern Latin; at the -% moment of writing this documentation, it is taken care by an external -% module |ecclesiastic.sty|, but it is under study the extension of this -% language description file in order to include also the ecclesiastic -% variety. This special spelling of modern Latin is used in liturgical +%^^A +%\item Modern spelling with prosodic marks: this is to be used mainly +% in modern grammars and dictionaries. Its settings can be turned on and +% off according to the user needs. +%^^A +% \item Ecclesiastic Latin is a spelling variety of modern Latin; it is +% taken care by the external module |ecclesiastic.sty|, that is being loaded +% by this language description file at the right moment, that is when \babel\ +% has been completely read together with all the options and modifiers. +% This special spelling of modern Latin is used in theological % and devotional books of the Roman Catholic clergy where ligatures \ae\ % and \oe\ are widely used and where acute accents are used in order to -% mark the tonic vowel of those words where the penultimate syllable is not -% tonic; this allows clergy with different backgrounds and mother -% languages to recite the prayers with the same rhythmic scheme. +% mark the tonic vowel of many words so as to allows clergy with different +% backgrounds and mother languages to recite their community prayers with +% the same rhythmic scheme. +% This ecclesiastic Latin spelling contains also other differences, including +% a certain degree of ``frenchisation'' of spaces around some punctuation +% marks and guillemots, and the typesetting style of footnotes. +% When this spelling is chosen, its features are +% irrevocable, especially those that concern spacing. And this is the main +% reason why we decided not to include the ecclesiastic style modifications +% into the language description file, thus avoiding to mess up any setting +% for the other Latin typesetting styles. +%^^A %\end{enumerate} % -% |babel| is not directly concerned with hyphenation; nevertheless in -% this case it is necessary to switch the hyphenation rules to those +% Package \babel\ is not directly concerned with hyphenation; nevertheless +% in this case it is necessary to switch the hyphenation rules to those % of another language, |classiclatin|, that must be available % while creating the format files so that this language description % file can chose between the modern and medieval hyphenation rules or @@ -132,7 +148,7 @@ % Italian, because of the widespread use of the letter `u' that often % actually plays the r\^ole of a consonant. % -% The rules for classical Latin are taken form Raffaello Farina and Nino +% The rules for classical Latin are taken from Raffaello Farina and Nino % Marinone's guide \emph{Metodologia} published by Societ\`a Editrice % Internazionale, Torino, 1979. % In spite of the publication date of this guide the @@ -146,17 +162,17 @@ % and the scholars' of these disciplines. Nevertheless the rules given % by Farina and Marinone are generally shared among modern % scholars and are sort of official at both universities of Torino -% and Vercelli; in the latter University they are adopted by the working group that -% founded the DigilibLT laboratory; I acknowledge their +% and Vercelli; in the latter University they are adopted by the working +% group that founded the DigilibLT laboratory; I acknowledge their % contribution in letting me become aware of the problem, and therefore -% to create this update by adding the classical Latin support for the |babel| -% package, with its special hyphenation rules. -% -% In order to implement the above described four styles of typesetting -% three modifiers/attributes have to be defined: |medieval|, |withprosodicmarks| -% and |classic|. They can be used in any order so that many combinations -% are possible, although, generally speaking, just the four described ones -% have a real meaning. +% to create this update by adding the classical Latin support for the +% \pkg{babel} package, with its special hyphenation rules. +% +% In order to implement the above described styles of typesetting, +% four modifiers/attributes have to be defined: |medieval|, |withprosodicmarks|, +% |classic|, and |ecclesiastic|. They can be used in any order so that +% several combinations are possible, although, generally speaking, just +% the isolated four described ones have a real meaning. % % Among these modifiers only |withprosodicmarks| can be turned on and off; % the others are sort of global; for example, once |classic| is specified, @@ -165,7 +181,7 @@ % % The typesetting style |withprosodicmarks| is % defined in order to use special shorthands for inserting breves -% and macrons when typesetting grammars, dictionaries, teaching +% and macrons while typesetting grammars, dictionaries, teaching % texts, and the like, where prosodic marks are important for the % complete information on the words or the verses. The shorthands, % listed in table~\ref{t:lashrtct} and described in @@ -175,15 +191,15 @@ % experienced, there are special commands for turning on and off % its specific shorthand commands. % -% For what concerns |babel| and typesetting with \LaTeX, the -% differences between the three spelling styles reveal themselves +% For what concerns \babel\ and typesetting with \LaTeX, the +% differences between the spelling styles reveal themselves % in the strings used to name, for example, the ``Preface'' that % becomes ``Praefatio'' or ``Pr\ae fatio'' respectively. % Hyphenation rules are also different, but the hyphenation pattern % file \file{hyph-la.tex} takes care of the modern and medieval versions -% of the language, while \file{hyph-llac.tex} takes care of the classical -% hyphenation. The user should not attempt to modify these files, because -% they are not dealt with by |babel|; they are used only during the +% of the language, while \file{hyph-la-x-classic.tex} takes care of the +% classical hyphenation. The user should not attempt to modify these files, +% because they are not dealt with by \babel\ they are used only during the % creation of format files. If some errors or modifications are required % or suggested, it is necessary to ask their maintainer. % @@ -203,15 +219,19 @@ % \begin{tabular}{cp{80mm}} % |^i| & inserts the breve accent as \u{\i}; valid also for the % other lowercase vowels, but it does not operate on the -% medieval ligatures \ae\ and \oe\ because they are long wowels.\\ +% medieval ligatures \ae\ and \oe\ because they are naturally long.\\ % |=a| & inserts the macron accent as \=a; valid also for the % other lowercase vowels, but it does not operate on the % medieval ligatures \ae\ and \oe\ because they are naturally long.\\ % |"| & inserts a compound word mark where hyphenation is legal; % the next character must not be either a non-letter token -% or an accented letter (for foreign names).\\ +% or an accented letter (for foreign names). With the ecclesiastic +% spelling it eases the insertion of the ligatures \ae\ and \oe\ +% by simply typing \texttt{\string"ae} and \texttt{\string"oe} +% without the need of curly brackets or spaces after the character +% macros |\ae| and |\oe|.\\ % \texttt{\string"\string|} -% & same as above, but operates also when the next token +% & inserts a compound word mark, but operates also when the next token % is not a letter or it is an accented character. % \end{tabular} % \caption[]{Shorthands defined for the Latin language. The @@ -223,6 +243,23 @@ % for more details.}% % \label{t:lashrtct} % \end{table} +% +% The user should attentively remember that this file describes an option +% for the \pkg{babel} package; it works as expected when a document containing +% a text in part or completely in Latin is being processed with |pdfLaTeX| +% and 8-bit encoded fonts that contain at most 256 glyphs. \babel\ can be +% used also with |XeLaTeX| and possibly by |LuaLaTeX|, may be with reduced +% functionalities; expect anomalous results if you typeset your document +% with this language option and |XeLaTeX|. If you need the functionalities +% provided by |XeLaTeX| or |LuaLaTeX|, then use |polyglossia| in place of +% \babel\ and set the Latin desired functionalities with suitable values to +% the |variant| keyword to the Latin language specifications; The valid values +% have the same names as this \babel\ module modifiers, i.e.\ |medieval|, +% |classic|, |ecclesiastic|; with |XeLaTeX| and |LuaLaTeX| that use OpenType +% fonts, the |withprosodicmaks| functionality is not required as the required +% glyphs can be directly input with a UNICODE input encoding. Actually with +% such an encoding this modifier is not necessary even with |pdfLaTeX|, but +% it eases input when one is using a vintage computer or operating system; backwards compatibility is therefore maintained. % \StopEventually{} % % \section{The code} @@ -237,13 +274,12 @@ \LdfInit{latin}{captionslatin} % \end{macrocode} % -% When this file is read as an option, i.e. by the |\usepackage| -% command, \texttt{latin} will be an `unknown' language in which -% case we have to make it known. So we check for the existence of -% |\l@latin| to see whether we have to do something here. +% Never load this file as if it was a |.sty| file by means of the +% |\usepackage| command; this practice is deprecated. We check for +% the existence of |\l@latin| to see whether we have to do something here. % % \begin{macrocode} -\ifx\l@latin\@undefined +\ifx\undefined\l@latin \@nopatterns{Latin} \adddialect\l@latin0\fi % \end{macrocode} @@ -282,14 +318,14 @@ \let\l@classiclatin\l@latin \PackageWarningNoLine{babel}{% Attention: hyphenation patterns for language\MessageBreak - classiclatin have not been loaded\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} % \end{macrocode} % It must be remembered that the |medieval| and the |withprosodicmarks| -% styles may be used together. They are also compatible with +% styles might be used together. They are also compatible with % the |classic| attribute, but it would be unusual to typeset classical % Latin with some medieval features and/or with the prosodic marks that were % unknown twenty centuries ago. @@ -321,7 +357,7 @@ \def\headtoname{\ignorespaces}% Use the recipient's dative \def\pagename{Charta}% \def\seename{cfr.}% - \def\alsoname{cfr.}% R.Tabacco never saw "cfr. atque" or similar forms + \def\alsoname{cfr.}% Tabacco never saw "cfr" + `atque' or similar forms \def\proofname{Demonstratio}% \def\glossaryname{Glossarium}% } @@ -354,7 +390,7 @@ % % \begin{macro}{\datelatin} % The macro |\datelatin| redefines the command |\today| to produce -% Latin dates; the choice of faked small caps Latin numerals is +% Latin dates; the choice of small caps Latin numerals for the day number is % arbitrary and may be changed in the future. For medieval and classic Latin % the spelling of `Novembris' should be \textit{Nouembris}. This is % taken care of by using a control sequence which can be redefined @@ -404,7 +440,7 @@ \clubpenalty3000\@clubpenalty3000\widowpenalty3000} % \end{macrocode} % Hopefully never ever break a word between the last two lines of -% a paragraph in latin texts. +% a paragraph in Latin texts. % \begin{macrocode} \addto\extraslatin{% \babel@savevariable\finalhyphendemerits @@ -436,7 +472,7 @@ % natural not to change encoding while typesetting the same % language. The encoding is assumed to be set before starting to % use the Latin language, so that if Latin is the default language, -% the font encoding must be chosen before requiring the \pkg{babel} +% the font encoding must be chosen before requiring the \babel\ % package with the |latin| option, in any case before any % |\selectlanguage| or |\foreignlanguage| command. % @@ -447,7 +483,7 @@ % `u' shape of the lower case `v' and the above ligatures were % fancy styles of the copyists who were able to write faster with % those rounded glyphs; with typesetting there is no question of -% handling a quill penn\dots Moreover in medieval times it was very +% handling a quill penn\dots\ Moreover in medieval times it was very % frequent to close such ligatures to the corresponding sound, % therefore instead of writing \ae\ or \oe\ they would often simply % write `e'. Since my (CB) opinion may be wrong, I managed to set @@ -521,7 +557,7 @@ % \begin{macro}{\ProsodicMarksOff} % We begin by adding to the normal typesetting style the % definitions of the new commands |\ProsodicMarksOn| and -% |\ProsodicMarksOff| that should produce error messages when the +% |\ProsodicMarksOff| that should produce error messages when % this style is not declared: % \begin{macrocode} \addto\extraslatin{\def\ProsodicMarksOn{% @@ -566,7 +602,7 @@ % |\ProsodicMarksOn| and |\ProsodicMarksOff|, the operation of the % newly defined shorthands may be switched on and off at will, so % that even if a picture has to be inserted in the document by -% means of the commands and keyword options of the |graphicx| +% means of the commands and keyword options of the \pkg{graphicx} % package, it suffices to switch them off before invoking the % picture including command, and switched on again afterwards; or, % even better, since the picture very likely is being inserted @@ -607,7 +643,7 @@ % supposed to be used. Nevertheless in those rare cases when it's % required to set some uppercase letters with their prosodic % marks, it is always possible to use the standard \LaTeX\ commands -% such as |\u{I}| for typesetting \u{I}, or |\={A}| for +% such as |\u{I}| for typesetting \u{I}, or |\={A}| (or |\=A|) for % typesetting~\=A. % % Finally we restore the caret and equals sign initial default @@ -627,13 +663,12 @@ % \changes{latin-2.0g}{2005/11/17}{Added two commands} % \changes{latin-2.0h}{2007/10/19}{Added missing backslash} % The following commands remain defined for backwards compatibility, -% but hey are obsolete and should not be used. +% but they are obsolete and should not be used. % \changes{latin-2.0h}{2007/10/20}{Removed the setting of % \cs{LatinMarksOff} from \cs{extraslatin}} % \begin{macrocode} \addto\extraslatin{\def\LatinMarksOn{\shorthandon{^}\shorthandon{=}}} \addto\extraslatin{\def\LatinMarksOff{\shorthandoff{^}\shorthandoff{=}}} -%\addto\extraslatin{\LatinMarksOff} % \end{macrocode} % \end{macro} % \end{macro} @@ -644,12 +679,39 @@ % (only in school textbooks), this shouldn't be of any importance % for what concerns the quality of typesetting. % +%\changes{latin-3.5}{2015/08/20}{New subsection} +% \subsection{Ecclesiastic Latin style} +% We declare the |ecclesiastic| attribute; its purpose is to load the +% \pkg{ecclesiastic.sty} package, deferring this action to the moment when +% \babel\ finishes executing; actually it sends \babel\ the information to act; +% then \babel\ defers the package loading to the |\begin{document}| execution. +% This implies the availability of the |\AtEndOfPackage| and |\AtBeginDocument| +% macros which are contained in the \LaTeX\ kernel. Since +% this file is read by \babel\ the current package at the end of which +% the code is deferred is \babel\ itself, not simply this language description +% file. +% +% Differently from other attribute settings we do not declare anything +% in a possible |\extrasecclesiasticlatin| macro, because once the package +% has been read, it is impossible to pretend to delete all what the package +% defined. Actually this |ecclesiastic| attribute simply mimics the actual +% loading of a package by means of a |\usepackage| or |\RequirePackage| command; +% if loading was done with one of these commands, it would be impossible to +% unload the loaded package. +% \begin{macrocode} +\bbl@declare@ttribute{latin}{ecclesiastic}{% +\AtEndOfPackage{% + \AtBeginDocument{\RequirePackage{ecclesiastic}[2015/08/20]}% + }% +} +% \end{macrocode} +% % \changes{latin-2.0j}{2014/02/18}{Renamed this section to subsection} % \subsection{Etymological hyphenation} % In order to deal in a clean way with prefixes and compound words % to be divided etymologically, the active character |"| is given % a special definition so as to behave as a discretionary break -% with hyphenation allowed after it. You may see this sign as a +% with hyphenation allowed after it. You may consider this sign as a % substitute for a ``compound word mark''. % % This is particularly useful with classical Latin because this @@ -658,17 +720,18 @@ % prefixes or suffixes it works pretty well, it does not for certain % other ones. For example the word `redire' should be hyphenated as % `red-i-re'; but there are plenty of other words starting with the -% string `red' that does not play the r\^ole of a prefix; therefore +% string `red' that does not play the role of a prefix; therefore % it should be necessary to extract all the Latin words where `red' % is a prefix, and enter the suitable patterns to hyphenate correctly % only those words; in the simple case of the verb `redire' it would % be necessary to enter all the words that belong to the conjugation % of this verb and the declination of the present, future and past -% participles in masculine, feminine and neutral forms; the same problem -% takes place with prefix `trans' where sometimes is a real prefix, -% such as in `transire' (hyphenation trans-i-re), and sometimes is -% modified with the absorption of an initial `s' of the suffix, such -% as in `transubstantialis' (classical hyphenation: tran-subs-tan-tia-lis). +% participles and gerundive in masculine, feminine and neutral forms; +% the same problem takes place with prefix `trans' where sometimes it is +% a real prefix, such as in `transire' (hyphenation trans-i-re), and +% sometimes is modified with the absorption of an initial `s' of the +% suffix, such as in `transubstantialis' (classical hyphenation: +% tran-subs-tan-tia-lis). % Obviously this task would render the pattern file enormous, and mostly % useless. The active character |"| solves the problem for isolated instances, @@ -690,11 +753,8 @@ % comes into action. % \begin{macrocode} \declare@shorthand{latin}{"}{% - \ifmmode - \def\lt@@next{''}% - \else - \def\lt@@next{\futurelet\lt@temp\lt@cwm}% - \fi + \textormath{\def\lt@@next{\futurelet\lt@temp\lt@cwm}}% + {\def\lt@@next{''}}% \lt@@next }% % \end{macrocode} @@ -718,6 +778,7 @@ % \cs{ae} and \cs{oe}} % \begin{macrocode} \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 @@ -746,7 +807,8 @@ % correctly hyphenated as \texttt{su-per-\ae-qui-tas}. If one prefers to % close the |\ae| or |\oe| ligature commands within a group, then it is % necessary to use the alternate etymological hyphenation command \verb+"|+ -% as in \verb!super"|{\ae}quitas! in order to get \texttt{su-per-{\ae}-qui-tas}. +% as in \verb!super"|{\ae}quitas! in order to get +% \texttt{su-per-{\ae}-qui-tas}. % . % % The macro |\ldf@finish| takes care of looking for a @@ -761,22 +823,6 @@ %\fi % % \Finale -%% -%% \CharacterTable -%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -%% Digits \0\1\2\3\4\5\6\7\8\9 -%% Exclamation \! Double quote \" Hash (number) \# -%% Dollar \$ Percent \% Ampersand \& -%% Acute accent \' Left paren \( Right paren \) -%% Asterisk \* Plus \+ Comma \, -%% Minus \- Point \. Solidus \/ -%% Colon \: Semicolon \; Less than \< -%% Equals \= Greater than \> Question mark \? -%% Commercial at \@ Left bracket \[ Backslash \\ -%% Right bracket \] Circumflex \^ Underscore \_ -%% Grave accent \` Left brace \{ Vertical bar \| -%% Right brace \} Tilde \~} -%% +% \endinput |