summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-06-24 23:36:51 +0000
committerKarl Berry <karl@freefriends.org>2010-06-24 23:36:51 +0000
commitf678b44c8079fe4717357894acb7567b60f7a17f (patch)
tree5809de2fe364f927e19e383adbca8471103d66c7 /Master/texmf-dist
parente2f9be67491d459d2e361029e5df9da8c0f17ee9 (diff)
teubner update (24jun10)
git-svn-id: svn://tug.org/texlive/trunk@19141 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/latex/teubner/README134
-rw-r--r--Master/texmf-dist/doc/latex/teubner/README.TEXLIVE6
-rw-r--r--Master/texmf-dist/doc/latex/teubner/teubner-doc.pdfbin445909 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/teubner/teubner.txt124
-rw-r--r--Master/texmf-dist/source/latex/teubner/teubner.dtx2415
-rw-r--r--Master/texmf-dist/source/latex/teubner/teubner.ins11
-rw-r--r--Master/texmf-dist/tex/latex/teubner/LGRaccents-glyphs.def288
-rw-r--r--Master/texmf-dist/tex/latex/teubner/teubner.sty432
8 files changed, 2431 insertions, 979 deletions
diff --git a/Master/texmf-dist/doc/latex/teubner/README b/Master/texmf-dist/doc/latex/teubner/README
index 86b7d308de4..80166b52a72 100644
--- a/Master/texmf-dist/doc/latex/teubner/README
+++ b/Master/texmf-dist/doc/latex/teubner/README
@@ -1,120 +1,36 @@
- EXTENSION FOR PHILOLOGICAL TYPESETTING
+This accompanies the teubner bundle version 3.0 dated April 2010.
+Copyright 2010 Claudio Beccari
-Copyright 2001-2006 Claudio Beccari
+The bundle contains the files
-The programs contained in this bundle can be redistributed and/or
-modified under the terms of the LaTeX Project Public License
-Distributed from CTAN archives in directory macros/latex/base/lppl.txt;
-either version 1.3 of the License, or any later version.
+README this file
+teubner.txt a more descriptive file
+teubner.dtx the documented TeX source file
+teubner.ins the installation file
+teubner-doc.pdf an extended documentation file
-This bundle contains the following files
+The bundle is distributed under the LPPL license version 1.3c or any later version.
-teubner.txt this file
-teubner.dtx documented TeX file
-teubner.ins installation file
-teubner-doc.pdf documentation file
-teubner-doc.tex source documentation file
+The bundle has the status of author maintained.
-File teubner-doc.pdf is the documentation file that shows what can
-be done with this extension package and displays several examples.
-The first edition of this file could not resort to scalable type 1 Greek
-fonts (2001); by the end of 2002 such fonts were available on CTAN,
-therefore this edition not only reports the enhancements introduced in
-version 2.0 but also it displays and prints perfectly.
+The main purpose of this bundle is to provide classical philologists with some
+means for typesetting their documents that usually contain very specific notation.
-In order to use this extension package with LaTeX you have to
-install it. Run teubner.ins through LaTeX; the generated file is
-teubner.sty and must be moved where TeX the program can find it.
-This depends very much on your particular implementation of the
-TeX system, but if your system copes with the standard TeX
-directory structure and with a multiplicity of different root
-directory structures, you probably have a localtexmf root,
-containing a tex directory which on turn contains a latex
-directory. Under the latter directory create a new directory,
-named, say, teubner, and move there teubner.sty.
+This new version allows the typesetter to use both "italic" shapes: the Olga-like
+and the Lipsian-like ones; it contains extended accent macros that avoid the kerning
+problems that arise with the ligature mechanism embedded in the LGR encoded default
+CBgreek fonts; is compatible with the use of different scalable Latin Type~1 fonts; contains new designs for the horizontally stretchable markers, et cetera.
-I suggest you to create a directory teubner in the doc directory
-of the localtexmf rooted structure and move there both
-teubner-doc.pdf and teubner.dvi that you get by running LaTeX
-directly on teubner.dtx.
+The byproducts of the installation consists in a LGRaccents-gyphs.def file that might
+be separately input and used also without the teubner bundle. Moreover this new
+version generates on the fly the necessary font description files necessary to use the
+LGR encoded Greek fonts with non TeX standard PostScript fonts; for example it
+automatically generates the necessary .fd files if using the TX or the PX fonts; with
+other Type 1 fonts the necessary .fd files require manual intervention, which simply
+means giving a suitable command from within another open file that loads teubner.
-For what concerns the fonts, I suggest you download the type 1 pdf fonts
-from CTAN: there you can get also the tfm files and the sources for all
-the Greek and metric symbol files; in case you prefer to use the raster
-fonts generated by METAFONT you can download also the source METAFONT
-files.
-
-
-In the texmf rooted directory structure there should be a file
-under fontname, named special.map; edit such file and possibly add the
-line
-
-gmtr public teubner
-
-possibly preceded by a comment line of the form
-
-@c Metric symbols font
-
-This last task is not really necessary, but it is useful, because
-the generated tfm and pixel files will be automatically deposited
-in the proper directories, with no confusion with other fonts.
-
-Another important step is to control that you have the latest CB
-Greek fonts; even if you got them installed with the TeX system
-installation program, may be they are not the latest version,
-compatible with this extension package. Control your cbgreek.txt
-file and at the end of the file there is its date; this date
-should be not earlier than 15th of August 2002. If the date is earlier
-than this, connect to CTAN and download the latest version of the CB
-Greek fonts both in METAFONT and in pfb type 1 format. Follow the
-instructions for inserting the proper files in the proper directories,
-and for adding the proper map file to the configuration files of dvips
-and pdfLaTeX. If you already had the metric tfm files, remember to
-delete them in order to have them generated on the fly by LaTeX or
-pdfLaTeX, or download the newer tfm files from CTAN.
-
-
-Another question you might ask yourself: is my TeX system complete and
-up to date? The fact you installed a TeX system and you did not have the
-CB fonts may be an index that you still have the babel package locked at
-a version number earlier than 3.7. I suggest you to upgrade your TeX
-system to the most up to date one you can find on CTAN.
-
-After all these steps are done, you are ready to use your teubner
-extensions; it will not be easy at the beginning, because there
-are hundreds of new commands. Be sure to have already thoroughly
-read the documentation file teubner-doc.pdf and that you have the
-hard copy close to you. Remember though that most commands are
-latin names or abbreviations that should be familiar to any
-philologist specialized in classical/ancient European languages,
-such as classical Greek, classical Latin, et cetera.
-
-This set of extension commands has been tested in several
-documents; nevertheless I prepared them as a hobby, in the hope of
-helping a philologist friend. I hope this package may be useful
-also to you, but I must disclaim any liability for any unwanted
-results you might get, including the worst possible things that my
-happen to anybody working with a computer. I will not write down
-any strong disclaimer sentence in capital letters, because it
-should be absolutely evident that I did something I consider
-useful, but is up to you to decide to use it and to face the
-consequences (... which nevertheless I hope they are what you
-expected).
-
-If you find this package of some utility and you find some errors
-and/or some glitches, please write me by e-mail
-(claudio.beccari@polito.it). If you'd like me to realize some other
-commands, please send me by e-mail your request together with a
-scanned image containing the visual result you'd like to obtain. I
-do not guarantee I'll be able to satisfy your request, but I'll
-give it a try. In any case don't ask things LaTeX can't do; and if
-you use LaTeX, you know what are its pros and cons.
-
-Happy philological LaTeXing!
+Please, be sure to work with a 2010 updated collection of the CBgreek fonts.
Claudio Beccari
-Dipartimento di Elettronica
-Politecnico di Torino, Italy
-
-Turin, 16th of January 2006
+claudio dot beccari at gmail dot com \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/teubner/README.TEXLIVE b/Master/texmf-dist/doc/latex/teubner/README.TEXLIVE
new file mode 100644
index 00000000000..5bfc7ccd24d
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/teubner/README.TEXLIVE
@@ -0,0 +1,6 @@
+The following files have been removed in the TeX Live installation of
+the current package, typically due to duplication, lack of space, or
+missing source code. You can find these files on CTAN. If questions or
+concerns, email tex-live@tug.org.
+
+ teubner-doc.pdf
diff --git a/Master/texmf-dist/doc/latex/teubner/teubner-doc.pdf b/Master/texmf-dist/doc/latex/teubner/teubner-doc.pdf
deleted file mode 100644
index e33c899bfb7..00000000000
--- a/Master/texmf-dist/doc/latex/teubner/teubner-doc.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/teubner/teubner.txt b/Master/texmf-dist/doc/latex/teubner/teubner.txt
new file mode 100644
index 00000000000..3a558a5b75d
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/teubner/teubner.txt
@@ -0,0 +1,124 @@
+ THE TEUBNER PACKAGE VERSION 3.0 OF APRIL 2010
+ EXTENSION FOR PHILOLOGICAL TYPESETTING
+
+
+Copyright 2001-2004-2010 Claudio Beccari
+
+The programs contained in this bundle can be distributed and/or modified
+under the terms of the LaTeX Project Public License (LPPL), version 1.3c
+dated 2008-05-04 or later as it appears in
+ CTAN/macros/latex/base/lppl.tex.
+
+
+This bundle contains the following files
+
+teubner.txt this file
+teubner.dtx documented TeX file
+teubner.ins installation file
+teubner-doc.pdf documentation file
+
+File teubner-doc.pdf is the documentation file that shows what can be
+done with this extension package and displays several examples.
+Version 3.x of the teubner package contains many new enhancements, among
+which it's worth noting the new extended accent macros (that avoid
+kerning problems that show up using the ligature mechanism) and the new
+macros that allow to use the LGR encoded CBgreek fonts in conjunction
+with other PostScript scalable fonts; the compatibility with the Times
+eXtended and the Palatino eXtended fonts, accessible through the
+packages txfonts and pxfonts, are already built in; the compatibility
+with the Latin Modern fonts was already available with version 2.x of
+the teubner package.
+
+In order to use this extension package with LaTeX you have to
+install it. May be the very installation of your (recent) TeX system
+distribution already provided for it; may be your TeX system is
+configured to load missing packages on the fly. In any case you can
+check and possibly run your Package Manager (with MiKTeX follow the path
+Programs|MiKTeX Settings|Packages; with TeXlive and MacTeX (if their
+installation configuration was not the default one, that is a complete
+installation) run tlmgr). If you feel more comfortable to do everything
+by yourself and/or want to make a personal installation, run teubner.ins
+through LaTeX; the generated files are teubner.sty and LGRaccents-
+glyphs.def; they must be moved where TeX-the-program can find them. This
+depends very much on your particular implementation of the TeX system,
+but if your system copes with the standard TeX directory structure and
+with a multiplicity of different root directory structures, you probably
+have a localtexmf root, or a /texmmf in your Home directory containing a
+TeX directory which on turn contains a latex directory. Under the latter
+one create a new directory named, say, teubner and move there teubner.sty
+and LGRaccents-glyphs.def.
+
+I suggest you to create a directory teubner in the doc directory of
+the locally rooted structure and move there both teubner-doc.pdf and
+teubner.pdf that you get by running pdflatex directly on teubner.dtx.
+
+For what concerns fonts, they should already be installed with a recent
+TeX system distribution; this means that there are already all the files
+TeX-the-program needs in order to do its work; there is one point, though,
+that requires full attention; the default installation loads only the
+PostScript fonts in size 10pt; all other sizes are are obtained by
+reducing or enlarging that single size. The teubner package copes with
+this situation if you specify the "10pt" option when calling this package,
+but if you want to have perfect optical sizes, then you should download
+from CTAN the full collection and install it in your computer. The
+details for this installation require you read with due attention the
+instructions that come with your TeX system distribution; it's not
+difficult, but it requires to be very careful at every step. Remember,
+though, that your Package Manager can do all the work for you.
+
+It's important to control that you have the latest CBgreek fonts; even
+if you got them pre-installed with your TeX system distribution, may be
+they are not the latest version. The full collection has been redone
+in the year 2007; the reduced collection is a subset of the full one.
+Earlier distributions, dated at least 2002, might be compatible; if you
+get something strange is happening with the CBgreek fonts, verify if your
+fonts are up to date.
+
+Another question you might ask yourself: is my TeX system complete and
+up to date? The fact you installed a TeX system and you did not have the
+CB fonts may be an index that you still have the babel package locked at
+a version number earlier than 3.7. I suggest you to upgrade your TeX
+system to the most up to date one you can find on CTAN.
+
+Connected to this point there is the question of the updated metric files
+related to the Lipsian fonts; if your TeX system distribution has been
+updated to what is available on CTAN by May 2010, your distribution
+already contains the updated tfm files. Otherwise, please, update your
+CBgreek fonts.
+
+After all these steps are done, you are ready to use your teubner
+extensions; it will not be easy at the beginning, because there are
+hundreds of new commands. Be sure to have already thoroughly read the
+documentation file teubner-doc.pdf and that you have the hard copy close
+to you.
+
+Remember, though, that most commands are Latin names or abbreviations
+that should be familiar to any philologist specialized in classical/
+ancient European languages, such as classical Greek, Latin, et cetera.
+
+This set of extension commands has been tested in several documents;
+nevertheless I prepared them as a hobby, trying to help a friend philolo-
+gist. I hope this package may be useful also to you, but I must disclaim
+any liability for any unwanted results you might get, including the worst
+possible things that may happen to anybody using a computer.
+
+I will not write down any strong disclaimer sentence in capital letters,
+because it should be absolutely evident that I did something I consider
+useful, but is up to you to decide to use it and face the consequences
+(... which nevertheless I hope they are what you expected).
+
+If you find this package of some utility and you find some errors and/or
+some glitches, please write me by e-mail (see below). If you'd like me
+to realize some other commands, please send me by e-mail your request
+together with a scanned image containing the visual result you'd like to
+obtain. I don't guarantee I'll be able to satisfy your request, but I'll
+give it a try. In any case don't ask for things LaTeX can't do; and if
+you use LaTeX, you know what are its pros and cons.
+
+Happy philological LaTeXing!
+
+Claudio Beccari Turin, 20 of June 2010
+Former Professor of Electronics
+Politecnico di Torino, Italy
+claudio dot beccari at gmail dot com
+
diff --git a/Master/texmf-dist/source/latex/teubner/teubner.dtx b/Master/texmf-dist/source/latex/teubner/teubner.dtx
index 37e205bf2fa..7339840996a 100644
--- a/Master/texmf-dist/source/latex/teubner/teubner.dtx
+++ b/Master/texmf-dist/source/latex/teubner/teubner.dtx
@@ -24,14 +24,12 @@
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
-% \iffalse
+% \iffalse
%<*dtx>
-\ProvidesFile{teubner.dtx}
+\ProvidesFile{teubner.dtx}[2010/05/08 v.3.0k extensions for Greek philology]
%</dtx>
%<package>\NeedsTeXFormat{LaTeX2e}
-%<package>\ProvidesPackage{teubner}
-%<driver>\ProvidesFile{teubner.dtx}
- [2008/02/10 v.2.2d extensions for Greek philology]
+%<package>\ProvidesPackage{teubner}[2010/05/08 v.3.0k extensions for Greek philology]
%
%<*driver>
\documentclass{ltxdoc}
@@ -41,7 +39,7 @@
\thanks{This file
has version number \fileversion, last
revised on \filedate.}}
- \author{Claudio Beccari\\\texttt{claudio.beccari@gmail.com}}
+ \author{Claudio Beccari\\\texttt{claudio dot beccari at gmail dot com}}
\date{}
\providecommand\babel{\textsf{babel}}
\newcommand\lbr{\char123\relax}\newcommand\rbr{\char125\relax}
@@ -51,6 +49,7 @@
\end{quote}\ignorespaces
}
\newcommand*\acro[1]{\expandafter\textsc\expandafter{\MakeLowercase{#1}}}
+ \usepackage{multicol}
\begin{document}
\maketitle
\DocInput{teubner.dtx}
@@ -58,7 +57,9 @@
%</driver>
% \fi
%
-% \CheckSum{4013}
+% \CheckSum{4957}
+% \begin{multicols}{2}\tableofcontents\end{multicols}
+%
%
% \begin{abstract}
% This extension package complements the greek option of the \babel\
@@ -110,8 +111,8 @@
% 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 oblique
-% fonts that used to be employed by the typesetters working in 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
@@ -134,7 +135,7 @@
% 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 mark is not forbidden,
+% 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
@@ -143,7 +144,7 @@
%
% 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
+% 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.
@@ -179,11 +180,15 @@
% \section{Environments}
% I apologize 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.
-%
-% \DescribeEnv{versi}\DescribeMacro{\verso} The environment \texttt{versi}
-% is used to typeset verses
-% in line, without an end of line at the end of each verse; a vertical bar
+% same time easily recognizable; 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
+% in Latin, |versus|, |Versus|, and |VERSUS|, are also available.
+%
+% \DescribeEnv{versi}
+%\DescribeMacro{\verso}
+% The environment \texttt{versi} (|versus|) is used to typeset verses
+% in line, without an implicit end of line at the end of each verse; a vertical bar
% with a number on top of it marks the verse limit while allowing a numeric
% reference to a specific verse; the opening environment statement requires
% a string, a short text, in order to indent the verse lines the amount of
@@ -198,8 +203,9 @@
% instance of |\verso| or when numbering must be restarted, for example
% after an ellipsis.
%
-% \DescribeEnv{Versi} The environment \texttt{Versi} is similar to the
-% standard \LaTeX\ environment \texttt{verse}, except verses are numbered
+% \DescribeEnv{Versi}
+% The environment \texttt{Versi} (|Versus|) is similar to the
+% standard \LaTeX\ environment \texttt{verse}, except verse lines are numbered
% on multiples of~5; the opening statement requires the \meta{starting
% number} as an optional argument; if this optional argument is not specified,
% the starting number is assumed to be~1.
@@ -211,8 +217,10 @@
% \bslash end\lbr Versi\rbr
%\end{sintassi}
%
-% \DescribeEnv{VERSI}\DescribeMacro{\SubVerso}\DescribeMacro{\NoSubVerso}
-% The environment \texttt{VERSI} allows for two verse
+% \DescribeEnv{VERSI}
+% \DescribeMacro{\SubVerso}
+% \DescribeMacro{\NoSubVerso}
+% The environment \texttt{VERSI} (|VERSUS|) allows for two verse
% enumerations; the main enumeration is identical to the one performed by
% the previous environment \texttt{Versi}, while the secondary enumeration
% is in smaller digits and normally numbers consecutive verses, except
@@ -246,9 +254,9 @@
% the above environments may be used to display ``metric verses'', that is the
% pattern of long, short or ancipital symbols, together with any other metric symbol
% so as to display the metrics without disturbing the written text; when doing
-% this metric typesetting, it may happen that some verse patterns exhibit some variants;
-% in this case the \texttt{bracedmetrics} environment comes handy, because it
-% can display such variants in separate lines but grouped with a large right
+% this metric typesetting, it may happen that some verse patterns exhibit some
+% variants; in this case the \texttt{bracedmetrics} environment comes handy, because
+% it can display such variants in separate lines but grouped with a large right
% brace; some commands allow to roughly align these variants, so as to
% allow to nest several such environments as if they were single blocks of metric
% symbols. The argument of the opening statement specifies the width of the
@@ -280,21 +288,37 @@
%
% \DescribeMacro{\newmetrics} Here it might be useful to describe a command
% for defining metric sequences, so as to shorten the definition of metric verses;
-% this new command is |\newmetrics| and may be used for the definition of new commands
-% whose name \emph{may start with one digit}: precisely this digit may be one
-% of~2, 3,~4. Even if \LaTeX\ does not allow macros to contain both digits
+% this new command is |\newmetrics| and may be used for the definition of new
+% commands whose name \emph{may start with one digit}: precisely this digit may be
+% one of~2, 3,~4. Even if \LaTeX\ does not allow macros to contain both digits
% and letters, other service macros have been defined so as to handle these
% special control sequences even if they start with \emph{one} digit strictly lower
% than~5. The syntax is:
% \begin{sintassi}
% \bslash newmetrics\lbr\meta{control sequence}\rbr\lbr\meta{definition}\rbr
% \end{sintassi}
-% where \meta{definition} consists in general of a sequence of metric commands such as
-% |\longa|, |\brevis|, |\anceps|, etc.
+% where \meta{definition} consists in general of a sequence of metric commands such
+% as |\longa|, |\brevis|, |\anceps|, etc.
+%
+% \section{Acknowledgements}
+% I must thank with gratitude Paolo Ciacchi that urged me to prepare this extension
+% file in order to help him typeset his master thesis of philological type in
+% classical Greek.
+%
+% 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.
+%
+% 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.
%
% \StopEventually{}
%
% \section{Code}
+% \subsection{Preliminaries}
% The beginning of the file starts with the traditional stuff;
% as usual we provide also the means for avoiding reading this file again.
% \begin{macrocode}
@@ -303,21 +327,22 @@
\def\teubner{teubner}\else\expandafter\endinput
\fi
% \end{macrocode}
-% In order to use the PostScript pfb fonts (CM, EC, and CB) it is necessary to know if
-% we are dealing with \LaTeX\ or pdf\LaTeX; this is necessary because apparently the
-% pfb math extensible fonts derived from the \textsf{META\-FONT} counterparts do not have exactly the same
-% effective dimensions; this is why the ``zeugma'' and the ``synizesis'' signs have to be corrected
-% when the pfb fonts are used; with these, in facts, the black leader that joins the curved
-% extremities appears a little too fat and does not join exactly le left mark. Therefore we
-% define a new boolean\footnote{Thanks to Yuqing Deng who spotted an error somewhere else,
-% that followed from an improper definition of the state variable \texttt{\string\ifPDF} such
-% that the program performed correctly under \texttt{pdflatex} and crashed under \texttt{latex}.}:
+% In order to use the PostScript pfb fonts (CM, EC, and CB) it is necessary to know
+% if we are dealing with \LaTeX\ or pdf\LaTeX; this was necessary because apparently
+% the pfb math scalable fonts derived from the \textsf{META\-FONT} counterparts do
+% not have exactly the same effective dimensions; this is why the ``zeugma'' and the
+% ``synizesis'' signs have to be corrected when the pfb fonts are used; with these,
+% 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
+% \textsf{pdftex} even when DVI output is sought:
% \begin{macrocode}
\newif\ifPDF \PDFfalse
\@ifundefined{pdfoutput}{\PDFfalse}{\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.
+% When \texttt{teubner.sty} is input the language Greek must have been already
+% defined; otherwise an error message is issued and processing is terminated.
% \begin{macrocode}
\ifx\captionsgreek\undefined
\PackageError{teubner}{Greek language unknown!\MessageBreak
@@ -328,83 +353,147 @@ Type X <return> to exit.}%
{Type X <return> to exit.}
\fi
% \end{macrocode}
-% 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.
+% 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
+% Since \texttt{teubner.sty} accepts some options it is necessary to provide
% their definitions; in particular the |\or| control sequence conflicts
% with the |\or| primitive command used within the syntax of |\ifcase|\footnote{With
% version 2002/07/18 v.1.0d this has been eliminated; the option remains for
-% compatibility with older versions, but the only legal command is now \texttt{\string\oR}.};
-% |\oR|is a little exception since all the other 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:
+% compatibility with older versions, but the only legal command is now
+% \texttt{\string\oR}.}; |\oR| is a little exception since all the other
+% 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{vowel}\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
-% be present; if more than one is present it must be given in that sequence. Since |\oR|
-% means omicron with rough breath, it is not very important that it is declared
-% with the standard sequence |<o| or with |\oR|, because it never
-% falls after another letter, so that it never breaks any ligature or kerning command.
-% At the same time since all accent combinations are defined as ``text commands'', in \LaTeX\ jargon,
-% when their commands are followed by a vowel they define a ``text symbol'' that is directly the
-% glyph of the accented vowel; therefore |<o|, |\oR| and |\r{o}| are all equivalent (at the beginning of a word
-% where omicron with rough breath is the only place where you can find it). See more on this
-% point in the sequel.
+% be present; if more than one is present it must be given in that sequence. Since
+% |\oR| means omicron with rough breath, it is not very important that it is
+% declared with the standard sequence |<o| or with |\oR|, because it never
+% falls after another letter, so that it never breaks any ligature or kerning
+% command. The command is there just for completeness.
+%
+% At the same time since all accent combinations are defined as ``text commands'',
+% in \LaTeX\ jargon, when their commands are followed by a vowel (or `r') they
+% define a ``text symbol'' i.e.\ they fetch directly the glyph of the accented
+% character; therefore |<o|, |\oR| and |\r{o}| are all equivalent (at the beginning
+% of a word where omicron with rough breath is the only place where you can find
+% it). See more on this point in the sequel.
+%
+% Nevertheless, while these glyph name macros are defined by default, it is possible
+% to do without by specifying the option \emph{NoGlyphNames}, In this case the same
+% result is more comfortably obtained by using the extended accent macros whose
+% behaviour is specified in the definition file |LGRaccent-glyph.def|.
+%
+% Another unusual option is set up for being used with non standard \TeX\ system
+% fonts; we have noticed that the Lipsian fonts appear a little too light when used
+% together with the Times or the Palatino fonts; probably this is true also with
+% other PostScript fonts. In this case the user might specify the option
+% |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, The full collection of the complete size set of
-% the CB fonts is not available any more as the default; only the 10pt size are available; for this reason
-% anew 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 all EC and CB fonts from an original at 10\.pt. 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 specifica document, in particular the \texttt{fontenc} one if the \texttt{T1} encoding
-% is requested; this happens when the typesetting with fonts such as the EC, TX, PX, LM, ZE,~\dots\ ones is required.
+% the CB fonts is not available any more \emph{as the default \TeX\ system set up};
+% only the 10pt size are 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 ddown 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.
+%
+% 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
+% this happens only with the EC fonts, even when the \texttt{cm-super} scalable
+% implementation is used. For using the Latin Modern fonts (LM) new specific font
+% 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,
+% 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
+% than the EC ones, when scalable fonts are to be used, because they are
+% 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
+% are compatible with the single 10\,pt size.}
+%
+% Notice that when using, for example, the TX fonts and no kludge is available, the
+% CB fonts are loaded only as the ``error font'', since the TX fonts have different
+% family names than the CB ones; in many cases this might pass un-noticed, but if
+% 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
+% compilations also with non standard \TeX\ system fonts.
% \begin{macrocode}
\newif\ifor\orfalse % Compatibility with older versions
\DeclareOption{or}{\relax}
+\newif\ifboldLipsian \boldLipsianfalse
+\DeclareOption{boldLipsian}{\boldLipsiantrue}
\newif\ifonesizetypeone
\DeclareOption{10pt}{\onesizetypeonetrue}
+\newif\ifGlyphNames \GlyphNamestrue
+\DeclareOption{NoGlyphNames}{\GlyphNamesfalse}
\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 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.}.
-% 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.
+% 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
+% 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.}.
+% 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}
\def\GRencoding@name{LGR}
% \end{macrocode}
%
% Now the default Olga Greek fonts, used for rendering the ``Greek italic shape''
-% are substituted with the Lipsian ones; this simply requires to reenter the
-% shape definition commands used in the font description file with new commands
-% that refer to the Lipsian fonts; the font encoding is already known to the package
-% so that any encoding dependent name is correctly defined. If the \texttt{10pt} option was specified
-% it is necessary to load also the package \texttt{type1ec.sty}:
-% \begin{macrocode}
-\ifonesizetypeone\RequirePackage[10pt]{type1ec}[2002/09/07]\fi
-\input{lgrcmr.fd}
-\expandafter\EC@family\expandafter{\GRencoding@name}{cmr}{m}{it} {grml}
-\expandafter\EC@family\expandafter{\GRencoding@name}{cmr}{bx}{it} {grxl}
+% 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.
+% \begin{macrocode}
+\ifonesizetypeone
+ \RequirePackage[10pt]{type1ec}[2002/09/07]
+\fi
+\RequirePackage{graphicx}
+\RequirePackage{ifthen}
% \end{macrocode}
%
% \begin{macro}{\metricsfont} Similarly the metric symbol font is declared together
% with a command for selecting it:
% \begin{macrocode}
\DeclareFontFamily{U}{mtr}{\hyphenchar\font\m@ne}
-\EC@family{U}{mtr}{m}{n}{gmtr}
-\DeclareFontShape{U}{mtr}{m}{it}{<->ssub*mtr/m/n}{}
+%\EC@family{U}{mtr}{m}{n}{gmtr}
+\ifonesizetypeone
+\DeclareFontShape{U}{mtr}{m}{n}{<-> gmtr1000}{}%
+\else
+\DeclareFontShape{U}{mtr}{m}{n}{%
+ <-5.5> gmtr0500 <5.5-6.5> gmtr0600
+ <6.5-7.5> gmtr0700 <7.5-8.5> gmtr0800
+ <8.5-9.5> gmtr0900 <9.5-11> gmtr1000
+ <11-15> gmtr1200 <15-> gmtr1728}{}%
+\fi
+\DeclareFontShape{U}{mtr}{m}{it}{<->ssub*mtr/m/n}{}%
+\DeclareFontShape{U}{mtr}{b}{it}{<->ssub*mtr/m/n}{}%
+\DeclareFontShape{U}{mtr}{b}{n}{<->ssub*mtr/m/n}{}%
\newcommand*\metricsfont{\fontencoding{U}\fontfamily{mtr}\upshape}
% \end{macrocode}
% \end{macro}
@@ -418,10 +507,13 @@ Type X <return> 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
-% or~3.7; 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 alphabet changes as required.
-%\begin{macro}{\GreekName} During the language switching operations |\GreekName|
+% or~3.7; 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 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}
% is in force.
@@ -433,117 +525,355 @@ Type X <return> to exit.}%
\fi
% \end{macrocode}
%\end{macro}
+%
+% \subsection{Compatibility with Latin fonts}
%\begin{macro}{\previouslanguage}
-%\begin{macro}{\previousencoding} The ``default'' language is defined as the ``previous''
-% language; similarly the ``default'' encoding is defined as the ``previous'' encoding; these
-% are the language and the encoding in force when the document starts; this is why such macros
-% are defined at the beginning of the document:
+%\begin{macro}{\previousencoding}
+% The ``default'' language is defined as the
+% ``previous'' language; similarly the ``default'' encoding is defined as the
+% ``previous'' encoding; these are the language and the encoding in force when the
+% document starts; this is why such macros are defined at the beginning of the
+% document. At the same time we assure that if the CM (or EC) or the LM fonts are
+% the default ones, nothing special is done, while if the default fonts are, say,
+% the TX ones, they are correctly restored, but the CM families are used for the CB
+% ones.
+%\end{macro}
+%\end{macro}
+%
+%\begin{macro}{\substitutefontfamily}
+%\begin{macro}{\ifLipsian}
+% The font macro |\substitutefontfamily| is already present in the \babel\ kernel;
+% I 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
+% into consideration also the Lipsian shape; the purpose of this macro is to write
+% in the working directory a number of font description files that refer to the LGR
+% 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:
+% \begin{sintassi}\ttfamily
+% \texttt{\string\ifFamily}\{pxr\}\{cmr\}
+% \end{sintassi}
+% an association is made with all the series and shapes of the Palatino serifed
+% fonts to the corresponding CB serifed series and shapes; therefore when a language
+% shift changes the default encoding from, say, \texttt{T1} to \texttt{LGR} the
+% font family \texttt{LGR+pxr} is mapped to the font family \texttt{LGR+cmr} and
+% everything is supposed to work fine; when another language change resets the
+% encoding to \texttt{T1}, the original Latin script is used again. The redefined
+% |\substitutefontfamily| macro is as such:
+% \begin{macrocode}
+\newif\ifLipsian
+
+\providecommand*\substitutefontfamily{}%
+\renewcommand*\substitutefontfamily[3]{{%
+ \edef\@tempA{#1#2.fd}%
+ \lowercase\expandafter{\expandafter\def\expandafter\@tempA\expandafter{\@tempA}}%
+ \expandafter\IfFileExists\expandafter{\@tempA}{}{%
+ \immediate\openout15=\@tempA
+ \typeout{Writing file #1#2.fd}
+ \immediate\write15{%
+ \string\ProvidesFile{#1#2.fd}^^J
+ [\the\year/\two@digits{\the\month}/\two@digits{\the\day}
+ \space generated font description file]^^J
+ \string\DeclareFontFamily{#1}{#2}{}^^J
+ \string\DeclareFontShape{#1}{#2}{m}{n}{<->ssub * #3/m/n}{}^^J
+ \string\DeclareFontShape{#1}{#2}{m}{it}{<->ssub * #3/m/it}{}^^J
+ \string\DeclareFontShape{#1}{#2}{m}{sl}{<->ssub * #3/m/sl}{}^^J
+ \string\DeclareFontShape{#1}{#2}{m}{sc}{<->ssub * #3/m/sc}{}^^J
+ \string\DeclareFontShape{#1}{#2}{b}{n}{<->ssub * #3/bx/n}{}^^J
+ \string\DeclareFontShape{#1}{#2}{b}{it}{<->ssub * #3/bx/it}{}^^J
+ \string\DeclareFontShape{#1}{#2}{b}{sl}{<->ssub * #3/bx/sl}{}^^J
+ \string\DeclareFontShape{#1}{#2}{b}{sc}{<->ssub * #3/bx/sc}{}^^J
+ \string\DeclareFontShape{#1}{#2}{bx}{n}{<->ssub * #3/bx/n}{}^^J
+ \string\DeclareFontShape{#1}{#2}{bx}{it}{<->ssub * #3/bx/it}{}^^J
+ \string\DeclareFontShape{#1}{#2}{bx}{sl}{<->ssub * #3/bx/sl}{}^^J
+ \string\DeclareFontShape{#1}{#2}{bx}{sc}{<->ssub * #3/bx/sc}{}^^J
+ }%
+ \ifLipsian
+ \immediate\write15{%
+ \string\DeclareFontShape{#1}{#2}{m}{li}{<->ssub * #3/m/li}{}^^J %<- Lipsian
+ \string\DeclareFontShape{#1}{#2}{b}{li}{<->ssub * #3/b/li}{}^^J %<- Lipsian
+ \string\DeclareFontShape{#1}{#2}{bx}{li}{<->ssub * #3/bx/li}{}^^J %<-Lipsian
+ \string\DeclareFontShape{#1}{#2}{m}{ui}{<->ssub * #3/m/ui}{}^^J %<- upright Olga
+ \string\DeclareFontShape{#1}{#2}{b}{ui}{<->ssub * #3/m/ui}{}^^J %<- upright Olga
+ \string\DeclareFontShape{#1}{#2}{bx}{ui}{<->ssub * #3/bx/ui}{}^^J%<-upright Olga
+ \string\DeclareFontShape{#1}{#2}{m}{rs}{<->ssub * #3/m/rs}{}^^J %<-serifed lc
+ \string\DeclareFontShape{#1}{#2}{b}{rs}{<->ssub * #3/m/rs}{}^^J %<-serifed lc
+ \string\DeclareFontShape{#1}{#2}{bx}{rs}{<->ssub * #3/bx/rs}{}^^J%<-serifed lc
+ }%
+ \fi
+ \closeout15}%
+ }}
+
+% \end{macrocode}
+% Notice that together with the Lipsian fonts the upright italics (Olga) and upright
+% serifed lowercase alphabets are defined. In a while there are the definition for
+% selecting these shapes. Of course you are not obliged to use them, but in case you
+% wanted\dots
+%
+% These results are obtained by means of the following macros.
+%\begin{macro}{\ifCMLM}
+%\begin{macro}{\ifFamily}
+% The |\ifCMLM| processes the necessary test in order to set the auxiliary macro
+% |\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 analize 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 ffirst two
+% letters of the family name.
+%
+% \begin{macrocode}
+\def\ifCMLM#1#2#3!{\edef\f@milyprefix{#1#2}%
+ \ifthenelse{\(\equal{\f@milyprefix}{cm}\OR\equal{\f@milyprefix}{lm}\)}%
+ {\let\n@xt\iftrue}{\def\f@milyprefix{cmr}\let\n@xt\iffalse}\n@xt}
+
+% \end{macrocode}
+% The other macro |\ifFamily| uses the previous macro and according to the test
+% result, possibly runs the |\substitutefontfamily| macro that, if
+% necessary, creates the description file that map the specified family font
+% description file to the second specified font family, both connected to the LGR
+% encoding. Therefore, after these font definition files exist, \LaTeX\ can fetch
+% the Greek fonts by way of substitution. Let's explain again: if you specify
+% \begin{verbatim}
+% \Lispsiantrue\ifFamuly{pxr}{lmr}\Lipsianfalse
+% \end{verbatim}
+% you state that you want to run the macro on the serifed Palatino font family, by
+% associating the |pxr| family to the |lmr| one\footnote{If you have the full CB
+% Greek font collection it's more convenient to map the missing fonts to the Latin
+% Modern Greek ones, while if you need to use the \emph{10pt} option, you'd better
+% 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; afterwards you reset
+% |\Lipsianfalse| in order to avoid that other call 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 Palatino fonts
+% through the \textsf{pxpackage}, the |teubner| macros provide to create the
+% necessary font description files so that while you are typesetting in medium
+% normal Latin Palatino and you switch to Greek, the built in macros change the
+% encoding to LGR; The LGR Palatino serifed medium normal Greek font does not exist,
+% but that family, series and shape are mapped by the font description file to the
+% corresponding LGR encoded Latin Modern CB fonts in medium series and normal shape,
+% and typesetting goes on with the rigth Greek fonts.
+% \begin{macrocode}
+\newcommand*\ifFamily[2]{%
+\expandafter\ifCMLM#1!\else\substitutefontfamily{LGR}{#1}{#2}\fi}
+
+% \end{macrocode}
+% You don't actually need to use that macro for the Times or the Palatino eXtended
+% fonts loaded by means of the corresponding packages \textsf{txfonts} or
+% \textsf{pxfonts}, because a hook is set up so that ``at begin document'' the
+% loading of those packages is tested, and if the test is true, the necessary font
+% description files are possibly created. If you load the Tymes or the Palatino or
+% any other non standard font by means of other packages, it's up to you to issue
+% 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
+% 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.
% \begin{macrocode}
\AtBeginDocument{%
+\@ifpackageloaded{pxfonts}{\typeout{Palatino fonts loaded}%
+\Lipsiantrue\ifFamily{pxr}{cmr}\Lipsianfalse
+\ifFamily{pxss}{cmss}\ifFamily{pxtt}{cmtt}}{\relax}}
+
+\AtBeginDocument{%
+\@ifpackageloaded{txfonts}{\typeout{Times fonts loaded}%
+\Lipsiantrue\ifFamily{txr}{cmr}\Lipsianfalse
+\ifFamily{txss}{cmss}\ifFamily{txtt}{cmtt}}{}}
+
+\AtBeginDocument{%
\edef\previouslanguage{\languagename}%
- \edef\previousencoding{\f@encoding}%
-}
-% \end{macrocode}
-% Nevertheless this requires a minimum of attention in specifying the options for the
-% \babel\ package and in the order extensions packages are read in. The |teubner.sty| package
-% should be read \emph{after} any other package that sets o resets font definitions,
-% in particular if font encoding is defined; 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 language option\dots, well, unless you are going to write
-% all your document in Greek; in this case the only switching you need is between
-% Didot characters and Lipsian characters (which is simply done by means of |\upshape|
-% and |\itshape|); in any case specify the polytonic spelling.
-%\end{macro}
-%\end{macro}
-%
-%\begin{macro}{\Lipsiakostext} |\Lipsiakostext| is a declaration stating that from now on
+ \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
+% |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
+% language option!
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%
+%\begin{macro}{\Lipsiakostext}
+%\begin{macro}{\lishape}
+%\begin{macro}{\textli}
+% |\lishape| is the normal declaration, modeled 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\
+% system, it is necessary to chose the |b| (bold) series in place of the |m|
+% (medium) one, while maintaining the |bx| (bold extended) series when the other
+% fonts are set with the blacker and larger series. This is why the |\lishape|
+% declaration is a little more complicate than normal, since it has to test the
+% value of the current series. The text command |\textli| matches the similar
+% commands for Latin fonts. But the |\lishape| declaration is used also within the
+% more complicated macros for declaring or setting the Lipsian font.
+%
+% |\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\~\GRcirc| is required because swithching
-% 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}
-\DeclareRobustCommand\Lipsiakostext{\edef\previouslanguage{\languagename}%
- \edef\previousencoding{\f@encoding}%
+% 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}
+\DeclareRobustCommand{\lishape}{%
+\not@math@alphabet\lishape\relax
+\ifthenelse{\equal{\f@encoding}{\GRencoding@name}}{%
+\ifboldLipsian
+\ifthenelse{\equal{\f@series}{m}}%
+{\fontseries{b}\fontshape{li}\rmfamily}%
+{\fontshape{li}\rmfamily}\else
+\fontshape{li}\rmfamily\fi}%
+{\fontshape{it}\selectfont}}%
+
+\DeclareTextFontCommand{\textli}{\lishape}%
+\DeclareRobustCommand\Lipsiakostext{%
\expandafter\select@language\expandafter{\GreekName}%
- \let\~\GRcirc\let~\greek@tilde\itshape}
+ \let\~\GRcirc\let~\greek@tilde\lishape}
+
% \end{macrocode}
%\end{macro}
-%\begin{macro}{\NoLipsiakostext} |\NoLipsiakostext| is the opposite declaration
-% that undoes everything that was done with |\Lipsiakostext|.
+%\end{macro}
+%\end{macro}
+%\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
+% made through the same |\Lipsiakostext| declaration, but the innner 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.
% \begin{macrocode}
-\DeclareRobustCommand\NoLipsiakostext{%
- \expandafter\select@language\expandafter{\previouslanguage}%
- \expandafter\fontencoding\expandafter{\previousencoding}\upshape
- \edef\previouslanguage{\languagename}%
- \edef\previousencoding{\f@encoding}\bbl@activate{~}%
-}
+\DeclareTextFontCommand{\textLipsias}{\Lipsiakostext}
+
% \end{macrocode}
%\end{macro}
-%\begin{macro}{\textLipsias} |\textLipsias| is a command that typesets its argument
-% with the |\Lipsiakostext| declaration in force; actually the external font encoding
-% and language are not memorized, because the pertinent Greek commands are just local.
+%\begin{macro}{\NoLipsiakostext} |\NoLipsiakostext| is the opposite declaration
+% that undoes everything that was done with |\Lipsiakostext|. Probably it is
+% superfluous, but it has been asked for. If |\Lipsiakostext| is delimited within a
+% scope by means of an explicit group or an environment, it stops its effectiveness
+% with the end of its scope.
+%
+% It is worth noting that, in order to delimit within a scope the action of this and
+% of the other declarations, it is possible to use them as environments with the
+% same name without the backslash. for example one might input in the source file
+% something as:
+%\begin{quote}\obeylines
+% |\begin{Lipsiakostext}|
+% \meta{Greek text to be typeset with the Lipsian font}
+% |\end{Lipsiakostext}|
+%\end{quote}
+% Remember also that these Greek text declarations may be issued while typesetting
+% with Latin fonts; they provide also the language switch, so that they do not
+% require the typesetter to first switch to Greek and then to choose a certain Greek
+% font.
% \begin{macrocode}
-\DeclareRobustCommand\textLipsias[1]{{%
- \expandafter\select@language\expandafter{\GreekName}%
- \expandafter\fontencoding\expandafter{\GRencoding@name}%
- \itshape\let\~\GRcirc\let~\greek@tilde#1}%
-}
+\DeclareRobustCommand\NoLipsiakostext{%
+ \ifthenelse{\equal{\f@series}{b}}{\fontseries{m}}{\relax}%
+ \fontshape{n}\selectfont
+ \expandafter\select@language\expandafter{\previouslanguage}%
+ \rmfamily\bbl@activate{~}}
+
% \end{macrocode}
%\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 |\textDidot| argument, the typesetting is or becomes identical with what
+%\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
+% |\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}%
- \expandafter\fontencoding\expandafter{\GRencoding@name}%
- \upshape\let\~\GRcirc\let~\greek@tilde#1}%
-}
+ \let\~\GRcirc\let~\greek@tilde
+ \fontencoding{LGR}\rmfamily#1}}
+
% \end{macrocode}
%\end{macro}
-%\begin{macro}{\textlatin} |\textlatin| is a redefinition of the standard \babel\
-% macro that is adapted to the present situation, where it may be called behind the
-% scenes in certain situations that are beyond the control of the typesetter. Therefore
+%
+%\begin{macro}{\textlatin}
+% |\textlatin| is a redefinition of the standard \babel\ macro that is adapted to
+% the present situation, where it may be called behind the scenes in certain
+% situations that are beyond the control of the typesetter. Therefore
% every precaution is taken in order to be sure that the composition of the command
-% argument is really done with the default encoding.
+% argument is really done with the default encoding and font families, but
+% 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.
% \begin{macrocode}
\DeclareRobustCommand\textlatin[1]{\edef\externalencoding{\f@encoding}{%
+ \def\itdefault{it}\def\@tempA{li}\ifx\@tempA\f@shape\def\f@shape{it}\fi%
\expandafter\select@language\expandafter{\previouslanguage}%
- \expandafter\fontencoding\expandafter{\previousencoding}%
- \bbl@activate{~}\upshape#1}%
- \expandafter\fontencoding\expandafter{\externalencoding}\selectfont}
+ \fontencoding{\previousencoding}%
+ \fontfamily{\rmdefault}\selectfont
+ \bbl@activate{~}#1}%
+ \expandafter\fontencoding\expandafter{\externalencoding}\rmfamily}
+
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\uishape}
+%\begin{macro}{\textui}
+%\begin{macro}{\rsshape}
+%\begin{macro}{\textrs}
+% The other switching foont macros for using the other shaps that are available with
+% the CB fonts are working only when tyesetting in Greek and the default encoding is
+% therefore LGR.
+% \begin{macrocode}
+\DeclareRobustCommand\uishape{%
+\ifthenelse{\equal{\f@encoding}{\GRencoding@name}}%
+{\fontshape{ui}\selectfont}{\relax}}
+\DeclareTextFontCommand{\textui}{\uishape}
+
+\DeclareRobustCommand\rsshape{%
+\ifthenelse{\equal{\f@encoding}{\GRencoding@name}}%
+{\fontshape{rs}\selectfont}{\relax}}
+\DeclareTextFontCommand{\textrs}{\rsshape}
+
% \end{macrocode}
%\end{macro}
+%\end{macro}
+%\end{macro}
+%\end{macro}
%
+% \subsection{Service macros}
% Now we start the specific additions introduced with this package.
%
-% \begin{macro}{\numero}
-% We define a short macro |\numero| used to strip off the pt part of a dimension value
-% as displayed by \TeX\ itself; this service macro is going to be used quite a lot for
-% getting the font slant per point parameter so as to be able to put in their correct
-% position various signs over or under other signs.
-% \begin{macrocode}
-{%
-\catcode`p=12\catcode`t=12\gdef\numero#1pt{#1}%
-}
-% \end{macrocode}
-% \end{macro}
-%
+% \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
+% 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
+% digits with, possibly, a decimal fraction); its argument is supposed
+% 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
% Greek alphabets.
-% \begin{macro}{\lift@accent} The first ``lift accent'' macro just puts an accent over
-% a letter, without inserting any space between them; the first argument is the accent
-% code (decimal, hexadecimal or octal; I prefer decimal), while the second argument
-% is the letter --~any letter, even if it is not a vowel!
+% \end{macro}
+%
+% \begin{macro}{\lift@accent}
+% The first ``lift accent'' macro just puts an accent over
+% a letter, without inserting any space between them; the first argument is the
+% accent code (decimal, hexadecimal or octal; I prefer decimal), while the second
+% argument is the letter --~any letter, even if it is not a vowel!
% \begin{macrocode}
\newcommand*\lift@accent[2]{\leavevmode
-{\edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+{\edef\slant@{\strip@pt\fontdimen1\font}%
\dimen@=\z@\setbox\z@\hbox{\char#1}\advance\dimen@-.5\wd\z@
\setbox\tw@\hbox{i}\setbox\z@\hbox{#2}%
\ifdim\wd\z@>\wd\tw@\advance\dimen@ .5\wd\z@
@@ -553,16 +883,16 @@ Type X <return> to exit.}%
\@tempdima\ht\z@\advance\@tempdima-1ex\relax
\advance\dimen@\slant@\@tempdima
\raise\@tempdima\hbox to\z@{\kern\dimen@\char#1\relax\hss}\box\z@}}
+
% \end{macrocode}
% \end{macro}
%
-%
-% \begin{macro}{\Lift@accent} The second ``lift accent'' macro behaves
-% as the first one except it interposes a small
-% vertical distance between the accent and the letter:
+% \begin{macro}{\Lift@accent}
+% The second ``lift accent'' macro behaves as the first one except it interposes a
+% small vertical distance between the accent and the letter:
% \begin{macrocode}
\newcommand*\Lift@accent[2]{\leavevmode
-{\edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+{\edef\slant@{\strip@pt\fontdimen1\font}%
\dimen@=\z@\setbox\z@\hbox{\char#1}\advance\dimen@-.5\wd\z@
\setbox\tw@\hbox{i}\setbox\z@\hbox{#2}%
\ifdim\wd\z@>\wd\tw@\advance\dimen@ .5\wd\z@
@@ -572,15 +902,17 @@ Type X <return> to exit.}%
\@tempdima\ht\z@\advance\@tempdima-1ex\advance\@tempdima.1ex\relax
\advance\dimen@\slant@\@tempdima
\raise\@tempdima\hbox to\z@{\kern\dimen@\char#1\relax\hss}\box\z@}}
+
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\LIFT@accent} The third ``lift accent'' macro behaves as the first one,
-% except it interposes a specified vertical space between the letter and the accent;
-% this space is specified as the second argument:
+% \begin{macro}{\LIFT@accent}
+% The third ``lift accent'' macro behaves as the first one, except it interposes a
+% specified vertical space between the letter and the accent; this space is
+% specified as the second argument:
% \begin{macrocode}
\newcommand*\LIFT@accent[3]{\leavevmode
-{\edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+{\edef\slant@{\strip@pt\fontdimen1\font}%
\dimen@=\z@\setbox\z@\hbox{\char#1}\advance\dimen@-.5\wd\z@
\setbox\tw@\hbox{i}\setbox\z@\hbox{#3}%
\ifdim\wd\z@>\wd\tw@\advance\dimen@ .5\wd\z@
@@ -592,22 +924,26 @@ Type X <return> to exit.}%
\advance\@tempdima#2\fi\let\@tempA\undefined
\advance\dimen@\slant@\@tempdima
\raise\@tempdima\hbox to\z@{\kern\dimen@\char#1\relax\hss}\box\z@}}
+
% \end{macrocode}
% \end{macro}
%
% All these macros will be used in subsequent ``put accent'' macros, that will
% stack also several accents one above the other; the necessity arises for example
% when the macron or breve diacritical marks have to be put over accented letters;
-% according to typographical practice the accents must go over the macron or the breve.
+% according to typographical practice the accents must go over the macron or the
+% breve.
% In a similar way philologists often must use other diacritical marks in addition
-% to the traditional Greek ones, therefore these macros will be used, for example, for
-% setting the Scandinavian ring (from a Latin font) over a Greek letter (from a Greek font).
+% to the traditional Greek ones, therefore these macros will be used, for example,
+% for setting the Scandinavian ring (from a Latin font) over a Greek letter (from a
+% Greek font).
%
-% \begin{macro}{\cap@} The first such unusual diacritical mark is a small cap,
-% a small upside down breve sign, that is in position~1 of the Greek font table.
+% \begin{macro}{\cap@}
+% The first such unusual diacritical mark is a small cap, a small upside down breve
+% sign, that is in position~1 of the Greek font table.
% \begin{macrocode}
\DeclareRobustCommand{\cap@}[1]{\leavevmode
-{\edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+{\edef\slant@{\strip@pt\fontdimen1\font}%
\setbox\tw@\hbox{\fontencoding{\GRencoding@name}\selectfont
\char1}\dimen@-.5\wd\tw@
\setbox\z@\hbox{#1}%
@@ -617,51 +953,59 @@ Type X <return> to exit.}%
\ifx\cf@encoding\GRencoding@name\else
\ifx#1k\advance\dimen@-.3\wd\tw@\fi\fi
\raise\@tempdima\hbox to\z@{\kern\dimen@\box\tw@\relax\hss}\box\z@}}
+
% \end{macrocode}
% The |\ifx\cf@encoding\GRencoding@name| conditional construct shows that this
% macro behaves differently with different font encodings; the following |\ifx#1k|
% checks the argument against the Greek letter kappa, which shows very clearly
-% that these macros operate on any letter, not only vowels.
+% that these macros operate on any letter, not only on vowels.
% \end{macro}
-% \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{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@}
+
% \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
+% 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
% side they prevent to use these macros with encodings for which the macro might not
-% work well, because it was not tested with other encodings.
+% work well, because it was not tested with them.
% \end{macro}
%
-% \begin{macro}{\cap@cedilla} Similarly a small cap can be put under another letter
-% as it was a cedilla; for this task another macro is defined, which makes use of
-% the same glyph in position~1 in the Greek font table:
+% \begin{macro}{\cap@cedilla}
+% Similarly a small cap can be put under another letter as it was a cedilla; for
+% this task another macro is defined, which makes use of the same glyph in
+% position~1 in the Greek font table:
% \begin{macrocode}
\newcommand*\cap@cedilla[1]{\leavevmode
{\setbox4\hbox{\fontencoding{\GRencoding@name}\selectfont\char1}%
\dimen@-.5\wd4
\setbox\z@\hbox{#1}%
\ifx\cf@encoding\GRencoding@name
-\ifx#1i\advance\dimen@ .65\wd\z@\else\advance\dimen@ .6\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
\fi
\hbox to\z@{\kern\dimen@\box4\hss}\unhbox\z@}}
+
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\ring@cedilla} Another cedilla like diacritical mark is the
-% Scandinavian ring put under a letter; the correct positioning requires
-% careful examination of the letter under which it is to be placed, distinguishing
-% the Greek from the Latin encodings:
+% \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
+% examination of the letter under which it is to be placed, distinguishing the Greek
+% from the Latin encodings:
% \begin{macrocode}
\newcommand*\ring@cedilla[1]{\leavevmode
{\setbox4\hbox{\metricsfont\char26}%
-\edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+\edef\slant@{\strip@pt\fontdimen1\font}%
\dimen@-.5\wd4\ifdim\slant@\p@>\z@\advance\dimen@-.04ex\fi
\setbox\z@\hbox{#1}%
\ifx\cf@encoding\GRencoding@name
@@ -672,19 +1016,20 @@ Type X <return> to exit.}%
\ifx#1u\advance\dimen@+.07\wd\z@\fi
\ifx#1w\advance\dimen@+.03\wd\z@\fi
\else
- \ifx#1i\advance\dimen@ .55\wd\z@\else
+ \ifx#1i\advance\dimen@.55\wd\z@\else
\ifx#1r\advance\dimen@.38\wd\z@\else
\ifx#1o\advance\dimen@.47\wd\z@\else
- \advance\dimen@ .5\wd\z@
+ \advance\dimen@0.5\wd\z@
\fi\fi\fi
\fi
\hbox to\z@{\kern\dimen@\box4\hss}\unhbox\z@}}
+
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\dot@cedilla} Even the standard \LaTeX\ macro |dot| must be redefined
-% with a cedilla like macro, so as to make use of a special dot from the
-% metric symbols font:
+% \begin{macro}{\dot@cedilla}
+% Even the standard \LaTeX\ macro |dot| must be redefined with a cedilla like macro,
+% so as to make use of a special dot from the metric symbols font:
% \begin{macrocode}
\newcommand*\dot@cedilla[1]{\leavevmode
{\setbox4\hbox{\metricsfont\char27}%
@@ -699,14 +1044,16 @@ Type X <return> to exit.}%
\fi
\setbox\tw@\hbox{o}\ifdim\wd\z@=\wd\tw@\advance\dimen@-.05\wd\z@\fi
\hbox to\z@{\kern\dimen@\box4\hss}\unhbox\z@}}
+
% \end{macrocode}
%\end{macro}
%
-% \begin{macro}{\tie@cedilla} \LaTeX\ has the macro |\t| for placing a ``tie'' over two
-% letters; philologists require also a tie under two letters; this is why another
-% cedilla like macro is needed:
+% \begin{macro}{\tie@cedilla}
+% \LaTeX\ has the macro |\t| for placing a ``tie'' over two letters; philologists
+% require also a tie under two letters; this is why another cedilla like macro is
+% needed:
% \begin{macrocode}
-\newcommand*\tie@cedilla[1]{\leavevmode % mette un tie sotto l'argomento
+\newcommand*\tie@cedilla[1]{\leavevmode
{\setbox4\hbox{\fontencoding{\GRencoding@name}\selectfont\char20}%
\dimen@-.5\wd4
\setbox\tw@\hbox{i}\setbox\z@\hbox{#1}%
@@ -720,32 +1067,96 @@ Type X <return> to exit.}%
\fi
\setbox\tw@\hbox{o}\ifdim\wd\z@=\wd\tw@\advance\dimen@-.05\wd\z@\fi
\hbox to\z@{\kern\dimen@\box4\hss}\unhbox\z@}}
+
% \end{macrocode}
% \end{macro}
-% All these accent like and cedilla like macros will be extensively used in the following
-% definitions.
+%
+% \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.
+% 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 font is in force. See the |teubner-doc.pdf| file
+% for more details concerning the usefulness of the extended accent macros vs.\ the
+% ligature mechanism.
+%
+% \begin{macrocode}
+\input{LGRaccents-glyphs.def}
+% \end{macrocode}
+%
+% \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.
+% 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
+% 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
+% documentation related to the Greek language, you find that for what concerns the
+% |~| with polytonic spelling a number ot ``dirty tricks'' have been used, but
+% nothing has been done to replace the ``tie'' function of this character when
+% typesetting in languages that use the Latin script; the only action related to
+% 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
+% keying.
+% \begin{macrocode}
+\let\nbs\nobreakspace
+% \end{macrocode
+%
+% Having defined the Greek accents with the extended macroso input with the
+% |LGRaccents-glyphs.def| file, we can let some equivalences so that such accents
+% may be used with shorter control sequences that are coherent with the
+% corresponding ligatures.
% \begin{macrocode}
% grave
\DeclareTextCommand{\`}{\GRencoding@name}[1]{\lift@accent{96}{#1}}
% acute
\DeclareTextCommand{\'}{\GRencoding@name}[1]{\lift@accent{39}{#1}}
% circumflex
-\DeclareTextCommand{\GRcirc}{\GRencoding@name}[1]{\lift@accent{126}{#1}}
\DeclareTextCommand{\~}{\GRencoding@name}[1]{\lift@accent{126}{#1}}
+\let\GRcirc\Perispomeni
+
+% \end{mcrocode}
+% 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
+% 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.
+% \begin{macrocode}
+\addto\extrasgreek{\shorthandoff{~}\let\~\Perispomeni}
+\addto\noextrasgreek{\shorthandon{~}}
+
% \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.
+% 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.
% \begin{macrocode}
% diaeresis
\DeclareTextCommand{\"}{\GRencoding@name}[1]{\lift@accent{34v}{#1}}
% breve
\DeclareTextCommand{\u}{\GRencoding@name}[1]{\lift@accent{30}{#1}}
% \end{macrocode}
-% Besides the normal |\u| command for setting a breve command, another ``big 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)
+% Besides the normal |\u| 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
@@ -773,16 +1184,19 @@ Type X <return> to exit.}%
% circumflex+smooth
\DeclareTextCommand{\Cs}{\GRencoding@name}[1]{\lift@accent{92}{#1}}
% \end{macrocode}
-% Most of the above accent commands are used again in order to tie
-% a text symbol 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|; 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 kerning either before or after. 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.
+% Most of the above accent commands are used again in order to tie a text symbol
+% 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
+% 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
+% 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
+% 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.
%
% 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
@@ -867,18 +1281,23 @@ Type X <return> to exit.}%
% iota subscript
\DeclareTextCommand{\iS}{\GRencoding@name}[1]
{\ooalign{#1\crcr\hidewidth\char124\hidewidth}}
+
% \end{macrocode}
%
-% \begin{macro}{\d} The |\d| macro must be made available also with the Greek encoding
+% \begin{macro}{\d}
+% The |\d| macro must be made available also with the Greek encoding
% \begin{macrocode}
\DeclareTextCommand{\d}{\GRencoding@name}[1]%
{\leavevmode\bgroup\o@lign{\relax#1\crcr
\hidewidth\sh@ft{10}.\hidewidth}\egroup}
+
% \end{macrocode}
% \end{macro}
%
% Some other philologist diacritical marks are needed.
-% \begin {macro}{\Open} The |\Open| macro sets a special sign under a letter in order
+%
+% \begin {macro}{\Open}
+% The |\Open| macro sets a special sign under a letter in order
% to mark it with an open pronunciation.
% \begin{macrocode}
\DeclareRobustCommand{\Open}[1]{\leavevmode
@@ -894,9 +1313,11 @@ Type X <return> to exit.}%
\fi
\setbox\tw@\hbox{o}\ifdim\wd\z@=\wd\tw@\advance\dimen@-.05\wd\z@\fi
\hbox to\z@{\kern\dimen@\box4\hss}\unhbox\z@}}
+
% \end{macrocode}
% \end{macro}
-% \begin {macro}{\nasal} The macro |\nasal| marks a letter for a nasal pronunciation.
+% \begin {macro}{\nasal}
+% The macro |\nasal| marks a letter for a nasal pronunciation.
% \begin{macrocode}
\DeclareRobustCommand{\nasal}[1]{\leavevmode
{\setbox4\hbox{\raise-1.7ex\hbox{\GEcq}}%
@@ -911,25 +1332,29 @@ Type X <return> to exit.}%
\fi
\setbox\tw@\hbox{o}\ifdim\wd\z@=\wd\tw@\advance\dimen@-.05\wd\z@\fi
\hbox to\z@{\kern\dimen@\box4\hss}\unhbox\z@}}
+
% \end{macrocode}
% \end{macro}
-%\begin {macro}{\tenaspir} Similarly |\tenaspir| marks a ``tenuis aspiratio''
+%\begin {macro}{\tenaspir}
+% Similarly |\tenaspir| marks a ``tenuis aspiratio''
% \begin{macrocode}
\DeclareRobustCommand{\tenaspir}[1]{#1\/%
{\fontencoding{\GRencoding@name}\selectfont<v}}
% \end{macrocode}
% \end{macro}
-%\begin{macro}{\palat} |\palat| marks a palatal pronunciation of some consonants.
+%\begin{macro}{\palat}
+% |\palat| marks a palatal pronunciation of some consonants.
% \begin{macrocode}
\DeclareRobustCommand{\palat}[1]{#1{%
\expandafter\fontencoding\expandafter{\GRencoding@name}\selectfont
\anwtonos}}
+
% \end{macrocode}
%\end{macro}
%
-% With the help of some 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.
+% With the help of some 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}
% dot and breve
\DeclareTextCommand{\Ud}{\GRencoding@name}[1]{\d{\u{#1}}}
@@ -939,6 +1364,7 @@ Type X <return> to exit.}%
\DeclareTextCommand{\UO}{\GRencoding@name}[1]{\Open{\u{#1}}}
% open and macron
\DeclareTextCommand{\mO}{\GRencoding@name}[1]{\Open{\={#1}}}
+
%
\DeclareTextCommand{\Ud}{T1}[1]{\d{\u{#1}}}
\DeclareTextCommand{\md}{T1}[1]{\d{\={#1}}}
@@ -949,32 +1375,40 @@ Type X <return> to exit.}%
\DeclareTextCommand{\md}{OT1}[1]{\d{\={#1}}}
\DeclareTextCommand{\UO}{OT1}[1]{\Open{\u{#1}}}
\DeclareTextCommand{\mO}{OT1}[1]{\Open{\={#1}}}
+
% \end{macrocode}
%
+% \subsection{Some text commands}
% \begin{macro}{\greekquoteleft}
-%\begin{macro}{\greekquoteleft}
-%\begin{macro}{\textcompwordmark}
-%\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 letter, 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 happen all the time!).
+% \begin{macro}{\greekquoteright}
+% \begin{macro}{\textguillemotleft}
+% \begin{macro}{\textguillemotright}
+% \begin{macro}{\textcompwordmark}
+% \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}
% \end{macro}
@@ -982,6 +1416,8 @@ Type X <return> to exit.}%
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
%
%\begin{macro}{\stigma}
%\begin{macro}{\varstigma}
@@ -998,18 +1434,25 @@ Type X <return> to exit.}%
% 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{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{\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}
+
% \end{macrocode}
%\end{macro}
%\end{macro}
@@ -1022,16 +1465,18 @@ Type X <return> to exit.}%
%\end{macro}
%\end{macro}
%\end{macro}
+%
%\begin{macro}{\textdollar}
%\begin{macro}{\textsection}
%\begin{macro}{\textsterling}
%\begin{macro}{\textunderscore}
-%\begin{macro}{\textvisiblespace} More important, although unlikely to be found in
-% a philological text, is the question of standard \LaTeX\ commands that are defined
-% with reference to some encoding; if Greek text is being typeset, the Greek encoding
-% is being used and such symbols would not be available any more; \LaTeX would issue
-% warning messages complaining for their absence. Therefore we redefined them also
-% for the Greek encoding.
+%\begin{macro}{\textvisiblespace}
+% More important, although unlikely to be found in a philological text, is the
+% question of standard \LaTeX\ commands that are defined with reference to some
+% encoding; if Greek text is being typeset, the Greek encoding is being used and
+% such symbols would not be available any more; \LaTeX would issue warning messages
+% complaining for their absence. Therefore we redefined them also for the Greek
+% encoding.
% \begin{macrocode}
\DeclareTextCommand{\textdollar}{\GRencoding@name}%
{{\fontencoding{T1}\selectfont\char36}}
@@ -1043,6 +1488,7 @@ Type X <return> to exit.}%
{{\fontencoding{T1}\selectfont\char95}}
\DeclareTextCommand{\textvisiblespace}{\GRencoding@name}%
{{\fontencoding{T1}\selectfont\char32}}
+
% \end{macrocode}
%\end{macro}
%\end{macro}
@@ -1050,25 +1496,36 @@ Type X <return> to exit.}%
%\end{macro}
%\end{macro}
%
-% Now come the dozens of macros that allow to access Greek accented vowels (plus rho with
-% rough and smooth breaths) with macros instead of ligatures; such macros allow the
-% kerning information to be used by \TeX, while the ligature mechanism would sometimes
-% impeach the use of such kerning information. Notice that the same glyphs are often accessed
-% with a ``text symbol'' or a ``text composite symbol''; as explained above the opportunity
-% of using either one derives from the necessity of maintaining the kerning mechanism embedded in
-% the font; if the CB fonts had a postfixed accent notation, instead of a prefixed one, none of
-% these macros would be necessary (probably\dots!), but there would be other inconveniences.
+%
+% \subsection{Accent macros and glyph names}
+% Now come dozens of macros that allow to access Greek accented vowels (plus rho
+% with rough and smooth breaths) with macros instead of ligatures; such macros allow
+% the kerning information to be used by \TeX, while the ligature mechanism would
+% sometimes impeach the use of such kerning information. Notice that the same glyphs
+% are often accessed with a ``text symbol'' or a ``text composite symbol''; as
+% explained above the opportunity of using either one derives from the necessity of
+% maintaining the kerning mechanism embedded in the font; if the CB fonts had a
+% 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.
% \begin{macrocode}
+\ifGlyphNames
\DeclareTextSymbol{\ag}{\GRencoding@name}{128}
-\DeclareTextComposite{\`}{\GRencoding@name}{a}{128}
\DeclareTextSymbol{\ar}{\GRencoding@name}{129}
\DeclareTextComposite{\r}{\GRencoding@name}{a}{129}
\DeclareTextSymbol{\as}{\GRencoding@name}{130}
\DeclareTextComposite{\s}{\GRencoding@name}{a}{130}
\DeclareTextSymbol{\aa}{\GRencoding@name}{136}
-\DeclareTextComposite{\'}{\GRencoding@name}{a}{136}
\DeclareTextSymbol{\ac}{\GRencoding@name}{144}
-\DeclareTextComposite{\~}{\GRencoding@name}{a}{144}
\DeclareTextSymbol{\ai}{\GRencoding@name}{248}
\DeclareTextSymbol{\aai}{\GRencoding@name}{140}
\DeclareTextSymbol{\aci}{\GRencoding@name}{148}
@@ -1094,7 +1551,6 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\asgi}{\GRencoding@name}{143}
\DeclareTextSymbol{\asci}{\GRencoding@name}{150}
\DeclareTextSymbol{\hg}{\GRencoding@name}{152}
-\DeclareTextComposite{\`}{\GRencoding@name}{h}{152}
\DeclareTextSymbol{\hr}{\GRencoding@name}{153}
\DeclareTextComposite{\r}{\GRencoding@name}{h}{153}
\DeclareTextSymbol{\hs}{\GRencoding@name}{154}
@@ -1106,7 +1562,6 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\hsi}{\GRencoding@name}{158}
\DeclareTextSymbol{\hrgi}{\GRencoding@name}{167}
\DeclareTextSymbol{\ha}{\GRencoding@name}{160}
-\DeclareTextComposite{\'}{\GRencoding@name}{h}{160}
\DeclareTextSymbol{\hra}{\GRencoding@name}{161}
\DeclareTextComposite{\Ar}{\GRencoding@name}{h}{161}
\DeclareTextSymbol{\hsa}{\GRencoding@name}{162}
@@ -1118,7 +1573,6 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\hsai}{\GRencoding@name}{166}
\DeclareTextSymbol{\hsgi}{\GRencoding@name}{175}
\DeclareTextSymbol{\hc}{\GRencoding@name}{168}
-\DeclareTextComposite{\~}{\GRencoding@name}{h}{168}
\DeclareTextSymbol{\hrc}{\GRencoding@name}{169}
\DeclareTextComposite{\Cr}{\GRencoding@name}{h}{169}
\DeclareTextSymbol{\hsc}{\GRencoding@name}{170}
@@ -1128,7 +1582,6 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\hsci}{\GRencoding@name}{174}
\DeclareTextSymbol{\hi}{\GRencoding@name}{249}
\DeclareTextSymbol{\wg}{\GRencoding@name}{176}
-\DeclareTextComposite{\`}{\GRencoding@name}{w}{176}
\DeclareTextSymbol{\wr}{\GRencoding@name}{177}
\DeclareTextComposite{\r}{\GRencoding@name}{w}{177}
\DeclareTextSymbol{\ws}{\GRencoding@name}{178}
@@ -1140,7 +1593,6 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\wsi}{\GRencoding@name}{182}
\DeclareTextSymbol{\wrgi}{\GRencoding@name}{183}
\DeclareTextSymbol{\wa}{\GRencoding@name}{184}
-\DeclareTextComposite{\'}{\GRencoding@name}{w}{184}
\DeclareTextSymbol{\wra}{\GRencoding@name}{185}
\DeclareTextComposite{\Ar}{\GRencoding@name}{w}{185}
\DeclareTextSymbol{\wsa}{\GRencoding@name}{186}
@@ -1152,7 +1604,6 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\wsai}{\GRencoding@name}{190}
\DeclareTextSymbol{\wsgi}{\GRencoding@name}{191}
\DeclareTextSymbol{\wc}{\GRencoding@name}{192}
-\DeclareTextComposite{\~}{\GRencoding@name}{w}{192}
\DeclareTextSymbol{\wrc}{\GRencoding@name}{193}
\DeclareTextComposite{\Cr}{\GRencoding@name}{w}{193}
\DeclareTextSymbol{\wsc}{\GRencoding@name}{194}
@@ -1162,7 +1613,6 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\wsci}{\GRencoding@name}{198}
\DeclareTextSymbol{\wi}{\GRencoding@name}{250}
\DeclareTextSymbol{\ig}{\GRencoding@name}{200}
-\DeclareTextComposite{\`}{\GRencoding@name}{i}{200}
\DeclareTextSymbol{\ir}{\GRencoding@name}{201}
\DeclareTextComposite{\r}{\GRencoding@name}{i}{201}
\DeclareTextSymbol{\is}{\GRencoding@name}{202}
@@ -1170,7 +1620,6 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\irg}{\GRencoding@name}{203}
\DeclareTextComposite{\Gr}{\GRencoding@name}{i}{203}
\DeclareTextSymbol{\ia}{\GRencoding@name}{208}
-\DeclareTextComposite{\'}{\GRencoding@name}{i}{208}
\DeclareTextSymbol{\ira}{\GRencoding@name}{209}
\DeclareTextComposite{\Ar}{\GRencoding@name}{i}{209}
\DeclareTextSymbol{\isa}{\GRencoding@name}{210}
@@ -1178,13 +1627,11 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\isg}{\GRencoding@name}{211}
\DeclareTextComposite{\Gs}{\GRencoding@name}{i}{211}
\DeclareTextSymbol{\ic}{\GRencoding@name}{216}
-\DeclareTextComposite{\~}{\GRencoding@name}{i}{216}
\DeclareTextSymbol{\irc}{\GRencoding@name}{217}
\DeclareTextComposite{\Cr}{\GRencoding@name}{i}{217}
\DeclareTextSymbol{\isc}{\GRencoding@name}{218}
\DeclareTextComposite{\Cs}{\GRencoding@name}{i}{218}
\DeclareTextSymbol{\id}{\GRencoding@name}{240}
-\DeclareTextComposite{\"}{\GRencoding@name}{i}{240}
\DeclareTextSymbol{\idg}{\GRencoding@name}{241}
\DeclareTextComposite{\Gd}{\GRencoding@name}{i}{241}
\DeclareTextSymbol{\ida}{\GRencoding@name}{242}
@@ -1192,7 +1639,6 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\idc}{\GRencoding@name}{243}
\DeclareTextComposite{\Cd}{\GRencoding@name}{i}{243}
\DeclareTextSymbol{\ug}{\GRencoding@name}{204}
-\DeclareTextComposite{\`}{\GRencoding@name}{u}{204}
\DeclareTextSymbol{\ur}{\GRencoding@name}{205}
\DeclareTextComposite{\r}{\GRencoding@name}{u}{205}
\DeclareTextSymbol{\us}{\GRencoding@name}{206}
@@ -1200,7 +1646,6 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\urg}{\GRencoding@name}{207}
\DeclareTextComposite{\Gr}{\GRencoding@name}{u}{207}
\DeclareTextSymbol{\ua}{\GRencoding@name}{212}
-\DeclareTextComposite{\'}{\GRencoding@name}{u}{212}
\DeclareTextSymbol{\ura}{\GRencoding@name}{213}
\DeclareTextComposite{\Ar}{\GRencoding@name}{u}{213}
\DeclareTextSymbol{\usa}{\GRencoding@name}{214}
@@ -1208,13 +1653,11 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\usg}{\GRencoding@name}{215}
\DeclareTextComposite{\Gs}{\GRencoding@name}{u}{215}
\DeclareTextSymbol{\uc}{\GRencoding@name}{220}
-\DeclareTextComposite{\~}{\GRencoding@name}{u}{220}
\DeclareTextSymbol{\urc}{\GRencoding@name}{221}
\DeclareTextComposite{\Cr}{\GRencoding@name}{u}{221}
\DeclareTextSymbol{\usc}{\GRencoding@name}{222}
\DeclareTextComposite{\Cs}{\GRencoding@name}{u}{222}
\DeclareTextSymbol{\ud}{\GRencoding@name}{244}
-\DeclareTextComposite{\"}{\GRencoding@name}{u}{244}
\DeclareTextSymbol{\udg}{\GRencoding@name}{245}
\DeclareTextComposite{\Gd}{\GRencoding@name}{u}{245}
\DeclareTextSymbol{\uda}{\GRencoding@name}{246}
@@ -1222,7 +1665,6 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\udc}{\GRencoding@name}{247}
\DeclareTextComposite{\Cd}{\GRencoding@name}{u}{247}
\DeclareTextSymbol{\eg}{\GRencoding@name}{224}
-\DeclareTextComposite{\`}{\GRencoding@name}{e}{224}
\DeclareTextSymbol{\er}{\GRencoding@name}{225}
\DeclareTextComposite{\r}{\GRencoding@name}{e}{225}
\DeclareTextSymbol{\es}{\GRencoding@name}{226}
@@ -1230,7 +1672,6 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\erg}{\GRencoding@name}{227}
\DeclareTextComposite{\Gr}{\GRencoding@name}{e}{227}
\DeclareTextSymbol{\ea}{\GRencoding@name}{232}
-\DeclareTextComposite{\'}{\GRencoding@name}{e}{232}
\DeclareTextSymbol{\era}{\GRencoding@name}{233}
\DeclareTextComposite{\Ar}{\GRencoding@name}{e}{233}
\DeclareTextSymbol{\esa}{\GRencoding@name}{234}
@@ -1240,13 +1681,11 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\oR}{\GRencoding@name}{229}
\DeclareTextComposite{\r}{\GRencoding@name}{o}{229}
\DeclareTextSymbol{\og}{\GRencoding@name}{228}
-\DeclareTextComposite{\`}{\GRencoding@name}{o}{228}
\DeclareTextSymbol{\os}{\GRencoding@name}{230}
\DeclareTextComposite{\s}{\GRencoding@name}{o}{230}
\DeclareTextSymbol{\org}{\GRencoding@name}{231}
\DeclareTextComposite{\Gr}{\GRencoding@name}{o}{231}
\DeclareTextSymbol{\oa}{\GRencoding@name}{236}
-\DeclareTextComposite{\'}{\GRencoding@name}{o}{236}
\DeclareTextSymbol{\ora}{\GRencoding@name}{237}
\DeclareTextComposite{\Ar}{\GRencoding@name}{o}{237}
\DeclareTextSymbol{\osa}{\GRencoding@name}{238}
@@ -1258,19 +1697,26 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\rs}{\GRencoding@name}{252}
\DeclareTextComposite{\s}{\GRencoding@name}{r}{252}
\DeclareTextSymbol{\Id}{\GRencoding@name}{219}
-\DeclareTextComposite{\"}{\GRencoding@name}{I}{219}
\DeclareTextSymbol{\Ud}{\GRencoding@name}{223}
\DeclareTextComposite{\"}{\GRencoding@name}{U}{223}
+\fi
+
%
% \end{macrocode}
%
+% \subsection{Text philological symbols and macros}
% Next come some short macros for inserting special symbols that philologists
-% use quite often in Greek.
-%\begin{macro}{\h} Macro |\h| is used to insert a Latin ``h'' while typesetting in Greek.
-%\begin{macro}{\q} Macro |\q| is used to insert a Latin ``q'' while typesetting in Greek.
-%\begin{macro}{\yod}\begin{macro}{\iod} Macros |\yod| and |\iod| are used to insert a
-% Latin ``j'' while typesetting in Greek; the control sequence |\jod| was avoided in order
-% to reduce the possibility of typing |\jot| which is a \TeX\ internal dimension.
+% use quite often in Greek.
+%\begin{macro}{\h}
+% Macro |\h| is used to insert a Latin ``h'' while typesetting in Greek.
+%\begin{macro}{\q}
+% Macro |\q| is used to insert a Latin ``q'' while typesetting in Greek.
+%\begin{macro}{\yod}
+%\begin{macro}{\iod}
+% Macros |\yod| and |\iod| are used to insert a
+% Latin ``j'' while typesetting in Greek; the control sequence |\jod| was avoided in
+% order to reduce the possibility of typing |\jot| which is a \TeX\ internal
+% dimension.
% \begin{macrocode}
\DeclareTextCommand{\h}{\GRencoding@name}%
{{\fontencoding{OT1}\selectfont h}}
@@ -1279,31 +1725,36 @@ Type X <return> to exit.}%
\DeclareTextCommand{\yod}{\GRencoding@name}%
{{\fontencoding{OT1}\selectfont j}}%
\let\iod\yod
+
% \end{macrocode}
%\end{macro}
%\end{macro}
%\end{macro}
%\end{macro}
+%
%\begin {macro}{\f}
%\begin {macro}{\F}
%\begin {macro}{\digamma}
%\begin {macro}{\Digamma}
-% 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
+% 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
% 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 \textsf{teubner.sty} package and that the |\digamma| is a symbol
-% already defined in the package \textsf{amssymb.sty}; therefore I made a
-% conditional creation of this alias; this trick is delayed to the beginning of
-% the document, so as to make it independent on the order with which packages
-% are loaded.
+% not use mathematical symbols so we made |\digamma| an alias for |\f|; afterwards I
+% found out that mathematicians, physicists, engineers,~\dots\ use the
+% \textsf{teubner.sty} package and that the |\digamma| is a symbol already defined
+% in the package \textsf{amssymb.sty}; therefore I made a conditional creation of
+% this alias; this trick is delayed to the beginning of the document, so as to make
+% it independent on the order with which packages are loaded.
% \begin{macrocode}
\DeclareTextSymbol{\f}{\GRencoding@name}{147}
-\AtBeginDocument{\@ifpackageloaded{amssymb}{\let\AMSdigamma\digamma
-\def\digamma{\textormath{\f}{\AMSdigamma}}}{\let\digamma\f}}
+\AtBeginDocument{\@ifpackageloaded{amssymb}%
+{\let\AMSdigamma\digamma\def\digamma{\textormath{\f}{\AMSdigamma}}}% amssymb loaded
+{\let\digamma\f}% amssymb not loadedloaded
+}
\DeclareTextSymbol{\F}{\GRencoding@name}{195}\let\Digamma\F
+
% \end{macrocode}
%\end{macro}
%\end{macro}
@@ -1312,19 +1763,19 @@ Type X <return> to exit.}%
%
%\begin {macro}{\fLow}
%\begin {macro}{\fHigh}
-% The digamma glyphs set forth another question because,
-% according to Paolo Ciacchi, a different glyph should be used for typesetting text
-% compared with the one that is used as a variant in Milesian numerals in place of the
-% standard stigma symbol.
-% By means of macros |\fLow| or |\fHigh| it is possible to chose the raised or the lowered
-% digamma glyphs; Greek numerals always use the lowered one, while when text is being
-% typeset the typesetter can chose the version he likes best.
+% The digamma glyphs set forth another question because, according to Paolo Ciacchi,
+% a different glyph should be used for typesetting text compared with the one that
+% is used as a variant in Milesian numerals in place of the standard stigma symbol.
+% By means of macros |\fLow| or |\fHigh| it is possible to chose the raised or the
+% lowered digamma glyphs; Greek numerals always use the lowered one, while when text
+% is being typeset the typesetter can chose the version he likes best.
% \begin{macrocode}
\DeclareRobustCommand{\fLow}%
{{\setbox\z@\hbox{\f}\dimen@\ht\z@
\advance\dimen@-1ex\raise-\dimen@\hbox{\box\z@}}}
\DeclareRobustCommand{\fHigh}%
{{\setbox\z@\hbox{\f}\dimen@\dp\z@\raise\dimen@\hbox{\box\z@}}}
+
% \end{macrocode}
%\end{macro}
%\end{macro}
@@ -1335,30 +1786,33 @@ Type X <return> to exit.}%
%\begin{macro}{\frapar}
% Here we start a set of miscellaneous macros. We begin with some parentheses
% that should turn out in upright shape, even if the default font is the Lipsian
-% one which is oblique; its parentheses are oblique as in all oblique fonts, therefore
-% we need to quietly change fonts behind the scenes. The same is true with the
-% question mark that, philologically speaking, represents an uncertain element, not
-% the termination of a real question; it should therefore always come out between
-% parentheses and in upright shape from a Latin font. While the parenthesized
-% question mark comes from the OT1 Latin upright font, the parentheses obtained with
-% |\lpar| and |\rpar| are taken from the metric symbols font, as well as the
-% parentheses used in the parenthesized text processed with macro |\frapar|.
+% one which is oblique; its parentheses are oblique as in all oblique fonts,
+% therefore we need to quietly change fonts behind the scenes. The same is true with
+% the question mark that, philologically speaking, represents an uncertain element,
+% not the termination of a real question; it should therefore always come out
+% between parentheses and in upright shape from a Latin font. While the
+% parenthesized question mark comes from the OT1 Latin upright font, the parentheses
+% obtained with |\lpar| and |\rpar| are taken from the metric symbols font, as well
+% as the parentheses used in the parenthesized text processed with macro |\frapar|.
% \begin{macrocode}
\DeclareRobustCommand\qmark{\hskip.16ex{\fontencoding{OT1}\upshape(?)}}
\DeclareRobustCommand\lpar{{\metricsfont(}}
\DeclareRobustCommand\rpar{{\metricsfont)}}
\DeclareRobustCommand\frapar[1]{\lpar#1\rpar}
+
% \end{macrocode}
%\end{macro}
%\end{macro}
%\end{macro}
%\end{macro}
%
-%\begin{macro}{\ap} The apex/superscript macro |\ap| does not differ much from the plain
-% standard \LaTeX\ macro |\textsuperscript|, the only difference being the italic correction
+%\begin{macro}{\ap}
+% The apex/superscript macro |\ap| does not differ much from the plain standard
+% \LaTeX\ macro |\textsuperscript|, the only difference being the italic correction
% that precedes |\textsuperscript|.
% \begin{macrocode}
\DeclareRobustCommand{\ap}[1]{\/\textsuperscript{#1}}
+
% \end{macrocode}
%\end{macro}
%
@@ -1366,9 +1820,10 @@ Type X <return> to exit.}%
%\begin{macro}{\DOTS}
%\begin{macro}{\Dashes}
%\begin{macro}{\DASHES}
-% Four macros are defined so as to insert a certain number of dots or dashes as specified
-% in the optional command argument; |\Dots| and |\Dashes| fit the dots or the dashes
-% pretty close together, while |\DOTS| and |\DASHES| fit them more loosely apart.
+% Four macros are defined so as to insert a certain number of dots or dashes as
+% specified in the optional command argument; |\Dots| and |\Dashes| fit the dots or
+% the dashes pretty close together, while |\DOTS| and |\DASHES| fit them more
+% loosely apart.
% \begin{macrocode}
\newcommand\Dots[1][1]{{\count255=#1\@whilenum\count255>\z@
\do{\kern.4ex\d{v}\kern.4ex\advance\count255\m@ne}}}
@@ -1378,6 +1833,7 @@ Type X <return> to exit.}%
\do{\kern.4ex--\kern.4ex\advance\count255\m@ne}}}
\newcommand\DASHES[1][1]{{\count255=#1\@whilenum\count255>\z@
\do{\kern.8ex--\kern.8ex\advance\count255\m@ne}}}
+
% \end{macrocode}
%\end{macro}
%\end{macro}
@@ -1388,11 +1844,12 @@ Type X <return> to exit.}%
%\begin{macro}{\;}
%\begin{macro}{\?}
%\begin{macro}{\MutPers}
-% Greek text or poetry sometimes requires some stacked dots; here we prepared macros for
-% two (|\:|), three (|\;|), and four (|\?|) stacked dots. Two stacked dots in a row indicate
-% that the speaker of a drama or comedy has changed (\textit{mutatio personae}). For |\:|
-% and |\;| it is necessary to preserve the mathematical meaning, while |\?| apparently does
-% not have any previous use in standard \LaTeX. The real macros are |\tw@dots|, |\thre@dots|,
+% Greek text or poetry sometimes requires some stacked dots; here we prepared macros
+% for two (|\:|), three (|\;|), and four (|\?|) stacked dots. Two stacked dots in a
+% row indicate that the speaker of a drama or comedy has changed (\textit{mutatio
+% personae}). For |\:| and |\;| it is necessary to preserve the mathematical
+% meaning, while |\?| apparently does not have any previous use in standard \LaTeX.
+% The real macros are |\tw@dots|, |\thre@dots|,
% and |\f@urdots|.
% \begin{macrocode}
\DeclareRobustCommand{\:}{\textormath{\tw@dots}{\mskip\medmuskip}}
@@ -1405,6 +1862,7 @@ Type X <return> to exit.}%
\hbox{.}\vss\hbox{.}}}}
\def\f@urdots{\mbox{\kern1\p@\vbox to 2ex{\hbox{.}\vss
\hbox{.}\vss\hbox{.}\vss\hbox{.}}}}
+
% \end{macrocode}
%\end{macro}
%\end{macro}
@@ -1423,6 +1881,7 @@ Type X <return> to exit.}%
\DeclareRobustCommand{\|}{\relax\ensuremath{\mskip2mu\vert}}
\DeclareRobustCommand{\dBar}{\ensuremath{\vert\vert}}
\DeclareRobustCommand{\tBar}{\ensuremath{\vert\vert\vert}}
+
% \end{macrocode}
%\end{macro}
%\end{macro}
@@ -1433,17 +1892,18 @@ Type X <return> to exit.}%
%\begin{macro}{\posthindspace}
%\begin{macro}{\,}
%\begin{macro}{\!}
-% The following are mostly service macros for adjusting the spacing within macro definitions.
-% Nevertheless they are available also to the typesetter, because sometimes certain glyph
-% combinations require a little adjustment. Of course the typesetter will not use them
-% at the very beginning, but only during proof revision, so as to introduce them only
-% where really necessary.
+% The following are mostly service macros for adjusting the spacing within macro
+% definitions. Nevertheless they are available also to the typesetter, because
+% sometimes certain glyph combinations require a little adjustment. Of course the
+% typesetter will not use them at the very beginning, but only during proof
+% revision, so as to introduce them only where really necessary.
% \begin{macrocode}
\def\negthinspace{\nobreak\hskip-0.07em}
\def\posthinspace{\nobreak\hskip0.07em}
\def\posthindspace{\nobreak\hskip0.14em}
\renewcommand{\,}{\textormath{\posthinspace}{\mskip\thinmuskip}}
\renewcommand{\!}{\textormath{\negthinspace}{\mskip-\thinmuskip}}
+
% \end{macrocode}
%\end{macro}
%\end{macro}
@@ -1471,16 +1931,17 @@ Type X <return> to exit.}%
% been modified under the assumption that the copyist made some error.
% Such enclosing marks include angle brackets, square brackets, upper part
% of square brackets, lower part of square brackets. Such symbols may even
-% appear doubled. Most if these glyphs have been designed anew, because they
+% appear doubled. Most of these glyphs have been designed anew, because they
% are missing or are inadequate if they are taken from the usual CM fonts (either
% text or math fonts). Brackets for example have been designed as to be higher
% and deeper than the font total height, so as not to interfere with Greek
-% accents and to accomodate for at least one level of nesting (for example square brackets
-% enclosing lower part of square brackets. The single glyphs may be used directly by
-% the typesetter, but we think that the commands requiring some text are fare more useful.
-% |\Ladd| and its double version |\LLadd| enclose text that should be added for sure.
-% |\ladd| and its double version |\lladd| enclose text that probably should be added.
-% |\lesp| and its synonymous |\ldel| enclose text that should be deleted.
+% accents and to accomodate for at least one level of nesting (for example square
+% brackets enclosing lower part of square brackets. The single glyphs may be used
+% directly by the typesetter, but we think that the commands requiring some text are
+% far more useful. |\Ladd| and its double version |\LLadd| enclose text that should
+% be added for sure.
+% |\ladd| and its double version |\lladd| enclose text that probably should be
+% added. |\lesp| and its synonymous |\ldel| enclose text that should be deleted.
% |\mqi| surrounds some text with the lower part of open and closed square brackets.
% |\mqs| surrounds some text with the upper part of open and closed square brackets.
% See \texttt{teubenr-doc.pdf} for samples of such commands.
@@ -1496,7 +1957,7 @@ Type X <return> to exit.}%
\DeclareRobustCommand\mqs[1]{\lmqs{#1\/}\rmqs}
\DeclareRobustCommand{\Ladd}[1]{{\metricsfont<}{\!\!#1\/}%
{\metricsfont>}}% litterae certe addendae
-\DeclareRobustCommand{\LLadd}[1]{{\metricsfont<\kern-.3ex<}%subst. \hskip with \kern
+\DeclareRobustCommand{\LLadd}[1]{{\metricsfont<\kern-.3ex<}
{\!\!#1\/}{\metricsfont>\kern-.3ex>}}% litterae certe addendae
\DeclareRobustCommand{\ladd}[1]{{\metricsfont\kern.15ex[\negthinspace}%
{#1\/}{\metricsfont]\kern-.15ex}}% litterae addendae
@@ -1506,6 +1967,7 @@ Type X <return> to exit.}%
\DeclareRobustCommand{\lesp}[1]%
{\mbox{$\{\kern-.20ex$#1\kern.16ex$\}$}}% litterae delendae
\let\ldel\lesp
+
% \end{macrocode}
%\end{macro}
%\end{macro}
@@ -1522,20 +1984,22 @@ Type X <return> to exit.}%
%\end{macro}
%\end{macro}
%
+% \subsection{Greek, English, and German quotes}
%\begin{macro}{\itopenquotes}
%\begin{macro}{\itclosedquotes}
%\begin{macro}{\itoq}
-%\begin{macro}{\itcq} The following macros allow to set Italian\slash English
-% high quotes even while typing in Greek; such quotes are standard in Italian
-% and in English typesetting and their commands preserve the font family shape
-% and series of the surrounding font. In French typography, as well in the
-% typographic traditions of other countries, different quotes are used. In that case
-% the typesetter must resort to a change of language, for example returning to German,
-% inputting the German quotes, then turning back to Greek. He might as well define
-% his own macros, or he might clone the following definitions and change them
-% according to his country typographic traditions. If he decides to modify these
-% definitions he should either rename this file or he should put his redefinitions
-% in a private package to be input \emph{after} \texttt{teubner.sty}.
+%\begin{macro}{\itcq}
+% The following macros allow to set Italian\slash English high quotes even while
+% typing in Greek; such quotes are standard in Italian and in English typesetting
+% and their commands preserve the font family shape and series of the surrounding
+% font. In French typography, as well in the typographic traditions of other
+% countries, different quotes are used. In that case the typesetter must resort to a
+% change of language, for example returning to German, inputting the German quotes,
+% then turning back to Greek. He might as well define his own macros, or he might
+% clone the following definitions and change them according to his country
+% typographic traditions. If he decides to modify these definitions he should either
+% rename this file or he should put his redefinitions in a private package to be
+% input \emph{after} \texttt{teubner.sty}.
% \begin{macrocode}
\DeclareTextCommand{\itopenquotes}{\GRencoding@name}%
{{\fontencoding{OT1}\selectfont\char92}}%
@@ -1543,6 +2007,7 @@ Type X <return> to exit.}%
{{\fontencoding{OT1}\selectfont\char34}}%
\let\itoq\itopenquotes
\let\itcq\itclosedquotes
+
% \end{macrocode}
%\end{macro}
%\end{macro}
@@ -1557,13 +2022,14 @@ Type X <return> to exit.}%
%\begin{macro}{\GEqtext}
%\begin{macro}{\ENodq}
%\begin{macro}{\ENcdq}
-%\begin{macro}{\ENdqtext} On the opposite the following German and English quotes
-% are redesigned and included in the metric symbols font. Since this font is in
-% one shape and one series, these quotes do not change as the outside font does, but
-% remains fixed; the most useful commands are |\GEdqtext| for enclosing some text
-% within German double quotes, |\GEqtext| for enclosing some text within German single
-% quotes, and |\ENdqtext| for enclosing some text in English double quotes. Apparently
-% while setting Greek poetry in stacked, possibly enumerated, verses German double
+%\begin{macro}{\ENdqtext}
+% On the opposite the following German and English quotes are redesigned and
+% included in the metric symbols font. Since this font is in one shape and one
+% series, these quotes do not change as the outside font does, but remain fixed; the
+% most useful commands are |\GEdqtext| for enclosing some text within German double
+% quotes, |\GEqtext| for enclosing some text within German single quotes, and
+% |\ENdqtext| for enclosing some text in English double quotes. Apparently
+% while setting Greek poetry in stacked, possibly enumerated, verses, German double
% or single quotes are often used, since they cannot be misunderstood with Greek
% diacritical marks. Modern Greek double quotes apparently are not appreciated by
% philologists, at least outside Greece.
@@ -1579,6 +2045,7 @@ Type X <return> to exit.}%
\newcommand\ENodq{{\metricsfont\char16}}
\newcommand\ENcdq{{\metricsfont\char17}}
\newcommand\ENdqtext[1]{\ENodq\negthinspace#1\/\posthinspace\ENcdq}
+
% \end{macrocode}
%\end{macro}
%\end{macro}
@@ -1590,8 +2057,10 @@ Type X <return> to exit.}%
%\end{macro}
%\end{macro}
%
+% \subsection{Other philological symbols and macros}
% \begin{macro}{\LitNil}
-% \begin{macro}{\litnil} The next synonymous macros indicate the \emph{littera nihil}.
+% \begin{macro}{\litnil}
+% The next synonymous macros indicate the \emph{littera nihil}.
% \begin{macrocode}
\DeclareRobustCommand\LitNil{\textbullet}
\let\litnil\LitNil
@@ -1601,39 +2070,50 @@ Type X <return> to exit.}%
%
%\begin{macro}{\sva}
%\begin{macro}{\shva}
-%\begin{macro}{\shwa} The CB fonts include also the letter ``shwa'', the glyph that
+%\begin{macro}{\shwa}
+% The CB fonts include also the letter ``shwa'', the glyph that
% appears as a roman ``e'' rotated 180$^\circ$ around its center. Philologists
% need it even when writing Greek. In order to make it available also when the
% Latin encodings are in force, suitable definitions have been given so that the
-% suitable CB font is changed behind the scenes without any intervention by the
-% typesetter.
-% \begin{macrocode}
-\DeclareTextSymbol{\sva}{\GRencoding@name}{26}
+% suitable CB font was changed behind the scenes without any intervention by the
+% typesetter. With this version of |teubner.sty| a new definition is made up that
+% uses the |\rotatebox| facility of the |graphicx| package; In a future revision of
+% the CB fonts the |\schwa| slot shall be freed so that Greek glyphs only populate
+% it, without extraneous presences. The |\schwa| glyph is made available also with
+% the Latin encodings.
+% \begin{macrocode}
+%\DeclareTextSymbol{\sva}{\GRencoding@name}{26}
+\DeclareTextCommand{\sva}{\GRencoding@name}{%
+\rotatebox[origin=c]{180}{\def\@tempA{li}%
+\fontencoding{OT1}\ifx\f@shape\@tempA\fontshape{it}\fi\selectfont e}}
\DeclareTextCommand\sva{OT1}{{\expandafter\fontencoding
\expandafter{\GRencoding@name}\selectfont\sva}}
\DeclareTextCommand\sva{T1}{{\expandafter\fontencoding
\expandafter{\GRencoding@name}\selectfont\sva}}
\let\shva\sva\let\shwa\sva
+
% \end{macrocode}
%\end{macro}
%\end{macro}
%\end{macro}
%
-%\begin{macro}{\skewstack} The |\skewstack| command stacks two arguments not one on
-% top of the other, but the second argument is placed to the right and upwards relative
-% to the first argument. The second argument is set in script font size. Although there are
-% similarities with the |\textsuperscript| command, the exact placement of the second
-% argument depends on the shape (height and depth) of both arguments. This command
-% will be used for creating some philologist's symbols, but is readily available to the
+%\begin{macro}{\skewstack}
+% The |\skewstack| command stacks two arguments not one on top of the other, but the
+% second argument is placed to the right and upwards relative to the first argument.
+% The second argument is set in script font size. Although there are similarities
+% with the |\textsuperscript| command, the exact placement of the second argument
+% depends on the shape (height and depth) of both arguments. This command will be
+% used for creating some philologist's symbols, but is readily available to the
% typesetter both for direct use and for writing macros defining new symbols.
% \begin{macrocode}
\DeclareRobustCommand\skewstack[2]{{%
-\edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+\edef\slant@{\strip@pt\fontdimen1\font}%
\setbox\z@\hbox{#1}\dimen@\ht\z@\box\z@
\kern-.045em\setbox\@ne\hbox{\scriptsize#2}%
\ifdim\dimen@>1.2ex\advance\dimen@-\ht\@ne\else
\dimen@1ex\advance\dimen@-.5\ht\@ne\fi
\kern\slant@\dimen@\raise\dimen@\hbox{\box\@ne}}}
+
% \end{macrocode}
%\end{macro}
%
@@ -1642,9 +2122,10 @@ Type X <return> to exit.}%
%\begin{macro}{\gw}
%\begin{macro}{\gusv}
%\begin{macro}{\qusv}
-%\begin{macro}{\qu} Matter of fact some common Latin stacked symbols are defined here in
-% terms of |\skewstack|. As it may bee seen, the second argument (the first as well,
-% but here there are no examples) may in turn contain other macros for composite symbols.
+%\begin{macro}{\qu}
+% Matter of fact some common Latin stacked symbols are defined here in terms of
+% |\skewstack|. As it may bee seen, the second argument (the first as well, but here
+% there are no examples) may in turn contain other macros for composite symbols.
% \begin{macrocode}
\DeclareRobustCommand\hv{{\fontencoding{OT1}\selectfont
\skewstack{h}{v}}}
@@ -1658,6 +2139,7 @@ Type X <return> to exit.}%
\skewstack{q}{\semiv{u}}}}
\DeclareRobustCommand\qu{{\fontencoding{OT1}\selectfont
\skewstack{q}{u}}}
+
% \end{macrocode}
%\end{macro}
%\end{macro}
@@ -1666,19 +2148,21 @@ Type X <return> to exit.}%
%\end{macro}
%\end{macro}
%
-%\begin{macro}{\dz} Without using |\skewstack| other symbols may be defined;
-% here |\dz| is just an example, where the kerning between `d' and `z' has
-% been found by cut and try. With other glyphs may be other kernings
-% are necessary.
+%\begin{macro}{\dz}
+% Without using |\skewstack| other symbols may be defined; here |\dz| is just an
+% example, where the kerning between `d' and `z' has been found by cut and try. With
+% other glyphs may be different kerning is necessary.
% \begin{macrocode}
\DeclareRobustCommand\dz{{\fontencoding{OT1}\selectfont d\kern-.33ex z}}
+
% \end{macrocode}
%\end{macro}
%
% Now we come to another set of commands like the ones needed to mark the syneresis
% or the zeugma and other similar marks.
-%\begin{macro}{\Utie} This first macro sets a ``smile'' symbol under a couple of
-% letters. The glyph is fine but is good only for two adjacent letters, therefore
+%\begin{macro}{\Utie}
+% This first macro sets a ``smile'' symbol under a couple of letters. The glyph is
+% fine but is good only for two adjacent letters, therefore
% it is necessary to have a stretchable symbol.
% \begin{macrocode}
\DeclareRobustCommand\Utie[1]{%
@@ -1686,12 +2170,14 @@ Type X <return> to exit.}%
\hfil#1\hfil\crcr
\noalign{\kern.3ex\nointerlineskip}%
\hfil$\smile$\hfil\crcr}}}}
+
% \end{macrocode}
%\end{macro}
%
%\begin{macro}{\siner}
-%\begin{macro}{\siniz} This is why the |\siner| and |\siniz| synonymous commands
-% have been defined; in place of the ``smile'' symbol they contain a stretchable
+%\begin{macro}{\siniz}
+% This is why the |\siner| and |\siniz| synonymous commands have been defined; in
+% place of or in addition to the ``smile'' symbol; they contain a stretchable
% filler |\upfill| that behaves almost as the stretchable horizontal brace that is
% used in the definition of the \LaTeX\ commands |\underbrace| or |\overbrace|.
% \begin{macrocode}
@@ -1701,44 +2187,41 @@ Type X <return> to exit.}%
\noalign{\kern.6ex\nointerlineskip}%
\upfill\crcr}}}}
\let\siniz\siner
+
% \end{macrocode}
%\end{macro}
%\end{macro}
-%\begin{macro}{\upfill} The |\upfill| is defined as a leader, the same way as the
-% corresponding \LaTeX\ stretchable horizontal brace; but as mentioned before we
-% introduce a correction in case we are typesetting with pdf\LaTeX, because the
-% pfb extensible math fonts, from wich the curved extremities are taken from, apparently
-% do not have the actual dimension declared in the tmf files.
+%
+%\begin{macro}{\upfill}
+% The |\upfill| is defined as a leader, the same way as the corresponding \LaTeX\
+% stretchable horizontal brace.
% \begin{macrocode}
\def\upfill{$\m@th \scriptstyle\setbox\z@\hbox{$\scriptstyle\bracelu$}%
\kern.16ex\bracelu\ifPDF\kern-.15ex\fi
- \leaders\vrule \@height\ifPDF.85\fi\ht\z@ \@depth\z@\hfill
+ \leaders\vrule \@height\ht\z@ \@depth\z@\hfill
\braceru\kern.16ex$}
+
% \end{macrocode}
%\end{macro}
-%\begin{macro}{\downfill} The down fill arc is totally similar to the up fill one, except
-% for its terminating elements that change the shape of the arc from ``up'' to ``down''; we
-% introduce the same correction as in |\upfill| for the same reasons.
+%
+%\begin{macro}{\downfill}
+% The |\downfill| arc is totally similar to the |\upfill| one, except for its
+% terminating elements that change the shape of the arc from ``up'' to ``down''.
% \begin{macrocode}
\def\downfill{$\m@th\scriptstyle\setbox\z@\hbox{$\scriptstyle\braceld$}%
\kern.16ex\braceld\ifPDF\kern-.15ex\fi
- \leaders\vrule \@height\ifPDF.85\fi\ht\z@ \@depth\z@\hfill
+ \leaders\vrule \@height\ht\z@ \@depth\z@\hfill
\bracerd\kern.16ex$}
+
% \end{macrocode}
%\end{macro}
-% With both macros we could have edited the pfb files, but this would have required
-% to distribute the corrected |cmex10.pfb| file together with the bundle, causing possible users
-% to mess up their map of PostScript fonts. Of course the chosen solution has the
-% opposite draw back: when and if the corrected pfb files will be distributed with each
-% more or less complete \TeX\ bundle, then this file will require to be corrected again. But
-% this is simple because it suffices to eliminate the whole |\ifPFB| business.
%
-%\begin{macro}{\zeugma} Similarly |\zeugma| puts a stretchable arc over its
-% argument; it must take into account the slant of the argument font so
-% as to skew the placement of the arc.
+%\begin{macro}{\zeugma}
+% Similarly |\zeugma| puts a stretchable arc over its argument; it must take into
+% account the slant of the argument font so as to skew the placement of the arc.
% \begin{macrocode}
\newcommand*\zeugma[1]{{\vbox{\setbox\z@\hbox{#1}\dimen@=\ht\z@
- \edef\@slant{\expandafter\numero\the\fontdimen1\font}%
+ \edef\@slant{\strip@pt\fontdimen1\font}%
\dimen\tw@=\wd\z@
\dimen@=\@slant\dimen@\ifmetricsfont\dimen@=\z@
\advance\dimen\tw@-.5ex\fi
@@ -1749,104 +2232,76 @@ Type X <return> to exit.}%
\else\kern.4ex\fi\nointerlineskip}%
\hfil{#1}\hfil\crcr}}}%
}
+
% \end{macrocode}
%\end{macro}
%
%\begin{macro}{\slzeugma}
-%\begin{macro}{\rszeugma} Although the shape of oblique zeugma arcs cannot be
-% changed depending on the width and height of the zeugma argument, in certain
-% circumstances the philologists want to use oblique zeugma marks. This is why
-% we defined a ``sloping zeugma arc'' |\slzeugma|, and a ``rising zeugma arc''
-% |\rszeugma| that can be used with poor results, if such arcs are superimposed
-% over the ``wrong'' letters. There is nothing automatic in the choice of the
-% oblique arc and is totally on the typesetter responsibility to use the
-% correct command.
+%\begin{macro}{\rszeugma}
+% Although the shape of oblique zeugma arcs cannot be changed depending on the width
+% and height of the zeugma argument, in certain circumstances the philologists want
+% to use oblique zeugma marks. This is why we defined a ``sloping zeugma arc''
+% |\slzeugma|, and a ``rising zeugma arc'' |\rszeugma| that can be used with poor
+% results, if such arcs are superimposed over the ``wrong'' letters. There is
+% nothing automatic in the choice of the oblique arc and is totally on the
+% typesetter responsibility to use the correct command. These slanted zeugma signs
+% are possibly useful only for two letters since they are not stretchable.
% \begin{macrocode}
\newcommand*\slzeugma[1]{{\leavevmode
\setbox\tw@\hbox{\metricsfont\char120}%
\setbox\z@\hbox{#1}\dimen@.5\wd\z@\advance\dimen@-.5\wd\tw@
- \edef\@slant{\expandafter\numero\the\fontdimen1\font}%
+ \edef\@slant{\strip@pt\fontdimen1\font}%
\advance\dimen@\@slant\ht\z@
\hbox to\z@{\kern\dimen@\box\tw@\hss}\box\z@
}%
}
+
\newcommand*\rszeugma[1]{{\leavevmode
\setbox\tw@\hbox{\metricsfont\char122}%
\setbox\z@\hbox{#1}\dimen@.5\wd\z@\advance\dimen@-.5\wd\tw@
- \edef\@slant{\expandafter\numero\the\fontdimen1\font}%
+ \edef\@slant{\strip@pt\fontdimen1\font}%
\advance\dimen@\@slant\ht\z@
\hbox to\z@{\kern\dimen@\box\tw@\hss}\box\z@
}%
}
+
% \end{macrocode}
%\end{macro}
%\end{macro}
%
%\begin{macro}{\nexus}
-%\begin{macro}{\nesso}The same line of reasoning leads us to define two different
-% commands for marking nexus relationships; since such commands are not synonymous
-% we had to use the Latin and (arbitrarily) the Italian name to distinguish them.
-% The difference is that |\nesso| covers the nexus with a leader made of ``Latin''
-% circumflex signs (hats), while |\nexus| covers the nexus with a stretchable trapeze.
-% \begin{macrocode}
-\newcommand*{\nexus}[1]{{\setbox\tw@\hbox{#1}%
- \edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+%\begin{macro}{\nesso}
+% Originally I had two different macros for marking a \emph{nexus}; one made use of a ``up stretchable turtle bracket'', and the user used a leader of Latin circumflex signs. Both were unsatisfactory; the latter was really ugly, but I kept the macro name as a synonym for compatibility with the past. The good looking marker is obtained from a mathematical |\widehat| sign by stretching it to the width of the string the marcher should mark; the new macro |\nexus| (that replaces the stretchable turtle bracket) relies on the facilities offered by the |\resizebox| of the package |graphicx|.
+% \begin{macrocode}
+\newcommand*{\nexus}[1]{{\setbox\tw@\hbox{#1\/}%
+ \edef\slant@{\strip@pt\fontdimen1\font}%
\@tempdima=\slant@\ht\tw@\advance\@tempdima.45ex
- \setbox4\hbox to\wd\tw@{\hss\nexusfill\hss}
+ \setbox4\hbox{\resizebox{\wd\tw@}{\height}{$\widehat{\phantom{aaa}}$}}%
+ \setbox4\hbox{\smash{\lower1.35ex\hbox{\box4}}}%
\vbox{\ialign{##\crcr%
- \kern\@tempdima\box4
+ \kern\@tempdima\box4%
\crcr
\noalign{\kern.15ex\nointerlineskip}%
\hfil{#1}\hfil\crcr}}}}
-\newcommand*\nesso[1]{{\setbox\tw@\hbox{#1}%
- \edef\slant@{\expandafter\numero\the\fontdimen1\font}%
- \@tempdima=\slant@\ht\tw@\advance\@tempdima.9ex
- \ifdim\wd\tw@<1ex
- \setbox4\hbox{\metricsfont\kern-.5ex\Hat}%
- \else
- \setbox4\hbox to\wd\tw@{\hss\nexfill\hss}%
- \fi
- \vbox{\ialign{##\crcr%
- \kern\@tempdima\box4
- \crcr
- \noalign{\kern.15ex\nointerlineskip}%
- \hfil\box\tw@\hfil\crcr}}}}
+\let\nesso\nexus
+
% \end{macrocode}
%\end{macro}
%\end{macro}
-%\begin{macro}{\nexfill}
-%\begin {macro}{\nexusfill}|\nexfill| is a leader made up of ``Latin'' circumflex
-% signs; since the sign has a special meaning in mathematics, the definition
-% of |\nexfill| requires the temporary change of the circumflex catcode. The
-% command |\nexus|, on the opposite, requires another leader definition that
-% contains the oblique sides of the trapeze. The latter were defined as glyphs
-% in the Greek fonts. |\nexus| is supposed to be used \emph{only} while
-% typesetting Greek text or poetry.
-% \begin{macrocode}
-{\catcode`\^=12\relax\global\chardef\Hat`\^
-\gdef\nexfill{{\metricsfont\leaders\hbox{^}\hfill}}}
%
-\newdimen\Uunit
-\def\nexusfill{\setbox\z@\hbox{\char16}%
- \Uunit=0.83333\p@
- \kern.16ex\char16\kern-.08ex
- \leaders\vrule\@height\z@\@depth\Uunit\hfill
- \kern.08ex\char17\kern.16ex}
-% \end{macrocode}
-%\end{macro}
-%\end{macro}
%
%\begin{macro}{\coronis}
%\begin {macro}{\Coronis}
%\begin {macro}{\paragr}
-% \begin {macro}{\dpar} While setting poetry it is necessary to mark the end of
-% paragraphs, which do not necessarily coincide with the ends of stanzas. After
-% the verse that concludes a logical paragraph philologists insert a mark called
-% ``coronis'' (synonymous of paragraph, therefore the command |\paragr|) or
-% a ``stronger'' mark called ``Coronis'', which differs from the common ``coronis''
-% because it bears an inverted semilunar sign on its left. Both marks are input
-% by means of their respective commands |\paragr| (preferred to |\coronis|) or
-% |\Coronis| inserted \emph{at the beginning of the paragraph terminating verse}.
+% \begin {macro}{\dpar}
+% While setting poetry it is necessary to mark the end of paragraphs, which do not
+% necessarily coincide with the ends of stanzas. After the verse that concludes a
+% logical paragraph philologists insert a mark called ``coronis'' (synonymous of
+% paragraph, therefore the command |\paragr|) or a ``stronger'' mark called
+% ``Coronis'', which differs from the common ``coronis'' because it bears an
+% inverted semilunar sign on its left. Both marks are input by means of their
+% respective commands |\paragr| (preferred to |\coronis|) or |\Coronis| inserted
+% \emph{at the beginning of the paragraph terminating verse}.
% The command |\dparagr| inserts a double coronis mark, which is sometimes required
% in place of the ordinary single mark.
% \begin{macrocode}
@@ -1860,13 +2315,14 @@ Type X <return> to exit.}%
\DeclareRobustCommand{\dparagr}%
{\raisebox{-1.3ex}[\z@][\z@]{\coronis@rule}%
\raisebox{-1.6ex}[\z@][\z@]{\coronis@rule}}
+
% \end{macrocode}
%\end{macro}
%\end{macro}
%\end{macro}
%\end{macro}
%
-%\begin{macro}{\sinafia}
+%\begin {macro}{\sinafia}
%\begin {macro}{\crux}
%\begin {macro}{\FinisCarmen}
%\begin {macro}{\apici}
@@ -1875,17 +2331,19 @@ Type X <return> to exit.}%
%\begin {macro}{\star}
%\begin {macro}{\dstar}
%\begin {macro}{\tstar}
-%\begin {macro}{\responsio} The next group of commands are intended to insert special
-% symbols in the philological text; just the command |\apici| requires an argument,
-% a block of text that shall be enclosed within straight vertical apices, irrespective
-% of the font slant. The command |\FinisCarmen| although very descriptive, is long to
-% type, therefore a shorter alias |\FinCar| has been defined. |\apex| was the initial
-% name given to the command, but on a second time it was changed to |\positio|, and the
-% latter should always be used in place of the former. For what concerns |\star| which is
-% a standard \LaTeX\ math command, the original definition is saved in the service
-% macro |\m@thst@r| and the command is redefined so as to perform as it should both in
-% text and in math mode. The symbol $\int$, on the contrary, was redefined so as not
-% to mix math with text, even if its rendering resorts to mathematics.
+%\begin {macro}{\responsio}
+% The next group of commands are intended to insert special symbols in the
+% philological text; just the command |\apici| requires an argument, a block of text
+% that shall be enclosed within straight vertical apices, irrespective of the font
+% slant. The command |\FinisCarmen| although very descriptive, is long to type,
+% therefore a shorter alias |\FinCar| has been defined. |\apex| was the initial name
+% given to the command, but on a second time it was changed to |\positio|, and the
+% latter should always be used in place of the former. For what concerns |\star|
+% which is a standard \LaTeX\ math command, the original definition is saved in the
+% service macro |\m@thst@r| and the command is redefined so as to perform as it
+% should both in text and in math mode. The symbol $\int$, on the contrary, was
+% redefined so as not to mix math with text, even if its rendering resorts to
+% mathematics.
% \begin{macrocode}
\DeclareRobustCommand*\sinafia{{\metricsfont s}}
\DeclareRobustCommand*{\crux}{{\metricsfont\char'171}}
@@ -1903,6 +2361,7 @@ Type X <return> to exit.}%
\DeclareRobustCommand*{\dstar}{{\upshape **}}
\DeclareRobustCommand*{\tstar}{{\upshape ***}}
\DeclareRobustCommand*{\responsio}{{\boldmath\ensuremath{\sim}}}
+
% \end{macrocode}
%\end{macro}
%\end{macro}
@@ -1916,25 +2375,28 @@ Type X <return> to exit.}%
%\end{macro}
%
%\begin{macro}{\thorn}
-%\begin{macro}{\Thorn} |\thorn| and |\Thorn| are the exact equivalents of |\th| and |\Th|
-% that ere defined only for the T1 encoding. Therefore such encoding is selected
-% in an implicit way.
+%\begin{macro}{\Thorn} |\thorn| and |\Thorn| are the exact equivalents of |\th|
+% and |\Th| that are defined only for the T1 encoding. Therefore such encoding is
+% selected in an implicit way.
% \begin{macrocode}
\DeclareRobustCommand{\thorn}{{\fontencoding{T1}\selectfont\th}}
\DeclareRobustCommand{\Thorn}{{\fontencoding{T1}\selectfont\TH}}
+
% \end{macrocode}
%\end{macro}
%\end{macro}
%
+% \subsection{Ancient Greek monetary unit symbols}
%\begin{macro}{\dracma}
%\begin {macro}{\hemiobelion}
%\begin {macro}{\tetartemorion}
%\begin {macro}{\stater}
%\begin {macro}{\denarius}
-%\begin {macro}{\etos} This set of symbols, taken from the metrics symbol font
-% (which by this time is evident does not contain only metrics symbols) represent
-% the unit symbols of some coins of ancient Greece, as they were found on many
-% ``ostraka'' in many archeological sites.
+%\begin {macro}{\etos}
+% This set of symbols, taken from the metrics symbol font (which by this time is
+% evident does not contain only metrics symbols) represents the unit symbols of some
+% coins of ancient Greece, as they were found on many ``ostraka'' in several
+% archeological sites.
% \begin{macrocode}
\DeclareRobustCommand{\dracma}{{\metricsfont D}}
\DeclareRobustCommand{\hemiobelion}{{\metricsfont A}}
@@ -1942,6 +2404,7 @@ Type X <return> to exit.}%
\DeclareRobustCommand{\stater}{{\metricsfont C}}
\DeclareRobustCommand{\denarius}{{\metricsfont E}}
\DeclareRobustCommand{\etos}{{\metricsfont G}}
+
% \end{macrocode}
%\end{macro}
%\end{macro}
@@ -1950,19 +2413,23 @@ Type X <return> to exit.}%
%\end{macro}
%\end{macro}
%
+% \subsection{Another set of philological symbols and macros}
%\begin{macro}{\cut}
%\begin{macro}{\dcutbar}
%\begin{macro}{\bcutbar}
-%\begin{macro}{\gcutbar} The following set of macros are all connected with the principal
-% macro |\cut|, which should position a horizontal tie or bar across a certain number
-% of latin letters, specifically `d', `b', and `g'; due to their different shapes, such
-% bars are of different length and located at different heights; if they are in italics
-% the bar position must change again. Therefore even if the user command |\cut| is the
-% same for all these letters, its action must change depending on different circumstances.
-% It merely checks its argument (it must be \emph{one} letter and unpredictable results
-% are obtained if more that one token is passed as argument to |\cut|) and selects the
-% proper bar. The specific bar commands |\dcutbar|, |\bcutbar|, and |\gcutbar|, are
-% defined in such a way as to cope only with the their initial letter.
+%\begin{macro}{\gcutbar}
+% The following set of macros are all connected with the principal macro |\cut|,
+% which should position a horizontal tie or bar across a certain number of latin
+% letters, specifically `d', `b', and `g'; due to their different shapes, such bars
+% are of different length and located at different heights; if they are in italics
+% the bar position must change again. Therefore even if the user command |\cut| is
+% the same for all these letters, its action must change depending on different
+% circumstances.
+% It merely checks its argument (it must be \emph{one} letter and unpredictable
+% results are obtained if more that one token is passed as an argument to |\cut|)
+% and selects the proper bar. The specific bar commands |\dcutbar|, |\bcutbar|, and
+% |\gcutbar|, are defined in such a way as to cope only with the their initial
+% letter.
% \begin{macrocode}
\DeclareRobustCommand{\cut}[1]{%
\ifx#1d\dcutbar\else
@@ -1972,16 +2439,16 @@ Type X <return> to exit.}%
\fi
\fi}
%
-\def\dcutbar{{\edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+\def\dcutbar{{\edef\slant@{\strip@pt\fontdimen1\font}%
d\dimen@1.2ex\kern\slant@\dimen@
\llap{\vrule\@height1.3ex\@depth-\dimen@
\ifdim\slant@\p@>\z@\@width.35em\else\@width.4em\fi\kern.03em}}}
-\def\bcutbar{{\edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+\def\bcutbar{{\edef\slant@{\strip@pt\fontdimen1\font}%
\rlap{\dimen@1.2ex\kern\slant@\dimen@
\ifdim\slant@\p@=\z@\kern.03em\fi
\vrule\@height1.3ex\@depth-\dimen@
\ifdim\slant@\p@>\z@\@width.3em\else\@width.4em\fi}b}}
-\def\gcutbar{{\edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+\def\gcutbar{{\edef\slant@{\strip@pt\fontdimen1\font}%
\ifdim\slant@\p@>\z@
g\kern-.55ex\dimen@.2ex\kern-\slant@\dimen@
\vrule\@height-.1ex\@depth\dimen@\@width.6ex
@@ -1989,18 +2456,18 @@ Type X <return> to exit.}%
\dimen@.2ex\kern\slant@\dimen@\vrule\@height.3ex\@depth-\dimen@
\@width.6ex\kern-.55ex\relax g
\fi}}
+
% \end{macrocode}
%\end{macro}
%\end{macro}
%\end{macro}
%\end{macro}
%
-%\begin{macro}{\OSN} The next macro is just a shortcut instead of using
-% |\oldstylenums|. We do not remember why we defined a whole command, instead
-% of just |\let|ting the new control sequence be a synonym for the existing
-% one.
+%\begin{macro}{\OSN}
+% The next macro is just a shortcut instead of using |\oldstylenums|.
% \begin{macrocode}
-\newcommand*{\OSN}[1]{\oldstylenums{#1}}
+\let\OSN\oldstylenums
+
% \end{macrocode}
%\end{macro}
%
@@ -2012,7 +2479,7 @@ Type X <return> to exit.}%
% a special pronunciation of the guttural that produces a ``click''.
%\begin{macrocode}
\newcommand\splus{\leavevmode{%
- \edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+ \edef\slant@{\strip@pt\fontdimen1\font}%
\setbox\z@\hbox{s}%
\dimen@=\wd\z@
\setbox\tw@\hbox{$\scriptscriptstyle+$}%
@@ -2022,7 +2489,7 @@ Type X <return> to exit.}%
\kern\slant@\dimen@\kern-.5\wd\tw@\box\tw@}}%
\box\z@}}%
\newcommand\stimes{\leavevmode{%
- \edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+ \edef\slant@{\strip@pt\fontdimen1\font}%
\setbox\z@\hbox{s}%
\dimen@=\wd\z@
\setbox\tw@\hbox{$\scriptscriptstyle\times$}%
@@ -2032,7 +2499,7 @@ Type X <return> to exit.}%
\kern\slant@\dimen@\kern-.5\wd\tw@\box\tw@}}%
\box\z@}}%
\newcommand\kclick{\leavevmode{%
- \edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+ \edef\slant@{\strip@pt\fontdimen1\font}%
\setbox\z@\hbox{k}%
\setbox\tw@\hbox{\fontencoding\GRencoding@name\selectfont\s{v}}%
\dimen@\wd\z@
@@ -2041,32 +2508,35 @@ Type X <return> to exit.}%
\fi
k\makebox[\z@][r]{\unhcopy\tw@\kern.5\dimen@}%
}}%
+
% \end{macrocode}
%\end{macro}
%\end{macro}
%\end{macro}
-
%
+% \subsection{Poetry environments and macros}
%\begin {macro}{\verso}
-%\begin{environment}{versi} Here we start with verse environments; we already explained
-% we defined three new verse environments that typeset verses in ``in-line'' verses,
+%\begin{environment}{versi}
+% Here we start with verse environments; we already explained that we defined three
+% new verse environments that typeset poetry in ``in-line'' verses,
% ``numbered by five'' verses, and ``numbered by five and subnumbered'' verses.
% For the environment |versi| we first need a counter and a little macro for
% generating the short bar that has to receive the verse number as a ``limits''
% superscript.
% \begin{macrocode}
-%%%%%%%%%%%%%%%%%%%%%%%%%% verse environments
\newcounter{verso}\setcounter{verso}{0}
-\newcommand{\smallvert}{\vrule\@height1ex}
+\newcommand{\smallvert}{\vrule\@height.6ex\@depth.4ex}
+
% \end{macrocode}
-% Next we define the macro |\verso| that sets the small bar with the verse number on top.
-% Since the initial numbering might be different from~1, |\verso| accepts an optional
-% argument, which is intended to be the initial counter value. Since |\verso| steps up
-% the counter a different action must be taken if the optional argument is present;
-% in order to be able to reference such verse by means of the |\label|--|\ref| cross reference
-% mechanism, this stepping up must be done by means of |\refstepcounter|; therefore we
-% have to leave |\refstepcounter| outside the conditional code, and step down the counter
-% by one unit only in case the initial value is specified.
+% Next we define the macro |\verso| that sets the small bar with the verse number on
+% top. Since the initial numbering might be different from~1, |\verso| accepts an
+% optional argument, which is intended to be the initial counter value. Since
+% |\verso| steps up the counter a different action must be taken if the optional
+% argument is present; in order to be able to reference such verse by means of the
+% |\label|--|\ref| cross reference mechanism, this stepping up must be done by means
+% of |\refstepcounter|; therefore we have to leave |\refstepcounter| outside the
+% conditional code, and step down the counter by one unit only in case the initial
+% value is specified.
% \begin{macrocode}
\DeclareRobustCommand\verso[1][]{%
\def\@tempA{#1}\ifx\@tempA\empty
@@ -2074,42 +2544,49 @@ Type X <return> to exit.}%
\setcounter{verso}{#1}\addtocounter{verso}{\m@ne}%
\fi
\refstepcounter{verso}%
- \ensuremath{\mathop{\smallvert}\limits^{\theverso}}%
- \space\ignorespaces
-}
+ \@killglue\space
+ \ensuremath{\mathop{\smallvert}\limits^{\scriptscriptstyle\theverso}}%
+ \space\ignorespaces}
+
% \end{macrocode}
-% Now that the verse separation macro is ready we can define the environment; the required
-% opening statement argument represents a short text whose width is taken as a measure
-% for indentation, so that verses are typeset with a left margin that leaves out this
-% short text. Substantially this environment is a \texttt{list} one, and the left
-% margin variable width is totally similar to the one used in |thebibiography| environment.
-% Also the |\makelabel| command has been modified accordingly.
+% Now that the verse separation macro is ready we can define the environment; the
+% required opening statement argument represents a short text whose width is taken
+% as a measure for indentation, so that verses are typeset with a left margin that
+% leaves out this short text. Substantially this environment is a \texttt{list} one,
+% and the left margin variable width is totally similar to the one used in
+% |thebibiography| environment. Also the |\makelabel| command has been modified
+% accordingly.
% \begin{macrocode}
\newenvironment{versi}[1]{%
\def\makelabel##1{##1}
-\list{}{\settowidth\labelwidth{#1}\leftmargin\labelwidth
+\setbox\z@\hbox{#1}%
+\list{}{\labelwidth\wd\z@\leftmargin\labelwidth
\advance\leftmargin\labelsep}%
+ \item[\box\z@]
}{%
\endlist
}
+\let\versus\versi \let\endversus\endversi
% \end{macrocode}
%\end{environment}
%\end{macro}
%
-%\begin{environment}{Versi} The second environment |Versi| accepts an optional
-% starting number in the opening, statement, whose default value is~1: verses are
-% composed as in the standard \LaTeX\ |verse| environment (with one minor difference)
-% except they are numbered in the left margin with a progression of five; only verse numbers
-% that are integer multiples of five are displayed. The minor difference is that stanzas
-% cannot be marked with a blank line in the input |.tex| file, as it is customary with
+%\begin{environment}{Versi}
+% The second environment |Versi| accepts an optional starting number in the opening,
+% statement, whose default value is~1: verses are composed as in the standard
+% \LaTeX\ |verse| environment (with one minor difference) except they are numbered
+% in the left margin with a progression of five; only verse numbers that are integer
+% multiples of five are displayed. The minor difference is that stanzas cannot be
+% marked with a blank line in the input |.tex| file, as it is customary with
% the standard environment, but if a visual mark is desired, such as extra vertical
-% space, it is necessary to resort to the optional spacing parameter that can be specified
-% to the |\\| command. This environment uses the same verse counting counter, defined for
-% use with the |versi| environment.
+% space, it is necessary to resort to the optional spacing parameter that can be
+% specified to the |\\| command. This environment uses the same verse counting
+% counter, defined for use with the |versi| environment.
+%
%\begin{macro}{\BreakVersotrue}
%\begin{macro}{\BreakVersofalse}
-% For specific purposes it is necessary to have a boolean
-% variable for allowing or prohibiting verses to split up at the end of line; the default is not
+% For specific purposes it is necessary to have a boolean variable for allowing or
+% prohibiting verses to split up at the end of line; the default is not
% to split.
% \begin{macrocode}
\newif\ifBreakVersi
@@ -2117,55 +2594,58 @@ Type X <return> to exit.}%
\newenvironment{Versi}[1][1]{%
\setcounter{verso}{#1}%
% \end{macrocode}
-% an internal macro |\writ@verso| does not actually write out the complete, possibly
-% numbered verse, but provides for checking that the verse counter contains a multiple of~5,
-% and to write it out using old stile numbers; in case the number is not an integer multiple
-% of~5 the number is written out as the |\empty| macro.
%\end{macro}
%\end{macro}
+% An internal macro |\writ@verso| does not actually write out the complete, possibly
+% numbered verse, but provides for checking that the verse counter contains a
+% multiple of~5, and to write it out using old stile numbers; in case the number is
+% not an integer multiple of~5 the number is written out as the |\empty| macro.
% \begin{macrocode}
\def\writ@verso{%
\count255=\value{verso}\divide\count255by5\relax
\multiply\count255by5\relax
\advance\count255-\value{verso}%
\ifnum\count255=\z@
- {\small\expandafter\oldstylenums\expandafter{\the\c@verso}}%
+ {\fontseries{m}\small\expandafter\oldstylenums\expandafter{\the\c@verso}}%
\else
- \empty
+ \empty
\fi}%
% \end{macrocode}
-% Since the |\\| command should provide the same functionality as the regular \LaTeX\
-% command, while in this environment it should provide other functionalities, such as
-% triggering the display of the verse number, It is necessary to define an intermediate
-% command |\v@rscr|, that examines the possible optional arguments, such as the optional
-% star or the brackets enclosing vertical spacing
+% Since the |\\| command should provide the same functionality as the regular
+% \LaTeX\ command, while in this environment it should provide other
+% functionalities, such as triggering the display of the verse number. It is
+% necessary to define an intermediate command |\v@rscr|, that examines the possible
+% optional arguments, such as the optional star or the brackets enclosing vertical
+% spacing
% \begin{macrocode}
\def\\{\@ifstar{\v@rscr{\@M}}{\v@rscr{\z@}}}%
\def\v@rscr##1{\@ifnextchar[{\wr@teverse{##1}}%
{\wr@teverse{##1}[\z@]}}%
% \end{macrocode}
-% Finally the |\wr@teverse| macro does the actual typesetting of the verse. Notice that
-% the environment opening statement and every succeeding previous verse starts an
-% horizontal box where the contents of the current verse is stored. Therefore the first
-% thing to do is to close the box with the |\egroup| command, then a line of text is
-% output that contains a possibly empty box or the verse number and the command for
-% stepping up the verse counter, followed by the verse box number~0 and an end of paragraph;
-% in this way the |\\| operates always in vertical mode, contrary to what happens in the |verse|
-% standard \LaTeX\ environment. Even in this environment the actual typesetting is done
-% within a |list| environment, whose parameters are set differently from what they are
-% in the |verse| environment. Notice in any case that the command |\wr@teverse| reopens
-% the~0 box, so on the last verse, upon closing the environment, it is necessary to
-% remember to close such box, whose contents is irrelevant and can be thrown away.
-%
-% I have experienced some problems in typesetting verses in two-column format; the column width
-% might be too short for setting up verses even if verses are not that long, because
-% in the left margin there must be room for the verse numbering; for homogeneity the spacing
-% must conform also with the following environment \texttt{VERSI} that has a secondary
-% verse numbering, therefore it can't be too small. The result is that there might be a test
-% for controlling the two-column format, but I think that it is more useful for the typesetter
-% to be able to switch on and off the possibility of breaking long verses on more lines.
-% On two-column format in any case it is better to leave the right margin to coincide with
-% the column right margin.
+% Finally the |\wr@teverse| macro does the actual typesetting of the verse. Notice
+% that the environment opening statement and every succeeding previous verse starts
+% an horizontal box where the contents of the current verse is stored. Therefore the
+% first thing to do is to close the box with the |\egroup| command, then a line of
+% text is output that contains a possibly empty box or the verse number and the
+% command for stepping up the verse counter, followed by the verse box number~0 and
+% an end of paragraph; in this way the |\\| operates always in vertical mode,
+% contrary to what happens in the |verse| standard \LaTeX\ environment. Even in this
+% environment the actual typesetting is done within a |list| environment, whose
+% parameters are set differently from what they are in the |verse| environment.
+% Notice in any case that the command |\wr@teverse| reopens the~0 box, so on the
+% last verse, upon closing the environment, it is necessary to remember to close
+% such box, whose contents is irrelevant and can be thrown away.
+%
+% I have experienced some problems in typesetting verses in two-column format; the
+% column width might be too short for setting up verses even if verses are not that
+% long, because in the left margin there must be room for the verse numbering; for
+% homogeneity the spacing must conform also with the following environment
+% \texttt{VERSI} that has a secondary verse numbering, therefore it can't be too
+% small. The result is that there might be a test for controlling the two-column
+% format, but I think that it is more useful for the typesetter to be able to switch
+% on and off the possibility of breaking long verses on more lines.
+% On two-column format in any case it is better to leave the right margin to
+% coincide with the column right margin.
% \begin{macrocode}
\def\wr@teverse##1[##2]{\egroup
\makebox[3em][r]{%
@@ -2196,38 +2676,44 @@ Type X <return> to exit.}%
\item\leavevmode\setbox\z@\hbox\bgroup\ignorespaces
}{%
% \end{macrocode}
-% Upon closing it is necessary to activate the writing out of the last verse that is still
-% in the~0 box, but since this box is immediately reopened, it is necessary to close it
-% again before exiting the environment.
+% Upon closing it is necessary to activate the writing out of the last verse that is
+% still in the~0 box, but since this box is immediately reopened, it is necessary to
+% close it again before exiting the environment.
% \begin{macrocode}
\\%
\egroup
\endlist
}
+\let\Versus\Versi \let\endVersus\endVersi
+
% \end{macrocode}
%\end{environment}
%
-%\begin{environment}{VERSI} The third environment |VERSI| set verses in the traditional
-% way, but numbers them with two different enumerations; the principal one is by
-% multiples of five, while the secondary one counts by units, and may be turned on and off,
-% or reset at will. We therefore need another counter for the secondary enumeration
-% and commands for turning it on and off and for resetting the counter. We need also
-% a new length and a new boolean variable in order to manage the secondary enumeration.
-% The new length represents an indentation of those verses that do no have the secondary
-% enumeration, while secondary enumerated verses are not indented. For \texttt{VERSI}
-% there is the same possibility of turning on and off the possibility of breaking verses
-% at the end of line as it happens for the environment \texttt{Versi}.
+%\begin{environment}{VERSI} The third environment |VERSI| set verses in the
+% traditional way, but numbers them with two different enumerations; the principal
+% one is by multiples of five, while the secondary one counts by units, and may be
+% turned on and off, or reset at will. We therefore need another counter for the
+% secondary enumeration and commands for turning it on and off and for resetting the
+% counter. We need also a new length and a new boolean variable in order to manage
+% the secondary enumeration.
+% The new length represents an indentation of those verses that do no have the
+% secondary enumeration, while secondary enumerated verses are not indented. For
+% \texttt{VERSI} there is the same possibility of turning on and off the possibility
+% of breaking verses at the end of line as it happens for the environment
+% \texttt{Versi}.
% \begin {macro}{\SubVerso}
-% \begin {macro}{\NoSubVerso} Macro |\NoSubVerso| turns off the secondary enumeration;
-% macro |\SubVerso| turns on the secondary enumeration, but it accepts an optional
-% argument for resetting the secondary counter; the default value is~0; if no optional
-% argument is specified, and therefore if the optional argument has its default value~0,
-% no resetting is performed and the enumeration keeps going from the last contents of
-% the secondary counter; if the first use of |\SubVerso| does not contain the optional
-% argument, the secondary enumeration keep going from the old contents of the secondary
-% counter which is unpredictable, depending upon the previous occurrences of the
-% environment |VERSI|. The typesetter, therefore, must remember to specify the optional
-% argument to |\SubVerso| the first time he uses it in this environment.
+% \begin {macro}{\NoSubVerso}
+% Macro |\NoSubVerso| turns off the secondary enumeration; macro |\SubVerso| turns
+% on the secondary enumeration, but it accepts an optional argument for resetting
+% the secondary counter; the default value is~0; if no optional argument is
+% specified, and therefore if the optional argument has its default value~0, no
+% resetting is performed and the enumeration keeps going from the last contents of
+% the secondary counter; if the first use of |\SubVerso| does not contain the
+% optional argument, the secondary enumeration keeps going from the old contents of
+% the secondary counter which is unpredictable, depending upon the previous
+% occurrences of the environment |VERSI|. The typesetter, therefore, must remember
+% to specify the optional argument to |\SubVerso| the first time he uses it in this
+% environment.
% \begin{macrocode}
\newcounter{subverso} \setcounter{subverso}{0}
\newif\ifSubVerso
@@ -2240,42 +2726,43 @@ Type X <return> to exit.}%
\global\protected@edef\@currentlabel{\the\c@subverso}%
\fi
\global\versoskip.3em\ignorespaces}
+
% \end{macrocode}
%\end{macro}
%\end{macro}
% The opening environment statement accepts an optional argument (default equals~1)
-% which represents the primary enumeration starting number
+% which represents the primary enumeration starting number:
% \begin{macrocode}
\newenvironment{VERSI}[1][1]{%
\setcounter{verso}{#1}%
% \end{macrocode}
-% We need two macros |\writ@verso| and |\writ@subverso|, that typeset the primary and
-% secondary enumeration; the first one is similar to the one used in the |Versi| environment,
-% while the second one has no special features except the conditional construct needed
-% to check if the secondary enumeration has to be printed out.
+% We need two macros |\writ@verso| and |\writ@subverso|, that typeset the primary
+% and secondary enumeration; the first one is similar to the one used in the |Versi|
+% environment, while the second one has no special features except the conditional
+% construct needed to check if the secondary enumeration has to be printed out.
% \begin{macrocode}
\def\writ@verso{%
\count255=\value{verso}\divide\count255by5\relax
\multiply\count255by5\relax
\advance\count255-\value{verso}%
- \ifnum\count255=0\relax
- {\small\expandafter\oldstylenums\expandafter{\the\c@verso}}%
+ \ifnum\count255=0\relax
+ {\fontseries{m}\small\expandafter\oldstylenums\expandafter{\the\c@verso}}%
\else
- \empty
+ \empty
\fi}%
\NoSubVerso
\def\writ@subverso{%
\ifSubVerso
- {\scriptsize\expandafter\oldstylenums
+ {\fontseries{m}\scriptsize\expandafter\oldstylenums
\expandafter{\the\c@subverso}}%
\fi}%
% \end{macrocode}
% Similarly to the previous environment, the |\\| command must be redefined
% so as to perform more or less as the standard one, while doing all the necessary
-% actions needed in this environment. It must check the presence of the optional star
-% and of the optional vertical skip and it has to pass control to a service macro
-% |\v@rscr| that does the actual job; actually it passes control to a third macro
-% |\writ@verse| that effectively outputs the current verse.
+% actions needed in this environment. It must check the presence of the optional
+% star and of the optional vertical skip and it has to pass control to a service
+% macro |\v@rscr| that does the actual job; actually it passes control to a third
+% macro |\writ@verse| that effectively outputs the current verse.
% \begin{macrocode}
\def\\{\@ifstar{\v@rscr{\@M}}{\v@rscr{\z@}}}%
\def\v@rscr##1{\@ifnextchar[{\writ@verse{##1}}%
@@ -2295,8 +2782,8 @@ Type X <return> to exit.}%
\penalty##1\vskip##2\relax
\setbox\z@\hbox\bgroup\ignorespaces}%
% \end{macrocode}
-% For the remaining part, the environment is a normal |list| environment with specific
-% initial parameters.
+% For the remaining part, the environment is a normal |list| environment with
+% specific initial parameters.
% \begin{macrocode}
\list{}{\parsep\z@\itemsep\z@
\if@twocolumn
@@ -2319,12 +2806,14 @@ Type X <return> to exit.}%
% contents, of no significance now, can be lost upon closing the environment group.
% \begin{macrocode}
\\%
- \egroup\endlist
-}
+ \egroup\endlist}
+\let\VERSUS\VERSI \let\endVERSUS\endVERSUS
+
% \end{macrocode}
%\end{environment}
%
-% Now we start defining many things concerned with metrics; the metric symbol font
+% \subsection{Metrics symbols, macros and environmnets}
+% Now we start defining many macros concerned with metrics; the metric symbol font
% has been developed mainly for this purpose. We start defining some macros for
% inputting specific symbols; many such macros have their own aliases in Latin.
%
@@ -2345,13 +2834,15 @@ Type X <return> to exit.}%
%\begin{macro}{\ubarsbreve}
%\begin{macro}{\ubarsbrevis}
%\begin{macro}{\ubrevelunga}
-%\begin{macro}{\ubrevislonga} The following definitions are straightforward; a small
-% comment on |\breve|: since it is also a math command in standard \LaTeX, its meaning
-% is saved in a service macro |\br@ve| and the |\breve| macro is redefined taking into
-% account whether the typesetting is being done in text or in math mode. The unusual
-% letters that appear in the definitions of the various metric symbols have no mysterious
-% meaning; they might have been specified by |\char|\meta{number}, but it seemed shorter
-% to specify the corresponding letters that would occupy the same slots in literal fonts.
+%\begin{macro}{\ubrevislonga}
+% The following definitions are straightforward; a small comment on |\breve|: since
+% it is also a math command in standard \LaTeX, its meaning is saved in a service
+% macro |\br@ve| and the |\breve| macro is redefined taking into account whether the
+% typesetting is being done in text or in math mode. The unusual letters that appear
+% in the definitions of the various metric symbols have no mysterious meaning; they
+% might have been specified by |\char|\meta{number}, but it seemed shorter to
+% specify the corresponding letters that would occupy the same slots in literal
+% fonts.
% \begin{macrocode}
\DeclareRobustCommand\lunga{{\metricsfont l}}
\let\longa\lunga
@@ -2372,6 +2863,7 @@ Type X <return> to exit.}%
\let\ubarsbrevis\ubarsbreve
\DeclareRobustCommand{\ubrevelunga}{{\metricsfont\char107}}
\let\ubrevislonga\ubrevelunga
+
% \end{macrocode}
%\end{macro}
%\end{macro}
@@ -2405,20 +2897,20 @@ Type X <return> to exit.}%
%\begin {macro}{\ancepsdbrevis}
%\begin {macro}{\aeolicbii}
%\begin {macro}{\aeolicbiii}
-%\begin {macro}{\aeolicbiv} Similarly the following symbols have straightforward
-% definitions. Only |\hiatus| and |\Hiatus| require a small explanation; |\hiatus|
-% inserts a small capital `H' in superscript position; in a first moment it was
-% chosen the solution of designing a specific sans serif glyph in superscript position
-% directly in the metric symbol font (actually this symbol is still part of the font)
-% but while testing it, Paolo Ciacchi observed that a regular `H' with serifs was
-% better looking than the sans serif counterpart. Therefore the definition was
-% changes in order to use the current font upright shape; by specifying `H', it is
-% irrelevant if the current one is a Latin font, and the letter is a capital 'h', or
-% if the current one is a Greek font and the letter is a capital `eta'. |\Hiatus|
-% displays the same symbol in a zero width box so that it does not occupy any
-% horizontal space; it is useful wile writing down complicated metric sequences.
-% Macro|\X| may be considered, thanks to its shape, a shortcut in place of the
-% full name |\anceps|.
+%\begin {macro}{\aeolicbiv}
+% Similarly the following symbols have straightforward definitions. Only |\hiatus|
+% and |\Hiatus| require a small explanation; |\hiatus| inserts a small capital `H'
+% in superscript position; in a first moment it was chosen the solution of designing
+% a specific sans serif glyph in superscript position directly in the metric symbol
+% font (actually this symbol is still part of the font), but while testing it, Paolo
+% Ciacchi observed that a regular `H' with serifs was better looking than the sans
+% serif counterpart. Therefore the definition was changed in order to use the
+% current font upright shape; by specifying `H', it is irrelevant if the current one
+% is a Latin font, and the letter is a capital 'h', or if the current one is a Greek
+% font and the letter is a capital `eta'. |\Hiatus| displays the same symbol in a
+% zero width box so that it does not occupy any horizontal space; it is useful while
+% writing down complicated metric sequences. Macro|\X| may be considered, thanks to
+% its shape, a mnemonic shortcut in place of the full name |\anceps|.
% \begin{macrocode}
\DeclareRobustCommand\corona{{\metricsfont\char20}}
\let\ElemInd\corona
@@ -2434,6 +2926,7 @@ Type X <return> to exit.}%
\DeclareRobustCommand{\aeolicbii}{{\metricsfont I}}
\DeclareRobustCommand{\aeolicbiii}{{\metricsfont J}}
\DeclareRobustCommand{\aeolicbiv}{{\metricsfont K}}
+
% \end{macrocode}
%\end{macro}
%\end{macro}
@@ -2453,42 +2946,46 @@ Type X <return> to exit.}%
%\begin{macro}{\stripsl@sh}
%\begin{macro}{\2}
%\begin{macro}{\3}
-%\begin{macro}{\4} Here we prepare for the definition of a very useful macro, |\newmetrics|
-% that should ease quite a lot writing complicated and repetitive metric sequences.
+%\begin{macro}{\4}
+% Here we prepare for the definition of a very useful macro, |\newmetrics|, that
+% should ease quite a lot writing complicated and repetitive metric sequences.
% We shall define |\newmetrics| by means of the internal \LaTeX\ macro |\@namedef|
% which accepts a macro name containing any character, provided this name does not
% contain the initial back slash (if it does this back slash becomes part of the
-% macro name; see the \TeX{}book where there is an example for the definition of |\\TeX|).
-% Therefore we need a service macro |\stripsl@sh|that strips the first token from the control sequence, so that
-% the na\"{\i}f user does not have to treat the new metrics control sequence differently
-% from the control sequences it uses for example with |\newcommand|. Next we define
-% three numeric control sequences that should be followed by the rest of the macro name.
-% The na\"{\i}f user then can type in something like \verb*+\2iamb + in order to activate
-% a macro whose name is formed by the tokens |2iamb|, which is normally impossible in
-% \LaTeX. Notice, though, the compulsory space after the macro name.
+% macro name; see the \TeX{}book where there is an example for the definition of
+% |\\TeX|). Therefore we need a service macro |\stripsl@sh| that strips the first
+% token from the control sequence, so that the na\"if user does not have to treat
+% the new metrics control sequence differently from the control sequences it uses
+% for example with |\newcommand|. Next we define three numeric control sequences
+% that should be followed by the rest of the macro name.
+% The na\"if user can then type in something like \verb*+\2iamb + in order to
+% activate a macro whose name is formed by the tokens |2iamb|, which is normally
+% impossible in \LaTeX. Notice, though, the compulsory space after the macro name.
% \begin{macrocode}
\newif\ifmetricsfont\metricsfontfalse
\def\stripsl@sh#1{\expandafter\@gobble\string#1}
\def\2#1 {\csname2#1\endcsname}
\def\3#1 {\csname3#1\endcsname}
\def\4#1 {\csname4#1\endcsname}
+
% \end{macrocode}
%\end{macro}
%\end{macro}
%\end{macro}
%\end{macro}
-%\begin {macro}{\newmetrics} Here is the user macro |\newmetrics|,
-% to be used just as |\newcommand|,
-% except it accepts a macro name starting with one of the digits `2', `3', or `4', and sets
-% the suitable boolean variable to true so that in a long metric sequence the metric font
-% might be selected just once.
+%\begin {macro}{\newmetrics}
+% Here is the user macro |\newmetrics|, to be used just as |\newcommand|, except it
+% accepts a macro name starting with one of the digits `2', `3', or `4', and sets
+% the suitable boolean variable to true so that in a long metric sequence the metric
+% font might be selected just once.
% \begin{macrocode}
\newcommand\newmetrics[2]{%
\expandafter\@namedef\expandafter{\stripsl@sh#1}%
- {{\metricsfonttrue#2}}%
-}
+ {{\metricsfonttrue#2}}}
+
% \end{macrocode}
%\end{macro}
+%
%\begin {macro}{\iam}
%\begin {macro}{\chor}
%\begin {macro}{\enopl}
@@ -2496,9 +2993,10 @@ Type X <return> to exit.}%
%\begin {macro}{\aeolchorsor}
%\begin {macro}{\hexam}
%\begin {macro}{\pentam}
-%\begin {macro}{\2tr} Here some common metric sequences are defined; some define single
-% measures, such as the `iambus' or the `choriambus', while some define complete verses such as the
-% `hexameter' or the `pentameter'
+%\begin {macro}{\2tr}
+% Here some common metric sequences are defined; some define single measures, such
+% as the `iambus' or the `choriambus', while some define complete verses such as the
+% `hexameter' or the `pentameter'.
% \begin{macrocode}
\newmetrics\iam{\barbreve\lunga\breve\lunga}
\newmetrics\chor{\lunga\breve\breve\lunga}
@@ -2512,8 +3010,9 @@ Type X <return> to exit.}%
\newmetrics{\pentam}{\lunga\barbbreve\lunga\barbbreve\lunga\dBar
\lunga\breve\breve\lunga\breve\breve\lunga}
\newmetrics{\2tr}{\lunga\breve\lunga\X\ \lunga\breve\lunga\X\ }
+
% \end{macrocode}
-% As it may be seen the definition of such metric sequences may contain almost
+% As it may be seen, the definition of such metric sequences may contain almost
% anything; here |\zeugma| was used as well as \verb*+\ +, but almost every
% macro defined in the previous parts may be freely used.
%\end{macro}
@@ -2525,32 +3024,35 @@ Type X <return> to exit.}%
%\end{macro}
%\end{macro}
%
-%\begin{macro}{\metricstack} |\metricstack| is a command similar to |\shortstack|
-% used to stack something over something else; specifically the second argument
-% over the third one; it was specifically designed for use while typesetting
-% metric sequences, but actually there is nothing that forbids to use it with
-% any base character (typeset in text LR mode) and any superscript character
-% belonging to a math alphabet (which is being set in script--script style, not
-% in script style, as it happens with |\shortstack|.
+%\begin{macro}{\metricstack}
+% |\metricstack| is a command similar to |\shortstack| used to stack something over
+% something else; specifically the second argument over the third one; it was
+% specifically designed for use while typesetting metric sequences, but actually
+% there is nothing that forbids to use it with any base character (typeset in text
+% LR mode) and any superscript character belonging to a math alphabet (which is
+% being set in script--script style, not in script style, as it happens with
+% |\shortstack|.
% \begin{macrocode}
\DeclareRobustCommand*{\metricstack}[2]%
{$\mathord{\mathop{\hbox{#1\rule{\z@}{1ex}}}%
- \limits^{\scriptscriptstyle\relax#2\relax}}$%
-}
+ \limits^{\scriptscriptstyle\relax#2\relax}}$}
+
% \end{macrocode}
%\end{macro}
%
-%\begin{macro}{\svert} |\svert| is a short vertical rule that may be used, for example
-% with |\metricstack| for putting a small number over a dividing vertical bar in metric
+%\begin{macro}{\svert}
+% |\svert| is a short vertical rule that may be used, for example, with
+% |\metricstack| for putting a small number over a dividing vertical bar in metric
% sequences.
% \begin{macrocode}
\newcommand*{\svert}{\vrule\@height.8ex\@depth.2ex\relax}
% \end{macrocode}
%\end{macro}
%
-%\begin{macro}{\textoverline} \LaTeX\ has macro |\underline| that can be used in both
-% text and math mode; there is nothing similar for overlining, therefore we defined
-% a new command for this task.
+%\begin{macro}{\textoverline}
+% \LaTeX\ has macro |\underline| that can be used in both text and math mode; there
+% is nothing similar for overlining, therefore we defined a new command for this
+% task.
% \begin{macrocode}
\DeclareRobustCommand*{\textoverline}[1]{%
\leavevmode\vbox{\setbox\z@\hbox{#1}
@@ -2558,81 +3060,111 @@ Type X <return> to exit.}%
\hbox to\wd\z@{\hrulefill}\crcr
\noalign{\kern.4ex\nointerlineskip}%
\hfil\box\z@\hfil\crcr}}}
+
% \end{macrocode}
%\end{macro}
%
%\begin{macro}{\verseskip}
-%\begin {environment}{bracedmetrics} The environment |bracedmetrics| is used primarily
-% for setting some metric sequences one atop the other, with a certain alignment
-% and grouped together with a right brace. We need therefore a length name
-% |\br@cedmetrics| for measuring the width of this large metrics sequence stack; we need
-% a command |\verseskip| for inserting a blank space before, after or in the middle of a metric
-% sequence, that more or less is as wide as an integer number of metric symbols,
-% and, last but not least, the environment itself for typesetting this large object
-% containing the said metric sequences; see the documentation file \texttt{teubner-doc.pdf}
-% for examining some examples.
+%\begin {environment}{bracedmetrics}
+% The environment |bracedmetrics| is used primarily for setting some metric
+% sequences one atop the other, with a certain alignment and grouped together with a
+% right brace. We need therefore a length name |\br@cedmetrics| for measuring the
+% width of this large metrics sequence stack; we need a command |\verseskip| for
+% inserting a blank space before, after or in the middle of a metric sequence, that
+% more or less is as wide as an integer number of metric symbols, and, last but not
+% least, the environment itself for typesetting this large object containing the
+% said metric sequences; see the documentation file \texttt{teubner-doc.pdf} for
+% examining some examples.
% \begin{macrocode}
\newlength{\br@cedmetrics}
\newcommand*{\verseskip}[1]{{%
- \setbox\z@\hbox{\longa}\dimen@\wd\z@\leavevmode\hbox to#1\dimen@{}}%
-}
+ \setbox\z@\hbox{\longa}\dimen@\wd\z@\leavevmode\hbox to#1\dimen@{}}}
+
\newenvironment{bracedmetrics}[1]{\def\Hfill{\leavevmode\hfill}%
\settowidth{\br@cedmetrics}{#1}%
\ifvmode\vskip1ex\fi
$\displaystyle\left.%
\vcenter\bgroup\hsize\br@cedmetrics\parindent\z@\parskip\z@
}{\egroup\right\}$}
+
% \end{macrocode}
%\end{environment}
%\end{macro}
%
+% \subsection{Debugging commands}
%\begin{macro}{\TRON}
%\begin{macro}{\GTRON}
%\begin{macro}{\TROF}
-%\begin{macro}{\GTROF} Here there are some macros for turning on and off the tracing
-% facilities of \TeX, that turn out to be useful while debugging; they are accessible
-% also to the end user. Global settings must be turned on and off globally; local settings
+%\begin{macro}{\GTROF}
+%\begin{macro}{\treceon}
+%\begin{macro}{\traceoff}
+% Here there are some macros for turning on and off the tracing facilities of \TeX,
+% that turn out to be useful while debugging; they are accessible also to the end
+% user. Global settings must be turned on and off globally; local settings
% die out by themselves when a group is closed, but it is a good habit to explicitly
% turn them out regardless of groups. Attention that when the tracing facilities are
-% on and a page ship out takes place, the |.log| file receives a lot of material, and the
-% file gets very large.
-% \begin{macrocode}
+% on and a page ship out takes place, the |.log| file receives a lot of material,
+% and this file gets very large. In order to avoid logging too much information the
+% |trace| package is loaded; this package give access to the macros |\traceon| and
+% |\traceoff| that log a lot of information, except the redundant one, specifically
+% all the macros executed during any font change. Users don't realize the amount of
+% processing done behind the scenes when with the New Font Selection Scheme (NFSS) a
+% font change takes place; luckily enough modern processors are quite fast so that
+% the compilation CPU time does not become too heavy. But if the \TeX\ processing is
+% logged, this amount of work implies thousands of lines of almost meaningless
+% information when the purpose of logging depends on errors that are difficult to
+% spot; Font changes are almost exempt from errors, so the processing of the inner
+% workings need not be logged down.
+%
+% If the user needs to trace something in order to spot errors, s/he is invited to
+% use the commands |\traceon| and |\traceoff|; commands |\TRON| and |\TROF| do log
+% much more material, in particular font changes, but at least they action may be
+% confined within groups or environments; |\GTRON| and |\GTROF| are global settings
+% and can't be confined within groups or environments; sometimes they are necessary,
+% but it's important to turn off global tracing as soon as possible.
+% \begin{macrocode}
+\RequirePackage{trace}
\def\GTRON{\global\tracingcommands=\tw@ \global\tracingmacros=\tw@}
\def\GTROF{\global\tracingcommands=\z@ \global\tracingmacros=\z@}
\def\TRON{\tracingcommands=\tw@ \tracingmacros=\tw@}
\def\TROF{\tracingcommands=\z@ \tracingmacros=\z@}
+
% \end{macrocode}
%\end{macro}
%\end{macro}
%\end{macro}
%\end{macro}
+%\end{macro}
+%\end{macro}
%
-% 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 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 be redefined. On the occasion we changed some
-% little internal details so as to make such macros a little faster and more robust.
+% \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
+% 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
+% be redefined. On the occasion we changed some little internal details so as to make such macros a little faster and more robust.
%\begin{macro}{\Greeknumeral}
%\begin{macro}{\greeknumeral}
%\begin{macro}{\@ifStar}
%\begin{macro}{\grtoday}
-% Both |\gereeknumeral| and |\Greeknumeral|, the latter producing
-% upper case Greek numerals, while the former produces lower case ones, resort to a service
-% macro |\gr@@numeral|. But the new definition accepts the starred version; without the star
-% the digit value~6 is represented with a ``stigma'', while with the star that value is
-% represented with a lowered ``digamma''. The upper case version requires intermediate
-% macros before using |\MakeUppercase| on the result of converting lower to upper case
-% Milesian value symbols. This means that |\gr@@numeral| may work only with lower case
-% symbols.
-% It turned out that the normal redefinition command |\renewcommand| produced fragile
-% commands that broke out when used as arguments of other commands, specifically the Greek date
-% was broken when it was passed as the argument to the |\date| command of the class \textsf{memoir};
-% therefore I decided to redefine the |\@ifstar| macro into another |\@ifStar| one so as not to
-% fiddle with \LaTeX\ kernel commands. I defined also the lowercase version of the |\grtoday| date,
-% since the \babel\ package provides only the |\today| command with no control over the use of
-% which type of numerals; |\grtoday| uses the lowercase Milesian numerals through the redefined
-% |\greeknumeral| macro.
+% Both |\gereeknumeral| and |\Greeknumeral|, the latter producing upper case Greek
+% numerals, while the former produces lower case ones, resort to a service macro
+% |\gr@@numeral|. But the new definition accepts the starred version; without the
+% star the digit value~6 is represented with a ``stigma'', while with the star that
+% value is represented with a lowered ``digamma''. The upper case version requires
+% intermediate macros before using |\MakeUppercase| on the result in order to
+% convert lower to upper case Milesian value symbols. This means that |\gr@@numeral|
+% may work only with lower case symbols.
+% It turned out that the normal redefinition command |\renewcommand| produced
+% fragile commands that broke out when used as arguments of other commands,
+% specifically the Greek date was broken when it was passed as the argument to the
+% |\date| command of the class \textsf{memoir}; therefore I decided to redefine the
+% |\@ifstar| macro into another |\@ifStar| one so as not to fiddle with \LaTeX\
+% kernel commands. I defined also the lowercase version of the |\grtoday| date,
+% since the \babel\ package provides only the |\today| command with no control over
+% the use of which type of numerals; |\grtoday| uses the lowercase Milesian numerals
+% through the redefined |\greeknumeral| macro.
% \begin{macrocode}
\def\@ifStar#1#2{\def\@tempA{#1}\def\@tempB{#2}\futurelet\@tempC\@testStar}
\def\@testStar{\ifx\@tempC*\bbl@afterelse\expandafter\@tempA\@gobble\else
@@ -2647,31 +3179,34 @@ $\displaystyle\left.%
\expandafter\MakeUppercase\expandafter{\gr@@numeral{#1}}}
\def\Gr@@knum@ral#1{\let\s@i\Digamma
\expandafter\MakeUppercase\expandafter{\gr@@numeral{#1}}}
-\def\grtoday{{\expandafter\greeknumeral\expandafter{\the\day}} % keep the space
-\gr@c@month \space {\expandafter\greeknumeral\expandafter{\the\year}}}
+\def\grtoday{{\expandafter\greeknumeral\expandafter{\the\day}}\space
+\gr@c@month\space{\expandafter\greeknumeral\expandafter{\the\year}}}
+
% \end{macrocode}
%\end{macro}
%\end{macro}
%\end{macro}
%\end{macro}
-%\begin{macro}{\gr@@numeral} |\gr@@numeral| must do most of the processing; it must check
-% that the argument is within the allowable range $1\sim999\,999$ and issue suitable
-% warnings if not. On the other end if the number is within the correct range it must check
-% in which decade it falls and must call other macros so as to produce the correct
-% decimal digit~$\leftrightarrow$ Milesian symbol. Six such macros are needed because the
-% allowable range contains at maximum six decimal places. Apparently Milesian symbology
-% allows to go beyond one million, but Apostolos Syropoulos, who originally wrote the code
-% thought (correctly) that Milesian numbers would not be used for ``acrobatic performances''
-% but possibly for writing the Greek date with the AD year; six decimal places are
-% more than enough for this purpose. |\gr@ill@value| was not redefined from
-% Apostolos Syropoulos' \babel\ definition; it simply issues a warning message about
-% the argument out of range. The presence of the primitive command |number|
-% in these macros is for two purposes: (a) transforms a counter contents into a
-% sequence of digits tokens, and (b) if the argument is already a digit string,
-% it removes any leading zeros. No braces are present because this string is examined
-% sequentially one digit at a time from the leading position to the least significant
-% position; of course this means that the decimal zero is treated correctly even
-% if Milesian symbols do not have the equivalent of a zero.
+%\begin{macro}{\gr@@numeral}
+% |\gr@@numeral| must do most of the processing; it must check that the argument is
+% within the allowable range $1\sim999\,999$ and issue suitable warnings if not. On
+% the other side, if the number is within the correct range, it must check in which
+% decade it falls and must call other macros so as to produce the correct decimal
+% digit~$\leftrightarrow$ Milesian symbol. Six such macros are needed because the
+% allowable range contains at maximum six decimal places. Apparently Milesian
+% symbology allows to go beyond one million, but Apostolos Syropoulos, who
+% originally wrote the code thought (correctly) that Milesian numbers would not be
+% used for ``acrobatic performances'' but possibly for writing the Greek date with
+% the AD year; six decimal places are more than enough for this purpose.
+% |\gr@ill@value| was not redefined from Apostolos Syropoulos' \babel\ definition;
+% it simply issues a warning message about an argument out of range. The presence of
+% the primitive command |number| in these macros is for two purposes: (a) transforms
+% a counter contents into a sequence of digits tokens, and (b) if the argument is
+% already a digit string, it removes any leading zeros. No braces are present
+% because this string is examined sequentially one digit at a time from the leading
+% position to the least significant position; of course this means that the decimal
+% zero is treated correctly even if Milesian symbols do not have the equivalent of a
+% zero.
% \begin{macrocode}
\def\gr@@numeral#1{%
\ifnum#1<\@ne\space\gr@ill@value{#1}%
@@ -2704,16 +3239,18 @@ $\displaystyle\left.%
%\begin{macro}{\gr@num@iii}
%\begin{macro}{\gr@num@iv}
%\begin{macro}{\gr@num@v}
-%\begin{macro}{\gr@num@vi} The next six macros transform single decimal digits into Milesian
-% symbols.
-% The argument to each macro is a single decimal digit; their positional value is determined
-% by the calling macro that invokes a different transformation routine for every position.
-% To the right of the least significant position there must be the symbol ``anwtonos'',
-% similar to an apostrophe, while to the left of each most significant symbol whose
-% value is greater than 999 there must be a ``katwtonos'' symbol, similar to a lowered
-% and inverted apostrophe. Zeros are examined in all macros, except the one for ``units'',
-% because their value cannot be printed but there still is the possibility that there are
-% no more digits higher than zero, so that the anwtonos must be set.
+%\begin{macro}{\gr@num@vi}
+% The next six macros transform single decimal digits into Milesian symbols. The
+% argument to each macro is a single decimal digit; their positional value is
+% determined by the calling a macro that invokes a different transformation routine
+% for every position.
+% To the right of the least significant position there must be the symbol
+% ``anwtonos'', similar to an apostrophe, while to the left of each most significant
+% symbol whose value is greater than 999 there must be a ``katwtonos'' symbol,
+% similar to a lowered and inverted apostrophe. Zeros are examined in all macros,
+% except the one for ``units'', because their value cannot be printed but there
+% still is the possibility that there are no more digits higher than zero, so that
+% the anwtonos must be set.
% Macros |\n@vanta| and |\n@vecento| are set by the calling macros so as to be the
% correct lower or upper case `qoppa' or sampi' respectively.
% \begin{macrocode}
@@ -2744,6 +3281,7 @@ $\displaystyle\left.%
\ifcase#1\or r\or s\or t\or u\or f%
\or q\or y\or w\or \n@vecento\fi
\gr@num@v}
+
% \end{macrocode}
%\end{macro}
%\end{macro}
@@ -2751,9 +3289,412 @@ $\displaystyle\left.%
%\end{macro}
%\end{macro}
%\end{macro}
-% \begin{macrocode}
-%</package>
+%
+%\subsection{Attic numerals}
+% It's true that Apostolos Siropoulos wrote also the |athnum.sty| extension package
+% in order to typeset integer numbers with the Athenian or Attic notation; this
+% representation of integer strictly positive integers was similar in a way to the
+% Roman notation, based on a biquinalry representation of decimal digits (taking
+% into account that there was not a symbol for zero) so as the Romans had the
+% symbols for 1, 5, 10, 50, 100, 500 and 1000 (I, V, X, L, C, D, M) the Attic
+% notation has symbols for the same sequence of decimal values extended with
+% 10\,000 and 50\,000. While typesetting philological texts in Greek it might be
+% necessary to use also the Attic notation. % As the original Roman notation used
+% to be purely additive (i.e.\ 9\,=\,VIIII), so is the Attic notation.
+%
+%\begin{macro}{\AtticNumeral}
+%\begin{macro}{\AtticCycl@}
+% Therefore another conversion macro was devised that receives the value to be
+% converted as its argument and checks that it falls between the boundaries;
+% actually the lower boundary is zero, while the upper boundary was chosen to be
+% 99\,999, for no other reason that the lack of further symbols, beyond the value
+% 50\,000, would force to long sequences of identical symbols that are difficult
+% to read. The |athnum.sty| package allows to extend this range to 249\,9999;
+% should it be necessary, the user is invited to load that package and its
+% transformation command |\athnum|.
+%
+% The user command |\AtticNumeral| is very simple, but it must be preceded by the
+% definitions of the quinary symbols for 50, 500, 5000, and 50\,000; such symbols
+% are present in all the CB Greek fonts in all sizes, series and shapes; therefore
+% the definitions must be subject to the LGR enconding:
+% \begin{macrocode}
+\DeclareTextSymbol{\Vmiria}{\GRencoding@name}{5}
+\DeclareTextSymbol{\Vkilo}{\GRencoding@name}{4}
+\DeclareTextSymbol{\Vetto}{\GRencoding@name}{3}
+\DeclareTextSymbol{\Vdeka}{\GRencoding@name}{2}
+% \end{macrocode}
+% The we need a command for issuing a warning message if the number to be
+% transformed is out of range:
+% \begin{macrocode}
+\newcommand*\attic@ill@value[1]{\PackageWarning{teubner}{%
+Illegal value (\number#1) for \string\ActicNumeral\space}}
+% \end{macrocode}
+% Finally the robust definition of the |\AtticNumeral| command"
+% \begin{macrocode}
+\DeclareRobustCommand*\AtticNumeral[1]{%
+\ifnum#1<\@ne \attic@ill@value{#1}\else
+ \ifnum#1>99999\relax \attic@ill@value{#1}\else
+ \AtticCycl@{#1}
+ \fi
+\fi}
+
% \end{macrocode}
+% The real transformation algorithm is transfered to the auxiliary macro
+% |\AttiCycl@|, where successive division by 10 allow to extract the various decimal
+% digits of various weights maintaining the remainder in the original counter; each
+% decimal digit is possibly divided into the quinary value and the remaining units
+% up to 4; the the cycle is repeated untile the decimal units, that do not require
+% the computation of the remainder and terminate the cycle. Notice that we use also
+% the $\varepsilon$-\TeX\ extended commands for integer computations; this implies
+% that |teubner| mus be run with a suitably recent version of the typesetting engine
+% that embeds the above extensions.
+% \begin{macrocode}
+\def\AtticCycl@#1{%
+ \bgroup
+ \countdef\valore=252\countdef\cifra=250\relax
+ \valore=#1\relax
+ \cifra=\valore\divide\cifra10000\relax
+ \valore=\numexpr\valore-\cifra*10000\relax
+ \ifnum\cifra>4\relax\Vmiria \advance\cifra-5\fi
+ \@whilenum\cifra>\z@\do{M\advance\cifra\m@ne}%
+ \cifra=\valore\divide\cifra1000\relax
+ \valore=\numexpr\valore-\cifra*1000\relax
+ \ifnum\cifra>4\relax\Vkilo \advance\cifra-5\fi
+ \@whilenum\cifra>\z@\do{Q\advance\cifra\m@ne}%
+ \cifra=\valore\divide\cifra100\relax
+ \valore=\numexpr\valore-\cifra*100\relax
+ \ifnum\cifra>4\relax\Vetto \advance\cifra-5\fi
+ \@whilenum\cifra>\z@\do{H\advance\cifra\m@ne}%
+ \cifra=\valore\divide\cifra10\relax
+ \valore=\numexpr\valore-\cifra*10\relax
+ \ifnum\cifra>4\relax\Vdeka \advance\cifra-5\fi
+ \@whilenum\cifra>\z@\do{D\advance\cifra\m@ne}%
+ \cifra=\valore
+ \ifnum\cifra>4\relax P\advance\cifra-5\relax\fi
+ \@whilenum\cifra>\z@\do{I\advance\cifra\m@ne}%
+ \egroup}
+
+% \end{macrocode}
+%\end{macro}
+%\end{macro}
+% \begin{macrocode}
+%</package>
%
+%<*defs>
+\ProvidesFile{LGRaccents-glyphs.def}%
+ [2010/05/08 v.2.0a Definitions of accents and glyphs for LGR encoded Greek fonts]
+% \end{macrocode}
+% \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.
+%
+% Only the diacritics that involve the breve (\u) and the macron (\=)
+% are regular TeX accent macros and behave as ordinary OT1-like
+% accents. 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 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.
+%
+% \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
+\DeclareTextAccent{\Dasia}{\GRencoding@name}{"3C} % rough breath/spirit
+\DeclareTextAccent{\Psili}{\GRencoding@name}{"3E} % smooth breath/spirit
+\DeclareTextCommand{\<}{\GRencoding@name}{\Dasia} % alias coomand
+\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{\~}{\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{\~}{\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{\~}{\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{\~}{\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{\~}{\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, while kerning dith the dialytika
+% ligature temporarily work with kludges that should not be present in any font, but
+% the CB fonts have 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{\Perispomeni}{\GRencoding@name}{A}{A}
+\DeclareTextCompositeCommand{\Varia}{\GRencoding@name}{A}{A}
+\DeclareTextCompositeCommand{\Oxia}{\GRencoding@name}{A}{A}
+\DeclareTextCompositeCommand{\PsiliVaria}{\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}{<A}
+
+\DeclareTextCompositeCommand{\Psili}{\GRencoding@name}{E}{>E}
+\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{E}{<E}
+\DeclareTextCompositeCommand{\Varia}{\GRencoding@name}{E}{E}
+\DeclareTextCompositeCommand{\Oxia}{\GRencoding@name}{E}{E}
+\DeclareTextCompositeCommand{\PsiliVaria}{\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}{<E}
+
+\DeclareTextCompositeCommand{\Psili}{\GRencoding@name}{H}{>H}
+\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{H}{<H}
+\DeclareTextCompositeCommand{\Perispomeni}{\GRencoding@name}{H}{H}
+\DeclareTextCompositeCommand{\Varia}{\GRencoding@name}{H}{H}
+\DeclareTextCompositeCommand{\Oxia}{\GRencoding@name}{H}{H}
+\DeclareTextCompositeCommand{\PsiliVaria}{\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}{<H}
+
+\DeclareTextCompositeCommand{\Psili}{\GRencoding@name}{I}{>I}
+\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{I}{<I}
+\DeclareTextCompositeCommand{\Perispomeni}{\GRencoding@name}{I}{I}
+\DeclareTextCompositeCommand{\Varia}{\GRencoding@name}{I}{I}
+\DeclareTextCompositeCommand{\Oxia}{\GRencoding@name}{I}{I}
+\DeclareTextCompositeCommand{\PsiliVaria}{\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}{<I}
+
+\DeclareTextCompositeCommand{\Psili}{\GRencoding@name}{O}{>O}
+\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{O}{<O}
+\DeclareTextCompositeCommand{\Varia}{\GRencoding@name}{O}{O}
+\DeclareTextCompositeCommand{\Oxia}{\GRencoding@name}{O}{O}
+\DeclareTextCompositeCommand{\PsiliVaria}{\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}{<O}
+
+\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{U}{<U}
+\DeclareTextCompositeCommand{\DasiaVaria}{\GRencoding@name}{U}{<`U}
+\DeclareTextCompositeCommand{\Perispomeni}{\GRencoding@name}{U}{U}
+\DeclareTextCompositeCommand{\Varia}{\GRencoding@name}{U}{U}
+\DeclareTextCompositeCommand{\Oxia}{\GRencoding@name}{U}{U}
+\DeclareTextCompositeCommand{\DasiaOxia}{\GRencoding@name}{U}{<'U}
+\DeclareTextCompositeCommand{\DasiaPerispomeni}{\GRencoding@name}{U}{<\char126U}
+\DeclareTextCompositeCommand{\<}{\GRencoding@name}{U}{<U}
+
+\DeclareTextCompositeCommand{\Psili}{\GRencoding@name}{W}{>W}
+\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{W}{<W}
+\DeclareTextCompositeCommand{\Perispomeni}{\GRencoding@name}{W}{W}
+\DeclareTextCompositeCommand{\Varia}{\GRencoding@name}{W}{W}
+\DeclareTextCompositeCommand{\Oxia}{\GRencoding@name}{W}{W}
+\DeclareTextCompositeCommand{\PsiliVaria}{\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}{<W}
+%</defs>
+% \end{macrocode}
% \Finale
\endinput
diff --git a/Master/texmf-dist/source/latex/teubner/teubner.ins b/Master/texmf-dist/source/latex/teubner/teubner.ins
index e603e76d863..b693b2d9e81 100644
--- a/Master/texmf-dist/source/latex/teubner/teubner.ins
+++ b/Master/texmf-dist/source/latex/teubner/teubner.ins
@@ -13,7 +13,7 @@
%%
%% IMPORTANT NOTICE:
%%
-%% Copyright 2001-2003 Claudio Beccari
+%% Copyright 2001-2010 Claudio Beccari
%% All rights reserved.
%%
%% Permission is granted to distribute verbatim copies of this file
@@ -28,12 +28,15 @@
\input docstrip.tex
\preamble
-Copyright 2001--2004 Claudio Beccari All rights reserved.
+Copyright 2001--2010 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
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+This file is distributed under the LPPL licence, version 1.3c
+dated 2008-05-04 or later as it appears in
+CTAN/macros/latex/base/lppl.tex.
IMPORTANT NOTICE:
@@ -55,13 +58,15 @@ etc.
\keepsilent
\Msg{*** Generating the extension package teubner.sty ***}
+\Msg{*** Generating the accent and glyph definition file ***}
\generateFile{teubner.sty}{t}{\from{teubner.dtx}{package}}
-
+\generateFile{LGRaccents-glyphs.def}{t}{\from{teubner.dtx}{defs}}
\ifToplevel{
\Msg{***********************************************************}
\Msg{*}
\Msg{* Now move teubner.sty where LaTeX can find it }
+\Msg{* Now move LGRaccents-glyphs.def where LaTeX can find it }
\Msg{*}
\Msg{* Happy TeXing!}
\Msg{***********************************************************}
diff --git a/Master/texmf-dist/tex/latex/teubner/LGRaccents-glyphs.def b/Master/texmf-dist/tex/latex/teubner/LGRaccents-glyphs.def
new file mode 100644
index 00000000000..59609487066
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/teubner/LGRaccents-glyphs.def
@@ -0,0 +1,288 @@
+%%
+%% This is file `LGRaccents-glyphs.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% teubner.dtx (with options: `defs')
+%%
+%% Copyright 2001--2010 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
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% This file is distributed under the LPPL licence, version 1.3c
+%% dated 2008-05-04 or later as it appears in
+%% CTAN/macros/latex/base/lppl.tex.
+%%
+%% IMPORTANT NOTICE:
+%%
+%% You are not allowed to change this file.
+%%
+%% You are allowed to distribute this file under the condition that it is
+%% specified in the source file teubner.dtx.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%% You are NOT ALLOWED to distribute this file alone. You are NOT
+%% ALLOWED to take money for the distribution or use of either this
+%% file or a changed version, except for a nominal charge for copying
+%% etc.
+%% \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 \~}
+\ProvidesFile{LGRaccents-glyphs.def}%
+ [2010/05/08 v.2.0a Definitions of accents and glyphs for LGR encoded Greek fonts]
+\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
+\DeclareTextAccent{\Dasia}{\GRencoding@name}{"3C} % rough breath/spirit
+\DeclareTextAccent{\Psili}{\GRencoding@name}{"3E} % smooth breath/spirit
+\DeclareTextCommand{\<}{\GRencoding@name}{\Dasia} % alias coomand
+\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
+\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}
+
+
+\DeclareTextComposite{\`}{\GRencoding@name}{a}{128}
+\DeclareTextComposite{\Dasia}{\GRencoding@name}{a}{129}
+\DeclareTextComposite{\Psili}{\GRencoding@name}{a}{130}
+\DeclareTextComposite{\'}{\GRencoding@name}{a}{136}
+\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{\~}{\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{\~}{\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{\~}{\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{\~}{\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}
+
+\DeclareTextComposite{\"}{\GRencoding@name}{I}{219}
+\DeclareTextComposite{\"}{\GRencoding@name}{U}{223}
+
+\DeclareTextCompositeCommand{\Psili}{\GRencoding@name}{A}{>A}
+\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{A}{<A}
+\DeclareTextCompositeCommand{\Perispomeni}{\GRencoding@name}{A}{A}
+\DeclareTextCompositeCommand{\Varia}{\GRencoding@name}{A}{A}
+\DeclareTextCompositeCommand{\Oxia}{\GRencoding@name}{A}{A}
+\DeclareTextCompositeCommand{\PsiliVaria}{\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}{<A}
+
+\DeclareTextCompositeCommand{\Psili}{\GRencoding@name}{E}{>E}
+\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{E}{<E}
+\DeclareTextCompositeCommand{\Varia}{\GRencoding@name}{E}{E}
+\DeclareTextCompositeCommand{\Oxia}{\GRencoding@name}{E}{E}
+\DeclareTextCompositeCommand{\PsiliVaria}{\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}{<E}
+
+\DeclareTextCompositeCommand{\Psili}{\GRencoding@name}{H}{>H}
+\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{H}{<H}
+\DeclareTextCompositeCommand{\Perispomeni}{\GRencoding@name}{H}{H}
+\DeclareTextCompositeCommand{\Varia}{\GRencoding@name}{H}{H}
+\DeclareTextCompositeCommand{\Oxia}{\GRencoding@name}{H}{H}
+\DeclareTextCompositeCommand{\PsiliVaria}{\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}{<H}
+
+\DeclareTextCompositeCommand{\Psili}{\GRencoding@name}{I}{>I}
+\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{I}{<I}
+\DeclareTextCompositeCommand{\Perispomeni}{\GRencoding@name}{I}{I}
+\DeclareTextCompositeCommand{\Varia}{\GRencoding@name}{I}{I}
+\DeclareTextCompositeCommand{\Oxia}{\GRencoding@name}{I}{I}
+\DeclareTextCompositeCommand{\PsiliVaria}{\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}{<I}
+
+\DeclareTextCompositeCommand{\Psili}{\GRencoding@name}{O}{>O}
+\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{O}{<O}
+\DeclareTextCompositeCommand{\Varia}{\GRencoding@name}{O}{O}
+\DeclareTextCompositeCommand{\Oxia}{\GRencoding@name}{O}{O}
+\DeclareTextCompositeCommand{\PsiliVaria}{\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}{<O}
+
+\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{U}{<U}
+\DeclareTextCompositeCommand{\DasiaVaria}{\GRencoding@name}{U}{<`U}
+\DeclareTextCompositeCommand{\Perispomeni}{\GRencoding@name}{U}{U}
+\DeclareTextCompositeCommand{\Varia}{\GRencoding@name}{U}{U}
+\DeclareTextCompositeCommand{\Oxia}{\GRencoding@name}{U}{U}
+\DeclareTextCompositeCommand{\DasiaOxia}{\GRencoding@name}{U}{<'U}
+\DeclareTextCompositeCommand{\DasiaPerispomeni}{\GRencoding@name}{U}{<\char126U}
+\DeclareTextCompositeCommand{\<}{\GRencoding@name}{U}{<U}
+
+\DeclareTextCompositeCommand{\Psili}{\GRencoding@name}{W}{>W}
+\DeclareTextCompositeCommand{\Dasia}{\GRencoding@name}{W}{<W}
+\DeclareTextCompositeCommand{\Perispomeni}{\GRencoding@name}{W}{W}
+\DeclareTextCompositeCommand{\Varia}{\GRencoding@name}{W}{W}
+\DeclareTextCompositeCommand{\Oxia}{\GRencoding@name}{W}{W}
+\DeclareTextCompositeCommand{\PsiliVaria}{\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}{<W}
+\endinput
+%%
+%% End of file `LGRaccents-glyphs.def'.
diff --git a/Master/texmf-dist/tex/latex/teubner/teubner.sty b/Master/texmf-dist/tex/latex/teubner/teubner.sty
index 7565315a085..23671012344 100644
--- a/Master/texmf-dist/tex/latex/teubner/teubner.sty
+++ b/Master/texmf-dist/tex/latex/teubner/teubner.sty
@@ -6,12 +6,15 @@
%%
%% teubner.dtx (with options: `package')
%%
-%% Copyright 2001--2004 Claudio Beccari All rights reserved.
+%% Copyright 2001--2010 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
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
%%
+%% This file is distributed under the LPPL licence, version 1.3c
+%% dated 2008-05-04 or later as it appears in
+%% CTAN/macros/latex/base/lppl.tex.
%%
%% IMPORTANT NOTICE:
%%
@@ -42,8 +45,7 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{teubner}
- [2008/02/10 v.2.2d extensions for Greek philology]
+\ProvidesPackage{teubner}[2010/05/08 v.3.0k extensions for Greek philology]
\ifx\teubner\undefined
\def\teubner{teubner}\else\expandafter\endinput
\fi
@@ -59,17 +61,32 @@ Type X <return> to exit.}%
\fi
\newif\ifor\orfalse % Compatibility with older versions
\DeclareOption{or}{\relax}
+\newif\ifboldLipsian \boldLipsianfalse
+\DeclareOption{boldLipsian}{\boldLipsiantrue}
\newif\ifonesizetypeone
\DeclareOption{10pt}{\onesizetypeonetrue}
+\newif\ifGlyphNames \GlyphNamestrue
+\DeclareOption{NoGlyphNames}{\GlyphNamesfalse}
\ProcessOptions*
\def\GRencoding@name{LGR}
-\ifonesizetypeone\RequirePackage[10pt]{type1ec}[2002/09/07]\fi
-\input{lgrcmr.fd}
-\expandafter\EC@family\expandafter{\GRencoding@name}{cmr}{m}{it} {grml}
-\expandafter\EC@family\expandafter{\GRencoding@name}{cmr}{bx}{it} {grxl}
+\ifonesizetypeone
+ \RequirePackage[10pt]{type1ec}[2002/09/07]
+\fi
+\RequirePackage{graphicx}
+\RequirePackage{ifthen}
\DeclareFontFamily{U}{mtr}{\hyphenchar\font\m@ne}
-\EC@family{U}{mtr}{m}{n}{gmtr}
-\DeclareFontShape{U}{mtr}{m}{it}{<->ssub*mtr/m/n}{}
+\ifonesizetypeone
+\DeclareFontShape{U}{mtr}{m}{n}{<-> gmtr1000}{}%
+\else
+\DeclareFontShape{U}{mtr}{m}{n}{%
+ <-5.5> gmtr0500 <5.5-6.5> gmtr0600
+ <6.5-7.5> gmtr0700 <7.5-8.5> gmtr0800
+ <8.5-9.5> gmtr0900 <9.5-11> gmtr1000
+ <11-15> gmtr1200 <15-> gmtr1728}{}%
+\fi
+\DeclareFontShape{U}{mtr}{m}{it}{<->ssub*mtr/m/n}{}%
+\DeclareFontShape{U}{mtr}{b}{it}{<->ssub*mtr/m/n}{}%
+\DeclareFontShape{U}{mtr}{b}{n}{<->ssub*mtr/m/n}{}%
\newcommand*\metricsfont{\fontencoding{U}\fontfamily{mtr}\upshape}
\RequirePackage{exscale}
\ifx\languageattribute\undefined
@@ -77,40 +94,117 @@ Type X <return> to exit.}%
\else
\languageattribute{greek}{polutoniko}\def\GreekName{greek}%
\fi
+\newif\ifLipsian
+
+\providecommand*\substitutefontfamily{}%
+\renewcommand*\substitutefontfamily[3]{{%
+ \edef\@tempA{#1#2.fd}%
+ \lowercase\expandafter{\expandafter\def\expandafter\@tempA\expandafter{\@tempA}}%
+ \expandafter\IfFileExists\expandafter{\@tempA}{}{%
+ \immediate\openout15=\@tempA
+ \typeout{Writing file #1#2.fd}
+ \immediate\write15{%
+ \string\ProvidesFile{#1#2.fd}^^J
+ [\the\year/\two@digits{\the\month}/\two@digits{\the\day}
+ \space generated font description file]^^J
+ \string\DeclareFontFamily{#1}{#2}{}^^J
+ \string\DeclareFontShape{#1}{#2}{m}{n}{<->ssub * #3/m/n}{}^^J
+ \string\DeclareFontShape{#1}{#2}{m}{it}{<->ssub * #3/m/it}{}^^J
+ \string\DeclareFontShape{#1}{#2}{m}{sl}{<->ssub * #3/m/sl}{}^^J
+ \string\DeclareFontShape{#1}{#2}{m}{sc}{<->ssub * #3/m/sc}{}^^J
+ \string\DeclareFontShape{#1}{#2}{b}{n}{<->ssub * #3/bx/n}{}^^J
+ \string\DeclareFontShape{#1}{#2}{b}{it}{<->ssub * #3/bx/it}{}^^J
+ \string\DeclareFontShape{#1}{#2}{b}{sl}{<->ssub * #3/bx/sl}{}^^J
+ \string\DeclareFontShape{#1}{#2}{b}{sc}{<->ssub * #3/bx/sc}{}^^J
+ \string\DeclareFontShape{#1}{#2}{bx}{n}{<->ssub * #3/bx/n}{}^^J
+ \string\DeclareFontShape{#1}{#2}{bx}{it}{<->ssub * #3/bx/it}{}^^J
+ \string\DeclareFontShape{#1}{#2}{bx}{sl}{<->ssub * #3/bx/sl}{}^^J
+ \string\DeclareFontShape{#1}{#2}{bx}{sc}{<->ssub * #3/bx/sc}{}^^J
+ }%
+ \ifLipsian
+ \immediate\write15{%
+ \string\DeclareFontShape{#1}{#2}{m}{li}{<->ssub * #3/m/li}{}^^J %<- Lipsian
+ \string\DeclareFontShape{#1}{#2}{b}{li}{<->ssub * #3/b/li}{}^^J %<- Lipsian
+ \string\DeclareFontShape{#1}{#2}{bx}{li}{<->ssub * #3/bx/li}{}^^J %<-Lipsian
+ \string\DeclareFontShape{#1}{#2}{m}{ui}{<->ssub * #3/m/ui}{}^^J %<- upright Olga
+ \string\DeclareFontShape{#1}{#2}{b}{ui}{<->ssub * #3/m/ui}{}^^J %<- upright Olga
+ \string\DeclareFontShape{#1}{#2}{bx}{ui}{<->ssub * #3/bx/ui}{}^^J%<-upright Olga
+ \string\DeclareFontShape{#1}{#2}{m}{rs}{<->ssub * #3/m/rs}{}^^J %<-serifed lc
+ \string\DeclareFontShape{#1}{#2}{b}{rs}{<->ssub * #3/m/rs}{}^^J %<-serifed lc
+ \string\DeclareFontShape{#1}{#2}{bx}{rs}{<->ssub * #3/bx/rs}{}^^J%<-serifed lc
+ }%
+ \fi
+ \closeout15}%
+ }}
+
+\def\ifCMLM#1#2#3!{\edef\f@milyprefix{#1#2}%
+ \ifthenelse{\(\equal{\f@milyprefix}{cm}\OR\equal{\f@milyprefix}{lm}\)}%
+ {\let\n@xt\iftrue}{\def\f@milyprefix{cmr}\let\n@xt\iffalse}\n@xt}
+
+\newcommand*\ifFamily[2]{%
+\expandafter\ifCMLM#1!\else\substitutefontfamily{LGR}{#1}{#2}\fi}
+
+\AtBeginDocument{%
+\@ifpackageloaded{pxfonts}{\typeout{Palatino fonts loaded}%
+\Lipsiantrue\ifFamily{pxr}{cmr}\Lipsianfalse
+\ifFamily{pxss}{cmss}\ifFamily{pxtt}{cmtt}}{\relax}}
+
+\AtBeginDocument{%
+\@ifpackageloaded{txfonts}{\typeout{Times fonts loaded}%
+\Lipsiantrue\ifFamily{txr}{cmr}\Lipsianfalse
+\ifFamily{txss}{cmss}\ifFamily{txtt}{cmtt}}{}}
+
\AtBeginDocument{%
\edef\previouslanguage{\languagename}%
- \edef\previousencoding{\f@encoding}%
-}
-\DeclareRobustCommand\Lipsiakostext{\edef\previouslanguage{\languagename}%
- \edef\previousencoding{\f@encoding}%
+ \edef\previousencoding{\f@encoding}}
+\DeclareRobustCommand{\lishape}{%
+\not@math@alphabet\lishape\relax
+\ifthenelse{\equal{\f@encoding}{\GRencoding@name}}{%
+\ifboldLipsian
+\ifthenelse{\equal{\f@series}{m}}%
+{\fontseries{b}\fontshape{li}\rmfamily}%
+{\fontshape{li}\rmfamily}\else
+\fontshape{li}\rmfamily\fi}%
+{\fontshape{it}\selectfont}}%
+
+\DeclareTextFontCommand{\textli}{\lishape}%
+\DeclareRobustCommand\Lipsiakostext{%
\expandafter\select@language\expandafter{\GreekName}%
- \let\~\GRcirc\let~\greek@tilde\itshape}
+ \let\~\GRcirc\let~\greek@tilde\lishape}
+
+\DeclareTextFontCommand{\textLipsias}{\Lipsiakostext}
+
\DeclareRobustCommand\NoLipsiakostext{%
+ \ifthenelse{\equal{\f@series}{b}}{\fontseries{m}}{\relax}%
+ \fontshape{n}\selectfont
\expandafter\select@language\expandafter{\previouslanguage}%
- \expandafter\fontencoding\expandafter{\previousencoding}\upshape
- \edef\previouslanguage{\languagename}%
- \edef\previousencoding{\f@encoding}\bbl@activate{~}%
-}
-\DeclareRobustCommand\textLipsias[1]{{%
- \expandafter\select@language\expandafter{\GreekName}%
- \expandafter\fontencoding\expandafter{\GRencoding@name}%
- \itshape\let\~\GRcirc\let~\greek@tilde#1}%
-}
+ \rmfamily\bbl@activate{~}}
+
\DeclareRobustCommand\textDidot[1]{{%
\expandafter\select@language\expandafter{\GreekName}%
- \expandafter\fontencoding\expandafter{\GRencoding@name}%
- \upshape\let\~\GRcirc\let~\greek@tilde#1}%
-}
+ \let\~\GRcirc\let~\greek@tilde
+ \fontencoding{LGR}\rmfamily#1}}
+
\DeclareRobustCommand\textlatin[1]{\edef\externalencoding{\f@encoding}{%
+ \def\itdefault{it}\def\@tempA{li}\ifx\@tempA\f@shape\def\f@shape{it}\fi%
\expandafter\select@language\expandafter{\previouslanguage}%
- \expandafter\fontencoding\expandafter{\previousencoding}%
- \bbl@activate{~}\upshape#1}%
- \expandafter\fontencoding\expandafter{\externalencoding}\selectfont}
-{%
-\catcode`p=12\catcode`t=12\gdef\numero#1pt{#1}%
-}
+ \fontencoding{\previousencoding}%
+ \fontfamily{\rmdefault}\selectfont
+ \bbl@activate{~}#1}%
+ \expandafter\fontencoding\expandafter{\externalencoding}\rmfamily}
+
+\DeclareRobustCommand\uishape{%
+\ifthenelse{\equal{\f@encoding}{\GRencoding@name}}%
+{\fontshape{ui}\selectfont}{\relax}}
+\DeclareTextFontCommand{\textui}{\uishape}
+
+\DeclareRobustCommand\rsshape{%
+\ifthenelse{\equal{\f@encoding}{\GRencoding@name}}%
+{\fontshape{rs}\selectfont}{\relax}}
+\DeclareTextFontCommand{\textrs}{\rsshape}
+
\newcommand*\lift@accent[2]{\leavevmode
-{\edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+{\edef\slant@{\strip@pt\fontdimen1\font}%
\dimen@=\z@\setbox\z@\hbox{\char#1}\advance\dimen@-.5\wd\z@
\setbox\tw@\hbox{i}\setbox\z@\hbox{#2}%
\ifdim\wd\z@>\wd\tw@\advance\dimen@ .5\wd\z@
@@ -120,8 +214,9 @@ Type X <return> to exit.}%
\@tempdima\ht\z@\advance\@tempdima-1ex\relax
\advance\dimen@\slant@\@tempdima
\raise\@tempdima\hbox to\z@{\kern\dimen@\char#1\relax\hss}\box\z@}}
+
\newcommand*\Lift@accent[2]{\leavevmode
-{\edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+{\edef\slant@{\strip@pt\fontdimen1\font}%
\dimen@=\z@\setbox\z@\hbox{\char#1}\advance\dimen@-.5\wd\z@
\setbox\tw@\hbox{i}\setbox\z@\hbox{#2}%
\ifdim\wd\z@>\wd\tw@\advance\dimen@ .5\wd\z@
@@ -131,8 +226,9 @@ Type X <return> to exit.}%
\@tempdima\ht\z@\advance\@tempdima-1ex\advance\@tempdima.1ex\relax
\advance\dimen@\slant@\@tempdima
\raise\@tempdima\hbox to\z@{\kern\dimen@\char#1\relax\hss}\box\z@}}
+
\newcommand*\LIFT@accent[3]{\leavevmode
-{\edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+{\edef\slant@{\strip@pt\fontdimen1\font}%
\dimen@=\z@\setbox\z@\hbox{\char#1}\advance\dimen@-.5\wd\z@
\setbox\tw@\hbox{i}\setbox\z@\hbox{#3}%
\ifdim\wd\z@>\wd\tw@\advance\dimen@ .5\wd\z@
@@ -144,8 +240,9 @@ Type X <return> to exit.}%
\advance\@tempdima#2\fi\let\@tempA\undefined
\advance\dimen@\slant@\@tempdima
\raise\@tempdima\hbox to\z@{\kern\dimen@\char#1\relax\hss}\box\z@}}
+
\DeclareRobustCommand{\cap@}[1]{\leavevmode
-{\edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+{\edef\slant@{\strip@pt\fontdimen1\font}%
\setbox\tw@\hbox{\fontencoding{\GRencoding@name}\selectfont
\char1}\dimen@-.5\wd\tw@
\setbox\z@\hbox{#1}%
@@ -155,22 +252,25 @@ Type X <return> to exit.}%
\ifx\cf@encoding\GRencoding@name\else
\ifx#1k\advance\dimen@-.3\wd\tw@\fi\fi
\raise\@tempdima\hbox to\z@{\kern\dimen@\box\tw@\relax\hss}\box\z@}}
+
\DeclareTextCommand{\cap}{\GRencoding@name}{\cap@}
\DeclareTextCommand{\cap}{OT1}{\cap@}
\DeclareTextCommand{\cap}{T1}{\cap@}
+
\newcommand*\cap@cedilla[1]{\leavevmode
{\setbox4\hbox{\fontencoding{\GRencoding@name}\selectfont\char1}%
\dimen@-.5\wd4
\setbox\z@\hbox{#1}%
\ifx\cf@encoding\GRencoding@name
-\ifx#1i\advance\dimen@ .65\wd\z@\else\advance\dimen@ .6\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
\fi
\hbox to\z@{\kern\dimen@\box4\hss}\unhbox\z@}}
+
\newcommand*\ring@cedilla[1]{\leavevmode
{\setbox4\hbox{\metricsfont\char26}%
-\edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+\edef\slant@{\strip@pt\fontdimen1\font}%
\dimen@-.5\wd4\ifdim\slant@\p@>\z@\advance\dimen@-.04ex\fi
\setbox\z@\hbox{#1}%
\ifx\cf@encoding\GRencoding@name
@@ -181,13 +281,14 @@ Type X <return> to exit.}%
\ifx#1u\advance\dimen@+.07\wd\z@\fi
\ifx#1w\advance\dimen@+.03\wd\z@\fi
\else
- \ifx#1i\advance\dimen@ .55\wd\z@\else
+ \ifx#1i\advance\dimen@.55\wd\z@\else
\ifx#1r\advance\dimen@.38\wd\z@\else
\ifx#1o\advance\dimen@.47\wd\z@\else
- \advance\dimen@ .5\wd\z@
+ \advance\dimen@0.5\wd\z@
\fi\fi\fi
\fi
\hbox to\z@{\kern\dimen@\box4\hss}\unhbox\z@}}
+
\newcommand*\dot@cedilla[1]{\leavevmode
{\setbox4\hbox{\metricsfont\char27}%
\dimen@-.5\wd4
@@ -201,7 +302,8 @@ Type X <return> to exit.}%
\fi
\setbox\tw@\hbox{o}\ifdim\wd\z@=\wd\tw@\advance\dimen@-.05\wd\z@\fi
\hbox to\z@{\kern\dimen@\box4\hss}\unhbox\z@}}
-\newcommand*\tie@cedilla[1]{\leavevmode % mette un tie sotto l'argomento
+
+\newcommand*\tie@cedilla[1]{\leavevmode
{\setbox4\hbox{\fontencoding{\GRencoding@name}\selectfont\char20}%
\dimen@-.5\wd4
\setbox\tw@\hbox{i}\setbox\z@\hbox{#1}%
@@ -215,10 +317,17 @@ Type X <return> to exit.}%
\fi
\setbox\tw@\hbox{o}\ifdim\wd\z@=\wd\tw@\advance\dimen@-.05\wd\z@\fi
\hbox to\z@{\kern\dimen@\box4\hss}\unhbox\z@}}
+
+\input{LGRaccents-glyphs.def}
+\let\nbs\nobreakspace
\DeclareTextCommand{\`}{\GRencoding@name}[1]{\lift@accent{96}{#1}}
\DeclareTextCommand{\'}{\GRencoding@name}[1]{\lift@accent{39}{#1}}
-\DeclareTextCommand{\GRcirc}{\GRencoding@name}[1]{\lift@accent{126}{#1}}
\DeclareTextCommand{\~}{\GRencoding@name}[1]{\lift@accent{126}{#1}}
+\let\GRcirc\Perispomeni
+
+\addto\extrasgreek{\shorthandoff{~}\let\~\Perispomeni}
+\addto\noextrasgreek{\shorthandon{~}}
+
\DeclareTextCommand{\"}{\GRencoding@name}[1]{\lift@accent{34v}{#1}}
\DeclareTextCommand{\u}{\GRencoding@name}[1]{\lift@accent{30}{#1}}
\DeclareTextCommand{\U}{\GRencoding@name}[1]{\lift@accent{151}{#1}}
@@ -285,9 +394,11 @@ Type X <return> to exit.}%
{\LIFT@accent{30}{-.1ex}{\lift@accent{34v}{#1}}}
\DeclareTextCommand{\iS}{\GRencoding@name}[1]
{\ooalign{#1\crcr\hidewidth\char124\hidewidth}}
+
\DeclareTextCommand{\d}{\GRencoding@name}[1]%
{\leavevmode\bgroup\o@lign{\relax#1\crcr
\hidewidth\sh@ft{10}.\hidewidth}\egroup}
+
\DeclareRobustCommand{\Open}[1]{\leavevmode
{\setbox4\hbox{\raise-.33ex\hbox{\metricsfont\char14}}%
\dimen@-.5\wd4
@@ -301,6 +412,7 @@ Type X <return> to exit.}%
\fi
\setbox\tw@\hbox{o}\ifdim\wd\z@=\wd\tw@\advance\dimen@-.05\wd\z@\fi
\hbox to\z@{\kern\dimen@\box4\hss}\unhbox\z@}}
+
\DeclareRobustCommand{\nasal}[1]{\leavevmode
{\setbox4\hbox{\raise-1.7ex\hbox{\GEcq}}%
\dimen@-.5\wd4
@@ -314,15 +426,18 @@ Type X <return> to exit.}%
\fi
\setbox\tw@\hbox{o}\ifdim\wd\z@=\wd\tw@\advance\dimen@-.05\wd\z@\fi
\hbox to\z@{\kern\dimen@\box4\hss}\unhbox\z@}}
+
\DeclareRobustCommand{\tenaspir}[1]{#1\/%
{\fontencoding{\GRencoding@name}\selectfont<v}}
\DeclareRobustCommand{\palat}[1]{#1{%
\expandafter\fontencoding\expandafter{\GRencoding@name}\selectfont
\anwtonos}}
+
\DeclareTextCommand{\Ud}{\GRencoding@name}[1]{\d{\u{#1}}}
\DeclareTextCommand{\md}{\GRencoding@name}[1]{\d{\={#1}}}
\DeclareTextCommand{\UO}{\GRencoding@name}[1]{\Open{\u{#1}}}
\DeclareTextCommand{\mO}{\GRencoding@name}[1]{\Open{\={#1}}}
+
\DeclareTextCommand{\Ud}{T1}[1]{\d{\u{#1}}}
\DeclareTextCommand{\md}{T1}[1]{\d{\={#1}}}
\DeclareTextCommand{\UO}{T1}[1]{\Open{\u{#1}}}
@@ -331,23 +446,27 @@ Type X <return> to exit.}%
\DeclareTextCommand{\md}{OT1}[1]{\d{\={#1}}}
\DeclareTextCommand{\UO}{OT1}[1]{\Open{\u{#1}}}
\DeclareTextCommand{\mO}{OT1}[1]{\Open{\={#1}}}
+
\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}
+
\DeclareTextSymbol{\stigma}{\GRencoding@name}{006}
\DeclareTextSymbol{\varstigma}{\GRencoding@name}{007}
\DeclareTextSymbol{\koppa}{\GRencoding@name}{18}
-\DeclareTextSymbol{\varkoppa}{\GRencoding@name}{19}
-\let\coppa\varkoppa
+\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}
+
\DeclareTextCommand{\textdollar}{\GRencoding@name}%
{{\fontencoding{T1}\selectfont\char36}}
\DeclareTextCommand{\textsection}{\GRencoding@name}%
@@ -358,16 +477,15 @@ Type X <return> to exit.}%
{{\fontencoding{T1}\selectfont\char95}}
\DeclareTextCommand{\textvisiblespace}{\GRencoding@name}%
{{\fontencoding{T1}\selectfont\char32}}
+
+\ifGlyphNames
\DeclareTextSymbol{\ag}{\GRencoding@name}{128}
-\DeclareTextComposite{\`}{\GRencoding@name}{a}{128}
\DeclareTextSymbol{\ar}{\GRencoding@name}{129}
\DeclareTextComposite{\r}{\GRencoding@name}{a}{129}
\DeclareTextSymbol{\as}{\GRencoding@name}{130}
\DeclareTextComposite{\s}{\GRencoding@name}{a}{130}
\DeclareTextSymbol{\aa}{\GRencoding@name}{136}
-\DeclareTextComposite{\'}{\GRencoding@name}{a}{136}
\DeclareTextSymbol{\ac}{\GRencoding@name}{144}
-\DeclareTextComposite{\~}{\GRencoding@name}{a}{144}
\DeclareTextSymbol{\ai}{\GRencoding@name}{248}
\DeclareTextSymbol{\aai}{\GRencoding@name}{140}
\DeclareTextSymbol{\aci}{\GRencoding@name}{148}
@@ -393,7 +511,6 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\asgi}{\GRencoding@name}{143}
\DeclareTextSymbol{\asci}{\GRencoding@name}{150}
\DeclareTextSymbol{\hg}{\GRencoding@name}{152}
-\DeclareTextComposite{\`}{\GRencoding@name}{h}{152}
\DeclareTextSymbol{\hr}{\GRencoding@name}{153}
\DeclareTextComposite{\r}{\GRencoding@name}{h}{153}
\DeclareTextSymbol{\hs}{\GRencoding@name}{154}
@@ -405,7 +522,6 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\hsi}{\GRencoding@name}{158}
\DeclareTextSymbol{\hrgi}{\GRencoding@name}{167}
\DeclareTextSymbol{\ha}{\GRencoding@name}{160}
-\DeclareTextComposite{\'}{\GRencoding@name}{h}{160}
\DeclareTextSymbol{\hra}{\GRencoding@name}{161}
\DeclareTextComposite{\Ar}{\GRencoding@name}{h}{161}
\DeclareTextSymbol{\hsa}{\GRencoding@name}{162}
@@ -417,7 +533,6 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\hsai}{\GRencoding@name}{166}
\DeclareTextSymbol{\hsgi}{\GRencoding@name}{175}
\DeclareTextSymbol{\hc}{\GRencoding@name}{168}
-\DeclareTextComposite{\~}{\GRencoding@name}{h}{168}
\DeclareTextSymbol{\hrc}{\GRencoding@name}{169}
\DeclareTextComposite{\Cr}{\GRencoding@name}{h}{169}
\DeclareTextSymbol{\hsc}{\GRencoding@name}{170}
@@ -427,7 +542,6 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\hsci}{\GRencoding@name}{174}
\DeclareTextSymbol{\hi}{\GRencoding@name}{249}
\DeclareTextSymbol{\wg}{\GRencoding@name}{176}
-\DeclareTextComposite{\`}{\GRencoding@name}{w}{176}
\DeclareTextSymbol{\wr}{\GRencoding@name}{177}
\DeclareTextComposite{\r}{\GRencoding@name}{w}{177}
\DeclareTextSymbol{\ws}{\GRencoding@name}{178}
@@ -439,7 +553,6 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\wsi}{\GRencoding@name}{182}
\DeclareTextSymbol{\wrgi}{\GRencoding@name}{183}
\DeclareTextSymbol{\wa}{\GRencoding@name}{184}
-\DeclareTextComposite{\'}{\GRencoding@name}{w}{184}
\DeclareTextSymbol{\wra}{\GRencoding@name}{185}
\DeclareTextComposite{\Ar}{\GRencoding@name}{w}{185}
\DeclareTextSymbol{\wsa}{\GRencoding@name}{186}
@@ -451,7 +564,6 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\wsai}{\GRencoding@name}{190}
\DeclareTextSymbol{\wsgi}{\GRencoding@name}{191}
\DeclareTextSymbol{\wc}{\GRencoding@name}{192}
-\DeclareTextComposite{\~}{\GRencoding@name}{w}{192}
\DeclareTextSymbol{\wrc}{\GRencoding@name}{193}
\DeclareTextComposite{\Cr}{\GRencoding@name}{w}{193}
\DeclareTextSymbol{\wsc}{\GRencoding@name}{194}
@@ -461,7 +573,6 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\wsci}{\GRencoding@name}{198}
\DeclareTextSymbol{\wi}{\GRencoding@name}{250}
\DeclareTextSymbol{\ig}{\GRencoding@name}{200}
-\DeclareTextComposite{\`}{\GRencoding@name}{i}{200}
\DeclareTextSymbol{\ir}{\GRencoding@name}{201}
\DeclareTextComposite{\r}{\GRencoding@name}{i}{201}
\DeclareTextSymbol{\is}{\GRencoding@name}{202}
@@ -469,7 +580,6 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\irg}{\GRencoding@name}{203}
\DeclareTextComposite{\Gr}{\GRencoding@name}{i}{203}
\DeclareTextSymbol{\ia}{\GRencoding@name}{208}
-\DeclareTextComposite{\'}{\GRencoding@name}{i}{208}
\DeclareTextSymbol{\ira}{\GRencoding@name}{209}
\DeclareTextComposite{\Ar}{\GRencoding@name}{i}{209}
\DeclareTextSymbol{\isa}{\GRencoding@name}{210}
@@ -477,13 +587,11 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\isg}{\GRencoding@name}{211}
\DeclareTextComposite{\Gs}{\GRencoding@name}{i}{211}
\DeclareTextSymbol{\ic}{\GRencoding@name}{216}
-\DeclareTextComposite{\~}{\GRencoding@name}{i}{216}
\DeclareTextSymbol{\irc}{\GRencoding@name}{217}
\DeclareTextComposite{\Cr}{\GRencoding@name}{i}{217}
\DeclareTextSymbol{\isc}{\GRencoding@name}{218}
\DeclareTextComposite{\Cs}{\GRencoding@name}{i}{218}
\DeclareTextSymbol{\id}{\GRencoding@name}{240}
-\DeclareTextComposite{\"}{\GRencoding@name}{i}{240}
\DeclareTextSymbol{\idg}{\GRencoding@name}{241}
\DeclareTextComposite{\Gd}{\GRencoding@name}{i}{241}
\DeclareTextSymbol{\ida}{\GRencoding@name}{242}
@@ -491,7 +599,6 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\idc}{\GRencoding@name}{243}
\DeclareTextComposite{\Cd}{\GRencoding@name}{i}{243}
\DeclareTextSymbol{\ug}{\GRencoding@name}{204}
-\DeclareTextComposite{\`}{\GRencoding@name}{u}{204}
\DeclareTextSymbol{\ur}{\GRencoding@name}{205}
\DeclareTextComposite{\r}{\GRencoding@name}{u}{205}
\DeclareTextSymbol{\us}{\GRencoding@name}{206}
@@ -499,7 +606,6 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\urg}{\GRencoding@name}{207}
\DeclareTextComposite{\Gr}{\GRencoding@name}{u}{207}
\DeclareTextSymbol{\ua}{\GRencoding@name}{212}
-\DeclareTextComposite{\'}{\GRencoding@name}{u}{212}
\DeclareTextSymbol{\ura}{\GRencoding@name}{213}
\DeclareTextComposite{\Ar}{\GRencoding@name}{u}{213}
\DeclareTextSymbol{\usa}{\GRencoding@name}{214}
@@ -507,13 +613,11 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\usg}{\GRencoding@name}{215}
\DeclareTextComposite{\Gs}{\GRencoding@name}{u}{215}
\DeclareTextSymbol{\uc}{\GRencoding@name}{220}
-\DeclareTextComposite{\~}{\GRencoding@name}{u}{220}
\DeclareTextSymbol{\urc}{\GRencoding@name}{221}
\DeclareTextComposite{\Cr}{\GRencoding@name}{u}{221}
\DeclareTextSymbol{\usc}{\GRencoding@name}{222}
\DeclareTextComposite{\Cs}{\GRencoding@name}{u}{222}
\DeclareTextSymbol{\ud}{\GRencoding@name}{244}
-\DeclareTextComposite{\"}{\GRencoding@name}{u}{244}
\DeclareTextSymbol{\udg}{\GRencoding@name}{245}
\DeclareTextComposite{\Gd}{\GRencoding@name}{u}{245}
\DeclareTextSymbol{\uda}{\GRencoding@name}{246}
@@ -521,7 +625,6 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\udc}{\GRencoding@name}{247}
\DeclareTextComposite{\Cd}{\GRencoding@name}{u}{247}
\DeclareTextSymbol{\eg}{\GRencoding@name}{224}
-\DeclareTextComposite{\`}{\GRencoding@name}{e}{224}
\DeclareTextSymbol{\er}{\GRencoding@name}{225}
\DeclareTextComposite{\r}{\GRencoding@name}{e}{225}
\DeclareTextSymbol{\es}{\GRencoding@name}{226}
@@ -529,7 +632,6 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\erg}{\GRencoding@name}{227}
\DeclareTextComposite{\Gr}{\GRencoding@name}{e}{227}
\DeclareTextSymbol{\ea}{\GRencoding@name}{232}
-\DeclareTextComposite{\'}{\GRencoding@name}{e}{232}
\DeclareTextSymbol{\era}{\GRencoding@name}{233}
\DeclareTextComposite{\Ar}{\GRencoding@name}{e}{233}
\DeclareTextSymbol{\esa}{\GRencoding@name}{234}
@@ -539,13 +641,11 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\oR}{\GRencoding@name}{229}
\DeclareTextComposite{\r}{\GRencoding@name}{o}{229}
\DeclareTextSymbol{\og}{\GRencoding@name}{228}
-\DeclareTextComposite{\`}{\GRencoding@name}{o}{228}
\DeclareTextSymbol{\os}{\GRencoding@name}{230}
\DeclareTextComposite{\s}{\GRencoding@name}{o}{230}
\DeclareTextSymbol{\org}{\GRencoding@name}{231}
\DeclareTextComposite{\Gr}{\GRencoding@name}{o}{231}
\DeclareTextSymbol{\oa}{\GRencoding@name}{236}
-\DeclareTextComposite{\'}{\GRencoding@name}{o}{236}
\DeclareTextSymbol{\ora}{\GRencoding@name}{237}
\DeclareTextComposite{\Ar}{\GRencoding@name}{o}{237}
\DeclareTextSymbol{\osa}{\GRencoding@name}{238}
@@ -557,9 +657,10 @@ Type X <return> to exit.}%
\DeclareTextSymbol{\rs}{\GRencoding@name}{252}
\DeclareTextComposite{\s}{\GRencoding@name}{r}{252}
\DeclareTextSymbol{\Id}{\GRencoding@name}{219}
-\DeclareTextComposite{\"}{\GRencoding@name}{I}{219}
\DeclareTextSymbol{\Ud}{\GRencoding@name}{223}
\DeclareTextComposite{\"}{\GRencoding@name}{U}{223}
+\fi
+
\DeclareTextCommand{\h}{\GRencoding@name}%
{{\fontencoding{OT1}\selectfont h}}
\DeclareTextCommand{\q}{\GRencoding@name}%
@@ -567,20 +668,27 @@ Type X <return> to exit.}%
\DeclareTextCommand{\yod}{\GRencoding@name}%
{{\fontencoding{OT1}\selectfont j}}%
\let\iod\yod
+
\DeclareTextSymbol{\f}{\GRencoding@name}{147}
-\AtBeginDocument{\@ifpackageloaded{amssymb}{\let\AMSdigamma\digamma
-\def\digamma{\textormath{\f}{\AMSdigamma}}}{\let\digamma\f}}
+\AtBeginDocument{\@ifpackageloaded{amssymb}%
+{\let\AMSdigamma\digamma\def\digamma{\textormath{\f}{\AMSdigamma}}}% amssymb loaded
+{\let\digamma\f}% amssymb not loadedloaded
+}
\DeclareTextSymbol{\F}{\GRencoding@name}{195}\let\Digamma\F
+
\DeclareRobustCommand{\fLow}%
{{\setbox\z@\hbox{\f}\dimen@\ht\z@
\advance\dimen@-1ex\raise-\dimen@\hbox{\box\z@}}}
\DeclareRobustCommand{\fHigh}%
{{\setbox\z@\hbox{\f}\dimen@\dp\z@\raise\dimen@\hbox{\box\z@}}}
+
\DeclareRobustCommand\qmark{\hskip.16ex{\fontencoding{OT1}\upshape(?)}}
\DeclareRobustCommand\lpar{{\metricsfont(}}
\DeclareRobustCommand\rpar{{\metricsfont)}}
\DeclareRobustCommand\frapar[1]{\lpar#1\rpar}
+
\DeclareRobustCommand{\ap}[1]{\/\textsuperscript{#1}}
+
\newcommand\Dots[1][1]{{\count255=#1\@whilenum\count255>\z@
\do{\kern.4ex\d{v}\kern.4ex\advance\count255\m@ne}}}
\newcommand\DOTS[1][1]{{\count255=#1\@whilenum\count255>\z@
@@ -589,6 +697,7 @@ Type X <return> to exit.}%
\do{\kern.4ex--\kern.4ex\advance\count255\m@ne}}}
\newcommand\DASHES[1][1]{{\count255=#1\@whilenum\count255>\z@
\do{\kern.8ex--\kern.8ex\advance\count255\m@ne}}}
+
\DeclareRobustCommand{\:}{\textormath{\tw@dots}{\mskip\medmuskip}}
\DeclareRobustCommand{\;}{\textormath{\thre@dots}{\mskip\thickmuskip}}
\DeclareRobustCommand{\?}{\f@urdots}
@@ -599,14 +708,17 @@ Type X <return> to exit.}%
\hbox{.}\vss\hbox{.}}}}
\def\f@urdots{\mbox{\kern1\p@\vbox to 2ex{\hbox{.}\vss
\hbox{.}\vss\hbox{.}\vss\hbox{.}}}}
+
\DeclareRobustCommand{\|}{\relax\ensuremath{\mskip2mu\vert}}
\DeclareRobustCommand{\dBar}{\ensuremath{\vert\vert}}
\DeclareRobustCommand{\tBar}{\ensuremath{\vert\vert\vert}}
+
\def\negthinspace{\nobreak\hskip-0.07em}
\def\posthinspace{\nobreak\hskip0.07em}
\def\posthindspace{\nobreak\hskip0.14em}
\renewcommand{\,}{\textormath{\posthinspace}{\mskip\thinmuskip}}
\renewcommand{\!}{\textormath{\negthinspace}{\mskip-\thinmuskip}}
+
\DeclareRobustCommand{\lbrk}{{\metricsfont\posthindspace[\negthinspace}}
\DeclareRobustCommand{\rbrk}{{\metricsfont]}}
\DeclareRobustCommand\lmqi{{\metricsfont!}}
@@ -618,7 +730,7 @@ Type X <return> to exit.}%
\DeclareRobustCommand\mqs[1]{\lmqs{#1\/}\rmqs}
\DeclareRobustCommand{\Ladd}[1]{{\metricsfont<}{\!\!#1\/}%
{\metricsfont>}}% litterae certe addendae
-\DeclareRobustCommand{\LLadd}[1]{{\metricsfont<\kern-.3ex<}%subst. \hskip with \kern
+\DeclareRobustCommand{\LLadd}[1]{{\metricsfont<\kern-.3ex<}
{\!\!#1\/}{\metricsfont>\kern-.3ex>}}% litterae certe addendae
\DeclareRobustCommand{\ladd}[1]{{\metricsfont\kern.15ex[\negthinspace}%
{#1\/}{\metricsfont]\kern-.15ex}}% litterae addendae
@@ -628,12 +740,14 @@ Type X <return> to exit.}%
\DeclareRobustCommand{\lesp}[1]%
{\mbox{$\{\kern-.20ex$#1\kern.16ex$\}$}}% litterae delendae
\let\ldel\lesp
+
\DeclareTextCommand{\itopenquotes}{\GRencoding@name}%
{{\fontencoding{OT1}\selectfont\char92}}%
\DeclareTextCommand{\itclosedquotes}{\GRencoding@name}%
{{\fontencoding{OT1}\selectfont\char34}}%
\let\itoq\itopenquotes
\let\itcq\itclosedquotes
+
\newcommand\GEodq{\bgroup\futurelet\@tempA\GE@dq}
\def\GE@dq{{\metricsfont\char18}\ifx\@tempA m\posthinspace\fi\egroup}
\newcommand\GEcdq{{\metricsfont\char16}}
@@ -645,21 +759,26 @@ Type X <return> to exit.}%
\newcommand\ENodq{{\metricsfont\char16}}
\newcommand\ENcdq{{\metricsfont\char17}}
\newcommand\ENdqtext[1]{\ENodq\negthinspace#1\/\posthinspace\ENcdq}
+
\DeclareRobustCommand\LitNil{\textbullet}
\let\litnil\LitNil
-\DeclareTextSymbol{\sva}{\GRencoding@name}{26}
+\DeclareTextCommand{\sva}{\GRencoding@name}{%
+\rotatebox[origin=c]{180}{\def\@tempA{li}%
+\fontencoding{OT1}\ifx\f@shape\@tempA\fontshape{it}\fi\selectfont e}}
\DeclareTextCommand\sva{OT1}{{\expandafter\fontencoding
\expandafter{\GRencoding@name}\selectfont\sva}}
\DeclareTextCommand\sva{T1}{{\expandafter\fontencoding
\expandafter{\GRencoding@name}\selectfont\sva}}
\let\shva\sva\let\shwa\sva
+
\DeclareRobustCommand\skewstack[2]{{%
-\edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+\edef\slant@{\strip@pt\fontdimen1\font}%
\setbox\z@\hbox{#1}\dimen@\ht\z@\box\z@
\kern-.045em\setbox\@ne\hbox{\scriptsize#2}%
\ifdim\dimen@>1.2ex\advance\dimen@-\ht\@ne\else
\dimen@1ex\advance\dimen@-.5\ht\@ne\fi
\kern\slant@\dimen@\raise\dimen@\hbox{\box\@ne}}}
+
\DeclareRobustCommand\hv{{\fontencoding{OT1}\selectfont
\skewstack{h}{v}}}
\DeclareRobustCommand\qw{{\fontencoding{OT1}\selectfont
@@ -672,28 +791,34 @@ Type X <return> to exit.}%
\skewstack{q}{\semiv{u}}}}
\DeclareRobustCommand\qu{{\fontencoding{OT1}\selectfont
\skewstack{q}{u}}}
+
\DeclareRobustCommand\dz{{\fontencoding{OT1}\selectfont d\kern-.33ex z}}
+
\DeclareRobustCommand\Utie[1]{%
\mbox{\vtop{\ialign{##\crcr
\hfil#1\hfil\crcr
\noalign{\kern.3ex\nointerlineskip}%
\hfil$\smile$\hfil\crcr}}}}
+
\DeclareRobustCommand{\siner}[1]{%
\mbox{\vtop{\ialign{##\crcr
\hfil#1\hfil\crcr
\noalign{\kern.6ex\nointerlineskip}%
\upfill\crcr}}}}
\let\siniz\siner
+
\def\upfill{$\m@th \scriptstyle\setbox\z@\hbox{$\scriptstyle\bracelu$}%
\kern.16ex\bracelu\ifPDF\kern-.15ex\fi
- \leaders\vrule \@height\ifPDF.85\fi\ht\z@ \@depth\z@\hfill
+ \leaders\vrule \@height\ht\z@ \@depth\z@\hfill
\braceru\kern.16ex$}
+
\def\downfill{$\m@th\scriptstyle\setbox\z@\hbox{$\scriptstyle\braceld$}%
\kern.16ex\braceld\ifPDF\kern-.15ex\fi
- \leaders\vrule \@height\ifPDF.85\fi\ht\z@ \@depth\z@\hfill
+ \leaders\vrule \@height\ht\z@ \@depth\z@\hfill
\bracerd\kern.16ex$}
+
\newcommand*\zeugma[1]{{\vbox{\setbox\z@\hbox{#1}\dimen@=\ht\z@
- \edef\@slant{\expandafter\numero\the\fontdimen1\font}%
+ \edef\@slant{\strip@pt\fontdimen1\font}%
\dimen\tw@=\wd\z@
\dimen@=\@slant\dimen@\ifmetricsfont\dimen@=\z@
\advance\dimen\tw@-.5ex\fi
@@ -704,52 +829,37 @@ Type X <return> to exit.}%
\else\kern.4ex\fi\nointerlineskip}%
\hfil{#1}\hfil\crcr}}}%
}
+
\newcommand*\slzeugma[1]{{\leavevmode
\setbox\tw@\hbox{\metricsfont\char120}%
\setbox\z@\hbox{#1}\dimen@.5\wd\z@\advance\dimen@-.5\wd\tw@
- \edef\@slant{\expandafter\numero\the\fontdimen1\font}%
+ \edef\@slant{\strip@pt\fontdimen1\font}%
\advance\dimen@\@slant\ht\z@
\hbox to\z@{\kern\dimen@\box\tw@\hss}\box\z@
}%
}
+
\newcommand*\rszeugma[1]{{\leavevmode
\setbox\tw@\hbox{\metricsfont\char122}%
\setbox\z@\hbox{#1}\dimen@.5\wd\z@\advance\dimen@-.5\wd\tw@
- \edef\@slant{\expandafter\numero\the\fontdimen1\font}%
+ \edef\@slant{\strip@pt\fontdimen1\font}%
\advance\dimen@\@slant\ht\z@
\hbox to\z@{\kern\dimen@\box\tw@\hss}\box\z@
}%
}
-\newcommand*{\nexus}[1]{{\setbox\tw@\hbox{#1}%
- \edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+
+\newcommand*{\nexus}[1]{{\setbox\tw@\hbox{#1\/}%
+ \edef\slant@{\strip@pt\fontdimen1\font}%
\@tempdima=\slant@\ht\tw@\advance\@tempdima.45ex
- \setbox4\hbox to\wd\tw@{\hss\nexusfill\hss}
+ \setbox4\hbox{\resizebox{\wd\tw@}{\height}{$\widehat{\phantom{aaa}}$}}%
+ \setbox4\hbox{\smash{\lower1.35ex\hbox{\box4}}}%
\vbox{\ialign{##\crcr%
- \kern\@tempdima\box4
+ \kern\@tempdima\box4%
\crcr
\noalign{\kern.15ex\nointerlineskip}%
\hfil{#1}\hfil\crcr}}}}
-\newcommand*\nesso[1]{{\setbox\tw@\hbox{#1}%
- \edef\slant@{\expandafter\numero\the\fontdimen1\font}%
- \@tempdima=\slant@\ht\tw@\advance\@tempdima.9ex
- \ifdim\wd\tw@<1ex
- \setbox4\hbox{\metricsfont\kern-.5ex\Hat}%
- \else
- \setbox4\hbox to\wd\tw@{\hss\nexfill\hss}%
- \fi
- \vbox{\ialign{##\crcr%
- \kern\@tempdima\box4
- \crcr
- \noalign{\kern.15ex\nointerlineskip}%
- \hfil\box\tw@\hfil\crcr}}}}
-{\catcode`\^=12\relax\global\chardef\Hat`\^
-\gdef\nexfill{{\metricsfont\leaders\hbox{^}\hfill}}}
-\newdimen\Uunit
-\def\nexusfill{\setbox\z@\hbox{\char16}%
- \Uunit=0.83333\p@
- \kern.16ex\char16\kern-.08ex
- \leaders\vrule\@height\z@\@depth\Uunit\hfill
- \kern.08ex\char17\kern.16ex}
+\let\nesso\nexus
+
\def\C@rule{\vrule\@height.45ex\@depth-.35ex\@width1.5em}
\def\coronis@rule{\hbox to\z@{\hss\C@rule\hss}}
\def\Coronis@rule{\hbox to\z@
@@ -760,6 +870,7 @@ Type X <return> to exit.}%
\DeclareRobustCommand{\dparagr}%
{\raisebox{-1.3ex}[\z@][\z@]{\coronis@rule}%
\raisebox{-1.6ex}[\z@][\z@]{\coronis@rule}}
+
\DeclareRobustCommand*\sinafia{{\metricsfont s}}
\DeclareRobustCommand*{\crux}{{\metricsfont\char'171}}
\DeclareRobustCommand*{\FinisCarmen}{\ensuremath{\otimes}}
@@ -776,14 +887,17 @@ Type X <return> to exit.}%
\DeclareRobustCommand*{\dstar}{{\upshape **}}
\DeclareRobustCommand*{\tstar}{{\upshape ***}}
\DeclareRobustCommand*{\responsio}{{\boldmath\ensuremath{\sim}}}
+
\DeclareRobustCommand{\thorn}{{\fontencoding{T1}\selectfont\th}}
\DeclareRobustCommand{\Thorn}{{\fontencoding{T1}\selectfont\TH}}
+
\DeclareRobustCommand{\dracma}{{\metricsfont D}}
\DeclareRobustCommand{\hemiobelion}{{\metricsfont A}}
\DeclareRobustCommand{\tetartemorion}{{\metricsfont B}}
\DeclareRobustCommand{\stater}{{\metricsfont C}}
\DeclareRobustCommand{\denarius}{{\metricsfont E}}
\DeclareRobustCommand{\etos}{{\metricsfont G}}
+
\DeclareRobustCommand{\cut}[1]{%
\ifx#1d\dcutbar\else
\ifx#1b\bcutbar\else
@@ -791,16 +905,16 @@ Type X <return> to exit.}%
\fi
\fi
\fi}
-\def\dcutbar{{\edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+\def\dcutbar{{\edef\slant@{\strip@pt\fontdimen1\font}%
d\dimen@1.2ex\kern\slant@\dimen@
\llap{\vrule\@height1.3ex\@depth-\dimen@
\ifdim\slant@\p@>\z@\@width.35em\else\@width.4em\fi\kern.03em}}}
-\def\bcutbar{{\edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+\def\bcutbar{{\edef\slant@{\strip@pt\fontdimen1\font}%
\rlap{\dimen@1.2ex\kern\slant@\dimen@
\ifdim\slant@\p@=\z@\kern.03em\fi
\vrule\@height1.3ex\@depth-\dimen@
\ifdim\slant@\p@>\z@\@width.3em\else\@width.4em\fi}b}}
-\def\gcutbar{{\edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+\def\gcutbar{{\edef\slant@{\strip@pt\fontdimen1\font}%
\ifdim\slant@\p@>\z@
g\kern-.55ex\dimen@.2ex\kern-\slant@\dimen@
\vrule\@height-.1ex\@depth\dimen@\@width.6ex
@@ -808,9 +922,11 @@ Type X <return> to exit.}%
\dimen@.2ex\kern\slant@\dimen@\vrule\@height.3ex\@depth-\dimen@
\@width.6ex\kern-.55ex\relax g
\fi}}
-\newcommand*{\OSN}[1]{\oldstylenums{#1}}
+
+\let\OSN\oldstylenums
+
\newcommand\splus{\leavevmode{%
- \edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+ \edef\slant@{\strip@pt\fontdimen1\font}%
\setbox\z@\hbox{s}%
\dimen@=\wd\z@
\setbox\tw@\hbox{$\scriptscriptstyle+$}%
@@ -820,7 +936,7 @@ Type X <return> to exit.}%
\kern\slant@\dimen@\kern-.5\wd\tw@\box\tw@}}%
\box\z@}}%
\newcommand\stimes{\leavevmode{%
- \edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+ \edef\slant@{\strip@pt\fontdimen1\font}%
\setbox\z@\hbox{s}%
\dimen@=\wd\z@
\setbox\tw@\hbox{$\scriptscriptstyle\times$}%
@@ -830,7 +946,7 @@ Type X <return> to exit.}%
\kern\slant@\dimen@\kern-.5\wd\tw@\box\tw@}}%
\box\z@}}%
\newcommand\kclick{\leavevmode{%
- \edef\slant@{\expandafter\numero\the\fontdimen1\font}%
+ \edef\slant@{\strip@pt\fontdimen1\font}%
\setbox\z@\hbox{k}%
\setbox\tw@\hbox{\fontencoding\GRencoding@name\selectfont\s{v}}%
\dimen@\wd\z@
@@ -840,25 +956,29 @@ Type X <return> to exit.}%
k\makebox[\z@][r]{\unhcopy\tw@\kern.5\dimen@}%
}}%
-%%%%%%%%%%%%%%%%%%%%%%%%%% verse environments
\newcounter{verso}\setcounter{verso}{0}
-\newcommand{\smallvert}{\vrule\@height1ex}
+\newcommand{\smallvert}{\vrule\@height.6ex\@depth.4ex}
+
\DeclareRobustCommand\verso[1][]{%
\def\@tempA{#1}\ifx\@tempA\empty
\else
\setcounter{verso}{#1}\addtocounter{verso}{\m@ne}%
\fi
\refstepcounter{verso}%
- \ensuremath{\mathop{\smallvert}\limits^{\theverso}}%
- \space\ignorespaces
-}
+ \@killglue\space
+ \ensuremath{\mathop{\smallvert}\limits^{\scriptscriptstyle\theverso}}%
+ \space\ignorespaces}
+
\newenvironment{versi}[1]{%
\def\makelabel##1{##1}
-\list{}{\settowidth\labelwidth{#1}\leftmargin\labelwidth
+\setbox\z@\hbox{#1}%
+\list{}{\labelwidth\wd\z@\leftmargin\labelwidth
\advance\leftmargin\labelsep}%
+ \item[\box\z@]
}{%
\endlist
}
+\let\versus\versi \let\endversus\endversi
\newif\ifBreakVersi
\BreakVersifalse
\newenvironment{Versi}[1][1]{%
@@ -868,9 +988,9 @@ Type X <return> to exit.}%
\multiply\count255by5\relax
\advance\count255-\value{verso}%
\ifnum\count255=\z@
- {\small\expandafter\oldstylenums\expandafter{\the\c@verso}}%
+ {\fontseries{m}\small\expandafter\oldstylenums\expandafter{\the\c@verso}}%
\else
- \empty
+ \empty
\fi}%
\def\\{\@ifstar{\v@rscr{\@M}}{\v@rscr{\z@}}}%
\def\v@rscr##1{\@ifnextchar[{\wr@teverse{##1}}%
@@ -907,6 +1027,8 @@ Type X <return> to exit.}%
\egroup
\endlist
}
+\let\Versus\Versi \let\endVersus\endVersi
+
\newcounter{subverso} \setcounter{subverso}{0}
\newif\ifSubVerso
\newlength{\versoskip}
@@ -918,21 +1040,22 @@ Type X <return> to exit.}%
\global\protected@edef\@currentlabel{\the\c@subverso}%
\fi
\global\versoskip.3em\ignorespaces}
+
\newenvironment{VERSI}[1][1]{%
\setcounter{verso}{#1}%
\def\writ@verso{%
\count255=\value{verso}\divide\count255by5\relax
\multiply\count255by5\relax
\advance\count255-\value{verso}%
- \ifnum\count255=0\relax
- {\small\expandafter\oldstylenums\expandafter{\the\c@verso}}%
+ \ifnum\count255=0\relax
+ {\fontseries{m}\small\expandafter\oldstylenums\expandafter{\the\c@verso}}%
\else
- \empty
+ \empty
\fi}%
\NoSubVerso
\def\writ@subverso{%
\ifSubVerso
- {\scriptsize\expandafter\oldstylenums
+ {\fontseries{m}\scriptsize\expandafter\oldstylenums
\expandafter{\the\c@subverso}}%
\fi}%
\def\\{\@ifstar{\v@rscr{\@M}}{\v@rscr{\z@}}}%
@@ -968,8 +1091,9 @@ Type X <return> to exit.}%
\item\leavevmode\setbox\z@\hbox\bgroup\ignorespaces
}{%
\\%
- \egroup\endlist
-}
+ \egroup\endlist}
+\let\VERSUS\VERSI \let\endVERSUS\endVERSUS
+
\DeclareRobustCommand\lunga{{\metricsfont l}}
\let\longa\lunga
\let\br@ve\breve
@@ -989,6 +1113,7 @@ Type X <return> to exit.}%
\let\ubarsbrevis\ubarsbreve
\DeclareRobustCommand{\ubrevelunga}{{\metricsfont\char107}}
\let\ubrevislonga\ubrevelunga
+
\DeclareRobustCommand\corona{{\metricsfont\char20}}
\let\ElemInd\corona
\DeclareRobustCommand\coronainv{{\metricsfont\char21}}
@@ -1003,15 +1128,17 @@ Type X <return> to exit.}%
\DeclareRobustCommand{\aeolicbii}{{\metricsfont I}}
\DeclareRobustCommand{\aeolicbiii}{{\metricsfont J}}
\DeclareRobustCommand{\aeolicbiv}{{\metricsfont K}}
+
\newif\ifmetricsfont\metricsfontfalse
\def\stripsl@sh#1{\expandafter\@gobble\string#1}
\def\2#1 {\csname2#1\endcsname}
\def\3#1 {\csname3#1\endcsname}
\def\4#1 {\csname4#1\endcsname}
+
\newcommand\newmetrics[2]{%
\expandafter\@namedef\expandafter{\stripsl@sh#1}%
- {{\metricsfonttrue#2}}%
-}
+ {{\metricsfonttrue#2}}}
+
\newmetrics\iam{\barbreve\lunga\breve\lunga}
\newmetrics\chor{\lunga\breve\breve\lunga}
\newmetrics\enopl{\breve\lunga\breve\breve\lunga\breve\breve\lunga}
@@ -1024,10 +1151,11 @@ Type X <return> to exit.}%
\newmetrics{\pentam}{\lunga\barbbreve\lunga\barbbreve\lunga\dBar
\lunga\breve\breve\lunga\breve\breve\lunga}
\newmetrics{\2tr}{\lunga\breve\lunga\X\ \lunga\breve\lunga\X\ }
+
\DeclareRobustCommand*{\metricstack}[2]%
{$\mathord{\mathop{\hbox{#1\rule{\z@}{1ex}}}%
- \limits^{\scriptscriptstyle\relax#2\relax}}$%
-}
+ \limits^{\scriptscriptstyle\relax#2\relax}}$}
+
\newcommand*{\svert}{\vrule\@height.8ex\@depth.2ex\relax}
\DeclareRobustCommand*{\textoverline}[1]{%
\leavevmode\vbox{\setbox\z@\hbox{#1}
@@ -1035,20 +1163,24 @@ Type X <return> to exit.}%
\hbox to\wd\z@{\hrulefill}\crcr
\noalign{\kern.4ex\nointerlineskip}%
\hfil\box\z@\hfil\crcr}}}
+
\newlength{\br@cedmetrics}
\newcommand*{\verseskip}[1]{{%
- \setbox\z@\hbox{\longa}\dimen@\wd\z@\leavevmode\hbox to#1\dimen@{}}%
-}
+ \setbox\z@\hbox{\longa}\dimen@\wd\z@\leavevmode\hbox to#1\dimen@{}}}
+
\newenvironment{bracedmetrics}[1]{\def\Hfill{\leavevmode\hfill}%
\settowidth{\br@cedmetrics}{#1}%
\ifvmode\vskip1ex\fi
$\displaystyle\left.%
\vcenter\bgroup\hsize\br@cedmetrics\parindent\z@\parskip\z@
}{\egroup\right\}$}
+
+\RequirePackage{trace}
\def\GTRON{\global\tracingcommands=\tw@ \global\tracingmacros=\tw@}
\def\GTROF{\global\tracingcommands=\z@ \global\tracingmacros=\z@}
\def\TRON{\tracingcommands=\tw@ \tracingmacros=\tw@}
\def\TROF{\tracingcommands=\z@ \tracingmacros=\z@}
+
\def\@ifStar#1#2{\def\@tempA{#1}\def\@tempB{#2}\futurelet\@tempC\@testStar}
\def\@testStar{\ifx\@tempC*\bbl@afterelse\expandafter\@tempA\@gobble\else
\bbl@afterfi\@tempB\fi}
@@ -1062,8 +1194,9 @@ $\displaystyle\left.%
\expandafter\MakeUppercase\expandafter{\gr@@numeral{#1}}}
\def\Gr@@knum@ral#1{\let\s@i\Digamma
\expandafter\MakeUppercase\expandafter{\gr@@numeral{#1}}}
-\def\grtoday{{\expandafter\greeknumeral\expandafter{\the\day}} % keep the space
-\gr@c@month \space {\expandafter\greeknumeral\expandafter{\the\year}}}
+\def\grtoday{{\expandafter\greeknumeral\expandafter{\the\day}}\space
+\gr@c@month\space{\expandafter\greeknumeral\expandafter{\the\year}}}
+
\def\gr@@numeral#1{%
\ifnum#1<\@ne\space\gr@ill@value{#1}%
\else
@@ -1115,6 +1248,45 @@ $\displaystyle\left.%
\ifcase#1\or r\or s\or t\or u\or f%
\or q\or y\or w\or \n@vecento\fi
\gr@num@v}
+
+\DeclareTextSymbol{\Vmiria}{\GRencoding@name}{5}
+\DeclareTextSymbol{\Vkilo}{\GRencoding@name}{4}
+\DeclareTextSymbol{\Vetto}{\GRencoding@name}{3}
+\DeclareTextSymbol{\Vdeka}{\GRencoding@name}{2}
+\newcommand*\attic@ill@value[1]{\PackageWarning{teubner}{%
+Illegal value (\number#1) for \string\ActicNumeral\space}}
+\DeclareRobustCommand*\AtticNumeral[1]{%
+\ifnum#1<\@ne \attic@ill@value{#1}\else
+ \ifnum#1>99999\relax \attic@ill@value{#1}\else
+ \AtticCycl@{#1}
+ \fi
+\fi}
+
+\def\AtticCycl@#1{%
+ \bgroup
+ \countdef\valore=252\countdef\cifra=250\relax
+ \valore=#1\relax
+ \cifra=\valore\divide\cifra10000\relax
+ \valore=\numexpr\valore-\cifra*10000\relax
+ \ifnum\cifra>4\relax\Vmiria \advance\cifra-5\fi
+ \@whilenum\cifra>\z@\do{M\advance\cifra\m@ne}%
+ \cifra=\valore\divide\cifra1000\relax
+ \valore=\numexpr\valore-\cifra*1000\relax
+ \ifnum\cifra>4\relax\Vkilo \advance\cifra-5\fi
+ \@whilenum\cifra>\z@\do{Q\advance\cifra\m@ne}%
+ \cifra=\valore\divide\cifra100\relax
+ \valore=\numexpr\valore-\cifra*100\relax
+ \ifnum\cifra>4\relax\Vetto \advance\cifra-5\fi
+ \@whilenum\cifra>\z@\do{H\advance\cifra\m@ne}%
+ \cifra=\valore\divide\cifra10\relax
+ \valore=\numexpr\valore-\cifra*10\relax
+ \ifnum\cifra>4\relax\Vdeka \advance\cifra-5\fi
+ \@whilenum\cifra>\z@\do{D\advance\cifra\m@ne}%
+ \cifra=\valore
+ \ifnum\cifra>4\relax P\advance\cifra-5\relax\fi
+ \@whilenum\cifra>\z@\do{I\advance\cifra\m@ne}%
+ \egroup}
+
\endinput
%%
%% End of file `teubner.sty'.