From f1810cf69dfd54374426664fa922a3ddd7813df2 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 18 Dec 2013 22:00:31 +0000 Subject: teubner (18dec13) git-svn-id: svn://tug.org/texlive/trunk@32437 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/source/latex/teubner/teubner.dtx | 858 +++++++-------------- 1 file changed, 278 insertions(+), 580 deletions(-) (limited to 'Master/texmf-dist/source/latex/teubner') diff --git a/Master/texmf-dist/source/latex/teubner/teubner.dtx b/Master/texmf-dist/source/latex/teubner/teubner.dtx index 8152c726573..265b663cefe 100644 --- a/Master/texmf-dist/source/latex/teubner/teubner.dtx +++ b/Master/texmf-dist/source/latex/teubner/teubner.dtx @@ -4,7 +4,7 @@ \input docstrip.tex \keepsilent \preamble -Copyright 2001--2012 Claudio Beccari All rights reserved. +Copyright 2001--2013 Claudio Beccari All rights reserved. This system is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -19,7 +19,7 @@ IMPORTANT NOTICE: You are not allowed to change this file. -You are allowed to distribute this file under the condition that it is +You are allowed to distribute this file under the conditions that are specified in the source file teubner.dtx. If you receive only some of these files from someone, complain! @@ -36,11 +36,10 @@ etc. The latest version of this license is in http://www.latex-project.org/lppl.txt \endpostamble -\askforoverwritetrue +\askforoverwritefalse -\generateFile{teubner.sty}{t}{\from{teubner.dtx}{package}} -\generateFile{LGRaccents-glyphs.def}{t}{\from{teubner.dtx}{defs}} -\generateFile{teubnertx.sty}{t}{\from{teubner.dtx}{tbtx}} +\generateFile{teubner.sty}{f}{\from{teubner.dtx}{package}} +\generateFile{teubnertx.sty}{f}{\from{teubner.dtx}{tbtx}} \def\tmpa{plain} \ifx\tmpa\fmtname\endgroup\expandafter\bye\fi @@ -73,7 +72,7 @@ etc. %\ProvidesPackage{teubnertx}[% %\ProvidesFile{LGRaccents-glyphs}[% %<*driver,package,defs,tbtx> -2012/09/17 v.3.4 +2013/12/13 v.4.1 %Extensions for Greek philology] %Definitions of accents and glyphs for LGR encoded Greek fonts] %Access to the LGR encoded Greek fonts when TX fonts are used] @@ -98,10 +97,12 @@ etc. }{% \end{quote}\ignorespaces } + \renewcommand*\meta[1]{{\normalfont\textlangle\textit{#1}\textrangle}} + \newcommand*\pack[1]{\textsf{#1}} \newcommand*\acro[1]{\expandafter\textsc\expandafter{\MakeLowercase{#1}}} \usepackage{multicol} \usepackage[T1]{fontenc} -\usepackage{lmodern} +\usepackage{lmodern,textcomp} \begin{document} \maketitle \DocInput{teubner.dtx} @@ -109,7 +110,7 @@ etc. % % \fi % -% \CheckSum{5062} +% \CheckSum{4293} % \begin{multicols}{2}\tableofcontents\end{multicols} % % @@ -123,19 +124,20 @@ etc. % in the written text, as well as to typeset verses with special % layout. Metric sequences may be defined and typeset by means of a % companion font \texttt{gmtr????} that follows the same conventions -% as the CB fonts that are normally used when the \babel\ greek +% as the CB fonts that are normally used when the \babel\ |greek| % option is in force. % % Examples and lists of commands are available in the file % \texttt{teubner-doc.pdf} which, as a regular pdf file, embeds all % the necessary fonts and may be read on screen as well as printed on paper; % beware, though, that the PostScript fonts that are being used -% in \texttt{teubner-doc.pdf} are not distributed with the package. -% While this documentation is being written the \TeX{}-Live Team is trying -% to reduce the size of the distribution and one of the proposals is to reduce -% the number of Greek fonts distributed on \TeX-Live; therefore it might -% be necessary that the users of this \textsf{teubner} package download the -% missing fonts directly from one of the \acro{CTAN} archives. +% in \texttt{teubner-doc.pdf} are not installed by default if a basic +% installation is sought. +% +% This version 4.0 tries to adapt to the new handling of the Greek language +% by \babel, since it now this language script is based on the +% LICR (\LaTeX\ Internal Character Representation), and source files, now can +% include Greek glyphs, besides the usual transliteration with Latin letters. % \end{abstract} % % \section{Introduction} @@ -143,7 +145,7 @@ etc. % alphabets and several special symbols in order to mark up their % texts and to typeset them in a special way. Greek philology makes % no exception, therefore I prepared this file and some extra fonts -% in order to complement what is already available with the greek +% in order to complement what is already available with the |greek| % option of the \babel\ package. % % I must warmly thank Paolo Ciacchi of the University of Trieste who @@ -154,7 +156,7 @@ etc. % % Paolo Ciacchi's ``invitation'' arrived when I was almost finished % with the design of the Lipsian font family; I was working on this new -% typeface after a kind request of Dimitri Filippou, with whom I +% typeface after a kind request by Dimitri Filippou, with whom I % already collaborated for other questions related to Greek % typesetting. I warmly thank also Dimitri Filippou for the % patience with which he revised every single glyph of the new @@ -163,31 +165,31 @@ etc. % end I think that the new typeface turned out pretty well thanks to % both my friends. % -% The Lipsian font, also called Leipzig or Lipsiakos in Greece, is one of the +% The Lipsian font, also called Leipzig, or Lipsiakos in Greece, is one of the % oblique fonts that used to be employed by the typesetters working in the % German city of Leipzig, among which the Teubner Printing Company. % This Company's classical works of ancient Greek poetry are considered among % the best ever published. The name of this file and this extension -% package is in honor of that printing company. +% package is in honour of that printing company. % % This package documentation does not contain any example written in % Greek, because when you process this file it is very likely that % you don't have the suitable Greek fonts and you must still download -% all or some of them. Therefore a companion -% file \texttt{teubner-doc.pdf} is included in this bundle where most, -% if not all, the new commands are documented and suitably shown. +% all or some of them. Therefore a companion file \texttt{teubner-doc.pdf} +% is included in this bundle where most, if not all, new commands +% are documented and suitably shown. % % This package contains new environments and new commands; it presumes -% the user invokes it after declaring the \texttt{greek} option to the \babel\ +% the user invokes it after declaring the |greek| option to the \babel\ % package; should he forget, this package will complain. But once the -% \texttt{greek} option is properly declared, this package verifies that the -% |polutonikogreek| dialect is selected, or that the |polutoniko| attribute -% is set. This choice depends on the particular version of the \babel\ -% package, but should not concern the user; switching back and forth -% between classical Greek and some modern western language is performed -% in a transparent way; possibly there might be some problem switching -% from classical to modern spelling in Greek itself, but since in modern -% spelling the multiplicity of Greek diacritical marks is not forbidden, +% |greek| option is properly declared, this package verifies that the +% |polutonikogreek| dialect (deprecated) is selected, or that the +% |polutoniko| attribute is set. This choice depends on the particular +% version of the \babel\ package, but should not concern the user; switching +% back and forth between classical Greek and some modern western language +% is performed in a transparent way; possibly there might be some problem +% switching from classical to modern spelling in Greek itself, but since in +% modern spelling the multiplicity of Greek diacritical marks is not forbidden, % it's the author choice to select classical or modern words, Lipsian or % Didot fonts, polytonic or monotonic accentuation. The worst it can happen % is that \babel\ might use just one hyphenation pattern set, so that in @@ -197,28 +199,40 @@ etc. % The CB Greek fonts, which have been available for some years now on % \acro{ctan} in the directory \texttt{/tex-archive/fonts/greek/cb} have % been completed with the new files for the Lipsian fonts, and the metric -% symbols font \texttt{gmtr????.*}; -% the latter does not need a formal font definition file, because -% the necessary definitions are included in this package. +% symbols font \texttt{gmtr????.*}; the latter does not need a formal font +% definition file, because the necessary definitions are included in this package. % All fonts are available also as Type~1 scalable fonts. In general, recent % distributions of the \TeX\ system already contain the necessary -% configuration to use the Type~1 font in one size, 10\,pt, but, thanks +% configuration to use the Type~1 font in one size, 10\,pt, but, thanks to % scaling, these can be used at any size; this version of \textsf{teubner} % is compatible with this reduced set. If optical sizes are desired for % a more professional typesetting, the \acro{ctan} archives contain also % the \textsf{cbgreek-full} package, which includes also all the Type~1 % fonts at the various standard (EC) sizes, plus other facilities that allow -% to use the CB fonts also in conjunction with the Latin Modern ones. +% to use the CB fonts also in conjunction with the Latin Modern ones. Complete +% installations of the \TeX\ system include the full CB fonts installation. % % The CB Greek fonts allow to input Greek text with a Latin keyboard and % by employing the prefix notation; with a Greek keyboard and file % \texttt{iso-8859-7.def} it is possible to directly input Greek text with the % monotonic spelling; if polytonic spelling is required I fear that the above % file is of little help and that a Latin keyboard does the job without -% an excessive burden. +% an excessive burden. The recent modifications to the \babel\ package and of the +% Greek language description file allow to enter also polytonic Greek text, +% keyboard permitting, with no effort; it is necessary to use the |utf8| +% input encoding. It's important to notice the Apple computers have available +% a virtual keyboard (called keyboard viewer) that is operable with the mouse +% and, just by selecting the \emph{Greek Polytonic} keyboard driver, the +% author can enter Greek text directly in the source file. Computer with a +% touch screen virtual keyboard allow to switch from on's the national to +% the Greek keyboard just by a single sweep of the finger. Some platforms +% have the possibility of switching keyboard but they don't show the new +% keyboard layout on the screen, but the user can generally build a personal +% table that describes the correspondence betwwen the key board and the +% physical keyboard layout. % % Nevertheless there is a little point to observe; Lipsian fonts are very -% nice but show most kerning errors with more evidence than the traditional +% nice but show some kerning errors with more evidence than the traditional % Didot Greek fonts. With the prefix notation in force, kerning programs may % result disabled and some diphthongs and some consonant-vowel combinations % appear poorly matched when the second letter caries any diacritical mark. In @@ -230,11 +244,11 @@ etc. % used to it, and agree that the effort is worth the result. % % \section{Environments} -% I apologize if I chose Italian names for verse environments; I wanted to +% I apologise if I chose Italian names for verse environments; I wanted to % use names very different from the corresponding English ones, but at the -% same time easily recognizable; after all \emph{versi} is the plural of +% same time easily recognisable; after all \emph{versi} is the plural of % \emph{verso} and therefore is the exact Italian translation of \emph{verses}. -% If you feel more comfortable with Latin the alias environment names +% If you feel more comfortable with Latin, the alias environment names % in Latin, |versus|, |Versus|, and |VERSUS|, are also available. % % \DescribeEnv{versi} @@ -360,15 +374,23 @@ etc. % I am pleased to thank G\"unter Milde who wrote a definition file for accessing % the LGR encoded fonts in order to fetch the accented glyphs; I kindly gave me % permission to use his macros, that I adapted to the conventions used within this -% file. These macros are saved into the definition file |LGRaccent-glyph.def|, so -% that it can be used also without the |teubner| package, fore example for -% typesetting without setting the \emph{polytoniko} language attribute. +% file. These macros were saved into the definition file |LGRaccent-glyph.def|, so +% that it could be used also without the |teubner| package, for example for +% typesetting without setting the \emph{polytoniko} language attribute. But +% since he became the maintainer of the Greek language support for the \babel\ +% package, he extended this support to the point that the extended macros are +% already part of the new Greek support files. % % I got some ideas also from a paper that Werner Lemberg published on Eutypon, the % magazine of the Hellenic Friends of \TeX, where he discussed in a constructive % critical way the problems connected with the LGR encoded fonts and the Unicode % encoding. % +% Now the new Greek support for the \babel\ package, thanks to G\"unter Milde, +% includes also the support for Unicode input in the source file, in spite of +% using LGR encoded output fonts. The actual support is partially useful also +% with XeLaTeX and LuaLaTeX. +% % \StopEventually{} % % \section{Code} @@ -381,14 +403,14 @@ etc. % in facts, the black leader that joins the curved extremities appeared a little too % fat and did not join exactly the left mark. Recently, apparently, the fonts have % been corrected and this trick is not necessary any more. Nevertheless we define -% a new boolean that copes with the fact that sin 2007 the \TeX\ engine is +% a new boolean that copes with the fact that since 2007 the \TeX\ engine is % \textsf{pdftex} even when DVI output is sought: %\iffalse %<*package> %\fi % \begin{macrocode} \newif\ifPDF \PDFfalse -\@ifundefined{pdfoutput}{\PDFfalse}{\ifnum\pdfoutput>\z@\PDFtrue\fi} +\@ifundefined{pdfoutput}{}{\ifnum\pdfoutput>\z@\PDFtrue\fi} % \end{macrocode} % When \texttt{teubner.sty} is input the language Greek must have been already % defined; otherwise an error message is issued and processing is terminated. @@ -397,12 +419,12 @@ etc. \PackageError{teubner}{Greek language unknown!\MessageBreak I am not going to use Lipsian fonts and Scholars' signs\MessageBreak if Greek is unknown.\MessageBreak -Use the babel package with the \texttt{greek} option.\MessageBreak +Use the babel package greek option.\MessageBreak Type X to exit.}% {Type X to exit.} \fi % \end{macrocode} -% If this test is passed, this means that not only the greek option to the \babel\ +% If this test is passed, this means that not only the greek option to the \babel\ % package is set, but also that all the \babel\ machinery is available. % % Since \texttt{teubner.sty} accepts some options it is necessary to provide @@ -414,13 +436,10 @@ Type X to exit.}% % accent-vowel macros contain only lowercase letters. The point is that accent vowel % sequences that directly access the accented glyph are made up as such: % \begin{sintassi} -% \bslash \meta{base character}\meta{first diacritic}\meta{second diacritic}% -% \meta{third diacritic} +% \bslash \meta{base character}\meta{first diacritic}\meta{second diacritic}\meta{third diacritic} % \textrm{where} -% \meta{first diacritic} \textrm{is \texttt{d} or \texttt{r} or \texttt{s} for -% diaeresis, rough or smooth breadth} -% \meta{second diacritic} \textrm{is \texttt{c} or \texttt{a} or \texttt{g} for -% circumflex or acute or grave} +% \meta{first diacritic} \textrm{is \texttt{d} or \texttt{r} or \texttt{s} for diaeresis, rough or smooth breadth} +% \meta{second diacritic} \textrm{is \texttt{c} or \texttt{a} or \texttt{g} for circumflex or acute or grave} % \meta{third diacritic} \textrm{is \texttt{i} for iota subscript or adscript} % \end{sintassi} % Evidently none of the diacritical marks is compulsory, but at least one must @@ -428,19 +447,26 @@ Type X to exit.}% % |\oR| means omicron with rough breath, it is not very important that it is % declared with the standard sequence | to exit.}% % |boldLipsian| and the Lipsian fonts used in medium series will be substituted % with those of the semi\-bold one. % -% At the same time, from July 2005 and for a few years, the full collection of the complete size set of -% the CB fonts has not been available any more \emph{as the default \TeX\ system set up}; -% only the 10pt size were available unless the \texttt{cbgreek-full} font package is -% loaded; for this reason a new option is needed in order to instruct -% \texttt{teubner.sty} to use the specific file \texttt{type1ec.sty} dated at least -% 2002/09/07, so as to scale up or down all the EC and CB fonts from an original -% 10\,pt size. In order that the \texttt{10pt} plays its role correctly, it is -% convenient, if not compulsory, to require first the \texttt{babel} package, then -% the \texttt{teubner} one with the option \texttt{10pt}, then all other packages -% required for a specific document, in particular the \texttt{fontenc} one if the -% \texttt{T1} encoding is requested. +% At the same time, from July 2005 and for a few years, the full collection +% of the complete size set of the CB fonts has not been available any more +% \emph{as the default \TeX\ system set up}; only the 10pt size were available +% unless the \texttt{cbgreek-full} font package was loaded; for this reason +% a new option was needed in order to instruct \texttt{teubner.sty} to use +% the specific file \texttt{type1ec.sty} dated at least 2002/09/07, so as to +% scale up or down all the EC and CB fonts from an original 10\,pt size. +% In order that the \texttt{10pt} plays its role correctly, it was convenient, +% if not compulsory, to require first the \texttt{babel} package, then the +% \texttt{teubner} one with the option \texttt{10pt}, then all other packages +% required for a specific document, in particular the \texttt{fontenc} +% one if the \texttt{T1} encoding is requested. All this is maintained for +% backward compatibility, and should not be necessary any more; now the +% complete set of the CB fonts gets installed with every full installation +% of the \TeX\ system, but with partial or basic installations, such option +% might turn out to be useful even now. % % This kludge is necessary for all fonts that have description files that use the % |\EC@family| command for describing the available shapes and sizes; in practice @@ -468,7 +499,7 @@ Type X to exit.}% % description files for the CB fonts are part of the \babel\ package, so this % problem does not exist; when using other fonts, such as the TX, PX, ZE,~\dots, % other kludges are necessary, because their font family names are different from -% those normally used with \TeX: |cmr| for serifed fonts, |cmss| for sanserif ones, +% those normally used with \TeX: |cmr| for serifed fonts, |cmss| for sans serif ones, % and |cmtt| for monospaced ones.\footnote{Even the Latin Modern fonts have % different family names, but, due to their importance, specific font description % files have been added to the \babel\ package. The LM fonts are more comfortable @@ -476,7 +507,7 @@ Type X to exit.}% % continuously scalable and download into the produced files less font files than % the EC o cm-super ones. Unless specifically requested, the LM fonts should always % be preferred to the EC and cm-super ones. When using the LM fonts, its better to -% use the full collection of the CB fonts, although the CB font description files +% use the full collection of the CB fonts, even if the CB font description files % are compatible with the single 10\,pt size.} % % Notice that when using, for example, the TX fonts and no kludge is available, the @@ -485,7 +516,7 @@ Type X to exit.}% % real Greek text in different shapes and series has to be typeset, the unaware % typesetter might get crazy trying to force shape and series changes in the Greek % text; it would not be impossible, but it would be very, very boring. In any case -% see in the sequel for the implemented kludges in order to run successful +% see in the next sections the implemented kludges in order to run successful % compilations also with non standard \TeX\ system fonts. % \begin{macrocode} \newif\ifor\orfalse % Compatibility with older versions @@ -500,14 +531,15 @@ Type X to exit.}% \ProcessOptions* % \end{macrocode} % -% In the sequel we frequently use the acronym for the Greek font encoding; we hope -% it will eventually become \texttt{GR} or, following the actual 256 glyph font -% encodings, \texttt{T7} or \texttt{X7}\footnote{Apparently \texttt{T7} has been -% chosen to define an encoding where the first 128 glyphs are the standard -% \texttt{OT1} encoded Latin fonts, and the second group again of 128 glyphs +% In the next sections we frequently use the acronym for the Greek font encoding; +% we hope it will eventually become \texttt{GR} or, following the actual 256 glyph +% font encodings, \texttt{T7} or \texttt{X7}\footnote{Apparently \texttt{T7} has been +% reserved to define an encoding where the first 128 glyphs are the standard +% \texttt{OT1} encoded Latin fonts, and the second group, again of 128 glyphs, % contains the Greek characters; therefore, since polytonic spelling requires more % than 128 glyphs, the extended encoding \texttt{X7} will probably become the one -% applicable to the whole set of the CB fonts.}. +% applicable to the whole set of the CB fonts. Time passing by, the \texttt{X7} +% encoding name apparently has been used for some nordic language.}. % Meanwhile the acronym is \texttt{LGR}, so we'd better define a symbolic name, so % that we can change the definitive name in just one place. % \begin{macrocode} @@ -515,7 +547,9 @@ Type X to exit.}% % \end{macrocode} % % Now the default Olga Greek fonts, used for rendering the ``Greek italic shape'' -% are an alternative with the Lipsian ones. If the \texttt{10pt} option was +% are an alternative with the Lipsian ones. +% +% If the \texttt{10pt} option was % specified it is necessary to load also the package texttt{type1ec.sty}. % In any case we load also packages |graphicx| and |ifthen| that shall be useful % for some commands. @@ -548,7 +582,7 @@ Type X to exit.}% % \end{macrocode} % \end{macro} % Next we require the package for extensible math fonts; it might be strange to use -% extensible math fonts in Greek philology, but a certain command must be picked up +% extensible math fonts in Greek philology, but a certain glyph must be picked up % from such fonts, with the assurance that it changes size together with the % current font size. % \begin{macrocode} @@ -558,14 +592,17 @@ Type X to exit.}% % Some macros are necessary to switch languages; such macros must be independent % (at least for now) from the particular \babel\ version, whether it be version % 3.6, 3.7, or~3.8; in the former the concept of ``language attribute'' is unknown, -% while the latter recognizes varieties of the same language by the attribute -% setting. Such macros, besides being as robust as possible, must provide the +% while the latter recognises varieties of the same language by the attribute +% setting. With \babel\ version 3.9g things have further changed; the attribute +% to a language may be appended to the language name with an interposed dot; +% for example for Greek it might be |greek.polutoniko|. +% Such macros, besides being as robust as possible, must provide the % alphabet changes as required. % %\begin{macro}{\GreekName} % During the language switching operations |\GreekName| % distinguishes the dialect or the main language whose attribute -% gets set and, evidently, becomes effective when the main language \texttt{greek} +% gets set and, evidently, becomes effective when the main language |greek| % is in force. % \begin{macrocode} \ifx\languageattribute\undefined @@ -592,7 +629,8 @@ Type X to exit.}% % %\begin{macro}{\substitutefontfamily} %\begin{macro}{\ifLipsian} -% The font macro |\substitutefontfamily| is already present in the \babel\ kernel; +% The font macro |\substitutefontfamily| is already present in the \babel\ kernel, but +% with version 3.9g it is deprecated, although maintained for backwards compatibility; % it copes only with the standard families, series and shapes, therefore it does not % consider the Lipsian shape and its series. I had to redefine it together with a % new conditional macro in order to do the same job as the original one but taking @@ -601,7 +639,13 @@ Type X to exit.}% % Greek encoding, but have the names of the Latin font families; such font % description files, simply substitute these non existent encoding-family series and % shapes with the existing series and shapes of any other LGR encoded Greek font, in -% particular the CB ones. By issuing a command such as: +% particular the CB ones. +% Things might change in the future, so as to use the package by G\"unter Milde +% \texttt{substitutefont} package (already present in the \acro{ctan} archive) or +% other solutions by the core of \babel. Meanwhile we cope with what is available +% right now. +% +% By issuing a command such as: % \begin{sintassi}\ttfamily % \texttt{\string\ifFamily}\{pxr\}\{cmr\} % \end{sintassi} @@ -669,7 +713,7 @@ Type X to exit.}% % |\n@xt| to be an alias to |\iftrue| or |iffalse| depending on the fact that the % CM (or EC) fonts or the LM fonts are the default Latin ones, in this case it sets % the |\n@xt| macro equivalent to |\iftrue|, otherwise it sets it to |\iffalse|. In -% order to succeed, it requires to analyze the first two letters of the default +% order to succeed, it requires to analyse the first two letters of the default % family name; if these letters form one of the sequences |cm| or |lm|, the CM or % LM fonts have been loaded, otherwise some other fonts are in force. We need % therefore a macro with delimited arguments in order to extract the first two @@ -697,7 +741,7 @@ Type X to exit.}% % map the missing family to the ordinary Computer Modern ones; the actual fonts are % the same, but the latter font definition files cope with the \emph{10pt} option, % while the former don't.}; by specifying |\Lipsiantrue| you state that you want to -% create entries also for the Lipsian series and shape; The macro provides to reset +% create entries also for the Lipsian series and shape; the macro provides to reset % |\Lipsianfalse| in order to avoid that other calls of that macro on non serifed % or monospaced fonts try to create entries that in any case do not exist: the % Lipsian font comes only as a serifed font! In this way, if you are using @@ -722,7 +766,7 @@ Type X to exit.}% % the |\substitutefontfamily| macro right after calling that font package and by % using the correct family names; similarly you might substitute the new Latin font % family names to other Greek font family names, if you have other fonts available. -% At the same time at begin document we memorize the name and encoding of the Latin +% At the same time at begin document we memorise the name and encoding of the Latin % font used for the default language, so that when returning to Latin font % typesetting after Greek font typesetting, the proper language typesetting rules % and encoding are restored. @@ -740,14 +784,15 @@ Type X to exit.}% \edef\previouslanguage{\languagename}% \edef\previousencoding{\f@encoding}} % \end{macrocode} +% % Nevertheless all this requires a minimum of attention in specifying the options -% for the \babel\ package and in the order extensions packages are read in. The +% for the \babel\ package and in the order extensions packages are input. The % |teubner.sty| package should be read \emph{after} any other package that sets or % resets the Latin font encoding; for example if the T1 encoding is selected as the -% default one, in place of the OT1 encoding, then -% this choice must be made before this package is read in. Similarly when the -% \babel\ options are specified, remember that the last language name becomes the -% default language at begin document; never specify \texttt{greek} as the last +% default one, in place of the OT1 encoding, then this choice must be made before +% this package is read in. Similarly when the \babel\ options are specified, +% remember that the last language name becomes the default language at begin +% document; never specify |greek| as the last % language option! %\end{macro} %\end{macro} @@ -757,7 +802,7 @@ Type X to exit.}% %\begin{macro}{\Lipsiakostext} %\begin{macro}{\lishape} %\begin{macro}{\textli} -% |\lishape| is the normal declaration, modeled on the other similar macros in the +% |\lishape| is the normal declaration, modelled on the other similar macros in the % \LaTeX\ kernel, made up to chose the Lipsian shape. Nevertheless since it is a % light character, if it must blend well with the other PostScript fonts, not only % the CM and LM, but also the other ones available for typesetting with the \TeX\ @@ -771,9 +816,9 @@ Type X to exit.}% % % |\Lipsiakostext| is a \emph{declaration} stating that from now on % typesetting will be done with the Lipsian fonts; notice that the encoding and the -% language name in force before this declaration are memorized, then the current -% Greek version is selected; the |\let\~\Perispomeni| is required because swithching -% on and off may reset the active tilde and connected macros definitions. +% language name in force before this declaration are memorised, then the current +% Greek version is selected; the |\let\~\accperispomeni| is required because +% switching on and off may reset the active tilde and connected macros definitions. % |\~| in Greek must set the circumflex accent, so we make sure that this really % occurs. % \begin{macrocode} @@ -790,7 +835,7 @@ Type X to exit.}% \DeclareTextFontCommand{\textli}{\lishape}% \DeclareRobustCommand\Lipsiakostext{% \expandafter\select@language\expandafter{\GreekName}% - \let\~\Perispomeni\let~\greek@tilde\lishape} + \let\~\accperispomeni\let~\accperispomeni\lishape} % \end{macrocode} %\end{macro} @@ -799,10 +844,10 @@ Type X to exit.}% %\begin{macro}{\textLipsias} % |\textLipsias| is a command that typesets its argument with the |\Lipsiakostext| % declaration in force. The \LaTeX\ command declaration used here makes sure that -% possible italic corrections are taken into account; hte actual font switching is +% possible italic corrections are taken into account; the actual font switching is % made through the same |\Lipsiakostext| declaration, but the inner working -% maintain local this declaration, so non grouping is explicitly required; for this -% reason we suggest to use this text command rather than the font declaration. +% maintain local this declaration; for this reason we suggest to use this text +% command rather than the font declaration. % \begin{macrocode} \DeclareTextFontCommand{\textLipsias}{\Lipsiakostext} @@ -838,13 +883,13 @@ Type X to exit.}% %\end{macro} %\begin{macro}{\textDidot} % |\textDidot| is a similar macro where the common upright Greek characters are -% selected; it goes by itself that if |\textit| is specified within the +% selected; it goes by itself that if |\textli| is specified within the % |\textDidot| argument, the typesetting is or becomes identical with what % one can obtain with the |\textLipsias| command. % \begin{macrocode} \DeclareRobustCommand\textDidot[1]{{% \expandafter\select@language\expandafter{\GreekName}% - \let\~\Perispomeni\let~\greek@tilde + \let\~\accperispomeni\let~\accperispomeni \fontencoding{LGR}\rmfamily#1}} % \end{macrocode} @@ -859,7 +904,7 @@ Type X to exit.}% % maintaining the current series and shape; of course, if the shape is that related % to the Lipsian font, then the italic shape is temporarily restored (local % definition). Moreover, with the (default) Latin fonts the tilde is restored to a -% non breaking space by simly making it an active character. +% non breaking space by simply making it an active character. % \begin{macrocode} \DeclareRobustCommand\textlatin[1]{\edef\externalencoding{\f@encoding}{% \def\itdefault{it}\def\@tempA{li}\ifx\@tempA\f@shape\def\f@shape{it}\fi% @@ -901,7 +946,7 @@ Type X to exit.}% % % \begin{macro}{\strip@pt} % The \LaTeX\ kernel has the macro |\strip@pt| that strips off the pt part from the -% expanded value of a dimension register name and makes available the measure in pt +% expanded value of a dimension register and makes available the measure in pt % of the contained length (the register contains the length measure in scaled % points; the expansion performed by \TeX\ with the command |\the| converts the % scaled points to printer points and shows the result with a string of decimal @@ -909,6 +954,7 @@ Type X to exit.}% % to be a dimension register name, not its expanded contents. The |\strip@pt| % command eliminates the decimal point and the fractional part if the latter is % nought. +% % With the help of such service macro we are going to define a certain number of % ``lift accent'' macros or ``put cedilla'' macros that work with both upright and % slanted fonts, although they contain different parameters for Latin compared to @@ -1012,12 +1058,18 @@ Type X to exit.}% % \begin{macro}{\cap} % By means of the above |\cap@| macro we can define three equivalent commands to be % used either when the Greek encoding is in force, or when one of the Latin -% encodings is in force: -% \begin{macrocode} -\DeclareTextCommand{\cap}{\GRencoding@name}{\cap@} -\DeclareTextCommand{\cap}{OT1}{\cap@} -\DeclareTextCommand{\cap}{T1}{\cap@} - +% encodings is in force; but we must pay attention, because there exist already +% the command |\cap| to be used in mathematics; therefore we better exclude this +% possibility through a clever use of the |\textormath| macro. Therefore we +% first save the math command into an alia |\mcap|; then we define three +% textual commands for the various encodings |\tcap|; finnally we use +% |\textormath|: +% \begin{macrocode} +\let\mcap\cap +\DeclareTextCommand{\tcap}{\GRencoding@name}{\cap@} +\DeclareTextCommand{\tcap}{OT1}{\cap@} +\DeclareTextCommand{\tcap}{T1}{\cap@} +\DeclareRobustCommand*\cap{\textormath{\tcap}{\mcap}} % \end{macrocode} % Probably one definition would be sufficient, but on one side the presence of three % encoding dependent macros are the remains of initial works, while on the other @@ -1035,9 +1087,9 @@ Type X to exit.}% \dimen@-.5\wd4 \setbox\z@\hbox{#1}% \ifx\cf@encoding\GRencoding@name -\ifx#1i\advance\dimen@ .65\wd\z@\else\advance\dimen@ .5\wd\z@\fi + \ifx#1i\advance\dimen@ .65\wd\z@\else\advance\dimen@ .5\wd\z@\fi \else -\ifx#1i\advance\dimen@ .55\wd\z@\else\advance\dimen@ .5\wd\z@\fi + \ifx#1i\advance\dimen@ .55\wd\z@\else\advance\dimen@ .5\wd\z@\fi \fi \hbox to\z@{\kern\dimen@\box4\hss}\unhbox\z@}} @@ -1047,7 +1099,7 @@ Type X to exit.}% % \begin{macro}{\ring@cedilla} % Another cedilla like diacritical mark is the Scandinavian ring put under a letter; % the ring is taken from the metrics font, so its slot position does not depend -% on the various Latin encodings; the correct positioning requires careful +% on the various Latin encodings; the correct positioning requires careful % examination of the letter under which it is to be placed, distinguishing the Greek % from the Latin encodings: % \begin{macrocode} @@ -1121,33 +1173,44 @@ Type X to exit.}% % % \subsection{Extended accent definitions} % We will use those service macros in the definition of several accent like macros -% that keep all the intricacies away from the user. Meanwhile we input from -% a separate file |LGRaccent-glyph.def| a whole set of extended accent macros -% slightly adapted from those contained in G\"unter Milde's definition file. +% that keep all the intricacies away from the user. +% % In particular the \LaTeX\ kernel macros are used in order to declare accents, % composite glyphs, composite commands, and the like; these are used as the default % definitions; afterwards other definitions will be given that work when these % composite macros don't work. +% % In other words, while |\~| and |u| in Greek form the composite glyph ``upsilon % with circumflex'' that exists in the Greek font table, the same macro |\~| and the % letter |k| produce the superposition of a circumflex on top of a ``kappa'' glyph, % since this glyph does not exist in the Greek font table. -% Notice that all these declarations are restricted to the Greek font encoding so -% they are usable only when such encoding is in force. See the |teubner-doc.pdf| file -% for more details concerning the usefulness of the extended accent macros vs.\ the -% ligature mechanism. +%^^A +%^^A NON SEMBRA CHE FUNZIONI CON TUTTI I COMANDI;CHIEDERE A GÜNTER +%^^A +% Notice that all these declarations are restricted to the Greek font encoding +% so they are usable only when such encoding is in force. See the +% |teubner-doc.pdf| file for more details concerning the usefulness of the +% extended accent macros vs.~the ligature mechanism. In any case, with version +% 3.9g of \babel\ and the modifications introduced by G\"unter Milde, the +% actual \babel\-greek maintainer, during the year 2013, such extended accent +% macros are LICR encoded and may always be used when typesetting in Greek; +% see file \texttt{greek-fontenc.def} and \texttt{lgrenc.def} for further +% details, remembering that such files are always loaded when typesetting +% Greek texts, irrespective of the input encoding; if the encoding is +% \texttt{utf8} direct Greek glyph input is possible (if your keyboard +% allows you to do such input). % % \subsection{Special accent macros} % Now we come back to the ``accent like'' and ``cedilla like'' general macros we -% defined above, and that will be extensively used in the following definitions. +% defined above, and that will be extensively used in the following definitions. % Note that for what the circumflex is concerned, when |teubner| is in effect it is % not defined as an active character and does not work as a non breaking space. The -% command |\~| and its equivalent |\GRcirc| is just an accent macro; how do you put +% command |\~| is just an accent macro; how do you put % a non breaking space in a Greek context? By simply using the \LaTeX\ kernel macro % |\nobreakspace|; when typesetting with non-Greek fonts the |~| is certainly handy % to insert a non breaking space (a tie), but for polytonic Greek spelling in the % past 15 years or so the Greek language definition file has always used the |~| -% sign a a letter, not as an active character. If you look in the \babel\ package +% sign a letter, not as an active character. If you look in the \babel\ package % documentation related to the Greek language, you find that for what concerns the % |~| with polytonic spelling a number of ``dirty tricks'' have been used, but % nothing has been done to replace the ``tie'' function of this character when @@ -1155,66 +1218,69 @@ Type X to exit.}% % this point has been to redefine the kernel macros for typesetting figure and table % captions so as to substitute the |~| character with its explicit definition % |\nobreakspace|. It is necessary to do the same when this package is used, -% although a shorter command |\nbs| is provided in order to simplify the input +% although a shorter alias command |\nbs| is provided in order to simplify the input % keying. % \begin{macrocode} \let\nbs\nobreakspace -% \end{macrocode +% \end{macrocode} % % Before defining the Greek accents with the extended macros input with the -% |LGRaccents-glyphs.def| file, we have to define the accent supersitioning macros that +% LICR accent macros, we have to define the accent superpositioning macros that % with \pack{teubner} allow to stack from one to more accent over the base letter, % taking into account the slant of the font from which the base letter is taken. % Notice that these macros allow to set an accent on any base latter, even if that -% might be meaningless. At the same time we redefine the standard macros so as let +% might be meaningless. At the same time we redefine the standard macros so as to let % them do the same work when the LGR encoding is not in force. This duality is -% necessary, not only for backward compatibility, but also for avoidng that the -% normal redefined macros highjack the extended macro facility acquired by inputing -% the external definition file |LGRaccents-glyphs.def|. +% necessary, not only for backward compatibility, but also for avoiding that the +% normal redefined macros highjack the LICR facility. +% +% We firs define aliases for the standard \LaTeX\ accents, so that when +% entering Greek typesetting modo we can save the \LaTeX\ macros, and restore +% them upon exiting: +% \begin{macrocode} +\let\accacuto\' +\let\accgrave\` +\let\acccircon\~ +\let\accdieresi\" +\let\accbreve\u +\let\accmacron\= +% \end{macrocode} +% +%Then we define alternate macros fors these accents, as ``lifting'' accent macros, so that they can put their respective accent over any letter. % For the diaeresis we need to put an invisible character (|v| in the LGR encoded CB -% fonts) in order to avoid any ligature with an implied end of word (boundarychar) -% that turns the diaeresis into an apostrophe. +% fonts, that with LICR becomes |\textcompwordmark|) in order to avoid any ligature +% with an implied end of word (boundarychar) that turns the diaeresis into an +% apostrophe. % \begin{macrocode} \DeclareTextCommand{\G}{\GRencoding@name}[1]{\lift@accent{96}{#1}} \DeclareTextCommand{\A}{\GRencoding@name}[1]{\lift@accent{39}{#1}} \DeclareTextCommand{\C}{\GRencoding@name}[1]{\lift@accent{126}{#1}} -\DeclareTextCommand{\D}{\GRencoding@name}[1]{\lift@accent{34v}{#1}} -\DeclareTextCommand{\u}{\GRencoding@name}[1]{\lift@accent{30}{#1}} -\DeclareTextCommand{\=}{\GRencoding@name}[1]{\lift@accent{31}{#1}} -\renewcommand*\'[1]{\lift@accent{39}{#1}} -\renewcommand*\`[1]{\lift@accent{96}{#1}} -\renewcommand*\~[1]{\lift@accent{126}{#1}} -\renewcommand*\"[1]{\lift@accent{34v}{#1}} - -\input{LGRaccents-glyphs.def} -\let\GRcirc\Perispomeni -% -% \end{mcrocode} +\DeclareTextCommand{\D}{\GRencoding@name}[1]{\lift@accent{34\textcompwordmark}{#1}} +\DeclareTextCommand{\B}{\GRencoding@name}[1]{\lift@accent{30}{#1}} +\DeclareTextCommand{\M}{\GRencoding@name}[1]{\lift@accent{31}{#1}} +% +% \end{macrocode} % But we have to provide also the means for disabling the |~| shorthand that is -% reset every time the Greek language is selected again in a multilanguage document +% reset every time the Greek language is selected again in a multi language document % where language shifts take place quite often; we must also counteract the % resetting of the |\~| definition performed by the |greek.ld| file in every -% language shift; it is not important to add the accent re-definition to the -% |\extrasgreek| macro, because when this macro is executed the last definition -% given is the one that lasts until the next language shift. +% language shift; we add the accent definition to the |\extrasgreek| macro, +% and we reset them at |\noextrasgreek| execution. % \begin{macrocode} -\addto\extrasgreek{\shorthandoff{~}\let\~\Perispomeni} -\addto\noextrasgreek{\shorthandon{~}} +\addto\extrasgreek{\shorthandoff{~}\let\~\accperispomeni +\let\"\accdialytika\let\'\acctonos\let\`\accvaria} +\addto\noextrasgreek{\shorthandon{~}\let\~\acccircon +\let\"\accdieresi\let\'\accacuto\let\`\accgrave} % \end{macrocode} -% For the diaeresis we need to put an invisible character (|v| in the LGR encoded CB -% fonts) in order to avoid any ligature with an implied end of word (boundarychar) -% that turns the diaeresis into an apostrophe. % -% Besides the normal |\u| command for setting a breve command, another ``large +% Besides the normal |\B| command for setting a breve command, another ``large % breve'' is required by philologists, who need to mark a diphthong, or in general % two letters; the macro |\U| does the job, but it is the typesetter's % responsibility to input the macro argument as made of two letters (possibly with % their own accents): % \begin{macrocode} \DeclareTextCommand{\U}{\GRencoding@name}[1]{\lift@accent{151}{#1}} -% macron -\DeclareTextCommand{\=}{\GRencoding@name}[1]{\lift@accent{31}{#1}} % rough \DeclareTextCommand{\r}{\GRencoding@name}[1]{\lift@accent{60}{#1}} % smooth @@ -1242,19 +1308,19 @@ Type X to exit.}% % meaning to certain combinations, that is when they receive as argument a vowel % whose accented glyph is present in the font; in this way in order to type % ``alpha with rough breath, acute accent and iota subscript'' you can type -% \verb"<'a|", or \verb"\Ar{a}|" or |\arai| or \verb+\<'a|+, if you use Milde's +% \verb"<'a|", or \verb"\Ar{a}|" or |\arai| or \verb+\<'a|+, if you use the new standard % accent macros; the advantage of using the first notation is its short string; the % advantage of the second is that it does not break kerning commands with a -% preceeding letter; the advantage of the third is that it does not break any +% preceding letter; the advantage of the third is that it does not break any % kerning either before or after; the fourth solution produces the same result as -% the third, but it's easier to make up and you don't have to memorize any specific +% the third, but it's easier to make up and you don't have to memorise any specific % naming rule for accented glyphs. With the Lipsian font this trick is particularly % useful for any sequence of alpha and upsilon each one with its own accents and/or -% diaresis. +% diaeresis. % % In Greek the regular cedilla is meaningless, so that |\c| may be redefined % as a semivowel command; at the same time the typesetter might be more -% comfortable if he could use always the same, although longer, macro for +% comfortable if he could always use the same, although longer, macro for % marking a vowel as a semivowel one; therefore |\c| plays the same role % in Greek as |\semiv|. % \begin{macrocode} @@ -1406,7 +1472,7 @@ Type X to exit.}% % \end{macrocode} %\end{macro} % -% With the help of some of the previous macros some new commands get defined so as +% With the help of the previous macros some new commands get defined so as % to use a simple more or less mnemonic macro instead of having the typesetter type % in nested macros; these macros are valid only in the Greek and Latin encodings. % \begin{macrocode} @@ -1441,30 +1507,7 @@ Type X to exit.}% % \begin{macro}{\textemdash} % \begin{macro}{emdash} % \begin{macro}{\textendash} -% Several macros are traditionally defined for every encoding; we do not make -% exceptions. Actually all the symbols defined here can be obtained with the regular -% CB font ligatures so the macros are sort of superfluous. Nevertheless, in case any -% of the component symbols is made active and defined to perform something -% different, these macros can overcome the difficulty of producing the ligated -% glyphs. Even the |\textcompwordmark| macro, although the compound word mark is -% sort of unusual, could have been omitted, because with a Latin keyboard this -% symbol gets input by pressing the ``v'' key (``v'' stands for ``void''); all the -% hyphenation pattern files for the Greek language recognize ``v'' as a letter, an -% invisible one, that breaks any ligature, that hides the end of the word, that -% allows hyphenation (if the rest of the word is taken as a \emph{word} by \TeX\ -% itself, which does not always happens!\dots). -% \begin{macrocode} -\DeclareTextSymbol{\greekquoteleft}{\GRencoding@name}{123} -\let\textguillemotleft\greekquoteleft -\DeclareTextSymbol{\greekquoteright}{\GRencoding@name}{125} -\let\textguillemotright\greekquoteright -\DeclareTextSymbol{\textcompwordmark}{\GRencoding@name}{118} -\DeclareTextSymbol{\textemdash}{\GRencoding@name}{127} -\let\emdash\textemdash -\DeclareTextSymbol{\textendash}{\GRencoding@name}{0} - -% \end{macrocode} -% \end{macro} +% All these macros are defined by the new \texttt{lgrenc.def} file, so it is not necessary to redefine them.% \end{macro} % \end{macro} % \end{macro} % \end{macro} @@ -1483,30 +1526,26 @@ Type X to exit.}% %\begin{macro}{\Stigma} %\begin{macro}{\Sampi} %\begin{macro}{\Euro} -%\begin{macro}{\permill} Some other Greek symbols are defined; some deal with the -% lowercase and upper case Milesian numerals, that are not accessible in the -% font matrix with a normal keyboard stroke, and some deal with the Euro symbol and -% the permill symbol, that are unlikely to be used in a philological text, -% but, who knows\dots -% -% May be the standard names starting with |text| should be used; It would not be too -% difficult a task, but these names should be defined in the |greek.fd| language -% description file; I know tha Werner Lemberg ha written a paper on Eutypon on this -% subject, also in order to make use of the CB fonts with Unicode support. But this -% is just an extension to that package, so I am not going to redefine things that -% are already there or that will be there in a next version of that file. +%\begin{macro}{\permill} S +% These macros, too, are defined by the \texttt{lgrenc.def} file and subsidiaries, +% but with different names; therefore we make some aliases: % \begin{macrocode} -\DeclareTextSymbol{\stigma}{\GRencoding@name}{006} -\DeclareTextSymbol{\varstigma}{\GRencoding@name}{007} -\DeclareTextSymbol{\koppa}{\GRencoding@name}{18} -\DeclareTextSymbol{\varkoppa}{\GRencoding@name}{19}\let\coppa\varkoppa -\DeclareTextSymbol{\sampi}{\GRencoding@name}{27} -\DeclareTextSymbol{\Coppa}{\GRencoding@name}{21}\let\Koppa\Coppa -\DeclareTextSymbol{\Stigma}{\GRencoding@name}{22} -\DeclareTextSymbol{\Sampi}{\GRencoding@name}{23} -\DeclareTextSymbol{\Euro}{\GRencoding@name}{24} -\DeclareTextSymbol{\permill}{\GRencoding@name}{25} - +\let\stigma\textstigma +\let\varstigma\textvarstigma +\let\koppa\textkoppa +\let\qoppa\textqoppa +\let\coppa\textqoppa +\let\Koppa\textQoppa +\let\Coppa\textQoppa +\let\varkoppa\textqoppa +\let\sampi\textsampi +\let\Stigma\textStigma +\let\Sampi\textsampi +\let\f\textdigamma +\let\Digamma\textDigamma +\let\Euro\texteuro +\let\permill\textperthousand +\let\schwa\textschwa % \end{macrocode} %\end{macro} %\end{macro} @@ -1562,15 +1601,19 @@ Type X to exit.}% % postfixed accent notation, instead of a prefixed one, none of these macros would % be necessary (probably\dots!), but there would be other inconveniences. % -% Notice that the following code is subject to the boolean variabale |GlyphNames| -% which is set to true by default, just fort compatibility with the past; I suggest -% to use the \emph{NoGlyphNames} when typesetting new documents, since the glyphs -% are more asily specified by means of the extended accent macros that are also less -% restricted in their names; for a letter marked with a smooth breath and an acute -% accent you can indifferently type before the letter one of the following |\>\'|, -% |\>'|, |\'\>|, |\'>| at your choice. Moreover you can always postfix the mark for -% the iota subscribed at the right of the letter, without any need o memorising -% complicated names. +% Notice that the following code is subject to the boolean variable |GlyphNames| +% which is set to \emph{false} by default, just for compatibility with the past; +% I suggest to use the \emph{GlyphNames} option when when you really want to use +% such macros; remember though that all these glyphs are more easily specified by +% means of the extended accent macros that are also less restricted in their names; +% for a letter marked with a smooth breath and an acute accent you can indifferently +% type before the letter one of the following |\>\'|, |\>'|, |\'\>|, |\'>| at your +% choice. Moreover you can always postfix the mark for the iota subscribed at the +% right of the letter, without any need o memorising complicated names. +% Notice the macros |\oR| and |\oG| that have the second letter capitalised in +% order to avoid conflicts with otherwise homonymous macros defined in the \LaTeX\ +% kernel or in other packages; by maintaining the false value to the boolean +% variable |GlyphNames| you are sure to avoid conflicts. % \begin{macrocode} \ifGlyphNames \DeclareTextSymbol{\ag}{\GRencoding@name}{128} @@ -1734,7 +1777,7 @@ Type X to exit.}% \DeclareTextComposite{\Gs}{\GRencoding@name}{e}{235} \DeclareTextSymbol{\oR}{\GRencoding@name}{229} \DeclareTextComposite{\r}{\GRencoding@name}{o}{229} -\DeclareTextSymbol{\og}{\GRencoding@name}{228} +\DeclareTextSymbol{\oG}{\GRencoding@name}{228} \DeclareTextSymbol{\os}{\GRencoding@name}{230} \DeclareTextComposite{\s}{\GRencoding@name}{o}{230} \DeclareTextSymbol{\org}{\GRencoding@name}{231} @@ -1793,7 +1836,7 @@ Type X to exit.}% % At the same time it was believed that for inserting lower and upper case % ``digamma'' it was preferable to use short macros and to avoid the dilemma between % the |\ddigamma| and the |\digamma| macros, the former being the -% one defined in the \texttt{greek} extension to \babel, the latter being +% one defined in the |greek| option to \babel, the latter being % a standard mathematical symbol; initially I believed that philologists do % not use mathematical symbols so we made |\digamma| an alias for |\f|; afterwards I % found out that mathematicians, physicists, engineers,~\dots\ use the @@ -3193,7 +3236,7 @@ $\displaystyle\left.% % % \subsection{Classical Greek numerals} % When typesetting Greek it may occur to specify numbers written out as Milesian -% numerals; the \texttt{greek} option to the \babel\ package defines a couple of +% numerals; the |greek| option to the \babel\ package defines a couple of % macros for transforming explicit arabic numerals or counter contents as Milesian % numerals. Since this package offers more possibilities in the choice of those % ``non alphabetic'' characters used in the Milesian notation, such macros have to @@ -3436,352 +3479,6 @@ Illegal value (\number#1) for \string\ActicNumeral\space}} %\fi % %\iffalse -%<*defs> -%\fi -% \subsection{First set of extended accent definitions} -% These macros were originally defined by Guenter Milde -% in his file lgrenc-accents.def version 3.2 dated 2008-06-17 -% and released under the LPPL LaTeX Project Public License -% version 1.3 or ay later version. -% -% These macros were slightly modified by Claudio Beccari -% in this file, version 1.0 of 2010-04-13, in order to adapt them -% to the teubner.sty package, but they can be used independently of -% this package. -% -% This modified version is released again under the LPPL license -% version 1.3c or any later version. -% -% These definitions are a modest variation of the standard LGR -% encoded ligature set, in the sense that they don't rely on -% ligatures but on accent and composite text macros that address -% directly the accented glyphs. -% -% For example, if alpha with smooth spirit, acute accent and iota -% subscribed has to be inserted in the Greek text, the user -% can use either one of the following solutions: -% \begin{quote} -% 1) \verb+>'a|+ \\ -% 2) \verb+\>'a|+ -% \end{quote} -% Solution 1) saves hitting one key but breaks the kerning mechanism; -% Solution 2) requires hitting one more key but preserves the kerning -% mechanism. As explained in |teubner-doc.pdf| there might be some problems when -% typesetting in all capitals or in caps and small caps (just the initial is -% capitalized); in these cases the choice between either solution is not without -% consequences, especially if capitalization takes place behind the scenes, say, -% in typesetting a header that is stylized with |\MakeUppercase|. -% -% Only the diacritics that involve the breve (\u) and the macron (\=) are ``regular'' -% \TeX\ accent macros and behave almost as ordinary OT1-like accents; actually they -% allow to stack several accents over the same base letter. There is no addressing -% of the marked glyphs, because the 256-font table can't accommodate so many glyphs. -% -% This file should be usable by inputting it directly even without requiring the -% polutoniko language attribute of the Greek language. -% -% For more details read the teubner.pdf and the teubner-doc.pdf files -% that are part of the teubner package documentation. -% -% Thanks to Stanislav Kondratyev who spotted sneaky bugs in the definition of some -% commands; his testing and feedback resulted very precious. This upgraded version 3.4 -% of the |teubner| package derived from his feedback. -% -% \begin{macrocode} -\providecommand*\GRencoding@name{LGR} -\DeclareTextAccent{\u}{\GRencoding@name}{"1E} % breve -\DeclareTextAccent{\=}{\GRencoding@name}{"1F} % macron - -\DeclareTextAccent{\Dialytika}{\GRencoding@name}{"22} % dialytika -\DeclareTextAccent{\Oxia}{\GRencoding@name}{"27} % oxia -\DeclareTextAccent{\Varia}{\GRencoding@name}{"60} % varia -\DeclareTextAccent{\Perispomeni}{\GRencoding@name}{"7E} % perispomeni -\DeclareTextCommand{\'}{\GRencoding@name}{\Oxia} -\DeclareTextCommand{\`}{\GRencoding@name}{\Varia} -\DeclareTextCommand{\~}{\GRencoding@name}{\Perispomeni} -\DeclareTextCommand{\"}{\GRencoding@name}{\Dialytika} - -\DeclareTextAccent{\Dasia}{\GRencoding@name}{"3C} % rough breath/spirit -\DeclareTextAccent{\Psili}{\GRencoding@name}{"3E} % smooth breath/spirit -\DeclareTextCommand{\<}{\GRencoding@name}{\Dasia} % alias command -\DeclareTextCommand{\>}{\GRencoding@name}{\Psili} % alias command - -\DeclareTextAccent{\DialytikaOxia}{\GRencoding@name}{"23} % oxia+dialytika -\DeclareTextAccent{\DialytikaVaria}{\GRencoding@name}{"24} % varia+dialytika -\DeclareTextAccent{\DialytikaPerispomeni}{\GRencoding@name}{"20} % perisp.+dial. - -\DeclareTextAccent{\DasiaOxia}{\GRencoding@name}{"56} % oxia+rough -\DeclareTextAccent{\DasiaVaria}{\GRencoding@name}{"43} % varia+rough -\DeclareTextAccent{\DasiaPerispomeni}{\GRencoding@name}{"40}% perisp.+rough - -\DeclareTextAccent{\PsiliOxia}{\GRencoding@name}{"5E} % oxia+smooth -\DeclareTextAccent{\PsiliVaria}{\GRencoding@name}{"5F} % varia+smooth -\DeclareTextAccent{\PsiliPerispomeni}{\GRencoding@name}{"5C}% perisp.+smooth -% composite commands -\DeclareTextCompositeCommand{\"}{\GRencoding@name}{'}{\DialytikaOxia} -\DeclareTextCompositeCommand{\"}{\GRencoding@name}{\'}{\DialytikaOxia} -\DeclareTextCompositeCommand{\"}{\GRencoding@name}{`}{\DialytikaVaria} -\DeclareTextCompositeCommand{\"}{\GRencoding@name}{\`}{\DialytikaVaria} -\DeclareTextCompositeCommand{\"}{\GRencoding@name}{~}{\DialytikaPerispomeni} -\DeclareTextCompositeCommand{\"}{\GRencoding@name}{\~}{\DialytikaPerispomeni} - -\DeclareTextCompositeCommand{\'}{\GRencoding@name}{"}{\DialytikaOxia} -\DeclareTextCompositeCommand{\'}{\GRencoding@name}{\"}{\DialytikaOxia} -\DeclareTextCompositeCommand{\'}{\GRencoding@name}{<}{\DasiaOxia} -\DeclareTextCompositeCommand{\'}{\GRencoding@name}{\<}{\DasiaOxia} -\DeclareTextCompositeCommand{\'}{\GRencoding@name}{>}{\PsiliOxia} -\DeclareTextCompositeCommand{\'}{\GRencoding@name}{\>}{\PsiliOxia} - -\DeclareTextCompositeCommand{\`}{\GRencoding@name}{"}{\DialytikaVaria} -\DeclareTextCompositeCommand{\`}{\GRencoding@name}{\"}{\DialytikaVaria} -\DeclareTextCompositeCommand{\`}{\GRencoding@name}{<}{\DasiaVaria} -\DeclareTextCompositeCommand{\`}{\GRencoding@name}{\<}{\DasiaVaria} -\DeclareTextCompositeCommand{\`}{\GRencoding@name}{>}{\PsiliVaria} -\DeclareTextCompositeCommand{\`}{\GRencoding@name}{\>}{\PsiliVaria} - -\DeclareTextCompositeCommand{\~}{\GRencoding@name}{"}{\DialytikaPerispomeni} -\DeclareTextCompositeCommand{\~}{\GRencoding@name}{\"}{\DialytikaPerispomeni} -\DeclareTextCompositeCommand{\~}{\GRencoding@name}{<}{\DasiaPerispomeni} -\DeclareTextCompositeCommand{\~}{\GRencoding@name}{\<}{\DasiaPerispomeni} -\DeclareTextCompositeCommand{\~}{\GRencoding@name}{>}{\PsiliPerispomeni} -\DeclareTextCompositeCommand{\~}{\GRencoding@name}{\>}{\PsiliPerispomeni} - -\DeclareTextCompositeCommand{\Psili}{\GRencoding@name}{'}{\PsiliOxia} -\DeclareTextCompositeCommand{\Psili}{\GRencoding@name}{\'}{\PsiliOxia} -\DeclareTextCompositeCommand{\Psili}{\GRencoding@name}{`}{\PsiliVaria} -\DeclareTextCompositeCommand{\Psili}{\GRencoding@name}{\`}{\PsiliVaria} -\DeclareTextCompositeCommand{\Psili}{\GRencoding@name}{~}{\PsiliPerispomeni} -\DeclareTextCompositeCommand{\Psili}{\GRencoding@name}{\~}{\PsiliPerispomeni} - -\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{'}{\DasiaOxia} -\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{\'}{\DasiaOxia} -\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{`}{\DasiaVaria} -\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{\`}{\DasiaVaria} -\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{~}{\DasiaPerispomeni} -\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{\~}{\DasiaPerispomeni} - -% \end{macrocode} - - -% \subsection{Second set of extended accent definitions} -% Now come another bunch of Milde's macros for composite glyphs; none of them -% involves glyphs containing the subscript or adscript iota; this symbol, in facts -% is postfixed to the previous glyph macro description, so its ligature takes place -% after the previous glyph macro has been expanded; remember also that with the -% ``high accents'' you can use both input strings, for example: |>'| and |\>'|; -% therefore you can use the simple ligature input and, if kerning is not working -% well with certain glyphs, you can just add a backslash in front of the ligature -% sequence and everything gets fixed with proper ligatures. So, if |a>'u| with -% certain fonts results in broken kerning, you just change it to |a\>'u| and the -% kerning gets fixed. -% \begin{macrocode} -\DeclareTextComposite{\`}{\GRencoding@name}{a}{128} -\DeclareTextComposite{\Dasia}{\GRencoding@name}{a}{129} -\DeclareTextComposite{\Psili}{\GRencoding@name}{a}{130} -\DeclareTextComposite{\'}{\GRencoding@name}{a}{136} -\DeclareTextComposite{\Perispomeni}{\GRencoding@name}{a}{144} -\DeclareTextComposite{\~}{\GRencoding@name}{a}{144} -\DeclareTextComposite{\DasiaOxia}{\GRencoding@name}{a}{137} -\DeclareTextComposite{\DasiaPerispomeni}{\GRencoding@name}{a}{145} -\DeclareTextComposite{\DasiaVaria}{\GRencoding@name}{a}{131} -\DeclareTextComposite{\PsiliOxia}{\GRencoding@name}{a}{138} -\DeclareTextComposite{\PsiliPerispomeni}{\GRencoding@name}{a}{146} -\DeclareTextComposite{\PsiliVaria}{\GRencoding@name}{a}{139} - -\DeclareTextComposite{\`}{\GRencoding@name}{h}{152} -\DeclareTextComposite{\Dasia}{\GRencoding@name}{h}{153} -\DeclareTextComposite{\Psili}{\GRencoding@name}{h}{154} -\DeclareTextComposite{\DasiaVaria}{\GRencoding@name}{h}{163} -\DeclareTextComposite{\'}{\GRencoding@name}{h}{160} -\DeclareTextComposite{\DasiaOxia}{\GRencoding@name}{h}{161} -\DeclareTextComposite{\PsiliOxia}{\GRencoding@name}{h}{162} -\DeclareTextComposite{\PsiliVaria}{\GRencoding@name}{h}{171} -\DeclareTextComposite{\Perispomeni}{\GRencoding@name}{h}{168} -\DeclareTextComposite{\~}{\GRencoding@name}{h}{168} -\DeclareTextComposite{\DasiaPerispomeni}{\GRencoding@name}{h}{169} -\DeclareTextComposite{\PsiliPerispomeni}{\GRencoding@name}{h}{170} - -\DeclareTextComposite{\`}{\GRencoding@name}{w}{176} -\DeclareTextComposite{\Dasia}{\GRencoding@name}{w}{177} -\DeclareTextComposite{\Psili}{\GRencoding@name}{w}{178} -\DeclareTextComposite{\DasiaVaria}{\GRencoding@name}{w}{179} -\DeclareTextComposite{\'}{\GRencoding@name}{w}{184} -\DeclareTextComposite{\DasiaOxia}{\GRencoding@name}{w}{185} -\DeclareTextComposite{\PsiliOxia}{\GRencoding@name}{w}{186} -\DeclareTextComposite{\PsiliVaria}{\GRencoding@name}{w}{187} -\DeclareTextComposite{\Perispomeni}{\GRencoding@name}{w}{192} -\DeclareTextComposite{\~}{\GRencoding@name}{w}{192} -\DeclareTextComposite{\DasiaPerispomeni}{\GRencoding@name}{w}{193} -\DeclareTextComposite{\PsiliPerispomeni}{\GRencoding@name}{w}{194} - -\DeclareTextComposite{\`}{\GRencoding@name}{i}{200} -\DeclareTextComposite{\Dasia}{\GRencoding@name}{i}{201} -\DeclareTextComposite{\Psili}{\GRencoding@name}{i}{202} -\DeclareTextComposite{\DasiaVaria}{\GRencoding@name}{i}{203} -\DeclareTextComposite{\'}{\GRencoding@name}{i}{208} -\DeclareTextComposite{\DasiaOxia}{\GRencoding@name}{i}{209} -\DeclareTextComposite{\PsiliOxia}{\GRencoding@name}{i}{210} -\DeclareTextComposite{\PsiliVaria}{\GRencoding@name}{i}{211} -\DeclareTextComposite{\Perispomeni}{\GRencoding@name}{i}{216} -\DeclareTextComposite{\~}{\GRencoding@name}{i}{216} -\DeclareTextComposite{\DasiaPerispomeni}{\GRencoding@name}{i}{217} -\DeclareTextComposite{\PsiliPerispomeni}{\GRencoding@name}{i}{218} -\DeclareTextComposite{\"}{\GRencoding@name}{i}{240} -\DeclareTextComposite{\DialytikaVaria}{\GRencoding@name}{i}{241} -\DeclareTextComposite{\DialytikaTonos}{\GRencoding@name}{i}{242} -\DeclareTextComposite{\DialytikaPerispomeni}{\GRencoding@name}{i}{243} - -\DeclareTextComposite{\`}{\GRencoding@name}{u}{204} -\DeclareTextComposite{\Dasia}{\GRencoding@name}{u}{205} -\DeclareTextComposite{\Psili}{\GRencoding@name}{u}{206} -\DeclareTextComposite{\DasiaVaria}{\GRencoding@name}{u}{207} -\DeclareTextComposite{\'}{\GRencoding@name}{u}{212} -\DeclareTextComposite{\DasiaOxia}{\GRencoding@name}{u}{213} -\DeclareTextComposite{\PsiliOxia}{\GRencoding@name}{u}{214} -\DeclareTextComposite{\PsiliVaria}{\GRencoding@name}{u}{215} -\DeclareTextComposite{\Perispomeni}{\GRencoding@name}{u}{220} -\DeclareTextComposite{\~}{\GRencoding@name}{u}{220} -\DeclareTextComposite{\DasiaPerispomeni}{\GRencoding@name}{u}{221} -\DeclareTextComposite{\PsiliPerispomeni}{\GRencoding@name}{u}{222} -\DeclareTextComposite{\"}{\GRencoding@name}{u}{244} -\DeclareTextComposite{\DialytikaVaria}{\GRencoding@name}{u}{245} -\DeclareTextComposite{\DialytikaTonos}{\GRencoding@name}{u}{246} -\DeclareTextComposite{\DialytikaPerispomeni}{\GRencoding@name}{u}{247} - -\DeclareTextComposite{\`}{\GRencoding@name}{e}{224} -\DeclareTextComposite{\Dasia}{\GRencoding@name}{e}{225} -\DeclareTextComposite{\Psili}{\GRencoding@name}{e}{226} -\DeclareTextComposite{\DasiaVaria}{\GRencoding@name}{e}{227} -\DeclareTextComposite{\'}{\GRencoding@name}{e}{232} -\DeclareTextComposite{\DasiaOxia}{\GRencoding@name}{e}{233} -\DeclareTextComposite{\PsiliOxia}{\GRencoding@name}{e}{234} -\DeclareTextComposite{\PsiliVaria}{\GRencoding@name}{e}{235} -\DeclareTextComposite{\Dasia}{\GRencoding@name}{o}{229} -\DeclareTextComposite{\`}{\GRencoding@name}{o}{228} -\DeclareTextComposite{\Psili}{\GRencoding@name}{o}{230} -\DeclareTextComposite{\DasiaVaria}{\GRencoding@name}{o}{231} -\DeclareTextComposite{\'}{\GRencoding@name}{o}{236} -\DeclareTextComposite{\DasiaOxia}{\GRencoding@name}{o}{237} -\DeclareTextComposite{\PsiliOxia}{\GRencoding@name}{o}{238} -\DeclareTextComposite{\PsiliVaria}{\GRencoding@name}{o}{239} -\DeclareTextComposite{\Dasia}{\GRencoding@name}{r}{251} -\DeclareTextComposite{\Psili}{\GRencoding@name}{r}{252} - -% \end{macrocode} -% With capital letters the dialytika (diaeresis) is maintained on top of the letters -% `I' and `U', while for the other capital letters the diacritics are typeset in -% front of them, not on top of them, as it is customary with Greek typesetting best -% practice; the Unicode capital accented glyphs do exist, but they should never be -% used; the CB fonts don't even contain them. There is no concern with kerning -% because the diacritics preceding the capital letters are not preceded by something -% else; what follows is kerned the usual way. With \"I and \"U specific kernings are -% provided, if the dialytika macro |\"| is used; kerning with the dialytika -% ligature temporarily works with kludges that should not be present in any font, but -% the CB fonts have them because the |AU| and |A'U| kerning was terrible without them; -% now, with Milde's macros and or the pre-existing |\Id| and |\Ud| macros, should -% not be of any concern. -% \begin{macrocode} -\DeclareTextComposite{\"}{\GRencoding@name}{I}{219} -\DeclareTextComposite{\"}{\GRencoding@name}{U}{223} - -% Greek Extended -\DeclareTextCompositeCommand{\Psili}{\GRencoding@name}{A}{>A} -\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{A}{`A} -\DeclareTextCompositeCommand{\DasiaVaria}{\GRencoding@name}{A}{<`A} -\DeclareTextCompositeCommand{\PsiliOxia}{\GRencoding@name}{A}{>'A} -\DeclareTextCompositeCommand{\DasiaOxia}{\GRencoding@name}{A}{<'A} -\DeclareTextCompositeCommand{\PsiliPerispomeni}{\GRencoding@name}{A}{>\char126A} -\DeclareTextCompositeCommand{\DasiaPerispomeni}{\GRencoding@name}{A}{<\char126A} -\DeclareTextCompositeCommand{\>}{\GRencoding@name}{A}{>A} -\DeclareTextCompositeCommand{\<}{\GRencoding@name}{A}{E} -\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{E}{`E} -\DeclareTextCompositeCommand{\DasiaVaria}{\GRencoding@name}{E}{<`E} -\DeclareTextCompositeCommand{\PsiliOxia}{\GRencoding@name}{E}{>'E} -\DeclareTextCompositeCommand{\DasiaOxia}{\GRencoding@name}{E}{<'E} -\DeclareTextCompositeCommand{\>}{\GRencoding@name}{E}{>E} -\DeclareTextCompositeCommand{\<}{\GRencoding@name}{E}{H} -\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{H}{`H} -\DeclareTextCompositeCommand{\DasiaVaria}{\GRencoding@name}{H}{<`H} -\DeclareTextCompositeCommand{\PsiliOxia}{\GRencoding@name}{H}{>'H} -\DeclareTextCompositeCommand{\DasiaOxia}{\GRencoding@name}{H}{<'H} -\DeclareTextCompositeCommand{\PsiliPerispomeni}{\GRencoding@name}{H}{>\char126H} -\DeclareTextCompositeCommand{\DasiaPerispomeni}{\GRencoding@name}{H}{<\char126H} -\DeclareTextCompositeCommand{\>}{\GRencoding@name}{H}{>H} -\DeclareTextCompositeCommand{\<}{\GRencoding@name}{H}{I} -\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{I}{`I} -\DeclareTextCompositeCommand{\DasiaVaria}{\GRencoding@name}{I}{<`I} -\DeclareTextCompositeCommand{\PsiliOxia}{\GRencoding@name}{I}{>'I} -\DeclareTextCompositeCommand{\DasiaOxia}{\GRencoding@name}{I}{<'I} -\DeclareTextCompositeCommand{\PsiliPerispomeni}{\GRencoding@name}{I}{>\char126I} -\DeclareTextCompositeCommand{\DasiaPerispomeni}{\GRencoding@name}{I}{<\char126I} -\DeclareTextCompositeCommand{\>}{\GRencoding@name}{I}{>I} -\DeclareTextCompositeCommand{\<}{\GRencoding@name}{I}{O} -\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{O}{`O} -\DeclareTextCompositeCommand{\DasiaVaria}{\GRencoding@name}{O}{<`O} -\DeclareTextCompositeCommand{\PsiliOxia}{\GRencoding@name}{O}{>'O} -\DeclareTextCompositeCommand{\DasiaOxia}{\GRencoding@name}{O}{<'O} -\DeclareTextCompositeCommand{\>}{\GRencoding@name}{O}{>O} -\DeclareTextCompositeCommand{\<}{\GRencoding@name}{O}{W} -\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{W}{`W} -\DeclareTextCompositeCommand{\DasiaVaria}{\GRencoding@name}{W}{<`W} -\DeclareTextCompositeCommand{\PsiliOxia}{\GRencoding@name}{W}{>'W} -\DeclareTextCompositeCommand{\DasiaOxia}{\GRencoding@name}{W}{<'W} -\DeclareTextCompositeCommand{\PsiliPerispomeni}{\GRencoding@name}{W}{>\char126W} -\DeclareTextCompositeCommand{\DasiaPerispomeni}{\GRencoding@name}{W}{<\char126W} -\DeclareTextCompositeCommand{\>}{\GRencoding@name}{W}{>W} -\DeclareTextCompositeCommand{\<}{\GRencoding@name}{W}{ -%\fi -%\iffalse %<*tbtx> %\fi %\section{Accessing the CBgreek fonts when the TX fonts are selected} @@ -3789,14 +3486,15 @@ Illegal value (\number#1) for \string\ActicNumeral\space}} % using the CBgreek fonts even when other Latin fonts, different from the ``standard'' CM % and LM ones are selected for typesetting text with the Latin script. -% At the same time Antonis Tsolomitis uploaded a new package in order to let Greek users -% use some Greek fonts that match the Times eXtended ones. In order to use the de facto -% default encoding LGR for Greek fonts, he produced the necessary |lgrtxr.fd|, |lgrtxss.fd|, -% |lgrtxtt.fd|, font definition files that allow the font switching implied by the |greek| -% option to the \textsf{babel} package. These files take precedence over the mechanism -% outlined in section~\ref{ssec:LatinFontComp}, because command |\substitutefontfamily| -% first tests the existence of |lgrtxr.fd|, and, if this is not available, it may generate -% a specific one suitable for working smoothly with \textsf{teubner.sty}. +% At the same time Antonis Tsolomitis uploaded a new package in order to let +% Greek users use some Greek fonts that match the Times eXtended ones. In order +% to use the de facto default encoding LGR for Greek fonts, he produced the +% necessary |lgrtxr.fd|, |lgrtxss.fd|, |lgrtxtt.fd|, font definition files that +% allow the font switching implied by the |greek| option to the \textsf{babel} +% package. These files take precedence over the mechanism outlined in +% section~\ref{ssec:LatinFontComp}, because command |\substitutefontfamily| first +% tests the existence of |lgrtxr.fd|, and, if this is not available, it may +% generate a specific one suitable for working smoothly with \textsf{teubner.sty}. % % Now if Tsolomitis' files are available on the main system tree, these take precedence % and the \textsf{teubner} compatible files are not generated. Unfortunately Tsolomitis' -- cgit v1.2.3